chore: simplify logoutController (#1342)
All checks were successful
Build / build (20) (push) Successful in 45s
Build / build (18) (push) Successful in 1m14s
Build / build (22) (push) Successful in 1m23s
Build Docker image / docker (push) Successful in 1m9s

Reducing 3-4 MongoDB operations to only 1.

Reviewed-on: #1342
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-03-27 03:33:39 -07:00 committed by Sainan
parent a622393933
commit fd93f34538

View File

@ -1,19 +1,28 @@
import { RequestHandler } from "express";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { Account } from "@/src/models/loginModel";
const logoutController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const account = await Account.findById(accountId);
if (account) {
account.Nonce = 0;
await account.save();
export const logoutController: RequestHandler = async (req, res) => {
if (!req.query.accountId) {
throw new Error("Request is missing accountId parameter");
}
const nonce: number = parseInt(req.query.nonce as string);
if (!nonce) {
throw new Error("Request is missing nonce parameter");
}
await Account.updateOne(
{
_id: req.query.accountId,
Nonce: nonce
},
{
Nonce: 0
}
);
res.writeHead(200, {
"Content-Type": "text/html",
"Content-Length": 1
});
res.end("1");
};
export { logoutController };