import { db } from './db'

export async function notifyUsers(params: {
  userIds: string[]
  title: string
  message: string
  type: string
  reviewId?: string
}) {
  const { userIds, title, message, type, reviewId } = params
  await db.notification.createMany({
    data: userIds.map((userId) => ({
      userId,
      title,
      message,
      type,
      reviewId,
    })),
  })
}

export async function notifySupervisorsAndManagers(params: {
  title: string
  message: string
  type: string
  reviewId: string
}) {
  const users = await db.user.findMany({
    where: {
      role: { in: ['SUPERVISOR', 'MANAGER'] },
      isActive: true,
    },
    select: { id: true },
  })
  await notifyUsers({
    userIds: users.map((u) => u.id),
    ...params,
  })
}
