User
eb5d32553d
CI / test (push) Has been cancelled
CI / golangci-lint (push) Has been cancelled
Security Scan / backend-security (push) Has been cancelled
Security Scan / frontend-security (push) Has been cancelled
feat: add webhook notification service and refactor data management
## Backend Changes
- Add WebhookService for sending alert notifications via HTTP webhooks
- Implement HMAC-SHA256 signature for webhook payload authentication
- Add webhook configuration API endpoints and settings
- Integrate webhook calls into OpsAlertEvaluatorService
- Fix routes/common.go string conversion (use strconv.Itoa)
- Add comprehensive webhook service tests
## Frontend Changes
- Add webhook notification configuration UI in OpsSettingsDialog
- Add WebhookNotificationConfig types and API functions
- Add i18n translations for webhook features (zh/en)
- Refactor DataManagementView.vue into modular components:
- PostgresProfilesCard.vue (356 lines)
- RedisProfilesCard.vue (331 lines)
- S3ProfilesCard.vue (363 lines)
- BackupJobsCard.vue (216 lines)
- DataManagementView.vue (94 lines)
- Add OpsSettingsDialog component tests
## Testing
- All backend tests pass
- All frontend tests pass
- Webhook service tests cover signature, HTTP, timeout, error handling
2026-04-15 23:03:48 +08:00
..
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-03-14 12:45:10 +08:00
2026-03-01 14:25:16 +08:00
2026-02-28 20:38:35 +08:00
2026-04-09 18:14:28 +08:00
2026-03-04 15:22:46 +08:00
2026-03-18 10:06:35 +08:00
2026-02-12 14:20:14 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-02-11 01:23:21 +08:00
2026-02-28 20:18:14 +08:00
2026-02-28 20:18:14 +08:00
2026-03-16 20:22:10 +08:00
2026-02-28 20:38:35 +08:00
2026-04-05 22:32:49 +08:00
2026-04-09 18:14:28 +08:00
2026-03-11 16:46:58 +08:00
2026-03-17 19:26:30 +08:00
2026-03-17 19:26:30 +08:00
2026-04-04 11:13:58 +08:00
2026-03-17 19:26:11 +08:00
2026-03-17 19:26:11 +08:00
2026-02-28 15:01:20 +08:00
2026-02-28 15:05:54 +08:00
2026-02-10 11:42:39 +08:00
2026-02-24 20:04:05 +08:00
2026-04-09 21:35:48 +08:00
2026-03-04 15:22:46 +08:00
2026-03-04 13:45:49 +08:00
2026-02-23 12:45:37 +08:00
2026-02-23 12:45:37 +08:00
2026-04-05 17:11:01 +08:00
2026-03-10 11:29:31 +08:00
2026-02-12 14:20:14 +08:00
2026-01-14 23:56:45 +08:00
2026-02-07 12:31:10 +08:00
2026-02-12 16:27:29 +08:00
2026-04-15 23:03:48 +08:00
2026-03-04 13:45:49 +08:00
2026-02-12 16:25:44 +08:00
2026-02-12 16:27:29 +08:00
2026-02-28 15:01:20 +08:00
2026-04-11 13:16:35 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-03 01:50:26 +08:00
2026-04-09 18:14:28 +08:00
2026-03-08 06:59:53 +08:00
2026-02-07 19:46:42 +08:00
2026-04-11 18:25:06 +08:00
2026-03-11 16:46:58 +08:00
2026-03-11 16:46:58 +08:00
2026-03-18 09:23:19 +08:00
2026-02-23 12:45:37 +08:00
2026-03-27 14:33:05 +08:00
2026-02-28 15:01:20 +08:00
2026-04-09 19:25:08 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-03-04 13:45:49 +08:00
2026-04-09 18:14:28 +08:00