Added liking and security measures
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user