import {BunRequest as Request} from "bun"; import {Claims, orm} from "../utilities/orm.ts"; import jwt from "jsonwebtoken"; async function login(request: Request): Promise { try { const requestBody = await request.json(); console.log(`/api/auth/login: username=${requestBody.username}`); const claims: Claims | null = await orm.users.verify(requestBody.username, requestBody.password); console.log(claims); if (claims) { const token = jwt.sign({...claims}, process.env.JWT_SECRET_KEY as string, {expiresIn: "24h"}); return Response.json({token: token}, {status: 200}); } return Response.json({token: null}, {status: 401}); } catch (e) { console.log(e); return Response.json({message: e}, {status: 401}); } } async function test(request: Request, claims: Claims) { return Response.json(claims, {status: 200}); } export default { login, test };