1Panel/backend/app/dto/app.go

114 lines
2.6 KiB
Go
Raw Normal View History

package dto
2022-09-30 17:56:06 +08:00
import (
"encoding/json"
"github.com/1Panel-dev/1Panel/app/model"
)
type AppRes struct {
Version string `json:"version"`
CanUpdate bool `json:"canUpdate"`
Items []*AppDTO `json:"items"`
Tags []model.Tag `json:"tags"`
Total int64 `json:"total"`
}
type AppDTO struct {
model.App
2022-09-23 16:33:55 +08:00
Versions []string `json:"versions"`
Tags []model.Tag `json:"tags"`
}
type AppDetailDTO struct {
model.AppDetail
Params interface{} `json:"params"`
}
type AppList struct {
Version string `json:"version"`
Tags []Tag `json:"tags"`
Items []AppDefine `json:"items"`
}
type AppDefine struct {
2022-09-30 17:56:06 +08:00
Key string `json:"key"`
Name string `json:"name"`
Tags []string `json:"tags"`
Versions []string `json:"versions"`
Icon string `json:"icon"`
Author string `json:"author"`
Source string `json:"source"`
ShortDesc string `json:"short_desc"`
Type string `json:"type"`
Required []string `json:"Required"`
CrossVersionUpdate bool `json:"crossVersionUpdate"`
}
func (define AppDefine) GetRequired() string {
by, _ := json.Marshal(define.Required)
return string(by)
}
type Tag struct {
Key string `json:"key"`
Name string `json:"name"`
}
type AppForm struct {
FormFields []AppFormFields `json:"form_fields"`
}
type AppFormFields struct {
Type string `json:"type"`
LabelZh string `json:"label_zh"`
LabelEn string `json:"label_en"`
Required string `json:"required"`
Default string `json:"default"`
EnvKey string `json:"env_variable"`
}
type AppRequest struct {
PageInfo
2022-09-23 16:33:55 +08:00
Name string `json:"name"`
Tags []string `json:"tags"`
}
type AppInstallRequest struct {
AppDetailId uint `json:"appDetailId" validate:"required"`
Params map[string]interface{} `json:"params"`
2022-09-26 18:20:21 +08:00
Name string `json:"name" validate:"required"`
2022-10-07 15:49:39 +08:00
Services map[string]string `json:"services"`
}
type AppInstalled struct {
model.AppInstall
Total int `json:"total"`
Ready int `json:"ready"`
AppName string `json:"appName"`
Icon string `json:"icon"`
}
type AppInstalledRequest struct {
PageInfo
}
2022-09-26 18:20:21 +08:00
type AppOperate string
var (
Up AppOperate = "up"
Down AppOperate = "down"
Restart AppOperate = "restart"
2022-09-26 22:54:38 +08:00
Delete AppOperate = "delete"
Sync AppOperate = "sync"
2022-09-26 18:20:21 +08:00
)
type AppInstallOperate struct {
InstallId uint `json:"installId" validate:"required"`
Operate AppOperate `json:"operate" validate:"required"`
}
2022-10-07 15:49:39 +08:00
type AppService struct {
Label string `json:"label"`
Value string `json:"value"`
}