fix(alerts): сохранять параметры выборочно и проверять результат отправки
This commit is contained in:
1 parent
0bcac655ea
commit
98319c9d50
11 files changed
+90
-58
No files matched your search
@@ -58,7 +58,7 @@ export const putRulesSchema = z.object({
|
||||
export const putTelegramSchema = z.object({
|
||||
token: z.union([z.string(), z.null()]).optional(),
|
||||
chatId: z.string().optional(),
|
||||
messageThreadId: z.union([z.number().int().positive(), z.null()]).optional(),
|
||||
messageThreadId: z.union([z.number().int().positive().max(2147483647), z.null()]).optional(),
|
||||
})
|
||||
|
||||
export const rulePreviewTelegramSchema = z.object({
|
||||
@@ -72,7 +72,7 @@ export const rulePreviewTelegramSchema = z.object({
|
||||
export const testTelegramSchema = z.object({
|
||||
token: z.string().optional(),
|
||||
chatId: z.string().optional(),
|
||||
messageThreadId: z.coerce.number().int().positive().optional(),
|
||||
messageThreadId: z.coerce.number().int().positive().max(2147483647).optional(),
|
||||
rulePreview: rulePreviewTelegramSchema.optional(),
|
||||
})
|
||||
|
||||
@@ -86,7 +86,7 @@ export type TestTelegramBody = z.infer<typeof testTelegramSchema>
|
||||
// Public response schemas: configured credentials do not prove Telegram connectivity/delivery.
|
||||
const alertTimestampSchema = z.string().min(1).refine(value => Number.isFinite(Date.parse(value)), "Некорректное время оповещения")
|
||||
export const telegramPublicSchema = z.object({
|
||||
chatId:z.string(),tokenConfigured:z.boolean(),connected:z.boolean(),messageThreadId:z.number().int().positive().nullable(),
|
||||
chatId:z.string(),tokenConfigured:z.boolean(),connected:z.boolean(),messageThreadId:z.number().int().positive().max(2147483647).nullable(),
|
||||
}).strict().refine(value => value.connected === (value.tokenConfigured && Boolean(value.chatId.trim())), "Противоречивое состояние параметров Telegram")
|
||||
export const alertRuleResponseSchema = z.object({
|
||||
id:z.string().min(1),name:z.string().min(1),type:alertTypeSchema,target:z.string(),targets:z.array(z.string().min(1)),groupId:z.string().nullable(),condition:z.string(),conditions:z.array(z.string().min(1)),severity:alertSeveritySchema,enabled:z.boolean(),cooldown:alertCooldownSchema,
|
||||
|
||||
Reference in new issue
Block a user