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

142 lines
3.7 KiB
Go
Raw Normal View History

package dto
2022-09-30 17:56:06 +08:00
import (
2023-05-16 17:31:47 +08:00
"github.com/1Panel-dev/1Panel/backend/app/model"
2022-09-26 18:20:21 +08:00
)
type AppDatabase struct {
ServiceName string `json:"PANEL_DB_HOST"`
DbName string `json:"PANEL_DB_NAME"`
DbUser string `json:"PANEL_DB_USER"`
Password string `json:"PANEL_DB_USER_PASSWORD"`
}
type AuthParam struct {
RootPassword string `json:"PANEL_DB_ROOT_PASSWORD"`
}
type RedisAuthParam struct {
RootPassword string `json:"PANEL_REDIS_ROOT_PASSWORD"`
}
type ContainerExec struct {
ContainerName string `json:"containerName"`
DbParam AppDatabase `json:"dbParam"`
Auth AuthParam `json:"auth"`
}
2022-10-13 18:56:53 +08:00
2022-10-14 14:48:55 +08:00
type AppOssConfig struct {
Version string `json:"version"`
Package string `json:"package"`
}
2022-10-13 18:56:53 +08:00
type AppVersion struct {
Version string `json:"version"`
DetailId uint `json:"detailId"`
}
2022-10-14 14:48:55 +08:00
type AppList struct {
Valid bool `json:"valid"`
Violations []string `json:"violations"`
LastModified int `json:"lastModified"`
Apps []AppDefine `json:"apps"`
Extra ExtraProperties `json:"additionalProperties"`
2022-10-14 14:48:55 +08:00
}
type AppDefine struct {
Icon string `json:"icon"`
Name string `json:"name"`
ReadMe string `json:"readMe"`
LastModified int `json:"lastModified"`
AppProperty AppProperty `json:"additionalProperties"`
Versions []AppConfigVersion `json:"versions"`
}
2023-05-16 17:31:47 +08:00
type LocalAppAppDefine struct {
AppProperty model.App `json:"additionalProperties" yaml:"additionalProperties"`
}
type LocalAppParam struct {
AppParams LocalAppInstallDefine `json:"additionalProperties" yaml:"additionalProperties"`
}
type LocalAppInstallDefine struct {
FormFields interface{} `json:"formFields" yaml:"formFields"`
}
type ExtraProperties struct {
Tags []Tag `json:"tags"`
Version string `json:"version"`
}
type AppProperty struct {
2022-11-22 14:32:45 +08:00
Name string `json:"name"`
Type string `json:"type"`
2022-11-22 14:32:45 +08:00
Tags []string `json:"tags"`
2023-02-17 16:21:13 +08:00
ShortDescZh string `json:"shortDescZh"`
ShortDescEn string `json:"shortDescEn"`
Key string `json:"key"`
2022-10-14 14:48:55 +08:00
Required []string `json:"Required"`
CrossVersionUpdate bool `json:"crossVersionUpdate"`
2022-11-22 14:32:45 +08:00
Limit int `json:"limit"`
2023-02-08 16:21:17 +08:00
Recommend int `json:"recommend"`
Website string `json:"website"`
Github string `json:"github"`
Document string `json:"document"`
2022-10-14 14:48:55 +08:00
}
type AppConfigVersion struct {
Name string `json:"name"`
LastModified int `json:"lastModified"`
DownloadUrl string `json:"downloadUrl"`
DownloadCallBackUrl string `json:"downloadCallBackUrl"`
AppForm interface{} `json:"additionalProperties"`
}
2022-10-14 14:48:55 +08:00
type Tag struct {
Key string `json:"key"`
Name string `json:"name"`
}
type AppForm struct {
FormFields []AppFormFields `json:"formFields"`
2022-10-14 14:48:55 +08:00
}
type AppFormFields struct {
Type string `json:"type"`
LabelZh string `json:"labelZh"`
LabelEn string `json:"labelEn"`
Required bool `json:"required"`
Default interface{} `json:"default"`
EnvKey string `json:"envKey"`
Disabled bool `json:"disabled"`
Edit bool `json:"edit"`
Rule string `json:"rule"`
2023-04-02 16:54:00 +08:00
Multiple bool `json:"multiple"`
Child interface{} `json:"child"`
Values []AppFormValue `json:"values"`
}
type AppFormValue struct {
Label string `json:"label"`
Value string `json:"value"`
2022-10-14 14:48:55 +08:00
}
2022-12-01 19:25:02 +08:00
type AppResource struct {
Type string `json:"type"`
Name string `json:"name"`
}
var AppToolMap = map[string]string{
"mysql": "phpmyadmin",
"redis": "redis-commander",
}
type AppInstallInfo struct {
ID uint `json:"id"`
Key string `json:"key"`
Name string `json:"name"`
}