2026-02-10 20:28:50 +01:00
|
|
|
import type { RequestHandler } from "express";
|
|
|
|
|
import { fromNodeHeaders } from "better-auth/node";
|
|
|
|
|
import { auth } from "../lib/auth";
|
|
|
|
|
|
|
|
|
|
export const requireAuth: RequestHandler = async (req, res, next) => {
|
|
|
|
|
const session = await auth.api.getSession({
|
|
|
|
|
headers: fromNodeHeaders(req.headers),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (!session) {
|
|
|
|
|
res.status(401).json({ error: "Unauthorized" });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-18 20:34:27 +01:00
|
|
|
if (session.user.deletedAt) {
|
|
|
|
|
res.status(401).json({ error: "Unauthorized" });
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-10 20:28:50 +01:00
|
|
|
req.user = session.user;
|
|
|
|
|
req.session = session.session;
|
|
|
|
|
next();
|
|
|
|
|
};
|