diff --git a/src/lib/monitor-worker.ts b/src/lib/monitor-worker.ts index 3f02141..7d8d3b3 100644 --- a/src/lib/monitor-worker.ts +++ b/src/lib/monitor-worker.ts @@ -141,20 +141,21 @@ export class MonitorWorker { const results = await Promise.allSettled( channels.map(async (ch) => { + const raw = ch as unknown as Record const channel: AlertChannelConfig = { id: ch.id as number, name: ch.name as string, - webhookUrl: (ch as Record).webhook_url as string || '', - channelType: (ch as Record).channel_type as string || 'wechat', + webhookUrl: (raw.webhook_url as string) || '', + channelType: (raw.channel_type as string) || 'wechat', enabled: !!ch.enabled_num, levelCritical: !!ch.level_critical_num, levelWarning: !!ch.level_warning_num, levelInfo: !!ch.level_info_num, - quietEnabled: !!(ch as Record).quiet_enabled, - quietStart: (ch as Record).quiet_start as string || '23:00', - quietEnd: (ch as Record).quiet_end as string || '07:00', - quietBypassCritical: !!(ch as Record).quiet_bypass_critical, - cooldownMinutes: Number((ch as Record).cooldown_minutes) || 5, + quietEnabled: !!raw.quiet_enabled, + quietStart: (raw.quiet_start as string) || '23:00', + quietEnd: (raw.quiet_end as string) || '07:00', + quietBypassCritical: !!raw.quiet_bypass_critical, + cooldownMinutes: Number(raw.cooldown_minutes) || 5, } const decision = await this.alertManager.evaluate(channel, svc.id, level) if (decision.shouldPush) {