feat(reminders): получатели в отложенных/входящих, приватные сообщения чата, календарь, бейдж уведомлений
This commit is contained in:
@@ -9,6 +9,7 @@ import { webPushService } from "./services/web-push.service";
|
||||
import { startMedScheduleWorker } from "./medschedule/worker";
|
||||
import { startAutomationScheduler } from "./workers/automation-scheduler";
|
||||
import { startDelayedStatusChangeWorker } from "./workers/delayed-status-change.worker";
|
||||
import { sendTaskMessage } from "./services/task-message.service";
|
||||
import { startErrorLogsRetention } from "./workers/error-logs-retention";
|
||||
import { startGpsWorker } from "./gps/worker";
|
||||
import { storage } from "./storage";
|
||||
@@ -1225,6 +1226,21 @@ async function runStartupDataPatches() {
|
||||
}
|
||||
}
|
||||
await withSuperAdmin(() => storage.markReminderSent(reminder.id));
|
||||
|
||||
// Сообщение в чат задачи с текстом напоминания (бейдж «Напоминание»).
|
||||
// Видят только получатели напоминания и его создатель (visible_to_user_ids).
|
||||
if (task) {
|
||||
const visibleTo = [...new Set([...recipientUserIds, reminder.createdByUserId])];
|
||||
sendTaskMessage({
|
||||
task,
|
||||
organizationId: reminder.organizationId,
|
||||
message: reminder.note ? `Напоминание: ${reminder.note}` : `Напоминание о задаче "${taskTitle}"`,
|
||||
messageType: 'reminder',
|
||||
visibleToUserIds: visibleTo,
|
||||
}).catch((chatErr: unknown) => log(
|
||||
`Reminder worker: chat message failed for reminder ${reminder.id}: ${chatErr instanceof Error ? chatErr.message : String(chatErr)}`
|
||||
));
|
||||
}
|
||||
} catch (reminderErr) {
|
||||
log(`Reminder worker: failed to process reminder ${reminder.id}: ${reminderErr instanceof Error ? reminderErr.message : String(reminderErr)}`);
|
||||
await withSuperAdmin(() => storage.markReminderSent(reminder.id)).catch(() => {});
|
||||
|
||||
Reference in New Issue
Block a user