import { NextResponse } from 'next/server'
import { prisma } from '@/lib/prisma'
import { safeHandler, requireAuth } from '@/lib/auth'
import { createNotification } from '@/lib/notifications'

export const POST = safeHandler(async (req: Request) => {
  const session = await requireAuth()

  const dueReminders = await prisma.reminder.findMany({
    where: {
      reminderDate: { lte: new Date() },
      status: 'PENDING',
    },
  })

  for (const reminder of dueReminders) {
    await createNotification({
      userId: reminder.createdById,
      title: 'Reminder',
      message: reminder.message,
      module: 'REMINDER',
    })

    await prisma.reminder.update({
      where: { id: reminder.id },
      data: { status: 'SENT' },
    })
  }

  return NextResponse.json({ processed: dueReminders.length })
})
