mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-30 06:16:37 +08:00
42 lines
1.5 KiB
Go
42 lines
1.5 KiB
Go
// Copyright 2026 Arctel.net
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package handler
|
|
|
|
import (
|
|
"Wavelet/pkg/response"
|
|
"Wavelet/plugins/domain/admin/service"
|
|
"net/http"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// GetSystemStatus 获取系统状态信息
|
|
// @Summary 获取系统状态信息
|
|
// @Description 获取后端服务运行状态、Goroutine、内存指标等详细统计数据,需要管理员权限
|
|
// @Tags admin
|
|
// @Produce json
|
|
// @Security SessionCookie
|
|
// @Success 200 {object} response.Any{data=model.SystemStatusResponse} "获取成功"
|
|
// @Failure 401 {object} response.Any "未登录"
|
|
// @Failure 403 {object} response.Any "无管理员权限"
|
|
// @Router /api/v1/admin/status [get]
|
|
func GetSystemStatus(c *gin.Context) {
|
|
c.JSON(http.StatusOK, response.OK(service.CollectSystemStatus()))
|
|
}
|
|
|
|
// GetLogDatabaseStatus 返回当前日志库状态。
|
|
// @Summary 获取日志数据库状态
|
|
// @Description 返回当前日志主库、迁移状态、各库保留天数与合法迁移目标,需要管理员权限
|
|
// @Tags admin
|
|
// @Produce json
|
|
// @Security SessionCookie
|
|
// @Success 200 {object} response.Any{data=model.LogDatabaseStatus} "获取成功"
|
|
// @Failure 401 {object} response.Any "未登录"
|
|
// @Failure 403 {object} response.Any "无管理员权限"
|
|
// @Failure 500 {object} response.Any "内部错误"
|
|
// @Router /api/v1/admin/status/log-database [get]
|
|
func GetLogDatabaseStatus(c *gin.Context) {
|
|
c.JSON(http.StatusOK, response.OK(service.LogDatabaseStatus(c.Request.Context())))
|
|
}
|