mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-22 17:31:03 +01:00
- Added descriptive annotations to various parameters across controllers to improve API documentation clarity. - Standardized field definitions in models by including descriptions for better understanding of their purpose. - Updated validation patterns for ID fields to ensure consistency and improve data integrity. - Enhanced overall code readability and maintainability by aligning naming conventions and adding necessary comments.
67 lines
1.5 KiB
Go
67 lines
1.5 KiB
Go
package controllers
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/crawlab-team/crawlab/core/stats"
|
|
"github.com/gin-gonic/gin"
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
)
|
|
|
|
var statsDefaultQuery = bson.M{
|
|
"created_ts": bson.M{
|
|
"$gte": time.Now().Add(-30 * 24 * time.Hour),
|
|
},
|
|
}
|
|
|
|
type GetStatsOverviewParams struct {
|
|
Query bson.M `json:"query" description:"Query"`
|
|
}
|
|
|
|
func GetStatsOverview(_ *gin.Context, params *GetStatsOverviewParams) (response *Response[bson.M], err error) {
|
|
query := statsDefaultQuery
|
|
if params.Query != nil {
|
|
query = params.Query
|
|
}
|
|
|
|
data, err := stats.GetStatsService().GetOverviewStats(query)
|
|
if err != nil {
|
|
return GetErrorResponse[bson.M](err)
|
|
}
|
|
return GetDataResponse(data.(bson.M))
|
|
}
|
|
|
|
type GetStatsDailyParams struct {
|
|
Query bson.M `json:"query" description:"Query"`
|
|
}
|
|
|
|
func GetStatsDaily(_ *gin.Context, params *GetStatsDailyParams) (response *Response[bson.M], err error) {
|
|
query := statsDefaultQuery
|
|
if params.Query != nil {
|
|
query = params.Query
|
|
}
|
|
|
|
data, err := stats.GetStatsService().GetDailyStats(query)
|
|
if err != nil {
|
|
return GetErrorResponse[bson.M](err)
|
|
}
|
|
return GetDataResponse(data.(bson.M))
|
|
}
|
|
|
|
type GetStatsTasksParams struct {
|
|
Query bson.M `json:"query" description:"Query"`
|
|
}
|
|
|
|
func GetStatsTasks(_ *gin.Context, params *GetStatsTasksParams) (response *Response[bson.M], err error) {
|
|
query := statsDefaultQuery
|
|
if params.Query != nil {
|
|
query = params.Query
|
|
}
|
|
|
|
data, err := stats.GetStatsService().GetTaskStats(query)
|
|
if err != nil {
|
|
return GetErrorResponse[bson.M](err)
|
|
}
|
|
return GetDataResponse(data.(bson.M))
|
|
}
|