mirror of
https://github.com/EZ-Api/ez-api.git
synced 2026-01-13 17:47:51 +00:00
feat(api): add dashboard summary and system realtime endpoints
Add new admin API endpoints for dashboard metrics and system-wide realtime statistics: - Add /admin/dashboard/summary endpoint with aggregated metrics including requests, tokens, latency, masters, keys, and provider keys statistics with time period filtering - Add /admin/realtime endpoint for system-level realtime stats aggregated across all masters - Add status filter parameter to ListAPIKeys endpoint - Add hour grouping option to log stats aggregation - Update OpenAPI documentation with new endpoints and schemas
This commit is contained in:
@@ -92,13 +92,14 @@ func (h *Handler) CreateAPIKey(c *gin.Context) {
|
||||
|
||||
// ListAPIKeys godoc
|
||||
// @Summary List API keys
|
||||
// @Description List API keys
|
||||
// @Description List API keys with optional filters
|
||||
// @Tags admin
|
||||
// @Produce json
|
||||
// @Security AdminAuth
|
||||
// @Param page query int false "page (1-based)"
|
||||
// @Param limit query int false "limit (default 50, max 200)"
|
||||
// @Param group_id query int false "filter by group_id"
|
||||
// @Param page query int false "page (1-based)"
|
||||
// @Param limit query int false "limit (default 50, max 200)"
|
||||
// @Param group_id query int false "filter by group_id"
|
||||
// @Param status query string false "filter by status (active, suspended, auto_disabled, manual_disabled)"
|
||||
// @Success 200 {array} model.APIKey
|
||||
// @Failure 500 {object} gin.H
|
||||
// @Router /admin/api-keys [get]
|
||||
@@ -108,6 +109,9 @@ func (h *Handler) ListAPIKeys(c *gin.Context) {
|
||||
if groupID := strings.TrimSpace(c.Query("group_id")); groupID != "" {
|
||||
q = q.Where("group_id = ?", groupID)
|
||||
}
|
||||
if status := strings.TrimSpace(c.Query("status")); status != "" {
|
||||
q = q.Where("status = ?", status)
|
||||
}
|
||||
query := parseListQuery(c)
|
||||
q = applyListPagination(q, query)
|
||||
if err := q.Find(&keys).Error; err != nil {
|
||||
|
||||
Reference in New Issue
Block a user