Hhuaweicloud容器--应用包
29d70acd创建于 2023年8月2日历史提交
// Copyright (c) Huawei Technologies Co., Ltd. 2022-2022. All rights reserved.

// 应用包查询模块
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"
)

// QueryController
// @Description:
type QueryController struct {
	web.Controller
}

// @Title List
// @Description
// @Author wangnannan 2022-05-07 10:16:40 ${time}
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)
}

// @Title Show
// @Description
// @Author wangnannan 2022-05-07 10:16:48 ${time}
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)
}