feat(api, web): добавить поддержку уведомлений и журнал уведомлений
Docker / build (push) Has been cancelled

Добавлены новые функции для отправки уведомлений через Telegram и webhook, включая настройки для интервалов уведомлений и проверки uptime. Реализован журнал уведомлений для отслеживания статуса отправленных сообщений. Обновлены схемы и интерфейсы для поддержки новых полей и функционала.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
DenozordecandCursor committed 2026-06-29 00:36:05 +07:00
1 parent 2c66d0c0ee
commit 7f91bc3624
28 files changed
+1046 -437

No files matched your search

+20
View File
@@ -126,6 +126,26 @@ export const settings = sqliteTable('settings', {
notifyVpsDownEnabled: integer('notifyVpsDownEnabled'),
webhookUrl: text('webhookUrl'),
webhookEnabled: integer('webhookEnabled'),
notifyIntervalMinutes: integer('notifyIntervalMinutes'),
uptimeCheckIntervalMinutes: integer('uptimeCheckIntervalMinutes'),
})
export const notificationLog = sqliteTable('notification_log', {
id: text('id').primaryKey(),
event: text('event').notNull(),
channel: text('channel').notNull(),
status: text('status').notNull(),
fingerprint: text('fingerprint'),
message: text('message'),
payload: text('payload'),
createdAt: text('createdAt').notNull(),
})
export const notificationState = sqliteTable('notification_state', {
key: text('key').primaryKey(),
lastFingerprint: text('lastFingerprint'),
lastSentAt: text('lastSentAt'),
lastStatus: text('lastStatus'),
})
export const vpsHealthChecks = sqliteTable('vps_health_checks', {