2022-09-22 16:16:04 +08:00
|
|
|
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"
|
2022-09-23 16:33:55 +08:00
|
|
|
"strconv"
|
2022-09-22 16:16:04 +08:00
|
|
|
)
|
|
|
|
|
2022-10-11 16:27:58 +08:00
|
|
|
func (b *BaseApi) SearchApp(c *gin.Context) {
|
2022-09-22 16:16:04 +08:00
|
|
|
var req dto.AppRequest
|
|
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2022-10-11 16:27:58 +08:00
|
|
|
list, err := appService.PageApp(req)
|
2022-09-22 16:16:04 +08:00
|
|
|
if err != nil {
|
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
helper.SuccessWithData(c, list)
|
|
|
|
}
|
|
|
|
|
2022-10-11 16:27:58 +08:00
|
|
|
func (b *BaseApi) SyncApp(c *gin.Context) {
|
2022-09-29 18:16:56 +08:00
|
|
|
if err := appService.SyncAppList(); err != nil {
|
2022-09-22 16:16:04 +08:00
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
helper.SuccessWithData(c, "")
|
|
|
|
}
|
2022-09-23 16:33:55 +08:00
|
|
|
|
|
|
|
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)
|
|
|
|
}
|
2022-09-26 16:32:40 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|
2022-09-26 18:20:21 +08:00
|
|
|
if err := appService.Install(req.Name, req.AppDetailId, req.Params); err != nil {
|
2022-09-26 16:32:40 +08:00
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
helper.SuccessWithData(c, nil)
|
|
|
|
}
|
2022-10-12 18:57:22 +08:00
|
|
|
|
|
|
|
func (b *BaseApi) DeleteAppBackup(c *gin.Context) {
|
|
|
|
var req dto.AppBackupDeleteRequest
|
|
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
if err := appService.DeleteBackup(req); err != nil {
|
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
helper.SuccessWithData(c, nil)
|
|
|
|
}
|
|
|
|
|
2022-10-11 16:27:58 +08:00
|
|
|
func (b *BaseApi) SearchInstalled(c *gin.Context) {
|
2022-09-26 16:32:40 +08:00
|
|
|
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{
|
2022-10-12 18:57:22 +08:00
|
|
|
Items: list,
|
|
|
|
Total: total,
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
func (b *BaseApi) SearchInstalledBackup(c *gin.Context) {
|
|
|
|
var req dto.AppBackupRequest
|
|
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
total, list, err := appService.PageInstallBackups(req)
|
|
|
|
if err != nil {
|
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
helper.SuccessWithData(c, dto.PageResult{
|
2022-09-26 16:32:40 +08:00
|
|
|
Items: list,
|
|
|
|
Total: total,
|
|
|
|
})
|
|
|
|
}
|
2022-09-26 18:20:21 +08:00
|
|
|
|
2022-10-11 16:27:58 +08:00
|
|
|
func (b *BaseApi) OperateInstalled(c *gin.Context) {
|
2022-09-26 18:20:21 +08:00
|
|
|
var req dto.AppInstallOperate
|
|
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
|
|
|
return
|
|
|
|
}
|
2022-10-11 16:27:58 +08:00
|
|
|
if err := appService.OperateInstall(req); err != nil {
|
2022-09-26 18:20:21 +08:00
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
helper.SuccessWithData(c, nil)
|
|
|
|
}
|
2022-09-29 18:16:56 +08:00
|
|
|
|
2022-10-11 16:27:58 +08:00
|
|
|
func (b *BaseApi) SyncInstalled(c *gin.Context) {
|
2022-09-29 18:16:56 +08:00
|
|
|
if err := appService.SyncAllInstalled(); err != nil {
|
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
helper.SuccessWithData(c, "")
|
|
|
|
}
|
2022-10-07 15:49:39 +08:00
|
|
|
|
|
|
|
func (b *BaseApi) GetServices(c *gin.Context) {
|
|
|
|
|
|
|
|
key := c.Param("key")
|
|
|
|
services, err := appService.GetServices(key)
|
|
|
|
if err != nil {
|
|
|
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
helper.SuccessWithData(c, services)
|
|
|
|
}
|