DeployHelper/internal/handler/sys_deploy_project_handler.go

93 lines
3.1 KiB
Go

package handler
import (
"ego/internal/service"
"ego/pkg/logger"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
// SysDeployProjectHandler 部署项目处理器
type SysDeployProjectHandler struct {
deployProjectService *service.SysDeployProjectService
}
// NewSysDeployProjectHandler 构建部署项目处理器
func NewSysDeployProjectHandler(deployProjectService *service.SysDeployProjectService) *SysDeployProjectHandler {
return &SysDeployProjectHandler{
deployProjectService: deployProjectService,
}
}
// Create 创建部署项目记录
// @Summary 创建部署项目记录
// @Description 创建新的部署项目记录
// @Tags 部署项目管理
// @Accept json
// @Produce json
// @Param deployProject body model.SysDeployProject true "部署项目信息"
// @Success 200 {object} serializer.Response
// @Router /deploy-projects [post]
func (h *SysDeployProjectHandler) Create(c *gin.Context) {
logger.Info(c, "创建部署项目记录")
c.JSON(200, h.deployProjectService.Create(c))
}
// GetByID 根据ID获取部署项目记录
// @Summary 获取部署项目记录
// @Description 根据ID获取部署项目记录详情
// @Tags 部署项目管理
// @Accept json
// @Produce json
// @Param id path string true "部署ID"
// @Success 200 {object} serializer.Response
// @Router /deploy-projects/{id} [get]
func (h *SysDeployProjectHandler) GetByID(c *gin.Context) {
logger.Info(c, "获取部署项目记录", zap.String("id", c.Param("id")))
c.JSON(200, h.deployProjectService.GetByID(c))
}
// UpdateByID 根据ID更新部署项目记录
// @Summary 更新部署项目记录
// @Description 根据ID更新部署项目记录
// @Tags 部署项目管理
// @Accept json
// @Produce json
// @Param id path string true "部署ID"
// @Param deployProject body model.SysDeployProject true "部署项目信息"
// @Success 200 {object} serializer.Response
// @Router /deploy-projects/{id} [put]
func (h *SysDeployProjectHandler) UpdateByID(c *gin.Context) {
logger.Info(c, "更新部署项目记录", zap.String("id", c.Param("id")))
c.JSON(200, h.deployProjectService.UpdateByID(c))
}
// DeleteByID 根据ID删除部署项目记录
// @Summary 删除部署项目记录
// @Description 根据ID删除部署项目记录
// @Tags 部署项目管理
// @Accept json
// @Produce json
// @Param id path string true "部署ID"
// @Success 200 {object} serializer.Response
// @Router /deploy-projects/{id} [delete]
func (h *SysDeployProjectHandler) DeleteByID(c *gin.Context) {
logger.Info(c, "删除部署项目记录", zap.String("id", c.Param("id")))
c.JSON(200, h.deployProjectService.DeleteByID(c))
}
// GetByCondition 条件查询部署项目记录
// @Summary 条件查询部署项目记录
// @Description 根据条件分页查询部署项目记录
// @Tags 部署项目管理
// @Accept json
// @Produce json
// @Param params query types.Params true "查询参数"
// @Success 200 {object} serializer.Response
// @Router /deploy-projects [get]
func (h *SysDeployProjectHandler) GetByCondition(c *gin.Context) {
logger.Info(c, "条件查询部署项目记录")
c.JSON(200, h.deployProjectService.GetByCondition(c))
}