mirror of
https://github.com/usual2970/certimate.git
synced 2025-06-08 13:39:53 +00:00
37 lines
841 B
Go
37 lines
841 B
Go
package handlers
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/pocketbase/pocketbase/core"
|
|
"github.com/pocketbase/pocketbase/tools/router"
|
|
|
|
"github.com/usual2970/certimate/internal/domain"
|
|
"github.com/usual2970/certimate/internal/rest/resp"
|
|
)
|
|
|
|
type statisticsService interface {
|
|
Get(ctx context.Context) (*domain.Statistics, error)
|
|
}
|
|
|
|
type StatisticsHandler struct {
|
|
service statisticsService
|
|
}
|
|
|
|
func NewStatisticsHandler(router *router.RouterGroup[*core.RequestEvent], service statisticsService) {
|
|
handler := &StatisticsHandler{
|
|
service: service,
|
|
}
|
|
|
|
group := router.Group("/statistics")
|
|
group.GET("/get", handler.get)
|
|
}
|
|
|
|
func (handler *StatisticsHandler) get(e *core.RequestEvent) error {
|
|
if statistics, err := handler.service.Get(e.Request.Context()); err != nil {
|
|
return resp.Err(e, err)
|
|
} else {
|
|
return resp.Ok(e, statistics)
|
|
}
|
|
}
|