chore: simplify logoutController (#1342)

Reducing 3-4 MongoDB operations to only 1.

Reviewed-on: OpenWF/SpaceNinjaServer#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 { RequestHandler } from "express";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { Account } from "@/src/models/loginModel"; import { Account } from "@/src/models/loginModel";
const logoutController: RequestHandler = async (req, res) => { export const logoutController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req); if (!req.query.accountId) {
const account = await Account.findById(accountId); throw new Error("Request is missing accountId parameter");
if (account) {
account.Nonce = 0;
await account.save();
} }
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, { res.writeHead(200, {
"Content-Type": "text/html", "Content-Type": "text/html",
"Content-Length": 1 "Content-Length": 1
}); });
res.end("1"); res.end("1");
}; };
export { logoutController };