import { Router } from "express"; import { ok } from "../../lib/api-response.js"; import { requireAuth } from "../../middleware/auth.js"; import { validateBody } from "../../middleware/validate.js"; import { loginSchema } from "./auth.schemas.js"; import { login, logout } from "./auth.service.js"; export const authRouter = Router(); authRouter.post("/login", validateBody(loginSchema), async (req, res, next) => { try { const user = await login(req, res, req.body.username, req.body.password); res.json(ok({ user })); } catch (error) { next(error); } }); authRouter.post("/logout", requireAuth, async (req, res, next) => { try { await logout(req, res); res.json(ok({ loggedOut: true })); } catch (error) { next(error); } }); authRouter.get("/session", requireAuth, async (req, res) => { res.json(ok({ user: req.user })); });