'use server'

import { db } from '@/lib/db'
import { verifyPassword, createSession } from '@/lib/auth'
import { redirect } from 'next/navigation'

export async function login(_prev: unknown, formData: FormData) {
  const email = (formData.get('email') as string)?.toLowerCase().trim()
  const password = formData.get('password') as string

  if (!email || !password) {
    return { error: 'Email and password are required' }
  }

  const user = await db.user.findUnique({ where: { email } })
  if (!user) return { error: 'Invalid email or password' }

  const valid = await verifyPassword(password, user.password)
  if (!valid) return { error: 'Invalid email or password' }

  await createSession({
    userId: user.id,
    email: user.email,
    name: user.name,
  })

  redirect('/')
}
