Add monitoring service and database schema

- Implement monitoring service with heartbeat, lease tasks, resume tasks, and task result handling.
- Create monitoring time utilities for business date calculations.
- Add unit tests for date window resolution and business day handling.
- Define database schema for monitoring-related tables including quotas, daily reports, and task management.
- Establish migration scripts for creating and dropping monitoring tables.
This commit is contained in:
2026-04-12 09:56:18 +08:00
parent 9b4dd09780
commit 6066f43a7d
67 changed files with 16312 additions and 125 deletions
@@ -29,6 +29,7 @@ func TestProtectedRoutes_RequireAuth(t *testing.T) {
{http.MethodGet, "/api/tenant/templates"},
{http.MethodGet, "/api/tenant/articles"},
{http.MethodGet, "/api/tenant/brands"},
{http.MethodGet, "/api/tenant/monitoring/brands/:brand_id/questions/:question_id/detail"},
{http.MethodPost, "/api/tenant/brands"},
}
@@ -50,6 +51,11 @@ func TestPublicRoutes_NoAuth(t *testing.T) {
}{
{http.MethodPost, "/api/auth/login"},
{http.MethodPost, "/api/auth/refresh"},
{http.MethodPost, "/api/plugin/monitoring/heartbeat"},
{http.MethodPost, "/api/plugin/monitoring/tasks/lease"},
{http.MethodPost, "/api/plugin/monitoring/tasks/resume"},
{http.MethodPost, "/api/plugin/monitoring/tasks/:id/result"},
{http.MethodPost, "/api/plugin/monitoring/tasks/:id/skip"},
{http.MethodGet, "/api/health/live"},
{http.MethodGet, "/api/health/ready"},
}