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

151 lines
4.0 KiB
Go
Raw Normal View History

package dto
2022-09-30 09:56:06 +00:00
import (
2023-05-16 09:31:47 +00:00
"github.com/1Panel-dev/1Panel/backend/app/model"
2022-09-26 10:20:21 +00: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"`
RootUser string `json:"PANEL_DB_ROOT_USER"`
}
type RedisAuthParam struct {
RootPassword string `json:"PANEL_REDIS_ROOT_PASSWORD"`
}
type MinioAuthParam struct {
RootPassword string `json:"PANEL_MINIO_ROOT_PASSWORD"`
RootUser string `json:"PANEL_MINIO_ROOT_USER"`
}
type ContainerExec struct {
ContainerName string `json:"containerName"`
DbParam AppDatabase `json:"dbParam"`
Auth AuthParam `json:"auth"`
}
2022-10-13 10:56:53 +00:00
2022-10-14 06:48:55 +00:00
type AppOssConfig struct {
Version string `json:"version"`
Package string `json:"package"`
}
2022-10-13 10:56:53 +00:00
type AppVersion struct {
Version string `json:"version"`
DetailId uint `json:"detailId"`
DockerCompose string `json:"dockerCompose"`
2022-10-13 10:56:53 +00:00
}
2022-10-14 06:48:55 +00: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 06:48:55 +00: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 09:31:47 +00: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 06:32:45 +00:00
Name string `json:"name"`
Type string `json:"type"`
2022-11-22 06:32:45 +00:00
Tags []string `json:"tags"`
2023-02-17 08:21:13 +00:00
ShortDescZh string `json:"shortDescZh"`
ShortDescEn string `json:"shortDescEn"`
Key string `json:"key"`
2022-10-14 06:48:55 +00:00
Required []string `json:"Required"`
CrossVersionUpdate bool `json:"crossVersionUpdate"`
2022-11-22 06:32:45 +00:00
Limit int `json:"limit"`
2023-02-08 08:21:17 +00:00
Recommend int `json:"recommend"`
Website string `json:"website"`
Github string `json:"github"`
Document string `json:"document"`
2022-10-14 06:48:55 +00: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 06:48:55 +00:00
type Tag struct {
Key string `json:"key"`
Name string `json:"name"`
Sort int `json:"sort"`
2022-10-14 06:48:55 +00:00
}
type AppForm struct {
FormFields []AppFormFields `json:"formFields"`
SupportVersion float64 `json:"supportVersion"`
2022-10-14 06:48:55 +00: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 08:54:00 +00: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 06:48:55 +00:00
}
2022-12-01 11:25:02 +00: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"`
}