feat(api, web): добавить поддержку уведомлений и журнал уведомлений
Docker / build (push) Has been cancelled
Docker / build (push) Has been cancelled
Добавлены новые функции для отправки уведомлений через Telegram и webhook, включая настройки для интервалов уведомлений и проверки uptime. Реализован журнал уведомлений для отслеживания статуса отправленных сообщений. Обновлены схемы и интерфейсы для поддержки новых полей и функционала. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -109,7 +109,15 @@ export const api = {
|
||||
|
||||
fetchSyncStatus: () => fetchApi('/api/sync/status'),
|
||||
sendTelegramTest: () =>
|
||||
fetchApi('/api/settings/telegram/test', { method: 'POST' }),
|
||||
fetchApi<{ ok: boolean; error?: string }>('/api/settings/telegram/test', { method: 'POST' }),
|
||||
|
||||
sendWebhookTest: () =>
|
||||
fetchApi<{ ok: boolean; error?: string }>('/api/settings/webhook/test', { method: 'POST' }),
|
||||
|
||||
fetchNotificationLog: (limit = 50) =>
|
||||
fetchApi<import('@/types/entities').NotificationLogRow[]>(
|
||||
`/api/notifications/log?limit=${limit}`,
|
||||
),
|
||||
|
||||
fetchProjectSuggestions: (q = '', limit = 25) => {
|
||||
const params = new URLSearchParams()
|
||||
|
||||
@@ -59,6 +59,7 @@ export const vpsSchema = z.object({
|
||||
paidUntil: z.string().optional().default(''),
|
||||
project: z.string().optional().default(''),
|
||||
notes: z.string().optional().default(''),
|
||||
monitoringEnabled: z.boolean().optional().default(false),
|
||||
userOverrides: z.array(z.string()).optional().default([]),
|
||||
customData: z.record(z.union([z.string(), z.number(), z.boolean()])).optional().default({}),
|
||||
})
|
||||
@@ -91,6 +92,8 @@ export const settingsSchema = z.object({
|
||||
syncEnabled: z.boolean().optional().default(true),
|
||||
syncIntervalMinutes: z.coerce.number().min(15).optional().default(60),
|
||||
syncTariffsIntervalMinutes: z.coerce.number().min(60).optional().default(1440),
|
||||
notifyIntervalMinutes: z.coerce.number().min(15).optional().default(60),
|
||||
uptimeCheckIntervalMinutes: z.coerce.number().min(1).optional().default(5),
|
||||
telegramChatId: z.string().optional().default(''),
|
||||
telegramBotToken: z.string().optional().default(''),
|
||||
telegramMessageThreadId: z.string().optional().default(''),
|
||||
|
||||
Reference in New Issue
Block a user