From 8c2bb231c69cfd3cde733d1350a8040dae2f9aa7 Mon Sep 17 00:00:00 2001 From: zhengkunwang <31820853+zhengkunwang223@users.noreply.github.com> Date: Sat, 8 Feb 2025 22:57:08 +0800 Subject: [PATCH] feat(system): Optimize the logic of the login page (#7828) --- core/app/api/v2/app_launcher.go | 2 +- core/app/api/v2/auth.go | 27 +- core/app/api/v2/backup.go | 2 +- core/app/dto/auth.go | 6 + core/app/service/auth.go | 15 - core/app/service/setting.go | 16 +- core/cmd/server/docs/docs.go | 4720 ++++++++++++++--- core/cmd/server/docs/swagger.json | 4720 ++++++++++++++--- core/cmd/server/docs/swagger_test.go | 4 +- core/cmd/server/docs/x-log.json | 2851 +++++----- core/router/ro_base.go | 4 +- frontend/src/api/interface/auth.ts | 6 + frontend/src/api/modules/auth.ts | 16 +- .../src/layout/components/Sidebar/index.vue | 8 +- .../src/views/login/components/login-form.vue | 92 +- frontend/src/views/login/index.vue | 17 - 16 files changed, 9192 insertions(+), 3314 deletions(-) diff --git a/core/app/api/v2/app_launcher.go b/core/app/api/v2/app_launcher.go index a3bc1647a..0cdc417c3 100644 --- a/core/app/api/v2/app_launcher.go +++ b/core/app/api/v2/app_launcher.go @@ -18,7 +18,7 @@ func (b *BaseApi) SearchAppLauncher(c *gin.Context) { // @Tags App Launcher // @Summary Update app Launcher // @Accept json -// @Param request body dto.ChangeShow true "request" +// @Param request body dto.SettingUpdate true "request" // @Success 200 // @Security ApiKeyAuth // @Security Timestamp diff --git a/core/app/api/v2/auth.go b/core/app/api/v2/auth.go index 43ba52ad4..e8c4db080 100644 --- a/core/app/api/v2/auth.go +++ b/core/app/api/v2/auth.go @@ -6,7 +6,6 @@ import ( "github.com/1Panel-dev/1Panel/core/app/dto" "github.com/1Panel-dev/1Panel/core/app/model" "github.com/1Panel-dev/1Panel/core/constant" - "github.com/1Panel-dev/1Panel/core/global" "github.com/1Panel-dev/1Panel/core/utils/captcha" "github.com/gin-gonic/gin" ) @@ -119,24 +118,16 @@ func (b *BaseApi) GetResponsePage(c *gin.Context) { } // @Tags Auth -// @Summary Check System isDemo -// @Success 200 {boolean} demo -// @Router /core/auth/demo [get] -func (b *BaseApi) CheckIsDemo(c *gin.Context) { - helper.SuccessWithData(c, global.CONF.Base.IsDemo) -} - -// @Tags Auth -// @Summary Load System Language -// @Success 200 {string} language -// @Router /core/auth/language [get] -func (b *BaseApi) GetLanguage(c *gin.Context) { +// @Summary Get Setting For Login +// @Success 200 {object} dto.SystemSetting +// @Router /core/auth/setting [get] +func (b *BaseApi) GetLoginSetting(c *gin.Context) { settingInfo, err := settingService.GetSettingInfo() if err != nil { helper.InternalServer(c, err) return } - helper.SuccessWithData(c, settingInfo.Language) + helper.SuccessWithData(c, settingInfo) } func saveLoginLogs(c *gin.Context, err error) { @@ -151,11 +142,3 @@ func saveLoginLogs(c *gin.Context, err error) { logs.Agent = c.GetHeader("User-Agent") _ = logService.CreateLoginLog(logs) } - -// @Tags Auth -// @Summary Check System IsIntl -// @Success 200 {string} intl -// @Router /auth/intl [get] -func (b *BaseApi) CheckIsIntl(c *gin.Context) { - helper.SuccessWithData(c, global.CONF.Base.IsIntl) -} diff --git a/core/app/api/v2/backup.go b/core/app/api/v2/backup.go index f4f8d9db9..fec8d8dec 100644 --- a/core/app/api/v2/backup.go +++ b/core/app/api/v2/backup.go @@ -75,7 +75,7 @@ func (b *BaseApi) ListBuckets(c *gin.Context) { // @Tags Backup Account // @Summary Load backup account base info // @Accept json -// @Success 200 {object} dto.OneDriveInfo +// @Success 200 {object} dto.BackupClientInfo // @Security ApiKeyAuth // @Security Timestamp // @Router /core/backups/client/:clientType [get] diff --git a/core/app/dto/auth.go b/core/app/dto/auth.go index b39948499..de2d5be88 100644 --- a/core/app/dto/auth.go +++ b/core/app/dto/auth.go @@ -38,3 +38,9 @@ type MFALogin struct { Code string `json:"code" validate:"required"` AuthMethod string `json:"authMethod"` } + +type SystemSetting struct { + IsDemo bool `json:"isDemo"` + Language string `json:"language"` + IsIntl bool `json:"isIntl"` +} diff --git a/core/app/service/auth.go b/core/app/service/auth.go index f91b5bb2f..dca860a18 100644 --- a/core/app/service/auth.go +++ b/core/app/service/auth.go @@ -18,7 +18,6 @@ import ( type AuthService struct{} type IAuthService interface { - CheckIsSafety(code string) (string, error) GetResponsePage() (string, error) VerifyCode(code string) (bool, error) Login(c *gin.Context, info dto.Login, entrance string) (*dto.UserLoginInfo, string, error) @@ -169,20 +168,6 @@ func (u *AuthService) VerifyCode(code string) (bool, error) { return hmac.Equal([]byte(setting.Value), []byte(code)), nil } -func (u *AuthService) CheckIsSafety(code string) (string, error) { - status, err := settingRepo.Get(repo.WithByKey("SecurityEntrance")) - if err != nil { - return "", err - } - if len(status.Value) == 0 { - return "disable", nil - } - if status.Value == code { - return "pass", nil - } - return "unpass", nil -} - func (u *AuthService) GetResponsePage() (string, error) { pageCode, err := settingRepo.Get(repo.WithByKey("NoAuthSetting")) if err != nil { diff --git a/core/app/service/setting.go b/core/app/service/setting.go index cef08c488..f8cdcf860 100644 --- a/core/app/service/setting.go +++ b/core/app/service/setting.go @@ -47,8 +47,9 @@ type ISettingService interface { UpdateTerminal(req dto.TerminalInfo) error UpdateSystemSSL() error - GenerateRSAKey() error + + GetLoginSetting() (*dto.SystemSetting, error) } func NewISettingService() ISettingService { @@ -527,3 +528,16 @@ func (u *SettingService) GenerateRSAKey() error { } return nil } + +func (u *SettingService) GetLoginSetting() (*dto.SystemSetting, error) { + settingInfo, err := u.GetSettingInfo() + if err != nil { + return nil, err + } + res := &dto.SystemSetting{ + Language: settingInfo.Language, + IsDemo: global.CONF.Base.IsDemo, + IsIntl: global.CONF.Base.IsIntl, + } + return res, nil +} diff --git a/core/cmd/server/docs/docs.go b/core/cmd/server/docs/docs.go index c0ca8b4ef..63afc8302 100644 --- a/core/cmd/server/docs/docs.go +++ b/core/cmd/server/docs/docs.go @@ -13,7 +13,7 @@ const docTemplate = `{ }, "termsOfService": "http://swagger.io/terms/", "title": "1Panel", - "version": "1.0" + "version": "2.0" }, "host": "localhost", "basePath": "/api/v2", @@ -23,7 +23,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过 key 获取应用信息", "parameters": [ { "description": "app key", @@ -44,6 +43,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app by key", @@ -54,15 +56,20 @@ const docTemplate = `{ }, "/apps/checkupdate": { "get": { - "description": "获取应用更新版本", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.AppUpdateRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get app list update", @@ -76,7 +83,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过 appid 获取应用详情", "parameters": [ { "description": "app id", @@ -111,6 +117,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app detail by appid", @@ -124,7 +133,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过 id 获取应用详情", "parameters": [ { "description": "id", @@ -145,6 +153,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get app detail by id", @@ -158,18 +169,23 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取忽略的应用版本", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/response.IgnoredApp" + "items": { + "$ref": "#/definitions/response.IgnoredApp" + }, + "type": "array" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get Ignore App", @@ -183,7 +199,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "安装应用", "parameters": [ { "description": "request", @@ -206,6 +221,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Install app", @@ -213,28 +231,12 @@ const docTemplate = `{ "App" ], "x-panel-log": { - "BeforeFunctions": [ - { - "db": "app_installs", - "input_column": "name", - "input_value": "name", - "isList": false, - "output_column": "app_id", - "output_value": "appId" - }, - { - "db": "apps", - "info": "appId", - "isList": false, - "output_column": "key", - "output_value": "appKey" - } - ], + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "formatEN": "Install app [appKey]-[name]", - "formatZH": "安装应用 [appKey]-[name]", + "formatEN": "Install app [name]", + "formatZH": "安装应用 [name]", "paramKeys": [] } } @@ -244,7 +246,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "检查应用安装情况", "parameters": [ { "description": "request", @@ -267,6 +268,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check app installed", @@ -280,7 +284,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过 key 获取应用默认配置", "parameters": [ { "description": "request", @@ -303,6 +306,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search default config by key", @@ -316,7 +322,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新应用配置", "parameters": [ { "description": "request", @@ -336,6 +341,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update app config", @@ -359,7 +367,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取应用连接信息", "parameters": [ { "description": "request", @@ -375,13 +382,16 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/response.DatabaseConn" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app password by key", @@ -395,7 +405,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除前检查", "parameters": [ { "description": "App install id", @@ -419,6 +428,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check before delete", @@ -432,7 +444,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "忽略应用升级版本", "parameters": [ { "description": "request", @@ -452,6 +463,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "ignore App Update", @@ -474,7 +488,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取已安装应用列表", "responses": { "200": { "description": "OK", @@ -489,6 +502,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List app installed", @@ -502,7 +518,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取应用端口", "parameters": [ { "description": "request", @@ -525,6 +540,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app port by key", @@ -538,7 +556,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作已安装应用", "parameters": [ { "description": "request", @@ -558,6 +575,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate installed app", @@ -606,7 +626,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过 install id 获取应用参数", "parameters": [ { "description": "request", @@ -620,13 +639,16 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/response.AppParam" + "$ref": "#/definitions/response.AppConfig" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search params by appInstallId", @@ -640,7 +662,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改应用参数", "parameters": [ { "description": "request", @@ -660,6 +681,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change app params", @@ -682,7 +706,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改应用端口", "parameters": [ { "description": "request", @@ -702,6 +725,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change app port", @@ -726,7 +752,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "分页获取已安装应用列表", "parameters": [ { "description": "request", @@ -740,12 +765,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page app installed", @@ -756,7 +787,6 @@ const docTemplate = `{ }, "/apps/installed/sync": { "post": { - "description": "同步已安装应用列表", "responses": { "200": { "description": "OK" @@ -765,6 +795,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Sync app installed", @@ -785,7 +818,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过 install id 获取应用更新版本", "parameters": [ { "description": "request", @@ -809,6 +841,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app update version by install id", @@ -822,7 +857,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取应用列表", "parameters": [ { "description": "request", @@ -836,12 +870,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.AppRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List apps", @@ -855,7 +895,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过 key 获取应用 service", "parameters": [ { "description": "request", @@ -879,6 +918,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app service by key", @@ -889,7 +931,6 @@ const docTemplate = `{ }, "/apps/store/config": { "get": { - "description": "获取应用商店配置", "responses": { "200": { "description": "OK", @@ -901,6 +942,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get appstore config", @@ -914,7 +958,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新应用商店配置", "parameters": [ { "description": "request", @@ -934,6 +977,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update appstore config", @@ -944,7 +990,6 @@ const docTemplate = `{ }, "/apps/sync/local": { "post": { - "description": "同步本地应用列表", "responses": { "200": { "description": "OK" @@ -953,6 +998,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Sync local app list", @@ -970,7 +1018,6 @@ const docTemplate = `{ }, "/apps/sync/remote": { "post": { - "description": "同步远程应用列表", "responses": { "200": { "description": "OK" @@ -979,6 +1026,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Sync remote app list", @@ -994,12 +1044,103 @@ const docTemplate = `{ } } }, - "/backup/backup": { + "/backup/record/download": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DownloadRecord" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Download backup record", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "source", + "fileName" + ], + "formatEN": "download backup records [source][fileName]", + "formatZH": "下载备份记录 [source][fileName]", + "paramKeys": [] + } + } + }, + "/backups": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BackupOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Create backup account", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "create backup account [type]", + "formatZH": "创建备份账号 [type]", + "paramKeys": [] + } + } + }, + "/backups/backup": { "post": { "consumes": [ "application/json" ], - "description": "备份系统数据", "parameters": [ { "description": "request", @@ -1019,6 +1160,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Backup system data", @@ -1038,12 +1182,11 @@ const docTemplate = `{ } } }, - "/backup/record/download": { + "/backups/del": { "post": { "consumes": [ "application/json" ], - "description": "下载备份记录", "parameters": [ { "description": "request", @@ -1051,7 +1194,7 @@ const docTemplate = `{ "name": "request", "required": true, "schema": { - "$ref": "#/definitions/dto.DownloadRecord" + "$ref": "#/definitions/dto.OperateByID" } } ], @@ -1063,30 +1206,94 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Download backup record", + "summary": "Delete backup account", "tags": [ "Backup Account" ], "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "source", - "fileName" + "BeforeFunctions": [ + { + "db": "backup_accounts", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "type", + "output_value": "types" + } ], - "formatEN": "download backup records [source][fileName]", - "formatZH": "下载备份记录 [source][fileName]", + "bodyKeys": [ + "id" + ], + "formatEN": "delete backup account [types]", + "formatZH": "删除备份账号 [types]", "paramKeys": [] } } }, - "/backup/record/search": { + "/backups/local": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "get local backup dir", + "tags": [ + "Backup Account" + ] + } + }, + "/backups/options": { + "get": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.BackupOption" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Load backup account options", + "tags": [ + "Backup Account" + ] + } + }, + "/backups/record/search": { "post": { "consumes": [ "application/json" ], - "description": "获取备份记录列表分页", "parameters": [ { "description": "request", @@ -1100,12 +1307,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page backup records", @@ -1114,12 +1327,11 @@ const docTemplate = `{ ] } }, - "/backup/record/search/bycronjob": { + "/backups/record/search/bycronjob": { "post": { "consumes": [ "application/json" ], - "description": "通过计划任务获取备份记录列表分页", "parameters": [ { "description": "request", @@ -1133,12 +1345,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page backup records by cronjob", @@ -1147,12 +1365,52 @@ const docTemplate = `{ ] } }, - "/backup/recover": { + "/backups/record/size": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchForSize" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.RecordFileSize" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Load backup record size", + "tags": [ + "Backup Account" + ] + } + }, + "/backups/recover": { "post": { "consumes": [ "application/json" ], - "description": "恢复系统数据", "parameters": [ { "description": "request", @@ -1172,6 +1430,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Recover system data", @@ -1192,12 +1453,11 @@ const docTemplate = `{ } } }, - "/backup/recover/byupload": { + "/backups/recover/byupload": { "post": { "consumes": [ "application/json" ], - "description": "从上传恢复系统数据", "parameters": [ { "description": "request", @@ -1217,6 +1477,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Recover system data by upload", @@ -1237,12 +1500,81 @@ const docTemplate = `{ } } }, - "/backup/search/files": { + "/backups/refresh/token": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BackupOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Refresh token", + "tags": [ + "Backup Account" + ] + } + }, + "/backups/search": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchPageWithType" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Search backup accounts with page", + "tags": [ + "Backup Account" + ] + } + }, + "/backups/search/files": { "post": { "consumes": [ "application/json" ], - "description": "获取备份账号内文件列表", "parameters": [ { "description": "request", @@ -1268,6 +1600,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List files from backup accounts", @@ -1276,12 +1611,96 @@ const docTemplate = `{ ] } }, + "/backups/update": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BackupOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Update backup account", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "update backup account [types]", + "formatZH": "更新备份账号 [types]", + "paramKeys": [] + } + } + }, + "/buckets": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ForBuckets" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "type": "object" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "List buckets", + "tags": [ + "Backup Account" + ] + } + }, "/containers": { "post": { "consumes": [ "application/json" ], - "description": "创建容器", "parameters": [ { "description": "request", @@ -1301,6 +1720,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create container", @@ -1324,7 +1746,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "清理容器日志", "parameters": [ { "description": "request", @@ -1344,6 +1765,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean container log", @@ -1366,7 +1790,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "命令创建容器", "parameters": [ { "description": "request", @@ -1386,6 +1809,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create container by command", @@ -1399,7 +1825,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "容器提交生成新镜像", "parameters": [ { "description": "request", @@ -1416,6 +1841,14 @@ const docTemplate = `{ "description": "OK" } }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], "summary": "Commit Container", "tags": [ "Container" @@ -1427,7 +1860,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建容器编排", "parameters": [ { "description": "request", @@ -1447,6 +1879,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create compose", @@ -1469,7 +1904,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "容器编排操作", "parameters": [ { "description": "request", @@ -1489,6 +1923,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate compose", @@ -1512,7 +1949,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取编排列表分页", "parameters": [ { "description": "request", @@ -1535,6 +1971,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page composes", @@ -1543,53 +1982,11 @@ const docTemplate = `{ ] } }, - "/containers/compose/search/log": { - "get": { - "description": "docker-compose 日志", - "parameters": [ - { - "description": "compose 文件地址", - "in": "query", - "name": "compose", - "type": "string" - }, - { - "description": "时间筛选", - "in": "query", - "name": "since", - "type": "string" - }, - { - "description": "是否追踪", - "in": "query", - "name": "follow", - "type": "string" - }, - { - "description": "显示行号", - "in": "query", - "name": "tail", - "type": "string" - } - ], - "responses": {}, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "Container Compose logs", - "tags": [ - "Container Compose" - ] - } - }, "/containers/compose/test": { "post": { "consumes": [ "application/json" ], - "description": "测试 compose 是否可用", "parameters": [ { "description": "request", @@ -1603,12 +2000,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "boolean" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Test compose", @@ -1631,7 +2034,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新容器编排", "parameters": [ { "description": "request", @@ -1651,6 +2053,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update compose", @@ -1670,7 +2075,6 @@ const docTemplate = `{ }, "/containers/daemonjson": { "get": { - "description": "获取 docker 配置信息", "produces": [ "application/json" ], @@ -1685,6 +2089,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load docker daemon.json", @@ -1695,7 +2102,6 @@ const docTemplate = `{ }, "/containers/daemonjson/file": { "get": { - "description": "获取 docker 配置信息(表单)", "produces": [ "application/json" ], @@ -1710,6 +2116,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load docker daemon.json", @@ -1723,7 +2132,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 docker 配置信息", "parameters": [ { "description": "request", @@ -1743,6 +2151,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update docker daemon.json", @@ -1766,7 +2177,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "上传替换 docker 配置文件", "parameters": [ { "description": "request", @@ -1786,6 +2196,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update docker daemon.json by upload file", @@ -1806,7 +2219,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "Docker 操作", "parameters": [ { "description": "request", @@ -1826,6 +2238,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate docker", @@ -1845,7 +2260,6 @@ const docTemplate = `{ }, "/containers/docker/status": { "get": { - "description": "获取 docker 服务状态", "produces": [ "application/json" ], @@ -1860,6 +2274,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load docker status", @@ -1870,13 +2287,11 @@ const docTemplate = `{ }, "/containers/download/log": { "post": { - "description": "下载容器日志", "responses": {} } }, "/containers/image": { "get": { - "description": "获取镜像名称列表", "produces": [ "application/json" ], @@ -1894,6 +2309,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "load images options", @@ -1904,7 +2322,6 @@ const docTemplate = `{ }, "/containers/image/all": { "get": { - "description": "获取所有镜像列表", "produces": [ "application/json" ], @@ -1922,6 +2339,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List all images", @@ -1935,7 +2355,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "构建镜像", "parameters": [ { "description": "request", @@ -1958,6 +2377,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Build image", @@ -1980,7 +2402,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "导入镜像", "parameters": [ { "description": "request", @@ -2000,6 +2421,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load image", @@ -2022,7 +2446,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "拉取镜像", "parameters": [ { "description": "request", @@ -2036,15 +2459,15 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK", - "schema": { - "type": "string" - } + "description": "OK" } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Pull image", @@ -2077,7 +2500,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "推送镜像", "parameters": [ { "description": "request", @@ -2091,15 +2513,15 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK", - "schema": { - "type": "string" - } + "description": "OK" } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Push image", @@ -2133,7 +2555,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除镜像", "parameters": [ { "description": "request", @@ -2147,12 +2568,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.ContainerPruneReport" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete image", @@ -2175,7 +2602,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "导出镜像", "parameters": [ { "description": "request", @@ -2195,6 +2621,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Save image", @@ -2219,7 +2648,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取镜像列表分页", "parameters": [ { "description": "request", @@ -2245,6 +2673,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page images", @@ -2258,7 +2689,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "Tag 镜像", "parameters": [ { "description": "request", @@ -2278,6 +2708,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Tag image", @@ -2310,7 +2743,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取容器表单信息", "parameters": [ { "description": "request", @@ -2333,6 +2765,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load container info", @@ -2346,7 +2781,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "容器详情", "parameters": [ { "description": "request", @@ -2369,6 +2803,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Container inspect", @@ -2382,7 +2819,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 docker ipv6 配置", "parameters": [ { "description": "request", @@ -2402,6 +2838,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update docker daemon.json ipv6 option", @@ -2419,7 +2858,6 @@ const docTemplate = `{ }, "/containers/limit": { "get": { - "description": "获取容器限制", "responses": { "200": { "description": "OK", @@ -2431,6 +2869,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load container limits" @@ -2441,18 +2882,26 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取容器名称", "produces": [ "application/json" ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List containers", @@ -2463,7 +2912,6 @@ const docTemplate = `{ }, "/containers/list/stats": { "get": { - "description": "获取容器列表资源占用", "responses": { "200": { "description": "OK", @@ -2478,6 +2926,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load container stats" @@ -2488,7 +2939,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取容器操作日志", "parameters": [ { "description": "request", @@ -2502,12 +2952,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load container log", @@ -2521,7 +2977,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 docker 日志配置", "parameters": [ { "description": "request", @@ -2541,6 +2996,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update docker daemon.json log option", @@ -2561,7 +3019,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取容器网络列表", "produces": [ "application/json" ], @@ -2579,6 +3036,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List networks", @@ -2590,7 +3050,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建容器网络", "parameters": [ { "description": "request", @@ -2610,6 +3069,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create network", @@ -2632,7 +3094,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除容器网络", "parameters": [ { "description": "request", @@ -2652,6 +3113,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete network", @@ -2674,7 +3138,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取容器网络列表分页", "parameters": [ { "description": "request", @@ -2700,6 +3163,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page networks", @@ -2713,7 +3179,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "容器操作", "parameters": [ { "description": "request", @@ -2733,6 +3198,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate Container", @@ -2756,7 +3224,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "容器清理", "parameters": [ { "description": "request", @@ -2779,6 +3246,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean container", @@ -2801,7 +3271,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "容器重命名", "parameters": [ { "description": "request", @@ -2821,6 +3290,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Rename Container", @@ -2841,7 +3313,6 @@ const docTemplate = `{ }, "/containers/repo": { "get": { - "description": "获取镜像仓库列表", "produces": [ "application/json" ], @@ -2859,6 +3330,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List image repos", @@ -2870,7 +3344,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建镜像仓库", "parameters": [ { "description": "request", @@ -2893,6 +3366,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create image repo", @@ -2915,7 +3391,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除镜像仓库", "parameters": [ { "description": "request", @@ -2938,6 +3413,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete image repo", @@ -2969,7 +3447,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取镜像仓库列表分页", "parameters": [ { "description": "request", @@ -2995,6 +3472,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page image repos", @@ -3008,7 +3488,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 docker 仓库状态", "parameters": [ { "description": "request", @@ -3031,6 +3510,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load repo status", @@ -3044,7 +3526,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新镜像仓库", "parameters": [ { "description": "request", @@ -3067,6 +3548,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update image repo", @@ -3098,7 +3582,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取容器列表分页", "parameters": [ { "description": "request", @@ -3124,6 +3607,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page containers", @@ -3134,7 +3620,6 @@ const docTemplate = `{ }, "/containers/search/log": { "post": { - "description": "容器日志", "parameters": [ { "description": "容器名称", @@ -3165,6 +3650,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Container logs", @@ -3175,7 +3663,6 @@ const docTemplate = `{ }, "/containers/stats/:id": { "get": { - "description": "容器监控信息", "parameters": [ { "description": "容器id", @@ -3196,6 +3683,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Container stats", @@ -3209,18 +3699,23 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取容器状态", "produces": [ "application/json" ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.ContainerStatus" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load containers status", @@ -3231,7 +3726,6 @@ const docTemplate = `{ }, "/containers/template": { "get": { - "description": "获取容器编排模版列表", "produces": [ "application/json" ], @@ -3249,6 +3743,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List compose templates", @@ -3260,7 +3757,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建容器编排模版", "parameters": [ { "description": "request", @@ -3280,6 +3776,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create compose template", @@ -3302,7 +3801,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除容器编排模版", "parameters": [ { "description": "request", @@ -3322,6 +3820,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete compose template", @@ -3353,7 +3854,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取容器编排模版列表分页", "parameters": [ { "description": "request", @@ -3379,6 +3879,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page compose templates", @@ -3392,7 +3895,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新容器编排模版", "parameters": [ { "description": "request", @@ -3412,6 +3914,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update compose template", @@ -3443,7 +3948,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新容器", "parameters": [ { "description": "request", @@ -3463,6 +3967,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update container", @@ -3486,7 +3993,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新容器镜像", "parameters": [ { "description": "request", @@ -3506,6 +4012,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Upgrade container", @@ -3529,7 +4038,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取容器存储卷列表", "produces": [ "application/json" ], @@ -3547,6 +4055,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List volumes", @@ -3558,7 +4069,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建容器存储卷", "parameters": [ { "description": "request", @@ -3578,6 +4088,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create volume", @@ -3600,7 +4113,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除容器存储卷", "parameters": [ { "description": "request", @@ -3620,6 +4132,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete volume", @@ -3642,7 +4157,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取容器存储卷分页", "parameters": [ { "description": "request", @@ -3668,6 +4182,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page volumes", @@ -3676,9 +4193,53 @@ const docTemplate = `{ ] } }, + "/core/app/launcher/show": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SettingUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Update app Launcher", + "tags": [ + "App Launcher" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "app launcher [key] =\u003e show: [value]", + "formatZH": "首页应用 [key] =\u003e 显示:[value]", + "paramKeys": [] + } + } + }, "/core/auth/captcha": { "get": { - "description": "加载验证码", "responses": { "200": { "description": "OK", @@ -3693,54 +4254,11 @@ const docTemplate = `{ ] } }, - "/core/auth/demo": { - "get": { - "description": "判断是否为demo环境", - "responses": { - "200": { - "description": "OK" - } - }, - "summary": "Check System isDemo", - "tags": [ - "Auth" - ] - } - }, - "/core/auth/issafety": { - "get": { - "description": "获取系统安全登录状态", - "responses": { - "200": { - "description": "OK" - } - }, - "summary": "Load safety status", - "tags": [ - "Auth" - ] - } - }, - "/core/auth/language": { - "get": { - "description": "获取系统语言设置", - "responses": { - "200": { - "description": "OK" - } - }, - "summary": "Load System Language", - "tags": [ - "Auth" - ] - } - }, "/core/auth/login": { "post": { "consumes": [ "application/json" ], - "description": "用户登录", "parameters": [ { "description": "安全入口 base64 加密串", @@ -3775,7 +4293,6 @@ const docTemplate = `{ }, "/core/auth/logout": { "post": { - "description": "用户登出", "responses": { "200": { "description": "OK" @@ -3784,6 +4301,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "User logout", @@ -3797,7 +4317,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "用户 mfa 登录", "parameters": [ { "description": "request", @@ -3829,12 +4348,27 @@ const docTemplate = `{ ] } }, - "/core/backup": { + "/core/auth/setting": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SystemSetting" + } + } + }, + "summary": "Get Setting For Login", + "tags": [ + "Auth" + ] + } + }, + "/core/backups": { "post": { "consumes": [ "application/json" ], - "description": "创建备份账号", "parameters": [ { "description": "request", @@ -3854,6 +4388,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create backup account", @@ -3871,12 +4408,11 @@ const docTemplate = `{ } } }, - "/core/backup/del": { + "/core/backups/buckets": { "post": { "consumes": [ "application/json" ], - "description": "删除备份账号", "parameters": [ { "description": "request", @@ -3884,100 +4420,16 @@ const docTemplate = `{ "name": "request", "required": true, "schema": { - "$ref": "#/definitions/dto.OperateByID" + "$ref": "#/definitions/dto.ForBuckets" } } ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "Delete backup account", - "tags": [ - "Backup Account" - ], - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "backup_accounts", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "type", - "output_value": "types" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete backup account [types]", - "formatZH": "删除备份账号 [types]", - "paramKeys": [] - } - } - }, - "/core/backup/local": { - "get": { - "description": "获取本地备份目录", - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "get local backup dir", - "tags": [ - "Backup Account" - ] - } - }, - "/core/backup/onedrive": { - "get": { - "consumes": [ - "application/json" - ], - "description": "获取 OneDrive 信息", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.OneDriveInfo" - } - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "Load OneDrive info", - "tags": [ - "Backup Account" - ] - } - }, - "/core/backup/options": { - "get": { - "consumes": [ - "application/json" - ], - "description": "获取备份账号选项", "responses": { "200": { "description": "OK", "schema": { "items": { - "$ref": "#/definitions/dto.BackupOption" + "type": "string" }, "type": "array" } @@ -3986,39 +4438,49 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Load backup account options", + "summary": "List buckets", "tags": [ "Backup Account" ] } }, - "/core/backup/refresh/onedrive": { - "post": { - "description": "刷新 OneDrive token", + "/core/backups/client/:clientType": { + "get": { + "consumes": [ + "application/json" + ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.BackupClientInfo" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Refresh OneDrive token", + "summary": "Load backup account base info", "tags": [ "Backup Account" ] } }, - "/core/backup/search": { + "/core/backups/del": { "post": { "consumes": [ "application/json" ], - "description": "获取备份账号列表", "parameters": [ { "description": "request", @@ -4026,7 +4488,7 @@ const docTemplate = `{ "name": "request", "required": true, "schema": { - "$ref": "#/definitions/dto.SearchPageWithType" + "$ref": "#/definitions/dto.OperateByName" } } ], @@ -4038,20 +4500,66 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Search backup accounts with page", + "summary": "Delete backup account", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "delete backup account [name]", + "formatZH": "删除备份账号 [name]", + "paramKeys": [] + } + } + }, + "/core/backups/refresh/token": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByName" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Refresh token", "tags": [ "Backup Account" ] } }, - "/core/backup/update": { + "/core/backups/update": { "post": { "consumes": [ "application/json" ], - "description": "更新备份账号信息", "parameters": [ { "description": "request", @@ -4071,6 +4579,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update backup account", @@ -4093,7 +4604,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建快速命令", "parameters": [ { "description": "request", @@ -4113,6 +4623,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create command", @@ -4136,7 +4649,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取快速命令列表", "parameters": [ { "description": "request", @@ -4159,6 +4671,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List commands", @@ -4172,7 +4687,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除快速命令", "parameters": [ { "description": "request", @@ -4192,6 +4706,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete command", @@ -4223,7 +4740,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取快速命令列表分页", "parameters": [ { "description": "request", @@ -4246,6 +4762,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page commands", @@ -4259,7 +4778,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取快速命令树", "parameters": [ { "description": "request", @@ -4282,6 +4800,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Tree commands", @@ -4295,7 +4816,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新快速命令", "parameters": [ { "description": "request", @@ -4315,6 +4835,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update command", @@ -4337,7 +4860,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建系统组", "parameters": [ { "description": "request", @@ -4357,6 +4879,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -4380,7 +4905,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除系统组", "parameters": [ { "description": "request", @@ -4400,6 +4924,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete group", @@ -4439,7 +4966,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "查询系统组", "parameters": [ { "description": "request", @@ -4465,6 +4991,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List groups", @@ -4478,7 +5007,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新系统组", "parameters": [ { "description": "request", @@ -4498,6 +5026,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update group", @@ -4521,7 +5052,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建主机", "parameters": [ { "description": "request", @@ -4535,12 +5065,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.HostInfo" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create host", @@ -4564,7 +5100,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除主机", "parameters": [ { "description": "request", @@ -4584,6 +5119,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete host", @@ -4615,7 +5153,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取主机列表分页", "parameters": [ { "description": "request", @@ -4631,16 +5168,16 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "items": { - "$ref": "#/definitions/dto.HostTree" - }, - "type": "array" + "$ref": "#/definitions/dto.PageResult" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page host", @@ -4654,7 +5191,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "测试主机连接", "parameters": [ { "description": "request", @@ -4675,6 +5211,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Test host conn by host id", @@ -4688,7 +5227,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "测试主机连接", "parameters": [ { "description": "request", @@ -4702,12 +5240,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "boolean" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Test host conn by info", @@ -4721,7 +5265,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "加载主机树", "parameters": [ { "description": "request", @@ -4747,6 +5290,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load host tree", @@ -4760,7 +5306,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新主机", "parameters": [ { "description": "request", @@ -4780,6 +5325,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update host", @@ -4803,7 +5351,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "切换分组", "parameters": [ { "description": "request", @@ -4823,6 +5370,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update host group", @@ -4855,7 +5405,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "清空操作日志", "parameters": [ { "description": "request", @@ -4878,6 +5427,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean operation logs", @@ -4900,7 +5452,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取系统登录日志列表分页", "parameters": [ { "description": "request", @@ -4923,6 +5474,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page login logs", @@ -4936,7 +5490,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取系统操作日志列表分页", "parameters": [ { "description": "request", @@ -4959,6 +5512,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page operation logs", @@ -4972,7 +5528,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新系统监听信息", "parameters": [ { "description": "request", @@ -4992,6 +5547,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system bind info", @@ -5015,7 +5573,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "重置过期系统登录密码", "parameters": [ { "description": "request", @@ -5035,6 +5592,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Reset system password expired", @@ -5055,15 +5615,23 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取系统地址信息", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system address", @@ -5077,7 +5645,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "隐藏高级功能菜单", "parameters": [ { "description": "request", @@ -5097,6 +5664,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system setting", @@ -5117,7 +5687,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 mfa 信息", "parameters": [ { "description": "request", @@ -5140,6 +5709,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load mfa info", @@ -5153,7 +5725,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "Mfa 绑定", "parameters": [ { "description": "request", @@ -5173,6 +5744,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Bind mfa", @@ -5193,7 +5767,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新系统登录密码", "parameters": [ { "description": "request", @@ -5213,6 +5786,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system password", @@ -5233,7 +5809,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新系统端口", "parameters": [ { "description": "request", @@ -5253,6 +5828,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system port", @@ -5275,7 +5853,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "服务器代理配置", "parameters": [ { "description": "request", @@ -5295,6 +5872,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update proxy setting", @@ -5313,9 +5893,61 @@ const docTemplate = `{ } } }, + "/core/settings/rollback": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Upgrade", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "upgrade_logs", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "old_version", + "output_value": "version" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "rollback system =\u003e [version]", + "formatZH": "回滚系统 =\u003e [version]", + "paramKeys": [] + } + } + }, "/core/settings/search": { "post": { - "description": "加载系统配置信息", "responses": { "200": { "description": "OK", @@ -5327,6 +5959,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system setting info", @@ -5337,7 +5972,6 @@ const docTemplate = `{ }, "/core/settings/search/available": { "get": { - "description": "获取系统可用状态", "responses": { "200": { "description": "OK" @@ -5346,6 +5980,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system available status", @@ -5356,7 +5993,6 @@ const docTemplate = `{ }, "/core/settings/ssl/download": { "post": { - "description": "下载证书", "responses": { "200": { "description": "OK" @@ -5365,6 +6001,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Download system cert", @@ -5375,18 +6014,20 @@ const docTemplate = `{ }, "/core/settings/ssl/info": { "get": { - "description": "获取证书信息", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/dto.SettingInfo" + "$ref": "#/definitions/dto.SSLInfo" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system cert info", @@ -5400,7 +6041,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改系统 ssl 登录", "parameters": [ { "description": "request", @@ -5420,6 +6060,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system ssl", @@ -5439,7 +6082,6 @@ const docTemplate = `{ }, "/core/settings/terminal/search": { "post": { - "description": "加载系统终端配置信息", "responses": { "200": { "description": "OK", @@ -5451,6 +6093,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system terminal setting info", @@ -5464,7 +6109,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新系统终端配置", "parameters": [ { "description": "request", @@ -5484,6 +6128,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system terminal setting", @@ -5504,7 +6151,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新系统配置", "parameters": [ { "description": "request", @@ -5524,6 +6170,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system setting", @@ -5547,7 +6196,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取版本 release notes", "parameters": [ { "description": "request", @@ -5561,12 +6209,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load release notes by version", @@ -5578,7 +6232,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "系统更新", "parameters": [ { "description": "request", @@ -5598,6 +6251,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Upgrade", @@ -5620,7 +6276,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建计划任务", "parameters": [ { "description": "request", @@ -5640,6 +6295,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create cronjob", @@ -5663,7 +6321,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除计划任务", "parameters": [ { "description": "request", @@ -5683,6 +6340,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete cronjob", @@ -5714,7 +6374,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "下载计划任务记录", "parameters": [ { "description": "request", @@ -5734,6 +6393,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Download cronjob records", @@ -5765,7 +6427,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "手动执行计划任务", "parameters": [ { "description": "request", @@ -5785,6 +6446,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Handle cronjob once", @@ -5816,7 +6480,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "预览最近五次执行时间", "parameters": [ { "description": "request", @@ -5836,6 +6499,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load cronjob spec time", @@ -5849,7 +6515,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "清空计划任务记录", "parameters": [ { "description": "request", @@ -5869,6 +6534,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean job records", @@ -5900,7 +6568,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取计划任务记录日志", "parameters": [ { "description": "request", @@ -5914,12 +6581,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load Cronjob record log", @@ -5933,7 +6606,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取计划任务分页", "parameters": [ { "description": "request", @@ -5956,6 +6628,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page cronjobs", @@ -5969,7 +6644,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取计划任务记录", "parameters": [ { "description": "request", @@ -5992,6 +6666,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page job records", @@ -6005,7 +6682,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新计划任务状态", "parameters": [ { "description": "request", @@ -6025,6 +6701,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update cronjob status", @@ -6057,7 +6736,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新计划任务", "parameters": [ { "description": "request", @@ -6077,6 +6755,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update cronjob", @@ -6103,12 +6784,76 @@ const docTemplate = `{ } } }, + "/dashboard/app/launcher": { + "get": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "Array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Load app launcher", + "tags": [ + "Dashboard" + ] + } + }, + "/dashboard/app/launcher/option": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchByFilter" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "Array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Load app launcher options", + "tags": [ + "Dashboard" + ] + } + }, "/dashboard/base/:ioOption/:netOption": { "get": { "consumes": [ "application/json" ], - "description": "获取首页基础数据", "parameters": [ { "description": "request", @@ -6136,6 +6881,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load dashboard base info", @@ -6149,7 +6897,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取服务器基础数据", "responses": { "200": { "description": "OK", @@ -6161,6 +6908,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load os info", @@ -6174,7 +6924,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取首页实时数据", "parameters": [ { "description": "request", @@ -6202,6 +6951,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load dashboard current info", @@ -6212,7 +6964,6 @@ const docTemplate = `{ }, "/dashboard/current/node": { "get": { - "description": "获取节点实时数据", "responses": { "200": { "description": "OK", @@ -6224,6 +6975,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load dashboard current info for node", @@ -6237,7 +6991,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "重启服务器/面板", "parameters": [ { "description": "request", @@ -6255,6 +7008,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "System restart", @@ -6268,7 +7024,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建 mysql 数据库", "parameters": [ { "description": "request", @@ -6288,6 +7043,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create mysql database", @@ -6310,7 +7068,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "绑定 mysql 数据库用户", "parameters": [ { "description": "request", @@ -6330,6 +7087,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Bind user of mysql database", @@ -6353,7 +7113,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 mysql 访问权限", "parameters": [ { "description": "request", @@ -6373,6 +7132,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change mysql access", @@ -6404,7 +7166,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 mysql 密码", "parameters": [ { "description": "request", @@ -6424,6 +7185,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change mysql password", @@ -6455,7 +7219,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取数据库基础信息", "parameters": [ { "description": "request", @@ -6478,6 +7241,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load base info", @@ -6491,7 +7257,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取数据库配置文件", "parameters": [ { "description": "request", @@ -6505,12 +7270,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load Database conf", @@ -6524,7 +7295,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "上传替换配置文件", "parameters": [ { "description": "request", @@ -6544,6 +7314,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update conf by upload file", @@ -6567,7 +7340,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建远程数据库", "parameters": [ { "description": "request", @@ -6587,6 +7359,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create database", @@ -6607,7 +7382,6 @@ const docTemplate = `{ }, "/databases/db/:name": { "get": { - "description": "获取远程数据库", "responses": { "200": { "description": "OK", @@ -6619,6 +7393,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get databases", @@ -6632,7 +7409,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "检测远程数据库连接性", "parameters": [ { "description": "request", @@ -6646,12 +7422,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "boolean" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check database", @@ -6675,7 +7457,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除远程数据库", "parameters": [ { "description": "request", @@ -6695,6 +7476,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete database", @@ -6723,7 +7507,6 @@ const docTemplate = `{ }, "/databases/db/item/:type": { "get": { - "description": "获取数据库列表", "responses": { "200": { "description": "OK", @@ -6738,6 +7521,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List databases", @@ -6748,7 +7534,6 @@ const docTemplate = `{ }, "/databases/db/list/:type": { "get": { - "description": "获取远程数据库列表", "responses": { "200": { "description": "OK", @@ -6763,6 +7548,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List databases", @@ -6776,7 +7564,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取远程数据库列表分页", "parameters": [ { "description": "request", @@ -6799,6 +7586,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page databases", @@ -6812,7 +7602,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新远程数据库", "parameters": [ { "description": "request", @@ -6832,6 +7621,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update database", @@ -6854,7 +7646,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除 mysql 数据库", "parameters": [ { "description": "request", @@ -6874,6 +7665,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete mysql database", @@ -6905,7 +7699,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "Mysql 数据库删除前检查", "parameters": [ { "description": "request", @@ -6931,6 +7724,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check before delete mysql database", @@ -6944,7 +7740,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 mysql 数据库库描述信息", "parameters": [ { "description": "request", @@ -6964,6 +7759,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update mysql database description", @@ -6996,7 +7794,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "从服务器获取", "parameters": [ { "description": "request", @@ -7012,6 +7809,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load mysql database from remote", @@ -7025,7 +7825,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 mysql 数据库列表", "parameters": [ { "description": "request", @@ -7051,6 +7850,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List mysql database names", @@ -7064,7 +7866,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建 postgresql 数据库", "parameters": [ { "description": "request", @@ -7084,6 +7885,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create postgresql database", @@ -7106,7 +7910,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "从服务器获取", "parameters": [ { "description": "request", @@ -7122,6 +7925,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load postgresql database from remote", @@ -7135,7 +7941,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "绑定 postgresql 数据库用户", "parameters": [ { "description": "request", @@ -7155,6 +7960,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Bind postgresql user", @@ -7178,7 +7986,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除 postgresql 数据库", "parameters": [ { "description": "request", @@ -7198,6 +8005,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete postgresql database", @@ -7229,7 +8039,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "Postgresql 数据库删除前检查", "parameters": [ { "description": "request", @@ -7255,6 +8064,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check before delete postgresql database", @@ -7268,7 +8080,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 postgresql 数据库库描述信息", "parameters": [ { "description": "request", @@ -7288,6 +8099,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update postgresql database description", @@ -7320,7 +8134,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 postgresql 密码", "parameters": [ { "description": "request", @@ -7340,6 +8153,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change postgresql password", @@ -7371,7 +8187,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 postgresql 用户权限", "parameters": [ { "description": "request", @@ -7391,6 +8206,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change postgresql privileges", @@ -7414,7 +8232,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 postgresql 数据库列表分页", "parameters": [ { "description": "request", @@ -7437,6 +8254,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page postgresql databases", @@ -7450,7 +8270,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 redis 配置信息", "parameters": [ { "description": "request", @@ -7473,6 +8292,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load redis conf", @@ -7486,7 +8308,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 redis 配置信息", "parameters": [ { "description": "request", @@ -7506,6 +8327,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update redis conf", @@ -7523,7 +8347,6 @@ const docTemplate = `{ }, "/databases/redis/install/cli": { "post": { - "description": "安装 redis cli", "responses": { "200": { "description": "OK" @@ -7532,6 +8355,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Install redis-cli", @@ -7545,7 +8371,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 redis 密码", "parameters": [ { "description": "request", @@ -7565,6 +8390,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change redis password", @@ -7585,7 +8413,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 redis 持久化配置", "parameters": [ { "description": "request", @@ -7608,6 +8435,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load redis persistence conf", @@ -7621,7 +8451,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 redis 持久化配置", "parameters": [ { "description": "request", @@ -7641,6 +8470,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update redis persistence conf", @@ -7661,7 +8493,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 redis 状态信息", "parameters": [ { "description": "request", @@ -7684,6 +8515,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load redis status info", @@ -7697,7 +8531,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 mysql 远程访问权限", "parameters": [ { "description": "request", @@ -7720,6 +8553,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load mysql remote access", @@ -7733,7 +8569,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 mysql 数据库列表分页", "parameters": [ { "description": "request", @@ -7756,6 +8591,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page mysql databases", @@ -7769,7 +8607,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 mysql 状态信息", "parameters": [ { "description": "request", @@ -7792,6 +8629,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load mysql status info", @@ -7805,7 +8645,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 mysql 性能参数信息", "parameters": [ { "description": "request", @@ -7828,6 +8667,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load mysql variables info", @@ -7841,7 +8683,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "mysql 性能调优", "parameters": [ { "description": "request", @@ -7861,6 +8702,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update mysql variables", @@ -7881,7 +8725,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "Mysql 远程数据库删除前检查", "parameters": [ { "description": "request", @@ -7907,6 +8750,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check before delete remote database", @@ -7920,7 +8766,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建文件/文件夹", "parameters": [ { "description": "request", @@ -7940,6 +8785,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create file", @@ -7962,7 +8810,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "批量删除文件/文件夹", "parameters": [ { "description": "request", @@ -7982,6 +8829,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Batch delete file", @@ -8004,7 +8854,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "批量修改文件权限和用户/组", "parameters": [ { "description": "request", @@ -8024,6 +8873,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Batch change file mode and owner", @@ -8049,7 +8901,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "检测文件是否存在", "parameters": [ { "description": "request", @@ -8063,12 +8914,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "boolean" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check file exist", @@ -8082,7 +8939,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "分片下载下载文件", "parameters": [ { "description": "request", @@ -8102,6 +8958,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Chunk Download file", @@ -8121,7 +8980,6 @@ const docTemplate = `{ }, "/files/chunkupload": { "post": { - "description": "分片上传文件", "parameters": [ { "description": "request", @@ -8139,6 +8997,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "ChunkUpload file", @@ -8152,7 +9013,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "压缩文件", "parameters": [ { "description": "request", @@ -8172,6 +9032,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Compress file", @@ -8194,7 +9057,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取文件内容", "parameters": [ { "description": "request", @@ -8217,6 +9079,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load file content", @@ -8239,7 +9104,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "解压文件", "parameters": [ { "description": "request", @@ -8259,6 +9123,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Decompress file", @@ -8281,7 +9148,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除文件/文件夹", "parameters": [ { "description": "request", @@ -8301,6 +9167,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete file", @@ -8323,7 +9192,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "下载文件", "responses": { "200": { "description": "OK" @@ -8332,6 +9200,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Download file", @@ -8345,7 +9216,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建收藏", "parameters": [ { "description": "request", @@ -8359,12 +9229,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/model.Favorite" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create favorite", @@ -8387,7 +9263,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除收藏", "parameters": [ { "description": "request", @@ -8407,6 +9282,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete favorite", @@ -8438,7 +9316,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取收藏列表", "parameters": [ { "description": "request", @@ -8452,12 +9329,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List favorites", @@ -8471,7 +9354,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改文件权限", "parameters": [ { "description": "request", @@ -8491,6 +9373,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change file mode", @@ -8514,7 +9399,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "移动文件", "parameters": [ { "description": "request", @@ -8534,6 +9418,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Move file", @@ -8557,7 +9444,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改文件用户/组", "parameters": [ { "description": "request", @@ -8577,6 +9463,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change file owner", @@ -8598,7 +9487,6 @@ const docTemplate = `{ }, "/files/read": { "post": { - "description": "按行读取日志文件", "parameters": [ { "description": "request", @@ -8612,12 +9500,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileLineContent" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Read file by Line", @@ -8631,7 +9525,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "清空回收站文件", "responses": { "200": { "description": "OK" @@ -8640,6 +9533,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clear RecycleBin files", @@ -8660,7 +9556,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "还原回收站文件", "parameters": [ { "description": "request", @@ -8680,6 +9575,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Reduce RecycleBin files", @@ -8702,7 +9600,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取回收站文件列表", "parameters": [ { "description": "request", @@ -8716,12 +9613,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List RecycleBin files", @@ -8735,15 +9638,20 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取回收站状态", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get RecycleBin status", @@ -8757,7 +9665,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改文件名称", "parameters": [ { "description": "request", @@ -8777,6 +9684,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change file name", @@ -8800,7 +9710,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新文件内容", "parameters": [ { "description": "request", @@ -8820,6 +9729,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update file content", @@ -8842,7 +9754,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取文件列表", "parameters": [ { "description": "request", @@ -8865,6 +9776,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List files", @@ -8878,7 +9792,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取文件夹大小", "parameters": [ { "description": "request", @@ -8892,12 +9805,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.DirSizeRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load file size", @@ -8920,7 +9839,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "加载文件树", "parameters": [ { "description": "request", @@ -8946,6 +9864,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load files tree", @@ -8956,7 +9877,6 @@ const docTemplate = `{ }, "/files/upload": { "post": { - "description": "上传文件", "parameters": [ { "description": "request", @@ -8974,6 +9894,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Upload file", @@ -8996,7 +9919,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "分页获取上传文件", "parameters": [ { "description": "request", @@ -9012,16 +9934,16 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "items": { - "$ref": "#/definitions/response.FileInfo" - }, - "type": "array" + "$ref": "#/definitions/dto.PageResult" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page file", @@ -9035,7 +9957,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "下载远端文件", "parameters": [ { "description": "request", @@ -9049,12 +9970,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileWgetRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Wget file", @@ -9079,7 +10006,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "上传文件更新 SSH 配置", "parameters": [ { "description": "request", @@ -9099,6 +10025,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update host SSH setting by file", @@ -9116,15 +10045,20 @@ const docTemplate = `{ }, "/host/ssh/conf": { "get": { - "description": "获取 SSH 配置文件", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load host SSH conf", @@ -9138,7 +10072,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "生成 SSH 密钥", "parameters": [ { "description": "request", @@ -9158,6 +10091,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Generate host SSH secret", @@ -9178,7 +10114,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 SSH 登录日志", "parameters": [ { "description": "request", @@ -9201,6 +10136,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load host SSH logs", @@ -9214,7 +10152,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 SSH 服务状态", "parameters": [ { "description": "request", @@ -9226,10 +10163,17 @@ const docTemplate = `{ } } ], - "responses": {}, + "responses": { + "200": { + "description": "OK" + } + }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate SSH", @@ -9249,7 +10193,6 @@ const docTemplate = `{ }, "/host/ssh/search": { "post": { - "description": "加载 SSH 配置信息", "responses": { "200": { "description": "OK", @@ -9261,6 +10204,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load host SSH setting info", @@ -9274,7 +10220,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 SSH 密钥", "parameters": [ { "description": "request", @@ -9288,12 +10233,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load host SSH secret", @@ -9307,7 +10258,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 SSH 配置", "parameters": [ { "description": "request", @@ -9327,6 +10277,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update host SSH setting", @@ -9350,7 +10303,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取主机工具状态", "parameters": [ { "description": "request", @@ -9364,15 +10316,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.HostToolRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Get tool", + "summary": "Get tool status", "tags": [ "Host tool" ] @@ -9383,7 +10341,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作主机工具配置文件", "parameters": [ { "description": "request", @@ -9397,12 +10354,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.HostToolConfig" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get tool config", @@ -9425,7 +10388,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建主机工具配置", "parameters": [ { "description": "request", @@ -9445,6 +10407,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create Host tool Config", @@ -9467,7 +10432,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取主机工具日志", "parameters": [ { "description": "request", @@ -9481,15 +10445,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Get tool", + "summary": "Get tool logs", "tags": [ "Host tool" ] @@ -9500,7 +10470,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作主机工具", "parameters": [ { "description": "request", @@ -9520,6 +10489,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate tool", @@ -9543,15 +10515,20 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 Supervisor 进程配置", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.SupervisorProcessConfig" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get Supervisor process config", @@ -9563,7 +10540,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作守护进程", "parameters": [ { "description": "request", @@ -9583,6 +10559,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create Supervisor process", @@ -9605,7 +10584,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作 Supervisor 进程文件", "parameters": [ { "description": "request", @@ -9619,15 +10597,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Get Supervisor process config", + "summary": "Get Supervisor process config file", "tags": [ "Host tool" ], @@ -9644,7 +10628,6 @@ const docTemplate = `{ }, "/hosts/firewall/base": { "get": { - "description": "获取防火墙基础信息", "responses": { "200": { "description": "OK", @@ -9656,6 +10639,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load firewall base info", @@ -9669,7 +10655,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "批量删除防火墙规则", "parameters": [ { "description": "request", @@ -9689,6 +10674,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -9702,7 +10690,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新防火墙端口转发规则", "parameters": [ { "description": "request", @@ -9722,6 +10709,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -9744,7 +10734,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建防火墙 IP 规则", "parameters": [ { "description": "request", @@ -9764,6 +10753,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -9787,7 +10779,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改防火墙状态", "parameters": [ { "description": "request", @@ -9801,18 +10792,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } + "description": "OK" } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Page firewall status", + "summary": "Operate firewall", "tags": [ "Firewall" ], @@ -9832,7 +10823,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建防火墙端口规则", "parameters": [ { "description": "request", @@ -9852,6 +10842,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -9875,7 +10868,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取防火墙规则列表分页", "parameters": [ { "description": "request", @@ -9898,6 +10890,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page firewall rules", @@ -9911,7 +10906,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 ip 防火墙规则", "parameters": [ { "description": "request", @@ -9931,6 +10925,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -9944,7 +10941,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新防火墙描述", "parameters": [ { "description": "request", @@ -9964,6 +10960,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update rule description", @@ -9977,7 +10976,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新端口防火墙规则", "parameters": [ { "description": "request", @@ -9997,6 +10995,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -10007,7 +11008,6 @@ const docTemplate = `{ }, "/hosts/monitor/clean": { "post": { - "description": "清空监控数据", "responses": { "200": { "description": "OK" @@ -10016,6 +11016,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean monitor data", @@ -10033,7 +11036,6 @@ const docTemplate = `{ }, "/hosts/monitor/search": { "post": { - "description": "获取监控数据", "parameters": [ { "description": "request", @@ -10047,12 +11049,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.MonitorData" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load monitor data", @@ -10063,15 +11074,20 @@ const docTemplate = `{ }, "/hosts/monitor/setting": { "get": { - "description": "获取默认监控设置", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.MonitorSetting" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load monitor setting", @@ -10082,7 +11098,6 @@ const docTemplate = `{ }, "/hosts/monitor/setting/update": { "post": { - "description": "更新默认监控设置", "parameters": [ { "description": "request", @@ -10102,6 +11117,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update monitor setting", @@ -10125,15 +11143,23 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除运行环境校验", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AppResource" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete runtime", @@ -10144,15 +11170,20 @@ const docTemplate = `{ }, "/logs/system": { "post": { - "description": "获取系统日志", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system logs", @@ -10163,15 +11194,23 @@ const docTemplate = `{ }, "/logs/system/files": { "get": { - "description": "获取系统日志文件列表", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system log files", @@ -10180,12 +11219,35 @@ const docTemplate = `{ ] } }, + "/logs/tasks/executing/count": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "integer" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Get the number of executing tasks", + "tags": [ + "TaskLog" + ] + } + }, "/logs/tasks/search": { "post": { "consumes": [ "application/json" ], - "description": "获取任务日志列表", "parameters": [ { "description": "request", @@ -10208,6 +11270,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page task logs", @@ -10218,18 +11283,20 @@ const docTemplate = `{ }, "/openresty": { "get": { - "description": "获取 OpenResty 配置信息", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/response.FileInfo" + "$ref": "#/definitions/response.NginxFile" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load OpenResty conf", @@ -10243,7 +11310,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "构建 OpenResty", "parameters": [ { "description": "request", @@ -10263,6 +11329,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Build OpenResty", @@ -10278,38 +11347,11 @@ const docTemplate = `{ } } }, - "/openresty/clear": { - "post": { - "description": "清理 OpenResty 代理缓存", - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "Clear OpenResty proxy cache", - "tags": [ - "OpenResty" - ], - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Clear nginx proxy cache", - "formatZH": "清理 Openresty 代理缓存", - "paramKeys": [] - } - } - }, "/openresty/file": { "post": { "consumes": [ "application/json" ], - "description": "上传更新 OpenResty 配置文件", "parameters": [ { "description": "request", @@ -10329,6 +11371,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update OpenResty conf by upload file", @@ -10349,7 +11394,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 OpenResty 模块", "parameters": [ { "description": "request", @@ -10369,6 +11413,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update OpenResty module", @@ -10386,21 +11433,20 @@ const docTemplate = `{ }, "/openresty/modules": { "get": { - "description": "获取 OpenResty 模块", "responses": { "200": { "description": "OK", "schema": { - "items": { - "$ref": "#/definitions/response.NginxModule" - }, - "type": "array" + "$ref": "#/definitions/response.NginxBuildConfig" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get OpenResty modules", @@ -10414,7 +11460,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取部分 OpenResty 配置信息", "parameters": [ { "description": "request", @@ -10440,6 +11485,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load partial OpenResty conf", @@ -10450,7 +11498,6 @@ const docTemplate = `{ }, "/openresty/status": { "get": { - "description": "获取 OpenResty 状态信息", "responses": { "200": { "description": "OK", @@ -10462,6 +11509,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load OpenResty status info", @@ -10475,7 +11525,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 OpenResty 配置信息", "parameters": [ { "description": "request", @@ -10495,6 +11544,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update OpenResty conf", @@ -10523,7 +11575,6 @@ const docTemplate = `{ }, "/process/stop": { "post": { - "description": "停止进程", "parameters": [ { "description": "request", @@ -10543,6 +11594,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Stop Process", @@ -10565,7 +11619,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除备份记录", "parameters": [ { "description": "request", @@ -10585,6 +11638,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete backup record", @@ -10616,7 +11672,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建运行环境", "parameters": [ { "description": "request", @@ -10630,12 +11685,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/model.Runtime" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create runtime", @@ -10658,7 +11719,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取运行环境", "parameters": [ { "description": "request", @@ -10670,12 +11730,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.RuntimeDTO" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get runtime", @@ -10689,7 +11755,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除运行环境", "parameters": [ { "description": "request", @@ -10709,6 +11774,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete runtime", @@ -10720,8 +11788,8 @@ const docTemplate = `{ "bodyKeys": [ "id" ], - "formatEN": "Delete website [name]", - "formatZH": "删除网站 [name]", + "formatEN": "Delete runtime [name]", + "formatZH": "删除运行环境 [name]", "paramKeys": [] } } @@ -10731,7 +11799,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 Node 项目的 modules", "parameters": [ { "description": "request", @@ -10745,12 +11812,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.NodeModule" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get Node modules", @@ -10764,7 +11840,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作 Node 项目 modules", "parameters": [ { "description": "request", @@ -10784,6 +11859,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate Node modules", @@ -10797,7 +11875,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 Node 项目的 scripts", "parameters": [ { "description": "request", @@ -10811,12 +11888,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.PackageScripts" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get Node package scripts", @@ -10830,7 +11916,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作运行环境", "parameters": [ { "description": "request", @@ -10850,6 +11935,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate runtime", @@ -10872,7 +11960,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 PHP 运行环境扩展", "parameters": [ { "description": "request", @@ -10884,12 +11971,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.PHPExtensionRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get php runtime extension", @@ -10903,7 +11996,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新运行环境 PHP 配置", "parameters": [ { "description": "request", @@ -10923,6 +12015,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update runtime php conf", @@ -10954,7 +12049,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 php 运行环境配置", "parameters": [ { "description": "request", @@ -10975,6 +12069,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load php runtime conf", @@ -10988,7 +12085,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "Create Extensions", "parameters": [ { "description": "request", @@ -11008,6 +12104,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create Extensions", @@ -11021,7 +12120,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "Delete Extensions", "parameters": [ { "description": "request", @@ -11041,6 +12139,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete Extensions", @@ -11054,7 +12155,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "安装 PHP 扩展", "parameters": [ { "description": "request", @@ -11074,6 +12174,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Install php extension", @@ -11087,7 +12190,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "Page Extensions", "parameters": [ { "description": "request", @@ -11103,16 +12205,16 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "items": { - "$ref": "#/definitions/response.PHPExtensionsDTO" - }, - "type": "array" + "$ref": "#/definitions/dto.PageResult" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page Extensions", @@ -11126,7 +12228,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "卸载 PHP 扩展", "parameters": [ { "description": "request", @@ -11146,6 +12247,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "UnInstall php extension", @@ -11159,7 +12263,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "Update Extensions", "parameters": [ { "description": "request", @@ -11179,6 +12282,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update Extensions", @@ -11192,7 +12298,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 php 配置文件", "parameters": [ { "description": "request", @@ -11206,12 +12311,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileInfo" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get php conf file", @@ -11225,7 +12336,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 fpm 配置", "parameters": [ { "description": "request", @@ -11245,6 +12355,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update fpm config", @@ -11258,7 +12371,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 fpm 配置", "parameters": [ { "description": "request", @@ -11279,6 +12391,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get fpm config", @@ -11292,7 +12407,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 php 配置文件", "parameters": [ { "description": "request", @@ -11312,6 +12426,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update php conf file", @@ -11343,7 +12460,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取运行环境列表", "parameters": [ { "description": "request", @@ -11357,12 +12473,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List runtimes", @@ -11376,7 +12498,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 supervisor 进程", "parameters": [ { "description": "request", @@ -11390,13 +12511,19 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/response.SupervisorProcessConfig" + "items": { + "$ref": "#/definitions/response.SupervisorProcessConfig" + }, + "type": "array" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get supervisor process", @@ -11410,7 +12537,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作 supervisor 进程文件", "parameters": [ { "description": "request", @@ -11424,12 +12550,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate supervisor process file", @@ -11443,7 +12575,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作 supervisor 进程", "parameters": [ { "description": "request", @@ -11463,6 +12594,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate supervisor process", @@ -11476,7 +12610,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "同步运行环境状态", "responses": { "200": { "description": "OK" @@ -11498,7 +12631,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新运行环境", "parameters": [ { "description": "request", @@ -11518,6 +12650,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update runtime", @@ -11535,9 +12670,11 @@ const docTemplate = `{ } } }, - "/settings/basedir": { - "get": { - "description": "获取安装根目录", + "/settings/api/config/generate/key": { + "post": { + "consumes": [ + "application/json" + ], "responses": { "200": { "description": "OK", @@ -11549,6 +12686,84 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "generate api key", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "generate api key", + "formatZH": "生成 API 接口密钥", + "paramKeys": [] + } + } + }, + "/settings/api/config/update": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ApiInterfaceConfig" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Update api config", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "ipWhiteList" + ], + "formatEN": "update api config =\u003e IP White List: [ipWhiteList]", + "formatZH": "更新 API 接口配置 =\u003e IP 白名单: [ipWhiteList]", + "paramKeys": [] + } + } + }, + "/settings/basedir": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load local backup dir", @@ -11559,7 +12774,6 @@ const docTemplate = `{ }, "/settings/search": { "post": { - "description": "加载系统配置信息", "responses": { "200": { "description": "OK", @@ -11571,6 +12785,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system setting info", @@ -11581,7 +12798,6 @@ const docTemplate = `{ }, "/settings/search/available": { "get": { - "description": "获取系统可用状态", "responses": { "200": { "description": "OK" @@ -11590,6 +12806,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system available status", @@ -11603,7 +12822,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建系统快照", "parameters": [ { "description": "request", @@ -11623,6 +12841,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create system snapshot", @@ -11646,7 +12867,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除系统快照", "parameters": [ { "description": "request", @@ -11666,6 +12886,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete system backup", @@ -11697,7 +12920,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新快照描述信息", "parameters": [ { "description": "request", @@ -11717,6 +12939,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update snapshot description", @@ -11749,7 +12974,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "导入已有快照", "parameters": [ { "description": "request", @@ -11769,6 +12993,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Import system snapshot", @@ -11789,15 +13016,20 @@ const docTemplate = `{ }, "/settings/snapshot/load": { "get": { - "description": "获取系统快照数据", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SnapshotData" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system snapshot data", @@ -11811,7 +13043,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "从系统快照恢复", "parameters": [ { "description": "request", @@ -11831,6 +13062,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Recover system backup", @@ -11862,7 +13096,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建系统快照重试", "parameters": [ { "description": "request", @@ -11882,6 +13115,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Recreate system snapshot", @@ -11913,7 +13149,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "从系统快照回滚", "parameters": [ { "description": "request", @@ -11933,6 +13168,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Rollback system backup", @@ -11964,7 +13202,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取系统快照列表分页", "parameters": [ { "description": "request", @@ -11972,7 +13209,7 @@ const docTemplate = `{ "name": "request", "required": true, "schema": { - "$ref": "#/definitions/dto.SearchWithPage" + "$ref": "#/definitions/dto.PageSnapshot" } } ], @@ -11987,6 +13224,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page system snapshot", @@ -11995,45 +13235,11 @@ const docTemplate = `{ ] } }, - "/settings/snapshot/size": { - "post": { - "consumes": [ - "application/json" - ], - "description": "获取系统快照文件大小", - "parameters": [ - { - "description": "request", - "in": "body", - "name": "request", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "Load system snapshot size", - "tags": [ - "System Setting" - ] - } - }, "/settings/update": { "post": { "consumes": [ "application/json" ], - "description": "更新系统配置", "parameters": [ { "description": "request", @@ -12053,6 +13259,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system setting", @@ -12076,7 +13285,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建扫描规则", "parameters": [ { "description": "request", @@ -12096,6 +13304,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create clam", @@ -12119,7 +13330,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 Clam 基础信息", "responses": { "200": { "description": "OK", @@ -12131,6 +13341,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load clam base info", @@ -12144,7 +13357,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除扫描规则", "parameters": [ { "description": "request", @@ -12164,6 +13376,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete clam", @@ -12195,7 +13410,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取扫描文件", "parameters": [ { "description": "request", @@ -12211,13 +13425,16 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/dto.PageResult" + "type": "string" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load clam file", @@ -12231,7 +13448,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新病毒扫描配置文件", "parameters": [ { "description": "request", @@ -12251,6 +13467,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update clam file", @@ -12264,7 +13483,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "执行病毒扫描", "parameters": [ { "description": "request", @@ -12284,6 +13502,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Handle clam scan", @@ -12315,7 +13536,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 Clam 状态", "parameters": [ { "description": "request", @@ -12327,10 +13547,17 @@ const docTemplate = `{ } } ], - "responses": {}, + "responses": { + "200": { + "description": "OK" + } + }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate Clam", @@ -12353,7 +13580,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "清空扫描报告", "parameters": [ { "description": "request", @@ -12365,10 +13591,17 @@ const docTemplate = `{ } } ], - "responses": {}, + "responses": { + "200": { + "description": "OK" + } + }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean clam record", @@ -12400,7 +13633,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取扫描结果详情", "parameters": [ { "description": "request", @@ -12414,12 +13646,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load clam record detail", @@ -12433,7 +13671,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取扫描结果列表分页", "parameters": [ { "description": "request", @@ -12456,6 +13693,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page clam record", @@ -12469,7 +13709,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取扫描规则列表分页", "parameters": [ { "description": "request", @@ -12492,6 +13731,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page clam", @@ -12505,7 +13747,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改扫描规则状态", "parameters": [ { "description": "request", @@ -12525,6 +13766,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update clam status", @@ -12557,7 +13801,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改扫描规则", "parameters": [ { "description": "request", @@ -12577,6 +13820,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update clam", @@ -12600,7 +13846,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "清理系统垃圾文件", "parameters": [ { "description": "request", @@ -12623,6 +13868,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean system", @@ -12640,7 +13888,6 @@ const docTemplate = `{ }, "/toolbox/device/base": { "post": { - "description": "获取设备基础信息", "responses": { "200": { "description": "OK", @@ -12652,6 +13899,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load device base info", @@ -12665,7 +13915,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "检查系统 DNS 配置可用性", "parameters": [ { "description": "request", @@ -12679,12 +13928,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "boolean" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check device DNS conf", @@ -12698,7 +13953,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取系统配置文件", "parameters": [ { "description": "request", @@ -12712,12 +13966,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "load conf", @@ -12731,7 +13994,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过文件修改配置", "parameters": [ { "description": "request", @@ -12751,6 +14013,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update device conf by file", @@ -12764,7 +14029,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改系统参数", "parameters": [ { "description": "request", @@ -12784,6 +14048,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update device", @@ -12804,7 +14071,6 @@ const docTemplate = `{ }, "/toolbox/device/update/host": { "post": { - "description": "修改系统 hosts", "responses": { "200": { "description": "OK" @@ -12813,6 +14079,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update device hosts", @@ -12836,7 +14105,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改系统密码", "parameters": [ { "description": "request", @@ -12856,6 +14124,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update device passwd", @@ -12869,7 +14140,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改系统 Swap", "parameters": [ { "description": "request", @@ -12889,6 +14159,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update device swap", @@ -12909,7 +14182,6 @@ const docTemplate = `{ }, "/toolbox/device/users": { "get": { - "description": "获取服务器用户列表", "responses": { "200": { "description": "OK" @@ -12918,6 +14190,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load user list", @@ -12931,7 +14206,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取系统可用时区选项", "responses": { "200": { "description": "OK", @@ -12943,6 +14217,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "list time zone options", @@ -12953,7 +14230,6 @@ const docTemplate = `{ }, "/toolbox/fail2ban/base": { "get": { - "description": "获取 Fail2ban 基础信息", "responses": { "200": { "description": "OK", @@ -12965,6 +14241,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load fail2ban base info", @@ -12978,15 +14257,20 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 fail2ban 配置文件", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load fail2ban conf", @@ -13000,7 +14284,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 Fail2ban 状态", "parameters": [ { "description": "request", @@ -13016,6 +14299,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate fail2ban", @@ -13038,7 +14324,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "配置 sshd", "parameters": [ { "description": "request", @@ -13054,6 +14339,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate sshd of fail2ban", @@ -13067,7 +14355,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 Fail2ban ip", "parameters": [ { "description": "request", @@ -13090,6 +14377,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page fail2ban ip list", @@ -13103,7 +14393,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 Fail2ban 配置", "parameters": [ { "description": "request", @@ -13123,6 +14412,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update fail2ban conf", @@ -13146,7 +14438,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过文件修改 fail2ban 配置", "parameters": [ { "description": "request", @@ -13166,6 +14457,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update fail2ban conf by file", @@ -13179,7 +14473,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建 FTP 账户", "parameters": [ { "description": "request", @@ -13199,6 +14492,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create FTP user", @@ -13219,7 +14515,6 @@ const docTemplate = `{ }, "/toolbox/ftp/base": { "get": { - "description": "获取 FTP 基础信息", "responses": { "200": { "description": "OK", @@ -13231,6 +14526,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load FTP base info", @@ -13244,7 +14542,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除 FTP 账户", "parameters": [ { "description": "request", @@ -13264,6 +14561,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete FTP user", @@ -13295,7 +14595,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 FTP 操作日志", "parameters": [ { "description": "request", @@ -13318,6 +14617,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load FTP operation log", @@ -13331,7 +14633,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 FTP 状态", "parameters": [ { "description": "request", @@ -13347,6 +14648,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate FTP", @@ -13369,7 +14673,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 FTP 账户列表分页", "parameters": [ { "description": "request", @@ -13392,6 +14695,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page FTP user", @@ -13405,7 +14711,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "同步 FTP 账户", "parameters": [ { "description": "request", @@ -13425,6 +14730,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Sync FTP user", @@ -13445,7 +14753,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改 FTP 账户", "parameters": [ { "description": "request", @@ -13465,6 +14772,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update FTP user", @@ -13485,15 +14795,20 @@ const docTemplate = `{ }, "/toolbox/scan": { "post": { - "description": "扫描系统垃圾文件", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.CleanData" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Scan system", @@ -13514,7 +14829,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建网站", "parameters": [ { "description": "request", @@ -13534,6 +14848,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website", @@ -13556,7 +14873,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过 id 查询网站", "parameters": [ { "description": "request", @@ -13577,6 +14893,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search website by id", @@ -13590,7 +14909,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过 id 查询网站 nginx", "parameters": [ { "description": "request", @@ -13611,6 +14929,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search website nginx by id", @@ -13624,7 +14945,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 https 配置", "parameters": [ { "description": "request", @@ -13645,6 +14965,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load https conf", @@ -13656,7 +14979,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 https 配置", "parameters": [ { "description": "request", @@ -13679,6 +15001,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update https conf", @@ -13710,7 +15035,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建网站 acme", "parameters": [ { "description": "request", @@ -13733,6 +15057,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website acme account", @@ -13755,7 +15082,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除网站 acme", "parameters": [ { "description": "request", @@ -13775,6 +15101,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website acme account", @@ -13806,7 +15135,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取网站 acme 列表分页", "parameters": [ { "description": "request", @@ -13829,6 +15157,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page website acme accounts", @@ -13842,7 +15173,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取密码访问配置", "parameters": [ { "description": "request", @@ -13856,12 +15186,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.NginxAuthRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get AuthBasic conf", @@ -13875,7 +15211,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取路由密码访问配置", "parameters": [ { "description": "request", @@ -13889,12 +15224,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.NginxPathAuthRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get AuthBasic conf", @@ -13908,7 +15249,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新路由密码访问配置", "parameters": [ { "description": "request", @@ -13928,6 +15268,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get AuthBasic conf", @@ -13941,7 +15284,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新密码访问配置", "parameters": [ { "description": "request", @@ -13961,6 +15303,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get AuthBasic conf", @@ -13974,7 +15319,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建网站 ca", "parameters": [ { "description": "request", @@ -13997,6 +15341,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website ca", @@ -14019,7 +15366,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除网站 ca", "parameters": [ { "description": "request", @@ -14039,6 +15385,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website ca", @@ -14070,7 +15419,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "下载 CA 证书文件", "parameters": [ { "description": "request", @@ -14090,6 +15438,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Download CA file", @@ -14121,7 +15472,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "自签 SSL 证书", "parameters": [ { "description": "request", @@ -14141,6 +15491,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Obtain SSL", @@ -14172,7 +15525,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "续签 SSL 证书", "parameters": [ { "description": "request", @@ -14192,6 +15544,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Obtain SSL", @@ -14223,7 +15578,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取网站 ca 列表分页", "parameters": [ { "description": "request", @@ -14246,6 +15600,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page website ca", @@ -14259,7 +15616,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取网站 ca", "parameters": [ { "description": "id", @@ -14280,6 +15636,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get website ca", @@ -14293,7 +15652,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "网站创建前检查", "parameters": [ { "description": "request", @@ -14319,6 +15677,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check before create website", @@ -14332,7 +15693,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取 nginx 配置", "parameters": [ { "description": "request", @@ -14355,6 +15715,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load nginx conf", @@ -14368,7 +15731,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 nginx 配置", "parameters": [ { "description": "request", @@ -14388,6 +15750,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update nginx conf", @@ -14419,7 +15784,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取数据库列表", "responses": { "200": { "description": "OK", @@ -14431,6 +15795,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get databases", @@ -14442,7 +15809,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "切换网站数据库", "parameters": [ { "description": "request", @@ -14462,6 +15828,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change website database", @@ -14475,18 +15844,20 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取默认 html", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/response.FileInfo" + "$ref": "#/definitions/response.WebsiteHtmlRes" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get default html", @@ -14500,7 +15871,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新默认 html", "parameters": [ { "description": "request", @@ -14520,6 +15890,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update default html", @@ -14542,7 +15915,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作网站日志", "parameters": [ { "description": "request", @@ -14562,6 +15934,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change default server", @@ -14594,7 +15969,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除网站", "parameters": [ { "description": "request", @@ -14614,6 +15988,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website", @@ -14645,7 +16022,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取网站目录配置", "parameters": [ { "description": "request", @@ -14659,12 +16035,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteDirConfig" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get website dir", @@ -14678,7 +16060,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新网站目录权限", "parameters": [ { "description": "request", @@ -14698,6 +16079,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update Site Dir permission", @@ -14729,7 +16113,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新网站目录", "parameters": [ { "description": "request", @@ -14749,6 +16132,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update Site Dir", @@ -14780,7 +16166,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建网站 dns", "parameters": [ { "description": "request", @@ -14800,6 +16185,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website dns account", @@ -14822,7 +16210,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除网站 dns", "parameters": [ { "description": "request", @@ -14842,6 +16229,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website dns account", @@ -14873,7 +16263,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取网站 dns 列表分页", "parameters": [ { "description": "request", @@ -14896,6 +16285,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page website dns accounts", @@ -14909,7 +16301,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新网站 dns", "parameters": [ { "description": "request", @@ -14929,6 +16320,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website dns account", @@ -14951,7 +16345,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建网站域名", "parameters": [ { "description": "request", @@ -14974,6 +16367,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website domain", @@ -14996,7 +16392,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过网站 id 查询域名", "parameters": [ { "description": "request", @@ -15020,6 +16415,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search website domains by websiteId", @@ -15033,7 +16431,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除网站域名", "parameters": [ { "description": "request", @@ -15053,6 +16450,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website domain", @@ -15084,7 +16484,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新网站域名", "parameters": [ { "description": "request", @@ -15104,6 +16503,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website domain", @@ -15135,7 +16537,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取网站 upstreams", "parameters": [ { "description": "request", @@ -15149,12 +16550,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.NginxUpstream" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get website upstreams", @@ -15168,7 +16578,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建网站 upstream", "parameters": [ { "description": "request", @@ -15188,6 +16597,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website upstream", @@ -15201,7 +16613,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除网站 upstream", "parameters": [ { "description": "request", @@ -15221,6 +16632,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website upstream", @@ -15234,7 +16648,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新网站 upstream 文件", "parameters": [ { "description": "request", @@ -15254,6 +16667,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website upstream file", @@ -15267,7 +16683,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新网站 upstream", "parameters": [ { "description": "request", @@ -15287,6 +16702,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website upstream", @@ -15300,7 +16718,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取防盗链配置", "parameters": [ { "description": "request", @@ -15314,12 +16731,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.NginxAntiLeechRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get AntiLeech conf", @@ -15333,7 +16756,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新防盗链配置", "parameters": [ { "description": "request", @@ -15353,6 +16775,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update AntiLeech", @@ -15363,7 +16788,6 @@ const docTemplate = `{ }, "/websites/list": { "get": { - "description": "获取网站列表", "responses": { "200": { "description": "OK", @@ -15378,6 +16802,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List websites", @@ -15391,7 +16818,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作网站日志", "parameters": [ { "description": "request", @@ -15414,6 +16840,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate website log", @@ -15446,7 +16875,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 网站 nginx 配置", "parameters": [ { "description": "request", @@ -15466,6 +16894,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website nginx conf", @@ -15497,7 +16928,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "操作网站", "parameters": [ { "description": "request", @@ -15517,6 +16947,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate website", @@ -15546,13 +16979,12 @@ const docTemplate = `{ }, "/websites/options": { "post": { - "description": "获取网站列表", "responses": { "200": { "description": "OK", "schema": { "items": { - "type": "string" + "$ref": "#/definitions/response.WebsiteOption" }, "type": "array" } @@ -15561,6 +16993,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List website names", @@ -15574,7 +17009,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "变更 php 版本", "parameters": [ { "description": "request", @@ -15594,6 +17028,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update php version", @@ -15625,7 +17062,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取反向代理配置", "parameters": [ { "description": "request", @@ -15639,12 +17075,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/request.WebsiteProxyConfig" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get proxy conf", @@ -15658,7 +17103,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改反向代理配置", "parameters": [ { "description": "request", @@ -15678,6 +17122,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update proxy conf", @@ -15704,12 +17151,39 @@ const docTemplate = `{ } } }, + "/websites/proxy/clear": { + "post": { + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Clear Website proxy cache", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Clear nginx proxy cache", + "formatZH": "清理 Openresty 代理缓存", + "paramKeys": [] + } + } + }, "/websites/proxy/config": { "post": { "consumes": [ "application/json" ], - "description": "更新网站反代缓存配置", "parameters": [ { "description": "request", @@ -15729,6 +17203,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "update website proxy cache config", @@ -15742,7 +17219,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取网站反代缓存配置", "parameters": [ { "description": "id", @@ -15763,6 +17239,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get website proxy cache config" @@ -15773,7 +17252,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新反向代理文件", "parameters": [ { "description": "request", @@ -15793,6 +17271,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update proxy file", @@ -15824,7 +17305,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "设置真实IP", "parameters": [ { "description": "request", @@ -15844,6 +17324,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Set Real IP", @@ -15875,7 +17358,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取真实 IP 配置", "parameters": [ { "description": "id", @@ -15896,6 +17378,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get Real IP Config", @@ -15909,7 +17394,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取重定向配置", "parameters": [ { "description": "request", @@ -15923,12 +17407,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.NginxRedirectConfig" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get redirect conf", @@ -15942,7 +17435,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新重定向文件", "parameters": [ { "description": "request", @@ -15962,6 +17454,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update redirect file", @@ -15993,7 +17488,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "修改重定向配置", "parameters": [ { "description": "request", @@ -16013,6 +17507,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update redirect conf", @@ -16044,7 +17541,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取网站资源", "parameters": [ { "description": "id", @@ -16065,6 +17561,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get website resource", @@ -16078,7 +17577,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取伪静态配置", "parameters": [ { "description": "request", @@ -16092,12 +17590,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.NginxRewriteRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get rewrite conf", @@ -16111,7 +17615,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取自定义重写模版列表", "responses": { "200": { "description": "OK", @@ -16126,6 +17629,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List custom rewrite", @@ -16137,7 +17643,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "编辑自定义重写模版", "parameters": [ { "description": "request", @@ -16157,6 +17662,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate custom rewrite", @@ -16170,7 +17678,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新伪静态配置", "parameters": [ { "description": "request", @@ -16190,6 +17697,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update rewrite conf", @@ -16221,7 +17731,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取网站列表分页", "parameters": [ { "description": "request", @@ -16244,6 +17753,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page websites", @@ -16257,7 +17769,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "创建网站 ssl", "parameters": [ { "description": "request", @@ -16280,6 +17791,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website ssl", @@ -16302,7 +17816,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过 id 查询 ssl", "parameters": [ { "description": "request", @@ -16314,12 +17827,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteSSLDTO" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search website ssl by id", @@ -16333,7 +17852,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "删除网站 ssl", "parameters": [ { "description": "request", @@ -16353,6 +17871,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website ssl", @@ -16384,7 +17905,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "下载证书文件", "parameters": [ { "description": "request", @@ -16404,6 +17924,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Download SSL file", @@ -16435,7 +17958,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "申请证书", "parameters": [ { "description": "request", @@ -16455,6 +17977,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Apply ssl", @@ -16486,7 +18011,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "解析网站 ssl", "parameters": [ { "description": "request", @@ -16512,6 +18036,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Resolve website ssl", @@ -16525,7 +18052,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "获取网站 ssl 列表分页", "parameters": [ { "description": "request", @@ -16539,12 +18065,21 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.WebsiteSSLDTO" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page website ssl", @@ -16558,7 +18093,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新 ssl", "parameters": [ { "description": "request", @@ -16578,6 +18112,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update ssl", @@ -16609,7 +18146,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "上传 ssl", "parameters": [ { "description": "request", @@ -16629,6 +18165,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Upload ssl", @@ -16651,7 +18190,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "通过网站 id 查询 ssl", "parameters": [ { "description": "request", @@ -16663,12 +18201,18 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteSSLDTO" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search website ssl by website id", @@ -16682,7 +18226,6 @@ const docTemplate = `{ "consumes": [ "application/json" ], - "description": "更新网站", "parameters": [ { "description": "request", @@ -16702,6 +18245,9 @@ const docTemplate = `{ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website", @@ -16762,6 +18308,50 @@ const docTemplate = `{ }, "type": "object" }, + "dto.AppConfigVersion": { + "properties": { + "additionalProperties": {}, + "downloadCallBackUrl": { + "type": "string" + }, + "downloadUrl": { + "type": "string" + }, + "lastModified": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "dto.AppDefine": { + "properties": { + "additionalProperties": { + "$ref": "#/definitions/dto.AppProperty" + }, + "icon": { + "type": "string" + }, + "lastModified": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "readMe": { + "type": "string" + }, + "versions": { + "items": { + "$ref": "#/definitions/dto.AppConfigVersion" + }, + "type": "array" + } + }, + "type": "object" + }, "dto.AppInstallInfo": { "properties": { "id": { @@ -16776,6 +18366,100 @@ const docTemplate = `{ }, "type": "object" }, + "dto.AppList": { + "properties": { + "additionalProperties": { + "$ref": "#/definitions/dto.ExtraProperties" + }, + "apps": { + "items": { + "$ref": "#/definitions/dto.AppDefine" + }, + "type": "array" + }, + "lastModified": { + "type": "integer" + }, + "valid": { + "type": "boolean" + }, + "violations": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "dto.AppProperty": { + "properties": { + "Required": { + "items": { + "type": "string" + }, + "type": "array" + }, + "architectures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "crossVersionUpdate": { + "type": "boolean" + }, + "description": { + "$ref": "#/definitions/dto.Locale" + }, + "document": { + "type": "string" + }, + "github": { + "type": "string" + }, + "gpuSupport": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "limit": { + "type": "integer" + }, + "memoryRequired": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "recommend": { + "type": "integer" + }, + "shortDescEn": { + "type": "string" + }, + "shortDescZh": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "version": { + "type": "number" + }, + "website": { + "type": "string" + } + }, + "type": "object" + }, "dto.AppResource": { "properties": { "name": { @@ -16801,6 +18485,62 @@ const docTemplate = `{ }, "type": "object" }, + "dto.BackupOperate": { + "properties": { + "accessKey": { + "type": "string" + }, + "backupPath": { + "type": "string" + }, + "bucket": { + "type": "string" + }, + "credential": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "isPublic": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "rememberAuth": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "vars": { + "type": "string" + } + }, + "required": [ + "type", + "vars" + ], + "type": "object" + }, + "dto.BackupOption": { + "properties": { + "id": { + "type": "integer" + }, + "isPublic": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, "dto.BatchDelete": { "properties": { "force": { @@ -16961,6 +18701,12 @@ const docTemplate = `{ }, "dto.ClamCreate": { "properties": { + "alertCount": { + "type": "integer" + }, + "alertTitle": { + "type": "string" + }, "description": { "type": "string" }, @@ -17059,6 +18805,12 @@ const docTemplate = `{ }, "dto.ClamUpdate": { "properties": { + "alertCount": { + "type": "integer" + }, + "alertTitle": { + "type": "string" + }, "description": { "type": "string" }, @@ -17108,11 +18860,81 @@ const docTemplate = `{ }, "type": "object" }, + "dto.CleanData": { + "properties": { + "containerClean": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + }, + "downloadClean": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + }, + "systemClean": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + }, + "systemLogClean": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + }, + "uploadClean": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + } + }, + "type": "object" + }, + "dto.CleanTree": { + "properties": { + "children": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "isCheck": { + "type": "boolean" + }, + "isRecommend": { + "type": "boolean" + }, + "label": { + "type": "string" + }, + "name": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, "dto.CommonBackup": { "properties": { "detailName": { "type": "string" }, + "fileName": { + "type": "string" + }, "name": { "type": "string" }, @@ -17182,6 +19004,12 @@ const docTemplate = `{ }, "dto.ComposeCreate": { "properties": { + "env": { + "items": { + "type": "string" + }, + "type": "array" + }, "file": { "type": "string" }, @@ -17218,9 +19046,11 @@ const docTemplate = `{ }, "operation": { "enum": [ + "up", "start", "stop", - "down" + "down", + "delete" ], "type": "string" }, @@ -17233,8 +19063,7 @@ const docTemplate = `{ }, "required": [ "name", - "operation", - "path" + "operation" ], "type": "object" }, @@ -17294,6 +19123,12 @@ const docTemplate = `{ "content": { "type": "string" }, + "env": { + "items": { + "type": "string" + }, + "type": "array" + }, "name": { "type": "string" }, @@ -17504,6 +19339,7 @@ const docTemplate = `{ }, "operation": { "enum": [ + "up", "start", "stop", "restart", @@ -17597,6 +19433,59 @@ const docTemplate = `{ }, "type": "object" }, + "dto.ContainerStatus": { + "properties": { + "all": { + "type": "integer" + }, + "composeCount": { + "type": "integer" + }, + "composeTemplateCount": { + "type": "integer" + }, + "containerCount": { + "type": "integer" + }, + "created": { + "type": "integer" + }, + "dead": { + "type": "integer" + }, + "exited": { + "type": "integer" + }, + "imageCount": { + "type": "integer" + }, + "imageSize": { + "type": "integer" + }, + "networkCount": { + "type": "integer" + }, + "paused": { + "type": "integer" + }, + "removing": { + "type": "integer" + }, + "repoCount": { + "type": "integer" + }, + "restarting": { + "type": "integer" + }, + "running": { + "type": "integer" + }, + "volumeCount": { + "type": "integer" + } + }, + "type": "object" + }, "dto.ContainerUpgrade": { "properties": { "forcePull": { @@ -17651,6 +19540,12 @@ const docTemplate = `{ }, "dto.CronjobCreate": { "properties": { + "alertCount": { + "type": "integer" + }, + "alertTitle": { + "type": "string" + }, "appID": { "type": "string" }, @@ -17754,6 +19649,12 @@ const docTemplate = `{ }, "dto.CronjobUpdate": { "properties": { + "alertCount": { + "type": "integer" + }, + "alertTitle": { + "type": "string" + }, "appID": { "type": "string" }, @@ -17812,6 +19713,9 @@ const docTemplate = `{ "specCustom": { "type": "boolean" }, + "type": { + "type": "string" + }, "url": { "type": "string" }, @@ -17825,7 +19729,8 @@ const docTemplate = `{ "required": [ "id", "name", - "spec" + "spec", + "type" ], "type": "object" }, @@ -17908,6 +19813,12 @@ const docTemplate = `{ "ipv6": { "type": "boolean" }, + "isActive": { + "type": "boolean" + }, + "isExist": { + "type": "boolean" + }, "isSwarm": { "type": "boolean" }, @@ -17926,9 +19837,6 @@ const docTemplate = `{ }, "type": "array" }, - "status": { - "type": "string" - }, "version": { "type": "string" } @@ -17969,6 +19877,9 @@ const docTemplate = `{ "hostname": { "type": "string" }, + "ipV4Addr": { + "type": "string" + }, "kernelArch": { "type": "string" }, @@ -17987,6 +19898,9 @@ const docTemplate = `{ "platformVersion": { "type": "string" }, + "systemProxy": { + "type": "string" + }, "virtualizationSystem": { "type": "string" }, @@ -18093,6 +20007,12 @@ const docTemplate = `{ }, "uptime": { "type": "integer" + }, + "xpuData": { + "items": { + "$ref": "#/definitions/dto.XPUInfo" + }, + "type": "array" } }, "type": "object" @@ -18321,7 +20241,7 @@ const docTemplate = `{ "orderBy": { "enum": [ "name", - "created_at" + "createdAt" ], "type": "string" }, @@ -18515,6 +20435,20 @@ const docTemplate = `{ ], "type": "object" }, + "dto.ExtraProperties": { + "properties": { + "tags": { + "items": { + "$ref": "#/definitions/dto.Tag" + }, + "type": "array" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, "dto.Fail2BanBaseInfo": { "properties": { "banAction": { @@ -18590,15 +20524,18 @@ const docTemplate = `{ }, "dto.FirewallBaseInfo": { "properties": { + "isActive": { + "type": "boolean" + }, + "isExist": { + "type": "boolean" + }, "name": { "type": "string" }, "pingStatus": { "type": "string" }, - "status": { - "type": "string" - }, "version": { "type": "string" } @@ -18623,6 +20560,28 @@ const docTemplate = `{ ], "type": "object" }, + "dto.ForBuckets": { + "properties": { + "accessKey": { + "type": "string" + }, + "credential": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vars": { + "type": "string" + } + }, + "required": [ + "credential", + "type", + "vars" + ], + "type": "object" + }, "dto.ForwardRuleOperate": { "properties": { "rules": { @@ -19039,6 +20998,32 @@ const docTemplate = `{ ], "type": "object" }, + "dto.Locale": { + "properties": { + "en": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ms": { + "type": "string" + }, + "pt-br": { + "type": "string" + }, + "ru": { + "type": "string" + }, + "zh": { + "type": "string" + }, + "zh-hant": { + "type": "string" + } + }, + "type": "object" + }, "dto.LogOption": { "properties": { "logMaxFile": { @@ -19050,6 +21035,34 @@ const docTemplate = `{ }, "type": "object" }, + "dto.MonitorData": { + "properties": { + "date": { + "items": { + "type": "string" + }, + "type": "array" + }, + "param": { + "enum": [ + "cpu", + "memory", + "load", + "io", + "network" + ], + "type": "string" + }, + "value": { + "items": {}, + "type": "array" + } + }, + "required": [ + "param" + ], + "type": "object" + }, "dto.MonitorSearch": { "properties": { "endTime": { @@ -19078,6 +21091,23 @@ const docTemplate = `{ ], "type": "object" }, + "dto.MonitorSetting": { + "properties": { + "defaultNetwork": { + "type": "string" + }, + "monitorInterval": { + "type": "string" + }, + "monitorStatus": { + "type": "string" + }, + "monitorStoreDays": { + "type": "string" + } + }, + "type": "object" + }, "dto.MonitorSettingUpdate": { "properties": { "key": { @@ -19217,7 +21247,7 @@ const docTemplate = `{ "orderBy": { "enum": [ "name", - "created_at" + "createdAt" ], "type": "string" }, @@ -19550,6 +21580,17 @@ const docTemplate = `{ ], "type": "object" }, + "dto.NginxAuth": { + "properties": { + "remark": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, "dto.NginxKey": { "enum": [ "index", @@ -19569,6 +21610,26 @@ const docTemplate = `{ "ProxyCache" ] }, + "dto.NginxUpstream": { + "properties": { + "algorithm": { + "type": "string" + }, + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "servers": { + "items": { + "$ref": "#/definitions/dto.NginxUpstreamServer" + }, + "type": "array" + } + }, + "type": "object" + }, "dto.NginxUpstreamServer": { "properties": { "failTimeout": { @@ -19742,7 +21803,7 @@ const docTemplate = `{ "orderBy": { "enum": [ "name", - "created_at" + "createdAt" ], "type": "string" }, @@ -19792,7 +21853,7 @@ const docTemplate = `{ "enum": [ "name", "status", - "created_at" + "createdAt" ], "type": "string" }, @@ -19835,6 +21896,41 @@ const docTemplate = `{ }, "type": "object" }, + "dto.PageSnapshot": { + "properties": { + "info": { + "type": "string" + }, + "order": { + "enum": [ + "null", + "ascending", + "descending" + ], + "type": "string" + }, + "orderBy": { + "enum": [ + "name", + "createdAt" + ], + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "order", + "orderBy", + "page", + "pageSize" + ], + "type": "object" + }, "dto.PortHelper": { "properties": { "containerPort": { @@ -20040,7 +22136,7 @@ const docTemplate = `{ "orderBy": { "enum": [ "name", - "created_at" + "createdAt" ], "type": "string" }, @@ -20086,6 +22182,20 @@ const docTemplate = `{ ], "type": "object" }, + "dto.RecordFileSize": { + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "size": { + "type": "integer" + } + }, + "type": "object" + }, "dto.RecordSearch": { "properties": { "detailName": { @@ -20364,6 +22474,12 @@ const docTemplate = `{ "autoStart": { "type": "boolean" }, + "isActive": { + "type": "boolean" + }, + "isExist": { + "type": "boolean" + }, "listenAddress": { "type": "string" }, @@ -20382,9 +22498,6 @@ const docTemplate = `{ "pubkeyAuthentication": { "type": "string" }, - "status": { - "type": "string" - }, "useDNS": { "type": "string" } @@ -20428,6 +22541,14 @@ const docTemplate = `{ ], "type": "object" }, + "dto.SearchByFilter": { + "properties": { + "filter": { + "type": "string" + } + }, + "type": "object" + }, "dto.SearchClamWithPage": { "properties": { "info": { @@ -20445,7 +22566,7 @@ const docTemplate = `{ "enum": [ "name", "status", - "created_at" + "createdAt" ], "type": "string" }, @@ -20464,6 +22585,58 @@ const docTemplate = `{ ], "type": "object" }, + "dto.SearchForSize": { + "properties": { + "cronjobID": { + "type": "integer" + }, + "detailName": { + "type": "string" + }, + "info": { + "type": "string" + }, + "name": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize", + "type" + ], + "type": "object" + }, + "dto.SearchPageWithType": { + "properties": { + "info": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, "dto.SearchRecord": { "properties": { "cronjobID": { @@ -20714,6 +22887,44 @@ const docTemplate = `{ ], "type": "object" }, + "dto.SnapshotData": { + "properties": { + "appData": { + "items": { + "$ref": "#/definitions/dto.DataTree" + }, + "type": "array" + }, + "backupData": { + "items": { + "$ref": "#/definitions/dto.DataTree" + }, + "type": "array" + }, + "panelData": { + "items": { + "$ref": "#/definitions/dto.DataTree" + }, + "type": "array" + }, + "withLoginLog": { + "type": "boolean" + }, + "withMonitorData": { + "type": "boolean" + }, + "withOperationLog": { + "type": "boolean" + }, + "withSystemLog": { + "type": "boolean" + }, + "withTaskLog": { + "type": "boolean" + } + }, + "type": "object" + }, "dto.SnapshotImport": { "properties": { "backupAccountID": { @@ -20775,6 +22986,23 @@ const docTemplate = `{ ], "type": "object" }, + "dto.Tag": { + "properties": { + "key": { + "type": "string" + }, + "locales": { + "$ref": "#/definitions/dto.Locale" + }, + "name": { + "type": "string" + }, + "sort": { + "type": "integer" + } + }, + "type": "object" + }, "dto.UpdateByFile": { "properties": { "file": { @@ -20883,6 +23111,32 @@ const docTemplate = `{ }, "type": "object" }, + "dto.XPUInfo": { + "properties": { + "deviceID": { + "type": "integer" + }, + "deviceName": { + "type": "string" + }, + "memory": { + "type": "string" + }, + "memoryUsed": { + "type": "string" + }, + "memoryUtil": { + "type": "string" + }, + "power": { + "type": "string" + }, + "temperature": { + "type": "string" + } + }, + "type": "object" + }, "files.FileInfo": { "properties": { "content": { @@ -20968,6 +23222,9 @@ const docTemplate = `{ "crossVersionUpdate": { "type": "boolean" }, + "description": { + "type": "string" + }, "document": { "type": "string" }, @@ -21102,7 +23359,7 @@ const docTemplate = `{ }, "type": "object" }, - "model.Tag": { + "model.Favorite": { "properties": { "createdAt": { "type": "string" @@ -21110,17 +23367,82 @@ const docTemplate = `{ "id": { "type": "integer" }, - "key": { + "isDir": { + "type": "boolean" + }, + "isTxt": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "type": "object" + }, + "model.Runtime": { + "properties": { + "appDetailID": { + "type": "integer" + }, + "codeDir": { + "type": "string" + }, + "containerName": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "dockerCompose": { + "type": "string" + }, + "env": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "image": { + "type": "string" + }, + "message": { "type": "string" }, "name": { "type": "string" }, - "sort": { - "type": "integer" + "params": { + "type": "string" + }, + "port": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" }, "updatedAt": { "type": "string" + }, + "version": { + "type": "string" + }, + "workDir": { + "type": "string" } }, "type": "object" @@ -21772,6 +24094,9 @@ const docTemplate = `{ "containerPort": { "type": "integer" }, + "hostIP": { + "type": "string" + }, "hostPort": { "type": "integer" } @@ -22083,6 +24408,9 @@ const docTemplate = `{ "pageSize": { "type": "integer" }, + "resourceID": { + "type": "integer" + }, "taskID": { "type": "string" }, @@ -23005,9 +25333,6 @@ const docTemplate = `{ "additionalProperties": true, "type": "object" }, - "port": { - "type": "integer" - }, "resource": { "type": "string" }, @@ -23111,9 +25436,6 @@ const docTemplate = `{ "additionalProperties": true, "type": "object" }, - "port": { - "type": "integer" - }, "rebuild": { "type": "boolean" }, @@ -23934,6 +26256,9 @@ const docTemplate = `{ "proxyPass": { "type": "string" }, + "proxySSLName": { + "type": "string" + }, "replaces": { "additionalProperties": { "type": "string" @@ -24004,6 +26329,9 @@ const docTemplate = `{ "ID": { "type": "integer" }, + "disableLog": { + "type": "boolean" + }, "nameservers": { "items": { "type": "string" @@ -24216,7 +26544,7 @@ const docTemplate = `{ "primary_domain", "type", "status", - "created_at", + "createdAt", "expire_date" ], "type": "string" @@ -24300,6 +26628,56 @@ const docTemplate = `{ ], "type": "object" }, + "response.AppConfig": { + "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, + "dockerCompose": { + "type": "string" + }, + "editCompose": { + "type": "boolean" + }, + "gpuConfig": { + "type": "boolean" + }, + "hostMode": { + "type": "boolean" + }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, + "params": { + "items": { + "$ref": "#/definitions/response.AppParam" + }, + "type": "array" + }, + "pullImage": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "webUI": { + "type": "string" + } + }, + "type": "object" + }, "response.AppDTO": { "properties": { "architectures": { @@ -24311,6 +26689,9 @@ const docTemplate = `{ "crossVersionUpdate": { "type": "boolean" }, + "description": { + "type": "string" + }, "document": { "type": "string" }, @@ -24370,7 +26751,7 @@ const docTemplate = `{ }, "tags": { "items": { - "$ref": "#/definitions/model.Tag" + "$ref": "#/definitions/response.TagDTO" }, "type": "array" }, @@ -24496,6 +26877,65 @@ const docTemplate = `{ }, "type": "object" }, + "response.AppItem": { + "properties": { + "description": { + "type": "string" + }, + "github": { + "type": "string" + }, + "gpuSupport": { + "type": "boolean" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "installed": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "limit": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "recommend": { + "type": "integer" + }, + "resource": { + "type": "string" + }, + "status": { + "type": "string" + }, + "tags": { + "items": { + "$ref": "#/definitions/response.TagDTO" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "versions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "website": { + "type": "string" + } + }, + "type": "object" + }, "response.AppParam": { "properties": { "edit": { @@ -24530,6 +26970,20 @@ const docTemplate = `{ }, "type": "object" }, + "response.AppRes": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/response.AppItem" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "type": "object" + }, "response.AppService": { "properties": { "config": {}, @@ -24545,6 +26999,23 @@ const docTemplate = `{ }, "type": "object" }, + "response.AppUpdateRes": { + "properties": { + "appList": { + "$ref": "#/definitions/dto.AppList" + }, + "appStoreLastModified": { + "type": "integer" + }, + "canUpdate": { + "type": "boolean" + }, + "isSyncing": { + "type": "boolean" + } + }, + "type": "object" + }, "response.AppstoreConfig": { "properties": { "defaultDomain": { @@ -24567,6 +27038,40 @@ const docTemplate = `{ }, "type": "object" }, + "response.DatabaseConn": { + "properties": { + "containerName": { + "type": "string" + }, + "password": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serviceName": { + "type": "string" + }, + "status": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, + "response.DirSizeRes": { + "properties": { + "size": { + "type": "integer" + } + }, + "required": [ + "size" + ], + "type": "object" + }, "response.FileInfo": { "properties": { "content": { @@ -24641,6 +27146,29 @@ const docTemplate = `{ }, "type": "object" }, + "response.FileLineContent": { + "properties": { + "content": { + "type": "string" + }, + "end": { + "type": "boolean" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "path": { + "type": "string" + }, + "total": { + "type": "integer" + } + }, + "type": "object" + }, "response.FileTree": { "properties": { "children": { @@ -24667,6 +27195,31 @@ const docTemplate = `{ }, "type": "object" }, + "response.FileWgetRes": { + "properties": { + "key": { + "type": "string" + } + }, + "type": "object" + }, + "response.HostToolConfig": { + "properties": { + "content": { + "type": "string" + } + }, + "type": "object" + }, + "response.HostToolRes": { + "properties": { + "config": {}, + "type": { + "type": "string" + } + }, + "type": "object" + }, "response.IgnoredApp": { "properties": { "detailID": { @@ -24684,6 +27237,80 @@ const docTemplate = `{ }, "type": "object" }, + "response.NginxAntiLeechRes": { + "properties": { + "blocked": { + "type": "boolean" + }, + "cache": { + "type": "boolean" + }, + "cacheTime": { + "type": "integer" + }, + "cacheUint": { + "type": "string" + }, + "enable": { + "type": "boolean" + }, + "extends": { + "type": "string" + }, + "logEnable": { + "type": "boolean" + }, + "noneRef": { + "type": "boolean" + }, + "return": { + "type": "string" + }, + "serverNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.NginxAuthRes": { + "properties": { + "enable": { + "type": "boolean" + }, + "items": { + "items": { + "$ref": "#/definitions/dto.NginxAuth" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.NginxBuildConfig": { + "properties": { + "mirror": { + "type": "string" + }, + "modules": { + "items": { + "$ref": "#/definitions/response.NginxModule" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.NginxFile": { + "properties": { + "content": { + "type": "string" + } + }, + "type": "object" + }, "response.NginxModule": { "properties": { "enable": { @@ -24718,6 +27345,23 @@ const docTemplate = `{ }, "type": "object" }, + "response.NginxPathAuthRes": { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "remark": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, "response.NginxProxyCache": { "properties": { "cacheExpire": { @@ -24744,27 +27388,96 @@ const docTemplate = `{ }, "type": "object" }, + "response.NginxRedirectConfig": { + "properties": { + "content": { + "type": "string" + }, + "domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "enable": { + "type": "boolean" + }, + "filePath": { + "type": "string" + }, + "keepPath": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "redirect": { + "type": "string" + }, + "redirectRoot": { + "type": "boolean" + }, + "target": { + "type": "string" + }, + "type": { + "type": "string" + }, + "websiteID": { + "type": "integer" + } + }, + "type": "object" + }, + "response.NginxRewriteRes": { + "properties": { + "content": { + "type": "string" + } + }, + "type": "object" + }, "response.NginxStatus": { "properties": { "accepts": { - "type": "string" + "type": "integer" }, "active": { - "type": "string" + "type": "integer" }, "handled": { - "type": "string" + "type": "integer" }, "reading": { - "type": "string" + "type": "integer" }, "requests": { - "type": "string" + "type": "integer" }, "waiting": { - "type": "string" + "type": "integer" }, "writing": { + "type": "integer" + } + }, + "type": "object" + }, + "response.NodeModule": { + "properties": { + "description": { + "type": "string" + }, + "license": { + "type": "string" + }, + "name": { + "type": "string" + }, + "version": { "type": "string" } }, @@ -24790,21 +27503,29 @@ const docTemplate = `{ }, "type": "object" }, - "response.PHPExtensionsDTO": { + "response.PHPExtensionRes": { "properties": { - "createdAt": { - "type": "string" - }, "extensions": { - "type": "string" - }, - "id": { - "type": "integer" + "items": { + "type": "string" + }, + "type": "array" }, + "supportExtensions": { + "items": { + "$ref": "#/definitions/response.SupportExtension" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.PackageScripts": { + "properties": { "name": { "type": "string" }, - "updatedAt": { + "script": { "type": "string" } }, @@ -24845,6 +27566,84 @@ const docTemplate = `{ }, "type": "object" }, + "response.RuntimeDTO": { + "properties": { + "appDetailID": { + "type": "integer" + }, + "appID": { + "type": "integer" + }, + "appParams": { + "items": { + "$ref": "#/definitions/response.AppParam" + }, + "type": "array" + }, + "codeDir": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "environments": { + "items": { + "$ref": "#/definitions/request.Environment" + }, + "type": "array" + }, + "exposedPorts": { + "items": { + "$ref": "#/definitions/request.ExposedPort" + }, + "type": "array" + }, + "id": { + "type": "integer" + }, + "image": { + "type": "string" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "params": { + "additionalProperties": true, + "type": "object" + }, + "path": { + "type": "string" + }, + "port": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "source": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + }, + "volumes": { + "items": { + "$ref": "#/definitions/request.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, "response.SupervisorProcessConfig": { "properties": { "command": { @@ -24874,6 +27673,46 @@ const docTemplate = `{ }, "type": "object" }, + "response.SupportExtension": { + "properties": { + "check": { + "type": "string" + }, + "description": { + "type": "string" + }, + "file": { + "type": "string" + }, + "installed": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "versions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.TagDTO": { + "properties": { + "id": { + "type": "integer" + }, + "key": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, "response.WebsiteAcmeAccountDTO": { "properties": { "createdAt": { @@ -25086,6 +27925,26 @@ const docTemplate = `{ }, "type": "object" }, + "response.WebsiteDirConfig": { + "properties": { + "dirs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "msg": { + "type": "string" + }, + "user": { + "type": "string" + }, + "userGroup": { + "type": "string" + } + }, + "type": "object" + }, "response.WebsiteHTTPS": { "properties": { "SSL": { @@ -25124,6 +27983,14 @@ const docTemplate = `{ }, "type": "object" }, + "response.WebsiteHtmlRes": { + "properties": { + "content": { + "type": "string" + } + }, + "type": "object" + }, "response.WebsiteLog": { "properties": { "content": { @@ -25155,6 +28022,20 @@ const docTemplate = `{ }, "type": "object" }, + "response.WebsiteOption": { + "properties": { + "alias": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "primaryDomain": { + "type": "string" + } + }, + "type": "object" + }, "response.WebsitePreInstallCheck": { "properties": { "appName": { @@ -25194,6 +28075,113 @@ const docTemplate = `{ "websiteID" ], "type": "object" + }, + "response.WebsiteSSLDTO": { + "properties": { + "acmeAccount": { + "$ref": "#/definitions/model.WebsiteAcmeAccount" + }, + "acmeAccountId": { + "type": "integer" + }, + "autoRenew": { + "type": "boolean" + }, + "caId": { + "type": "integer" + }, + "certURL": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "dir": { + "type": "string" + }, + "disableCNAME": { + "type": "boolean" + }, + "dnsAccount": { + "$ref": "#/definitions/model.WebsiteDnsAccount" + }, + "dnsAccountId": { + "type": "integer" + }, + "domains": { + "type": "string" + }, + "execShell": { + "type": "boolean" + }, + "expireDate": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "keyType": { + "type": "string" + }, + "logPath": { + "type": "string" + }, + "message": { + "type": "string" + }, + "nameserver1": { + "type": "string" + }, + "nameserver2": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "pem": { + "type": "string" + }, + "primaryDomain": { + "type": "string" + }, + "privateKey": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "pushDir": { + "type": "boolean" + }, + "shell": { + "type": "string" + }, + "skipDNS": { + "type": "boolean" + }, + "startDate": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "websites": { + "items": { + "$ref": "#/definitions/model.Website" + }, + "type": "array" + } + }, + "type": "object" } } }` diff --git a/core/cmd/server/docs/swagger.json b/core/cmd/server/docs/swagger.json index 1a17d69b5..4513c6aa1 100644 --- a/core/cmd/server/docs/swagger.json +++ b/core/cmd/server/docs/swagger.json @@ -9,7 +9,7 @@ }, "termsOfService": "http://swagger.io/terms/", "title": "1Panel", - "version": "1.0" + "version": "2.0" }, "host": "localhost", "basePath": "/api/v2", @@ -19,7 +19,6 @@ "consumes": [ "application/json" ], - "description": "通过 key 获取应用信息", "parameters": [ { "description": "app key", @@ -40,6 +39,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app by key", @@ -50,15 +52,20 @@ }, "/apps/checkupdate": { "get": { - "description": "获取应用更新版本", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.AppUpdateRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get app list update", @@ -72,7 +79,6 @@ "consumes": [ "application/json" ], - "description": "通过 appid 获取应用详情", "parameters": [ { "description": "app id", @@ -107,6 +113,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app detail by appid", @@ -120,7 +129,6 @@ "consumes": [ "application/json" ], - "description": "通过 id 获取应用详情", "parameters": [ { "description": "id", @@ -141,6 +149,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get app detail by id", @@ -154,18 +165,23 @@ "consumes": [ "application/json" ], - "description": "获取忽略的应用版本", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/response.IgnoredApp" + "items": { + "$ref": "#/definitions/response.IgnoredApp" + }, + "type": "array" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get Ignore App", @@ -179,7 +195,6 @@ "consumes": [ "application/json" ], - "description": "安装应用", "parameters": [ { "description": "request", @@ -202,6 +217,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Install app", @@ -209,28 +227,12 @@ "App" ], "x-panel-log": { - "BeforeFunctions": [ - { - "db": "app_installs", - "input_column": "name", - "input_value": "name", - "isList": false, - "output_column": "app_id", - "output_value": "appId" - }, - { - "db": "apps", - "info": "appId", - "isList": false, - "output_column": "key", - "output_value": "appKey" - } - ], + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "formatEN": "Install app [appKey]-[name]", - "formatZH": "安装应用 [appKey]-[name]", + "formatEN": "Install app [name]", + "formatZH": "安装应用 [name]", "paramKeys": [] } } @@ -240,7 +242,6 @@ "consumes": [ "application/json" ], - "description": "检查应用安装情况", "parameters": [ { "description": "request", @@ -263,6 +264,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check app installed", @@ -276,7 +280,6 @@ "consumes": [ "application/json" ], - "description": "通过 key 获取应用默认配置", "parameters": [ { "description": "request", @@ -299,6 +302,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search default config by key", @@ -312,7 +318,6 @@ "consumes": [ "application/json" ], - "description": "更新应用配置", "parameters": [ { "description": "request", @@ -332,6 +337,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update app config", @@ -355,7 +363,6 @@ "consumes": [ "application/json" ], - "description": "获取应用连接信息", "parameters": [ { "description": "request", @@ -371,13 +378,16 @@ "200": { "description": "OK", "schema": { - "type": "string" + "$ref": "#/definitions/response.DatabaseConn" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app password by key", @@ -391,7 +401,6 @@ "consumes": [ "application/json" ], - "description": "删除前检查", "parameters": [ { "description": "App install id", @@ -415,6 +424,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check before delete", @@ -428,7 +440,6 @@ "consumes": [ "application/json" ], - "description": "忽略应用升级版本", "parameters": [ { "description": "request", @@ -448,6 +459,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "ignore App Update", @@ -470,7 +484,6 @@ "consumes": [ "application/json" ], - "description": "获取已安装应用列表", "responses": { "200": { "description": "OK", @@ -485,6 +498,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List app installed", @@ -498,7 +514,6 @@ "consumes": [ "application/json" ], - "description": "获取应用端口", "parameters": [ { "description": "request", @@ -521,6 +536,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app port by key", @@ -534,7 +552,6 @@ "consumes": [ "application/json" ], - "description": "操作已安装应用", "parameters": [ { "description": "request", @@ -554,6 +571,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate installed app", @@ -602,7 +622,6 @@ "consumes": [ "application/json" ], - "description": "通过 install id 获取应用参数", "parameters": [ { "description": "request", @@ -616,13 +635,16 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/response.AppParam" + "$ref": "#/definitions/response.AppConfig" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search params by appInstallId", @@ -636,7 +658,6 @@ "consumes": [ "application/json" ], - "description": "修改应用参数", "parameters": [ { "description": "request", @@ -656,6 +677,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change app params", @@ -678,7 +702,6 @@ "consumes": [ "application/json" ], - "description": "修改应用端口", "parameters": [ { "description": "request", @@ -698,6 +721,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change app port", @@ -722,7 +748,6 @@ "consumes": [ "application/json" ], - "description": "分页获取已安装应用列表", "parameters": [ { "description": "request", @@ -736,12 +761,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page app installed", @@ -752,7 +783,6 @@ }, "/apps/installed/sync": { "post": { - "description": "同步已安装应用列表", "responses": { "200": { "description": "OK" @@ -761,6 +791,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Sync app installed", @@ -781,7 +814,6 @@ "consumes": [ "application/json" ], - "description": "通过 install id 获取应用更新版本", "parameters": [ { "description": "request", @@ -805,6 +837,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app update version by install id", @@ -818,7 +853,6 @@ "consumes": [ "application/json" ], - "description": "获取应用列表", "parameters": [ { "description": "request", @@ -832,12 +866,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.AppRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List apps", @@ -851,7 +891,6 @@ "consumes": [ "application/json" ], - "description": "通过 key 获取应用 service", "parameters": [ { "description": "request", @@ -875,6 +914,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search app service by key", @@ -885,7 +927,6 @@ }, "/apps/store/config": { "get": { - "description": "获取应用商店配置", "responses": { "200": { "description": "OK", @@ -897,6 +938,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get appstore config", @@ -910,7 +954,6 @@ "consumes": [ "application/json" ], - "description": "更新应用商店配置", "parameters": [ { "description": "request", @@ -930,6 +973,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update appstore config", @@ -940,7 +986,6 @@ }, "/apps/sync/local": { "post": { - "description": "同步本地应用列表", "responses": { "200": { "description": "OK" @@ -949,6 +994,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Sync local app list", @@ -966,7 +1014,6 @@ }, "/apps/sync/remote": { "post": { - "description": "同步远程应用列表", "responses": { "200": { "description": "OK" @@ -975,6 +1022,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Sync remote app list", @@ -990,12 +1040,103 @@ } } }, - "/backup/backup": { + "/backup/record/download": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DownloadRecord" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Download backup record", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "source", + "fileName" + ], + "formatEN": "download backup records [source][fileName]", + "formatZH": "下载备份记录 [source][fileName]", + "paramKeys": [] + } + } + }, + "/backups": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BackupOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Create backup account", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "create backup account [type]", + "formatZH": "创建备份账号 [type]", + "paramKeys": [] + } + } + }, + "/backups/backup": { "post": { "consumes": [ "application/json" ], - "description": "备份系统数据", "parameters": [ { "description": "request", @@ -1015,6 +1156,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Backup system data", @@ -1034,12 +1178,11 @@ } } }, - "/backup/record/download": { + "/backups/del": { "post": { "consumes": [ "application/json" ], - "description": "下载备份记录", "parameters": [ { "description": "request", @@ -1047,7 +1190,7 @@ "name": "request", "required": true, "schema": { - "$ref": "#/definitions/dto.DownloadRecord" + "$ref": "#/definitions/dto.OperateByID" } } ], @@ -1059,30 +1202,94 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Download backup record", + "summary": "Delete backup account", "tags": [ "Backup Account" ], "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "source", - "fileName" + "BeforeFunctions": [ + { + "db": "backup_accounts", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "type", + "output_value": "types" + } ], - "formatEN": "download backup records [source][fileName]", - "formatZH": "下载备份记录 [source][fileName]", + "bodyKeys": [ + "id" + ], + "formatEN": "delete backup account [types]", + "formatZH": "删除备份账号 [types]", "paramKeys": [] } } }, - "/backup/record/search": { + "/backups/local": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "get local backup dir", + "tags": [ + "Backup Account" + ] + } + }, + "/backups/options": { + "get": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.BackupOption" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Load backup account options", + "tags": [ + "Backup Account" + ] + } + }, + "/backups/record/search": { "post": { "consumes": [ "application/json" ], - "description": "获取备份记录列表分页", "parameters": [ { "description": "request", @@ -1096,12 +1303,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page backup records", @@ -1110,12 +1323,11 @@ ] } }, - "/backup/record/search/bycronjob": { + "/backups/record/search/bycronjob": { "post": { "consumes": [ "application/json" ], - "description": "通过计划任务获取备份记录列表分页", "parameters": [ { "description": "request", @@ -1129,12 +1341,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page backup records by cronjob", @@ -1143,12 +1361,52 @@ ] } }, - "/backup/recover": { + "/backups/record/size": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchForSize" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.RecordFileSize" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Load backup record size", + "tags": [ + "Backup Account" + ] + } + }, + "/backups/recover": { "post": { "consumes": [ "application/json" ], - "description": "恢复系统数据", "parameters": [ { "description": "request", @@ -1168,6 +1426,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Recover system data", @@ -1188,12 +1449,11 @@ } } }, - "/backup/recover/byupload": { + "/backups/recover/byupload": { "post": { "consumes": [ "application/json" ], - "description": "从上传恢复系统数据", "parameters": [ { "description": "request", @@ -1213,6 +1473,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Recover system data by upload", @@ -1233,12 +1496,81 @@ } } }, - "/backup/search/files": { + "/backups/refresh/token": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BackupOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Refresh token", + "tags": [ + "Backup Account" + ] + } + }, + "/backups/search": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchPageWithType" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Search backup accounts with page", + "tags": [ + "Backup Account" + ] + } + }, + "/backups/search/files": { "post": { "consumes": [ "application/json" ], - "description": "获取备份账号内文件列表", "parameters": [ { "description": "request", @@ -1264,6 +1596,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List files from backup accounts", @@ -1272,12 +1607,96 @@ ] } }, + "/backups/update": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BackupOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Update backup account", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "update backup account [types]", + "formatZH": "更新备份账号 [types]", + "paramKeys": [] + } + } + }, + "/buckets": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ForBuckets" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "type": "object" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "List buckets", + "tags": [ + "Backup Account" + ] + } + }, "/containers": { "post": { "consumes": [ "application/json" ], - "description": "创建容器", "parameters": [ { "description": "request", @@ -1297,6 +1716,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create container", @@ -1320,7 +1742,6 @@ "consumes": [ "application/json" ], - "description": "清理容器日志", "parameters": [ { "description": "request", @@ -1340,6 +1761,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean container log", @@ -1362,7 +1786,6 @@ "consumes": [ "application/json" ], - "description": "命令创建容器", "parameters": [ { "description": "request", @@ -1382,6 +1805,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create container by command", @@ -1395,7 +1821,6 @@ "consumes": [ "application/json" ], - "description": "容器提交生成新镜像", "parameters": [ { "description": "request", @@ -1412,6 +1837,14 @@ "description": "OK" } }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], "summary": "Commit Container", "tags": [ "Container" @@ -1423,7 +1856,6 @@ "consumes": [ "application/json" ], - "description": "创建容器编排", "parameters": [ { "description": "request", @@ -1443,6 +1875,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create compose", @@ -1465,7 +1900,6 @@ "consumes": [ "application/json" ], - "description": "容器编排操作", "parameters": [ { "description": "request", @@ -1485,6 +1919,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate compose", @@ -1508,7 +1945,6 @@ "consumes": [ "application/json" ], - "description": "获取编排列表分页", "parameters": [ { "description": "request", @@ -1531,6 +1967,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page composes", @@ -1539,53 +1978,11 @@ ] } }, - "/containers/compose/search/log": { - "get": { - "description": "docker-compose 日志", - "parameters": [ - { - "description": "compose 文件地址", - "in": "query", - "name": "compose", - "type": "string" - }, - { - "description": "时间筛选", - "in": "query", - "name": "since", - "type": "string" - }, - { - "description": "是否追踪", - "in": "query", - "name": "follow", - "type": "string" - }, - { - "description": "显示行号", - "in": "query", - "name": "tail", - "type": "string" - } - ], - "responses": {}, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "Container Compose logs", - "tags": [ - "Container Compose" - ] - } - }, "/containers/compose/test": { "post": { "consumes": [ "application/json" ], - "description": "测试 compose 是否可用", "parameters": [ { "description": "request", @@ -1599,12 +1996,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "boolean" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Test compose", @@ -1627,7 +2030,6 @@ "consumes": [ "application/json" ], - "description": "更新容器编排", "parameters": [ { "description": "request", @@ -1647,6 +2049,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update compose", @@ -1666,7 +2071,6 @@ }, "/containers/daemonjson": { "get": { - "description": "获取 docker 配置信息", "produces": [ "application/json" ], @@ -1681,6 +2085,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load docker daemon.json", @@ -1691,7 +2098,6 @@ }, "/containers/daemonjson/file": { "get": { - "description": "获取 docker 配置信息(表单)", "produces": [ "application/json" ], @@ -1706,6 +2112,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load docker daemon.json", @@ -1719,7 +2128,6 @@ "consumes": [ "application/json" ], - "description": "修改 docker 配置信息", "parameters": [ { "description": "request", @@ -1739,6 +2147,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update docker daemon.json", @@ -1762,7 +2173,6 @@ "consumes": [ "application/json" ], - "description": "上传替换 docker 配置文件", "parameters": [ { "description": "request", @@ -1782,6 +2192,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update docker daemon.json by upload file", @@ -1802,7 +2215,6 @@ "consumes": [ "application/json" ], - "description": "Docker 操作", "parameters": [ { "description": "request", @@ -1822,6 +2234,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate docker", @@ -1841,7 +2256,6 @@ }, "/containers/docker/status": { "get": { - "description": "获取 docker 服务状态", "produces": [ "application/json" ], @@ -1856,6 +2270,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load docker status", @@ -1866,13 +2283,11 @@ }, "/containers/download/log": { "post": { - "description": "下载容器日志", "responses": {} } }, "/containers/image": { "get": { - "description": "获取镜像名称列表", "produces": [ "application/json" ], @@ -1890,6 +2305,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "load images options", @@ -1900,7 +2318,6 @@ }, "/containers/image/all": { "get": { - "description": "获取所有镜像列表", "produces": [ "application/json" ], @@ -1918,6 +2335,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List all images", @@ -1931,7 +2351,6 @@ "consumes": [ "application/json" ], - "description": "构建镜像", "parameters": [ { "description": "request", @@ -1954,6 +2373,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Build image", @@ -1976,7 +2398,6 @@ "consumes": [ "application/json" ], - "description": "导入镜像", "parameters": [ { "description": "request", @@ -1996,6 +2417,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load image", @@ -2018,7 +2442,6 @@ "consumes": [ "application/json" ], - "description": "拉取镜像", "parameters": [ { "description": "request", @@ -2032,15 +2455,15 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "type": "string" - } + "description": "OK" } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Pull image", @@ -2073,7 +2496,6 @@ "consumes": [ "application/json" ], - "description": "推送镜像", "parameters": [ { "description": "request", @@ -2087,15 +2509,15 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "type": "string" - } + "description": "OK" } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Push image", @@ -2129,7 +2551,6 @@ "consumes": [ "application/json" ], - "description": "删除镜像", "parameters": [ { "description": "request", @@ -2143,12 +2564,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.ContainerPruneReport" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete image", @@ -2171,7 +2598,6 @@ "consumes": [ "application/json" ], - "description": "导出镜像", "parameters": [ { "description": "request", @@ -2191,6 +2617,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Save image", @@ -2215,7 +2644,6 @@ "consumes": [ "application/json" ], - "description": "获取镜像列表分页", "parameters": [ { "description": "request", @@ -2241,6 +2669,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page images", @@ -2254,7 +2685,6 @@ "consumes": [ "application/json" ], - "description": "Tag 镜像", "parameters": [ { "description": "request", @@ -2274,6 +2704,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Tag image", @@ -2306,7 +2739,6 @@ "consumes": [ "application/json" ], - "description": "获取容器表单信息", "parameters": [ { "description": "request", @@ -2329,6 +2761,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load container info", @@ -2342,7 +2777,6 @@ "consumes": [ "application/json" ], - "description": "容器详情", "parameters": [ { "description": "request", @@ -2365,6 +2799,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Container inspect", @@ -2378,7 +2815,6 @@ "consumes": [ "application/json" ], - "description": "修改 docker ipv6 配置", "parameters": [ { "description": "request", @@ -2398,6 +2834,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update docker daemon.json ipv6 option", @@ -2415,7 +2854,6 @@ }, "/containers/limit": { "get": { - "description": "获取容器限制", "responses": { "200": { "description": "OK", @@ -2427,6 +2865,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load container limits" @@ -2437,18 +2878,26 @@ "consumes": [ "application/json" ], - "description": "获取容器名称", "produces": [ "application/json" ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List containers", @@ -2459,7 +2908,6 @@ }, "/containers/list/stats": { "get": { - "description": "获取容器列表资源占用", "responses": { "200": { "description": "OK", @@ -2474,6 +2922,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load container stats" @@ -2484,7 +2935,6 @@ "consumes": [ "application/json" ], - "description": "获取容器操作日志", "parameters": [ { "description": "request", @@ -2498,12 +2948,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load container log", @@ -2517,7 +2973,6 @@ "consumes": [ "application/json" ], - "description": "修改 docker 日志配置", "parameters": [ { "description": "request", @@ -2537,6 +2992,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update docker daemon.json log option", @@ -2557,7 +3015,6 @@ "consumes": [ "application/json" ], - "description": "获取容器网络列表", "produces": [ "application/json" ], @@ -2575,6 +3032,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List networks", @@ -2586,7 +3046,6 @@ "consumes": [ "application/json" ], - "description": "创建容器网络", "parameters": [ { "description": "request", @@ -2606,6 +3065,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create network", @@ -2628,7 +3090,6 @@ "consumes": [ "application/json" ], - "description": "删除容器网络", "parameters": [ { "description": "request", @@ -2648,6 +3109,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete network", @@ -2670,7 +3134,6 @@ "consumes": [ "application/json" ], - "description": "获取容器网络列表分页", "parameters": [ { "description": "request", @@ -2696,6 +3159,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page networks", @@ -2709,7 +3175,6 @@ "consumes": [ "application/json" ], - "description": "容器操作", "parameters": [ { "description": "request", @@ -2729,6 +3194,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate Container", @@ -2752,7 +3220,6 @@ "consumes": [ "application/json" ], - "description": "容器清理", "parameters": [ { "description": "request", @@ -2775,6 +3242,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean container", @@ -2797,7 +3267,6 @@ "consumes": [ "application/json" ], - "description": "容器重命名", "parameters": [ { "description": "request", @@ -2817,6 +3286,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Rename Container", @@ -2837,7 +3309,6 @@ }, "/containers/repo": { "get": { - "description": "获取镜像仓库列表", "produces": [ "application/json" ], @@ -2855,6 +3326,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List image repos", @@ -2866,7 +3340,6 @@ "consumes": [ "application/json" ], - "description": "创建镜像仓库", "parameters": [ { "description": "request", @@ -2889,6 +3362,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create image repo", @@ -2911,7 +3387,6 @@ "consumes": [ "application/json" ], - "description": "删除镜像仓库", "parameters": [ { "description": "request", @@ -2934,6 +3409,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete image repo", @@ -2965,7 +3443,6 @@ "consumes": [ "application/json" ], - "description": "获取镜像仓库列表分页", "parameters": [ { "description": "request", @@ -2991,6 +3468,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page image repos", @@ -3004,7 +3484,6 @@ "consumes": [ "application/json" ], - "description": "获取 docker 仓库状态", "parameters": [ { "description": "request", @@ -3027,6 +3506,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load repo status", @@ -3040,7 +3522,6 @@ "consumes": [ "application/json" ], - "description": "更新镜像仓库", "parameters": [ { "description": "request", @@ -3063,6 +3544,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update image repo", @@ -3094,7 +3578,6 @@ "consumes": [ "application/json" ], - "description": "获取容器列表分页", "parameters": [ { "description": "request", @@ -3120,6 +3603,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page containers", @@ -3130,7 +3616,6 @@ }, "/containers/search/log": { "post": { - "description": "容器日志", "parameters": [ { "description": "容器名称", @@ -3161,6 +3646,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Container logs", @@ -3171,7 +3659,6 @@ }, "/containers/stats/:id": { "get": { - "description": "容器监控信息", "parameters": [ { "description": "容器id", @@ -3192,6 +3679,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Container stats", @@ -3205,18 +3695,23 @@ "consumes": [ "application/json" ], - "description": "获取容器状态", "produces": [ "application/json" ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.ContainerStatus" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load containers status", @@ -3227,7 +3722,6 @@ }, "/containers/template": { "get": { - "description": "获取容器编排模版列表", "produces": [ "application/json" ], @@ -3245,6 +3739,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List compose templates", @@ -3256,7 +3753,6 @@ "consumes": [ "application/json" ], - "description": "创建容器编排模版", "parameters": [ { "description": "request", @@ -3276,6 +3772,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create compose template", @@ -3298,7 +3797,6 @@ "consumes": [ "application/json" ], - "description": "删除容器编排模版", "parameters": [ { "description": "request", @@ -3318,6 +3816,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete compose template", @@ -3349,7 +3850,6 @@ "consumes": [ "application/json" ], - "description": "获取容器编排模版列表分页", "parameters": [ { "description": "request", @@ -3375,6 +3875,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page compose templates", @@ -3388,7 +3891,6 @@ "consumes": [ "application/json" ], - "description": "更新容器编排模版", "parameters": [ { "description": "request", @@ -3408,6 +3910,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update compose template", @@ -3439,7 +3944,6 @@ "consumes": [ "application/json" ], - "description": "更新容器", "parameters": [ { "description": "request", @@ -3459,6 +3963,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update container", @@ -3482,7 +3989,6 @@ "consumes": [ "application/json" ], - "description": "更新容器镜像", "parameters": [ { "description": "request", @@ -3502,6 +4008,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Upgrade container", @@ -3525,7 +4034,6 @@ "consumes": [ "application/json" ], - "description": "获取容器存储卷列表", "produces": [ "application/json" ], @@ -3543,6 +4051,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List volumes", @@ -3554,7 +4065,6 @@ "consumes": [ "application/json" ], - "description": "创建容器存储卷", "parameters": [ { "description": "request", @@ -3574,6 +4084,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create volume", @@ -3596,7 +4109,6 @@ "consumes": [ "application/json" ], - "description": "删除容器存储卷", "parameters": [ { "description": "request", @@ -3616,6 +4128,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete volume", @@ -3638,7 +4153,6 @@ "consumes": [ "application/json" ], - "description": "获取容器存储卷分页", "parameters": [ { "description": "request", @@ -3664,6 +4178,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page volumes", @@ -3672,9 +4189,53 @@ ] } }, + "/core/app/launcher/show": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SettingUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Update app Launcher", + "tags": [ + "App Launcher" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "app launcher [key] =\u003e show: [value]", + "formatZH": "首页应用 [key] =\u003e 显示:[value]", + "paramKeys": [] + } + } + }, "/core/auth/captcha": { "get": { - "description": "加载验证码", "responses": { "200": { "description": "OK", @@ -3689,54 +4250,11 @@ ] } }, - "/core/auth/demo": { - "get": { - "description": "判断是否为demo环境", - "responses": { - "200": { - "description": "OK" - } - }, - "summary": "Check System isDemo", - "tags": [ - "Auth" - ] - } - }, - "/core/auth/issafety": { - "get": { - "description": "获取系统安全登录状态", - "responses": { - "200": { - "description": "OK" - } - }, - "summary": "Load safety status", - "tags": [ - "Auth" - ] - } - }, - "/core/auth/language": { - "get": { - "description": "获取系统语言设置", - "responses": { - "200": { - "description": "OK" - } - }, - "summary": "Load System Language", - "tags": [ - "Auth" - ] - } - }, "/core/auth/login": { "post": { "consumes": [ "application/json" ], - "description": "用户登录", "parameters": [ { "description": "安全入口 base64 加密串", @@ -3771,7 +4289,6 @@ }, "/core/auth/logout": { "post": { - "description": "用户登出", "responses": { "200": { "description": "OK" @@ -3780,6 +4297,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "User logout", @@ -3793,7 +4313,6 @@ "consumes": [ "application/json" ], - "description": "用户 mfa 登录", "parameters": [ { "description": "request", @@ -3825,12 +4344,27 @@ ] } }, - "/core/backup": { + "/core/auth/setting": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SystemSetting" + } + } + }, + "summary": "Get Setting For Login", + "tags": [ + "Auth" + ] + } + }, + "/core/backups": { "post": { "consumes": [ "application/json" ], - "description": "创建备份账号", "parameters": [ { "description": "request", @@ -3850,6 +4384,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create backup account", @@ -3867,12 +4404,11 @@ } } }, - "/core/backup/del": { + "/core/backups/buckets": { "post": { "consumes": [ "application/json" ], - "description": "删除备份账号", "parameters": [ { "description": "request", @@ -3880,100 +4416,16 @@ "name": "request", "required": true, "schema": { - "$ref": "#/definitions/dto.OperateByID" + "$ref": "#/definitions/dto.ForBuckets" } } ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "Delete backup account", - "tags": [ - "Backup Account" - ], - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "backup_accounts", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "type", - "output_value": "types" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete backup account [types]", - "formatZH": "删除备份账号 [types]", - "paramKeys": [] - } - } - }, - "/core/backup/local": { - "get": { - "description": "获取本地备份目录", - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "get local backup dir", - "tags": [ - "Backup Account" - ] - } - }, - "/core/backup/onedrive": { - "get": { - "consumes": [ - "application/json" - ], - "description": "获取 OneDrive 信息", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.OneDriveInfo" - } - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "Load OneDrive info", - "tags": [ - "Backup Account" - ] - } - }, - "/core/backup/options": { - "get": { - "consumes": [ - "application/json" - ], - "description": "获取备份账号选项", "responses": { "200": { "description": "OK", "schema": { "items": { - "$ref": "#/definitions/dto.BackupOption" + "type": "string" }, "type": "array" } @@ -3982,39 +4434,49 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Load backup account options", + "summary": "List buckets", "tags": [ "Backup Account" ] } }, - "/core/backup/refresh/onedrive": { - "post": { - "description": "刷新 OneDrive token", + "/core/backups/client/:clientType": { + "get": { + "consumes": [ + "application/json" + ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.BackupClientInfo" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Refresh OneDrive token", + "summary": "Load backup account base info", "tags": [ "Backup Account" ] } }, - "/core/backup/search": { + "/core/backups/del": { "post": { "consumes": [ "application/json" ], - "description": "获取备份账号列表", "parameters": [ { "description": "request", @@ -4022,7 +4484,7 @@ "name": "request", "required": true, "schema": { - "$ref": "#/definitions/dto.SearchPageWithType" + "$ref": "#/definitions/dto.OperateByName" } } ], @@ -4034,20 +4496,66 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Search backup accounts with page", + "summary": "Delete backup account", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "delete backup account [name]", + "formatZH": "删除备份账号 [name]", + "paramKeys": [] + } + } + }, + "/core/backups/refresh/token": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByName" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Refresh token", "tags": [ "Backup Account" ] } }, - "/core/backup/update": { + "/core/backups/update": { "post": { "consumes": [ "application/json" ], - "description": "更新备份账号信息", "parameters": [ { "description": "request", @@ -4067,6 +4575,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update backup account", @@ -4089,7 +4600,6 @@ "consumes": [ "application/json" ], - "description": "创建快速命令", "parameters": [ { "description": "request", @@ -4109,6 +4619,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create command", @@ -4132,7 +4645,6 @@ "consumes": [ "application/json" ], - "description": "获取快速命令列表", "parameters": [ { "description": "request", @@ -4155,6 +4667,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List commands", @@ -4168,7 +4683,6 @@ "consumes": [ "application/json" ], - "description": "删除快速命令", "parameters": [ { "description": "request", @@ -4188,6 +4702,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete command", @@ -4219,7 +4736,6 @@ "consumes": [ "application/json" ], - "description": "获取快速命令列表分页", "parameters": [ { "description": "request", @@ -4242,6 +4758,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page commands", @@ -4255,7 +4774,6 @@ "consumes": [ "application/json" ], - "description": "获取快速命令树", "parameters": [ { "description": "request", @@ -4278,6 +4796,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Tree commands", @@ -4291,7 +4812,6 @@ "consumes": [ "application/json" ], - "description": "更新快速命令", "parameters": [ { "description": "request", @@ -4311,6 +4831,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update command", @@ -4333,7 +4856,6 @@ "consumes": [ "application/json" ], - "description": "创建系统组", "parameters": [ { "description": "request", @@ -4353,6 +4875,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -4376,7 +4901,6 @@ "consumes": [ "application/json" ], - "description": "删除系统组", "parameters": [ { "description": "request", @@ -4396,6 +4920,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete group", @@ -4435,7 +4962,6 @@ "consumes": [ "application/json" ], - "description": "查询系统组", "parameters": [ { "description": "request", @@ -4461,6 +4987,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List groups", @@ -4474,7 +5003,6 @@ "consumes": [ "application/json" ], - "description": "更新系统组", "parameters": [ { "description": "request", @@ -4494,6 +5022,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update group", @@ -4517,7 +5048,6 @@ "consumes": [ "application/json" ], - "description": "创建主机", "parameters": [ { "description": "request", @@ -4531,12 +5061,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.HostInfo" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create host", @@ -4560,7 +5096,6 @@ "consumes": [ "application/json" ], - "description": "删除主机", "parameters": [ { "description": "request", @@ -4580,6 +5115,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete host", @@ -4611,7 +5149,6 @@ "consumes": [ "application/json" ], - "description": "获取主机列表分页", "parameters": [ { "description": "request", @@ -4627,16 +5164,16 @@ "200": { "description": "OK", "schema": { - "items": { - "$ref": "#/definitions/dto.HostTree" - }, - "type": "array" + "$ref": "#/definitions/dto.PageResult" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page host", @@ -4650,7 +5187,6 @@ "consumes": [ "application/json" ], - "description": "测试主机连接", "parameters": [ { "description": "request", @@ -4671,6 +5207,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Test host conn by host id", @@ -4684,7 +5223,6 @@ "consumes": [ "application/json" ], - "description": "测试主机连接", "parameters": [ { "description": "request", @@ -4698,12 +5236,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "boolean" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Test host conn by info", @@ -4717,7 +5261,6 @@ "consumes": [ "application/json" ], - "description": "加载主机树", "parameters": [ { "description": "request", @@ -4743,6 +5286,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load host tree", @@ -4756,7 +5302,6 @@ "consumes": [ "application/json" ], - "description": "更新主机", "parameters": [ { "description": "request", @@ -4776,6 +5321,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update host", @@ -4799,7 +5347,6 @@ "consumes": [ "application/json" ], - "description": "切换分组", "parameters": [ { "description": "request", @@ -4819,6 +5366,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update host group", @@ -4851,7 +5401,6 @@ "consumes": [ "application/json" ], - "description": "清空操作日志", "parameters": [ { "description": "request", @@ -4874,6 +5423,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean operation logs", @@ -4896,7 +5448,6 @@ "consumes": [ "application/json" ], - "description": "获取系统登录日志列表分页", "parameters": [ { "description": "request", @@ -4919,6 +5470,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page login logs", @@ -4932,7 +5486,6 @@ "consumes": [ "application/json" ], - "description": "获取系统操作日志列表分页", "parameters": [ { "description": "request", @@ -4955,6 +5508,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page operation logs", @@ -4968,7 +5524,6 @@ "consumes": [ "application/json" ], - "description": "更新系统监听信息", "parameters": [ { "description": "request", @@ -4988,6 +5543,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system bind info", @@ -5011,7 +5569,6 @@ "consumes": [ "application/json" ], - "description": "重置过期系统登录密码", "parameters": [ { "description": "request", @@ -5031,6 +5588,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Reset system password expired", @@ -5051,15 +5611,23 @@ "consumes": [ "application/json" ], - "description": "获取系统地址信息", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system address", @@ -5073,7 +5641,6 @@ "consumes": [ "application/json" ], - "description": "隐藏高级功能菜单", "parameters": [ { "description": "request", @@ -5093,6 +5660,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system setting", @@ -5113,7 +5683,6 @@ "consumes": [ "application/json" ], - "description": "获取 mfa 信息", "parameters": [ { "description": "request", @@ -5136,6 +5705,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load mfa info", @@ -5149,7 +5721,6 @@ "consumes": [ "application/json" ], - "description": "Mfa 绑定", "parameters": [ { "description": "request", @@ -5169,6 +5740,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Bind mfa", @@ -5189,7 +5763,6 @@ "consumes": [ "application/json" ], - "description": "更新系统登录密码", "parameters": [ { "description": "request", @@ -5209,6 +5782,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system password", @@ -5229,7 +5805,6 @@ "consumes": [ "application/json" ], - "description": "更新系统端口", "parameters": [ { "description": "request", @@ -5249,6 +5824,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system port", @@ -5271,7 +5849,6 @@ "consumes": [ "application/json" ], - "description": "服务器代理配置", "parameters": [ { "description": "request", @@ -5291,6 +5868,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update proxy setting", @@ -5309,9 +5889,61 @@ } } }, + "/core/settings/rollback": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Upgrade", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "upgrade_logs", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "old_version", + "output_value": "version" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "rollback system =\u003e [version]", + "formatZH": "回滚系统 =\u003e [version]", + "paramKeys": [] + } + } + }, "/core/settings/search": { "post": { - "description": "加载系统配置信息", "responses": { "200": { "description": "OK", @@ -5323,6 +5955,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system setting info", @@ -5333,7 +5968,6 @@ }, "/core/settings/search/available": { "get": { - "description": "获取系统可用状态", "responses": { "200": { "description": "OK" @@ -5342,6 +5976,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system available status", @@ -5352,7 +5989,6 @@ }, "/core/settings/ssl/download": { "post": { - "description": "下载证书", "responses": { "200": { "description": "OK" @@ -5361,6 +5997,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Download system cert", @@ -5371,18 +6010,20 @@ }, "/core/settings/ssl/info": { "get": { - "description": "获取证书信息", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/dto.SettingInfo" + "$ref": "#/definitions/dto.SSLInfo" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system cert info", @@ -5396,7 +6037,6 @@ "consumes": [ "application/json" ], - "description": "修改系统 ssl 登录", "parameters": [ { "description": "request", @@ -5416,6 +6056,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system ssl", @@ -5435,7 +6078,6 @@ }, "/core/settings/terminal/search": { "post": { - "description": "加载系统终端配置信息", "responses": { "200": { "description": "OK", @@ -5447,6 +6089,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system terminal setting info", @@ -5460,7 +6105,6 @@ "consumes": [ "application/json" ], - "description": "更新系统终端配置", "parameters": [ { "description": "request", @@ -5480,6 +6124,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system terminal setting", @@ -5500,7 +6147,6 @@ "consumes": [ "application/json" ], - "description": "更新系统配置", "parameters": [ { "description": "request", @@ -5520,6 +6166,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system setting", @@ -5543,7 +6192,6 @@ "consumes": [ "application/json" ], - "description": "获取版本 release notes", "parameters": [ { "description": "request", @@ -5557,12 +6205,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load release notes by version", @@ -5574,7 +6228,6 @@ "consumes": [ "application/json" ], - "description": "系统更新", "parameters": [ { "description": "request", @@ -5594,6 +6247,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Upgrade", @@ -5616,7 +6272,6 @@ "consumes": [ "application/json" ], - "description": "创建计划任务", "parameters": [ { "description": "request", @@ -5636,6 +6291,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create cronjob", @@ -5659,7 +6317,6 @@ "consumes": [ "application/json" ], - "description": "删除计划任务", "parameters": [ { "description": "request", @@ -5679,6 +6336,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete cronjob", @@ -5710,7 +6370,6 @@ "consumes": [ "application/json" ], - "description": "下载计划任务记录", "parameters": [ { "description": "request", @@ -5730,6 +6389,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Download cronjob records", @@ -5761,7 +6423,6 @@ "consumes": [ "application/json" ], - "description": "手动执行计划任务", "parameters": [ { "description": "request", @@ -5781,6 +6442,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Handle cronjob once", @@ -5812,7 +6476,6 @@ "consumes": [ "application/json" ], - "description": "预览最近五次执行时间", "parameters": [ { "description": "request", @@ -5832,6 +6495,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load cronjob spec time", @@ -5845,7 +6511,6 @@ "consumes": [ "application/json" ], - "description": "清空计划任务记录", "parameters": [ { "description": "request", @@ -5865,6 +6530,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean job records", @@ -5896,7 +6564,6 @@ "consumes": [ "application/json" ], - "description": "获取计划任务记录日志", "parameters": [ { "description": "request", @@ -5910,12 +6577,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load Cronjob record log", @@ -5929,7 +6602,6 @@ "consumes": [ "application/json" ], - "description": "获取计划任务分页", "parameters": [ { "description": "request", @@ -5952,6 +6624,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page cronjobs", @@ -5965,7 +6640,6 @@ "consumes": [ "application/json" ], - "description": "获取计划任务记录", "parameters": [ { "description": "request", @@ -5988,6 +6662,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page job records", @@ -6001,7 +6678,6 @@ "consumes": [ "application/json" ], - "description": "更新计划任务状态", "parameters": [ { "description": "request", @@ -6021,6 +6697,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update cronjob status", @@ -6053,7 +6732,6 @@ "consumes": [ "application/json" ], - "description": "更新计划任务", "parameters": [ { "description": "request", @@ -6073,6 +6751,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update cronjob", @@ -6099,12 +6780,76 @@ } } }, + "/dashboard/app/launcher": { + "get": { + "consumes": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "Array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Load app launcher", + "tags": [ + "Dashboard" + ] + } + }, + "/dashboard/app/launcher/option": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchByFilter" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "Array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Load app launcher options", + "tags": [ + "Dashboard" + ] + } + }, "/dashboard/base/:ioOption/:netOption": { "get": { "consumes": [ "application/json" ], - "description": "获取首页基础数据", "parameters": [ { "description": "request", @@ -6132,6 +6877,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load dashboard base info", @@ -6145,7 +6893,6 @@ "consumes": [ "application/json" ], - "description": "获取服务器基础数据", "responses": { "200": { "description": "OK", @@ -6157,6 +6904,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load os info", @@ -6170,7 +6920,6 @@ "consumes": [ "application/json" ], - "description": "获取首页实时数据", "parameters": [ { "description": "request", @@ -6198,6 +6947,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load dashboard current info", @@ -6208,7 +6960,6 @@ }, "/dashboard/current/node": { "get": { - "description": "获取节点实时数据", "responses": { "200": { "description": "OK", @@ -6220,6 +6971,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load dashboard current info for node", @@ -6233,7 +6987,6 @@ "consumes": [ "application/json" ], - "description": "重启服务器/面板", "parameters": [ { "description": "request", @@ -6251,6 +7004,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "System restart", @@ -6264,7 +7020,6 @@ "consumes": [ "application/json" ], - "description": "创建 mysql 数据库", "parameters": [ { "description": "request", @@ -6284,6 +7039,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create mysql database", @@ -6306,7 +7064,6 @@ "consumes": [ "application/json" ], - "description": "绑定 mysql 数据库用户", "parameters": [ { "description": "request", @@ -6326,6 +7083,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Bind user of mysql database", @@ -6349,7 +7109,6 @@ "consumes": [ "application/json" ], - "description": "修改 mysql 访问权限", "parameters": [ { "description": "request", @@ -6369,6 +7128,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change mysql access", @@ -6400,7 +7162,6 @@ "consumes": [ "application/json" ], - "description": "修改 mysql 密码", "parameters": [ { "description": "request", @@ -6420,6 +7181,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change mysql password", @@ -6451,7 +7215,6 @@ "consumes": [ "application/json" ], - "description": "获取数据库基础信息", "parameters": [ { "description": "request", @@ -6474,6 +7237,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load base info", @@ -6487,7 +7253,6 @@ "consumes": [ "application/json" ], - "description": "获取数据库配置文件", "parameters": [ { "description": "request", @@ -6501,12 +7266,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load Database conf", @@ -6520,7 +7291,6 @@ "consumes": [ "application/json" ], - "description": "上传替换配置文件", "parameters": [ { "description": "request", @@ -6540,6 +7310,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update conf by upload file", @@ -6563,7 +7336,6 @@ "consumes": [ "application/json" ], - "description": "创建远程数据库", "parameters": [ { "description": "request", @@ -6583,6 +7355,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create database", @@ -6603,7 +7378,6 @@ }, "/databases/db/:name": { "get": { - "description": "获取远程数据库", "responses": { "200": { "description": "OK", @@ -6615,6 +7389,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get databases", @@ -6628,7 +7405,6 @@ "consumes": [ "application/json" ], - "description": "检测远程数据库连接性", "parameters": [ { "description": "request", @@ -6642,12 +7418,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "boolean" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check database", @@ -6671,7 +7453,6 @@ "consumes": [ "application/json" ], - "description": "删除远程数据库", "parameters": [ { "description": "request", @@ -6691,6 +7472,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete database", @@ -6719,7 +7503,6 @@ }, "/databases/db/item/:type": { "get": { - "description": "获取数据库列表", "responses": { "200": { "description": "OK", @@ -6734,6 +7517,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List databases", @@ -6744,7 +7530,6 @@ }, "/databases/db/list/:type": { "get": { - "description": "获取远程数据库列表", "responses": { "200": { "description": "OK", @@ -6759,6 +7544,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List databases", @@ -6772,7 +7560,6 @@ "consumes": [ "application/json" ], - "description": "获取远程数据库列表分页", "parameters": [ { "description": "request", @@ -6795,6 +7582,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page databases", @@ -6808,7 +7598,6 @@ "consumes": [ "application/json" ], - "description": "更新远程数据库", "parameters": [ { "description": "request", @@ -6828,6 +7617,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update database", @@ -6850,7 +7642,6 @@ "consumes": [ "application/json" ], - "description": "删除 mysql 数据库", "parameters": [ { "description": "request", @@ -6870,6 +7661,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete mysql database", @@ -6901,7 +7695,6 @@ "consumes": [ "application/json" ], - "description": "Mysql 数据库删除前检查", "parameters": [ { "description": "request", @@ -6927,6 +7720,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check before delete mysql database", @@ -6940,7 +7736,6 @@ "consumes": [ "application/json" ], - "description": "更新 mysql 数据库库描述信息", "parameters": [ { "description": "request", @@ -6960,6 +7755,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update mysql database description", @@ -6992,7 +7790,6 @@ "consumes": [ "application/json" ], - "description": "从服务器获取", "parameters": [ { "description": "request", @@ -7008,6 +7805,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load mysql database from remote", @@ -7021,7 +7821,6 @@ "consumes": [ "application/json" ], - "description": "获取 mysql 数据库列表", "parameters": [ { "description": "request", @@ -7047,6 +7846,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List mysql database names", @@ -7060,7 +7862,6 @@ "consumes": [ "application/json" ], - "description": "创建 postgresql 数据库", "parameters": [ { "description": "request", @@ -7080,6 +7881,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create postgresql database", @@ -7102,7 +7906,6 @@ "consumes": [ "application/json" ], - "description": "从服务器获取", "parameters": [ { "description": "request", @@ -7118,6 +7921,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load postgresql database from remote", @@ -7131,7 +7937,6 @@ "consumes": [ "application/json" ], - "description": "绑定 postgresql 数据库用户", "parameters": [ { "description": "request", @@ -7151,6 +7956,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Bind postgresql user", @@ -7174,7 +7982,6 @@ "consumes": [ "application/json" ], - "description": "删除 postgresql 数据库", "parameters": [ { "description": "request", @@ -7194,6 +8001,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete postgresql database", @@ -7225,7 +8035,6 @@ "consumes": [ "application/json" ], - "description": "Postgresql 数据库删除前检查", "parameters": [ { "description": "request", @@ -7251,6 +8060,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check before delete postgresql database", @@ -7264,7 +8076,6 @@ "consumes": [ "application/json" ], - "description": "更新 postgresql 数据库库描述信息", "parameters": [ { "description": "request", @@ -7284,6 +8095,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update postgresql database description", @@ -7316,7 +8130,6 @@ "consumes": [ "application/json" ], - "description": "修改 postgresql 密码", "parameters": [ { "description": "request", @@ -7336,6 +8149,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change postgresql password", @@ -7367,7 +8183,6 @@ "consumes": [ "application/json" ], - "description": "修改 postgresql 用户权限", "parameters": [ { "description": "request", @@ -7387,6 +8202,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change postgresql privileges", @@ -7410,7 +8228,6 @@ "consumes": [ "application/json" ], - "description": "获取 postgresql 数据库列表分页", "parameters": [ { "description": "request", @@ -7433,6 +8250,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page postgresql databases", @@ -7446,7 +8266,6 @@ "consumes": [ "application/json" ], - "description": "获取 redis 配置信息", "parameters": [ { "description": "request", @@ -7469,6 +8288,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load redis conf", @@ -7482,7 +8304,6 @@ "consumes": [ "application/json" ], - "description": "更新 redis 配置信息", "parameters": [ { "description": "request", @@ -7502,6 +8323,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update redis conf", @@ -7519,7 +8343,6 @@ }, "/databases/redis/install/cli": { "post": { - "description": "安装 redis cli", "responses": { "200": { "description": "OK" @@ -7528,6 +8351,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Install redis-cli", @@ -7541,7 +8367,6 @@ "consumes": [ "application/json" ], - "description": "更新 redis 密码", "parameters": [ { "description": "request", @@ -7561,6 +8386,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change redis password", @@ -7581,7 +8409,6 @@ "consumes": [ "application/json" ], - "description": "获取 redis 持久化配置", "parameters": [ { "description": "request", @@ -7604,6 +8431,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load redis persistence conf", @@ -7617,7 +8447,6 @@ "consumes": [ "application/json" ], - "description": "更新 redis 持久化配置", "parameters": [ { "description": "request", @@ -7637,6 +8466,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update redis persistence conf", @@ -7657,7 +8489,6 @@ "consumes": [ "application/json" ], - "description": "获取 redis 状态信息", "parameters": [ { "description": "request", @@ -7680,6 +8511,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load redis status info", @@ -7693,7 +8527,6 @@ "consumes": [ "application/json" ], - "description": "获取 mysql 远程访问权限", "parameters": [ { "description": "request", @@ -7716,6 +8549,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load mysql remote access", @@ -7729,7 +8565,6 @@ "consumes": [ "application/json" ], - "description": "获取 mysql 数据库列表分页", "parameters": [ { "description": "request", @@ -7752,6 +8587,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page mysql databases", @@ -7765,7 +8603,6 @@ "consumes": [ "application/json" ], - "description": "获取 mysql 状态信息", "parameters": [ { "description": "request", @@ -7788,6 +8625,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load mysql status info", @@ -7801,7 +8641,6 @@ "consumes": [ "application/json" ], - "description": "获取 mysql 性能参数信息", "parameters": [ { "description": "request", @@ -7824,6 +8663,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load mysql variables info", @@ -7837,7 +8679,6 @@ "consumes": [ "application/json" ], - "description": "mysql 性能调优", "parameters": [ { "description": "request", @@ -7857,6 +8698,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update mysql variables", @@ -7877,7 +8721,6 @@ "consumes": [ "application/json" ], - "description": "Mysql 远程数据库删除前检查", "parameters": [ { "description": "request", @@ -7903,6 +8746,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check before delete remote database", @@ -7916,7 +8762,6 @@ "consumes": [ "application/json" ], - "description": "创建文件/文件夹", "parameters": [ { "description": "request", @@ -7936,6 +8781,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create file", @@ -7958,7 +8806,6 @@ "consumes": [ "application/json" ], - "description": "批量删除文件/文件夹", "parameters": [ { "description": "request", @@ -7978,6 +8825,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Batch delete file", @@ -8000,7 +8850,6 @@ "consumes": [ "application/json" ], - "description": "批量修改文件权限和用户/组", "parameters": [ { "description": "request", @@ -8020,6 +8869,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Batch change file mode and owner", @@ -8045,7 +8897,6 @@ "consumes": [ "application/json" ], - "description": "检测文件是否存在", "parameters": [ { "description": "request", @@ -8059,12 +8910,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "boolean" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check file exist", @@ -8078,7 +8935,6 @@ "consumes": [ "application/json" ], - "description": "分片下载下载文件", "parameters": [ { "description": "request", @@ -8098,6 +8954,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Chunk Download file", @@ -8117,7 +8976,6 @@ }, "/files/chunkupload": { "post": { - "description": "分片上传文件", "parameters": [ { "description": "request", @@ -8135,6 +8993,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "ChunkUpload file", @@ -8148,7 +9009,6 @@ "consumes": [ "application/json" ], - "description": "压缩文件", "parameters": [ { "description": "request", @@ -8168,6 +9028,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Compress file", @@ -8190,7 +9053,6 @@ "consumes": [ "application/json" ], - "description": "获取文件内容", "parameters": [ { "description": "request", @@ -8213,6 +9075,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load file content", @@ -8235,7 +9100,6 @@ "consumes": [ "application/json" ], - "description": "解压文件", "parameters": [ { "description": "request", @@ -8255,6 +9119,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Decompress file", @@ -8277,7 +9144,6 @@ "consumes": [ "application/json" ], - "description": "删除文件/文件夹", "parameters": [ { "description": "request", @@ -8297,6 +9163,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete file", @@ -8319,7 +9188,6 @@ "consumes": [ "application/json" ], - "description": "下载文件", "responses": { "200": { "description": "OK" @@ -8328,6 +9196,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Download file", @@ -8341,7 +9212,6 @@ "consumes": [ "application/json" ], - "description": "创建收藏", "parameters": [ { "description": "request", @@ -8355,12 +9225,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/model.Favorite" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create favorite", @@ -8383,7 +9259,6 @@ "consumes": [ "application/json" ], - "description": "删除收藏", "parameters": [ { "description": "request", @@ -8403,6 +9278,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete favorite", @@ -8434,7 +9312,6 @@ "consumes": [ "application/json" ], - "description": "获取收藏列表", "parameters": [ { "description": "request", @@ -8448,12 +9325,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List favorites", @@ -8467,7 +9350,6 @@ "consumes": [ "application/json" ], - "description": "修改文件权限", "parameters": [ { "description": "request", @@ -8487,6 +9369,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change file mode", @@ -8510,7 +9395,6 @@ "consumes": [ "application/json" ], - "description": "移动文件", "parameters": [ { "description": "request", @@ -8530,6 +9414,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Move file", @@ -8553,7 +9440,6 @@ "consumes": [ "application/json" ], - "description": "修改文件用户/组", "parameters": [ { "description": "request", @@ -8573,6 +9459,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change file owner", @@ -8594,7 +9483,6 @@ }, "/files/read": { "post": { - "description": "按行读取日志文件", "parameters": [ { "description": "request", @@ -8608,12 +9496,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileLineContent" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Read file by Line", @@ -8627,7 +9521,6 @@ "consumes": [ "application/json" ], - "description": "清空回收站文件", "responses": { "200": { "description": "OK" @@ -8636,6 +9529,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clear RecycleBin files", @@ -8656,7 +9552,6 @@ "consumes": [ "application/json" ], - "description": "还原回收站文件", "parameters": [ { "description": "request", @@ -8676,6 +9571,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Reduce RecycleBin files", @@ -8698,7 +9596,6 @@ "consumes": [ "application/json" ], - "description": "获取回收站文件列表", "parameters": [ { "description": "request", @@ -8712,12 +9609,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List RecycleBin files", @@ -8731,15 +9634,20 @@ "consumes": [ "application/json" ], - "description": "获取回收站状态", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get RecycleBin status", @@ -8753,7 +9661,6 @@ "consumes": [ "application/json" ], - "description": "修改文件名称", "parameters": [ { "description": "request", @@ -8773,6 +9680,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change file name", @@ -8796,7 +9706,6 @@ "consumes": [ "application/json" ], - "description": "更新文件内容", "parameters": [ { "description": "request", @@ -8816,6 +9725,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update file content", @@ -8838,7 +9750,6 @@ "consumes": [ "application/json" ], - "description": "获取文件列表", "parameters": [ { "description": "request", @@ -8861,6 +9772,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List files", @@ -8874,7 +9788,6 @@ "consumes": [ "application/json" ], - "description": "获取文件夹大小", "parameters": [ { "description": "request", @@ -8888,12 +9801,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.DirSizeRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load file size", @@ -8916,7 +9835,6 @@ "consumes": [ "application/json" ], - "description": "加载文件树", "parameters": [ { "description": "request", @@ -8942,6 +9860,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load files tree", @@ -8952,7 +9873,6 @@ }, "/files/upload": { "post": { - "description": "上传文件", "parameters": [ { "description": "request", @@ -8970,6 +9890,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Upload file", @@ -8992,7 +9915,6 @@ "consumes": [ "application/json" ], - "description": "分页获取上传文件", "parameters": [ { "description": "request", @@ -9008,16 +9930,16 @@ "200": { "description": "OK", "schema": { - "items": { - "$ref": "#/definitions/response.FileInfo" - }, - "type": "array" + "$ref": "#/definitions/dto.PageResult" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page file", @@ -9031,7 +9953,6 @@ "consumes": [ "application/json" ], - "description": "下载远端文件", "parameters": [ { "description": "request", @@ -9045,12 +9966,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileWgetRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Wget file", @@ -9075,7 +10002,6 @@ "consumes": [ "application/json" ], - "description": "上传文件更新 SSH 配置", "parameters": [ { "description": "request", @@ -9095,6 +10021,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update host SSH setting by file", @@ -9112,15 +10041,20 @@ }, "/host/ssh/conf": { "get": { - "description": "获取 SSH 配置文件", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load host SSH conf", @@ -9134,7 +10068,6 @@ "consumes": [ "application/json" ], - "description": "生成 SSH 密钥", "parameters": [ { "description": "request", @@ -9154,6 +10087,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Generate host SSH secret", @@ -9174,7 +10110,6 @@ "consumes": [ "application/json" ], - "description": "获取 SSH 登录日志", "parameters": [ { "description": "request", @@ -9197,6 +10132,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load host SSH logs", @@ -9210,7 +10148,6 @@ "consumes": [ "application/json" ], - "description": "修改 SSH 服务状态", "parameters": [ { "description": "request", @@ -9222,10 +10159,17 @@ } } ], - "responses": {}, + "responses": { + "200": { + "description": "OK" + } + }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate SSH", @@ -9245,7 +10189,6 @@ }, "/host/ssh/search": { "post": { - "description": "加载 SSH 配置信息", "responses": { "200": { "description": "OK", @@ -9257,6 +10200,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load host SSH setting info", @@ -9270,7 +10216,6 @@ "consumes": [ "application/json" ], - "description": "获取 SSH 密钥", "parameters": [ { "description": "request", @@ -9284,12 +10229,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load host SSH secret", @@ -9303,7 +10254,6 @@ "consumes": [ "application/json" ], - "description": "更新 SSH 配置", "parameters": [ { "description": "request", @@ -9323,6 +10273,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update host SSH setting", @@ -9346,7 +10299,6 @@ "consumes": [ "application/json" ], - "description": "获取主机工具状态", "parameters": [ { "description": "request", @@ -9360,15 +10312,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.HostToolRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Get tool", + "summary": "Get tool status", "tags": [ "Host tool" ] @@ -9379,7 +10337,6 @@ "consumes": [ "application/json" ], - "description": "操作主机工具配置文件", "parameters": [ { "description": "request", @@ -9393,12 +10350,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.HostToolConfig" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get tool config", @@ -9421,7 +10384,6 @@ "consumes": [ "application/json" ], - "description": "创建主机工具配置", "parameters": [ { "description": "request", @@ -9441,6 +10403,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create Host tool Config", @@ -9463,7 +10428,6 @@ "consumes": [ "application/json" ], - "description": "获取主机工具日志", "parameters": [ { "description": "request", @@ -9477,15 +10441,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Get tool", + "summary": "Get tool logs", "tags": [ "Host tool" ] @@ -9496,7 +10466,6 @@ "consumes": [ "application/json" ], - "description": "操作主机工具", "parameters": [ { "description": "request", @@ -9516,6 +10485,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate tool", @@ -9539,15 +10511,20 @@ "consumes": [ "application/json" ], - "description": "获取 Supervisor 进程配置", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.SupervisorProcessConfig" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get Supervisor process config", @@ -9559,7 +10536,6 @@ "consumes": [ "application/json" ], - "description": "操作守护进程", "parameters": [ { "description": "request", @@ -9579,6 +10555,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create Supervisor process", @@ -9601,7 +10580,6 @@ "consumes": [ "application/json" ], - "description": "操作 Supervisor 进程文件", "parameters": [ { "description": "request", @@ -9615,15 +10593,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Get Supervisor process config", + "summary": "Get Supervisor process config file", "tags": [ "Host tool" ], @@ -9640,7 +10624,6 @@ }, "/hosts/firewall/base": { "get": { - "description": "获取防火墙基础信息", "responses": { "200": { "description": "OK", @@ -9652,6 +10635,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load firewall base info", @@ -9665,7 +10651,6 @@ "consumes": [ "application/json" ], - "description": "批量删除防火墙规则", "parameters": [ { "description": "request", @@ -9685,6 +10670,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -9698,7 +10686,6 @@ "consumes": [ "application/json" ], - "description": "更新防火墙端口转发规则", "parameters": [ { "description": "request", @@ -9718,6 +10705,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -9740,7 +10730,6 @@ "consumes": [ "application/json" ], - "description": "创建防火墙 IP 规则", "parameters": [ { "description": "request", @@ -9760,6 +10749,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -9783,7 +10775,6 @@ "consumes": [ "application/json" ], - "description": "修改防火墙状态", "parameters": [ { "description": "request", @@ -9797,18 +10788,18 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } + "description": "OK" } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], - "summary": "Page firewall status", + "summary": "Operate firewall", "tags": [ "Firewall" ], @@ -9828,7 +10819,6 @@ "consumes": [ "application/json" ], - "description": "创建防火墙端口规则", "parameters": [ { "description": "request", @@ -9848,6 +10838,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -9871,7 +10864,6 @@ "consumes": [ "application/json" ], - "description": "获取防火墙规则列表分页", "parameters": [ { "description": "request", @@ -9894,6 +10886,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page firewall rules", @@ -9907,7 +10902,6 @@ "consumes": [ "application/json" ], - "description": "更新 ip 防火墙规则", "parameters": [ { "description": "request", @@ -9927,6 +10921,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -9940,7 +10937,6 @@ "consumes": [ "application/json" ], - "description": "更新防火墙描述", "parameters": [ { "description": "request", @@ -9960,6 +10956,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update rule description", @@ -9973,7 +10972,6 @@ "consumes": [ "application/json" ], - "description": "更新端口防火墙规则", "parameters": [ { "description": "request", @@ -9993,6 +10991,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create group", @@ -10003,7 +11004,6 @@ }, "/hosts/monitor/clean": { "post": { - "description": "清空监控数据", "responses": { "200": { "description": "OK" @@ -10012,6 +11012,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean monitor data", @@ -10029,7 +11032,6 @@ }, "/hosts/monitor/search": { "post": { - "description": "获取监控数据", "parameters": [ { "description": "request", @@ -10043,12 +11045,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.MonitorData" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load monitor data", @@ -10059,15 +11070,20 @@ }, "/hosts/monitor/setting": { "get": { - "description": "获取默认监控设置", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.MonitorSetting" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load monitor setting", @@ -10078,7 +11094,6 @@ }, "/hosts/monitor/setting/update": { "post": { - "description": "更新默认监控设置", "parameters": [ { "description": "request", @@ -10098,6 +11113,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update monitor setting", @@ -10121,15 +11139,23 @@ "consumes": [ "application/json" ], - "description": "删除运行环境校验", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AppResource" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete runtime", @@ -10140,15 +11166,20 @@ }, "/logs/system": { "post": { - "description": "获取系统日志", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system logs", @@ -10159,15 +11190,23 @@ }, "/logs/system/files": { "get": { - "description": "获取系统日志文件列表", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system log files", @@ -10176,12 +11215,35 @@ ] } }, + "/logs/tasks/executing/count": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "integer" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Get the number of executing tasks", + "tags": [ + "TaskLog" + ] + } + }, "/logs/tasks/search": { "post": { "consumes": [ "application/json" ], - "description": "获取任务日志列表", "parameters": [ { "description": "request", @@ -10204,6 +11266,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page task logs", @@ -10214,18 +11279,20 @@ }, "/openresty": { "get": { - "description": "获取 OpenResty 配置信息", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/response.FileInfo" + "$ref": "#/definitions/response.NginxFile" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load OpenResty conf", @@ -10239,7 +11306,6 @@ "consumes": [ "application/json" ], - "description": "构建 OpenResty", "parameters": [ { "description": "request", @@ -10259,6 +11325,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Build OpenResty", @@ -10274,38 +11343,11 @@ } } }, - "/openresty/clear": { - "post": { - "description": "清理 OpenResty 代理缓存", - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "Clear OpenResty proxy cache", - "tags": [ - "OpenResty" - ], - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Clear nginx proxy cache", - "formatZH": "清理 Openresty 代理缓存", - "paramKeys": [] - } - } - }, "/openresty/file": { "post": { "consumes": [ "application/json" ], - "description": "上传更新 OpenResty 配置文件", "parameters": [ { "description": "request", @@ -10325,6 +11367,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update OpenResty conf by upload file", @@ -10345,7 +11390,6 @@ "consumes": [ "application/json" ], - "description": "更新 OpenResty 模块", "parameters": [ { "description": "request", @@ -10365,6 +11409,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update OpenResty module", @@ -10382,21 +11429,20 @@ }, "/openresty/modules": { "get": { - "description": "获取 OpenResty 模块", "responses": { "200": { "description": "OK", "schema": { - "items": { - "$ref": "#/definitions/response.NginxModule" - }, - "type": "array" + "$ref": "#/definitions/response.NginxBuildConfig" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get OpenResty modules", @@ -10410,7 +11456,6 @@ "consumes": [ "application/json" ], - "description": "获取部分 OpenResty 配置信息", "parameters": [ { "description": "request", @@ -10436,6 +11481,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load partial OpenResty conf", @@ -10446,7 +11494,6 @@ }, "/openresty/status": { "get": { - "description": "获取 OpenResty 状态信息", "responses": { "200": { "description": "OK", @@ -10458,6 +11505,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load OpenResty status info", @@ -10471,7 +11521,6 @@ "consumes": [ "application/json" ], - "description": "更新 OpenResty 配置信息", "parameters": [ { "description": "request", @@ -10491,6 +11540,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update OpenResty conf", @@ -10519,7 +11571,6 @@ }, "/process/stop": { "post": { - "description": "停止进程", "parameters": [ { "description": "request", @@ -10539,6 +11590,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Stop Process", @@ -10561,7 +11615,6 @@ "consumes": [ "application/json" ], - "description": "删除备份记录", "parameters": [ { "description": "request", @@ -10581,6 +11634,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete backup record", @@ -10612,7 +11668,6 @@ "consumes": [ "application/json" ], - "description": "创建运行环境", "parameters": [ { "description": "request", @@ -10626,12 +11681,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/model.Runtime" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create runtime", @@ -10654,7 +11715,6 @@ "consumes": [ "application/json" ], - "description": "获取运行环境", "parameters": [ { "description": "request", @@ -10666,12 +11726,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.RuntimeDTO" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get runtime", @@ -10685,7 +11751,6 @@ "consumes": [ "application/json" ], - "description": "删除运行环境", "parameters": [ { "description": "request", @@ -10705,6 +11770,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete runtime", @@ -10716,8 +11784,8 @@ "bodyKeys": [ "id" ], - "formatEN": "Delete website [name]", - "formatZH": "删除网站 [name]", + "formatEN": "Delete runtime [name]", + "formatZH": "删除运行环境 [name]", "paramKeys": [] } } @@ -10727,7 +11795,6 @@ "consumes": [ "application/json" ], - "description": "获取 Node 项目的 modules", "parameters": [ { "description": "request", @@ -10741,12 +11808,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.NodeModule" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get Node modules", @@ -10760,7 +11836,6 @@ "consumes": [ "application/json" ], - "description": "操作 Node 项目 modules", "parameters": [ { "description": "request", @@ -10780,6 +11855,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate Node modules", @@ -10793,7 +11871,6 @@ "consumes": [ "application/json" ], - "description": "获取 Node 项目的 scripts", "parameters": [ { "description": "request", @@ -10807,12 +11884,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.PackageScripts" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get Node package scripts", @@ -10826,7 +11912,6 @@ "consumes": [ "application/json" ], - "description": "操作运行环境", "parameters": [ { "description": "request", @@ -10846,6 +11931,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate runtime", @@ -10868,7 +11956,6 @@ "consumes": [ "application/json" ], - "description": "获取 PHP 运行环境扩展", "parameters": [ { "description": "request", @@ -10880,12 +11967,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.PHPExtensionRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get php runtime extension", @@ -10899,7 +11992,6 @@ "consumes": [ "application/json" ], - "description": "更新运行环境 PHP 配置", "parameters": [ { "description": "request", @@ -10919,6 +12011,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update runtime php conf", @@ -10950,7 +12045,6 @@ "consumes": [ "application/json" ], - "description": "获取 php 运行环境配置", "parameters": [ { "description": "request", @@ -10971,6 +12065,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load php runtime conf", @@ -10984,7 +12081,6 @@ "consumes": [ "application/json" ], - "description": "Create Extensions", "parameters": [ { "description": "request", @@ -11004,6 +12100,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create Extensions", @@ -11017,7 +12116,6 @@ "consumes": [ "application/json" ], - "description": "Delete Extensions", "parameters": [ { "description": "request", @@ -11037,6 +12135,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete Extensions", @@ -11050,7 +12151,6 @@ "consumes": [ "application/json" ], - "description": "安装 PHP 扩展", "parameters": [ { "description": "request", @@ -11070,6 +12170,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Install php extension", @@ -11083,7 +12186,6 @@ "consumes": [ "application/json" ], - "description": "Page Extensions", "parameters": [ { "description": "request", @@ -11099,16 +12201,16 @@ "200": { "description": "OK", "schema": { - "items": { - "$ref": "#/definitions/response.PHPExtensionsDTO" - }, - "type": "array" + "$ref": "#/definitions/dto.PageResult" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page Extensions", @@ -11122,7 +12224,6 @@ "consumes": [ "application/json" ], - "description": "卸载 PHP 扩展", "parameters": [ { "description": "request", @@ -11142,6 +12243,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "UnInstall php extension", @@ -11155,7 +12259,6 @@ "consumes": [ "application/json" ], - "description": "Update Extensions", "parameters": [ { "description": "request", @@ -11175,6 +12278,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update Extensions", @@ -11188,7 +12294,6 @@ "consumes": [ "application/json" ], - "description": "获取 php 配置文件", "parameters": [ { "description": "request", @@ -11202,12 +12307,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileInfo" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get php conf file", @@ -11221,7 +12332,6 @@ "consumes": [ "application/json" ], - "description": "更新 fpm 配置", "parameters": [ { "description": "request", @@ -11241,6 +12351,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update fpm config", @@ -11254,7 +12367,6 @@ "consumes": [ "application/json" ], - "description": "获取 fpm 配置", "parameters": [ { "description": "request", @@ -11275,6 +12387,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get fpm config", @@ -11288,7 +12403,6 @@ "consumes": [ "application/json" ], - "description": "更新 php 配置文件", "parameters": [ { "description": "request", @@ -11308,6 +12422,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update php conf file", @@ -11339,7 +12456,6 @@ "consumes": [ "application/json" ], - "description": "获取运行环境列表", "parameters": [ { "description": "request", @@ -11353,12 +12469,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List runtimes", @@ -11372,7 +12494,6 @@ "consumes": [ "application/json" ], - "description": "获取 supervisor 进程", "parameters": [ { "description": "request", @@ -11386,13 +12507,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/response.SupervisorProcessConfig" + "items": { + "$ref": "#/definitions/response.SupervisorProcessConfig" + }, + "type": "array" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get supervisor process", @@ -11406,7 +12533,6 @@ "consumes": [ "application/json" ], - "description": "操作 supervisor 进程文件", "parameters": [ { "description": "request", @@ -11420,12 +12546,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate supervisor process file", @@ -11439,7 +12571,6 @@ "consumes": [ "application/json" ], - "description": "操作 supervisor 进程", "parameters": [ { "description": "request", @@ -11459,6 +12590,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate supervisor process", @@ -11472,7 +12606,6 @@ "consumes": [ "application/json" ], - "description": "同步运行环境状态", "responses": { "200": { "description": "OK" @@ -11494,7 +12627,6 @@ "consumes": [ "application/json" ], - "description": "更新运行环境", "parameters": [ { "description": "request", @@ -11514,6 +12646,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update runtime", @@ -11531,9 +12666,11 @@ } } }, - "/settings/basedir": { - "get": { - "description": "获取安装根目录", + "/settings/api/config/generate/key": { + "post": { + "consumes": [ + "application/json" + ], "responses": { "200": { "description": "OK", @@ -11545,6 +12682,84 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "generate api key", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "generate api key", + "formatZH": "生成 API 接口密钥", + "paramKeys": [] + } + } + }, + "/settings/api/config/update": { + "post": { + "consumes": [ + "application/json" + ], + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ApiInterfaceConfig" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Update api config", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "ipWhiteList" + ], + "formatEN": "update api config =\u003e IP White List: [ipWhiteList]", + "formatZH": "更新 API 接口配置 =\u003e IP 白名单: [ipWhiteList]", + "paramKeys": [] + } + } + }, + "/settings/basedir": { + "get": { + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load local backup dir", @@ -11555,7 +12770,6 @@ }, "/settings/search": { "post": { - "description": "加载系统配置信息", "responses": { "200": { "description": "OK", @@ -11567,6 +12781,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system setting info", @@ -11577,7 +12794,6 @@ }, "/settings/search/available": { "get": { - "description": "获取系统可用状态", "responses": { "200": { "description": "OK" @@ -11586,6 +12802,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system available status", @@ -11599,7 +12818,6 @@ "consumes": [ "application/json" ], - "description": "创建系统快照", "parameters": [ { "description": "request", @@ -11619,6 +12837,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create system snapshot", @@ -11642,7 +12863,6 @@ "consumes": [ "application/json" ], - "description": "删除系统快照", "parameters": [ { "description": "request", @@ -11662,6 +12882,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete system backup", @@ -11693,7 +12916,6 @@ "consumes": [ "application/json" ], - "description": "更新快照描述信息", "parameters": [ { "description": "request", @@ -11713,6 +12935,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update snapshot description", @@ -11745,7 +12970,6 @@ "consumes": [ "application/json" ], - "description": "导入已有快照", "parameters": [ { "description": "request", @@ -11765,6 +12989,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Import system snapshot", @@ -11785,15 +13012,20 @@ }, "/settings/snapshot/load": { "get": { - "description": "获取系统快照数据", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SnapshotData" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load system snapshot data", @@ -11807,7 +13039,6 @@ "consumes": [ "application/json" ], - "description": "从系统快照恢复", "parameters": [ { "description": "request", @@ -11827,6 +13058,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Recover system backup", @@ -11858,7 +13092,6 @@ "consumes": [ "application/json" ], - "description": "创建系统快照重试", "parameters": [ { "description": "request", @@ -11878,6 +13111,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Recreate system snapshot", @@ -11909,7 +13145,6 @@ "consumes": [ "application/json" ], - "description": "从系统快照回滚", "parameters": [ { "description": "request", @@ -11929,6 +13164,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Rollback system backup", @@ -11960,7 +13198,6 @@ "consumes": [ "application/json" ], - "description": "获取系统快照列表分页", "parameters": [ { "description": "request", @@ -11968,7 +13205,7 @@ "name": "request", "required": true, "schema": { - "$ref": "#/definitions/dto.SearchWithPage" + "$ref": "#/definitions/dto.PageSnapshot" } } ], @@ -11983,6 +13220,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page system snapshot", @@ -11991,45 +13231,11 @@ ] } }, - "/settings/snapshot/size": { - "post": { - "consumes": [ - "application/json" - ], - "description": "获取系统快照文件大小", - "parameters": [ - { - "description": "request", - "in": "body", - "name": "request", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "ApiKeyAuth": [] - } - ], - "summary": "Load system snapshot size", - "tags": [ - "System Setting" - ] - } - }, "/settings/update": { "post": { "consumes": [ "application/json" ], - "description": "更新系统配置", "parameters": [ { "description": "request", @@ -12049,6 +13255,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update system setting", @@ -12072,7 +13281,6 @@ "consumes": [ "application/json" ], - "description": "创建扫描规则", "parameters": [ { "description": "request", @@ -12092,6 +13300,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create clam", @@ -12115,7 +13326,6 @@ "consumes": [ "application/json" ], - "description": "获取 Clam 基础信息", "responses": { "200": { "description": "OK", @@ -12127,6 +13337,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load clam base info", @@ -12140,7 +13353,6 @@ "consumes": [ "application/json" ], - "description": "删除扫描规则", "parameters": [ { "description": "request", @@ -12160,6 +13372,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete clam", @@ -12191,7 +13406,6 @@ "consumes": [ "application/json" ], - "description": "获取扫描文件", "parameters": [ { "description": "request", @@ -12207,13 +13421,16 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/dto.PageResult" + "type": "string" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load clam file", @@ -12227,7 +13444,6 @@ "consumes": [ "application/json" ], - "description": "更新病毒扫描配置文件", "parameters": [ { "description": "request", @@ -12247,6 +13463,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update clam file", @@ -12260,7 +13479,6 @@ "consumes": [ "application/json" ], - "description": "执行病毒扫描", "parameters": [ { "description": "request", @@ -12280,6 +13498,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Handle clam scan", @@ -12311,7 +13532,6 @@ "consumes": [ "application/json" ], - "description": "修改 Clam 状态", "parameters": [ { "description": "request", @@ -12323,10 +13543,17 @@ } } ], - "responses": {}, + "responses": { + "200": { + "description": "OK" + } + }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate Clam", @@ -12349,7 +13576,6 @@ "consumes": [ "application/json" ], - "description": "清空扫描报告", "parameters": [ { "description": "request", @@ -12361,10 +13587,17 @@ } } ], - "responses": {}, + "responses": { + "200": { + "description": "OK" + } + }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean clam record", @@ -12396,7 +13629,6 @@ "consumes": [ "application/json" ], - "description": "获取扫描结果详情", "parameters": [ { "description": "request", @@ -12410,12 +13642,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load clam record detail", @@ -12429,7 +13667,6 @@ "consumes": [ "application/json" ], - "description": "获取扫描结果列表分页", "parameters": [ { "description": "request", @@ -12452,6 +13689,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page clam record", @@ -12465,7 +13705,6 @@ "consumes": [ "application/json" ], - "description": "获取扫描规则列表分页", "parameters": [ { "description": "request", @@ -12488,6 +13727,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page clam", @@ -12501,7 +13743,6 @@ "consumes": [ "application/json" ], - "description": "修改扫描规则状态", "parameters": [ { "description": "request", @@ -12521,6 +13762,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update clam status", @@ -12553,7 +13797,6 @@ "consumes": [ "application/json" ], - "description": "修改扫描规则", "parameters": [ { "description": "request", @@ -12573,6 +13816,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update clam", @@ -12596,7 +13842,6 @@ "consumes": [ "application/json" ], - "description": "清理系统垃圾文件", "parameters": [ { "description": "request", @@ -12619,6 +13864,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Clean system", @@ -12636,7 +13884,6 @@ }, "/toolbox/device/base": { "post": { - "description": "获取设备基础信息", "responses": { "200": { "description": "OK", @@ -12648,6 +13895,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load device base info", @@ -12661,7 +13911,6 @@ "consumes": [ "application/json" ], - "description": "检查系统 DNS 配置可用性", "parameters": [ { "description": "request", @@ -12675,12 +13924,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "boolean" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check device DNS conf", @@ -12694,7 +13949,6 @@ "consumes": [ "application/json" ], - "description": "获取系统配置文件", "parameters": [ { "description": "request", @@ -12708,12 +13962,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "load conf", @@ -12727,7 +13990,6 @@ "consumes": [ "application/json" ], - "description": "通过文件修改配置", "parameters": [ { "description": "request", @@ -12747,6 +14009,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update device conf by file", @@ -12760,7 +14025,6 @@ "consumes": [ "application/json" ], - "description": "修改系统参数", "parameters": [ { "description": "request", @@ -12780,6 +14044,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update device", @@ -12800,7 +14067,6 @@ }, "/toolbox/device/update/host": { "post": { - "description": "修改系统 hosts", "responses": { "200": { "description": "OK" @@ -12809,6 +14075,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update device hosts", @@ -12832,7 +14101,6 @@ "consumes": [ "application/json" ], - "description": "修改系统密码", "parameters": [ { "description": "request", @@ -12852,6 +14120,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update device passwd", @@ -12865,7 +14136,6 @@ "consumes": [ "application/json" ], - "description": "修改系统 Swap", "parameters": [ { "description": "request", @@ -12885,6 +14155,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update device swap", @@ -12905,7 +14178,6 @@ }, "/toolbox/device/users": { "get": { - "description": "获取服务器用户列表", "responses": { "200": { "description": "OK" @@ -12914,6 +14186,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load user list", @@ -12927,7 +14202,6 @@ "consumes": [ "application/json" ], - "description": "获取系统可用时区选项", "responses": { "200": { "description": "OK", @@ -12939,6 +14213,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "list time zone options", @@ -12949,7 +14226,6 @@ }, "/toolbox/fail2ban/base": { "get": { - "description": "获取 Fail2ban 基础信息", "responses": { "200": { "description": "OK", @@ -12961,6 +14237,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load fail2ban base info", @@ -12974,15 +14253,20 @@ "consumes": [ "application/json" ], - "description": "获取 fail2ban 配置文件", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "string" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load fail2ban conf", @@ -12996,7 +14280,6 @@ "consumes": [ "application/json" ], - "description": "修改 Fail2ban 状态", "parameters": [ { "description": "request", @@ -13012,6 +14295,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate fail2ban", @@ -13034,7 +14320,6 @@ "consumes": [ "application/json" ], - "description": "配置 sshd", "parameters": [ { "description": "request", @@ -13050,6 +14335,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate sshd of fail2ban", @@ -13063,7 +14351,6 @@ "consumes": [ "application/json" ], - "description": "获取 Fail2ban ip", "parameters": [ { "description": "request", @@ -13086,6 +14373,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page fail2ban ip list", @@ -13099,7 +14389,6 @@ "consumes": [ "application/json" ], - "description": "修改 Fail2ban 配置", "parameters": [ { "description": "request", @@ -13119,6 +14408,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update fail2ban conf", @@ -13142,7 +14434,6 @@ "consumes": [ "application/json" ], - "description": "通过文件修改 fail2ban 配置", "parameters": [ { "description": "request", @@ -13162,6 +14453,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update fail2ban conf by file", @@ -13175,7 +14469,6 @@ "consumes": [ "application/json" ], - "description": "创建 FTP 账户", "parameters": [ { "description": "request", @@ -13195,6 +14488,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create FTP user", @@ -13215,7 +14511,6 @@ }, "/toolbox/ftp/base": { "get": { - "description": "获取 FTP 基础信息", "responses": { "200": { "description": "OK", @@ -13227,6 +14522,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load FTP base info", @@ -13240,7 +14538,6 @@ "consumes": [ "application/json" ], - "description": "删除 FTP 账户", "parameters": [ { "description": "request", @@ -13260,6 +14557,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete FTP user", @@ -13291,7 +14591,6 @@ "consumes": [ "application/json" ], - "description": "获取 FTP 操作日志", "parameters": [ { "description": "request", @@ -13314,6 +14613,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load FTP operation log", @@ -13327,7 +14629,6 @@ "consumes": [ "application/json" ], - "description": "修改 FTP 状态", "parameters": [ { "description": "request", @@ -13343,6 +14644,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate FTP", @@ -13365,7 +14669,6 @@ "consumes": [ "application/json" ], - "description": "获取 FTP 账户列表分页", "parameters": [ { "description": "request", @@ -13388,6 +14691,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page FTP user", @@ -13401,7 +14707,6 @@ "consumes": [ "application/json" ], - "description": "同步 FTP 账户", "parameters": [ { "description": "request", @@ -13421,6 +14726,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Sync FTP user", @@ -13441,7 +14749,6 @@ "consumes": [ "application/json" ], - "description": "修改 FTP 账户", "parameters": [ { "description": "request", @@ -13461,6 +14768,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update FTP user", @@ -13481,15 +14791,20 @@ }, "/toolbox/scan": { "post": { - "description": "扫描系统垃圾文件", "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.CleanData" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Scan system", @@ -13510,7 +14825,6 @@ "consumes": [ "application/json" ], - "description": "创建网站", "parameters": [ { "description": "request", @@ -13530,6 +14844,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website", @@ -13552,7 +14869,6 @@ "consumes": [ "application/json" ], - "description": "通过 id 查询网站", "parameters": [ { "description": "request", @@ -13573,6 +14889,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search website by id", @@ -13586,7 +14905,6 @@ "consumes": [ "application/json" ], - "description": "通过 id 查询网站 nginx", "parameters": [ { "description": "request", @@ -13607,6 +14925,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search website nginx by id", @@ -13620,7 +14941,6 @@ "consumes": [ "application/json" ], - "description": "获取 https 配置", "parameters": [ { "description": "request", @@ -13641,6 +14961,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load https conf", @@ -13652,7 +14975,6 @@ "consumes": [ "application/json" ], - "description": "更新 https 配置", "parameters": [ { "description": "request", @@ -13675,6 +14997,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update https conf", @@ -13706,7 +15031,6 @@ "consumes": [ "application/json" ], - "description": "创建网站 acme", "parameters": [ { "description": "request", @@ -13729,6 +15053,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website acme account", @@ -13751,7 +15078,6 @@ "consumes": [ "application/json" ], - "description": "删除网站 acme", "parameters": [ { "description": "request", @@ -13771,6 +15097,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website acme account", @@ -13802,7 +15131,6 @@ "consumes": [ "application/json" ], - "description": "获取网站 acme 列表分页", "parameters": [ { "description": "request", @@ -13825,6 +15153,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page website acme accounts", @@ -13838,7 +15169,6 @@ "consumes": [ "application/json" ], - "description": "获取密码访问配置", "parameters": [ { "description": "request", @@ -13852,12 +15182,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.NginxAuthRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get AuthBasic conf", @@ -13871,7 +15207,6 @@ "consumes": [ "application/json" ], - "description": "获取路由密码访问配置", "parameters": [ { "description": "request", @@ -13885,12 +15220,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.NginxPathAuthRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get AuthBasic conf", @@ -13904,7 +15245,6 @@ "consumes": [ "application/json" ], - "description": "更新路由密码访问配置", "parameters": [ { "description": "request", @@ -13924,6 +15264,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get AuthBasic conf", @@ -13937,7 +15280,6 @@ "consumes": [ "application/json" ], - "description": "更新密码访问配置", "parameters": [ { "description": "request", @@ -13957,6 +15299,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get AuthBasic conf", @@ -13970,7 +15315,6 @@ "consumes": [ "application/json" ], - "description": "创建网站 ca", "parameters": [ { "description": "request", @@ -13993,6 +15337,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website ca", @@ -14015,7 +15362,6 @@ "consumes": [ "application/json" ], - "description": "删除网站 ca", "parameters": [ { "description": "request", @@ -14035,6 +15381,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website ca", @@ -14066,7 +15415,6 @@ "consumes": [ "application/json" ], - "description": "下载 CA 证书文件", "parameters": [ { "description": "request", @@ -14086,6 +15434,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Download CA file", @@ -14117,7 +15468,6 @@ "consumes": [ "application/json" ], - "description": "自签 SSL 证书", "parameters": [ { "description": "request", @@ -14137,6 +15487,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Obtain SSL", @@ -14168,7 +15521,6 @@ "consumes": [ "application/json" ], - "description": "续签 SSL 证书", "parameters": [ { "description": "request", @@ -14188,6 +15540,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Obtain SSL", @@ -14219,7 +15574,6 @@ "consumes": [ "application/json" ], - "description": "获取网站 ca 列表分页", "parameters": [ { "description": "request", @@ -14242,6 +15596,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page website ca", @@ -14255,7 +15612,6 @@ "consumes": [ "application/json" ], - "description": "获取网站 ca", "parameters": [ { "description": "id", @@ -14276,6 +15632,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get website ca", @@ -14289,7 +15648,6 @@ "consumes": [ "application/json" ], - "description": "网站创建前检查", "parameters": [ { "description": "request", @@ -14315,6 +15673,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Check before create website", @@ -14328,7 +15689,6 @@ "consumes": [ "application/json" ], - "description": "获取 nginx 配置", "parameters": [ { "description": "request", @@ -14351,6 +15711,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Load nginx conf", @@ -14364,7 +15727,6 @@ "consumes": [ "application/json" ], - "description": "更新 nginx 配置", "parameters": [ { "description": "request", @@ -14384,6 +15746,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update nginx conf", @@ -14415,7 +15780,6 @@ "consumes": [ "application/json" ], - "description": "获取数据库列表", "responses": { "200": { "description": "OK", @@ -14427,6 +15791,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get databases", @@ -14438,7 +15805,6 @@ "consumes": [ "application/json" ], - "description": "切换网站数据库", "parameters": [ { "description": "request", @@ -14458,6 +15824,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change website database", @@ -14471,18 +15840,20 @@ "consumes": [ "application/json" ], - "description": "获取默认 html", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/response.FileInfo" + "$ref": "#/definitions/response.WebsiteHtmlRes" } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get default html", @@ -14496,7 +15867,6 @@ "consumes": [ "application/json" ], - "description": "更新默认 html", "parameters": [ { "description": "request", @@ -14516,6 +15886,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update default html", @@ -14538,7 +15911,6 @@ "consumes": [ "application/json" ], - "description": "操作网站日志", "parameters": [ { "description": "request", @@ -14558,6 +15930,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Change default server", @@ -14590,7 +15965,6 @@ "consumes": [ "application/json" ], - "description": "删除网站", "parameters": [ { "description": "request", @@ -14610,6 +15984,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website", @@ -14641,7 +16018,6 @@ "consumes": [ "application/json" ], - "description": "获取网站目录配置", "parameters": [ { "description": "request", @@ -14655,12 +16031,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteDirConfig" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get website dir", @@ -14674,7 +16056,6 @@ "consumes": [ "application/json" ], - "description": "更新网站目录权限", "parameters": [ { "description": "request", @@ -14694,6 +16075,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update Site Dir permission", @@ -14725,7 +16109,6 @@ "consumes": [ "application/json" ], - "description": "更新网站目录", "parameters": [ { "description": "request", @@ -14745,6 +16128,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update Site Dir", @@ -14776,7 +16162,6 @@ "consumes": [ "application/json" ], - "description": "创建网站 dns", "parameters": [ { "description": "request", @@ -14796,6 +16181,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website dns account", @@ -14818,7 +16206,6 @@ "consumes": [ "application/json" ], - "description": "删除网站 dns", "parameters": [ { "description": "request", @@ -14838,6 +16225,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website dns account", @@ -14869,7 +16259,6 @@ "consumes": [ "application/json" ], - "description": "获取网站 dns 列表分页", "parameters": [ { "description": "request", @@ -14892,6 +16281,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page website dns accounts", @@ -14905,7 +16297,6 @@ "consumes": [ "application/json" ], - "description": "更新网站 dns", "parameters": [ { "description": "request", @@ -14925,6 +16316,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website dns account", @@ -14947,7 +16341,6 @@ "consumes": [ "application/json" ], - "description": "创建网站域名", "parameters": [ { "description": "request", @@ -14970,6 +16363,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website domain", @@ -14992,7 +16388,6 @@ "consumes": [ "application/json" ], - "description": "通过网站 id 查询域名", "parameters": [ { "description": "request", @@ -15016,6 +16411,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search website domains by websiteId", @@ -15029,7 +16427,6 @@ "consumes": [ "application/json" ], - "description": "删除网站域名", "parameters": [ { "description": "request", @@ -15049,6 +16446,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website domain", @@ -15080,7 +16480,6 @@ "consumes": [ "application/json" ], - "description": "更新网站域名", "parameters": [ { "description": "request", @@ -15100,6 +16499,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website domain", @@ -15131,7 +16533,6 @@ "consumes": [ "application/json" ], - "description": "获取网站 upstreams", "parameters": [ { "description": "request", @@ -15145,12 +16546,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.NginxUpstream" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get website upstreams", @@ -15164,7 +16574,6 @@ "consumes": [ "application/json" ], - "description": "创建网站 upstream", "parameters": [ { "description": "request", @@ -15184,6 +16593,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website upstream", @@ -15197,7 +16609,6 @@ "consumes": [ "application/json" ], - "description": "删除网站 upstream", "parameters": [ { "description": "request", @@ -15217,6 +16628,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website upstream", @@ -15230,7 +16644,6 @@ "consumes": [ "application/json" ], - "description": "更新网站 upstream 文件", "parameters": [ { "description": "request", @@ -15250,6 +16663,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website upstream file", @@ -15263,7 +16679,6 @@ "consumes": [ "application/json" ], - "description": "更新网站 upstream", "parameters": [ { "description": "request", @@ -15283,6 +16698,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website upstream", @@ -15296,7 +16714,6 @@ "consumes": [ "application/json" ], - "description": "获取防盗链配置", "parameters": [ { "description": "request", @@ -15310,12 +16727,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.NginxAntiLeechRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get AntiLeech conf", @@ -15329,7 +16752,6 @@ "consumes": [ "application/json" ], - "description": "更新防盗链配置", "parameters": [ { "description": "request", @@ -15349,6 +16771,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update AntiLeech", @@ -15359,7 +16784,6 @@ }, "/websites/list": { "get": { - "description": "获取网站列表", "responses": { "200": { "description": "OK", @@ -15374,6 +16798,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List websites", @@ -15387,7 +16814,6 @@ "consumes": [ "application/json" ], - "description": "操作网站日志", "parameters": [ { "description": "request", @@ -15410,6 +16836,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate website log", @@ -15442,7 +16871,6 @@ "consumes": [ "application/json" ], - "description": "更新 网站 nginx 配置", "parameters": [ { "description": "request", @@ -15462,6 +16890,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website nginx conf", @@ -15493,7 +16924,6 @@ "consumes": [ "application/json" ], - "description": "操作网站", "parameters": [ { "description": "request", @@ -15513,6 +16943,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate website", @@ -15542,13 +16975,12 @@ }, "/websites/options": { "post": { - "description": "获取网站列表", "responses": { "200": { "description": "OK", "schema": { "items": { - "type": "string" + "$ref": "#/definitions/response.WebsiteOption" }, "type": "array" } @@ -15557,6 +16989,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List website names", @@ -15570,7 +17005,6 @@ "consumes": [ "application/json" ], - "description": "变更 php 版本", "parameters": [ { "description": "request", @@ -15590,6 +17024,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update php version", @@ -15621,7 +17058,6 @@ "consumes": [ "application/json" ], - "description": "获取反向代理配置", "parameters": [ { "description": "request", @@ -15635,12 +17071,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/request.WebsiteProxyConfig" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get proxy conf", @@ -15654,7 +17099,6 @@ "consumes": [ "application/json" ], - "description": "修改反向代理配置", "parameters": [ { "description": "request", @@ -15674,6 +17118,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update proxy conf", @@ -15700,12 +17147,39 @@ } } }, + "/websites/proxy/clear": { + "post": { + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + }, + { + "Timestamp": [] + } + ], + "summary": "Clear Website proxy cache", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Clear nginx proxy cache", + "formatZH": "清理 Openresty 代理缓存", + "paramKeys": [] + } + } + }, "/websites/proxy/config": { "post": { "consumes": [ "application/json" ], - "description": "更新网站反代缓存配置", "parameters": [ { "description": "request", @@ -15725,6 +17199,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "update website proxy cache config", @@ -15738,7 +17215,6 @@ "consumes": [ "application/json" ], - "description": "获取网站反代缓存配置", "parameters": [ { "description": "id", @@ -15759,6 +17235,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get website proxy cache config" @@ -15769,7 +17248,6 @@ "consumes": [ "application/json" ], - "description": "更新反向代理文件", "parameters": [ { "description": "request", @@ -15789,6 +17267,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update proxy file", @@ -15820,7 +17301,6 @@ "consumes": [ "application/json" ], - "description": "设置真实IP", "parameters": [ { "description": "request", @@ -15840,6 +17320,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Set Real IP", @@ -15871,7 +17354,6 @@ "consumes": [ "application/json" ], - "description": "获取真实 IP 配置", "parameters": [ { "description": "id", @@ -15892,6 +17374,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get Real IP Config", @@ -15905,7 +17390,6 @@ "consumes": [ "application/json" ], - "description": "获取重定向配置", "parameters": [ { "description": "request", @@ -15919,12 +17403,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.NginxRedirectConfig" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get redirect conf", @@ -15938,7 +17431,6 @@ "consumes": [ "application/json" ], - "description": "更新重定向文件", "parameters": [ { "description": "request", @@ -15958,6 +17450,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update redirect file", @@ -15989,7 +17484,6 @@ "consumes": [ "application/json" ], - "description": "修改重定向配置", "parameters": [ { "description": "request", @@ -16009,6 +17503,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update redirect conf", @@ -16040,7 +17537,6 @@ "consumes": [ "application/json" ], - "description": "获取网站资源", "parameters": [ { "description": "id", @@ -16061,6 +17557,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get website resource", @@ -16074,7 +17573,6 @@ "consumes": [ "application/json" ], - "description": "获取伪静态配置", "parameters": [ { "description": "request", @@ -16088,12 +17586,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.NginxRewriteRes" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Get rewrite conf", @@ -16107,7 +17611,6 @@ "consumes": [ "application/json" ], - "description": "获取自定义重写模版列表", "responses": { "200": { "description": "OK", @@ -16122,6 +17625,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "List custom rewrite", @@ -16133,7 +17639,6 @@ "consumes": [ "application/json" ], - "description": "编辑自定义重写模版", "parameters": [ { "description": "request", @@ -16153,6 +17658,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Operate custom rewrite", @@ -16166,7 +17674,6 @@ "consumes": [ "application/json" ], - "description": "更新伪静态配置", "parameters": [ { "description": "request", @@ -16186,6 +17693,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update rewrite conf", @@ -16217,7 +17727,6 @@ "consumes": [ "application/json" ], - "description": "获取网站列表分页", "parameters": [ { "description": "request", @@ -16240,6 +17749,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page websites", @@ -16253,7 +17765,6 @@ "consumes": [ "application/json" ], - "description": "创建网站 ssl", "parameters": [ { "description": "request", @@ -16276,6 +17787,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Create website ssl", @@ -16298,7 +17812,6 @@ "consumes": [ "application/json" ], - "description": "通过 id 查询 ssl", "parameters": [ { "description": "request", @@ -16310,12 +17823,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteSSLDTO" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search website ssl by id", @@ -16329,7 +17848,6 @@ "consumes": [ "application/json" ], - "description": "删除网站 ssl", "parameters": [ { "description": "request", @@ -16349,6 +17867,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Delete website ssl", @@ -16380,7 +17901,6 @@ "consumes": [ "application/json" ], - "description": "下载证书文件", "parameters": [ { "description": "request", @@ -16400,6 +17920,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Download SSL file", @@ -16431,7 +17954,6 @@ "consumes": [ "application/json" ], - "description": "申请证书", "parameters": [ { "description": "request", @@ -16451,6 +17973,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Apply ssl", @@ -16482,7 +18007,6 @@ "consumes": [ "application/json" ], - "description": "解析网站 ssl", "parameters": [ { "description": "request", @@ -16508,6 +18032,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Resolve website ssl", @@ -16521,7 +18048,6 @@ "consumes": [ "application/json" ], - "description": "获取网站 ssl 列表分页", "parameters": [ { "description": "request", @@ -16535,12 +18061,21 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.WebsiteSSLDTO" + }, + "type": "array" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Page website ssl", @@ -16554,7 +18089,6 @@ "consumes": [ "application/json" ], - "description": "更新 ssl", "parameters": [ { "description": "request", @@ -16574,6 +18108,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update ssl", @@ -16605,7 +18142,6 @@ "consumes": [ "application/json" ], - "description": "上传 ssl", "parameters": [ { "description": "request", @@ -16625,6 +18161,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Upload ssl", @@ -16647,7 +18186,6 @@ "consumes": [ "application/json" ], - "description": "通过网站 id 查询 ssl", "parameters": [ { "description": "request", @@ -16659,12 +18197,18 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteSSLDTO" + } } }, "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Search website ssl by website id", @@ -16678,7 +18222,6 @@ "consumes": [ "application/json" ], - "description": "更新网站", "parameters": [ { "description": "request", @@ -16698,6 +18241,9 @@ "security": [ { "ApiKeyAuth": [] + }, + { + "Timestamp": [] } ], "summary": "Update website", @@ -16758,6 +18304,50 @@ }, "type": "object" }, + "dto.AppConfigVersion": { + "properties": { + "additionalProperties": {}, + "downloadCallBackUrl": { + "type": "string" + }, + "downloadUrl": { + "type": "string" + }, + "lastModified": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "dto.AppDefine": { + "properties": { + "additionalProperties": { + "$ref": "#/definitions/dto.AppProperty" + }, + "icon": { + "type": "string" + }, + "lastModified": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "readMe": { + "type": "string" + }, + "versions": { + "items": { + "$ref": "#/definitions/dto.AppConfigVersion" + }, + "type": "array" + } + }, + "type": "object" + }, "dto.AppInstallInfo": { "properties": { "id": { @@ -16772,6 +18362,100 @@ }, "type": "object" }, + "dto.AppList": { + "properties": { + "additionalProperties": { + "$ref": "#/definitions/dto.ExtraProperties" + }, + "apps": { + "items": { + "$ref": "#/definitions/dto.AppDefine" + }, + "type": "array" + }, + "lastModified": { + "type": "integer" + }, + "valid": { + "type": "boolean" + }, + "violations": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "dto.AppProperty": { + "properties": { + "Required": { + "items": { + "type": "string" + }, + "type": "array" + }, + "architectures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "crossVersionUpdate": { + "type": "boolean" + }, + "description": { + "$ref": "#/definitions/dto.Locale" + }, + "document": { + "type": "string" + }, + "github": { + "type": "string" + }, + "gpuSupport": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "limit": { + "type": "integer" + }, + "memoryRequired": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "recommend": { + "type": "integer" + }, + "shortDescEn": { + "type": "string" + }, + "shortDescZh": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "version": { + "type": "number" + }, + "website": { + "type": "string" + } + }, + "type": "object" + }, "dto.AppResource": { "properties": { "name": { @@ -16797,6 +18481,62 @@ }, "type": "object" }, + "dto.BackupOperate": { + "properties": { + "accessKey": { + "type": "string" + }, + "backupPath": { + "type": "string" + }, + "bucket": { + "type": "string" + }, + "credential": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "isPublic": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "rememberAuth": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "vars": { + "type": "string" + } + }, + "required": [ + "type", + "vars" + ], + "type": "object" + }, + "dto.BackupOption": { + "properties": { + "id": { + "type": "integer" + }, + "isPublic": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, "dto.BatchDelete": { "properties": { "force": { @@ -16957,6 +18697,12 @@ }, "dto.ClamCreate": { "properties": { + "alertCount": { + "type": "integer" + }, + "alertTitle": { + "type": "string" + }, "description": { "type": "string" }, @@ -17055,6 +18801,12 @@ }, "dto.ClamUpdate": { "properties": { + "alertCount": { + "type": "integer" + }, + "alertTitle": { + "type": "string" + }, "description": { "type": "string" }, @@ -17104,11 +18856,81 @@ }, "type": "object" }, + "dto.CleanData": { + "properties": { + "containerClean": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + }, + "downloadClean": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + }, + "systemClean": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + }, + "systemLogClean": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + }, + "uploadClean": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + } + }, + "type": "object" + }, + "dto.CleanTree": { + "properties": { + "children": { + "items": { + "$ref": "#/definitions/dto.CleanTree" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "isCheck": { + "type": "boolean" + }, + "isRecommend": { + "type": "boolean" + }, + "label": { + "type": "string" + }, + "name": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, "dto.CommonBackup": { "properties": { "detailName": { "type": "string" }, + "fileName": { + "type": "string" + }, "name": { "type": "string" }, @@ -17178,6 +19000,12 @@ }, "dto.ComposeCreate": { "properties": { + "env": { + "items": { + "type": "string" + }, + "type": "array" + }, "file": { "type": "string" }, @@ -17214,9 +19042,11 @@ }, "operation": { "enum": [ + "up", "start", "stop", - "down" + "down", + "delete" ], "type": "string" }, @@ -17229,8 +19059,7 @@ }, "required": [ "name", - "operation", - "path" + "operation" ], "type": "object" }, @@ -17290,6 +19119,12 @@ "content": { "type": "string" }, + "env": { + "items": { + "type": "string" + }, + "type": "array" + }, "name": { "type": "string" }, @@ -17500,6 +19335,7 @@ }, "operation": { "enum": [ + "up", "start", "stop", "restart", @@ -17593,6 +19429,59 @@ }, "type": "object" }, + "dto.ContainerStatus": { + "properties": { + "all": { + "type": "integer" + }, + "composeCount": { + "type": "integer" + }, + "composeTemplateCount": { + "type": "integer" + }, + "containerCount": { + "type": "integer" + }, + "created": { + "type": "integer" + }, + "dead": { + "type": "integer" + }, + "exited": { + "type": "integer" + }, + "imageCount": { + "type": "integer" + }, + "imageSize": { + "type": "integer" + }, + "networkCount": { + "type": "integer" + }, + "paused": { + "type": "integer" + }, + "removing": { + "type": "integer" + }, + "repoCount": { + "type": "integer" + }, + "restarting": { + "type": "integer" + }, + "running": { + "type": "integer" + }, + "volumeCount": { + "type": "integer" + } + }, + "type": "object" + }, "dto.ContainerUpgrade": { "properties": { "forcePull": { @@ -17647,6 +19536,12 @@ }, "dto.CronjobCreate": { "properties": { + "alertCount": { + "type": "integer" + }, + "alertTitle": { + "type": "string" + }, "appID": { "type": "string" }, @@ -17750,6 +19645,12 @@ }, "dto.CronjobUpdate": { "properties": { + "alertCount": { + "type": "integer" + }, + "alertTitle": { + "type": "string" + }, "appID": { "type": "string" }, @@ -17808,6 +19709,9 @@ "specCustom": { "type": "boolean" }, + "type": { + "type": "string" + }, "url": { "type": "string" }, @@ -17821,7 +19725,8 @@ "required": [ "id", "name", - "spec" + "spec", + "type" ], "type": "object" }, @@ -17904,6 +19809,12 @@ "ipv6": { "type": "boolean" }, + "isActive": { + "type": "boolean" + }, + "isExist": { + "type": "boolean" + }, "isSwarm": { "type": "boolean" }, @@ -17922,9 +19833,6 @@ }, "type": "array" }, - "status": { - "type": "string" - }, "version": { "type": "string" } @@ -17965,6 +19873,9 @@ "hostname": { "type": "string" }, + "ipV4Addr": { + "type": "string" + }, "kernelArch": { "type": "string" }, @@ -17983,6 +19894,9 @@ "platformVersion": { "type": "string" }, + "systemProxy": { + "type": "string" + }, "virtualizationSystem": { "type": "string" }, @@ -18089,6 +20003,12 @@ }, "uptime": { "type": "integer" + }, + "xpuData": { + "items": { + "$ref": "#/definitions/dto.XPUInfo" + }, + "type": "array" } }, "type": "object" @@ -18317,7 +20237,7 @@ "orderBy": { "enum": [ "name", - "created_at" + "createdAt" ], "type": "string" }, @@ -18511,6 +20431,20 @@ ], "type": "object" }, + "dto.ExtraProperties": { + "properties": { + "tags": { + "items": { + "$ref": "#/definitions/dto.Tag" + }, + "type": "array" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, "dto.Fail2BanBaseInfo": { "properties": { "banAction": { @@ -18586,15 +20520,18 @@ }, "dto.FirewallBaseInfo": { "properties": { + "isActive": { + "type": "boolean" + }, + "isExist": { + "type": "boolean" + }, "name": { "type": "string" }, "pingStatus": { "type": "string" }, - "status": { - "type": "string" - }, "version": { "type": "string" } @@ -18619,6 +20556,28 @@ ], "type": "object" }, + "dto.ForBuckets": { + "properties": { + "accessKey": { + "type": "string" + }, + "credential": { + "type": "string" + }, + "type": { + "type": "string" + }, + "vars": { + "type": "string" + } + }, + "required": [ + "credential", + "type", + "vars" + ], + "type": "object" + }, "dto.ForwardRuleOperate": { "properties": { "rules": { @@ -19035,6 +20994,32 @@ ], "type": "object" }, + "dto.Locale": { + "properties": { + "en": { + "type": "string" + }, + "ja": { + "type": "string" + }, + "ms": { + "type": "string" + }, + "pt-br": { + "type": "string" + }, + "ru": { + "type": "string" + }, + "zh": { + "type": "string" + }, + "zh-hant": { + "type": "string" + } + }, + "type": "object" + }, "dto.LogOption": { "properties": { "logMaxFile": { @@ -19046,6 +21031,34 @@ }, "type": "object" }, + "dto.MonitorData": { + "properties": { + "date": { + "items": { + "type": "string" + }, + "type": "array" + }, + "param": { + "enum": [ + "cpu", + "memory", + "load", + "io", + "network" + ], + "type": "string" + }, + "value": { + "items": {}, + "type": "array" + } + }, + "required": [ + "param" + ], + "type": "object" + }, "dto.MonitorSearch": { "properties": { "endTime": { @@ -19074,6 +21087,23 @@ ], "type": "object" }, + "dto.MonitorSetting": { + "properties": { + "defaultNetwork": { + "type": "string" + }, + "monitorInterval": { + "type": "string" + }, + "monitorStatus": { + "type": "string" + }, + "monitorStoreDays": { + "type": "string" + } + }, + "type": "object" + }, "dto.MonitorSettingUpdate": { "properties": { "key": { @@ -19213,7 +21243,7 @@ "orderBy": { "enum": [ "name", - "created_at" + "createdAt" ], "type": "string" }, @@ -19546,6 +21576,17 @@ ], "type": "object" }, + "dto.NginxAuth": { + "properties": { + "remark": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, "dto.NginxKey": { "enum": [ "index", @@ -19565,6 +21606,26 @@ "ProxyCache" ] }, + "dto.NginxUpstream": { + "properties": { + "algorithm": { + "type": "string" + }, + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "servers": { + "items": { + "$ref": "#/definitions/dto.NginxUpstreamServer" + }, + "type": "array" + } + }, + "type": "object" + }, "dto.NginxUpstreamServer": { "properties": { "failTimeout": { @@ -19738,7 +21799,7 @@ "orderBy": { "enum": [ "name", - "created_at" + "createdAt" ], "type": "string" }, @@ -19788,7 +21849,7 @@ "enum": [ "name", "status", - "created_at" + "createdAt" ], "type": "string" }, @@ -19831,6 +21892,41 @@ }, "type": "object" }, + "dto.PageSnapshot": { + "properties": { + "info": { + "type": "string" + }, + "order": { + "enum": [ + "null", + "ascending", + "descending" + ], + "type": "string" + }, + "orderBy": { + "enum": [ + "name", + "createdAt" + ], + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "order", + "orderBy", + "page", + "pageSize" + ], + "type": "object" + }, "dto.PortHelper": { "properties": { "containerPort": { @@ -20036,7 +22132,7 @@ "orderBy": { "enum": [ "name", - "created_at" + "createdAt" ], "type": "string" }, @@ -20082,6 +22178,20 @@ ], "type": "object" }, + "dto.RecordFileSize": { + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "size": { + "type": "integer" + } + }, + "type": "object" + }, "dto.RecordSearch": { "properties": { "detailName": { @@ -20360,6 +22470,12 @@ "autoStart": { "type": "boolean" }, + "isActive": { + "type": "boolean" + }, + "isExist": { + "type": "boolean" + }, "listenAddress": { "type": "string" }, @@ -20378,9 +22494,6 @@ "pubkeyAuthentication": { "type": "string" }, - "status": { - "type": "string" - }, "useDNS": { "type": "string" } @@ -20424,6 +22537,14 @@ ], "type": "object" }, + "dto.SearchByFilter": { + "properties": { + "filter": { + "type": "string" + } + }, + "type": "object" + }, "dto.SearchClamWithPage": { "properties": { "info": { @@ -20441,7 +22562,7 @@ "enum": [ "name", "status", - "created_at" + "createdAt" ], "type": "string" }, @@ -20460,6 +22581,58 @@ ], "type": "object" }, + "dto.SearchForSize": { + "properties": { + "cronjobID": { + "type": "integer" + }, + "detailName": { + "type": "string" + }, + "info": { + "type": "string" + }, + "name": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize", + "type" + ], + "type": "object" + }, + "dto.SearchPageWithType": { + "properties": { + "info": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, "dto.SearchRecord": { "properties": { "cronjobID": { @@ -20710,6 +22883,44 @@ ], "type": "object" }, + "dto.SnapshotData": { + "properties": { + "appData": { + "items": { + "$ref": "#/definitions/dto.DataTree" + }, + "type": "array" + }, + "backupData": { + "items": { + "$ref": "#/definitions/dto.DataTree" + }, + "type": "array" + }, + "panelData": { + "items": { + "$ref": "#/definitions/dto.DataTree" + }, + "type": "array" + }, + "withLoginLog": { + "type": "boolean" + }, + "withMonitorData": { + "type": "boolean" + }, + "withOperationLog": { + "type": "boolean" + }, + "withSystemLog": { + "type": "boolean" + }, + "withTaskLog": { + "type": "boolean" + } + }, + "type": "object" + }, "dto.SnapshotImport": { "properties": { "backupAccountID": { @@ -20771,6 +22982,23 @@ ], "type": "object" }, + "dto.Tag": { + "properties": { + "key": { + "type": "string" + }, + "locales": { + "$ref": "#/definitions/dto.Locale" + }, + "name": { + "type": "string" + }, + "sort": { + "type": "integer" + } + }, + "type": "object" + }, "dto.UpdateByFile": { "properties": { "file": { @@ -20879,6 +23107,32 @@ }, "type": "object" }, + "dto.XPUInfo": { + "properties": { + "deviceID": { + "type": "integer" + }, + "deviceName": { + "type": "string" + }, + "memory": { + "type": "string" + }, + "memoryUsed": { + "type": "string" + }, + "memoryUtil": { + "type": "string" + }, + "power": { + "type": "string" + }, + "temperature": { + "type": "string" + } + }, + "type": "object" + }, "files.FileInfo": { "properties": { "content": { @@ -20964,6 +23218,9 @@ "crossVersionUpdate": { "type": "boolean" }, + "description": { + "type": "string" + }, "document": { "type": "string" }, @@ -21098,7 +23355,7 @@ }, "type": "object" }, - "model.Tag": { + "model.Favorite": { "properties": { "createdAt": { "type": "string" @@ -21106,17 +23363,82 @@ "id": { "type": "integer" }, - "key": { + "isDir": { + "type": "boolean" + }, + "isTxt": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "type": "object" + }, + "model.Runtime": { + "properties": { + "appDetailID": { + "type": "integer" + }, + "codeDir": { + "type": "string" + }, + "containerName": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "dockerCompose": { + "type": "string" + }, + "env": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "image": { + "type": "string" + }, + "message": { "type": "string" }, "name": { "type": "string" }, - "sort": { - "type": "integer" + "params": { + "type": "string" + }, + "port": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" }, "updatedAt": { "type": "string" + }, + "version": { + "type": "string" + }, + "workDir": { + "type": "string" } }, "type": "object" @@ -21768,6 +24090,9 @@ "containerPort": { "type": "integer" }, + "hostIP": { + "type": "string" + }, "hostPort": { "type": "integer" } @@ -22079,6 +24404,9 @@ "pageSize": { "type": "integer" }, + "resourceID": { + "type": "integer" + }, "taskID": { "type": "string" }, @@ -23001,9 +25329,6 @@ "additionalProperties": true, "type": "object" }, - "port": { - "type": "integer" - }, "resource": { "type": "string" }, @@ -23107,9 +25432,6 @@ "additionalProperties": true, "type": "object" }, - "port": { - "type": "integer" - }, "rebuild": { "type": "boolean" }, @@ -23930,6 +26252,9 @@ "proxyPass": { "type": "string" }, + "proxySSLName": { + "type": "string" + }, "replaces": { "additionalProperties": { "type": "string" @@ -24000,6 +26325,9 @@ "ID": { "type": "integer" }, + "disableLog": { + "type": "boolean" + }, "nameservers": { "items": { "type": "string" @@ -24212,7 +26540,7 @@ "primary_domain", "type", "status", - "created_at", + "createdAt", "expire_date" ], "type": "string" @@ -24296,6 +26624,56 @@ ], "type": "object" }, + "response.AppConfig": { + "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, + "dockerCompose": { + "type": "string" + }, + "editCompose": { + "type": "boolean" + }, + "gpuConfig": { + "type": "boolean" + }, + "hostMode": { + "type": "boolean" + }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, + "params": { + "items": { + "$ref": "#/definitions/response.AppParam" + }, + "type": "array" + }, + "pullImage": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "webUI": { + "type": "string" + } + }, + "type": "object" + }, "response.AppDTO": { "properties": { "architectures": { @@ -24307,6 +26685,9 @@ "crossVersionUpdate": { "type": "boolean" }, + "description": { + "type": "string" + }, "document": { "type": "string" }, @@ -24366,7 +26747,7 @@ }, "tags": { "items": { - "$ref": "#/definitions/model.Tag" + "$ref": "#/definitions/response.TagDTO" }, "type": "array" }, @@ -24492,6 +26873,65 @@ }, "type": "object" }, + "response.AppItem": { + "properties": { + "description": { + "type": "string" + }, + "github": { + "type": "string" + }, + "gpuSupport": { + "type": "boolean" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "installed": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "limit": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "recommend": { + "type": "integer" + }, + "resource": { + "type": "string" + }, + "status": { + "type": "string" + }, + "tags": { + "items": { + "$ref": "#/definitions/response.TagDTO" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "versions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "website": { + "type": "string" + } + }, + "type": "object" + }, "response.AppParam": { "properties": { "edit": { @@ -24526,6 +26966,20 @@ }, "type": "object" }, + "response.AppRes": { + "properties": { + "items": { + "items": { + "$ref": "#/definitions/response.AppItem" + }, + "type": "array" + }, + "total": { + "type": "integer" + } + }, + "type": "object" + }, "response.AppService": { "properties": { "config": {}, @@ -24541,6 +26995,23 @@ }, "type": "object" }, + "response.AppUpdateRes": { + "properties": { + "appList": { + "$ref": "#/definitions/dto.AppList" + }, + "appStoreLastModified": { + "type": "integer" + }, + "canUpdate": { + "type": "boolean" + }, + "isSyncing": { + "type": "boolean" + } + }, + "type": "object" + }, "response.AppstoreConfig": { "properties": { "defaultDomain": { @@ -24563,6 +27034,40 @@ }, "type": "object" }, + "response.DatabaseConn": { + "properties": { + "containerName": { + "type": "string" + }, + "password": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serviceName": { + "type": "string" + }, + "status": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, + "response.DirSizeRes": { + "properties": { + "size": { + "type": "integer" + } + }, + "required": [ + "size" + ], + "type": "object" + }, "response.FileInfo": { "properties": { "content": { @@ -24637,6 +27142,29 @@ }, "type": "object" }, + "response.FileLineContent": { + "properties": { + "content": { + "type": "string" + }, + "end": { + "type": "boolean" + }, + "lines": { + "items": { + "type": "string" + }, + "type": "array" + }, + "path": { + "type": "string" + }, + "total": { + "type": "integer" + } + }, + "type": "object" + }, "response.FileTree": { "properties": { "children": { @@ -24663,6 +27191,31 @@ }, "type": "object" }, + "response.FileWgetRes": { + "properties": { + "key": { + "type": "string" + } + }, + "type": "object" + }, + "response.HostToolConfig": { + "properties": { + "content": { + "type": "string" + } + }, + "type": "object" + }, + "response.HostToolRes": { + "properties": { + "config": {}, + "type": { + "type": "string" + } + }, + "type": "object" + }, "response.IgnoredApp": { "properties": { "detailID": { @@ -24680,6 +27233,80 @@ }, "type": "object" }, + "response.NginxAntiLeechRes": { + "properties": { + "blocked": { + "type": "boolean" + }, + "cache": { + "type": "boolean" + }, + "cacheTime": { + "type": "integer" + }, + "cacheUint": { + "type": "string" + }, + "enable": { + "type": "boolean" + }, + "extends": { + "type": "string" + }, + "logEnable": { + "type": "boolean" + }, + "noneRef": { + "type": "boolean" + }, + "return": { + "type": "string" + }, + "serverNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.NginxAuthRes": { + "properties": { + "enable": { + "type": "boolean" + }, + "items": { + "items": { + "$ref": "#/definitions/dto.NginxAuth" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.NginxBuildConfig": { + "properties": { + "mirror": { + "type": "string" + }, + "modules": { + "items": { + "$ref": "#/definitions/response.NginxModule" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.NginxFile": { + "properties": { + "content": { + "type": "string" + } + }, + "type": "object" + }, "response.NginxModule": { "properties": { "enable": { @@ -24714,6 +27341,23 @@ }, "type": "object" }, + "response.NginxPathAuthRes": { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "remark": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "type": "object" + }, "response.NginxProxyCache": { "properties": { "cacheExpire": { @@ -24740,27 +27384,96 @@ }, "type": "object" }, + "response.NginxRedirectConfig": { + "properties": { + "content": { + "type": "string" + }, + "domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "enable": { + "type": "boolean" + }, + "filePath": { + "type": "string" + }, + "keepPath": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "redirect": { + "type": "string" + }, + "redirectRoot": { + "type": "boolean" + }, + "target": { + "type": "string" + }, + "type": { + "type": "string" + }, + "websiteID": { + "type": "integer" + } + }, + "type": "object" + }, + "response.NginxRewriteRes": { + "properties": { + "content": { + "type": "string" + } + }, + "type": "object" + }, "response.NginxStatus": { "properties": { "accepts": { - "type": "string" + "type": "integer" }, "active": { - "type": "string" + "type": "integer" }, "handled": { - "type": "string" + "type": "integer" }, "reading": { - "type": "string" + "type": "integer" }, "requests": { - "type": "string" + "type": "integer" }, "waiting": { - "type": "string" + "type": "integer" }, "writing": { + "type": "integer" + } + }, + "type": "object" + }, + "response.NodeModule": { + "properties": { + "description": { + "type": "string" + }, + "license": { + "type": "string" + }, + "name": { + "type": "string" + }, + "version": { "type": "string" } }, @@ -24786,21 +27499,29 @@ }, "type": "object" }, - "response.PHPExtensionsDTO": { + "response.PHPExtensionRes": { "properties": { - "createdAt": { - "type": "string" - }, "extensions": { - "type": "string" - }, - "id": { - "type": "integer" + "items": { + "type": "string" + }, + "type": "array" }, + "supportExtensions": { + "items": { + "$ref": "#/definitions/response.SupportExtension" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.PackageScripts": { + "properties": { "name": { "type": "string" }, - "updatedAt": { + "script": { "type": "string" } }, @@ -24841,6 +27562,84 @@ }, "type": "object" }, + "response.RuntimeDTO": { + "properties": { + "appDetailID": { + "type": "integer" + }, + "appID": { + "type": "integer" + }, + "appParams": { + "items": { + "$ref": "#/definitions/response.AppParam" + }, + "type": "array" + }, + "codeDir": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "environments": { + "items": { + "$ref": "#/definitions/request.Environment" + }, + "type": "array" + }, + "exposedPorts": { + "items": { + "$ref": "#/definitions/request.ExposedPort" + }, + "type": "array" + }, + "id": { + "type": "integer" + }, + "image": { + "type": "string" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "params": { + "additionalProperties": true, + "type": "object" + }, + "path": { + "type": "string" + }, + "port": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "source": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + }, + "volumes": { + "items": { + "$ref": "#/definitions/request.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, "response.SupervisorProcessConfig": { "properties": { "command": { @@ -24870,6 +27669,46 @@ }, "type": "object" }, + "response.SupportExtension": { + "properties": { + "check": { + "type": "string" + }, + "description": { + "type": "string" + }, + "file": { + "type": "string" + }, + "installed": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "versions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.TagDTO": { + "properties": { + "id": { + "type": "integer" + }, + "key": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, "response.WebsiteAcmeAccountDTO": { "properties": { "createdAt": { @@ -25082,6 +27921,26 @@ }, "type": "object" }, + "response.WebsiteDirConfig": { + "properties": { + "dirs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "msg": { + "type": "string" + }, + "user": { + "type": "string" + }, + "userGroup": { + "type": "string" + } + }, + "type": "object" + }, "response.WebsiteHTTPS": { "properties": { "SSL": { @@ -25120,6 +27979,14 @@ }, "type": "object" }, + "response.WebsiteHtmlRes": { + "properties": { + "content": { + "type": "string" + } + }, + "type": "object" + }, "response.WebsiteLog": { "properties": { "content": { @@ -25151,6 +28018,20 @@ }, "type": "object" }, + "response.WebsiteOption": { + "properties": { + "alias": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "primaryDomain": { + "type": "string" + } + }, + "type": "object" + }, "response.WebsitePreInstallCheck": { "properties": { "appName": { @@ -25190,6 +28071,113 @@ "websiteID" ], "type": "object" + }, + "response.WebsiteSSLDTO": { + "properties": { + "acmeAccount": { + "$ref": "#/definitions/model.WebsiteAcmeAccount" + }, + "acmeAccountId": { + "type": "integer" + }, + "autoRenew": { + "type": "boolean" + }, + "caId": { + "type": "integer" + }, + "certURL": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "dir": { + "type": "string" + }, + "disableCNAME": { + "type": "boolean" + }, + "dnsAccount": { + "$ref": "#/definitions/model.WebsiteDnsAccount" + }, + "dnsAccountId": { + "type": "integer" + }, + "domains": { + "type": "string" + }, + "execShell": { + "type": "boolean" + }, + "expireDate": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "keyType": { + "type": "string" + }, + "logPath": { + "type": "string" + }, + "message": { + "type": "string" + }, + "nameserver1": { + "type": "string" + }, + "nameserver2": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "pem": { + "type": "string" + }, + "primaryDomain": { + "type": "string" + }, + "privateKey": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "pushDir": { + "type": "boolean" + }, + "shell": { + "type": "string" + }, + "skipDNS": { + "type": "boolean" + }, + "startDate": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "websites": { + "items": { + "$ref": "#/definitions/model.Website" + }, + "type": "array" + } + }, + "type": "object" } } } \ No newline at end of file diff --git a/core/cmd/server/docs/swagger_test.go b/core/cmd/server/docs/swagger_test.go index 682a11c05..cef0b2bf4 100644 --- a/core/cmd/server/docs/swagger_test.go +++ b/core/cmd/server/docs/swagger_test.go @@ -28,7 +28,7 @@ func TestGenerateSwaggerDoc(t *testing.T) { fmt.Printf("generate swagger doc of agent failed, std1: %v, err: %v", string(std1), err) return } - cmd2 := exec.Command(swagBin, "init", "-o", workDir+"/cmd/server/docs/docs_core", "-d", workDir+"/core", "-g", "../cmd/server/main.go") + cmd2 := exec.Command(swagBin, "init", "-o", workDir+"/cmd/server/docs/docs_core", "-d", workDir+"/core", "-g", "./cmd/server/main.go") cmd2.Dir = workDir std2, err := cmd2.CombinedOutput() if err != nil { @@ -106,7 +106,7 @@ func TestGenerateSwaggerDoc(t *testing.T) { return } docTemplate := strings.ReplaceAll(loadDefaultDocs(), "const docTemplate = \"aa\"", fmt.Sprintf("const docTemplate = `%s`", string(newJson))) - if err := os.WriteFile(workDir+"/cmd/server/docs/docs.go", []byte(docTemplate), 0640); err != nil { + if err := os.WriteFile(workDir+"/core/cmd/server/docs/docs.go", []byte(docTemplate), 0640); err != nil { fmt.Printf("write new docs.go failed, err: %v", err) return } diff --git a/core/cmd/server/docs/x-log.json b/core/cmd/server/docs/x-log.json index c0fdac9fe..d73c031a9 100644 --- a/core/cmd/server/docs/x-log.json +++ b/core/cmd/server/docs/x-log.json @@ -1,2706 +1,2659 @@ { "/apps/install": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "name", - "input_value": "name", - "isList": false, - "db": "app_installs", - "output_column": "app_id", - "output_value": "appId" - }, - { - "input_column": "", - "input_value": "", - "isList": false, - "db": "apps", - "output_column": "key", - "output_value": "appKey" - } - ], - "formatZH": "安装应用[appKey]-[name]", - "formatEN": "Installapp[appKey]-[name]" + "formatEN": "Install app [name]", + "formatZH": "安装应用 [name]", + "paramKeys": [] }, "/apps/installed/config/update": { + "BeforeFunctions": [], "bodyKeys": [ "installID", "webUI" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "应用配置更新[installID]", - "formatEN": "Applicationconfigupdate[installID]" + "formatEN": "Application config update [installID]", + "formatZH": "应用配置更新 [installID]", + "paramKeys": [] }, "/apps/installed/ignore": { + "BeforeFunctions": [], "bodyKeys": [ "installId" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "忽略应用[installId]版本升级", - "formatEN": "Applicationparamupdate[installId]" + "formatEN": "Application param update [installId]", + "formatZH": "忽略应用 [installId] 版本升级", + "paramKeys": [] }, "/apps/installed/op": { - "bodyKeys": [ - "installId", - "operate" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "app_installs", "input_column": "id", "input_value": "installId", "isList": false, - "db": "app_installs", "output_column": "app_id", "output_value": "appId" }, { + "db": "app_installs", "input_column": "id", "input_value": "installId", "isList": false, - "db": "app_installs", "output_column": "name", "output_value": "appName" }, { + "db": "apps", "input_column": "id", "input_value": "appId", "isList": false, - "db": "apps", "output_column": "key", "output_value": "appKey" } ], - "formatZH": "[operate]应用[appKey][appName]", - "formatEN": "[operate]App[appKey][appName]" + "bodyKeys": [ + "installId", + "operate" + ], + "formatEN": "[operate] App [appKey][appName]", + "formatZH": "[operate] 应用 [appKey][appName]", + "paramKeys": [] }, "/apps/installed/params/update": { + "BeforeFunctions": [], "bodyKeys": [ "installId" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "应用参数修改[installId]", - "formatEN": "Applicationparamupdate[installId]" + "formatEN": "Application param update [installId]", + "formatZH": "应用参数修改 [installId]", + "paramKeys": [] }, "/apps/installed/port/change": { + "BeforeFunctions": [], "bodyKeys": [ "key", "name", "port" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "应用端口修改[key]-[name]=\u003e[port]", - "formatEN": "Applicationportupdate[key]-[name]=\u003e[port]" + "formatEN": "Application port update [key]-[name] =\u003e [port]", + "formatZH": "应用端口修改 [key]-[name] =\u003e [port]", + "paramKeys": [] }, "/apps/installed/sync": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], + "formatEN": "Sync the list of installed apps", "formatZH": "同步已安装应用列表", - "formatEN": "Syncthelistofinstalledapps" + "paramKeys": [] }, "/apps/sync/local": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], + "formatEN": "App store synchronization", "formatZH": "应用商店同步", - "formatEN": "Appstoresynchronization" + "paramKeys": [] }, "/apps/sync/remote": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], + "formatEN": "App store synchronization", "formatZH": "应用商店同步", - "formatEN": "Appstoresynchronization" + "paramKeys": [] }, - "/backup/backup": { + "/backup/record/download": { + "BeforeFunctions": [], + "bodyKeys": [ + "source", + "fileName" + ], + "formatEN": "download backup records [source][fileName]", + "formatZH": "下载备份记录 [source][fileName]", + "paramKeys": [] + }, + "/backups": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "create backup account [type]", + "formatZH": "创建备份账号 [type]", + "paramKeys": [] + }, + "/backups/backup": { + "BeforeFunctions": [], "bodyKeys": [ "type", "name", "detailName" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "备份[type]数据[name][detailName]", - "formatEN": "backup[type]data[name][detailName]" + "formatEN": "backup [type] data [name][detailName]", + "formatZH": "备份 [type] 数据 [name][detailName]", + "paramKeys": [] }, - "/backup/record/download": { - "bodyKeys": [ - "source", - "fileName" + "/backups/del": { + "BeforeFunctions": [ + { + "db": "backup_accounts", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "type", + "output_value": "types" + } ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "下载备份记录[source][fileName]", - "formatEN": "downloadbackuprecords[source][fileName]" + "bodyKeys": [ + "id" + ], + "formatEN": "delete backup account [types]", + "formatZH": "删除备份账号 [types]", + "paramKeys": [] }, - "/backup/recover": { + "/backups/recover": { + "BeforeFunctions": [], "bodyKeys": [ "type", "name", "detailName", "file" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "从[file]恢复[type]数据[name][detailName]", - "formatEN": "recover[type]data[name][detailName]from[file]" + "formatEN": "recover [type] data [name][detailName] from [file]", + "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", + "paramKeys": [] }, - "/backup/recover/byupload": { + "/backups/recover/byupload": { + "BeforeFunctions": [], "bodyKeys": [ "type", "name", "detailName", "file" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "从[file]恢复[type]数据[name][detailName]", - "formatEN": "recover[type]data[name][detailName]from[file]" + "formatEN": "recover [type] data [name][detailName] from [file]", + "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", + "paramKeys": [] + }, + "/backups/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "update backup account [types]", + "formatZH": "更新备份账号 [types]", + "paramKeys": [] }, "/containers": { + "BeforeFunctions": [], "bodyKeys": [ "name", "image" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建容器[name][image]", - "formatEN": "createcontainer[name][image]" + "formatEN": "create container [name][image]", + "formatZH": "创建容器 [name][image]", + "paramKeys": [] }, "/containers/clean/log": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "清理容器[name]日志", - "formatEN": "cleancontainer[name]logs" + "formatEN": "clean container [name] logs", + "formatZH": "清理容器 [name] 日志", + "paramKeys": [] }, "/containers/compose": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建compose[name]", - "formatEN": "createcompose[name]" + "formatEN": "create compose [name]", + "formatZH": "创建 compose [name]", + "paramKeys": [] }, "/containers/compose/operate": { + "BeforeFunctions": [], "bodyKeys": [ "name", "operation" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "compose[operation][name]", - "formatEN": "compose[operation][name]" + "formatEN": "compose [operation] [name]", + "formatZH": "compose [operation] [name]", + "paramKeys": [] }, "/containers/compose/test": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "检测compose[name]格式", - "formatEN": "checkcompose[name]" + "formatEN": "check compose [name]", + "formatZH": "检测 compose [name] 格式", + "paramKeys": [] }, "/containers/compose/update": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新compose[name]", - "formatEN": "updatecomposeinformation[name]" + "formatEN": "update compose information [name]", + "formatZH": "更新 compose [name]", + "paramKeys": [] }, "/containers/daemonjson/update": { + "BeforeFunctions": [], "bodyKeys": [ "key", "value" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新配置[key]", - "formatEN": "Updatedconfiguration[key]" + "formatEN": "Updated configuration [key]", + "formatZH": "更新配置 [key]", + "paramKeys": [] }, "/containers/daemonjson/update/byfile": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], + "formatEN": "Updated configuration file", "formatZH": "更新配置文件", - "formatEN": "Updatedconfigurationfile" + "paramKeys": [] }, "/containers/docker/operate": { + "BeforeFunctions": [], "bodyKeys": [ "operation" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "docker服务[operation]", - "formatEN": "[operation]dockerservice" + "formatEN": "[operation] docker service", + "formatZH": "docker 服务 [operation]", + "paramKeys": [] }, "/containers/image/build": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "构建镜像[name]", - "formatEN": "buildimage[name]" + "formatEN": "build image [name]", + "formatZH": "构建镜像 [name]", + "paramKeys": [] }, "/containers/image/load": { + "BeforeFunctions": [], "bodyKeys": [ "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "从[path]加载镜像", - "formatEN": "loadimagefrom[path]" + "formatEN": "load image from [path]", + "formatZH": "从 [path] 加载镜像", + "paramKeys": [] }, "/containers/image/pull": { - "bodyKeys": [ - "repoID", - "imageName" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "image_repos", "input_column": "id", "input_value": "repoID", "isList": false, - "db": "image_repos", "output_column": "name", "output_value": "reponame" } ], - "formatZH": "镜像拉取[reponame][imageName]", - "formatEN": "imagepull[reponame][imageName]" + "bodyKeys": [ + "repoID", + "imageName" + ], + "formatEN": "image pull [reponame][imageName]", + "formatZH": "镜像拉取 [reponame][imageName]", + "paramKeys": [] }, "/containers/image/push": { + "BeforeFunctions": [ + { + "db": "image_repos", + "input_column": "id", + "input_value": "repoID", + "isList": false, + "output_column": "name", + "output_value": "reponame" + } + ], "bodyKeys": [ "repoID", "tagName", "name" ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "repoID", - "isList": false, - "db": "image_repos", - "output_column": "name", - "output_value": "reponame" - } - ], - "formatZH": "[tagName]推送到[reponame][name]", - "formatEN": "push[tagName]to[reponame][name]" + "formatEN": "push [tagName] to [reponame][name]", + "formatZH": "[tagName] 推送到 [reponame][name]", + "paramKeys": [] }, "/containers/image/remove": { + "BeforeFunctions": [], "bodyKeys": [ "names" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "移除镜像[names]", - "formatEN": "removeimage[names]" + "formatEN": "remove image [names]", + "formatZH": "移除镜像 [names]", + "paramKeys": [] }, "/containers/image/save": { + "BeforeFunctions": [], "bodyKeys": [ "tagName", "path", "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "保留[tagName]为[path]/[name]", - "formatEN": "save[tagName]as[path]/[name]" + "formatEN": "save [tagName] as [path]/[name]", + "formatZH": "保留 [tagName] 为 [path]/[name]", + "paramKeys": [] }, "/containers/image/tag": { - "bodyKeys": [ - "repoID", - "targetName" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "image_repos", "input_column": "id", "input_value": "repoID", "isList": false, - "db": "image_repos", "output_column": "name", "output_value": "reponame" } ], - "formatZH": "tag镜像[reponame][targetName]", - "formatEN": "tagimage[reponame][targetName]" + "bodyKeys": [ + "repoID", + "targetName" + ], + "formatEN": "tag image [reponame][targetName]", + "formatZH": "tag 镜像 [reponame][targetName]", + "paramKeys": [] }, "/containers/ipv6option/update": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新ipv6配置", - "formatEN": "Updatedtheipv6option" + "formatEN": "Updated the ipv6 option", + "formatZH": "更新 ipv6 配置", + "paramKeys": [] }, "/containers/logoption/update": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], + "formatEN": "Updated the log option", "formatZH": "更新日志配置", - "formatEN": "Updatedthelogoption" + "paramKeys": [] }, "/containers/network": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建容器网络name", - "formatEN": "createcontainernetwork[name]" + "formatEN": "create container network [name]", + "formatZH": "创建容器网络 name", + "paramKeys": [] }, "/containers/network/del": { + "BeforeFunctions": [], "bodyKeys": [ "names" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "删除容器网络[names]", - "formatEN": "deletecontainernetwork[names]" + "formatEN": "delete container network [names]", + "formatZH": "删除容器网络 [names]", + "paramKeys": [] }, "/containers/operate": { + "BeforeFunctions": [], "bodyKeys": [ "names", "operation" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "容器[names]执行[operation]", - "formatEN": "container[operation][names]" + "formatEN": "container [operation] [names]", + "formatZH": "容器 [names] 执行 [operation]", + "paramKeys": [] }, "/containers/prune": { + "BeforeFunctions": [], "bodyKeys": [ "pruneType" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "清理容器[pruneType]", - "formatEN": "cleancontainer[pruneType]" + "formatEN": "clean container [pruneType]", + "formatZH": "清理容器 [pruneType]", + "paramKeys": [] }, "/containers/rename": { + "BeforeFunctions": [], "bodyKeys": [ "name", "newName" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "容器重命名[name]=\u003e[newName]", - "formatEN": "renamecontainer[name]=\u003e[newName]" + "formatEN": "rename container [name] =\u003e [newName]", + "formatZH": "容器重命名 [name] =\u003e [newName]", + "paramKeys": [] }, "/containers/repo": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建镜像仓库[name]", - "formatEN": "createimagerepo[name]" + "formatEN": "create image repo [name]", + "formatZH": "创建镜像仓库 [name]", + "paramKeys": [] }, "/containers/repo/del": { - "bodyKeys": [ - "ids" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "image_repos", "input_column": "id", "input_value": "ids", "isList": true, - "db": "image_repos", "output_column": "name", "output_value": "names" } ], - "formatZH": "删除镜像仓库[names]", - "formatEN": "deleteimagerepo[names]" + "bodyKeys": [ + "ids" + ], + "formatEN": "delete image repo [names]", + "formatZH": "删除镜像仓库 [names]", + "paramKeys": [] }, "/containers/repo/update": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "image_repos", "input_column": "id", "input_value": "id", "isList": false, - "db": "image_repos", "output_column": "name", "output_value": "name" } ], - "formatZH": "更新镜像仓库[name]", - "formatEN": "updateimagerepoinformation[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "update image repo information [name]", + "formatZH": "更新镜像仓库 [name]", + "paramKeys": [] }, "/containers/template": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建compose模版[name]", - "formatEN": "createcomposetemplate[name]" + "formatEN": "create compose template [name]", + "formatZH": "创建 compose 模版 [name]", + "paramKeys": [] }, "/containers/template/del": { - "bodyKeys": [ - "ids" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "compose_templates", "input_column": "id", "input_value": "ids", "isList": true, - "db": "compose_templates", "output_column": "name", "output_value": "names" } ], - "formatZH": "删除compose模版[names]", - "formatEN": "deletecomposetemplate[names]" + "bodyKeys": [ + "ids" + ], + "formatEN": "delete compose template [names]", + "formatZH": "删除 compose 模版 [names]", + "paramKeys": [] }, "/containers/template/update": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "compose_templates", "input_column": "id", "input_value": "id", "isList": false, - "db": "compose_templates", "output_column": "name", "output_value": "name" } ], - "formatZH": "更新compose模版[name]", - "formatEN": "updatecomposetemplateinformation[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "update compose template information [name]", + "formatZH": "更新 compose 模版 [name]", + "paramKeys": [] }, "/containers/update": { + "BeforeFunctions": [], "bodyKeys": [ "name", "image" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新容器[name][image]", - "formatEN": "updatecontainer[name][image]" + "formatEN": "update container [name][image]", + "formatZH": "更新容器 [name][image]", + "paramKeys": [] }, "/containers/upgrade": { + "BeforeFunctions": [], "bodyKeys": [ "name", "image" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新容器镜像[name][image]", - "formatEN": "upgradecontainerimage[name][image]" + "formatEN": "upgrade container image [name][image]", + "formatZH": "更新容器镜像 [name][image]", + "paramKeys": [] }, "/containers/volume": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建容器存储卷[name]", - "formatEN": "createcontainervolume[name]" + "formatEN": "create container volume [name]", + "formatZH": "创建容器存储卷 [name]", + "paramKeys": [] }, "/containers/volume/del": { + "BeforeFunctions": [], "bodyKeys": [ "names" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "删除容器存储卷[names]", - "formatEN": "deletecontainervolume[names]" + "formatEN": "delete container volume [names]", + "formatZH": "删除容器存储卷 [names]", + "paramKeys": [] }, - "/core/backup": { - "bodyKeys": [ - "type" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建备份账号[type]", - "formatEN": "createbackupaccount[type]" - }, - "/core/backup/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "backup_accounts", - "output_column": "type", - "output_value": "types" - } - ], - "formatZH": "删除备份账号[types]", - "formatEN": "deletebackupaccount[types]" - }, - "/core/backup/update": { - "bodyKeys": [ - "type" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新备份账号[types]", - "formatEN": "updatebackupaccount[types]" - }, - "/core/commands": { - "bodyKeys": [ - "name", - "command" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建快捷命令[name][command]", - "formatEN": "createquickcommand[name][command]" - }, - "/core/commands/del": { - "bodyKeys": [ - "ids" - ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "ids", - "isList": true, - "db": "commands", - "output_column": "name", - "output_value": "names" - } - ], - "formatZH": "删除快捷命令[names]", - "formatEN": "deletequickcommand[names]" - }, - "/core/commands/update": { - "bodyKeys": [ - "name" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新快捷命令[name]", - "formatEN": "updatequickcommand[name]" - }, - "/core/groups": { - "bodyKeys": [ - "name", - "type" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建组[name][type]", - "formatEN": "creategroup[name][type]" - }, - "/core/groups/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "groups", - "output_column": "name", - "output_value": "name" - }, - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "groups", - "output_column": "type", - "output_value": "type" - } - ], - "formatZH": "删除组[type][name]", - "formatEN": "deletegroup[type][name]" - }, - "/core/groups/update": { - "bodyKeys": [ - "name", - "type" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新组[name][type]", - "formatEN": "updategroup[name][type]" - }, - "/core/hosts": { - "bodyKeys": [ - "name", - "addr" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建主机[name][addr]", - "formatEN": "createhost[name][addr]" - }, - "/core/hosts/del": { - "bodyKeys": [ - "ids" - ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "ids", - "isList": true, - "db": "hosts", - "output_column": "addr", - "output_value": "addrs" - } - ], - "formatZH": "删除主机[addrs]", - "formatEN": "deletehost[addrs]" - }, - "/core/hosts/update": { - "bodyKeys": [ - "name", - "addr" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新主机信息[name][addr]", - "formatEN": "updatehost[name][addr]" - }, - "/core/hosts/update/group": { - "bodyKeys": [ - "id", - "group" - ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "hosts", - "output_column": "addr", - "output_value": "addr" - } - ], - "formatZH": "切换主机[addr]分组=\u003e[group]", - "formatEN": "changehost[addr]group=\u003e[group]" - }, - "/core/logs/clean": { - "bodyKeys": [ - "logType" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "清空[logType]日志信息", - "formatEN": "Cleanthe[logType]loginformation" - }, - "/core/settings/bind/update": { - "bodyKeys": [ - "ipv6", - "bindAddress" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改系统监听信息=\u003eipv6:[ipv6],监听IP:[bindAddress]", - "formatEN": "updatesystembindinfo=\u003eipv6:[ipv6],监听IP:[bindAddress]" - }, - "/core/settings/expired/handle": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "重置过期密码", - "formatEN": "resetanexpiredPassword" - }, - "/core/settings/menu/update": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "隐藏高级功能菜单", - "formatEN": "Hideadvancedfeaturemenu." - }, - "/core/settings/mfa/bind": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "mfa绑定", - "formatEN": "bindmfa" - }, - "/core/settings/password/update": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改系统密码", - "formatEN": "updatesystempassword" - }, - "/core/settings/port/update": { - "bodyKeys": [ - "serverPort" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改系统端口=\u003e[serverPort]", - "formatEN": "updatesystemport=\u003e[serverPort]" - }, - "/core/settings/proxy/update": { - "bodyKeys": [ - "proxyUrl", - "proxyPort" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "服务器代理配置[proxyPort]:[proxyPort]", - "formatEN": "setproxy[proxyPort]:[proxyPort]." - }, - "/core/settings/ssl/update": { - "bodyKeys": [ - "ssl" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改系统ssl=\u003e[ssl]", - "formatEN": "updatesystemssl=\u003e[ssl]" - }, - "/core/settings/terminal/update": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改系统终端配置", - "formatEN": "updatesystemterminalsetting" - }, - "/core/settings/update": { + "/core/app/launcher/show": { + "BeforeFunctions": [], "bodyKeys": [ "key", "value" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改系统配置[key]=\u003e[value]", - "formatEN": "updatesystemsetting[key]=\u003e[value]" + "formatEN": "app launcher [key] =\u003e show: [value]", + "formatZH": "首页应用 [key] =\u003e 显示:[value]", + "paramKeys": [] }, - "/core/settings/upgrade": { + "/core/backups": { + "BeforeFunctions": [], "bodyKeys": [ - "version" + "type" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新系统=\u003e[version]", - "formatEN": "upgradesystem=\u003e[version]" + "formatEN": "create backup account [type]", + "formatZH": "创建备份账号 [type]", + "paramKeys": [] }, - "/cronjobs": { + "/core/backups/del": { + "BeforeFunctions": [], "bodyKeys": [ - "type", "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建计划任务[type][name]", - "formatEN": "createcronjob[type][name]" + "formatEN": "delete backup account [name]", + "formatZH": "删除备份账号 [name]", + "paramKeys": [] }, - "/cronjobs/del": { + "/core/backups/update": { + "BeforeFunctions": [], "bodyKeys": [ - "ids" + "type" ], - "paramKeys": [], - "beforeFunctions": [ + "formatEN": "update backup account [types]", + "formatZH": "更新备份账号 [types]", + "paramKeys": [] + }, + "/core/commands": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "command" + ], + "formatEN": "create quick command [name][command]", + "formatZH": "创建快捷命令 [name][command]", + "paramKeys": [] + }, + "/core/commands/del": { + "BeforeFunctions": [ { + "db": "commands", "input_column": "id", "input_value": "ids", "isList": true, - "db": "cronjobs", "output_column": "name", "output_value": "names" } ], - "formatZH": "删除计划任务[names]", - "formatEN": "deletecronjob[names]" + "bodyKeys": [ + "ids" + ], + "formatEN": "delete quick command [names]", + "formatZH": "删除快捷命令 [names]", + "paramKeys": [] + }, + "/core/commands/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "update quick command [name]", + "formatZH": "更新快捷命令 [name]", + "paramKeys": [] + }, + "/core/groups": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "type" + ], + "formatEN": "create group [name][type]", + "formatZH": "创建组 [name][type]", + "paramKeys": [] + }, + "/core/groups/del": { + "BeforeFunctions": [ + { + "db": "groups", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + }, + { + "db": "groups", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "type", + "output_value": "type" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "delete group [type][name]", + "formatZH": "删除组 [type][name]", + "paramKeys": [] + }, + "/core/groups/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "type" + ], + "formatEN": "update group [name][type]", + "formatZH": "更新组 [name][type]", + "paramKeys": [] + }, + "/core/hosts": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "addr" + ], + "formatEN": "create host [name][addr]", + "formatZH": "创建主机 [name][addr]", + "paramKeys": [] + }, + "/core/hosts/del": { + "BeforeFunctions": [ + { + "db": "hosts", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "addr", + "output_value": "addrs" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete host [addrs]", + "formatZH": "删除主机 [addrs]", + "paramKeys": [] + }, + "/core/hosts/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "addr" + ], + "formatEN": "update host [name][addr]", + "formatZH": "更新主机信息 [name][addr]", + "paramKeys": [] + }, + "/core/hosts/update/group": { + "BeforeFunctions": [ + { + "db": "hosts", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "addr", + "output_value": "addr" + } + ], + "bodyKeys": [ + "id", + "group" + ], + "formatEN": "change host [addr] group =\u003e [group]", + "formatZH": "切换主机[addr]分组 =\u003e [group]", + "paramKeys": [] + }, + "/core/logs/clean": { + "BeforeFunctions": [], + "bodyKeys": [ + "logType" + ], + "formatEN": "Clean the [logType] log information", + "formatZH": "清空 [logType] 日志信息", + "paramKeys": [] + }, + "/core/settings/bind/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "ipv6", + "bindAddress" + ], + "formatEN": "update system bind info =\u003e ipv6: [ipv6], 监听 IP: [bindAddress]", + "formatZH": "修改系统监听信息 =\u003e ipv6: [ipv6], 监听 IP: [bindAddress]", + "paramKeys": [] + }, + "/core/settings/expired/handle": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "reset an expired Password", + "formatZH": "重置过期密码", + "paramKeys": [] + }, + "/core/settings/menu/update": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Hide advanced feature menu.", + "formatZH": "隐藏高级功能菜单", + "paramKeys": [] + }, + "/core/settings/mfa/bind": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "bind mfa", + "formatZH": "mfa 绑定", + "paramKeys": [] + }, + "/core/settings/password/update": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "update system password", + "formatZH": "修改系统密码", + "paramKeys": [] + }, + "/core/settings/port/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "serverPort" + ], + "formatEN": "update system port =\u003e [serverPort]", + "formatZH": "修改系统端口 =\u003e [serverPort]", + "paramKeys": [] + }, + "/core/settings/proxy/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "proxyUrl", + "proxyPort" + ], + "formatEN": "set proxy [proxyPort]:[proxyPort].", + "formatZH": "服务器代理配置 [proxyPort]:[proxyPort]", + "paramKeys": [] + }, + "/core/settings/rollback": { + "BeforeFunctions": [ + { + "db": "upgrade_logs", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "old_version", + "output_value": "version" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "rollback system =\u003e [version]", + "formatZH": "回滚系统 =\u003e [version]", + "paramKeys": [] + }, + "/core/settings/ssl/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "ssl" + ], + "formatEN": "update system ssl =\u003e [ssl]", + "formatZH": "修改系统 ssl =\u003e [ssl]", + "paramKeys": [] + }, + "/core/settings/terminal/update": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "update system terminal setting", + "formatZH": "修改系统终端配置", + "paramKeys": [] + }, + "/core/settings/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update system setting [key] =\u003e [value]", + "formatZH": "修改系统配置 [key] =\u003e [value]", + "paramKeys": [] + }, + "/core/settings/upgrade": { + "BeforeFunctions": [], + "bodyKeys": [ + "version" + ], + "formatEN": "upgrade system =\u003e [version]", + "formatZH": "更新系统 =\u003e [version]", + "paramKeys": [] + }, + "/cronjobs": { + "BeforeFunctions": [], + "bodyKeys": [ + "type", + "name" + ], + "formatEN": "create cronjob [type][name]", + "formatZH": "创建计划任务 [type][name]", + "paramKeys": [] + }, + "/cronjobs/del": { + "BeforeFunctions": [ + { + "db": "cronjobs", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete cronjob [names]", + "formatZH": "删除计划任务 [names]", + "paramKeys": [] }, "/cronjobs/download": { - "bodyKeys": [ - "recordID" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "job_records", "input_column": "id", "input_value": "recordID", "isList": false, - "db": "job_records", "output_column": "file", "output_value": "file" } ], - "formatZH": "下载计划任务记录[file]", - "formatEN": "downloadthecronjobrecord[file]" + "bodyKeys": [ + "recordID" + ], + "formatEN": "download the cronjob record [file]", + "formatZH": "下载计划任务记录 [file]", + "paramKeys": [] }, "/cronjobs/handle": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "cronjobs", "input_column": "id", "input_value": "id", "isList": false, - "db": "cronjobs", "output_column": "name", "output_value": "name" } ], - "formatZH": "手动执行计划任务[name]", - "formatEN": "manuallyexecutethecronjob[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "manually execute the cronjob [name]", + "formatZH": "手动执行计划任务 [name]", + "paramKeys": [] }, "/cronjobs/records/clean": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "cronjobs", "input_column": "id", "input_value": "id", "isList": false, - "db": "cronjobs", "output_column": "name", "output_value": "name" } ], - "formatZH": "清空计划任务记录[name]", - "formatEN": "cleancronjob[name]records" + "bodyKeys": [ + "id" + ], + "formatEN": "clean cronjob [name] records", + "formatZH": "清空计划任务记录 [name]", + "paramKeys": [] }, "/cronjobs/status": { + "BeforeFunctions": [ + { + "db": "cronjobs", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], "bodyKeys": [ "id", "status" ], - "paramKeys": [], - "beforeFunctions": [ + "formatEN": "change the status of cronjob [name] to [status].", + "formatZH": "修改计划任务 [name] 状态为 [status]", + "paramKeys": [] + }, + "/cronjobs/update": { + "BeforeFunctions": [ { + "db": "cronjobs", "input_column": "id", "input_value": "id", "isList": false, - "db": "cronjobs", "output_column": "name", "output_value": "name" } ], - "formatZH": "修改计划任务[name]状态为[status]", - "formatEN": "changethestatusofcronjob[name]to[status]." - }, - "/cronjobs/update": { "bodyKeys": [ "id" ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "cronjobs", - "output_column": "name", - "output_value": "name" - } - ], - "formatZH": "更新计划任务[name]", - "formatEN": "updatecronjob[name]" + "formatEN": "update cronjob [name]", + "formatZH": "更新计划任务 [name]", + "paramKeys": [] }, "/databases": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建mysql数据库[name]", - "formatEN": "createmysqldatabase[name]" + "formatEN": "create mysql database [name]", + "formatZH": "创建 mysql 数据库 [name]", + "paramKeys": [] }, "/databases/bind": { + "BeforeFunctions": [], "bodyKeys": [ "database", "username" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "绑定mysql数据库名[database][username]", - "formatEN": "bindmysqldatabase[database][username]" + "formatEN": "bind mysql database [database] [username]", + "formatZH": "绑定 mysql 数据库名 [database] [username]", + "paramKeys": [] }, "/databases/change/access": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "database_mysqls", "input_column": "id", "input_value": "id", "isList": false, - "db": "database_mysqls", "output_column": "name", "output_value": "name" } ], - "formatZH": "更新数据库[name]访问权限", - "formatEN": "Updatedatabase[name]access" + "bodyKeys": [ + "id" + ], + "formatEN": "Update database [name] access", + "formatZH": "更新数据库 [name] 访问权限", + "paramKeys": [] }, "/databases/change/password": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "database_mysqls", "input_column": "id", "input_value": "id", "isList": false, - "db": "database_mysqls", "output_column": "name", "output_value": "name" } ], - "formatZH": "更新数据库[name]密码", - "formatEN": "Updatedatabase[name]password" + "bodyKeys": [ + "id" + ], + "formatEN": "Update database [name] password", + "formatZH": "更新数据库 [name] 密码", + "paramKeys": [] }, "/databases/common/update/conf": { + "BeforeFunctions": [], "bodyKeys": [ "type", "database" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新[type]数据库[database]配置信息", - "formatEN": "updatethe[type][database]databaseconfigurationinformation" + "formatEN": "update the [type] [database] database configuration information", + "formatZH": "更新 [type] 数据库 [database] 配置信息", + "paramKeys": [] }, "/databases/db": { + "BeforeFunctions": [], "bodyKeys": [ "name", "type" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建远程数据库[name][type]", - "formatEN": "createdatabase[name][type]" + "formatEN": "create database [name][type]", + "formatZH": "创建远程数据库 [name][type]", + "paramKeys": [] }, "/databases/db/check": { + "BeforeFunctions": [], "bodyKeys": [ "name", "type" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "检测远程数据库[name][type]连接性", - "formatEN": "checkifdatabase[name][type]isconnectable" + "formatEN": "check if database [name][type] is connectable", + "formatZH": "检测远程数据库 [name][type] 连接性", + "paramKeys": [] }, "/databases/db/del": { - "bodyKeys": [ - "ids" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "databases", "input_column": "id", "input_value": "ids", "isList": true, - "db": "databases", "output_column": "name", "output_value": "names" } ], - "formatZH": "删除远程数据库[names]", - "formatEN": "deletedatabase[names]" + "bodyKeys": [ + "ids" + ], + "formatEN": "delete database [names]", + "formatZH": "删除远程数据库 [names]", + "paramKeys": [] }, "/databases/db/update": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新远程数据库[name]", - "formatEN": "updatedatabase[name]" + "formatEN": "update database [name]", + "formatZH": "更新远程数据库 [name]", + "paramKeys": [] }, "/databases/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "database_mysqls", "input_column": "id", "input_value": "id", "isList": false, - "db": "database_mysqls", "output_column": "name", "output_value": "name" } ], - "formatZH": "删除mysql数据库[name]", - "formatEN": "deletemysqldatabase[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "delete mysql database [name]", + "formatZH": "删除 mysql 数据库 [name]", + "paramKeys": [] }, "/databases/description/update": { + "BeforeFunctions": [ + { + "db": "database_mysqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], "bodyKeys": [ "id", "description" ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "database_mysqls", - "output_column": "name", - "output_value": "name" - } - ], - "formatZH": "mysql数据库[name]描述信息修改[description]", - "formatEN": "Thedescriptionofthemysqldatabase[name]ismodified=\u003e[description]" + "formatEN": "The description of the mysql database [name] is modified =\u003e [description]", + "formatZH": "mysql 数据库 [name] 描述信息修改 [description]", + "paramKeys": [] }, "/databases/pg": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建postgresql数据库[name]", - "formatEN": "createpostgresqldatabase[name]" + "formatEN": "create postgresql database [name]", + "formatZH": "创建 postgresql 数据库 [name]", + "paramKeys": [] }, "/databases/pg/bind": { + "BeforeFunctions": [], "bodyKeys": [ "name", "username" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "绑定postgresql数据库[name]用户[username]", - "formatEN": "bindpostgresqldatabase[name]user[username]" + "formatEN": "bind postgresql database [name] user [username]", + "formatZH": "绑定 postgresql 数据库 [name] 用户 [username]", + "paramKeys": [] }, "/databases/pg/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "database_postgresqls", "input_column": "id", "input_value": "id", "isList": false, - "db": "database_postgresqls", "output_column": "name", "output_value": "name" } ], - "formatZH": "删除postgresql数据库[name]", - "formatEN": "deletepostgresqldatabase[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "delete postgresql database [name]", + "formatZH": "删除 postgresql 数据库 [name]", + "paramKeys": [] }, "/databases/pg/description": { + "BeforeFunctions": [ + { + "db": "database_postgresqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], "bodyKeys": [ "id", "description" ], - "paramKeys": [], - "beforeFunctions": [ + "formatEN": "The description of the postgresql database [name] is modified =\u003e [description]", + "formatZH": "postgresql 数据库 [name] 描述信息修改 [description]", + "paramKeys": [] + }, + "/databases/pg/password": { + "BeforeFunctions": [ { + "db": "database_postgresqls", "input_column": "id", "input_value": "id", "isList": false, - "db": "database_postgresqls", "output_column": "name", "output_value": "name" } ], - "formatZH": "postgresql数据库[name]描述信息修改[description]", - "formatEN": "Thedescriptionofthepostgresqldatabase[name]ismodified=\u003e[description]" - }, - "/databases/pg/password": { "bodyKeys": [ "id" ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "database_postgresqls", - "output_column": "name", - "output_value": "name" - } - ], - "formatZH": "更新数据库[name]密码", - "formatEN": "Updatedatabase[name]password" + "formatEN": "Update database [name] password", + "formatZH": "更新数据库 [name] 密码", + "paramKeys": [] }, "/databases/pg/privileges": { + "BeforeFunctions": [], "bodyKeys": [ "database", "username" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新数据库[database]用户[username]权限", - "formatEN": "Update[user]privilegesofdatabase[database]" + "formatEN": "Update [user] privileges of database [database]", + "formatZH": "更新数据库 [database] 用户 [username] 权限", + "paramKeys": [] }, "/databases/redis/conf/update": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新redis数据库配置信息", - "formatEN": "updatetheredisdatabaseconfigurationinformation" + "formatEN": "update the redis database configuration information", + "formatZH": "更新 redis 数据库配置信息", + "paramKeys": [] }, "/databases/redis/password": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改redis数据库密码", - "formatEN": "changethepasswordoftheredisdatabase" + "formatEN": "change the password of the redis database", + "formatZH": "修改 redis 数据库密码", + "paramKeys": [] }, "/databases/redis/persistence/update": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "redis数据库持久化配置更新", - "formatEN": "redisdatabasepersistenceconfigurationupdate" + "formatEN": "redis database persistence configuration update", + "formatZH": "redis 数据库持久化配置更新", + "paramKeys": [] }, "/databases/variables/update": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "调整mysql数据库性能参数", - "formatEN": "adjustmysqldatabaseperformanceparameters" + "formatEN": "adjust mysql database performance parameters", + "formatZH": "调整 mysql 数据库性能参数", + "paramKeys": [] }, "/files": { + "BeforeFunctions": [], "bodyKeys": [ "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建文件/文件夹[path]", - "formatEN": "Createdirorfile[path]" + "formatEN": "Create dir or file [path]", + "formatZH": "创建文件/文件夹 [path]", + "paramKeys": [] }, "/files/batch/del": { + "BeforeFunctions": [], "bodyKeys": [ "paths" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "批量删除文件/文件夹[paths]", - "formatEN": "Batchdeletedirorfile[paths]" + "formatEN": "Batch delete dir or file [paths]", + "formatZH": "批量删除文件/文件夹 [paths]", + "paramKeys": [] }, "/files/batch/role": { + "BeforeFunctions": [], "bodyKeys": [ "paths", "mode", "user", "group" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "批量修改文件权限和用户/组[paths]=\u003e[mode]/[user]/[group]", - "formatEN": "Batchchangefilemodeandowner[paths]=\u003e[mode]/[user]/[group]" + "formatEN": "Batch change file mode and owner [paths] =\u003e [mode]/[user]/[group]", + "formatZH": "批量修改文件权限和用户/组 [paths] =\u003e [mode]/[user]/[group]", + "paramKeys": [] }, "/files/chunkdownload": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "下载文件[name]", - "formatEN": "Downloadfile[name]" + "formatEN": "Download file [name]", + "formatZH": "下载文件 [name]", + "paramKeys": [] }, "/files/compress": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "压缩文件[name]", - "formatEN": "Compressfile[name]" + "formatEN": "Compress file [name]", + "formatZH": "压缩文件 [name]", + "paramKeys": [] }, "/files/content": { + "BeforeFunctions": [], "bodyKeys": [ "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "获取文件内容[path]", - "formatEN": "Loadfilecontent[path]" + "formatEN": "Load file content [path]", + "formatZH": "获取文件内容 [path]", + "paramKeys": [] }, "/files/decompress": { + "BeforeFunctions": [], "bodyKeys": [ "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "解压[path]", - "formatEN": "Decompressfile[path]" + "formatEN": "Decompress file [path]", + "formatZH": "解压 [path]", + "paramKeys": [] }, "/files/del": { + "BeforeFunctions": [], "bodyKeys": [ "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "删除文件/文件夹[path]", - "formatEN": "Deletedirorfile[path]" + "formatEN": "Delete dir or file [path]", + "formatZH": "删除文件/文件夹 [path]", + "paramKeys": [] }, "/files/favorite": { + "BeforeFunctions": [], "bodyKeys": [ "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "收藏文件/文件夹[path]", - "formatEN": "收藏文件/文件夹[path]" + "formatEN": "收藏文件/文件夹 [path]", + "formatZH": "收藏文件/文件夹 [path]", + "paramKeys": [] }, "/files/favorite/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "favorites", "input_column": "id", "input_value": "id", "isList": false, - "db": "favorites", "output_column": "path", "output_value": "path" } ], - "formatZH": "删除收藏[path]", - "formatEN": "deleteavorite[path]" + "bodyKeys": [ + "id" + ], + "formatEN": "delete avorite [path]", + "formatZH": "删除收藏 [path]", + "paramKeys": [] }, "/files/mode": { + "BeforeFunctions": [], "bodyKeys": [ "path", "mode" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改权限[paths]=\u003e[mode]", - "formatEN": "Changemode[paths]=\u003e[mode]" + "formatEN": "Change mode [paths] =\u003e [mode]", + "formatZH": "修改权限 [paths] =\u003e [mode]", + "paramKeys": [] }, "/files/move": { + "BeforeFunctions": [], "bodyKeys": [ "oldPaths", "newPath" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "移动文件[oldPaths]=\u003e[newPath]", - "formatEN": "Move[oldPaths]=\u003e[newPath]" + "formatEN": "Move [oldPaths] =\u003e [newPath]", + "formatZH": "移动文件 [oldPaths] =\u003e [newPath]", + "paramKeys": [] }, "/files/owner": { + "BeforeFunctions": [], "bodyKeys": [ "path", "user", "group" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改用户/组[paths]=\u003e[user]/[group]", - "formatEN": "Changeowner[paths]=\u003e[user]/[group]" + "formatEN": "Change owner [paths] =\u003e [user]/[group]", + "formatZH": "修改用户/组 [paths] =\u003e [user]/[group]", + "paramKeys": [] }, "/files/recycle/clear": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], + "formatEN": "清空回收站", "formatZH": "清空回收站", - "formatEN": "清空回收站" + "paramKeys": [] }, "/files/recycle/reduce": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "还原回收站文件[name]", - "formatEN": "ReduceRecycleBinfile[name]" + "formatEN": "Reduce RecycleBin file [name]", + "formatZH": "还原回收站文件 [name]", + "paramKeys": [] }, "/files/rename": { + "BeforeFunctions": [], "bodyKeys": [ "oldName", "newName" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "重命名[oldName]=\u003e[newName]", - "formatEN": "Rename[oldName]=\u003e[newName]" + "formatEN": "Rename [oldName] =\u003e [newName]", + "formatZH": "重命名 [oldName] =\u003e [newName]", + "paramKeys": [] }, "/files/save": { + "BeforeFunctions": [], "bodyKeys": [ "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新文件内容[path]", - "formatEN": "Updatefilecontent[path]" + "formatEN": "Update file content [path]", + "formatZH": "更新文件内容 [path]", + "paramKeys": [] }, "/files/size": { + "BeforeFunctions": [], "bodyKeys": [ "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "获取文件夹大小[path]", - "formatEN": "Loadfilesize[path]" + "formatEN": "Load file size [path]", + "formatZH": "获取文件夹大小 [path]", + "paramKeys": [] }, "/files/upload": { + "BeforeFunctions": [], "bodyKeys": [ "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "上传文件[path]", - "formatEN": "Uploadfile[path]" + "formatEN": "Upload file [path]", + "formatZH": "上传文件 [path]", + "paramKeys": [] }, "/files/wget": { + "BeforeFunctions": [], "bodyKeys": [ "url", "path", "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "下载url=\u003e[path]/[name]", - "formatEN": "Downloadurl=\u003e[path]/[name]" + "formatEN": "Download url =\u003e [path]/[name]", + "formatZH": "下载 url =\u003e [path]/[name]", + "paramKeys": [] }, "/host/conffile/update": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改SSH配置文件", - "formatEN": "updateSSHconf" + "formatEN": "update SSH conf", + "formatZH": "修改 SSH 配置文件", + "paramKeys": [] }, "/host/ssh/generate": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "生成SSH密钥", - "formatEN": "generateSSHsecret" + "formatEN": "generate SSH secret", + "formatZH": "生成 SSH 密钥 ", + "paramKeys": [] }, "/host/ssh/operate": { + "BeforeFunctions": [], "bodyKeys": [ "operation" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "[operation]SSH", - "formatEN": "[operation]SSH" + "formatEN": "[operation] SSH", + "formatZH": "[operation] SSH ", + "paramKeys": [] }, "/host/ssh/update": { + "BeforeFunctions": [], "bodyKeys": [ "key", "value" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改SSH配置[key]=\u003e[value]", - "formatEN": "updateSSHsetting[key]=\u003e[value]" + "formatEN": "update SSH setting [key] =\u003e [value]", + "formatZH": "修改 SSH 配置 [key] =\u003e [value]", + "paramKeys": [] }, "/host/tool/config": { + "BeforeFunctions": [], "bodyKeys": [ "operate" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "[operate]主机工具配置文件", - "formatEN": "[operate]toolconfig" + "formatEN": "[operate] tool config", + "formatZH": "[operate] 主机工具配置文件 ", + "paramKeys": [] }, "/host/tool/create": { + "BeforeFunctions": [], "bodyKeys": [ "type" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建[type]配置", - "formatEN": "create[type]config" + "formatEN": "create [type] config", + "formatZH": "创建 [type] 配置", + "paramKeys": [] }, "/host/tool/operate": { + "BeforeFunctions": [], "bodyKeys": [ "operate", "type" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "[operate][type]", - "formatEN": "[operate][type]" + "formatEN": "[operate] [type]", + "formatZH": "[operate] [type] ", + "paramKeys": [] }, "/host/tool/supervisor/process": { + "BeforeFunctions": [], "bodyKeys": [ "operate" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "[operate]守护进程", - "formatEN": "[operate]process" + "formatEN": "[operate] process", + "formatZH": "[operate] 守护进程 ", + "paramKeys": [] }, "/host/tool/supervisor/process/file": { + "BeforeFunctions": [], "bodyKeys": [ "operate" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "[operate]Supervisor进程文件", - "formatEN": "[operate]SupervisorProcessConfigfile" + "formatEN": "[operate] Supervisor Process Config file", + "formatZH": "[operate] Supervisor 进程文件 ", + "paramKeys": [] }, "/hosts/firewall/forward": { + "BeforeFunctions": [], "bodyKeys": [ "source_port" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新端口转发规则[source_port]", - "formatEN": "updateportforwardrules[source_port]" + "formatEN": "update port forward rules [source_port]", + "formatZH": "更新端口转发规则 [source_port]", + "paramKeys": [] }, "/hosts/firewall/ip": { + "BeforeFunctions": [], "bodyKeys": [ "strategy", "address" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "添加ip规则[strategy][address]", - "formatEN": "createaddressrules[strategy][address]" + "formatEN": "create address rules [strategy][address]", + "formatZH": "添加 ip 规则 [strategy] [address]", + "paramKeys": [] }, "/hosts/firewall/operate": { + "BeforeFunctions": [], "bodyKeys": [ "operation" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "[operation]防火墙", - "formatEN": "[operation]firewall" + "formatEN": "[operation] firewall", + "formatZH": "[operation] 防火墙", + "paramKeys": [] }, "/hosts/firewall/port": { + "BeforeFunctions": [], "bodyKeys": [ "port", "strategy" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "添加端口规则[strategy][port]", - "formatEN": "createportrules[strategy][port]" + "formatEN": "create port rules [strategy][port]", + "formatZH": "添加端口规则 [strategy] [port]", + "paramKeys": [] }, "/hosts/monitor/clean": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], + "formatEN": "clean monitor datas", "formatZH": "清空监控数据", - "formatEN": "cleanmonitordatas" + "paramKeys": [] }, "/hosts/monitor/setting/update": { + "BeforeFunctions": [], "bodyKeys": [ "key", "value" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改默认监控网卡[name]-[value]", - "formatEN": "updatedefaultmonitor[name]-[value]" + "formatEN": "update default monitor [name]-[value]", + "formatZH": "修改默认监控网卡 [name]-[value]", + "paramKeys": [] }, "/openresty/build": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "构建OpenResty", - "formatEN": "BuildOpenResty" - }, - "/openresty/clear": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "清理Openresty代理缓存", - "formatEN": "Clearnginxproxycache" + "formatEN": "Build OpenResty", + "formatZH": "构建 OpenResty", + "paramKeys": [] }, "/openresty/file": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新nginx配置", - "formatEN": "Updatenginxconf" + "formatEN": "Update nginx conf", + "formatZH": "更新 nginx 配置", + "paramKeys": [] }, "/openresty/module/update": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新OpenResty模块", - "formatEN": "UpdateOpenRestymodule" + "formatEN": "Update OpenResty module", + "formatZH": "更新 OpenResty 模块", + "paramKeys": [] }, "/openresty/update": { - "bodyKeys": [ - "websiteId" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "websiteId", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "更新nginx配置[domain]", - "formatEN": "Updatenginxconf[domain]" + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Update nginx conf [domain]", + "formatZH": "更新 nginx 配置 [domain]", + "paramKeys": [] }, "/process/stop": { + "BeforeFunctions": [], "bodyKeys": [ "PID" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "结束进程[PID]", - "formatEN": "结束进程[PID]" + "formatEN": "结束进程 [PID]", + "formatZH": "结束进程 [PID]", + "paramKeys": [] }, "/record/del": { - "bodyKeys": [ - "ids" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "backup_records", "input_column": "id", "input_value": "ids", "isList": true, - "db": "backup_records", "output_column": "file_name", "output_value": "files" } ], - "formatZH": "删除备份记录[files]", - "formatEN": "deletebackuprecords[files]" + "bodyKeys": [ + "ids" + ], + "formatEN": "delete backup records [files]", + "formatZH": "删除备份记录 [files]", + "paramKeys": [] }, "/runtimes": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建运行环境[name]", - "formatEN": "Createruntime[name]" + "formatEN": "Create runtime [name]", + "formatZH": "创建运行环境 [name]", + "paramKeys": [] }, "/runtimes/del": { + "BeforeFunctions": [], "bodyKeys": [ "id" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "删除网站[name]", - "formatEN": "Deletewebsite[name]" + "formatEN": "Delete runtime [name]", + "formatZH": "删除运行环境 [name]", + "paramKeys": [] }, "/runtimes/operate": { + "BeforeFunctions": [], "bodyKeys": [ "id" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "操作运行环境[name]", - "formatEN": "Operateruntime[name]" + "formatEN": "Operate runtime [name]", + "formatZH": "操作运行环境 [name]", + "paramKeys": [] }, "/runtimes/php/config": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "id", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "[domain]PHP配置修改", - "formatEN": "[domain]PHPconfupdate" + "bodyKeys": [ + "id" + ], + "formatEN": "[domain] PHP conf update", + "formatZH": "[domain] PHP 配置修改", + "paramKeys": [] }, "/runtimes/php/update": { - "bodyKeys": [ - "websiteId" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "websiteId", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "php配置修改[domain]", - "formatEN": "Nginxconfupdate[domain]" + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Nginx conf update [domain]", + "formatZH": "php 配置修改 [domain]", + "paramKeys": [] }, "/runtimes/update": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新运行环境[name]", - "formatEN": "Updateruntime[name]" + "formatEN": "Update runtime [name]", + "formatZH": "更新运行环境 [name]", + "paramKeys": [] + }, + "/settings/api/config/generate/key": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "generate api key", + "formatZH": "生成 API 接口密钥", + "paramKeys": [] + }, + "/settings/api/config/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "ipWhiteList" + ], + "formatEN": "update api config =\u003e IP White List: [ipWhiteList]", + "formatZH": "更新 API 接口配置 =\u003e IP 白名单: [ipWhiteList]", + "paramKeys": [] }, "/settings/snapshot": { + "BeforeFunctions": [], "bodyKeys": [ "from", "description" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建系统快照[description]到[from]", - "formatEN": "Createsystembackup[description]to[from]" + "formatEN": "Create system backup [description] to [from]", + "formatZH": "创建系统快照 [description] 到 [from]", + "paramKeys": [] }, "/settings/snapshot/del": { - "bodyKeys": [ - "ids" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "snapshots", "input_column": "id", "input_value": "ids", "isList": true, - "db": "snapshots", "output_column": "name", "output_value": "name" } ], - "formatZH": "删除系统快照[name]", - "formatEN": "Deletesystembackup[name]" + "bodyKeys": [ + "ids" + ], + "formatEN": "Delete system backup [name]", + "formatZH": "删除系统快照 [name]", + "paramKeys": [] }, "/settings/snapshot/description/update": { + "BeforeFunctions": [ + { + "db": "snapshots", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], "bodyKeys": [ "id", "description" ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "snapshots", - "output_column": "name", - "output_value": "name" - } - ], - "formatZH": "快照[name]描述信息修改[description]", - "formatEN": "Thedescriptionofthesnapshot[name]ismodified=\u003e[description]" + "formatEN": "The description of the snapshot [name] is modified =\u003e [description]", + "formatZH": "快照 [name] 描述信息修改 [description]", + "paramKeys": [] }, "/settings/snapshot/import": { + "BeforeFunctions": [], "bodyKeys": [ "from", "names" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "从[from]同步系统快照[names]", - "formatEN": "Syncsystemsnapshots[names]from[from]" + "formatEN": "Sync system snapshots [names] from [from]", + "formatZH": "从 [from] 同步系统快照 [names]", + "paramKeys": [] }, "/settings/snapshot/recover": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "snapshots", "input_column": "id", "input_value": "id", "isList": false, - "db": "snapshots", "output_column": "name", "output_value": "name" } ], - "formatZH": "从系统快照[name]恢复", - "formatEN": "Recoverfromsystembackup[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "Recover from system backup [name]", + "formatZH": "从系统快照 [name] 恢复", + "paramKeys": [] }, "/settings/snapshot/recrete": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "snapshots", "input_column": "id", "input_value": "id", "isList": false, - "db": "snapshots", "output_column": "name", "output_value": "name" } ], - "formatZH": "重试创建快照[name]", - "formatEN": "recretethesnapshot[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "recrete the snapshot [name]", + "formatZH": "重试创建快照 [name]", + "paramKeys": [] }, "/settings/snapshot/rollback": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "snapshots", "input_column": "id", "input_value": "id", "isList": false, - "db": "snapshots", "output_column": "name", "output_value": "name" } ], - "formatZH": "从系统快照[name]回滚", - "formatEN": "Rollbackfromsystembackup[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "Rollback from system backup [name]", + "formatZH": "从系统快照 [name] 回滚", + "paramKeys": [] }, "/settings/update": { + "BeforeFunctions": [], "bodyKeys": [ "key", "value" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改系统配置[key]=\u003e[value]", - "formatEN": "updatesystemsetting[key]=\u003e[value]" + "formatEN": "update system setting [key] =\u003e [value]", + "formatZH": "修改系统配置 [key] =\u003e [value]", + "paramKeys": [] }, "/toolbox/clam": { + "BeforeFunctions": [], "bodyKeys": [ "name", "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建扫描规则[name][path]", - "formatEN": "createclam[name][path]" + "formatEN": "create clam [name][path]", + "formatZH": "创建扫描规则 [name][path]", + "paramKeys": [] }, "/toolbox/clam/del": { - "bodyKeys": [ - "ids" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "clams", "input_column": "id", "input_value": "ids", "isList": true, - "db": "clams", "output_column": "name", "output_value": "names" } ], - "formatZH": "删除扫描规则[names]", - "formatEN": "deleteclam[names]" + "bodyKeys": [ + "ids" + ], + "formatEN": "delete clam [names]", + "formatZH": "删除扫描规则 [names]", + "paramKeys": [] }, "/toolbox/clam/handle": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "clams", "input_column": "id", "input_value": "id", "isList": true, - "db": "clams", "output_column": "name", "output_value": "name" } ], - "formatZH": "执行病毒扫描[name]", - "formatEN": "handleclamscan[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "handle clam scan [name]", + "formatZH": "执行病毒扫描 [name]", + "paramKeys": [] }, "/toolbox/clam/operate": { + "BeforeFunctions": [], "bodyKeys": [ "operation" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "[operation]Clam", - "formatEN": "[operation]FTP" + "formatEN": "[operation] FTP", + "formatZH": "[operation] Clam", + "paramKeys": [] }, "/toolbox/clam/record/clean": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "clams", "input_column": "id", "input_value": "id", "isList": true, - "db": "clams", "output_column": "name", "output_value": "name" } ], - "formatZH": "清空扫描报告[name]", - "formatEN": "cleanclamrecord[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "clean clam record [name]", + "formatZH": "清空扫描报告 [name]", + "paramKeys": [] }, "/toolbox/clam/status/update": { + "BeforeFunctions": [ + { + "db": "clams", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], "bodyKeys": [ "id", "status" ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "clams", - "output_column": "name", - "output_value": "name" - } - ], - "formatZH": "修改扫描规则[name]状态为[status]", - "formatEN": "changethestatusofclam[name]to[status]." + "formatEN": "change the status of clam [name] to [status].", + "formatZH": "修改扫描规则 [name] 状态为 [status]", + "paramKeys": [] }, "/toolbox/clam/update": { + "BeforeFunctions": [], "bodyKeys": [ "name", "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改扫描规则[name][path]", - "formatEN": "updateclam[name][path]" + "formatEN": "update clam [name][path]", + "formatZH": "修改扫描规则 [name][path]", + "paramKeys": [] }, "/toolbox/clean": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], + "formatEN": "Clean system junk files", "formatZH": "清理系统垃圾文件", - "formatEN": "Cleansystemjunkfiles" + "paramKeys": [] }, "/toolbox/device/update/conf": { + "BeforeFunctions": [], "bodyKeys": [ "key", "value" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改主机参数[key]=\u003e[value]", - "formatEN": "updatedeviceconf[key]=\u003e[value]" + "formatEN": "update device conf [key] =\u003e [value]", + "formatZH": "修改主机参数 [key] =\u003e [value]", + "paramKeys": [] }, "/toolbox/device/update/host": { + "BeforeFunctions": [], "bodyKeys": [ "key", "value" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改主机Host[key]=\u003e[value]", - "formatEN": "updatedevicehost[key]=\u003e[value]" + "formatEN": "update device host [key] =\u003e [value]", + "formatZH": "修改主机 Host [key] =\u003e [value]", + "paramKeys": [] }, "/toolbox/device/update/swap": { + "BeforeFunctions": [], "bodyKeys": [ "operate", "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "[operate]主机swap[path]", - "formatEN": "[operate]deviceswap[path]" + "formatEN": "[operate] device swap [path]", + "formatZH": "[operate] 主机 swap [path]", + "paramKeys": [] }, "/toolbox/fail2ban/operate": { + "BeforeFunctions": [], "bodyKeys": [ "operation" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "[operation]Fail2ban", - "formatEN": "[operation]Fail2ban" + "formatEN": "[operation] Fail2ban", + "formatZH": "[operation] Fail2ban", + "paramKeys": [] }, "/toolbox/fail2ban/update": { + "BeforeFunctions": [], "bodyKeys": [ "key", "value" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改Fail2ban配置[key]=\u003e[value]", - "formatEN": "updatefail2banconf[key]=\u003e[value]" + "formatEN": "update fail2ban conf [key] =\u003e [value]", + "formatZH": "修改 Fail2ban 配置 [key] =\u003e [value]", + "paramKeys": [] }, "/toolbox/ftp": { + "BeforeFunctions": [], "bodyKeys": [ "user", "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建FTP账户[user][path]", - "formatEN": "createFTP[user][path]" + "formatEN": "create FTP [user][path]", + "formatZH": "创建 FTP 账户 [user][path]", + "paramKeys": [] }, "/toolbox/ftp/del": { - "bodyKeys": [ - "ids" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "ftps", "input_column": "id", "input_value": "ids", "isList": true, - "db": "ftps", "output_column": "user", "output_value": "users" } ], - "formatZH": "删除FTP账户[users]", - "formatEN": "deleteFTPusers[users]" + "bodyKeys": [ + "ids" + ], + "formatEN": "delete FTP users [users]", + "formatZH": "删除 FTP 账户 [users]", + "paramKeys": [] }, "/toolbox/ftp/operate": { + "BeforeFunctions": [], "bodyKeys": [ "operation" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "[operation]FTP", - "formatEN": "[operation]FTP" + "formatEN": "[operation] FTP", + "formatZH": "[operation] FTP", + "paramKeys": [] }, "/toolbox/ftp/sync": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "同步FTP账户", - "formatEN": "syncFTPusers" + "formatEN": "sync FTP users", + "formatZH": "同步 FTP 账户", + "paramKeys": [] }, "/toolbox/ftp/update": { + "BeforeFunctions": [], "bodyKeys": [ "user", "path" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "修改FTP账户[user][path]", - "formatEN": "updateFTP[user][path]" + "formatEN": "update FTP [user][path]", + "formatZH": "修改 FTP 账户 [user][path]", + "paramKeys": [] }, "/toolbox/scan": { + "BeforeFunctions": [], "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], + "formatEN": "scan System Junk Files", "formatZH": "扫描系统垃圾文件", - "formatEN": "scanSystemJunkFiles" + "paramKeys": [] }, "/websites": { + "BeforeFunctions": [], "bodyKeys": [ "primaryDomain" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建网站[primaryDomain]", - "formatEN": "Createwebsite[primaryDomain]" + "formatEN": "Create website [primaryDomain]", + "formatZH": "创建网站 [primaryDomain]", + "paramKeys": [] }, "/websites/:id/https": { - "bodyKeys": [ - "websiteId" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "websiteId", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "更新网站[domain]https配置", - "formatEN": "Updatewebsitehttps[domain]conf" + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Update website https [domain] conf", + "formatZH": "更新网站 [domain] https 配置", + "paramKeys": [] }, "/websites/acme": { + "BeforeFunctions": [], "bodyKeys": [ "email" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建网站acme[email]", - "formatEN": "Createwebsiteacme[email]" + "formatEN": "Create website acme [email]", + "formatZH": "创建网站 acme [email]", + "paramKeys": [] }, "/websites/acme/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_acme_accounts", "input_column": "id", "input_value": "id", "isList": false, - "db": "website_acme_accounts", "output_column": "email", "output_value": "email" } ], - "formatZH": "删除网站acme[email]", - "formatEN": "Deletewebsiteacme[email]" + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website acme [email]", + "formatZH": "删除网站 acme [email]", + "paramKeys": [] }, "/websites/ca": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建网站ca[name]", - "formatEN": "Createwebsiteca[name]" + "formatEN": "Create website ca [name]", + "formatZH": "创建网站 ca [name]", + "paramKeys": [] }, "/websites/ca/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_cas", "input_column": "id", "input_value": "id", "isList": false, - "db": "website_cas", "output_column": "name", "output_value": "name" } ], - "formatZH": "删除网站ca[name]", - "formatEN": "Deletewebsiteca[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website ca [name]", + "formatZH": "删除网站 ca [name]", + "paramKeys": [] }, "/websites/ca/download": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_cas", "input_column": "id", "input_value": "id", "isList": false, - "db": "website_cas", "output_column": "name", "output_value": "name" } ], - "formatZH": "下载CA证书文件[name]", - "formatEN": "downloadcafile[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "download ca file [name]", + "formatZH": "下载 CA 证书文件 [name]", + "paramKeys": [] }, "/websites/ca/obtain": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_cas", "input_column": "id", "input_value": "id", "isList": false, - "db": "website_cas", "output_column": "name", "output_value": "name" } ], - "formatZH": "自签SSL证书[name]", - "formatEN": "ObtainSSL[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "Obtain SSL [name]", + "formatZH": "自签 SSL 证书 [name]", + "paramKeys": [] }, "/websites/ca/renew": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_cas", "input_column": "id", "input_value": "id", "isList": false, - "db": "website_cas", "output_column": "name", "output_value": "name" } ], - "formatZH": "自签SSL证书[name]", - "formatEN": "ObtainSSL[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "Obtain SSL [name]", + "formatZH": "自签 SSL 证书 [name]", + "paramKeys": [] }, "/websites/config/update": { - "bodyKeys": [ - "websiteId" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "websiteId", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "nginx配置修改[domain]", - "formatEN": "Nginxconfupdate[domain]" + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Nginx conf update [domain]", + "formatZH": "nginx 配置修改 [domain]", + "paramKeys": [] }, "/websites/default/html/update": { + "BeforeFunctions": [], "bodyKeys": [ "type" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新默认html", - "formatEN": "Updatedefaulthtml" + "formatEN": "Update default html", + "formatZH": "更新默认 html", + "paramKeys": [] }, "/websites/default/server": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], "bodyKeys": [ "id", "operate" ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "websites", - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "formatZH": "修改默认server=\u003e[domain]", - "formatEN": "Changedefaultserver=\u003e[domain]" + "formatEN": "Change default server =\u003e [domain]", + "formatZH": "修改默认 server =\u003e [domain]", + "paramKeys": [] }, "/websites/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "id", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "删除网站[domain]", - "formatEN": "Deletewebsite[domain]" + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website [domain]", + "formatZH": "删除网站 [domain]", + "paramKeys": [] }, "/websites/dir/permission": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "id", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "更新网站[domain]目录权限", - "formatEN": "Updatedomain[domain]dirpermission" + "bodyKeys": [ + "id" + ], + "formatEN": "Update domain [domain] dir permission", + "formatZH": "更新网站 [domain] 目录权限", + "paramKeys": [] }, "/websites/dir/update": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "id", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "更新网站[domain]目录", - "formatEN": "Updatedomain[domain]dir" + "bodyKeys": [ + "id" + ], + "formatEN": "Update domain [domain] dir", + "formatZH": "更新网站 [domain] 目录", + "paramKeys": [] }, "/websites/dns": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建网站dns[name]", - "formatEN": "Createwebsitedns[name]" + "formatEN": "Create website dns [name]", + "formatZH": "创建网站 dns [name]", + "paramKeys": [] }, "/websites/dns/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_dns_accounts", "input_column": "id", "input_value": "id", "isList": false, - "db": "website_dns_accounts", "output_column": "name", "output_value": "name" } ], - "formatZH": "删除网站dns[name]", - "formatEN": "Deletewebsitedns[name]" + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website dns [name]", + "formatZH": "删除网站 dns [name]", + "paramKeys": [] }, "/websites/dns/update": { + "BeforeFunctions": [], "bodyKeys": [ "name" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新网站dns[name]", - "formatEN": "Updatewebsitedns[name]" + "formatEN": "Update website dns [name]", + "formatZH": "更新网站 dns [name]", + "paramKeys": [] }, "/websites/domains": { + "BeforeFunctions": [], "bodyKeys": [ "domain" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建域名[domain]", - "formatEN": "Createdomain[domain]" + "formatEN": "Create domain [domain]", + "formatZH": "创建域名 [domain]", + "paramKeys": [] }, "/websites/domains/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_domains", "input_column": "id", "input_value": "id", "isList": false, - "db": "website_domains", "output_column": "domain", "output_value": "domain" } ], - "formatZH": "删除域名[domain]", - "formatEN": "Deletedomain[domain]" + "bodyKeys": [ + "id" + ], + "formatEN": "Delete domain [domain]", + "formatZH": "删除域名 [domain]", + "paramKeys": [] }, "/websites/domains/update": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_domains", "input_column": "id", "input_value": "id", "isList": false, - "db": "website_domains", "output_column": "domain", "output_value": "domain" } ], - "formatZH": "更新域名[domain]", - "formatEN": "Updatedomain[domain]" - }, - "/websites/log": { - "bodyKeys": [ - "id", - "operate" - ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "websites", - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "formatZH": "[domain][operate]日志", - "formatEN": "[domain][operate]logs" - }, - "/websites/nginx/update": { "bodyKeys": [ "id" ], - "paramKeys": [], - "beforeFunctions": [ + "formatEN": "Update domain [domain]", + "formatZH": "更新域名 [domain]", + "paramKeys": [] + }, + "/websites/log": { + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "id", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "[domain]Nginx配置修改", - "formatEN": "[domain]Nginxconfupdate" - }, - "/websites/operate": { "bodyKeys": [ "id", "operate" ], - "paramKeys": [], - "beforeFunctions": [ + "formatEN": "[domain][operate] logs", + "formatZH": "[domain][operate] 日志", + "paramKeys": [] + }, + "/websites/nginx/update": { + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "id", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "[operate]网站[domain]", - "formatEN": "[operate]website[domain]" + "bodyKeys": [ + "id" + ], + "formatEN": "[domain] Nginx conf update", + "formatZH": "[domain] Nginx 配置修改", + "paramKeys": [] + }, + "/websites/operate": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id", + "operate" + ], + "formatEN": "[operate] website [domain]", + "formatZH": "[operate] 网站 [domain]", + "paramKeys": [] }, "/websites/php/version": { - "bodyKeys": [ - "websiteId" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "websiteId", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "php版本变更[domain]", - "formatEN": "phpversionupdate[domain]" + "bodyKeys": [ + "websiteId" + ], + "formatEN": "php version update [domain]", + "formatZH": "php 版本变更 [domain]", + "paramKeys": [] }, "/websites/proxies/update": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "id", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "修改网站[domain]反向代理配置", - "formatEN": "Updatedomain[domain]proxyconfig" + "bodyKeys": [ + "id" + ], + "formatEN": "Update domain [domain] proxy config", + "formatZH": "修改网站 [domain] 反向代理配置 ", + "paramKeys": [] + }, + "/websites/proxy/clear": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Clear nginx proxy cache", + "formatZH": "清理 Openresty 代理缓存", + "paramKeys": [] }, "/websites/proxy/file": { - "bodyKeys": [ - "websiteID" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "websiteID", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "更新反向代理文件[domain]", - "formatEN": "Nginxconfproxyfileupdate[domain]" + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Nginx conf proxy file update [domain]", + "formatZH": "更新反向代理文件 [domain]", + "paramKeys": [] }, "/websites/realip": { - "bodyKeys": [ - "websiteID" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "websiteID", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "修改[domain]网站真实IP配置", - "formatEN": "ModifytherealIPconfigurationof[domain]website" + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Modify the real IP configuration of [domain] website", + "formatZH": "修改 [domain] 网站真实IP配置 ", + "paramKeys": [] }, "/websites/redirect/file": { - "bodyKeys": [ - "websiteID" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "websiteID", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "更新重定向文件[domain]", - "formatEN": "Nginxconfredirectfileupdate[domain]" + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Nginx conf redirect file update [domain]", + "formatZH": "更新重定向文件 [domain]", + "paramKeys": [] }, "/websites/redirect/update": { - "bodyKeys": [ - "websiteID" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "websiteID", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "修改网站[domain]重定向理配置", - "formatEN": "Updatedomain[domain]redirectconfig" + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Update domain [domain] redirect config", + "formatZH": "修改网站 [domain] 重定向理配置 ", + "paramKeys": [] }, "/websites/rewrite/update": { - "bodyKeys": [ - "websiteID" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "websites", "input_column": "id", "input_value": "websiteID", "isList": false, - "db": "websites", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "伪静态配置修改[domain]", - "formatEN": "Nginxconfrewriteupdate[domain]" + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Nginx conf rewrite update [domain]", + "formatZH": "伪静态配置修改 [domain]", + "paramKeys": [] }, "/websites/ssl": { + "BeforeFunctions": [], "bodyKeys": [ "primaryDomain" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "创建网站ssl[primaryDomain]", - "formatEN": "Createwebsitessl[primaryDomain]" + "formatEN": "Create website ssl [primaryDomain]", + "formatZH": "创建网站 ssl [primaryDomain]", + "paramKeys": [] }, "/websites/ssl/del": { + "BeforeFunctions": [ + { + "db": "website_ssls", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "primary_domain", + "output_value": "domain" + } + ], "bodyKeys": [ "ids" ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "ids", - "isList": true, - "db": "website_ssls", - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "formatZH": "删除ssl[domain]", - "formatEN": "Deletessl[domain]" + "formatEN": "Delete ssl [domain]", + "formatZH": "删除 ssl [domain]", + "paramKeys": [] }, "/websites/ssl/download": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_ssls", "input_column": "id", "input_value": "id", "isList": false, - "db": "website_ssls", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "下载证书文件[domain]", - "formatEN": "downloadsslfile[domain]" + "bodyKeys": [ + "id" + ], + "formatEN": "download ssl file [domain]", + "formatZH": "下载证书文件 [domain]", + "paramKeys": [] }, "/websites/ssl/obtain": { - "bodyKeys": [ - "ID" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_ssls", "input_column": "id", "input_value": "ID", "isList": false, - "db": "website_ssls", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "申请证书[domain]", - "formatEN": "applyssl[domain]" + "bodyKeys": [ + "ID" + ], + "formatEN": "apply ssl [domain]", + "formatZH": "申请证书 [domain]", + "paramKeys": [] }, "/websites/ssl/update": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ + "BeforeFunctions": [ { + "db": "website_ssls", "input_column": "id", "input_value": "id", "isList": false, - "db": "website_ssls", "output_column": "primary_domain", "output_value": "domain" } ], - "formatZH": "更新证书设置[domain]", - "formatEN": "Updatesslconfig[domain]" + "bodyKeys": [ + "id" + ], + "formatEN": "Update ssl config [domain]", + "formatZH": "更新证书设置 [domain]", + "paramKeys": [] }, "/websites/ssl/upload": { + "BeforeFunctions": [], "bodyKeys": [ "type" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "上传ssl[type]", - "formatEN": "Uploadssl[type]" + "formatEN": "Upload ssl [type]", + "formatZH": "上传 ssl [type]", + "paramKeys": [] }, "/websites/update": { + "BeforeFunctions": [], "bodyKeys": [ "primaryDomain" ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新网站[primaryDomain]", - "formatEN": "Updatewebsite[primaryDomain]" - }, - "/xpack/licenses/sync": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "同步许可证信息", - "formatEN": "synclicenseinfo" - }, - "/xpack/licenses/unbind": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "解绑许可证", - "formatEN": "unbindlicense" - }, - "/xpack/licenses/upload": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "导入许可证", - "formatEN": "importlicense" - }, - "/xpack/tampers/batch/update": { - "bodyKeys": [ - "ids", - "status" - ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "ids", - "isList": true, - "db": "tampers", - "output_column": "website", - "output_value": "website" - } - ], - "formatZH": "批量修改防篡改状态[website]=\u003e[status]", - "formatEN": "batchupdatetamperinfo[website]=\u003e[status]" - }, - "/xpack/tampers/template": { - "bodyKeys": [ - "name", - "content" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "保存防篡改模版[name]-[content]", - "formatEN": "savetampertemplateinfo[name]-[content]" - }, - "/xpack/tampers/template/del": { - "bodyKeys": [ - "id" - ], - "paramKeys": [], - "beforeFunctions": [ - { - "input_column": "id", - "input_value": "id", - "isList": false, - "db": "tampers", - "output_column": "name", - "output_value": "name" - } - ], - "formatZH": "删除防篡改模版[name]", - "formatEN": "deletetampertemplate[name]" - }, - "/xpack/tampers/update": { - "bodyKeys": [ - "website" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新防篡改信息[website]", - "formatEN": "updatetamperinfo[website]" - }, - "/xpack/xsetting/reset": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "重置界面设置", - "formatEN": "resetsetting" - }, - "/xpack/xsetting/update": { - "bodyKeys": [], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新界面设置", - "formatEN": "updatesetting" - }, - "/xpack/xsetting/update/item": { - "bodyKeys": [ - "key", - "value" - ], - "paramKeys": [], - "beforeFunctions": [], - "formatZH": "更新界面设置[key]=\u003e[value]", - "formatEN": "updatesetting[key]=\u003e[value]" + "formatEN": "Update website [primaryDomain]", + "formatZH": "更新网站 [primaryDomain]", + "paramKeys": [] } } \ No newline at end of file diff --git a/core/router/ro_base.go b/core/router/ro_base.go index f106a3f4a..e24824a01 100644 --- a/core/router/ro_base.go +++ b/core/router/ro_base.go @@ -15,8 +15,6 @@ func (s *BaseRouter) InitRouter(Router *gin.RouterGroup) { baseRouter.POST("/mfalogin", baseApi.MFALogin) baseRouter.POST("/login", baseApi.Login) baseRouter.POST("/logout", baseApi.LogOut) - baseRouter.GET("/demo", baseApi.CheckIsDemo) - baseRouter.GET("/language", baseApi.GetLanguage) - baseRouter.GET("/intl", baseApi.CheckIsIntl) + baseRouter.GET("/setting", baseApi.GetLoginSetting) } } diff --git a/frontend/src/api/interface/auth.ts b/frontend/src/api/interface/auth.ts index ec1a7f777..91ecf540f 100644 --- a/frontend/src/api/interface/auth.ts +++ b/frontend/src/api/interface/auth.ts @@ -26,4 +26,10 @@ export namespace Login { export interface ResAuthButtons { [propName: string]: any; } + + export interface LoginSetting { + isDemo: boolean; + isIntl: boolean; + language: string; + } } diff --git a/frontend/src/api/modules/auth.ts b/frontend/src/api/modules/auth.ts index f3f3f7644..2ca46f8ef 100644 --- a/frontend/src/api/modules/auth.ts +++ b/frontend/src/api/modules/auth.ts @@ -17,18 +17,6 @@ export const logOutApi = () => { return http.post(`/core/auth/logout`); }; -export const checkIsSafety = (code: string) => { - return http.get(`/core/auth/issafety?code=${code}`); -}; - -export const checkIsDemo = () => { - return http.get('/core/auth/demo'); -}; - -export const getLanguage = () => { - return http.get(`/core/auth/language`); -}; - -export const checkIsIntl = () => { - return http.get('/core/auth/intl'); +export const getLoginSetting = () => { + return http.get('/core/auth/setting'); }; diff --git a/frontend/src/layout/components/Sidebar/index.vue b/frontend/src/layout/components/Sidebar/index.vue index f02974a9b..709ff08b8 100644 --- a/frontend/src/layout/components/Sidebar/index.vue +++ b/frontend/src/layout/components/Sidebar/index.vue @@ -72,7 +72,7 @@ import Logo from './components/Logo.vue'; import Collapse from './components/Collapse.vue'; import SubItem from './components/SubItem.vue'; import router, { menuList } from '@/routers/router'; -import { checkIsIntl, logOutApi } from '@/api/modules/auth'; +import { logOutApi } from '@/api/modules/auth'; import i18n from '@/lang'; import { DropdownInstance, ElMessageBox } from 'element-plus'; import { GlobalStore, MenuStore } from '@/store'; @@ -222,7 +222,6 @@ function getCheckedLabels(json: Node): string[] { } const search = async () => { - await checkIsSystemIntl(); let checkedLabels: any[] = []; const res = await getSettingInfo(); version.value = res.data.systemVersion; @@ -284,11 +283,6 @@ const openTask = () => { emit('openTask'); }; -const checkIsSystemIntl = async () => { - const res = await checkIsIntl(); - globalStore.isIntl = res.data; -}; - onMounted(() => { menuStore.setMenuList(menuList); search(); diff --git a/frontend/src/views/login/components/login-form.vue b/frontend/src/views/login/components/login-form.vue index 497421b02..9e7229c43 100644 --- a/frontend/src/views/login/components/login-form.vue +++ b/frontend/src/views/login/components/login-form.vue @@ -106,7 +106,7 @@ @click="loginVerify()" /> - + {{ $t('commons.login.errorCaptcha') }} @@ -115,7 +115,6 @@ - - - + + {{ $t('commons.login.username') }}:demo {{ $t('commons.login.password') }}:1panel + + + + + + -
- - {{ $t('commons.login.username') }}:demo {{ $t('commons.login.password') }}:1panel - -
@@ -184,7 +178,7 @@ import { ref, reactive, onMounted, computed } from 'vue'; import { useRouter } from 'vue-router'; import type { ElForm } from 'element-plus'; -import { loginApi, getCaptcha, mfaLoginApi, checkIsDemo, getLanguage, checkIsIntl } from '@/api/modules/auth'; +import { loginApi, getCaptcha, mfaLoginApi, getLoginSetting } from '@/api/modules/auth'; import { GlobalStore, MenuStore, TabsStore } from '@/store'; import { MsgSuccess } from '@/utils/message'; import { useI18n } from 'vue-i18n'; @@ -270,12 +264,6 @@ const mfaShow = ref(false); const router = useRouter(); const dropdownText = ref('中文(简体)'); -const checkIsSystemIntl = async () => { - const res = await checkIsIntl(); - isIntl.value = res.data; - globalStore.isIntl = isIntl.value; -}; - function handleCommand(command: string) { loginForm.language = command; usei18n.locale.value = command; @@ -284,8 +272,14 @@ function handleCommand(command: string) { dropdownText.value = '中文(简体)'; } else if (command === 'en') { dropdownText.value = 'English'; + } else if (command === 'pt-BR') { + dropdownText.value = 'Português (Brasil)'; } else if (command === 'tw') { dropdownText.value = '中文(繁體)'; + } else if (command === 'ko') { + dropdownText.value = '한국어'; + } else if (command === 'ja') { + dropdownText.value = '日本語'; } else if (command === 'ru') { dropdownText.value = 'Русский'; } else if (command === 'ms') { @@ -395,19 +389,6 @@ const loginVerify = async () => { captcha.captchaLength = res.data.captchaLength ? res.data.captchaLength : 0; }; -const checkIsSystemDemo = async () => { - const res = await checkIsDemo(); - isDemo.value = res.data; -}; - -const loadLanguage = async () => { - try { - const res = await getLanguage(); - loginForm.language = res.data; - handleCommand(res.data); - } catch (error) {} -}; - const loadDataFromDB = async () => { const res = await getSettingInfo(); document.title = res.data.panelName; @@ -420,14 +401,25 @@ const loadDataFromDB = async () => { globalStore.setThemeConfig({ ...themeConfig.value, theme: theme, panelName: res.data.panelName }); }; +const getSetting = async () => { + try { + const res = await getLoginSetting(); + isDemo.value = res.data.isDemo; + loginForm.language = res.data.language; + handleCommand(loginForm.language); + isIntl.value = res.data.isIntl; + globalStore.isIntl = isIntl.value; + } catch (error) {} +}; + onMounted(() => { globalStore.isOnRestart = false; - checkIsSystemIntl(); - loginVerify(); - loadLanguage(); + getSetting(); + if (!globalStore.ignoreCaptcha) { + loginVerify(); + } document.title = globalStore.themeConfig.panelName; loginForm.agreeLicense = globalStore.agreeLicense; - checkIsSystemDemo(); document.onkeydown = (e: any) => { e = window.event || e; if (e.keyCode === 13) { diff --git a/frontend/src/views/login/index.vue b/frontend/src/views/login/index.vue index 37e48d5c7..d4506a5cb 100644 --- a/frontend/src/views/login/index.vue +++ b/frontend/src/views/login/index.vue @@ -22,15 +22,11 @@