eletrotupi / tcc/ api/src/lib/queue/processors/dailyReminders.tsdafa6f8a8e3b0e51605fc953a979d50ff6085b26
825 B | 23 lines Raw
1
import { Job } from "bullmq";
2
import { NotificationKind } from "@prisma/client";
3

4
import { createNotification } from "@app/services/notification.service";
5
import { DailyReminderPayload } from "@app/lib/queue/types";
6
import { appTimeToday } from "@app/lib/appTime";
7
import { logger } from "@app/lib/logger";
8

9
export async function dailyReminderProcessor(job: Job): Promise<void> {
10
  const { userId, scheduledTime } = job.data as DailyReminderPayload;
11

12
  logger.info({ jobId: job.id, userId }, "[daily-reminder] job started");
13

14
  await createNotification({
15
    userId,
16
    kind: NotificationKind.DAILY_REMINDER,
17
    title: "Como você está?",
18
    body: "Registre seu humor para acompanhar sua saúde.",
19
    scheduledFor: appTimeToday(scheduledTime),
20
  });
21

22
  logger.info({ userId }, "[daily-reminder] notification stored");
23
}