package v1 import ( "github.com/1Panel-dev/1Panel/app/api/v1/helper" "github.com/1Panel-dev/1Panel/app/dto" "github.com/1Panel-dev/1Panel/constant" "github.com/gin-gonic/gin" "strconv" ) func (b *BaseApi) AppSearch(c *gin.Context) { var req dto.AppRequest if err := c.ShouldBindJSON(&req); err != nil { helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err) return } list, err := appService.Page(req) if err != nil { helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err) return } helper.SuccessWithData(c, list) } func (b *BaseApi) AppSync(c *gin.Context) { if err := appService.Sync(); err != nil { helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err) return } helper.SuccessWithData(c, "") } func (b *BaseApi) GetApp(c *gin.Context) { idStr := c.Param("id") u64, err := strconv.ParseUint(idStr, 10, 32) if err != nil { helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err) return } appDTO, err := appService.GetApp(uint(u64)) if err != nil { helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err) return } helper.SuccessWithData(c, appDTO) } func (b *BaseApi) GetAppDetail(c *gin.Context) { idStr := c.Param("appid") u64, err := strconv.ParseUint(idStr, 10, 32) if err != nil { helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err) return } version := c.Param("version") appDetailDTO, err := appService.GetAppDetail(uint(u64), version) if err != nil { helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err) return } helper.SuccessWithData(c, appDetailDTO) } func (b *BaseApi) InstallApp(c *gin.Context) { var req dto.AppInstallRequest if err := c.ShouldBindJSON(&req); err != nil { helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err) return } if err := appService.Install(req.AppDetailId, req.Params); err != nil { helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err) return } helper.SuccessWithData(c, nil) } func (b *BaseApi) PageInstalled(c *gin.Context) { var req dto.AppInstalledRequest if err := c.ShouldBindJSON(&req); err != nil { helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err) return } total, list, err := appService.PageInstalled(req) if err != nil { helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err) return } helper.SuccessWithData(c, dto.PageResult{ Items: list, Total: total, }) }