feat(reminders): получатели в отложенных/входящих, приватные сообщения чата, календарь, бейдж уведомлений

This commit is contained in:
2026-09-21 10:26:53 +03:00
parent 17e6ebf412
commit aa316141be
20 changed files with 312 additions and 36 deletions

View File

@@ -737,9 +737,10 @@ export const taskMessages = pgTable("task_messages", {
botId: integer("bot_id"), // ID бота-автора (FK добавится после создания таблицы bots)
replyToMessageId: integer("reply_to_message_id").references((): AnyPgColumn => taskMessages.id, { onDelete: "cascade" }), // ссылка на сообщение, на которое отвечают
message: text("message").notNull().default(""),
messageType: varchar("message_type", { length: 20 }).notNull().default("comment"), // 'comment', 'system', 'status_change', 'bot'
messageType: varchar("message_type", { length: 20 }).notNull().default("comment"), // 'comment', 'system', 'status_change', 'bot', 'reminder'
mentionedUserIds: jsonb("mentioned_user_ids"), // массив ID упомянутых пользователей
botButtons: jsonb("bot_buttons"), // кнопки для бот-сообщений [{text, callbackData, style, row}]
visibleToUserIds: jsonb("visible_to_user_ids").$type<number[]>(), // NULL = видят все участники чата; массив = только перечисленные (+ автор)
attachments: jsonb("attachments").$type<Array<{ url: string; name: string; size: number; mimeType?: string }>>(),
createdAt: timestamp("created_at").defaultNow(),
}, (table) => ({