Files
filing-cabinet-api/features/people/LOGOUT_auth.js
T
2026-07-31 15:11:57 +02:00

30 lines
836 B
JavaScript

const express = require("express");
const router = express.Router();
const pool = require("../../db");
const { strictInput } = require("../../middleware/strict_input");
async function logout(req, res) {
try {
if (req.user.session_id) {
await pool.query(
"DELETE FROM sessions WHERE id = $1 AND user_id = $2",
[req.user.session_id, req.user.id],
);
}
res.clearCookie("fc_session_token", {
httpOnly: true,
secure: true,
sameSite: "Strict",
path: "/",
});
return res.status(200).json({ message: "Logged out" });
} catch (err) {
console.error("logout failed", { message: err.message, code: err.code });
return res.status(500).send("Logout failed, request could not be completed");
}
}
router.post("/", strictInput(), logout);
module.exports = router;