package resourcespecification
import (
"fleetmanager/api/common/log"
"fleetmanager/api/common/query"
"fleetmanager/api/response"
service "fleetmanager/api/service/fleet"
"fleetmanager/logger"
"github.com/beego/beego/v2/server/web"
"net/http"
)
type QueryController struct {
web.Controller
}
func (c *QueryController) queryCheck() (int, int, error) {
offset, err := query.CheckOffset(c.Ctx)
if err != nil {
return 0, 0, err
}
limit, err := query.CheckLimit(c.Ctx)
if err != nil {
return 0, 0, err
}
return offset, limit, nil
}
func (c *QueryController) ShowResourceSpecification() {
tLogger := log.GetTraceLogger(c.Ctx).WithField(logger.Stage, "Show_resource_specification")
s := service.NewFleetService(c.Ctx, tLogger)
list, e := s.ShowResourceSpecification()
if e != nil {
response.ServiceError(c.Ctx, e)
tLogger.WithField(logger.Error, e.Error()).Error("query resource specification from db error")
return
}
response.Success(c.Ctx, http.StatusOK, list)
}
func (c *QueryController) ListResourceSpecification() {
tLogger := log.GetTraceLogger(c.Ctx).WithField(logger.Stage, "list_resource_specification")
s := service.NewFleetService(c.Ctx, tLogger)
offset, limit, err := c.queryCheck()
if err != nil {
response.ParamsError(c.Ctx, err)
return
}
list, e := s.ListResourceSpecification(offset, limit)
if e != nil {
response.ServiceError(c.Ctx, e)
tLogger.WithField(logger.Error, e.Error()).Error("query resource specification from db error")
return
}
response.Success(c.Ctx, http.StatusOK, list)
}