mirror of
https://github.com/Studio-Saelix/sencho.git
synced 2026-08-07 01:14:14 +00:00
e0034132b4
- Add label_ids and categories columns to notification_routes via idempotent migration - Matcher logic always evaluates routes (AND semantics across all non-empty matchers) - getStackLabelIds skips DB call when no enabled route uses label filtering - Extract ALL_NOTIFICATION_CATEGORIES array from NotificationService as single source of truth - Derive VALID_CATEGORIES set from the array in the route handler - Extract validateLabelIds and validateCategories helpers to remove POST/PUT duplication - Extract tryAddColumn as a private DatabaseService class method (removes 5 local re-declarations) - Extract CATEGORY_LABELS to frontend/src/lib/notificationCategories.ts (shared by NotificationPanel and NotificationRoutingSection) - Frontend form adds label and category multiselects with AND-filter hint - Route cards show label and category badges; empty-matcher routes show 'Matches all alerts' - Add tests for category-only, label-only, and combined AND-semantics routing
16 lines
558 B
TypeScript
16 lines
558 B
TypeScript
import type { NotificationCategory } from '@/components/dashboard/types';
|
|
|
|
export const CATEGORY_LABELS: Record<NotificationCategory, string> = {
|
|
deploy_success: 'Deploy success',
|
|
deploy_failure: 'Deploy failure',
|
|
stack_started: 'Stack started',
|
|
stack_stopped: 'Stack stopped',
|
|
stack_restarted: 'Stack restarted',
|
|
image_update_available: 'Update available',
|
|
image_update_applied: 'Update applied',
|
|
autoheal_triggered: 'Auto-heal',
|
|
monitor_alert: 'Monitor alert',
|
|
scan_finding: 'Scan finding',
|
|
system: 'System',
|
|
};
|