import { NextRequest, NextResponse } from 'next/server'; import { db } from '@/db'; import { users } from '@/db/schema'; import { verifyPassword, signToken, setAuthCookie } from '@/lib/auth'; import { eq } from 'drizzle-orm'; export async function POST(req: NextRequest) { const { email, password } = await req.json(); if (!email || !password) { return NextResponse.json({ error: 'Email and password are required' }, { status: 400 }); } const user = await db.select().from(users).where(eq(users.email, email)).get(); if (!user || !(await verifyPassword(password, user.passwordHash))) { return NextResponse.json({ error: 'Invalid email or password' }, { status: 401 }); } const token = await signToken({ userId: user.id, email: user.email }); await setAuthCookie(token); return NextResponse.json({ user: { id: user.id, email: user.email } }); }