import { eq } from "drizzle-orm"; import db from "../../db"; import { tokensTable, managersTable } from "../../db/schema"; import { status } from "elysia"; import { generateToken } from "../../utils/generateToken"; export default async function login({ email, password, }: { email: string; password: string; }) { try { const manager = await db.query.managersTable.findFirst({ where: eq(managersTable.email, email), }); if (!manager || !Bun.password.verifySync(password, manager.password)) return status(401, { error: "Wrong credentials" }); const token = await generateToken(manager.id); await db.insert(tokensTable).values({ token, managerId: manager.id, }); return { token, }; } catch (error) { console.log((error as Error).message); return status(500, "Internal Server Error"); } }