package build
import (
"fleetmanager/api/common/log"
"fleetmanager/api/response"
service "fleetmanager/api/service/build"
"fleetmanager/logger"
"github.com/beego/beego/v2/server/web"
"net/http"
)
type QueryController struct {
web.Controller
}
func (c *QueryController) List() {
tLogger := log.GetTraceLogger(c.Ctx).WithField(logger.Stage, "list_builds")
s := service.NewBuildService(c.Ctx, tLogger)
list, err := s.List(c.Ctx)
if err != nil {
response.Error(c.Ctx, http.StatusInternalServerError, err)
tLogger.WithField(logger.Error, err).Error("query build list from db error")
return
}
response.Success(c.Ctx, http.StatusOK, list)
}
func (c *QueryController) Show() {
tLogger := log.GetTraceLogger(c.Ctx).WithField(logger.Stage, "show_build")
s := service.NewBuildService(c.Ctx, tLogger)
build, err := s.Show(c.Ctx)
if err != nil {
response.Error(c.Ctx, http.StatusInternalServerError, err)
tLogger.WithField(logger.Error, err).Error("query build detail from db error")
return
}
response.Success(c.Ctx, http.StatusOK, build)
}
func (c *QueryController) GetSupportImage() {
tLogger := log.GetTraceLogger(c.Ctx).WithField(logger.Stage, "get_support_image")
s := service.NewBuildService(c.Ctx, tLogger)
image, err := s.GetSupportImage()
if err != nil {
response.Error(c.Ctx, http.StatusInternalServerError, err)
tLogger.WithField(logger.Error, err).Error("query support public image from service config error")
return
}
response.Success(c.Ctx, http.StatusOK, image)
}
func (c *QueryController) GetSupportDockerImage() {
tLogger := log.GetTraceLogger(c.Ctx).WithField(logger.Stage, "get_support_image")
s := service.NewBuildService(c.Ctx, tLogger)
image, err := s.GetSupportDockerImage()
if err != nil {
response.Error(c.Ctx, http.StatusInternalServerError, err)
tLogger.WithField(logger.Error, err).Error("query support public image from service config error")
return
}
response.Success(c.Ctx, http.StatusOK, image)
}