diff --git a/agent/cmd/server/docs/docs.go b/agent/cmd/server/docs/docs.go deleted file mode 100644 index b004a49f5..000000000 --- a/agent/cmd/server/docs/docs.go +++ /dev/null @@ -1,23464 +0,0 @@ -// Code generated by swaggo/swag. DO NOT EDIT. - -package docs - -import "github.com/swaggo/swag" - -const docTemplate = `{ - "schemes": {{ marshal .Schemes }}, - "swagger": "2.0", - "info": { - "description": "{{escape .Description}}", - "title": "{{.Title}}", - "termsOfService": "http://swagger.io/terms/", - "contact": {}, - "license": { - "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" - }, - "version": "{{.Version}}" - }, - "host": "{{.Host}}", - "basePath": "{{.BasePath}}", - "paths": { - "/apps/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用信息", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app by key", - "parameters": [ - { - "type": "string", - "description": "app key", - "name": "key", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDTO" - } - } - } - } - }, - "/apps/checkupdate": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用更新版本", - "tags": [ - "App" - ], - "summary": "Get app list update", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/detail/:appId/:version/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 appid 获取应用详情", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app detail by appid", - "parameters": [ - { - "type": "integer", - "description": "app id", - "name": "appId", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "app 版本", - "name": "version", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "app 类型", - "name": "version", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDetailDTO" - } - } - } - } - }, - "/apps/details/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 获取应用详情", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Get app detail by id", - "parameters": [ - { - "type": "integer", - "description": "id", - "name": "appId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDetailDTO" - } - } - } - } - }, - "/apps/ignored": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取忽略的应用版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Get Ignore App", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.IgnoredApp" - } - } - } - } - }, - "/apps/install": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "安装应用", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Install app", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstallCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/model.AppInstall" - } - } - }, - "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" - } - ], - "bodyKeys": [ - "name" - ], - "formatEN": "Install app [appKey]-[name]", - "formatZH": "安装应用 [appKey]-[name]", - "paramKeys": [] - } - } - }, - "/apps/installed/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检查应用安装情况", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Check app installed", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppInstalledCheck" - } - } - } - } - }, - "/apps/installed/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用默认配置", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search default config by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/apps/installed/conninfo/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用连接信息", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app password by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/apps/installed/delete/check/:appInstallId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Check before delete", - "parameters": [ - { - "type": "integer", - "description": "App install id", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppResource" - } - } - } - } - } - }, - "/apps/installed/ignore": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "忽略应用升级版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "ignore App Update", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledIgnoreUpgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "installId" - ], - "formatEN": "Application param update [installId]", - "formatZH": "忽略应用 [installId] 版本升级", - "paramKeys": [] - } - } - }, - "/apps/installed/list": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取已安装应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "List app installed", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppInstallInfo" - } - } - } - } - } - }, - "/apps/installed/loadport": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用端口", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app port by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "integer" - } - } - } - } - }, - "/apps/installed/op": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作已安装应用", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Operate installed app", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "app_installs", - "input_column": "id", - "input_value": "installId", - "isList": false, - "output_column": "app_id", - "output_value": "appId" - }, - { - "db": "app_installs", - "input_column": "id", - "input_value": "installId", - "isList": false, - "output_column": "name", - "output_value": "appName" - }, - { - "db": "apps", - "input_column": "id", - "input_value": "appId", - "isList": false, - "output_column": "key", - "output_value": "appKey" - } - ], - "bodyKeys": [ - "installId", - "operate" - ], - "formatEN": "[operate] App [appKey][appName]", - "formatZH": "[operate] 应用 [appKey][appName]", - "paramKeys": [] - } - } - }, - "/apps/installed/params/:appInstallId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 install id 获取应用参数", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search params by appInstallId", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppParam" - } - } - } - } - }, - "/apps/installed/params/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改应用参数", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Change app params", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "installId" - ], - "formatEN": "Application param update [installId]", - "formatZH": "应用参数修改 [installId]", - "paramKeys": [] - } - } - }, - "/apps/installed/port/change": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改应用端口", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Change app port", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PortUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "name", - "port" - ], - "formatEN": "Application port update [key]-[name] =\u003e [port]", - "formatZH": "应用端口修改 [key]-[name] =\u003e [port]", - "paramKeys": [] - } - } - }, - "/apps/installed/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分页获取已安装应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Page app installed", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/installed/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步已安装应用列表", - "tags": [ - "App" - ], - "summary": "Sync app installed", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Sync the list of installed apps", - "formatZH": "同步已安装应用列表", - "paramKeys": [] - } - } - }, - "/apps/installed/update/versions": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 install id 获取应用更新版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app update version by install id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppVersion" - } - } - } - } - } - }, - "/apps/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "List apps", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/services/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用 service", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app service by key", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "key", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.AppService" - } - } - } - } - } - }, - "/apps/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步应用列表", - "tags": [ - "App" - ], - "summary": "Sync app list", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "App store synchronization", - "formatZH": "应用商店同步", - "paramKeys": [] - } - } - }, - "/auth/captcha": { - "get": { - "description": "加载验证码", - "tags": [ - "Auth" - ], - "summary": "Load captcha", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.CaptchaResponse" - } - } - } - } - }, - "/auth/demo": { - "get": { - "description": "判断是否为demo环境", - "tags": [ - "Auth" - ], - "summary": "Check System isDemo", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/issafety": { - "get": { - "description": "获取系统安全登录状态", - "tags": [ - "Auth" - ], - "summary": "Load safety status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/language": { - "get": { - "description": "获取系统语言设置", - "tags": [ - "Auth" - ], - "summary": "Load System Language", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/login": { - "post": { - "description": "用户登录", - "consumes": [ - "application/json" - ], - "tags": [ - "Auth" - ], - "summary": "User login", - "parameters": [ - { - "type": "string", - "description": "安全入口 base64 加密串", - "name": "EntranceCode", - "in": "header", - "required": true - }, - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Login" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.UserLoginInfo" - } - } - } - } - }, - "/auth/logout": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "用户登出", - "tags": [ - "Auth" - ], - "summary": "User logout", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/mfalogin": { - "post": { - "description": "用户 mfa 登录", - "consumes": [ - "application/json" - ], - "tags": [ - "Auth" - ], - "summary": "User login with mfa", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MFALogin" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.UserLoginInfo" - }, - "headers": { - "EntranceCode": { - "type": "string", - "description": "安全入口" - } - } - } - } - } - }, - "/containers": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Create container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "create container [name][image]", - "formatZH": "创建容器 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/clean/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理容器日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Clean container log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "clean container [name] logs", - "formatZH": "清理容器 [name] 日志", - "paramKeys": [] - } - } - }, - "/containers/commit": { - "post": { - "description": "容器提交生成新镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Commit Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerCommit" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/compose": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器编排", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Create compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create compose [name]", - "formatZH": "创建 compose [name]", - "paramKeys": [] - } - } - }, - "/containers/compose/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器编排操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Operate compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "operation" - ], - "formatEN": "compose [operation] [name]", - "formatZH": "compose [operation] [name]", - "paramKeys": [] - } - } - }, - "/containers/compose/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取编排列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Page composes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/compose/search/log": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "docker-compose 日志", - "tags": [ - "Container Compose" - ], - "summary": "Container Compose logs", - "parameters": [ - { - "type": "string", - "description": "compose 文件地址", - "name": "compose", - "in": "query" - }, - { - "type": "string", - "description": "时间筛选", - "name": "since", - "in": "query" - }, - { - "type": "string", - "description": "是否追踪", - "name": "follow", - "in": "query" - }, - { - "type": "string", - "description": "显示行号", - "name": "tail", - "in": "query" - } - ], - "responses": {} - } - }, - "/containers/compose/test": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试 compose 是否可用", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Test compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "check compose [name]", - "formatZH": "检测 compose [name] 格式", - "paramKeys": [] - } - } - }, - "/containers/compose/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器编排", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Update compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update compose information [name]", - "formatZH": "更新 compose [name]", - "paramKeys": [] - } - } - }, - "/containers/daemonjson": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 配置信息", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker daemon.json", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DaemonJsonConf" - } - } - } - } - }, - "/containers/daemonjson/file": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 配置信息(表单)", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker daemon.json", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/daemonjson/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "Updated configuration [key]", - "formatZH": "更新配置 [key]", - "paramKeys": [] - } - } - }, - "/containers/daemonjson/update/byfile": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传替换 docker 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DaemonJsonUpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated configuration file", - "formatZH": "更新配置文件", - "paramKeys": [] - } - } - }, - "/containers/docker/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Docker 操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Operate docker", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DockerOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] docker service", - "formatZH": "docker 服务 [operation]", - "paramKeys": [] - } - } - }, - "/containers/docker/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 服务状态", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker status", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/download/log": { - "post": { - "description": "下载容器日志", - "responses": {} - } - }, - "/containers/image": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像名称列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "load images options", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - } - }, - "/containers/image/all": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取所有镜像列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "List all images", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ImageInfo" - } - } - } - } - } - }, - "/containers/image/build": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "构建镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Build image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageBuild" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "build image [name]", - "formatZH": "构建镜像 [name]", - "paramKeys": [] - } - } - }, - "/containers/image/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导入镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Load image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageLoad" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "load image from [path]", - "formatZH": "从 [path] 加载镜像", - "paramKeys": [] - } - } - }, - "/containers/image/pull": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "拉取镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Pull image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImagePull" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "imageName" - ], - "formatEN": "image pull [reponame][imageName]", - "formatZH": "镜像拉取 [reponame][imageName]", - "paramKeys": [] - } - } - }, - "/containers/image/push": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "推送镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Push image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImagePush" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "tagName", - "name" - ], - "formatEN": "push [tagName] to [reponame][name]", - "formatZH": "[tagName] 推送到 [reponame][name]", - "paramKeys": [] - } - } - }, - "/containers/image/remove": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Delete image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "remove image [names]", - "formatZH": "移除镜像 [names]", - "paramKeys": [] - } - } - }, - "/containers/image/save": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导出镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Save image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageSave" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "tagName", - "path", - "name" - ], - "formatEN": "save [tagName] as [path]/[name]", - "formatZH": "保留 [tagName] 为 [path]/[name]", - "paramKeys": [] - } - } - }, - "/containers/image/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Page images", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/image/tag": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Tag 镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Tag image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageTag" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "targetName" - ], - "formatEN": "tag image [reponame][targetName]", - "formatZH": "tag 镜像 [reponame][targetName]", - "paramKeys": [] - } - } - }, - "/containers/info": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器表单信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Load container info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - } - } - }, - "/containers/inspect": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器详情", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Container inspect", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.InspectReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/ipv6option/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker ipv6 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json ipv6 option", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.LogOption" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated the ipv6 option", - "formatZH": "更新 ipv6 配置", - "paramKeys": [] - } - } - }, - "/containers/limit": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器限制", - "summary": "Load container limits", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ResourceLimit" - } - } - } - } - }, - "/containers/list": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器名称", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "List containers", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/list/stats": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器列表资源占用", - "summary": "Load container stats", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ContainerListStats" - } - } - } - } - } - }, - "/containers/load/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Load container log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/logoption/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker 日志配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json log option", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.LogOption" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated the log option", - "formatZH": "更新日志配置", - "paramKeys": [] - } - } - }, - "/containers/network": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器网络列表", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "List networks", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器网络", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Create network", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.NetworkCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create container network [name]", - "formatZH": "创建容器网络 name", - "paramKeys": [] - } - } - }, - "/containers/network/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器网络", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Delete network", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "delete container network [names]", - "formatZH": "删除容器网络 [names]", - "paramKeys": [] - } - } - }, - "/containers/network/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器网络列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Page networks", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Operate Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names", - "operation" - ], - "formatEN": "container [operation] [names]", - "formatZH": "容器 [names] 执行 [operation]", - "paramKeys": [] - } - } - }, - "/containers/prune": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器清理", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Clean container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerPrune" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerPruneReport" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "pruneType" - ], - "formatEN": "clean container [pruneType]", - "formatZH": "清理容器 [pruneType]", - "paramKeys": [] - } - } - }, - "/containers/rename": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器重命名", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Rename Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerRename" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "newName" - ], - "formatEN": "rename container [name] =\u003e [newName]", - "formatZH": "容器重命名 [name] =\u003e [newName]", - "paramKeys": [] - } - } - }, - "/containers/repo": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像仓库列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "List image repos", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ImageRepoOption" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Create image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create image repo [name]", - "formatZH": "创建镜像仓库 [name]", - "paramKeys": [] - } - } - }, - "/containers/repo/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Delete image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete image repo [names]", - "formatZH": "删除镜像仓库 [names]", - "paramKeys": [] - } - } - }, - "/containers/repo/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像仓库列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Page image repos", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/repo/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 仓库状态", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Load repo status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/repo/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Update image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update image repo information [name]", - "formatZH": "更新镜像仓库 [name]", - "paramKeys": [] - } - } - }, - "/containers/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Page containers", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageContainer" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/search/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器日志", - "tags": [ - "Container" - ], - "summary": "Container logs", - "parameters": [ - { - "type": "string", - "description": "容器名称", - "name": "container", - "in": "query" - }, - { - "type": "string", - "description": "时间筛选", - "name": "since", - "in": "query" - }, - { - "type": "string", - "description": "是否追踪", - "name": "follow", - "in": "query" - }, - { - "type": "string", - "description": "显示行号", - "name": "tail", - "in": "query" - } - ], - "responses": {} - } - }, - "/containers/stats/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器监控信息", - "tags": [ - "Container" - ], - "summary": "Container stats", - "parameters": [ - { - "type": "integer", - "description": "容器id", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerStats" - } - } - } - } - }, - "/containers/template": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器编排模版列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "List compose templates", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ComposeTemplateInfo" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Create compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeTemplateCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create compose template [name]", - "formatZH": "创建 compose 模版 [name]", - "paramKeys": [] - } - } - }, - "/containers/template/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Delete compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "compose_templates", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete compose template [names]", - "formatZH": "删除 compose 模版 [names]", - "paramKeys": [] - } - } - }, - "/containers/template/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器编排模版列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Page compose templates", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/template/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Update compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeTemplateUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "compose_templates", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update compose template information [name]", - "formatZH": "更新 compose 模版 [name]", - "paramKeys": [] - } - } - }, - "/containers/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Update container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "update container [name][image]", - "formatZH": "更新容器 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/upgrade": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Upgrade container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerUpgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "upgrade container image [name][image]", - "formatZH": "更新容器镜像 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/volume": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器存储卷列表", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "List volumes", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器存储卷", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Create volume", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.VolumeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create container volume [name]", - "formatZH": "创建容器存储卷 [name]", - "paramKeys": [] - } - } - }, - "/containers/volume/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器存储卷", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Delete volume", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "delete container volume [names]", - "formatZH": "删除容器存储卷 [names]", - "paramKeys": [] - } - } - }, - "/containers/volume/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器存储卷分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Page volumes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Create cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name" - ], - "formatEN": "create cronjob [type][name]", - "formatZH": "创建计划任务 [type][name]", - "paramKeys": [] - } - } - }, - "/cronjobs/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Delete cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Download cronjob records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobDownload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "job_records", - "input_column": "id", - "input_value": "recordID", - "isList": false, - "output_column": "file", - "output_value": "file" - } - ], - "bodyKeys": [ - "recordID" - ], - "formatEN": "download the cronjob record [file]", - "formatZH": "下载计划任务记录 [file]", - "paramKeys": [] - } - } - }, - "/cronjobs/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "手动执行计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Handle cronjob once", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "manually execute the cronjob [name]", - "formatZH": "手动执行计划任务 [name]", - "paramKeys": [] - } - } - }, - "/cronjobs/records/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Clean job records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobClean" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "clean cronjob [name] records", - "formatZH": "清空计划任务记录 [name]", - "paramKeys": [] - } - } - }, - "/cronjobs/records/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务记录日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Load Cronjob record log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/cronjobs/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Page cronjobs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageCronjob" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs/search/records": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Page job records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchRecord" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新计划任务状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Update cronjob status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobUpdateStatus" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "status" - ], - "formatEN": "change the status of cronjob [name] to [status].", - "formatZH": "修改计划任务 [name] 状态为 [status]", - "paramKeys": [] - } - } - }, - "/cronjobs/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Update cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update cronjob [name]", - "formatZH": "更新计划任务 [name]", - "paramKeys": [] - } - } - }, - "/dashboard/base/:ioOption/:netOption": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取首页基础数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load dashboard base info", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "ioOption", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "request", - "name": "netOption", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DashboardBase" - } - } - } - } - }, - "/dashboard/base/os": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取服务器基础数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load os info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.OsInfo" - } - } - } - } - }, - "/dashboard/current/:ioOption/:netOption": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取首页实时数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load dashboard current info", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "ioOption", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "request", - "name": "netOption", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DashboardCurrent" - } - } - } - } - }, - "/dashboard/system/restart/:operation": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "重启服务器/面板", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "System restart", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "operation", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 mysql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Create mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create mysql database [name]", - "formatZH": "创建 mysql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "绑定 mysql 数据库用户", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Bind user of mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BindUser" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "database", - "username" - ], - "formatEN": "bind mysql database [database] [username]", - "formatZH": "绑定 mysql 数据库名 [database] [username]", - "paramKeys": [] - } - } - }, - "/databases/change/access": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 mysql 访问权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Change mysql access", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] access", - "formatZH": "更新数据库 [name] 访问权限", - "paramKeys": [] - } - } - }, - "/databases/change/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 mysql 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Change mysql password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] password", - "formatZH": "更新数据库 [name] 密码", - "paramKeys": [] - } - } - }, - "/databases/common/info": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库基础信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Load base info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DBBaseInfo" - } - } - } - } - }, - "/databases/common/load/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Load Database conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases/common/update/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传替换配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Update conf by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DBConfUpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "database" - ], - "formatEN": "update the [type] [database] database configuration information", - "formatZH": "更新 [type] 数据库 [database] 配置信息", - "paramKeys": [] - } - } - }, - "/databases/db": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Create database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "create database [name][type]", - "formatZH": "创建远程数据库 [name][type]", - "paramKeys": [] - } - } - }, - "/databases/db/:name": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库", - "tags": [ - "Database" - ], - "summary": "Get databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DatabaseInfo" - } - } - } - } - }, - "/databases/db/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检测远程数据库连接性", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Check database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "check if database [name][type] is connectable", - "formatZH": "检测远程数据库 [name][type] 连接性", - "paramKeys": [] - } - } - }, - "/databases/db/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Delete database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "databases", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete database [names]", - "formatZH": "删除远程数据库 [names]", - "paramKeys": [] - } - } - }, - "/databases/db/item/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库列表", - "tags": [ - "Database" - ], - "summary": "List databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DatabaseItem" - } - } - } - } - } - }, - "/databases/db/list/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库列表", - "tags": [ - "Database" - ], - "summary": "List databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DatabaseOption" - } - } - } - } - } - }, - "/databases/db/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Page databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/db/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Update database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update database [name]", - "formatZH": "更新远程数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 mysql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Delete mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete mysql database [name]", - "formatZH": "删除 mysql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mysql 数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Check before delete mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBDeleteCheck" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/databases/description/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 mysql 数据库库描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Update mysql database description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the mysql database [name] is modified =\u003e [description]", - "formatZH": "mysql 数据库 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/databases/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从服务器获取", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql database from remote", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlLoadDB" - } - } - ], - "responses": {} - } - }, - "/databases/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 数据库列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "List mysql database names", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.MysqlOption" - } - } - } - } - } - }, - "/databases/pg": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 postgresql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Create postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create postgresql database [name]", - "formatZH": "创建 postgresql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/pg/:database/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从服务器获取", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Load postgresql database from remote", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlLoadDB" - } - } - ], - "responses": {} - } - }, - "/databases/pg/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "绑定 postgresql 数据库用户", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Bind postgresql user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlBindUser" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "username" - ], - "formatEN": "bind postgresql database [name] user [username]", - "formatZH": "绑定 postgresql 数据库 [name] 用户 [username]", - "paramKeys": [] - } - } - }, - "/databases/pg/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 postgresql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Delete postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete postgresql database [name]", - "formatZH": "删除 postgresql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/pg/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Postgresql 数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Check before delete postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBDeleteCheck" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/databases/pg/description": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 postgresql 数据库库描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Update postgresql database description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the postgresql database [name] is modified =\u003e [description]", - "formatZH": "postgresql 数据库 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/databases/pg/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 postgresql 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Change postgresql password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] password", - "formatZH": "更新数据库 [name] 密码", - "paramKeys": [] - } - } - }, - "/databases/pg/privileges": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 postgresql 用户权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Change postgresql privileges", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "database", - "username" - ], - "formatEN": "Update [user] privileges of database [database]", - "formatZH": "更新数据库 [database] 用户 [username] 权限", - "paramKeys": [] - } - } - }, - "/databases/pg/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 postgresql 数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Page postgresql databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/redis/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisConf" - } - } - } - } - }, - "/databases/redis/conf/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Update redis conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisConfUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update the redis database configuration information", - "formatZH": "更新 redis 数据库配置信息", - "paramKeys": [] - } - } - }, - "/databases/redis/install/cli": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "安装 redis cli", - "tags": [ - "Database Redis" - ], - "summary": "Install redis-cli", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases/redis/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Change redis password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeRedisPass" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "change the password of the redis database", - "formatZH": "修改 redis 数据库密码", - "paramKeys": [] - } - } - }, - "/databases/redis/persistence/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 持久化配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis persistence conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisPersistence" - } - } - } - } - }, - "/databases/redis/persistence/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 持久化配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Update redis persistence conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisConfPersistenceUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "redis database persistence configuration update", - "formatZH": "redis 数据库持久化配置更新", - "paramKeys": [] - } - } - }, - "/databases/redis/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 状态信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis status info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisStatus" - } - } - } - } - }, - "/databases/remote": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 远程访问权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql remote access", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "boolean" - } - } - } - } - }, - "/databases/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Page mysql databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 状态信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql status info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.MysqlStatus" - } - } - } - } - }, - "/databases/variables": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 性能参数信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql variables info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.MysqlVariables" - } - } - } - } - }, - "/databases/variables/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "mysql 性能调优", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Update mysql variables", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlVariablesUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "adjust mysql database performance parameters", - "formatZH": "调整 mysql 数据库性能参数", - "paramKeys": [] - } - } - }, - "/db/remote/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mysql 远程数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Check before delete remote database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/files": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Create file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Create dir or file [path]", - "formatZH": "创建文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/batch/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量删除文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Batch delete file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "paths" - ], - "formatEN": "Batch delete dir or file [paths]", - "formatZH": "批量删除文件/文件夹 [paths]", - "paramKeys": [] - } - } - }, - "/files/batch/role": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量修改文件权限和用户/组", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Batch change file mode and owner", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRoleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "paths", - "mode", - "user", - "group" - ], - "formatEN": "Batch change file mode and owner [paths] =\u003e [mode]/[user]/[group]", - "formatZH": "批量修改文件权限和用户/组 [paths] =\u003e [mode]/[user]/[group]", - "paramKeys": [] - } - } - }, - "/files/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检测文件是否存在", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Check file exist", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FilePathCheck" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/chunkdownload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分片下载下载文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Chunk Download file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDownload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Download file [name]", - "formatZH": "下载文件 [name]", - "paramKeys": [] - } - } - }, - "/files/chunkupload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分片上传文件", - "tags": [ - "File" - ], - "summary": "ChunkUpload file", - "parameters": [ - { - "type": "file", - "description": "request", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/compress": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "压缩文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Compress file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCompress" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Compress file [name]", - "formatZH": "压缩文件 [name]", - "paramKeys": [] - } - } - }, - "/files/content": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件内容", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load file content", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileContentReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Load file content [path]", - "formatZH": "获取文件内容 [path]", - "paramKeys": [] - } - } - }, - "/files/decompress": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "解压文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Decompress file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDeCompress" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Decompress file [path]", - "formatZH": "解压 [path]", - "paramKeys": [] - } - } - }, - "/files/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Delete file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Delete dir or file [path]", - "formatZH": "删除文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/download": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Download file", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/favorite": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建收藏", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Create favorite", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FavoriteCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "收藏文件/文件夹 [path]", - "formatZH": "收藏文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/favorite/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除收藏", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Delete favorite", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FavoriteDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "favorites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "path", - "output_value": "path" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete avorite [path]", - "formatZH": "删除收藏 [path]", - "paramKeys": [] - } - } - }, - "/files/favorite/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取收藏列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List favorites", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/mode": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件权限", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file mode", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path", - "mode" - ], - "formatEN": "Change mode [paths] =\u003e [mode]", - "formatZH": "修改权限 [paths] =\u003e [mode]", - "paramKeys": [] - } - } - }, - "/files/move": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "移动文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Move file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileMove" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "oldPaths", - "newPath" - ], - "formatEN": "Move [oldPaths] =\u003e [newPath]", - "formatZH": "移动文件 [oldPaths] =\u003e [newPath]", - "paramKeys": [] - } - } - }, - "/files/owner": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件用户/组", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file owner", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRoleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path", - "user", - "group" - ], - "formatEN": "Change owner [paths] =\u003e [user]/[group]", - "formatZH": "修改用户/组 [paths] =\u003e [user]/[group]", - "paramKeys": [] - } - } - }, - "/files/read": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "按行读取日志文件", - "tags": [ - "File" - ], - "summary": "Read file by Line", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileReadByLineReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/recycle/clear": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空回收站文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Clear RecycleBin files", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "清空回收站", - "formatZH": "清空回收站", - "paramKeys": [] - } - } - }, - "/files/recycle/reduce": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "还原回收站文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Reduce RecycleBin files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RecycleBinReduce" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Reduce RecycleBin file [name]", - "formatZH": "还原回收站文件 [name]", - "paramKeys": [] - } - } - }, - "/files/recycle/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取回收站文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List RecycleBin files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/recycle/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取回收站状态", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Get RecycleBin status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/rename": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件名称", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file name", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRename" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "oldName", - "newName" - ], - "formatEN": "Rename [oldName] =\u003e [newName]", - "formatZH": "重命名 [oldName] =\u003e [newName]", - "paramKeys": [] - } - } - }, - "/files/save": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新文件内容", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Update file content", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileEdit" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Update file content [path]", - "formatZH": "更新文件内容 [path]", - "paramKeys": [] - } - } - }, - "/files/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileOption" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/files/size": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件夹大小", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load file size", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.DirSizeReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Load file size [path]", - "formatZH": "获取文件夹大小 [path]", - "paramKeys": [] - } - } - }, - "/files/tree": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载文件树", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load files tree", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileOption" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileTree" - } - } - } - } - } - }, - "/files/upload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传文件", - "tags": [ - "File" - ], - "summary": "Upload file", - "parameters": [ - { - "type": "file", - "description": "request", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Upload file [path]", - "formatZH": "上传文件 [path]", - "paramKeys": [] - } - } - }, - "/files/upload/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分页获取上传文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Page file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SearchUploadWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - } - }, - "/files/wget": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载远端文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Wget file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileWget" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "url", - "path", - "name" - ], - "formatEN": "Download url =\u003e [path]/[name]", - "formatZH": "下载 url =\u003e [path]/[name]", - "paramKeys": [] - } - } - }, - "/groups": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "create group [name][type]", - "formatZH": "创建组 [name][type]", - "paramKeys": [] - } - } - }, - "/groups/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Delete group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/groups/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "查询系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "List groups", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.GroupInfo" - } - } - } - } - } - }, - "/groups/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Update group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "update group [name][type]", - "formatZH": "更新组 [name][type]", - "paramKeys": [] - } - } - }, - "/host/conffile/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传文件更新 SSH 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Update host SSH setting by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSHConf" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update SSH conf", - "formatZH": "修改 SSH 配置文件", - "paramKeys": [] - } - } - }, - "/host/ssh/conf": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 配置文件", - "tags": [ - "SSH" - ], - "summary": "Load host SSH conf", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/ssh/generate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "生成 SSH 密钥", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Generate host SSH secret", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GenerateSSH" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "generate SSH secret", - "formatZH": "生成 SSH 密钥 ", - "paramKeys": [] - } - } - }, - "/host/ssh/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 登录日志", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Load host SSH logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchSSHLog" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SSHLog" - } - } - } - } - }, - "/host/ssh/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 SSH 服务状态", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Operate SSH", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] SSH", - "formatZH": "[operation] SSH ", - "paramKeys": [] - } - } - }, - "/host/ssh/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载 SSH 配置信息", - "tags": [ - "SSH" - ], - "summary": "Load host SSH setting info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SSHInfo" - } - } - } - } - }, - "/host/ssh/secret": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 密钥", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Load host SSH secret", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GenerateLoad" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/ssh/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 SSH 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Update host SSH setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSHUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update SSH setting [key] =\u003e [value]", - "formatZH": "修改 SSH 配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/host/tool": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机工具状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/tool/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作主机工具配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] tool config", - "formatZH": "[operate] 主机工具配置文件 ", - "paramKeys": [] - } - } - }, - "/host/tool/create": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建主机工具配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Create Host tool Config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "create [type] config", - "formatZH": "创建 [type] 配置", - "paramKeys": [] - } - } - }, - "/host/tool/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机工具日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/tool/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作主机工具", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Operate tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate", - "type" - ], - "formatEN": "[operate] [type]", - "formatZH": "[operate] [type] ", - "paramKeys": [] - } - } - }, - "/host/tool/supervisor/process": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Supervisor 进程配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get Supervisor process config", - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作守护进程", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Create Supervisor process", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SupervisorProcessConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] process", - "formatZH": "[operate] 守护进程 ", - "paramKeys": [] - } - } - }, - "/host/tool/supervisor/process/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作 Supervisor 进程文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get Supervisor process config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SupervisorProcessFileReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] Supervisor Process Config file", - "formatZH": "[operate] Supervisor 进程文件 ", - "paramKeys": [] - } - } - }, - "/hosts": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Create host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "addr" - ], - "formatEN": "create host [name][addr]", - "formatZH": "创建主机 [name][addr]", - "paramKeys": [] - } - } - }, - "/hosts/command": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令列表", - "tags": [ - "Command" - ], - "summary": "List commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.CommandInfo" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Create command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommandOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "command" - ], - "formatEN": "create quick command [name][command]", - "formatZH": "创建快捷命令 [name][command]", - "paramKeys": [] - } - } - }, - "/hosts/command/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Delete command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "commands", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete quick command [names]", - "formatZH": "删除快捷命令 [names]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 快速命令列表", - "tags": [ - "Redis Command" - ], - "summary": "List redis commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "保存 Redis 快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Save redis command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisCommand" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "command" - ], - "formatEN": "save quick command for redis [name][command]", - "formatZH": "保存 redis 快捷命令 [name][command]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 redis 快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Delete redis command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "redis_commands", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete quick command of redis [names]", - "formatZH": "删除 redis 快捷命令 [names]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 快速命令列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Page redis commands", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/command/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Page commands", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/command/tree": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令树", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Tree commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/hosts/command/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Update command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommandOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update quick command [name]", - "formatZH": "更新快捷命令 [name]", - "paramKeys": [] - } - } - }, - "/hosts/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Delete host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/hosts/firewall/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防火墙基础信息", - "tags": [ - "Firewall" - ], - "summary": "Load firewall base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.FirewallBaseInfo" - } - } - } - } - }, - "/hosts/firewall/batch": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量删除防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/forward": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防火墙端口转发规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ForwardRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "source_port" - ], - "formatEN": "update port forward rules [source_port]", - "formatZH": "更新端口转发规则 [source_port]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/ip": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建防火墙 IP 规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.AddrRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "strategy", - "address" - ], - "formatEN": "create address rules [strategy][address]", - "formatZH": "添加 ip 规则 [strategy] [address]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改防火墙状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Page firewall status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FirewallOperation" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] firewall", - "formatZH": "[operation] 防火墙", - "paramKeys": [] - } - } - }, - "/hosts/firewall/port": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建防火墙端口规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "port", - "strategy" - ], - "formatEN": "create port rules [strategy][port]", - "formatZH": "添加端口规则 [strategy] [port]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防火墙规则列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Page firewall rules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RuleSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/firewall/update/addr": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 ip 防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.AddrRuleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/update/description": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防火墙描述", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Update rule description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateFirewallDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/update/port": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新端口防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortRuleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/monitor/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空监控数据", - "tags": [ - "Monitor" - ], - "summary": "Clean monitor datas", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "clean monitor datas", - "formatZH": "清空监控数据", - "paramKeys": [] - } - } - }, - "/hosts/monitor/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取监控数据", - "tags": [ - "Monitor" - ], - "summary": "Load monitor datas", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MonitorSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Page host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchHostWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostTree" - } - } - } - } - } - }, - "/hosts/test/byid/:id": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试主机连接", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Test host conn by host id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "boolean" - } - } - } - } - }, - "/hosts/test/byinfo": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试主机连接", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Test host conn by info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostConnTest" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/tree": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载主机树", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Load host tree", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchForTree" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostTree" - } - } - } - } - } - }, - "/hosts/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Update host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "addr" - ], - "formatEN": "update host [name][addr]", - "formatZH": "更新主机信息 [name][addr]", - "paramKeys": [] - } - } - }, - "/hosts/update/group": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "切换分组", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Update host group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeHostGroup" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/logs/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Clean operation logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CleanLog" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "logType" - ], - "formatEN": "Clean the [logType] log information", - "formatZH": "清空 [logType] 日志信息", - "paramKeys": [] - } - } - }, - "/logs/login": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统登录日志列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Page login logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchLgLogWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/logs/operation": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统操作日志列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Page operation logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchOpLogWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/logs/system": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统日志", - "tags": [ - "Logs" - ], - "summary": "Load system logs", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/logs/system/files": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统日志文件列表", - "tags": [ - "Logs" - ], - "summary": "Load system log files", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/openresty": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OpenResty 配置信息", - "tags": [ - "OpenResty" - ], - "summary": "Load OpenResty conf", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/openresty/clear": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理 OpenResty 代理缓存", - "tags": [ - "OpenResty" - ], - "summary": "Clear OpenResty proxy cache", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Clear nginx proxy cache", - "formatZH": "清理 Openresty 代理缓存", - "paramKeys": [] - } - } - }, - "/openresty/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传更新 OpenResty 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Update OpenResty conf by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigFileUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Update nginx conf", - "formatZH": "更新 nginx 配置", - "paramKeys": [] - } - } - }, - "/openresty/scope": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取部分 OpenResty 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Load partial OpenResty conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxScopeReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.NginxParam" - } - } - } - } - } - }, - "/openresty/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OpenResty 状态信息", - "tags": [ - "OpenResty" - ], - "summary": "Load OpenResty status info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.NginxStatus" - } - } - } - } - }, - "/openresty/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 OpenResty 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Update OpenResty conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Update nginx conf [domain]", - "formatZH": "更新 nginx 配置 [domain]", - "paramKeys": [] - } - } - }, - "/process/stop": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "停止进程", - "tags": [ - "Process" - ], - "summary": "Stop Process", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.ProcessReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "PID" - ], - "formatEN": "结束进程 [PID]", - "formatZH": "结束进程 [PID]", - "paramKeys": [] - } - } - }, - "/runtimes": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Create runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create runtime [name]", - "formatZH": "创建运行环境 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get runtime", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Delete runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website [name]", - "formatZH": "删除网站 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/node/modules": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Node 项目的 modules", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get Node modules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodeModuleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/node/modules/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作 Node 项目 modules", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Operate Node modules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodeModuleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/node/package": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Node 项目的 scripts", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get Node package scripts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodePackageReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Operate runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "id" - ], - "formatEN": "Operate runtime [name]", - "formatZH": "操作运行环境 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/php/extensions": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Create Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Create Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/php/extensions/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Delete Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Delete Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/php/extensions/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Page Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Page Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.PHPExtensionsDTO" - } - } - } - } - } - }, - "/runtimes/php/extensions/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Update Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Update Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取运行环境列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "List runtimes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步运行环境状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Sync runtime status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Update runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Update runtime [name]", - "formatZH": "更新运行环境 [name]", - "paramKeys": [] - } - } - }, - "/settings/backup": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建备份账号", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Create backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "create backup account [type]", - "formatZH": "创建备份账号 [type]", - "paramKeys": [] - } - } - }, - "/settings/backup/backup": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "备份系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Backup system data", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonBackup" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName" - ], - "formatEN": "backup [type] data [name][detailName]", - "formatZH": "备份 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除备份账号", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Delete backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "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": [] - } - } - }, - "/settings/backup/onedrive": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OneDrive 信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Load OneDrive info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.OneDriveInfo" - } - } - } - } - }, - "/settings/backup/record/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除备份记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Delete backup record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "backup_records", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "file_name", - "output_value": "files" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete backup records [files]", - "formatZH": "删除备份记录 [files]", - "paramKeys": [] - } - } - }, - "/settings/backup/record/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载备份记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Download backup record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DownloadRecord" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "source", - "fileName" - ], - "formatEN": "download backup records [source][fileName]", - "formatZH": "下载备份记录 [source][fileName]", - "paramKeys": [] - } - } - }, - "/settings/backup/record/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份记录列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Page backup records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RecordSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/record/search/bycronjob": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过计划任务获取备份记录列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Page backup records by cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RecordSearchByCronjob" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/recover": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "恢复系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Recover system data", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName", - "file" - ], - "formatEN": "recover [type] data [name][detailName] from [file]", - "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/recover/byupload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从上传恢复系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Recover system data by upload", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName", - "file" - ], - "formatEN": "recover [type] data [name][detailName] from [file]", - "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/refresh/onedrive": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "刷新 OneDrive token", - "tags": [ - "Backup Account" - ], - "summary": "Refresh OneDrive token", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/search": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份账号列表", - "tags": [ - "Backup Account" - ], - "summary": "List backup accounts", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.BackupInfo" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 bucket 列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "List buckets", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ForBuckets" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/settings/backup/search/files": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份账号内文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "List files from backup accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupSearchFile" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/settings/backup/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新备份账号信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Update backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "update backup account [types]", - "formatZH": "更新备份账号 [types]", - "paramKeys": [] - } - } - }, - "/settings/basedir": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取安装根目录", - "tags": [ - "System Setting" - ], - "summary": "Load local backup dir", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/settings/bind/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统监听信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system bind info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BindInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "ipv6", - "bindAddress" - ], - "formatEN": "update system bind info =\u003e ipv6: [ipv6], 监听 IP: [bindAddress]", - "formatZH": "修改系统监听信息 =\u003e ipv6: [ipv6], 监听 IP: [bindAddress]", - "paramKeys": [] - } - } - }, - "/settings/expired/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "重置过期系统登录密码", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Reset system password expired", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PasswordUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "reset an expired Password", - "formatZH": "重置过期密码", - "paramKeys": [] - } - } - }, - "/settings/interface": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统地址信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load system address", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/menu/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "隐藏高级功能菜单", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Hide advanced feature menu.", - "formatZH": "隐藏高级功能菜单", - "paramKeys": [] - } - } - }, - "/settings/mfa": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mfa 信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load mfa info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MfaCredential" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/mfa.Otp" - } - } - } - } - }, - "/settings/mfa/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mfa 绑定", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Bind mfa", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MfaCredential" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "bind mfa", - "formatZH": "mfa 绑定", - "paramKeys": [] - } - } - }, - "/settings/password/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统登录密码", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PasswordUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update system password", - "formatZH": "修改系统密码", - "paramKeys": [] - } - } - }, - "/settings/port/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统端口", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system port", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "serverPort" - ], - "formatEN": "update system port =\u003e [serverPort]", - "formatZH": "修改系统端口 =\u003e [serverPort]", - "paramKeys": [] - } - } - }, - "/settings/proxy/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "服务器代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update proxy setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ProxyUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "proxyUrl", - "proxyPort" - ], - "formatEN": "set proxy [proxyPort]:[proxyPort].", - "formatZH": "服务器代理配置 [proxyPort]:[proxyPort]", - "paramKeys": [] - } - } - }, - "/settings/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载系统配置信息", - "tags": [ - "System Setting" - ], - "summary": "Load system setting info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SettingInfo" - } - } - } - } - }, - "/settings/search/available": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统可用状态", - "tags": [ - "System Setting" - ], - "summary": "Load system available status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/snapshot": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建系统快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Create system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "from", - "description" - ], - "formatEN": "Create system backup [description] to [from]", - "formatZH": "创建系统快照 [description] 到 [from]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除系统快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Delete system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "Delete system backup [name]", - "formatZH": "删除系统快照 [name]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/description/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新快照描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update snapshot description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the snapshot [name] is modified =\u003e [description]", - "formatZH": "快照 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/import": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导入已有快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Import system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotImport" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "from", - "names" - ], - "formatEN": "Sync system snapshots [names] from [from]", - "formatZH": "从 [from] 同步系统快照 [names]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/recover": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从系统快照恢复", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Recover system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Recover from system backup [name]", - "formatZH": "从系统快照 [name] 恢复", - "paramKeys": [] - } - } - }, - "/settings/snapshot/rollback": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从系统快照回滚", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Rollback system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Rollback from system backup [name]", - "formatZH": "从系统快照 [name] 回滚", - "paramKeys": [] - } - } - }, - "/settings/snapshot/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统快照列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Page system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/settings/snapshot/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快照状态", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load Snapshot status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/ssl/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载证书", - "tags": [ - "System Setting" - ], - "summary": "Download system cert", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/ssl/info": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取证书信息", - "tags": [ - "System Setting" - ], - "summary": "Load system cert info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SettingInfo" - } - } - } - } - }, - "/settings/ssl/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 ssl 登录", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSLUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "ssl" - ], - "formatEN": "update system ssl =\u003e [ssl]", - "formatZH": "修改系统 ssl =\u003e [ssl]", - "paramKeys": [] - } - } - }, - "/settings/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统配置", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update system setting [key] =\u003e [value]", - "formatZH": "修改系统配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/settings/upgrade": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取版本 release notes", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load release notes by version", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Upgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "系统更新", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Upgrade", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Upgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "version" - ], - "formatEN": "upgrade system =\u003e [version]", - "formatZH": "更新系统 =\u003e [version]", - "paramKeys": [] - } - } - }, - "/toolbox/clam": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Create clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "path" - ], - "formatEN": "create clam [name][path]", - "formatZH": "创建扫描规则 [name][path]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Clam 基础信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ClamBaseInfo" - } - } - } - } - }, - "/toolbox/clam/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Delete clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete clam [names]", - "formatZH": "删除扫描规则 [names]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/file/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamFileReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/file/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新病毒扫描配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByNameAndFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/clam/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "执行病毒扫描", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Handle clam scan", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "handle clam scan [name]", - "formatZH": "执行病毒扫描 [name]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Clam 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Operate Clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] FTP", - "formatZH": "[operation] Clam", - "paramKeys": [] - } - } - }, - "/toolbox/clam/record/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空扫描报告", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Clean clam record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "clean clam record [name]", - "formatZH": "清空扫描报告 [name]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/record/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描结果详情", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam record detail", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/clam/record/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描结果列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Page clam record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamLogSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描规则列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Page clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/status/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改扫描规则状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamUpdateStatus" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "status" - ], - "formatEN": "change the status of clam [name] to [status].", - "formatZH": "修改扫描规则 [name] 状态为 [status]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "path" - ], - "formatEN": "update clam [name][path]", - "formatZH": "修改扫描规则 [name][path]", - "paramKeys": [] - } - } - }, - "/toolbox/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理系统垃圾文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Clean system", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Clean" - } - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Clean system junk files", - "formatZH": "清理系统垃圾文件", - "paramKeys": [] - } - } - }, - "/toolbox/device/base": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取设备基础信息", - "tags": [ - "Device" - ], - "summary": "Load device base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DeviceBaseInfo" - } - } - } - } - }, - "/toolbox/device/check/dns": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检查系统 DNS 配置可用性", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Check device DNS conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "load conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/byconf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过文件修改配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device conf by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByNameAndFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统参数", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update device conf [key] =\u003e [value]", - "formatZH": "修改主机参数 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/device/update/host": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 hosts", - "tags": [ - "Device" - ], - "summary": "Update device hosts", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update device host [key] =\u003e [value]", - "formatZH": "修改主机 Host [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/device/update/passwd": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device passwd", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangePasswd" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/swap": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 Swap", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device swap", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SwapHelper" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate", - "path" - ], - "formatEN": "[operate] device swap [path]", - "formatZH": "[operate] 主机 swap [path]", - "paramKeys": [] - } - } - }, - "/toolbox/device/zone/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统可用时区选项", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "list time zone options", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/toolbox/fail2ban/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Fail2ban 基础信息", - "tags": [ - "Fail2ban" - ], - "summary": "Load fail2ban base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.Fail2BanBaseInfo" - } - } - } - } - }, - "/toolbox/fail2ban/load/conf": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 fail2ban 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Load fail2ban conf", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/fail2ban/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Fail2ban 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Operate fail2ban", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] Fail2ban", - "formatZH": "[operation] Fail2ban", - "paramKeys": [] - } - } - }, - "/toolbox/fail2ban/operate/sshd": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "配置 sshd", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Operate sshd of fail2ban", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {} - } - }, - "/toolbox/fail2ban/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Fail2ban ip", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Page fail2ban ip list", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Fail2BanSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/toolbox/fail2ban/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Fail2ban 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Update fail2ban conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Fail2BanUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update fail2ban conf [key] =\u003e [value]", - "formatZH": "修改 Fail2ban 配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/fail2ban/update/byconf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过文件修改 fail2ban 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Update fail2ban conf by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/ftp": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Create FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "user", - "path" - ], - "formatEN": "create FTP [user][path]", - "formatZH": "创建 FTP 账户 [user][path]", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 基础信息", - "tags": [ - "FTP" - ], - "summary": "Load FTP base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.FtpBaseInfo" - } - } - } - } - }, - "/toolbox/ftp/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Delete FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "ftps", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "user", - "output_value": "users" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete FTP users [users]", - "formatZH": "删除 FTP 账户 [users]", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/log/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Load FTP operation log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpLogSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/ftp/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 FTP 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Operate FTP", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] FTP", - "formatZH": "[operation] FTP", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 账户列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Page FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/ftp/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Sync FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "sync FTP users", - "formatZH": "同步 FTP 账户", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Update FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "user", - "path" - ], - "formatEN": "update FTP [user][path]", - "formatZH": "修改 FTP 账户 [user][path]", - "paramKeys": [] - } - } - }, - "/toolbox/scan": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "扫描系统垃圾文件", - "tags": [ - "Device" - ], - "summary": "Scan system", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "scan System Junk Files", - "formatZH": "扫描系统垃圾文件", - "paramKeys": [] - } - } - }, - "/websites": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Create website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Create website [primaryDomain]", - "formatZH": "创建网站 [primaryDomain]", - "paramKeys": [] - } - } - }, - "/websites/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Search website by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteDTO" - } - } - } - } - }, - "/websites/:id/config/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询网站 nginx", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Search website nginx by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/websites/:id/https": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 https 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website HTTPS" - ], - "summary": "Load https conf", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteHTTPS" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 https 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website HTTPS" - ], - "summary": "Update https conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteHTTPSOp" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteHTTPS" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Update website https [domain] conf", - "formatZH": "更新网站 [domain] https 配置", - "paramKeys": [] - } - } - }, - "/websites/acme": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 acme", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Create website acme account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteAcmeAccountCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteAcmeAccountDTO" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "email" - ], - "formatEN": "Create website acme [email]", - "formatZH": "创建网站 acme [email]", - "paramKeys": [] - } - } - }, - "/websites/acme/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 acme", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Delete website acme account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_acme_accounts", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "email", - "output_value": "email" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website acme [email]", - "formatZH": "删除网站 acme [email]", - "paramKeys": [] - } - } - }, - "/websites/acme/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 acme 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Page website acme accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/auths": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取密码访问配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AuthBasic conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAuthReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/auths/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新密码访问配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AuthBasic conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAuthUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ca": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Create website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCACreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/request.WebsiteCACreate" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create website ca [name]", - "formatZH": "创建网站 ca [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Delete website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website ca [name]", - "formatZH": "删除网站 ca [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载 CA 证书文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Download CA file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "download ca file [name]", - "formatZH": "下载 CA 证书文件 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/obtain": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "自签 SSL 证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Obtain SSL", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCAObtain" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Obtain SSL [name]", - "formatZH": "自签 SSL 证书 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/renew": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "续签 SSL 证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Obtain SSL", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCAObtain" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Obtain SSL [name]", - "formatZH": "自签 SSL 证书 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ca 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Page website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCASearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/ca/{id}": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Get website ca", - "parameters": [ - { - "type": "integer", - "description": "id", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteCADTO" - } - } - } - } - }, - "/websites/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "网站创建前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Check before create website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteInstallCheckReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsitePreInstallCheck" - } - } - } - } - } - }, - "/websites/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Load nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxScopeReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteNginxConfig" - } - } - } - } - }, - "/websites/config/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Update nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Nginx conf update [domain]", - "formatZH": "nginx 配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/default/html/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取默认 html", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get default html", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/websites/default/html/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新默认 html", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update default html", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteHtmlUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "Update default html", - "formatZH": "更新默认 html", - "paramKeys": [] - } - } - }, - "/websites/default/server": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Change default server", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDefaultUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id", - "operate" - ], - "formatEN": "Change default server =\u003e [domain]", - "formatZH": "修改默认 server =\u003e [domain]", - "paramKeys": [] - } - } - }, - "/websites/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Delete website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website [domain]", - "formatZH": "删除网站 [domain]", - "paramKeys": [] - } - } - }, - "/websites/dir": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站目录配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get website dir", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/dir/permission": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站目录权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update Site Dir permission", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdateDirPermission" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] dir permission", - "formatZH": "更新网站 [domain] 目录权限", - "paramKeys": [] - } - } - }, - "/websites/dir/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站目录", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update Site Dir", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdateDir" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] dir", - "formatZH": "更新网站 [domain] 目录", - "paramKeys": [] - } - } - }, - "/websites/dns": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Create website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDnsAccountCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create website dns [name]", - "formatZH": "创建网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/dns/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Delete website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_dns_accounts", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website dns [name]", - "formatZH": "删除网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/dns/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 dns 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Page website dns accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/dns/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Update website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDnsAccountUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Update website dns [name]", - "formatZH": "更新网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/domains": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Create website domain", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDomainCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/model.WebsiteDomain" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "domain" - ], - "formatEN": "Create domain [domain]", - "formatZH": "创建域名 [domain]", - "paramKeys": [] - } - } - }, - "/websites/domains/:websiteId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过网站 id 查询域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Search website domains by websiteId", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "websiteId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - } - } - } - } - }, - "/websites/domains/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Delete website domain", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDomainDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_domains", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete domain [domain]", - "formatZH": "删除域名 [domain]", - "paramKeys": [] - } - } - }, - "/websites/leech": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防盗链配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AntiLeech conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/leech/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防盗链配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update AntiLeech", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAntiLeechUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/list": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表", - "tags": [ - "Website" - ], - "summary": "List websites", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsiteDTO" - } - } - } - } - } - }, - "/websites/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Operate website log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteLog" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id", - "operate" - ], - "formatEN": "[domain][operate] logs", - "formatZH": "[domain][operate] 日志", - "paramKeys": [] - } - } - }, - "/websites/nginx/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 网站 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Update website nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteNginxUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "[domain] Nginx conf update", - "formatZH": "[domain] Nginx 配置修改", - "paramKeys": [] - } - } - }, - "/websites/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Operate website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteOp" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表", - "tags": [ - "Website" - ], - "summary": "List website names", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/websites/php/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 网站 PHP 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update website php conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "[domain] PHP conf update", - "formatZH": "[domain] PHP 配置修改", - "paramKeys": [] - } - } - }, - "/websites/php/config/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 php 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Load website php conf", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.PHPConfig" - } - } - } - } - }, - "/websites/php/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 php 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update php conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPFileUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Nginx conf update [domain]", - "formatZH": "php 配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/php/version": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "变更 php 版本", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update php version", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPVersionReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "php version update [domain]", - "formatZH": "php 版本变更 [domain]", - "paramKeys": [] - } - } - }, - "/websites/proxies": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取反向代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get proxy conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/proxies/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改反向代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update proxy conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] proxy config", - "formatZH": "修改网站 [domain] 反向代理配置 ", - "paramKeys": [] - } - } - }, - "/websites/proxy/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新反向代理文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update proxy file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxProxyUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf proxy file update [domain]", - "formatZH": "更新反向代理文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/redirect": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取重定向配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get redirect conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/redirect/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新重定向文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update redirect file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRedirectUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf redirect file update [domain]", - "formatZH": "更新重定向文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/redirect/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改重定向配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update redirect conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRedirectReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Update domain [domain] redirect config", - "formatZH": "修改网站 [domain] 重定向理配置 ", - "paramKeys": [] - } - } - }, - "/websites/rewrite": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取伪静态配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get rewrite conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRewriteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/rewrite/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新伪静态配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update rewrite conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRewriteUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf rewrite update [domain]", - "formatZH": "伪静态配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Page websites", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/ssl": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Create website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/request.WebsiteSSLCreate" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Create website ssl [primaryDomain]", - "formatZH": "创建网站 ssl [primaryDomain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Search website ssl by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ssl/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Delete website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteBatchDelReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "Delete ssl [domain]", - "formatZH": "删除 ssl [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载证书文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Download SSL file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "download ssl file [domain]", - "formatZH": "下载证书文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/obtain": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "申请证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Apply ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLApply" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "ID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "ID" - ], - "formatEN": "apply ssl [domain]", - "formatZH": "申请证书 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/resolve": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "解析网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Resolve website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDNSReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsiteDNSRes" - } - } - } - } - } - }, - "/websites/ssl/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ssl 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Page website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ssl/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Update ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update ssl config [domain]", - "formatZH": "更新证书设置 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/upload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Upload ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLUpload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "Upload ssl [type]", - "formatZH": "上传 ssl [type]", - "paramKeys": [] - } - } - }, - "/websites/ssl/website/:websiteId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过网站 id 查询 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Search website ssl by website id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "websiteId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Update website [primaryDomain]", - "formatZH": "更新网站 [primaryDomain]", - "paramKeys": [] - } - } - } - }, - "definitions": { - "dto.AddrRuleOperate": { - "type": "object", - "required": [ - "address", - "operation", - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - } - } - }, - "dto.AddrRuleUpdate": { - "type": "object", - "properties": { - "newRule": { - "$ref": "#/definitions/dto.AddrRuleOperate" - }, - "oldRule": { - "$ref": "#/definitions/dto.AddrRuleOperate" - } - } - }, - "dto.AppInstallInfo": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.AppResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.AppVersion": { - "type": "object", - "properties": { - "detailId": { - "type": "integer" - }, - "dockerCompose": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.BackupInfo": { - "type": "object", - "properties": { - "backupPath": { - "type": "string" - }, - "bucket": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.BackupOperate": { - "type": "object", - "required": [ - "type", - "vars" - ], - "properties": { - "accessKey": { - "type": "string" - }, - "backupPath": { - "type": "string" - }, - "bucket": { - "type": "string" - }, - "credential": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.BackupSearchFile": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string" - } - } - }, - "dto.BatchDelete": { - "type": "object", - "required": [ - "names" - ], - "properties": { - "force": { - "type": "boolean" - }, - "names": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.BatchDeleteReq": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.BatchRuleOperate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "rules": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - }, - "type": { - "type": "string" - } - } - }, - "dto.BindInfo": { - "type": "object", - "required": [ - "bindAddress", - "ipv6" - ], - "properties": { - "bindAddress": { - "type": "string" - }, - "ipv6": { - "type": "string", - "enum": [ - "enable", - "disable" - ] - } - } - }, - "dto.BindUser": { - "type": "object", - "required": [ - "database", - "db", - "password", - "permission", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "db": { - "type": "string" - }, - "password": { - "type": "string" - }, - "permission": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "dto.CaptchaResponse": { - "type": "object", - "properties": { - "captchaID": { - "type": "string" - }, - "imagePath": { - "type": "string" - } - } - }, - "dto.ChangeDBInfo": { - "type": "object", - "required": [ - "database", - "from", - "type", - "value" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb", - "postgresql" - ] - }, - "value": { - "type": "string" - } - } - }, - "dto.ChangeHostGroup": { - "type": "object", - "required": [ - "groupID", - "id" - ], - "properties": { - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - } - } - }, - "dto.ChangePasswd": { - "type": "object", - "properties": { - "passwd": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.ChangeRedisPass": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "database": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "dto.ClamBaseInfo": { - "type": "object", - "properties": { - "freshIsActive": { - "type": "boolean" - }, - "freshIsExist": { - "type": "boolean" - }, - "freshVersion": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - }, - "version": { - "type": "string" - } - } - }, - "dto.ClamCreate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "infectedDir": { - "type": "string" - }, - "infectedStrategy": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.ClamDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - }, - "removeInfected": { - "type": "boolean" - }, - "removeRecord": { - "type": "boolean" - } - } - }, - "dto.ClamFileReq": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "tail": { - "type": "string" - } - } - }, - "dto.ClamLogReq": { - "type": "object", - "properties": { - "clamName": { - "type": "string" - }, - "recordName": { - "type": "string" - }, - "tail": { - "type": "string" - } - } - }, - "dto.ClamLogSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "clamID": { - "type": "integer" - }, - "endTime": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "startTime": { - "type": "string" - } - } - }, - "dto.ClamUpdate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "infectedDir": { - "type": "string" - }, - "infectedStrategy": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "spec": { - "type": "string" - } - } - }, - "dto.ClamUpdateStatus": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.Clean": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "treeType": { - "type": "string" - } - } - }, - "dto.CleanLog": { - "type": "object", - "required": [ - "logType" - ], - "properties": { - "logType": { - "type": "string", - "enum": [ - "login", - "operation" - ] - } - } - }, - "dto.CommandInfo": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "groupBelong": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.CommandOperate": { - "type": "object", - "required": [ - "command", - "name" - ], - "properties": { - "command": { - "type": "string" - }, - "groupBelong": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.CommonBackup": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "app", - "mysql", - "mariadb", - "redis", - "website", - "postgresql" - ] - } - } - }, - "dto.CommonRecover": { - "type": "object", - "required": [ - "source", - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "file": { - "type": "string" - }, - "name": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "source": { - "type": "string", - "enum": [ - "OSS", - "S3", - "SFTP", - "MINIO", - "LOCAL", - "COS", - "KODO", - "OneDrive", - "WebDAV" - ] - }, - "type": { - "type": "string", - "enum": [ - "app", - "mysql", - "mariadb", - "redis", - "website", - "postgresql" - ] - } - } - }, - "dto.ComposeCreate": { - "type": "object", - "required": [ - "from" - ], - "properties": { - "file": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "edit", - "path", - "template" - ] - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "template": { - "type": "integer" - } - } - }, - "dto.ComposeOperation": { - "type": "object", - "required": [ - "name", - "operation", - "path" - ], - "properties": { - "name": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "down" - ] - }, - "path": { - "type": "string" - }, - "withFile": { - "type": "boolean" - } - } - }, - "dto.ComposeTemplateCreate": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "content": { - "type": "string" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.ComposeTemplateInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.ComposeTemplateUpdate": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "dto.ComposeUpdate": { - "type": "object", - "required": [ - "content", - "name", - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "dto.ContainerCommit": { - "type": "object", - "required": [ - "containerID" - ], - "properties": { - "author": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "containerID": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "newImageName": { - "type": "string" - }, - "pause": { - "type": "boolean" - } - } - }, - "dto.ContainerListStats": { - "type": "object", - "properties": { - "containerID": { - "type": "string" - }, - "cpuPercent": { - "type": "number" - }, - "cpuTotalUsage": { - "type": "integer" - }, - "memoryCache": { - "type": "integer" - }, - "memoryLimit": { - "type": "integer" - }, - "memoryPercent": { - "type": "number" - }, - "memoryUsage": { - "type": "integer" - }, - "percpuUsage": { - "type": "integer" - }, - "systemUsage": { - "type": "integer" - } - } - }, - "dto.ContainerOperate": { - "type": "object", - "required": [ - "image", - "name" - ], - "properties": { - "autoRemove": { - "type": "boolean" - }, - "cmd": { - "type": "array", - "items": { - "type": "string" - } - }, - "containerID": { - "type": "string" - }, - "cpuShares": { - "type": "integer" - }, - "entrypoint": { - "type": "array", - "items": { - "type": "string" - } - }, - "env": { - "type": "array", - "items": { - "type": "string" - } - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.PortHelper" - } - }, - "forcePull": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "ipv4": { - "type": "string" - }, - "ipv6": { - "type": "string" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "memory": { - "type": "number" - }, - "name": { - "type": "string" - }, - "nanoCPUs": { - "type": "number" - }, - "network": { - "type": "string" - }, - "openStdin": { - "type": "boolean" - }, - "privileged": { - "type": "boolean" - }, - "publishAllPorts": { - "type": "boolean" - }, - "restartPolicy": { - "type": "string" - }, - "tty": { - "type": "boolean" - }, - "volumes": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.VolumeHelper" - } - } - } - }, - "dto.ContainerOperation": { - "type": "object", - "required": [ - "names", - "operation" - ], - "properties": { - "names": { - "type": "array", - "items": { - "type": "string" - } - }, - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "restart", - "kill", - "pause", - "unpause", - "remove" - ] - } - } - }, - "dto.ContainerPrune": { - "type": "object", - "required": [ - "pruneType" - ], - "properties": { - "pruneType": { - "type": "string", - "enum": [ - "container", - "image", - "volume", - "network", - "buildcache" - ] - }, - "withTagAll": { - "type": "boolean" - } - } - }, - "dto.ContainerPruneReport": { - "type": "object", - "properties": { - "deletedNumber": { - "type": "integer" - }, - "spaceReclaimed": { - "type": "integer" - } - } - }, - "dto.ContainerRename": { - "type": "object", - "required": [ - "name", - "newName" - ], - "properties": { - "name": { - "type": "string" - }, - "newName": { - "type": "string" - } - } - }, - "dto.ContainerStats": { - "type": "object", - "properties": { - "cache": { - "type": "number" - }, - "cpuPercent": { - "type": "number" - }, - "ioRead": { - "type": "number" - }, - "ioWrite": { - "type": "number" - }, - "memory": { - "type": "number" - }, - "networkRX": { - "type": "number" - }, - "networkTX": { - "type": "number" - }, - "shotTime": { - "type": "string" - } - } - }, - "dto.ContainerUpgrade": { - "type": "object", - "required": [ - "image", - "name" - ], - "properties": { - "forcePull": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.CronjobBatchDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "cleanData": { - "type": "boolean" - }, - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.CronjobClean": { - "type": "object", - "required": [ - "cronjobID" - ], - "properties": { - "cleanData": { - "type": "boolean" - }, - "cronjobID": { - "type": "integer" - }, - "isDelete": { - "type": "boolean" - } - } - }, - "dto.CronjobCreate": { - "type": "object", - "required": [ - "name", - "spec", - "type" - ], - "properties": { - "appID": { - "type": "string" - }, - "backupAccounts": { - "type": "string" - }, - "command": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "dbName": { - "type": "string" - }, - "dbType": { - "type": "string" - }, - "defaultDownload": { - "type": "string" - }, - "exclusionRules": { - "type": "string" - }, - "name": { - "type": "string" - }, - "retainCopies": { - "type": "integer", - "minimum": 1 - }, - "script": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "type": { - "type": "string" - }, - "url": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "dto.CronjobDownload": { - "type": "object", - "required": [ - "backupAccountID", - "recordID" - ], - "properties": { - "backupAccountID": { - "type": "integer" - }, - "recordID": { - "type": "integer" - } - } - }, - "dto.CronjobUpdate": { - "type": "object", - "required": [ - "id", - "name", - "spec" - ], - "properties": { - "appID": { - "type": "string" - }, - "backupAccounts": { - "type": "string" - }, - "command": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "dbName": { - "type": "string" - }, - "dbType": { - "type": "string" - }, - "defaultDownload": { - "type": "string" - }, - "exclusionRules": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "retainCopies": { - "type": "integer", - "minimum": 1 - }, - "script": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "url": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "dto.CronjobUpdateStatus": { - "type": "object", - "required": [ - "id", - "status" - ], - "properties": { - "id": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.DBBaseInfo": { - "type": "object", - "properties": { - "containerName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - } - } - }, - "dto.DBConfUpdateByFile": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "file": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb", - "postgresql", - "redis" - ] - } - } - }, - "dto.DaemonJsonConf": { - "type": "object", - "properties": { - "cgroupDriver": { - "type": "string" - }, - "experimental": { - "type": "boolean" - }, - "fixedCidrV6": { - "type": "string" - }, - "insecureRegistries": { - "type": "array", - "items": { - "type": "string" - } - }, - "ip6Tables": { - "type": "boolean" - }, - "iptables": { - "type": "boolean" - }, - "ipv6": { - "type": "boolean" - }, - "isSwarm": { - "type": "boolean" - }, - "liveRestore": { - "type": "boolean" - }, - "logMaxFile": { - "type": "string" - }, - "logMaxSize": { - "type": "string" - }, - "registryMirrors": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DaemonJsonUpdateByFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.DashboardBase": { - "type": "object", - "properties": { - "appInstalledNumber": { - "type": "integer" - }, - "cpuCores": { - "type": "integer" - }, - "cpuLogicalCores": { - "type": "integer" - }, - "cpuModelName": { - "type": "string" - }, - "cronjobNumber": { - "type": "integer" - }, - "currentInfo": { - "$ref": "#/definitions/dto.DashboardCurrent" - }, - "databaseNumber": { - "type": "integer" - }, - "hostname": { - "type": "string" - }, - "kernelArch": { - "type": "string" - }, - "kernelVersion": { - "type": "string" - }, - "os": { - "type": "string" - }, - "platform": { - "type": "string" - }, - "platformFamily": { - "type": "string" - }, - "platformVersion": { - "type": "string" - }, - "virtualizationSystem": { - "type": "string" - }, - "websiteNumber": { - "type": "integer" - } - } - }, - "dto.DashboardCurrent": { - "type": "object", - "properties": { - "cpuPercent": { - "type": "array", - "items": { - "type": "number" - } - }, - "cpuTotal": { - "type": "integer" - }, - "cpuUsed": { - "type": "number" - }, - "cpuUsedPercent": { - "type": "number" - }, - "diskData": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DiskInfo" - } - }, - "gpuData": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.GPUInfo" - } - }, - "ioCount": { - "type": "integer" - }, - "ioReadBytes": { - "type": "integer" - }, - "ioReadTime": { - "type": "integer" - }, - "ioWriteBytes": { - "type": "integer" - }, - "ioWriteTime": { - "type": "integer" - }, - "load1": { - "type": "number" - }, - "load15": { - "type": "number" - }, - "load5": { - "type": "number" - }, - "loadUsagePercent": { - "type": "number" - }, - "memoryAvailable": { - "type": "integer" - }, - "memoryTotal": { - "type": "integer" - }, - "memoryUsed": { - "type": "integer" - }, - "memoryUsedPercent": { - "type": "number" - }, - "netBytesRecv": { - "type": "integer" - }, - "netBytesSent": { - "type": "integer" - }, - "procs": { - "type": "integer" - }, - "shotTime": { - "type": "string" - }, - "swapMemoryAvailable": { - "type": "integer" - }, - "swapMemoryTotal": { - "type": "integer" - }, - "swapMemoryUsed": { - "type": "integer" - }, - "swapMemoryUsedPercent": { - "type": "number" - }, - "timeSinceUptime": { - "type": "string" - }, - "uptime": { - "type": "integer" - } - } - }, - "dto.DatabaseCreate": { - "type": "object", - "required": [ - "from", - "name", - "type", - "username", - "version" - ], - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "description": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string", - "maxLength": 256 - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "dto.DatabaseInfo": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string", - "maxLength": 256 - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseItem": { - "type": "object", - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.DatabaseOption": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseSearch": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "dto.DatabaseUpdate": { - "type": "object", - "required": [ - "type", - "username", - "version" - ], - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DeviceBaseInfo": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "hostname": { - "type": "string" - }, - "hosts": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostHelper" - } - }, - "localTime": { - "type": "string" - }, - "maxSize": { - "type": "integer" - }, - "ntp": { - "type": "string" - }, - "swapDetails": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SwapHelper" - } - }, - "swapMemoryAvailable": { - "type": "integer" - }, - "swapMemoryTotal": { - "type": "integer" - }, - "swapMemoryUsed": { - "type": "integer" - }, - "timeZone": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.DiskInfo": { - "type": "object", - "properties": { - "device": { - "type": "string" - }, - "free": { - "type": "integer" - }, - "inodesFree": { - "type": "integer" - }, - "inodesTotal": { - "type": "integer" - }, - "inodesUsed": { - "type": "integer" - }, - "inodesUsedPercent": { - "type": "number" - }, - "path": { - "type": "string" - }, - "total": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "used": { - "type": "integer" - }, - "usedPercent": { - "type": "number" - } - } - }, - "dto.DockerOperation": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string", - "enum": [ - "start", - "restart", - "stop" - ] - } - } - }, - "dto.DownloadRecord": { - "type": "object", - "required": [ - "fileDir", - "fileName", - "source" - ], - "properties": { - "fileDir": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "source": { - "type": "string", - "enum": [ - "OSS", - "S3", - "SFTP", - "MINIO", - "LOCAL", - "COS", - "KODO", - "OneDrive", - "WebDAV" - ] - } - } - }, - "dto.Fail2BanBaseInfo": { - "type": "object", - "properties": { - "banAction": { - "type": "string" - }, - "banTime": { - "type": "string" - }, - "findTime": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "isEnable": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - }, - "logPath": { - "type": "string" - }, - "maxRetry": { - "type": "integer" - }, - "port": { - "type": "integer" - }, - "version": { - "type": "string" - } - } - }, - "dto.Fail2BanSearch": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "banned", - "ignore" - ] - } - } - }, - "dto.Fail2BanUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string", - "enum": [ - "port", - "bantime", - "findtime", - "maxretry", - "banaction", - "logpath", - "port" - ] - }, - "value": { - "type": "string" - } - } - }, - "dto.FirewallBaseInfo": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "pingStatus": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.FirewallOperation": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "restart", - "disablePing", - "enablePing" - ] - } - } - }, - "dto.ForBuckets": { - "type": "object", - "required": [ - "credential", - "type", - "vars" - ], - "properties": { - "accessKey": { - "type": "string" - }, - "credential": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.ForwardRuleOperate": { - "type": "object", - "properties": { - "rules": { - "type": "array", - "items": { - "type": "object", - "required": [ - "operation", - "port", - "protocol", - "targetPort" - ], - "properties": { - "num": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "tcp/udp" - ] - }, - "targetIP": { - "type": "string" - }, - "targetPort": { - "type": "string" - } - } - } - } - } - }, - "dto.FtpBaseInfo": { - "type": "object", - "properties": { - "isActive": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - } - } - }, - "dto.FtpCreate": { - "type": "object", - "required": [ - "password", - "path", - "user" - ], - "properties": { - "description": { - "type": "string" - }, - "password": { - "type": "string" - }, - "path": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.FtpLogSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "operation": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "user": { - "type": "string" - } - } - }, - "dto.FtpUpdate": { - "type": "object", - "required": [ - "password", - "path" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string" - }, - "path": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.GPUInfo": { - "type": "object", - "properties": { - "fanSpeed": { - "type": "string" - }, - "gpuUtil": { - "type": "string" - }, - "index": { - "type": "integer" - }, - "maxPowerLimit": { - "type": "string" - }, - "memTotal": { - "type": "string" - }, - "memUsed": { - "type": "string" - }, - "memoryUsage": { - "type": "string" - }, - "performanceState": { - "type": "string" - }, - "powerDraw": { - "type": "string" - }, - "powerUsage": { - "type": "string" - }, - "productName": { - "type": "string" - }, - "temperature": { - "type": "string" - } - } - }, - "dto.GenerateLoad": { - "type": "object", - "required": [ - "encryptionMode" - ], - "properties": { - "encryptionMode": { - "type": "string", - "enum": [ - "rsa", - "ed25519", - "ecdsa", - "dsa" - ] - } - } - }, - "dto.GenerateSSH": { - "type": "object", - "required": [ - "encryptionMode" - ], - "properties": { - "encryptionMode": { - "type": "string", - "enum": [ - "rsa", - "ed25519", - "ecdsa", - "dsa" - ] - }, - "password": { - "type": "string" - } - } - }, - "dto.GroupCreate": { - "type": "object", - "required": [ - "name", - "type" - ], - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.GroupInfo": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "isDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.GroupSearch": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string" - } - } - }, - "dto.GroupUpdate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "id": { - "type": "integer" - }, - "isDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.HostConnTest": { - "type": "object", - "required": [ - "addr", - "port", - "user" - ], - "properties": { - "addr": { - "type": "string" - }, - "authMode": { - "type": "string", - "enum": [ - "password", - "key" - ] - }, - "passPhrase": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - }, - "privateKey": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.HostHelper": { - "type": "object", - "properties": { - "host": { - "type": "string" - }, - "ip": { - "type": "string" - } - } - }, - "dto.HostOperate": { - "type": "object", - "required": [ - "addr", - "port", - "user" - ], - "properties": { - "addr": { - "type": "string" - }, - "authMode": { - "type": "string", - "enum": [ - "password", - "key" - ] - }, - "description": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "passPhrase": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - }, - "privateKey": { - "type": "string" - }, - "rememberPassword": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "dto.HostTree": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.TreeChild" - } - }, - "id": { - "type": "integer" - }, - "label": { - "type": "string" - } - } - }, - "dto.ImageBuild": { - "type": "object", - "required": [ - "dockerfile", - "from", - "name" - ], - "properties": { - "dockerfile": { - "type": "string" - }, - "from": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.ImageInfo": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isUsed": { - "type": "boolean" - }, - "size": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.ImageLoad": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "dto.ImagePull": { - "type": "object", - "required": [ - "imageName" - ], - "properties": { - "imageName": { - "type": "string" - }, - "repoID": { - "type": "integer" - } - } - }, - "dto.ImagePush": { - "type": "object", - "required": [ - "name", - "repoID", - "tagName" - ], - "properties": { - "name": { - "type": "string" - }, - "repoID": { - "type": "integer" - }, - "tagName": { - "type": "string" - } - } - }, - "dto.ImageRepoDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.ImageRepoOption": { - "type": "object", - "properties": { - "downloadUrl": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.ImageRepoUpdate": { - "type": "object", - "properties": { - "auth": { - "type": "boolean" - }, - "downloadUrl": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string", - "maxLength": 256 - }, - "protocol": { - "type": "string" - }, - "username": { - "type": "string", - "maxLength": 256 - } - } - }, - "dto.ImageSave": { - "type": "object", - "required": [ - "name", - "path", - "tagName" - ], - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "tagName": { - "type": "string" - } - } - }, - "dto.ImageTag": { - "type": "object", - "required": [ - "sourceID", - "targetName" - ], - "properties": { - "sourceID": { - "type": "string" - }, - "targetName": { - "type": "string" - } - } - }, - "dto.InspectReq": { - "type": "object", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.LogOption": { - "type": "object", - "properties": { - "logMaxFile": { - "type": "string" - }, - "logMaxSize": { - "type": "string" - } - } - }, - "dto.Login": { - "type": "object", - "required": [ - "authMethod", - "language", - "name", - "password" - ], - "properties": { - "authMethod": { - "type": "string", - "enum": [ - "jwt", - "session" - ] - }, - "captcha": { - "type": "string" - }, - "captchaID": { - "type": "string" - }, - "ignoreCaptcha": { - "type": "boolean" - }, - "language": { - "type": "string", - "enum": [ - "zh", - "en", - "tw" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "dto.MFALogin": { - "type": "object", - "required": [ - "code", - "name", - "password" - ], - "properties": { - "authMethod": { - "type": "string" - }, - "code": { - "type": "string" - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "dto.MfaCredential": { - "type": "object", - "required": [ - "code", - "interval", - "secret" - ], - "properties": { - "code": { - "type": "string" - }, - "interval": { - "type": "string" - }, - "secret": { - "type": "string" - } - } - }, - "dto.MonitorSearch": { - "type": "object", - "required": [ - "param" - ], - "properties": { - "endTime": { - "type": "string" - }, - "info": { - "type": "string" - }, - "param": { - "type": "string", - "enum": [ - "all", - "cpu", - "memory", - "load", - "io", - "network" - ] - }, - "startTime": { - "type": "string" - } - } - }, - "dto.MysqlDBCreate": { - "type": "object", - "required": [ - "database", - "format", - "from", - "name", - "password", - "permission", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "description": { - "type": "string" - }, - "format": { - "type": "string", - "enum": [ - "utf8mb4", - "utf8", - "gbk", - "big5" - ] - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "permission": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "dto.MysqlDBDelete": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlDBDeleteCheck": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlDBSearch": { - "type": "object", - "required": [ - "database", - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "database": { - "type": "string" - }, - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.MysqlLoadDB": { - "type": "object", - "required": [ - "database", - "from", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlOption": { - "type": "object", - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.MysqlStatus": { - "type": "object", - "properties": { - "Aborted_clients": { - "type": "string" - }, - "Aborted_connects": { - "type": "string" - }, - "Bytes_received": { - "type": "string" - }, - "Bytes_sent": { - "type": "string" - }, - "Com_commit": { - "type": "string" - }, - "Com_rollback": { - "type": "string" - }, - "Connections": { - "type": "string" - }, - "Created_tmp_disk_tables": { - "type": "string" - }, - "Created_tmp_tables": { - "type": "string" - }, - "File": { - "type": "string" - }, - "Innodb_buffer_pool_pages_dirty": { - "type": "string" - }, - "Innodb_buffer_pool_read_requests": { - "type": "string" - }, - "Innodb_buffer_pool_reads": { - "type": "string" - }, - "Key_read_requests": { - "type": "string" - }, - "Key_reads": { - "type": "string" - }, - "Key_write_requests": { - "type": "string" - }, - "Key_writes": { - "type": "string" - }, - "Max_used_connections": { - "type": "string" - }, - "Open_tables": { - "type": "string" - }, - "Opened_files": { - "type": "string" - }, - "Opened_tables": { - "type": "string" - }, - "Position": { - "type": "string" - }, - "Qcache_hits": { - "type": "string" - }, - "Qcache_inserts": { - "type": "string" - }, - "Questions": { - "type": "string" - }, - "Run": { - "type": "string" - }, - "Select_full_join": { - "type": "string" - }, - "Select_range_check": { - "type": "string" - }, - "Sort_merge_passes": { - "type": "string" - }, - "Table_locks_waited": { - "type": "string" - }, - "Threads_cached": { - "type": "string" - }, - "Threads_connected": { - "type": "string" - }, - "Threads_created": { - "type": "string" - }, - "Threads_running": { - "type": "string" - }, - "Uptime": { - "type": "string" - } - } - }, - "dto.MysqlVariables": { - "type": "object", - "properties": { - "binlog_cache_size": { - "type": "string" - }, - "innodb_buffer_pool_size": { - "type": "string" - }, - "innodb_log_buffer_size": { - "type": "string" - }, - "join_buffer_size": { - "type": "string" - }, - "key_buffer_size": { - "type": "string" - }, - "long_query_time": { - "type": "string" - }, - "max_connections": { - "type": "string" - }, - "max_heap_table_size": { - "type": "string" - }, - "query_cache_size": { - "type": "string" - }, - "query_cache_type": { - "type": "string" - }, - "read_buffer_size": { - "type": "string" - }, - "read_rnd_buffer_size": { - "type": "string" - }, - "slow_query_log": { - "type": "string" - }, - "sort_buffer_size": { - "type": "string" - }, - "table_open_cache": { - "type": "string" - }, - "thread_cache_size": { - "type": "string" - }, - "thread_stack": { - "type": "string" - }, - "tmp_table_size": { - "type": "string" - } - } - }, - "dto.MysqlVariablesUpdate": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - }, - "variables": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.MysqlVariablesUpdateHelper" - } - } - } - }, - "dto.MysqlVariablesUpdateHelper": { - "type": "object", - "properties": { - "param": { - "type": "string" - }, - "value": {} - } - }, - "dto.NetworkCreate": { - "type": "object", - "required": [ - "driver", - "name" - ], - "properties": { - "auxAddress": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SettingUpdate" - } - }, - "auxAddressV6": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SettingUpdate" - } - }, - "driver": { - "type": "string" - }, - "gateway": { - "type": "string" - }, - "gatewayV6": { - "type": "string" - }, - "ipRange": { - "type": "string" - }, - "ipRangeV6": { - "type": "string" - }, - "ipv4": { - "type": "boolean" - }, - "ipv6": { - "type": "boolean" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - }, - "subnet": { - "type": "string" - }, - "subnetV6": { - "type": "string" - } - } - }, - "dto.NginxKey": { - "type": "string", - "enum": [ - "index", - "limit-conn", - "ssl", - "cache", - "http-per", - "proxy-cache" - ], - "x-enum-varnames": [ - "Index", - "LimitConn", - "SSL", - "CACHE", - "HttpPer", - "ProxyCache" - ] - }, - "dto.OneDriveInfo": { - "type": "object", - "properties": { - "client_id": { - "type": "string" - }, - "client_secret": { - "type": "string" - }, - "redirect_uri": { - "type": "string" - } - } - }, - "dto.Operate": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string" - } - } - }, - "dto.OperateByID": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "dto.OperationWithName": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - } - } - }, - "dto.OperationWithNameAndType": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.Options": { - "type": "object", - "properties": { - "option": { - "type": "string" - } - } - }, - "dto.OsInfo": { - "type": "object", - "properties": { - "diskSize": { - "type": "integer" - }, - "kernelArch": { - "type": "string" - }, - "kernelVersion": { - "type": "string" - }, - "os": { - "type": "string" - }, - "platform": { - "type": "string" - }, - "platformFamily": { - "type": "string" - } - } - }, - "dto.PageContainer": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize", - "state" - ], - "properties": { - "excludeAppStore": { - "type": "boolean" - }, - "filters": { - "type": "string" - }, - "name": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "state", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "state": { - "type": "string", - "enum": [ - "all", - "created", - "running", - "paused", - "restarting", - "removing", - "exited", - "dead" - ] - } - } - }, - "dto.PageCronjob": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "status", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PageInfo": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PageResult": { - "type": "object", - "properties": { - "items": {}, - "total": { - "type": "integer" - } - } - }, - "dto.PasswordUpdate": { - "type": "object", - "required": [ - "newPassword", - "oldPassword" - ], - "properties": { - "newPassword": { - "type": "string" - }, - "oldPassword": { - "type": "string" - } - } - }, - "dto.PortHelper": { - "type": "object", - "properties": { - "containerPort": { - "type": "string" - }, - "hostIP": { - "type": "string" - }, - "hostPort": { - "type": "string" - }, - "protocol": { - "type": "string" - } - } - }, - "dto.PortRuleOperate": { - "type": "object", - "required": [ - "operation", - "port", - "protocol", - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "tcp/udp" - ] - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - } - } - }, - "dto.PortRuleUpdate": { - "type": "object", - "properties": { - "newRule": { - "$ref": "#/definitions/dto.PortRuleOperate" - }, - "oldRule": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - } - }, - "dto.PortUpdate": { - "type": "object", - "required": [ - "serverPort" - ], - "properties": { - "serverPort": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - } - } - }, - "dto.PostgresqlBindUser": { - "type": "object", - "required": [ - "database", - "name", - "password", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "superUser": { - "type": "boolean" - }, - "username": { - "type": "string" - } - } - }, - "dto.PostgresqlDBCreate": { - "type": "object", - "required": [ - "database", - "from", - "name", - "password", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "description": { - "type": "string" - }, - "format": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "superUser": { - "type": "boolean" - }, - "username": { - "type": "string" - } - } - }, - "dto.PostgresqlDBDelete": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.PostgresqlDBDeleteCheck": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.PostgresqlDBSearch": { - "type": "object", - "required": [ - "database", - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "database": { - "type": "string" - }, - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PostgresqlLoadDB": { - "type": "object", - "required": [ - "database", - "from", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.ProxyUpdate": { - "type": "object", - "properties": { - "proxyPasswd": { - "type": "string" - }, - "proxyPasswdKeep": { - "type": "string" - }, - "proxyPort": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "proxyUrl": { - "type": "string" - }, - "proxyUser": { - "type": "string" - } - } - }, - "dto.RecordSearch": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "dto.RecordSearchByCronjob": { - "type": "object", - "required": [ - "cronjobID", - "page", - "pageSize" - ], - "properties": { - "cronjobID": { - "type": "integer" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.RedisCommand": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.RedisConf": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "containerName": { - "type": "string" - }, - "database": { - "type": "string" - }, - "maxclients": { - "type": "string" - }, - "maxmemory": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "requirepass": { - "type": "string" - }, - "timeout": { - "type": "string" - } - } - }, - "dto.RedisConfPersistenceUpdate": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "appendfsync": { - "type": "string" - }, - "appendonly": { - "type": "string" - }, - "database": { - "type": "string" - }, - "save": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "aof", - "rbd" - ] - } - } - }, - "dto.RedisConfUpdate": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "database": { - "type": "string" - }, - "maxclients": { - "type": "string" - }, - "maxmemory": { - "type": "string" - }, - "timeout": { - "type": "string" - } - } - }, - "dto.RedisPersistence": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "appendfsync": { - "type": "string" - }, - "appendonly": { - "type": "string" - }, - "database": { - "type": "string" - }, - "save": { - "type": "string" - } - } - }, - "dto.RedisStatus": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "connected_clients": { - "type": "string" - }, - "database": { - "type": "string" - }, - "instantaneous_ops_per_sec": { - "type": "string" - }, - "keyspace_hits": { - "type": "string" - }, - "keyspace_misses": { - "type": "string" - }, - "latest_fork_usec": { - "type": "string" - }, - "mem_fragmentation_ratio": { - "type": "string" - }, - "tcp_port": { - "type": "string" - }, - "total_commands_processed": { - "type": "string" - }, - "total_connections_received": { - "type": "string" - }, - "uptime_in_days": { - "type": "string" - }, - "used_memory": { - "type": "string" - }, - "used_memory_peak": { - "type": "string" - }, - "used_memory_rss": { - "type": "string" - } - } - }, - "dto.ResourceLimit": { - "type": "object", - "properties": { - "cpu": { - "type": "integer" - }, - "memory": { - "type": "integer" - } - } - }, - "dto.RuleSearch": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - }, - "strategy": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.SSHConf": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.SSHHistory": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "area": { - "type": "string" - }, - "authMode": { - "type": "string" - }, - "date": { - "type": "string" - }, - "dateStr": { - "type": "string" - }, - "message": { - "type": "string" - }, - "port": { - "type": "string" - }, - "status": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.SSHInfo": { - "type": "object", - "properties": { - "autoStart": { - "type": "boolean" - }, - "listenAddress": { - "type": "string" - }, - "message": { - "type": "string" - }, - "passwordAuthentication": { - "type": "string" - }, - "permitRootLogin": { - "type": "string" - }, - "port": { - "type": "string" - }, - "pubkeyAuthentication": { - "type": "string" - }, - "status": { - "type": "string" - }, - "useDNS": { - "type": "string" - } - } - }, - "dto.SSHLog": { - "type": "object", - "properties": { - "failedCount": { - "type": "integer" - }, - "logs": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SSHHistory" - } - }, - "successfulCount": { - "type": "integer" - }, - "totalCount": { - "type": "integer" - } - } - }, - "dto.SSHUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "newValue": { - "type": "string" - }, - "oldValue": { - "type": "string" - } - } - }, - "dto.SSLUpdate": { - "type": "object", - "required": [ - "ssl", - "sslType" - ], - "properties": { - "cert": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "key": { - "type": "string" - }, - "ssl": { - "type": "string", - "enum": [ - "enable", - "disable" - ] - }, - "sslID": { - "type": "integer" - }, - "sslType": { - "type": "string", - "enum": [ - "self", - "select", - "import", - "import-paste", - "import-local" - ] - } - } - }, - "dto.SearchForTree": { - "type": "object", - "properties": { - "info": { - "type": "string" - } - } - }, - "dto.SearchHostWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "groupID": { - "type": "integer" - }, - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SearchLgLogWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "ip": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchOpLogWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "operation": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "source": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchRecord": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "cronjobID": { - "type": "integer" - }, - "endTime": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "startTime": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchSSHLog": { - "type": "object", - "required": [ - "Status", - "page", - "pageSize" - ], - "properties": { - "Status": { - "type": "string", - "enum": [ - "Success", - "Failed", - "All" - ] - }, - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SearchWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SettingInfo": { - "type": "object", - "properties": { - "allowIPs": { - "type": "string" - }, - "appStoreLastModified": { - "type": "string" - }, - "appStoreSyncStatus": { - "type": "string" - }, - "appStoreVersion": { - "type": "string" - }, - "bindAddress": { - "type": "string" - }, - "bindDomain": { - "type": "string" - }, - "complexityVerification": { - "type": "string" - }, - "defaultNetwork": { - "type": "string" - }, - "developerMode": { - "type": "string" - }, - "dingVars": { - "type": "string" - }, - "dockerSockPath": { - "type": "string" - }, - "email": { - "type": "string" - }, - "emailVars": { - "type": "string" - }, - "expirationDays": { - "type": "string" - }, - "expirationTime": { - "type": "string" - }, - "fileRecycleBin": { - "type": "string" - }, - "ipv6": { - "type": "string" - }, - "language": { - "type": "string" - }, - "lastCleanData": { - "type": "string" - }, - "lastCleanSize": { - "type": "string" - }, - "lastCleanTime": { - "type": "string" - }, - "localTime": { - "type": "string" - }, - "menuTabs": { - "type": "string" - }, - "messageType": { - "type": "string" - }, - "mfaInterval": { - "type": "string" - }, - "mfaSecret": { - "type": "string" - }, - "mfaStatus": { - "type": "string" - }, - "monitorInterval": { - "type": "string" - }, - "monitorStatus": { - "type": "string" - }, - "monitorStoreDays": { - "type": "string" - }, - "noAuthSetting": { - "type": "string" - }, - "ntpSite": { - "type": "string" - }, - "panelName": { - "type": "string" - }, - "port": { - "type": "string" - }, - "proxyPasswd": { - "type": "string" - }, - "proxyPasswdKeep": { - "type": "string" - }, - "proxyPort": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "proxyUrl": { - "type": "string" - }, - "proxyUser": { - "type": "string" - }, - "securityEntrance": { - "type": "string" - }, - "serverPort": { - "type": "string" - }, - "sessionTimeout": { - "type": "string" - }, - "snapshotIgnore": { - "type": "string" - }, - "ssl": { - "type": "string" - }, - "sslType": { - "type": "string" - }, - "systemIP": { - "type": "string" - }, - "systemVersion": { - "type": "string" - }, - "theme": { - "type": "string" - }, - "timeZone": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "weChatVars": { - "type": "string" - }, - "xpackHideMenu": { - "type": "string" - } - } - }, - "dto.SettingUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "dto.SnapshotBatchDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "deleteWithFile": { - "type": "boolean" - }, - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.SnapshotCreate": { - "type": "object", - "required": [ - "defaultDownload", - "from" - ], - "properties": { - "defaultDownload": { - "type": "string" - }, - "description": { - "type": "string", - "maxLength": 256 - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "secret": { - "type": "string" - } - } - }, - "dto.SnapshotImport": { - "type": "object", - "properties": { - "description": { - "type": "string", - "maxLength": 256 - }, - "from": { - "type": "string" - }, - "names": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.SnapshotRecover": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - }, - "isNew": { - "type": "boolean" - }, - "reDownload": { - "type": "boolean" - }, - "secret": { - "type": "string" - } - } - }, - "dto.SwapHelper": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "isNew": { - "type": "boolean" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "used": { - "type": "string" - } - } - }, - "dto.TreeChild": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "label": { - "type": "string" - } - } - }, - "dto.UpdateByFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.UpdateByNameAndFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.UpdateDescription": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "description": { - "type": "string", - "maxLength": 256 - }, - "id": { - "type": "integer" - } - } - }, - "dto.UpdateFirewallDescription": { - "type": "object", - "required": [ - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - }, - "type": { - "type": "string" - } - } - }, - "dto.Upgrade": { - "type": "object", - "required": [ - "version" - ], - "properties": { - "version": { - "type": "string" - } - } - }, - "dto.UpgradeInfo": { - "type": "object", - "properties": { - "latestVersion": { - "type": "string" - }, - "newVersion": { - "type": "string" - }, - "releaseNote": { - "type": "string" - }, - "testVersion": { - "type": "string" - } - } - }, - "dto.UserLoginInfo": { - "type": "object", - "properties": { - "mfaStatus": { - "type": "string" - }, - "name": { - "type": "string" - }, - "token": { - "type": "string" - } - } - }, - "dto.VolumeCreate": { - "type": "object", - "required": [ - "driver", - "name" - ], - "properties": { - "driver": { - "type": "string" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.VolumeHelper": { - "type": "object", - "properties": { - "containerDir": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "files.FileInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "extension": { - "type": "string" - }, - "favoriteID": { - "type": "integer" - }, - "gid": { - "type": "string" - }, - "group": { - "type": "string" - }, - "isDetail": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "isHidden": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "itemTotal": { - "type": "integer" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/files.FileInfo" - } - }, - "linkPath": { - "type": "string" - }, - "mimeType": { - "type": "string" - }, - "modTime": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "updateTime": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "mfa.Otp": { - "type": "object", - "properties": { - "qrImage": { - "type": "string" - }, - "secret": { - "type": "string" - } - } - }, - "model.App": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "crossVersionUpdate": { - "type": "boolean" - }, - "document": { - "type": "string" - }, - "github": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "readMe": { - "type": "string" - }, - "recommend": { - "type": "integer" - }, - "required": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "shortDescEn": { - "type": "string" - }, - "shortDescZh": { - "type": "string" - }, - "status": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "model.AppInstall": { - "type": "object", - "properties": { - "app": { - "$ref": "#/definitions/model.App" - }, - "appDetailId": { - "type": "integer" - }, - "appId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "dockerCompose": { - "type": "string" - }, - "env": { - "type": "string" - }, - "httpPort": { - "type": "integer" - }, - "httpsPort": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "param": { - "type": "string" - }, - "serviceName": { - "type": "string" - }, - "status": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "model.Tag": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sort": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - } - } - }, - "model.Website": { - "type": "object", - "properties": { - "IPV6": { - "type": "boolean" - }, - "accessLog": { - "type": "boolean" - }, - "alias": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "createdAt": { - "type": "string" - }, - "defaultServer": { - "type": "boolean" - }, - "domains": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - }, - "errorLog": { - "type": "boolean" - }, - "expireDate": { - "type": "string" - }, - "ftpId": { - "type": "integer" - }, - "group": { - "type": "string" - }, - "httpConfig": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "rewrite": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "siteDir": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "user": { - "type": "string" - }, - "webSiteGroupId": { - "type": "integer" - }, - "webSiteSSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "webSiteSSLId": { - "type": "integer" - } - } - }, - "model.WebsiteAcmeAccount": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "model.WebsiteDnsAccount": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "model.WebsiteDomain": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "port": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "model.WebsiteSSL": { - "type": "object", - "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" - }, - "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": { - "type": "array", - "items": { - "$ref": "#/definitions/model.Website" - } - } - } - }, - "request.AppInstallCreate": { - "type": "object", - "required": [ - "appDetailId", - "name" - ], - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "appDetailId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - }, - "services": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "request.AppInstalledIgnoreUpgrade": { - "type": "object", - "required": [ - "detailID", - "operate" - ], - "properties": { - "detailID": { - "type": "integer" - }, - "operate": { - "type": "string", - "enum": [ - "cancel", - "ignore" - ] - } - } - }, - "request.AppInstalledInfo": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "request.AppInstalledOperate": { - "type": "object", - "required": [ - "installId", - "operate" - ], - "properties": { - "backup": { - "type": "boolean" - }, - "backupId": { - "type": "integer" - }, - "deleteBackup": { - "type": "boolean" - }, - "deleteDB": { - "type": "boolean" - }, - "detailId": { - "type": "integer" - }, - "dockerCompose": { - "type": "string" - }, - "forceDelete": { - "type": "boolean" - }, - "installId": { - "type": "integer" - }, - "operate": { - "type": "string" - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.AppInstalledSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "all": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "sync": { - "type": "boolean" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "unused": { - "type": "boolean" - }, - "update": { - "type": "boolean" - } - } - }, - "request.AppInstalledUpdate": { - "type": "object", - "required": [ - "installId", - "params" - ], - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "installId": { - "type": "integer" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.AppSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "recommend": { - "type": "boolean" - }, - "resource": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.DirSizeReq": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.ExposedPort": { - "type": "object", - "properties": { - "containerPort": { - "type": "integer" - }, - "hostPort": { - "type": "integer" - } - } - }, - "request.FavoriteCreate": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.FavoriteDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.FileBatchDelete": { - "type": "object", - "required": [ - "paths" - ], - "properties": { - "isDir": { - "type": "boolean" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "request.FileCompress": { - "type": "object", - "required": [ - "dst", - "files", - "name", - "type" - ], - "properties": { - "dst": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "replace": { - "type": "boolean" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.FileContentReq": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "isDetail": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "request.FileCreate": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "isDir": { - "type": "boolean" - }, - "isLink": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "linkPath": { - "type": "string" - }, - "mode": { - "type": "integer" - }, - "path": { - "type": "string" - }, - "sub": { - "type": "boolean" - } - } - }, - "request.FileDeCompress": { - "type": "object", - "required": [ - "dst", - "path", - "type" - ], - "properties": { - "dst": { - "type": "string" - }, - "path": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.FileDelete": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "forceDelete": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "request.FileDownload": { - "type": "object", - "required": [ - "name", - "paths", - "type" - ], - "properties": { - "compress": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.FileEdit": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "request.FileMove": { - "type": "object", - "required": [ - "newPath", - "oldPaths", - "type" - ], - "properties": { - "cover": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "newPath": { - "type": "string" - }, - "oldPaths": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.FileOption": { - "type": "object", - "properties": { - "containSub": { - "type": "boolean" - }, - "dir": { - "type": "boolean" - }, - "expand": { - "type": "boolean" - }, - "isDetail": { - "type": "boolean" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "path": { - "type": "string" - }, - "search": { - "type": "string" - }, - "showHidden": { - "type": "boolean" - }, - "sortBy": { - "type": "string" - }, - "sortOrder": { - "type": "string" - } - } - }, - "request.FilePathCheck": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.FileReadByLineReq": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "ID": { - "type": "integer" - }, - "latest": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "request.FileRename": { - "type": "object", - "required": [ - "newName", - "oldName" - ], - "properties": { - "newName": { - "type": "string" - }, - "oldName": { - "type": "string" - } - } - }, - "request.FileRoleReq": { - "type": "object", - "required": [ - "group", - "mode", - "paths", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "mode": { - "type": "integer" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - }, - "sub": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "request.FileRoleUpdate": { - "type": "object", - "required": [ - "group", - "path", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "path": { - "type": "string" - }, - "sub": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "request.FileWget": { - "type": "object", - "required": [ - "name", - "path", - "url" - ], - "properties": { - "ignoreCertificate": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "request.HostToolConfig": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "operate": { - "type": "string", - "enum": [ - "get", - "set" - ] - }, - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.HostToolCreate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "configPath": { - "type": "string" - }, - "serviceName": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.HostToolLogReq": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.HostToolReq": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "operate": { - "type": "string", - "enum": [ - "status", - "restart", - "start", - "stop" - ] - }, - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.NewAppInstall": { - "type": "object", - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "appDetailID": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.NginxAntiLeechUpdate": { - "type": "object", - "required": [ - "extends", - "return", - "websiteID" - ], - "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": { - "type": "array", - "items": { - "type": "string" - } - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxAuthReq": { - "type": "object", - "required": [ - "websiteID" - ], - "properties": { - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxAuthUpdate": { - "type": "object", - "required": [ - "operate", - "websiteID" - ], - "properties": { - "operate": { - "type": "string" - }, - "password": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "username": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxCommonReq": { - "type": "object", - "required": [ - "websiteID" - ], - "properties": { - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxConfigFileUpdate": { - "type": "object", - "required": [ - "content" - ], - "properties": { - "backup": { - "type": "boolean" - }, - "content": { - "type": "string" - } - } - }, - "request.NginxConfigUpdate": { - "type": "object", - "required": [ - "operate" - ], - "properties": { - "operate": { - "type": "string", - "enum": [ - "add", - "update", - "delete" - ] - }, - "params": {}, - "scope": { - "$ref": "#/definitions/dto.NginxKey" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxProxyUpdate": { - "type": "object", - "required": [ - "content", - "name", - "websiteID" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRedirectReq": { - "type": "object", - "required": [ - "name", - "operate", - "redirect", - "target", - "type", - "websiteID" - ], - "properties": { - "domains": { - "type": "array", - "items": { - "type": "string" - } - }, - "enable": { - "type": "boolean" - }, - "keepPath": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "path": { - "type": "string" - }, - "redirect": { - "type": "string" - }, - "redirectRoot": { - "type": "boolean" - }, - "target": { - "type": "string" - }, - "type": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRedirectUpdate": { - "type": "object", - "required": [ - "content", - "name", - "websiteID" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRewriteReq": { - "type": "object", - "required": [ - "name", - "websiteId" - ], - "properties": { - "name": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxRewriteUpdate": { - "type": "object", - "required": [ - "name", - "websiteId" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxScopeReq": { - "type": "object", - "required": [ - "scope" - ], - "properties": { - "scope": { - "$ref": "#/definitions/dto.NginxKey" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NodeModuleReq": { - "type": "object", - "required": [ - "ID" - ], - "properties": { - "ID": { - "type": "integer" - } - } - }, - "request.NodePackageReq": { - "type": "object", - "properties": { - "codeDir": { - "type": "string" - } - } - }, - "request.PHPExtensionsCreate": { - "type": "object", - "required": [ - "extensions", - "name" - ], - "properties": { - "extensions": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "request.PHPExtensionsDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.PHPExtensionsSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "all": { - "type": "boolean" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.PHPExtensionsUpdate": { - "type": "object", - "required": [ - "extensions", - "id" - ], - "properties": { - "extensions": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "request.PortUpdate": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - } - } - }, - "request.ProcessReq": { - "type": "object", - "required": [ - "PID" - ], - "properties": { - "PID": { - "type": "integer" - } - } - }, - "request.RecycleBinReduce": { - "type": "object", - "required": [ - "from", - "rName" - ], - "properties": { - "from": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rName": { - "type": "string" - } - } - }, - "request.RuntimeCreate": { - "type": "object", - "properties": { - "appDetailId": { - "type": "integer" - }, - "clean": { - "type": "boolean" - }, - "codeDir": { - "type": "string" - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/request.ExposedPort" - } - }, - "image": { - "type": "string" - }, - "install": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "port": { - "type": "integer" - }, - "resource": { - "type": "string" - }, - "source": { - "type": "string" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "request.RuntimeDelete": { - "type": "object", - "properties": { - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "request.RuntimeOperate": { - "type": "object", - "properties": { - "ID": { - "type": "integer" - }, - "operate": { - "type": "string" - } - } - }, - "request.RuntimeSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.RuntimeUpdate": { - "type": "object", - "properties": { - "clean": { - "type": "boolean" - }, - "codeDir": { - "type": "string" - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/request.ExposedPort" - } - }, - "id": { - "type": "integer" - }, - "image": { - "type": "string" - }, - "install": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "port": { - "type": "integer" - }, - "rebuild": { - "type": "boolean" - }, - "source": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "request.SearchUploadWithPage": { - "type": "object", - "required": [ - "page", - "pageSize", - "path" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "path": { - "type": "string" - } - } - }, - "request.SupervisorProcessConfig": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "name": { - "type": "string" - }, - "numprocs": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "request.SupervisorProcessFileReq": { - "type": "object", - "required": [ - "file", - "name", - "operate" - ], - "properties": { - "content": { - "type": "string" - }, - "file": { - "type": "string", - "enum": [ - "out.log", - "err.log", - "config" - ] - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string", - "enum": [ - "get", - "clear", - "update" - ] - } - } - }, - "request.WebsiteAcmeAccountCreate": { - "type": "object", - "required": [ - "email", - "keyType", - "type" - ], - "properties": { - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "type": { - "type": "string", - "enum": [ - "letsencrypt", - "zerossl", - "buypass", - "google" - ] - } - } - }, - "request.WebsiteBatchDelReq": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "request.WebsiteCACreate": { - "type": "object", - "required": [ - "commonName", - "country", - "keyType", - "name", - "organization" - ], - "properties": { - "city": { - "type": "string" - }, - "commonName": { - "type": "string" - }, - "country": { - "type": "string" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "organizationUint": { - "type": "string" - }, - "province": { - "type": "string" - } - } - }, - "request.WebsiteCAObtain": { - "type": "object", - "required": [ - "domains", - "id", - "keyType", - "time", - "unit" - ], - "properties": { - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "domains": { - "type": "string" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "pushDir": { - "type": "boolean" - }, - "renew": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "sslID": { - "type": "integer" - }, - "time": { - "type": "integer" - }, - "unit": { - "type": "string" - } - } - }, - "request.WebsiteCASearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteCommonReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteCreate": { - "type": "object", - "required": [ - "alias", - "primaryDomain", - "type", - "webSiteGroupID" - ], - "properties": { - "IPV6": { - "type": "boolean" - }, - "alias": { - "type": "string" - }, - "appID": { - "type": "integer" - }, - "appInstall": { - "$ref": "#/definitions/request.NewAppInstall" - }, - "appInstallID": { - "type": "integer" - }, - "appType": { - "type": "string", - "enum": [ - "new", - "installed" - ] - }, - "ftpPassword": { - "type": "string" - }, - "ftpUser": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "webSiteGroupID": { - "type": "integer" - } - } - }, - "request.WebsiteDNSReq": { - "type": "object", - "required": [ - "acmeAccountId", - "domains" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "domains": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "request.WebsiteDefaultUpdate": { - "type": "object", - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "deleteApp": { - "type": "boolean" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "request.WebsiteDnsAccountCreate": { - "type": "object", - "required": [ - "authorization", - "name", - "type" - ], - "properties": { - "authorization": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteDnsAccountUpdate": { - "type": "object", - "required": [ - "authorization", - "id", - "name", - "type" - ], - "properties": { - "authorization": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteDomainCreate": { - "type": "object", - "required": [ - "domains", - "websiteID" - ], - "properties": { - "domains": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.WebsiteDomainDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteHTTPSOp": { - "type": "object", - "required": [ - "websiteId" - ], - "properties": { - "SSLProtocol": { - "type": "array", - "items": { - "type": "string" - } - }, - "algorithm": { - "type": "string" - }, - "certificate": { - "type": "string" - }, - "certificatePath": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hsts": { - "type": "boolean" - }, - "httpConfig": { - "type": "string", - "enum": [ - "HTTPSOnly", - "HTTPAlso", - "HTTPToHTTPS" - ] - }, - "importType": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "privateKeyPath": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "existed", - "auto", - "manual" - ] - }, - "websiteId": { - "type": "integer" - }, - "websiteSSLId": { - "type": "integer" - } - } - }, - "request.WebsiteHtmlUpdate": { - "type": "object", - "required": [ - "content", - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteInstallCheckReq": { - "type": "object", - "properties": { - "InstallIds": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "request.WebsiteLogReq": { - "type": "object", - "required": [ - "id", - "logType", - "operate" - ], - "properties": { - "id": { - "type": "integer" - }, - "logType": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteNginxUpdate": { - "type": "object", - "required": [ - "content", - "id" - ], - "properties": { - "content": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "request.WebsiteOp": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - }, - "operate": { - "type": "string" - } - } - }, - "request.WebsitePHPConfigUpdate": { - "type": "object", - "required": [ - "id", - "scope" - ], - "properties": { - "disableFunctions": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "integer" - }, - "params": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "scope": { - "type": "string" - }, - "uploadMaxSize": { - "type": "string" - } - } - }, - "request.WebsitePHPFileUpdate": { - "type": "object", - "required": [ - "content", - "id", - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsitePHPVersionReq": { - "type": "object", - "required": [ - "runtimeID", - "websiteID" - ], - "properties": { - "retainConfig": { - "type": "boolean" - }, - "runtimeID": { - "type": "integer" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.WebsiteProxyConfig": { - "type": "object", - "required": [ - "id", - "match", - "name", - "operate", - "proxyHost", - "proxyPass" - ], - "properties": { - "cache": { - "type": "boolean" - }, - "cacheTime": { - "type": "integer" - }, - "cacheUnit": { - "type": "string" - }, - "content": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "filePath": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "match": { - "type": "string" - }, - "modifier": { - "type": "string" - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "proxyHost": { - "type": "string" - }, - "proxyPass": { - "type": "string" - }, - "replaces": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "sni": { - "type": "boolean" - } - } - }, - "request.WebsiteProxyReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteResourceReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteSSLApply": { - "type": "object", - "required": [ - "ID" - ], - "properties": { - "ID": { - "type": "integer" - }, - "nameservers": { - "type": "array", - "items": { - "type": "string" - } - }, - "skipDNSCheck": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLCreate": { - "type": "object", - "required": [ - "acmeAccountId", - "primaryDomain", - "provider" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "apply": { - "type": "boolean" - }, - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "disableCNAME": { - "type": "boolean" - }, - "dnsAccountId": { - "type": "integer" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "nameserver1": { - "type": "string" - }, - "nameserver2": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "primaryDomain": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "pushDir": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "skipDNS": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "acmeAccountID": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteSSLUpdate": { - "type": "object", - "required": [ - "id", - "primaryDomain", - "provider" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "apply": { - "type": "boolean" - }, - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "disableCNAME": { - "type": "boolean" - }, - "dnsAccountId": { - "type": "integer" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "nameserver1": { - "type": "string" - }, - "nameserver2": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "primaryDomain": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "pushDir": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "skipDNS": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLUpload": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "certificate": { - "type": "string" - }, - "certificatePath": { - "type": "string" - }, - "description": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "privateKeyPath": { - "type": "string" - }, - "sslID": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "paste", - "local" - ] - } - } - }, - "request.WebsiteSearch": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "primary_domain", - "type", - "status", - "created_at", - "expire_date" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "websiteGroupId": { - "type": "integer" - } - } - }, - "request.WebsiteUpdate": { - "type": "object", - "required": [ - "id", - "primaryDomain" - ], - "properties": { - "IPV6": { - "type": "boolean" - }, - "expireDate": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "webSiteGroupID": { - "type": "integer" - } - } - }, - "request.WebsiteUpdateDir": { - "type": "object", - "required": [ - "id", - "siteDir" - ], - "properties": { - "id": { - "type": "integer" - }, - "siteDir": { - "type": "string" - } - } - }, - "request.WebsiteUpdateDirPermission": { - "type": "object", - "required": [ - "group", - "id", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "user": { - "type": "string" - } - } - }, - "response.AppDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "crossVersionUpdate": { - "type": "boolean" - }, - "document": { - "type": "string" - }, - "github": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "installed": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "readMe": { - "type": "string" - }, - "recommend": { - "type": "integer" - }, - "required": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "shortDescEn": { - "type": "string" - }, - "shortDescZh": { - "type": "string" - }, - "status": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/definitions/model.Tag" - } - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "versions": { - "type": "array", - "items": { - "type": "string" - } - }, - "website": { - "type": "string" - } - } - }, - "response.AppDetailDTO": { - "type": "object", - "properties": { - "appId": { - "type": "integer" - }, - "createdAt": { - "type": "string" - }, - "dockerCompose": { - "type": "string" - }, - "downloadCallBackUrl": { - "type": "string" - }, - "downloadUrl": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "ignoreUpgrade": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "lastVersion": { - "type": "string" - }, - "params": {}, - "status": { - "type": "string" - }, - "update": { - "type": "boolean" - }, - "updatedAt": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.AppInstalledCheck": { - "type": "object", - "properties": { - "app": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "httpPort": { - "type": "integer" - }, - "httpsPort": { - "type": "integer" - }, - "installPath": { - "type": "string" - }, - "isExist": { - "type": "boolean" - }, - "lastBackupAt": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.AppParam": { - "type": "object", - "properties": { - "edit": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "labelEn": { - "type": "string" - }, - "labelZh": { - "type": "string" - }, - "multiple": { - "type": "boolean" - }, - "required": { - "type": "boolean" - }, - "rule": { - "type": "string" - }, - "showValue": { - "type": "string" - }, - "type": { - "type": "string" - }, - "value": {}, - "values": {} - } - }, - "response.AppService": { - "type": "object", - "properties": { - "config": {}, - "from": { - "type": "string" - }, - "label": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "response.FileInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "extension": { - "type": "string" - }, - "favoriteID": { - "type": "integer" - }, - "gid": { - "type": "string" - }, - "group": { - "type": "string" - }, - "isDetail": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "isHidden": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "itemTotal": { - "type": "integer" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/files.FileInfo" - } - }, - "linkPath": { - "type": "string" - }, - "mimeType": { - "type": "string" - }, - "modTime": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "updateTime": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "response.FileTree": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileTree" - } - }, - "extension": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isDir": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "response.IgnoredApp": { - "type": "object", - "properties": { - "detailID": { - "type": "integer" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.NginxParam": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "params": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "response.NginxStatus": { - "type": "object", - "properties": { - "accepts": { - "type": "string" - }, - "active": { - "type": "string" - }, - "handled": { - "type": "string" - }, - "reading": { - "type": "string" - }, - "requests": { - "type": "string" - }, - "waiting": { - "type": "string" - }, - "writing": { - "type": "string" - } - } - }, - "response.PHPConfig": { - "type": "object", - "properties": { - "disableFunctions": { - "type": "array", - "items": { - "type": "string" - } - }, - "params": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "uploadMaxSize": { - "type": "string" - } - } - }, - "response.PHPExtensionsDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "extensions": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "response.WebsiteAcmeAccountDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "response.WebsiteCADTO": { - "type": "object", - "properties": { - "city": { - "type": "string" - }, - "commonName": { - "type": "string" - }, - "country": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "csr": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "organizationUint": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "province": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "response.WebsiteDNSRes": { - "type": "object", - "properties": { - "domain": { - "type": "string" - }, - "err": { - "type": "string" - }, - "resolve": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "response.WebsiteDTO": { - "type": "object", - "properties": { - "IPV6": { - "type": "boolean" - }, - "accessLog": { - "type": "boolean" - }, - "accessLogPath": { - "type": "string" - }, - "alias": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "appName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "defaultServer": { - "type": "boolean" - }, - "domains": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - }, - "errorLog": { - "type": "boolean" - }, - "errorLogPath": { - "type": "string" - }, - "expireDate": { - "type": "string" - }, - "ftpId": { - "type": "integer" - }, - "group": { - "type": "string" - }, - "httpConfig": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "rewrite": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "runtimeName": { - "type": "string" - }, - "siteDir": { - "type": "string" - }, - "sitePath": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "user": { - "type": "string" - }, - "webSiteGroupId": { - "type": "integer" - }, - "webSiteSSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "webSiteSSLId": { - "type": "integer" - } - } - }, - "response.WebsiteHTTPS": { - "type": "object", - "properties": { - "SSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "SSLProtocol": { - "type": "array", - "items": { - "type": "string" - } - }, - "algorithm": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hsts": { - "type": "boolean" - }, - "httpConfig": { - "type": "string" - } - } - }, - "response.WebsiteLog": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "end": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "response.WebsiteNginxConfig": { - "type": "object", - "properties": { - "enable": { - "type": "boolean" - }, - "params": { - "type": "array", - "items": { - "$ref": "#/definitions/response.NginxParam" - } - } - } - }, - "response.WebsitePreInstallCheck": { - "type": "object", - "properties": { - "appName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } -}` - -// SwaggerInfo holds exported Swagger Info so clients can modify it -var SwaggerInfo = &swag.Spec{ - Version: "1.0", - Host: "localhost", - BasePath: "/api/v1", - Schemes: []string{}, - Title: "1Panel", - Description: "开源Linux面板", - InfoInstanceName: "swagger", - SwaggerTemplate: docTemplate, -} - -func init() { - swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) -} diff --git a/agent/cmd/server/docs/swagger.go b/agent/cmd/server/docs/swagger.go deleted file mode 100644 index b0022e43c..000000000 --- a/agent/cmd/server/docs/swagger.go +++ /dev/null @@ -1,6 +0,0 @@ -package docs - -import _ "embed" - -//go:embed swagger.json -var SwaggerJson []byte diff --git a/agent/cmd/server/docs/swagger.json b/agent/cmd/server/docs/swagger.json deleted file mode 100644 index de2b02277..000000000 --- a/agent/cmd/server/docs/swagger.json +++ /dev/null @@ -1,23441 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "开源Linux面板", - "title": "1Panel", - "termsOfService": "http://swagger.io/terms/", - "contact": {}, - "license": { - "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" - }, - "version": "1.0" - }, - "host": "localhost", - "basePath": "/api/v1", - "paths": { - "/apps/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用信息", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app by key", - "parameters": [ - { - "type": "string", - "description": "app key", - "name": "key", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDTO" - } - } - } - } - }, - "/apps/checkupdate": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用更新版本", - "tags": [ - "App" - ], - "summary": "Get app list update", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/detail/:appId/:version/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 appid 获取应用详情", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app detail by appid", - "parameters": [ - { - "type": "integer", - "description": "app id", - "name": "appId", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "app 版本", - "name": "version", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "app 类型", - "name": "version", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDetailDTO" - } - } - } - } - }, - "/apps/details/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 获取应用详情", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Get app detail by id", - "parameters": [ - { - "type": "integer", - "description": "id", - "name": "appId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDetailDTO" - } - } - } - } - }, - "/apps/ignored": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取忽略的应用版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Get Ignore App", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.IgnoredApp" - } - } - } - } - }, - "/apps/install": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "安装应用", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Install app", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstallCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/model.AppInstall" - } - } - }, - "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" - } - ], - "bodyKeys": [ - "name" - ], - "formatEN": "Install app [appKey]-[name]", - "formatZH": "安装应用 [appKey]-[name]", - "paramKeys": [] - } - } - }, - "/apps/installed/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检查应用安装情况", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Check app installed", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppInstalledCheck" - } - } - } - } - }, - "/apps/installed/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用默认配置", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search default config by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/apps/installed/conninfo/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用连接信息", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app password by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/apps/installed/delete/check/:appInstallId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Check before delete", - "parameters": [ - { - "type": "integer", - "description": "App install id", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppResource" - } - } - } - } - } - }, - "/apps/installed/ignore": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "忽略应用升级版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "ignore App Update", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledIgnoreUpgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "installId" - ], - "formatEN": "Application param update [installId]", - "formatZH": "忽略应用 [installId] 版本升级", - "paramKeys": [] - } - } - }, - "/apps/installed/list": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取已安装应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "List app installed", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppInstallInfo" - } - } - } - } - } - }, - "/apps/installed/loadport": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用端口", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app port by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "integer" - } - } - } - } - }, - "/apps/installed/op": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作已安装应用", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Operate installed app", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "app_installs", - "input_column": "id", - "input_value": "installId", - "isList": false, - "output_column": "app_id", - "output_value": "appId" - }, - { - "db": "app_installs", - "input_column": "id", - "input_value": "installId", - "isList": false, - "output_column": "name", - "output_value": "appName" - }, - { - "db": "apps", - "input_column": "id", - "input_value": "appId", - "isList": false, - "output_column": "key", - "output_value": "appKey" - } - ], - "bodyKeys": [ - "installId", - "operate" - ], - "formatEN": "[operate] App [appKey][appName]", - "formatZH": "[operate] 应用 [appKey][appName]", - "paramKeys": [] - } - } - }, - "/apps/installed/params/:appInstallId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 install id 获取应用参数", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search params by appInstallId", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppParam" - } - } - } - } - }, - "/apps/installed/params/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改应用参数", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Change app params", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "installId" - ], - "formatEN": "Application param update [installId]", - "formatZH": "应用参数修改 [installId]", - "paramKeys": [] - } - } - }, - "/apps/installed/port/change": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改应用端口", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Change app port", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PortUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "name", - "port" - ], - "formatEN": "Application port update [key]-[name] =\u003e [port]", - "formatZH": "应用端口修改 [key]-[name] =\u003e [port]", - "paramKeys": [] - } - } - }, - "/apps/installed/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分页获取已安装应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Page app installed", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/installed/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步已安装应用列表", - "tags": [ - "App" - ], - "summary": "Sync app installed", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Sync the list of installed apps", - "formatZH": "同步已安装应用列表", - "paramKeys": [] - } - } - }, - "/apps/installed/update/versions": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 install id 获取应用更新版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app update version by install id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppVersion" - } - } - } - } - } - }, - "/apps/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "List apps", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/services/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用 service", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app service by key", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "key", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.AppService" - } - } - } - } - } - }, - "/apps/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步应用列表", - "tags": [ - "App" - ], - "summary": "Sync app list", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "App store synchronization", - "formatZH": "应用商店同步", - "paramKeys": [] - } - } - }, - "/auth/captcha": { - "get": { - "description": "加载验证码", - "tags": [ - "Auth" - ], - "summary": "Load captcha", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.CaptchaResponse" - } - } - } - } - }, - "/auth/demo": { - "get": { - "description": "判断是否为demo环境", - "tags": [ - "Auth" - ], - "summary": "Check System isDemo", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/issafety": { - "get": { - "description": "获取系统安全登录状态", - "tags": [ - "Auth" - ], - "summary": "Load safety status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/language": { - "get": { - "description": "获取系统语言设置", - "tags": [ - "Auth" - ], - "summary": "Load System Language", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/login": { - "post": { - "description": "用户登录", - "consumes": [ - "application/json" - ], - "tags": [ - "Auth" - ], - "summary": "User login", - "parameters": [ - { - "type": "string", - "description": "安全入口 base64 加密串", - "name": "EntranceCode", - "in": "header", - "required": true - }, - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Login" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.UserLoginInfo" - } - } - } - } - }, - "/auth/logout": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "用户登出", - "tags": [ - "Auth" - ], - "summary": "User logout", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/mfalogin": { - "post": { - "description": "用户 mfa 登录", - "consumes": [ - "application/json" - ], - "tags": [ - "Auth" - ], - "summary": "User login with mfa", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MFALogin" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.UserLoginInfo" - }, - "headers": { - "EntranceCode": { - "type": "string", - "description": "安全入口" - } - } - } - } - } - }, - "/containers": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Create container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "create container [name][image]", - "formatZH": "创建容器 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/clean/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理容器日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Clean container log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "clean container [name] logs", - "formatZH": "清理容器 [name] 日志", - "paramKeys": [] - } - } - }, - "/containers/commit": { - "post": { - "description": "容器提交生成新镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Commit Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerCommit" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/compose": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器编排", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Create compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create compose [name]", - "formatZH": "创建 compose [name]", - "paramKeys": [] - } - } - }, - "/containers/compose/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器编排操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Operate compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "operation" - ], - "formatEN": "compose [operation] [name]", - "formatZH": "compose [operation] [name]", - "paramKeys": [] - } - } - }, - "/containers/compose/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取编排列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Page composes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/compose/search/log": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "docker-compose 日志", - "tags": [ - "Container Compose" - ], - "summary": "Container Compose logs", - "parameters": [ - { - "type": "string", - "description": "compose 文件地址", - "name": "compose", - "in": "query" - }, - { - "type": "string", - "description": "时间筛选", - "name": "since", - "in": "query" - }, - { - "type": "string", - "description": "是否追踪", - "name": "follow", - "in": "query" - }, - { - "type": "string", - "description": "显示行号", - "name": "tail", - "in": "query" - } - ], - "responses": {} - } - }, - "/containers/compose/test": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试 compose 是否可用", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Test compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "check compose [name]", - "formatZH": "检测 compose [name] 格式", - "paramKeys": [] - } - } - }, - "/containers/compose/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器编排", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Update compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update compose information [name]", - "formatZH": "更新 compose [name]", - "paramKeys": [] - } - } - }, - "/containers/daemonjson": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 配置信息", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker daemon.json", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DaemonJsonConf" - } - } - } - } - }, - "/containers/daemonjson/file": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 配置信息(表单)", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker daemon.json", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/daemonjson/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "Updated configuration [key]", - "formatZH": "更新配置 [key]", - "paramKeys": [] - } - } - }, - "/containers/daemonjson/update/byfile": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传替换 docker 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DaemonJsonUpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated configuration file", - "formatZH": "更新配置文件", - "paramKeys": [] - } - } - }, - "/containers/docker/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Docker 操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Operate docker", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DockerOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] docker service", - "formatZH": "docker 服务 [operation]", - "paramKeys": [] - } - } - }, - "/containers/docker/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 服务状态", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker status", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/download/log": { - "post": { - "description": "下载容器日志", - "responses": {} - } - }, - "/containers/image": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像名称列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "load images options", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - } - }, - "/containers/image/all": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取所有镜像列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "List all images", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ImageInfo" - } - } - } - } - } - }, - "/containers/image/build": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "构建镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Build image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageBuild" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "build image [name]", - "formatZH": "构建镜像 [name]", - "paramKeys": [] - } - } - }, - "/containers/image/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导入镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Load image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageLoad" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "load image from [path]", - "formatZH": "从 [path] 加载镜像", - "paramKeys": [] - } - } - }, - "/containers/image/pull": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "拉取镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Pull image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImagePull" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "imageName" - ], - "formatEN": "image pull [reponame][imageName]", - "formatZH": "镜像拉取 [reponame][imageName]", - "paramKeys": [] - } - } - }, - "/containers/image/push": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "推送镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Push image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImagePush" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "tagName", - "name" - ], - "formatEN": "push [tagName] to [reponame][name]", - "formatZH": "[tagName] 推送到 [reponame][name]", - "paramKeys": [] - } - } - }, - "/containers/image/remove": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Delete image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "remove image [names]", - "formatZH": "移除镜像 [names]", - "paramKeys": [] - } - } - }, - "/containers/image/save": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导出镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Save image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageSave" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "tagName", - "path", - "name" - ], - "formatEN": "save [tagName] as [path]/[name]", - "formatZH": "保留 [tagName] 为 [path]/[name]", - "paramKeys": [] - } - } - }, - "/containers/image/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Page images", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/image/tag": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Tag 镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Tag image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageTag" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "targetName" - ], - "formatEN": "tag image [reponame][targetName]", - "formatZH": "tag 镜像 [reponame][targetName]", - "paramKeys": [] - } - } - }, - "/containers/info": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器表单信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Load container info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - } - } - }, - "/containers/inspect": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器详情", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Container inspect", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.InspectReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/ipv6option/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker ipv6 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json ipv6 option", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.LogOption" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated the ipv6 option", - "formatZH": "更新 ipv6 配置", - "paramKeys": [] - } - } - }, - "/containers/limit": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器限制", - "summary": "Load container limits", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ResourceLimit" - } - } - } - } - }, - "/containers/list": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器名称", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "List containers", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/list/stats": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器列表资源占用", - "summary": "Load container stats", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ContainerListStats" - } - } - } - } - } - }, - "/containers/load/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Load container log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/logoption/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker 日志配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json log option", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.LogOption" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated the log option", - "formatZH": "更新日志配置", - "paramKeys": [] - } - } - }, - "/containers/network": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器网络列表", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "List networks", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器网络", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Create network", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.NetworkCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create container network [name]", - "formatZH": "创建容器网络 name", - "paramKeys": [] - } - } - }, - "/containers/network/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器网络", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Delete network", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "delete container network [names]", - "formatZH": "删除容器网络 [names]", - "paramKeys": [] - } - } - }, - "/containers/network/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器网络列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Page networks", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Operate Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names", - "operation" - ], - "formatEN": "container [operation] [names]", - "formatZH": "容器 [names] 执行 [operation]", - "paramKeys": [] - } - } - }, - "/containers/prune": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器清理", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Clean container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerPrune" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerPruneReport" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "pruneType" - ], - "formatEN": "clean container [pruneType]", - "formatZH": "清理容器 [pruneType]", - "paramKeys": [] - } - } - }, - "/containers/rename": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器重命名", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Rename Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerRename" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "newName" - ], - "formatEN": "rename container [name] =\u003e [newName]", - "formatZH": "容器重命名 [name] =\u003e [newName]", - "paramKeys": [] - } - } - }, - "/containers/repo": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像仓库列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "List image repos", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ImageRepoOption" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Create image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create image repo [name]", - "formatZH": "创建镜像仓库 [name]", - "paramKeys": [] - } - } - }, - "/containers/repo/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Delete image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete image repo [names]", - "formatZH": "删除镜像仓库 [names]", - "paramKeys": [] - } - } - }, - "/containers/repo/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像仓库列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Page image repos", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/repo/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 仓库状态", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Load repo status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/repo/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Update image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update image repo information [name]", - "formatZH": "更新镜像仓库 [name]", - "paramKeys": [] - } - } - }, - "/containers/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Page containers", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageContainer" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/search/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器日志", - "tags": [ - "Container" - ], - "summary": "Container logs", - "parameters": [ - { - "type": "string", - "description": "容器名称", - "name": "container", - "in": "query" - }, - { - "type": "string", - "description": "时间筛选", - "name": "since", - "in": "query" - }, - { - "type": "string", - "description": "是否追踪", - "name": "follow", - "in": "query" - }, - { - "type": "string", - "description": "显示行号", - "name": "tail", - "in": "query" - } - ], - "responses": {} - } - }, - "/containers/stats/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器监控信息", - "tags": [ - "Container" - ], - "summary": "Container stats", - "parameters": [ - { - "type": "integer", - "description": "容器id", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerStats" - } - } - } - } - }, - "/containers/template": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器编排模版列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "List compose templates", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ComposeTemplateInfo" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Create compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeTemplateCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create compose template [name]", - "formatZH": "创建 compose 模版 [name]", - "paramKeys": [] - } - } - }, - "/containers/template/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Delete compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "compose_templates", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete compose template [names]", - "formatZH": "删除 compose 模版 [names]", - "paramKeys": [] - } - } - }, - "/containers/template/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器编排模版列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Page compose templates", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/template/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Update compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeTemplateUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "compose_templates", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update compose template information [name]", - "formatZH": "更新 compose 模版 [name]", - "paramKeys": [] - } - } - }, - "/containers/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Update container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "update container [name][image]", - "formatZH": "更新容器 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/upgrade": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Upgrade container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerUpgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "upgrade container image [name][image]", - "formatZH": "更新容器镜像 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/volume": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器存储卷列表", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "List volumes", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器存储卷", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Create volume", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.VolumeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create container volume [name]", - "formatZH": "创建容器存储卷 [name]", - "paramKeys": [] - } - } - }, - "/containers/volume/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器存储卷", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Delete volume", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "delete container volume [names]", - "formatZH": "删除容器存储卷 [names]", - "paramKeys": [] - } - } - }, - "/containers/volume/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器存储卷分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Page volumes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Create cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name" - ], - "formatEN": "create cronjob [type][name]", - "formatZH": "创建计划任务 [type][name]", - "paramKeys": [] - } - } - }, - "/cronjobs/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Delete cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Download cronjob records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobDownload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "job_records", - "input_column": "id", - "input_value": "recordID", - "isList": false, - "output_column": "file", - "output_value": "file" - } - ], - "bodyKeys": [ - "recordID" - ], - "formatEN": "download the cronjob record [file]", - "formatZH": "下载计划任务记录 [file]", - "paramKeys": [] - } - } - }, - "/cronjobs/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "手动执行计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Handle cronjob once", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "manually execute the cronjob [name]", - "formatZH": "手动执行计划任务 [name]", - "paramKeys": [] - } - } - }, - "/cronjobs/records/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Clean job records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobClean" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "clean cronjob [name] records", - "formatZH": "清空计划任务记录 [name]", - "paramKeys": [] - } - } - }, - "/cronjobs/records/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务记录日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Load Cronjob record log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/cronjobs/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Page cronjobs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageCronjob" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs/search/records": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Page job records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchRecord" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新计划任务状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Update cronjob status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobUpdateStatus" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "status" - ], - "formatEN": "change the status of cronjob [name] to [status].", - "formatZH": "修改计划任务 [name] 状态为 [status]", - "paramKeys": [] - } - } - }, - "/cronjobs/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Update cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update cronjob [name]", - "formatZH": "更新计划任务 [name]", - "paramKeys": [] - } - } - }, - "/dashboard/base/:ioOption/:netOption": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取首页基础数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load dashboard base info", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "ioOption", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "request", - "name": "netOption", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DashboardBase" - } - } - } - } - }, - "/dashboard/base/os": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取服务器基础数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load os info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.OsInfo" - } - } - } - } - }, - "/dashboard/current/:ioOption/:netOption": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取首页实时数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load dashboard current info", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "ioOption", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "request", - "name": "netOption", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DashboardCurrent" - } - } - } - } - }, - "/dashboard/system/restart/:operation": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "重启服务器/面板", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "System restart", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "operation", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 mysql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Create mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create mysql database [name]", - "formatZH": "创建 mysql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "绑定 mysql 数据库用户", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Bind user of mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BindUser" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "database", - "username" - ], - "formatEN": "bind mysql database [database] [username]", - "formatZH": "绑定 mysql 数据库名 [database] [username]", - "paramKeys": [] - } - } - }, - "/databases/change/access": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 mysql 访问权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Change mysql access", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] access", - "formatZH": "更新数据库 [name] 访问权限", - "paramKeys": [] - } - } - }, - "/databases/change/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 mysql 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Change mysql password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] password", - "formatZH": "更新数据库 [name] 密码", - "paramKeys": [] - } - } - }, - "/databases/common/info": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库基础信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Load base info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DBBaseInfo" - } - } - } - } - }, - "/databases/common/load/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Load Database conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases/common/update/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传替换配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Update conf by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DBConfUpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "database" - ], - "formatEN": "update the [type] [database] database configuration information", - "formatZH": "更新 [type] 数据库 [database] 配置信息", - "paramKeys": [] - } - } - }, - "/databases/db": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Create database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "create database [name][type]", - "formatZH": "创建远程数据库 [name][type]", - "paramKeys": [] - } - } - }, - "/databases/db/:name": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库", - "tags": [ - "Database" - ], - "summary": "Get databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DatabaseInfo" - } - } - } - } - }, - "/databases/db/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检测远程数据库连接性", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Check database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "check if database [name][type] is connectable", - "formatZH": "检测远程数据库 [name][type] 连接性", - "paramKeys": [] - } - } - }, - "/databases/db/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Delete database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "databases", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete database [names]", - "formatZH": "删除远程数据库 [names]", - "paramKeys": [] - } - } - }, - "/databases/db/item/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库列表", - "tags": [ - "Database" - ], - "summary": "List databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DatabaseItem" - } - } - } - } - } - }, - "/databases/db/list/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库列表", - "tags": [ - "Database" - ], - "summary": "List databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DatabaseOption" - } - } - } - } - } - }, - "/databases/db/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Page databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/db/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Update database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update database [name]", - "formatZH": "更新远程数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 mysql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Delete mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete mysql database [name]", - "formatZH": "删除 mysql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mysql 数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Check before delete mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBDeleteCheck" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/databases/description/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 mysql 数据库库描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Update mysql database description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the mysql database [name] is modified =\u003e [description]", - "formatZH": "mysql 数据库 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/databases/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从服务器获取", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql database from remote", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlLoadDB" - } - } - ], - "responses": {} - } - }, - "/databases/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 数据库列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "List mysql database names", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.MysqlOption" - } - } - } - } - } - }, - "/databases/pg": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 postgresql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Create postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create postgresql database [name]", - "formatZH": "创建 postgresql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/pg/:database/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从服务器获取", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Load postgresql database from remote", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlLoadDB" - } - } - ], - "responses": {} - } - }, - "/databases/pg/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "绑定 postgresql 数据库用户", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Bind postgresql user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlBindUser" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "username" - ], - "formatEN": "bind postgresql database [name] user [username]", - "formatZH": "绑定 postgresql 数据库 [name] 用户 [username]", - "paramKeys": [] - } - } - }, - "/databases/pg/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 postgresql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Delete postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete postgresql database [name]", - "formatZH": "删除 postgresql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/pg/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Postgresql 数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Check before delete postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBDeleteCheck" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/databases/pg/description": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 postgresql 数据库库描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Update postgresql database description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the postgresql database [name] is modified =\u003e [description]", - "formatZH": "postgresql 数据库 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/databases/pg/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 postgresql 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Change postgresql password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] password", - "formatZH": "更新数据库 [name] 密码", - "paramKeys": [] - } - } - }, - "/databases/pg/privileges": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 postgresql 用户权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Change postgresql privileges", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "database", - "username" - ], - "formatEN": "Update [user] privileges of database [database]", - "formatZH": "更新数据库 [database] 用户 [username] 权限", - "paramKeys": [] - } - } - }, - "/databases/pg/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 postgresql 数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Page postgresql databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/redis/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisConf" - } - } - } - } - }, - "/databases/redis/conf/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Update redis conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisConfUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update the redis database configuration information", - "formatZH": "更新 redis 数据库配置信息", - "paramKeys": [] - } - } - }, - "/databases/redis/install/cli": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "安装 redis cli", - "tags": [ - "Database Redis" - ], - "summary": "Install redis-cli", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases/redis/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Change redis password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeRedisPass" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "change the password of the redis database", - "formatZH": "修改 redis 数据库密码", - "paramKeys": [] - } - } - }, - "/databases/redis/persistence/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 持久化配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis persistence conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisPersistence" - } - } - } - } - }, - "/databases/redis/persistence/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 持久化配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Update redis persistence conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisConfPersistenceUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "redis database persistence configuration update", - "formatZH": "redis 数据库持久化配置更新", - "paramKeys": [] - } - } - }, - "/databases/redis/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 状态信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis status info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisStatus" - } - } - } - } - }, - "/databases/remote": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 远程访问权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql remote access", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "boolean" - } - } - } - } - }, - "/databases/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Page mysql databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 状态信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql status info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.MysqlStatus" - } - } - } - } - }, - "/databases/variables": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 性能参数信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql variables info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.MysqlVariables" - } - } - } - } - }, - "/databases/variables/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "mysql 性能调优", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Update mysql variables", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlVariablesUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "adjust mysql database performance parameters", - "formatZH": "调整 mysql 数据库性能参数", - "paramKeys": [] - } - } - }, - "/db/remote/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mysql 远程数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Check before delete remote database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/files": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Create file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Create dir or file [path]", - "formatZH": "创建文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/batch/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量删除文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Batch delete file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "paths" - ], - "formatEN": "Batch delete dir or file [paths]", - "formatZH": "批量删除文件/文件夹 [paths]", - "paramKeys": [] - } - } - }, - "/files/batch/role": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量修改文件权限和用户/组", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Batch change file mode and owner", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRoleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "paths", - "mode", - "user", - "group" - ], - "formatEN": "Batch change file mode and owner [paths] =\u003e [mode]/[user]/[group]", - "formatZH": "批量修改文件权限和用户/组 [paths] =\u003e [mode]/[user]/[group]", - "paramKeys": [] - } - } - }, - "/files/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检测文件是否存在", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Check file exist", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FilePathCheck" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/chunkdownload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分片下载下载文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Chunk Download file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDownload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Download file [name]", - "formatZH": "下载文件 [name]", - "paramKeys": [] - } - } - }, - "/files/chunkupload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分片上传文件", - "tags": [ - "File" - ], - "summary": "ChunkUpload file", - "parameters": [ - { - "type": "file", - "description": "request", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/compress": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "压缩文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Compress file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCompress" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Compress file [name]", - "formatZH": "压缩文件 [name]", - "paramKeys": [] - } - } - }, - "/files/content": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件内容", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load file content", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileContentReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Load file content [path]", - "formatZH": "获取文件内容 [path]", - "paramKeys": [] - } - } - }, - "/files/decompress": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "解压文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Decompress file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDeCompress" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Decompress file [path]", - "formatZH": "解压 [path]", - "paramKeys": [] - } - } - }, - "/files/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Delete file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Delete dir or file [path]", - "formatZH": "删除文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/download": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Download file", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/favorite": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建收藏", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Create favorite", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FavoriteCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "收藏文件/文件夹 [path]", - "formatZH": "收藏文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/favorite/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除收藏", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Delete favorite", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FavoriteDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "favorites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "path", - "output_value": "path" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete avorite [path]", - "formatZH": "删除收藏 [path]", - "paramKeys": [] - } - } - }, - "/files/favorite/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取收藏列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List favorites", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/mode": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件权限", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file mode", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path", - "mode" - ], - "formatEN": "Change mode [paths] =\u003e [mode]", - "formatZH": "修改权限 [paths] =\u003e [mode]", - "paramKeys": [] - } - } - }, - "/files/move": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "移动文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Move file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileMove" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "oldPaths", - "newPath" - ], - "formatEN": "Move [oldPaths] =\u003e [newPath]", - "formatZH": "移动文件 [oldPaths] =\u003e [newPath]", - "paramKeys": [] - } - } - }, - "/files/owner": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件用户/组", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file owner", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRoleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path", - "user", - "group" - ], - "formatEN": "Change owner [paths] =\u003e [user]/[group]", - "formatZH": "修改用户/组 [paths] =\u003e [user]/[group]", - "paramKeys": [] - } - } - }, - "/files/read": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "按行读取日志文件", - "tags": [ - "File" - ], - "summary": "Read file by Line", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileReadByLineReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/recycle/clear": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空回收站文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Clear RecycleBin files", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "清空回收站", - "formatZH": "清空回收站", - "paramKeys": [] - } - } - }, - "/files/recycle/reduce": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "还原回收站文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Reduce RecycleBin files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RecycleBinReduce" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Reduce RecycleBin file [name]", - "formatZH": "还原回收站文件 [name]", - "paramKeys": [] - } - } - }, - "/files/recycle/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取回收站文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List RecycleBin files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/recycle/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取回收站状态", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Get RecycleBin status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/rename": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件名称", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file name", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRename" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "oldName", - "newName" - ], - "formatEN": "Rename [oldName] =\u003e [newName]", - "formatZH": "重命名 [oldName] =\u003e [newName]", - "paramKeys": [] - } - } - }, - "/files/save": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新文件内容", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Update file content", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileEdit" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Update file content [path]", - "formatZH": "更新文件内容 [path]", - "paramKeys": [] - } - } - }, - "/files/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileOption" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/files/size": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件夹大小", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load file size", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.DirSizeReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Load file size [path]", - "formatZH": "获取文件夹大小 [path]", - "paramKeys": [] - } - } - }, - "/files/tree": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载文件树", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load files tree", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileOption" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileTree" - } - } - } - } - } - }, - "/files/upload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传文件", - "tags": [ - "File" - ], - "summary": "Upload file", - "parameters": [ - { - "type": "file", - "description": "request", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Upload file [path]", - "formatZH": "上传文件 [path]", - "paramKeys": [] - } - } - }, - "/files/upload/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分页获取上传文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Page file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SearchUploadWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - } - }, - "/files/wget": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载远端文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Wget file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileWget" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "url", - "path", - "name" - ], - "formatEN": "Download url =\u003e [path]/[name]", - "formatZH": "下载 url =\u003e [path]/[name]", - "paramKeys": [] - } - } - }, - "/groups": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "create group [name][type]", - "formatZH": "创建组 [name][type]", - "paramKeys": [] - } - } - }, - "/groups/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Delete group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/groups/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "查询系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "List groups", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.GroupInfo" - } - } - } - } - } - }, - "/groups/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Update group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "update group [name][type]", - "formatZH": "更新组 [name][type]", - "paramKeys": [] - } - } - }, - "/host/conffile/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传文件更新 SSH 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Update host SSH setting by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSHConf" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update SSH conf", - "formatZH": "修改 SSH 配置文件", - "paramKeys": [] - } - } - }, - "/host/ssh/conf": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 配置文件", - "tags": [ - "SSH" - ], - "summary": "Load host SSH conf", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/ssh/generate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "生成 SSH 密钥", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Generate host SSH secret", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GenerateSSH" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "generate SSH secret", - "formatZH": "生成 SSH 密钥 ", - "paramKeys": [] - } - } - }, - "/host/ssh/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 登录日志", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Load host SSH logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchSSHLog" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SSHLog" - } - } - } - } - }, - "/host/ssh/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 SSH 服务状态", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Operate SSH", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] SSH", - "formatZH": "[operation] SSH ", - "paramKeys": [] - } - } - }, - "/host/ssh/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载 SSH 配置信息", - "tags": [ - "SSH" - ], - "summary": "Load host SSH setting info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SSHInfo" - } - } - } - } - }, - "/host/ssh/secret": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 密钥", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Load host SSH secret", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GenerateLoad" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/ssh/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 SSH 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Update host SSH setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSHUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update SSH setting [key] =\u003e [value]", - "formatZH": "修改 SSH 配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/host/tool": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机工具状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/tool/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作主机工具配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] tool config", - "formatZH": "[operate] 主机工具配置文件 ", - "paramKeys": [] - } - } - }, - "/host/tool/create": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建主机工具配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Create Host tool Config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "create [type] config", - "formatZH": "创建 [type] 配置", - "paramKeys": [] - } - } - }, - "/host/tool/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机工具日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/tool/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作主机工具", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Operate tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate", - "type" - ], - "formatEN": "[operate] [type]", - "formatZH": "[operate] [type] ", - "paramKeys": [] - } - } - }, - "/host/tool/supervisor/process": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Supervisor 进程配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get Supervisor process config", - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作守护进程", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Create Supervisor process", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SupervisorProcessConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] process", - "formatZH": "[operate] 守护进程 ", - "paramKeys": [] - } - } - }, - "/host/tool/supervisor/process/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作 Supervisor 进程文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get Supervisor process config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SupervisorProcessFileReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] Supervisor Process Config file", - "formatZH": "[operate] Supervisor 进程文件 ", - "paramKeys": [] - } - } - }, - "/hosts": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Create host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "addr" - ], - "formatEN": "create host [name][addr]", - "formatZH": "创建主机 [name][addr]", - "paramKeys": [] - } - } - }, - "/hosts/command": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令列表", - "tags": [ - "Command" - ], - "summary": "List commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.CommandInfo" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Create command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommandOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "command" - ], - "formatEN": "create quick command [name][command]", - "formatZH": "创建快捷命令 [name][command]", - "paramKeys": [] - } - } - }, - "/hosts/command/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Delete command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "commands", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete quick command [names]", - "formatZH": "删除快捷命令 [names]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 快速命令列表", - "tags": [ - "Redis Command" - ], - "summary": "List redis commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "保存 Redis 快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Save redis command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisCommand" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "command" - ], - "formatEN": "save quick command for redis [name][command]", - "formatZH": "保存 redis 快捷命令 [name][command]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 redis 快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Delete redis command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "redis_commands", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete quick command of redis [names]", - "formatZH": "删除 redis 快捷命令 [names]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 快速命令列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Page redis commands", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/command/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Page commands", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/command/tree": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令树", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Tree commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/hosts/command/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Update command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommandOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update quick command [name]", - "formatZH": "更新快捷命令 [name]", - "paramKeys": [] - } - } - }, - "/hosts/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Delete host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/hosts/firewall/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防火墙基础信息", - "tags": [ - "Firewall" - ], - "summary": "Load firewall base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.FirewallBaseInfo" - } - } - } - } - }, - "/hosts/firewall/batch": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量删除防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/forward": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防火墙端口转发规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ForwardRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "source_port" - ], - "formatEN": "update port forward rules [source_port]", - "formatZH": "更新端口转发规则 [source_port]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/ip": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建防火墙 IP 规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.AddrRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "strategy", - "address" - ], - "formatEN": "create address rules [strategy][address]", - "formatZH": "添加 ip 规则 [strategy] [address]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改防火墙状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Page firewall status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FirewallOperation" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] firewall", - "formatZH": "[operation] 防火墙", - "paramKeys": [] - } - } - }, - "/hosts/firewall/port": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建防火墙端口规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "port", - "strategy" - ], - "formatEN": "create port rules [strategy][port]", - "formatZH": "添加端口规则 [strategy] [port]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防火墙规则列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Page firewall rules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RuleSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/firewall/update/addr": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 ip 防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.AddrRuleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/update/description": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防火墙描述", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Update rule description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateFirewallDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/update/port": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新端口防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortRuleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/monitor/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空监控数据", - "tags": [ - "Monitor" - ], - "summary": "Clean monitor datas", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "clean monitor datas", - "formatZH": "清空监控数据", - "paramKeys": [] - } - } - }, - "/hosts/monitor/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取监控数据", - "tags": [ - "Monitor" - ], - "summary": "Load monitor datas", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MonitorSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Page host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchHostWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostTree" - } - } - } - } - } - }, - "/hosts/test/byid/:id": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试主机连接", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Test host conn by host id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "boolean" - } - } - } - } - }, - "/hosts/test/byinfo": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试主机连接", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Test host conn by info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostConnTest" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/tree": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载主机树", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Load host tree", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchForTree" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostTree" - } - } - } - } - } - }, - "/hosts/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Update host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "addr" - ], - "formatEN": "update host [name][addr]", - "formatZH": "更新主机信息 [name][addr]", - "paramKeys": [] - } - } - }, - "/hosts/update/group": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "切换分组", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Update host group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeHostGroup" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/logs/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Clean operation logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CleanLog" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "logType" - ], - "formatEN": "Clean the [logType] log information", - "formatZH": "清空 [logType] 日志信息", - "paramKeys": [] - } - } - }, - "/logs/login": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统登录日志列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Page login logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchLgLogWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/logs/operation": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统操作日志列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Page operation logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchOpLogWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/logs/system": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统日志", - "tags": [ - "Logs" - ], - "summary": "Load system logs", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/logs/system/files": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统日志文件列表", - "tags": [ - "Logs" - ], - "summary": "Load system log files", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/openresty": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OpenResty 配置信息", - "tags": [ - "OpenResty" - ], - "summary": "Load OpenResty conf", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/openresty/clear": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理 OpenResty 代理缓存", - "tags": [ - "OpenResty" - ], - "summary": "Clear OpenResty proxy cache", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Clear nginx proxy cache", - "formatZH": "清理 Openresty 代理缓存", - "paramKeys": [] - } - } - }, - "/openresty/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传更新 OpenResty 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Update OpenResty conf by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigFileUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Update nginx conf", - "formatZH": "更新 nginx 配置", - "paramKeys": [] - } - } - }, - "/openresty/scope": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取部分 OpenResty 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Load partial OpenResty conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxScopeReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.NginxParam" - } - } - } - } - } - }, - "/openresty/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OpenResty 状态信息", - "tags": [ - "OpenResty" - ], - "summary": "Load OpenResty status info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.NginxStatus" - } - } - } - } - }, - "/openresty/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 OpenResty 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Update OpenResty conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Update nginx conf [domain]", - "formatZH": "更新 nginx 配置 [domain]", - "paramKeys": [] - } - } - }, - "/process/stop": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "停止进程", - "tags": [ - "Process" - ], - "summary": "Stop Process", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.ProcessReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "PID" - ], - "formatEN": "结束进程 [PID]", - "formatZH": "结束进程 [PID]", - "paramKeys": [] - } - } - }, - "/runtimes": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Create runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create runtime [name]", - "formatZH": "创建运行环境 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get runtime", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Delete runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website [name]", - "formatZH": "删除网站 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/node/modules": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Node 项目的 modules", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get Node modules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodeModuleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/node/modules/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作 Node 项目 modules", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Operate Node modules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodeModuleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/node/package": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Node 项目的 scripts", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get Node package scripts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodePackageReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Operate runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "id" - ], - "formatEN": "Operate runtime [name]", - "formatZH": "操作运行环境 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/php/extensions": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Create Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Create Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/php/extensions/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Delete Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Delete Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/php/extensions/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Page Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Page Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.PHPExtensionsDTO" - } - } - } - } - } - }, - "/runtimes/php/extensions/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Update Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Update Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取运行环境列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "List runtimes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步运行环境状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Sync runtime status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Update runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Update runtime [name]", - "formatZH": "更新运行环境 [name]", - "paramKeys": [] - } - } - }, - "/settings/backup": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建备份账号", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Create backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "create backup account [type]", - "formatZH": "创建备份账号 [type]", - "paramKeys": [] - } - } - }, - "/settings/backup/backup": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "备份系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Backup system data", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonBackup" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName" - ], - "formatEN": "backup [type] data [name][detailName]", - "formatZH": "备份 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除备份账号", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Delete backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "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": [] - } - } - }, - "/settings/backup/onedrive": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OneDrive 信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Load OneDrive info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.OneDriveInfo" - } - } - } - } - }, - "/settings/backup/record/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除备份记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Delete backup record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "backup_records", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "file_name", - "output_value": "files" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete backup records [files]", - "formatZH": "删除备份记录 [files]", - "paramKeys": [] - } - } - }, - "/settings/backup/record/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载备份记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Download backup record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DownloadRecord" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "source", - "fileName" - ], - "formatEN": "download backup records [source][fileName]", - "formatZH": "下载备份记录 [source][fileName]", - "paramKeys": [] - } - } - }, - "/settings/backup/record/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份记录列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Page backup records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RecordSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/record/search/bycronjob": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过计划任务获取备份记录列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Page backup records by cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RecordSearchByCronjob" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/recover": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "恢复系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Recover system data", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName", - "file" - ], - "formatEN": "recover [type] data [name][detailName] from [file]", - "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/recover/byupload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从上传恢复系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Recover system data by upload", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName", - "file" - ], - "formatEN": "recover [type] data [name][detailName] from [file]", - "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/refresh/onedrive": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "刷新 OneDrive token", - "tags": [ - "Backup Account" - ], - "summary": "Refresh OneDrive token", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/search": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份账号列表", - "tags": [ - "Backup Account" - ], - "summary": "List backup accounts", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.BackupInfo" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 bucket 列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "List buckets", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ForBuckets" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/settings/backup/search/files": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份账号内文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "List files from backup accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupSearchFile" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/settings/backup/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新备份账号信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Update backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "update backup account [types]", - "formatZH": "更新备份账号 [types]", - "paramKeys": [] - } - } - }, - "/settings/basedir": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取安装根目录", - "tags": [ - "System Setting" - ], - "summary": "Load local backup dir", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/settings/bind/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统监听信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system bind info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BindInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "ipv6", - "bindAddress" - ], - "formatEN": "update system bind info =\u003e ipv6: [ipv6], 监听 IP: [bindAddress]", - "formatZH": "修改系统监听信息 =\u003e ipv6: [ipv6], 监听 IP: [bindAddress]", - "paramKeys": [] - } - } - }, - "/settings/expired/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "重置过期系统登录密码", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Reset system password expired", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PasswordUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "reset an expired Password", - "formatZH": "重置过期密码", - "paramKeys": [] - } - } - }, - "/settings/interface": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统地址信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load system address", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/menu/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "隐藏高级功能菜单", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Hide advanced feature menu.", - "formatZH": "隐藏高级功能菜单", - "paramKeys": [] - } - } - }, - "/settings/mfa": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mfa 信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load mfa info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MfaCredential" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/mfa.Otp" - } - } - } - } - }, - "/settings/mfa/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mfa 绑定", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Bind mfa", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MfaCredential" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "bind mfa", - "formatZH": "mfa 绑定", - "paramKeys": [] - } - } - }, - "/settings/password/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统登录密码", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PasswordUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update system password", - "formatZH": "修改系统密码", - "paramKeys": [] - } - } - }, - "/settings/port/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统端口", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system port", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "serverPort" - ], - "formatEN": "update system port =\u003e [serverPort]", - "formatZH": "修改系统端口 =\u003e [serverPort]", - "paramKeys": [] - } - } - }, - "/settings/proxy/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "服务器代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update proxy setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ProxyUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "proxyUrl", - "proxyPort" - ], - "formatEN": "set proxy [proxyPort]:[proxyPort].", - "formatZH": "服务器代理配置 [proxyPort]:[proxyPort]", - "paramKeys": [] - } - } - }, - "/settings/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载系统配置信息", - "tags": [ - "System Setting" - ], - "summary": "Load system setting info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SettingInfo" - } - } - } - } - }, - "/settings/search/available": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统可用状态", - "tags": [ - "System Setting" - ], - "summary": "Load system available status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/snapshot": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建系统快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Create system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "from", - "description" - ], - "formatEN": "Create system backup [description] to [from]", - "formatZH": "创建系统快照 [description] 到 [from]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除系统快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Delete system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "Delete system backup [name]", - "formatZH": "删除系统快照 [name]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/description/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新快照描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update snapshot description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the snapshot [name] is modified =\u003e [description]", - "formatZH": "快照 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/import": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导入已有快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Import system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotImport" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "from", - "names" - ], - "formatEN": "Sync system snapshots [names] from [from]", - "formatZH": "从 [from] 同步系统快照 [names]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/recover": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从系统快照恢复", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Recover system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Recover from system backup [name]", - "formatZH": "从系统快照 [name] 恢复", - "paramKeys": [] - } - } - }, - "/settings/snapshot/rollback": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从系统快照回滚", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Rollback system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Rollback from system backup [name]", - "formatZH": "从系统快照 [name] 回滚", - "paramKeys": [] - } - } - }, - "/settings/snapshot/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统快照列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Page system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/settings/snapshot/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快照状态", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load Snapshot status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/ssl/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载证书", - "tags": [ - "System Setting" - ], - "summary": "Download system cert", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/ssl/info": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取证书信息", - "tags": [ - "System Setting" - ], - "summary": "Load system cert info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SettingInfo" - } - } - } - } - }, - "/settings/ssl/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 ssl 登录", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSLUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "ssl" - ], - "formatEN": "update system ssl =\u003e [ssl]", - "formatZH": "修改系统 ssl =\u003e [ssl]", - "paramKeys": [] - } - } - }, - "/settings/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统配置", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update system setting [key] =\u003e [value]", - "formatZH": "修改系统配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/settings/upgrade": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取版本 release notes", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load release notes by version", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Upgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "系统更新", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Upgrade", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Upgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "version" - ], - "formatEN": "upgrade system =\u003e [version]", - "formatZH": "更新系统 =\u003e [version]", - "paramKeys": [] - } - } - }, - "/toolbox/clam": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Create clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "path" - ], - "formatEN": "create clam [name][path]", - "formatZH": "创建扫描规则 [name][path]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Clam 基础信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ClamBaseInfo" - } - } - } - } - }, - "/toolbox/clam/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Delete clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete clam [names]", - "formatZH": "删除扫描规则 [names]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/file/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamFileReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/file/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新病毒扫描配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByNameAndFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/clam/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "执行病毒扫描", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Handle clam scan", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "handle clam scan [name]", - "formatZH": "执行病毒扫描 [name]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Clam 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Operate Clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] FTP", - "formatZH": "[operation] Clam", - "paramKeys": [] - } - } - }, - "/toolbox/clam/record/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空扫描报告", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Clean clam record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "clean clam record [name]", - "formatZH": "清空扫描报告 [name]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/record/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描结果详情", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam record detail", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/clam/record/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描结果列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Page clam record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamLogSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描规则列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Page clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/status/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改扫描规则状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamUpdateStatus" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "status" - ], - "formatEN": "change the status of clam [name] to [status].", - "formatZH": "修改扫描规则 [name] 状态为 [status]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "path" - ], - "formatEN": "update clam [name][path]", - "formatZH": "修改扫描规则 [name][path]", - "paramKeys": [] - } - } - }, - "/toolbox/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理系统垃圾文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Clean system", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Clean" - } - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Clean system junk files", - "formatZH": "清理系统垃圾文件", - "paramKeys": [] - } - } - }, - "/toolbox/device/base": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取设备基础信息", - "tags": [ - "Device" - ], - "summary": "Load device base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DeviceBaseInfo" - } - } - } - } - }, - "/toolbox/device/check/dns": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检查系统 DNS 配置可用性", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Check device DNS conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "load conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/byconf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过文件修改配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device conf by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByNameAndFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统参数", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update device conf [key] =\u003e [value]", - "formatZH": "修改主机参数 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/device/update/host": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 hosts", - "tags": [ - "Device" - ], - "summary": "Update device hosts", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update device host [key] =\u003e [value]", - "formatZH": "修改主机 Host [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/device/update/passwd": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device passwd", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangePasswd" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/swap": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 Swap", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device swap", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SwapHelper" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate", - "path" - ], - "formatEN": "[operate] device swap [path]", - "formatZH": "[operate] 主机 swap [path]", - "paramKeys": [] - } - } - }, - "/toolbox/device/zone/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统可用时区选项", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "list time zone options", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/toolbox/fail2ban/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Fail2ban 基础信息", - "tags": [ - "Fail2ban" - ], - "summary": "Load fail2ban base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.Fail2BanBaseInfo" - } - } - } - } - }, - "/toolbox/fail2ban/load/conf": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 fail2ban 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Load fail2ban conf", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/fail2ban/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Fail2ban 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Operate fail2ban", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] Fail2ban", - "formatZH": "[operation] Fail2ban", - "paramKeys": [] - } - } - }, - "/toolbox/fail2ban/operate/sshd": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "配置 sshd", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Operate sshd of fail2ban", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {} - } - }, - "/toolbox/fail2ban/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Fail2ban ip", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Page fail2ban ip list", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Fail2BanSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/toolbox/fail2ban/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Fail2ban 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Update fail2ban conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Fail2BanUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update fail2ban conf [key] =\u003e [value]", - "formatZH": "修改 Fail2ban 配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/fail2ban/update/byconf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过文件修改 fail2ban 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Update fail2ban conf by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/ftp": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Create FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "user", - "path" - ], - "formatEN": "create FTP [user][path]", - "formatZH": "创建 FTP 账户 [user][path]", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 基础信息", - "tags": [ - "FTP" - ], - "summary": "Load FTP base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.FtpBaseInfo" - } - } - } - } - }, - "/toolbox/ftp/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Delete FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "ftps", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "user", - "output_value": "users" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete FTP users [users]", - "formatZH": "删除 FTP 账户 [users]", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/log/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Load FTP operation log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpLogSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/ftp/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 FTP 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Operate FTP", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] FTP", - "formatZH": "[operation] FTP", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 账户列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Page FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/ftp/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Sync FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "sync FTP users", - "formatZH": "同步 FTP 账户", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Update FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "user", - "path" - ], - "formatEN": "update FTP [user][path]", - "formatZH": "修改 FTP 账户 [user][path]", - "paramKeys": [] - } - } - }, - "/toolbox/scan": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "扫描系统垃圾文件", - "tags": [ - "Device" - ], - "summary": "Scan system", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "scan System Junk Files", - "formatZH": "扫描系统垃圾文件", - "paramKeys": [] - } - } - }, - "/websites": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Create website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Create website [primaryDomain]", - "formatZH": "创建网站 [primaryDomain]", - "paramKeys": [] - } - } - }, - "/websites/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Search website by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteDTO" - } - } - } - } - }, - "/websites/:id/config/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询网站 nginx", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Search website nginx by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/websites/:id/https": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 https 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website HTTPS" - ], - "summary": "Load https conf", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteHTTPS" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 https 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website HTTPS" - ], - "summary": "Update https conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteHTTPSOp" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteHTTPS" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Update website https [domain] conf", - "formatZH": "更新网站 [domain] https 配置", - "paramKeys": [] - } - } - }, - "/websites/acme": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 acme", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Create website acme account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteAcmeAccountCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteAcmeAccountDTO" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "email" - ], - "formatEN": "Create website acme [email]", - "formatZH": "创建网站 acme [email]", - "paramKeys": [] - } - } - }, - "/websites/acme/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 acme", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Delete website acme account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_acme_accounts", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "email", - "output_value": "email" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website acme [email]", - "formatZH": "删除网站 acme [email]", - "paramKeys": [] - } - } - }, - "/websites/acme/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 acme 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Page website acme accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/auths": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取密码访问配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AuthBasic conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAuthReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/auths/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新密码访问配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AuthBasic conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAuthUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ca": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Create website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCACreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/request.WebsiteCACreate" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create website ca [name]", - "formatZH": "创建网站 ca [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Delete website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website ca [name]", - "formatZH": "删除网站 ca [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载 CA 证书文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Download CA file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "download ca file [name]", - "formatZH": "下载 CA 证书文件 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/obtain": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "自签 SSL 证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Obtain SSL", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCAObtain" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Obtain SSL [name]", - "formatZH": "自签 SSL 证书 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/renew": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "续签 SSL 证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Obtain SSL", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCAObtain" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Obtain SSL [name]", - "formatZH": "自签 SSL 证书 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ca 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Page website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCASearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/ca/{id}": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Get website ca", - "parameters": [ - { - "type": "integer", - "description": "id", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteCADTO" - } - } - } - } - }, - "/websites/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "网站创建前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Check before create website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteInstallCheckReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsitePreInstallCheck" - } - } - } - } - } - }, - "/websites/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Load nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxScopeReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteNginxConfig" - } - } - } - } - }, - "/websites/config/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Update nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Nginx conf update [domain]", - "formatZH": "nginx 配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/default/html/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取默认 html", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get default html", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/websites/default/html/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新默认 html", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update default html", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteHtmlUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "Update default html", - "formatZH": "更新默认 html", - "paramKeys": [] - } - } - }, - "/websites/default/server": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Change default server", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDefaultUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id", - "operate" - ], - "formatEN": "Change default server =\u003e [domain]", - "formatZH": "修改默认 server =\u003e [domain]", - "paramKeys": [] - } - } - }, - "/websites/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Delete website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website [domain]", - "formatZH": "删除网站 [domain]", - "paramKeys": [] - } - } - }, - "/websites/dir": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站目录配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get website dir", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/dir/permission": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站目录权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update Site Dir permission", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdateDirPermission" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] dir permission", - "formatZH": "更新网站 [domain] 目录权限", - "paramKeys": [] - } - } - }, - "/websites/dir/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站目录", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update Site Dir", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdateDir" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] dir", - "formatZH": "更新网站 [domain] 目录", - "paramKeys": [] - } - } - }, - "/websites/dns": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Create website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDnsAccountCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create website dns [name]", - "formatZH": "创建网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/dns/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Delete website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_dns_accounts", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website dns [name]", - "formatZH": "删除网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/dns/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 dns 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Page website dns accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/dns/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Update website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDnsAccountUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Update website dns [name]", - "formatZH": "更新网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/domains": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Create website domain", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDomainCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/model.WebsiteDomain" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "domain" - ], - "formatEN": "Create domain [domain]", - "formatZH": "创建域名 [domain]", - "paramKeys": [] - } - } - }, - "/websites/domains/:websiteId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过网站 id 查询域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Search website domains by websiteId", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "websiteId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - } - } - } - } - }, - "/websites/domains/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Delete website domain", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDomainDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_domains", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete domain [domain]", - "formatZH": "删除域名 [domain]", - "paramKeys": [] - } - } - }, - "/websites/leech": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防盗链配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AntiLeech conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/leech/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防盗链配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update AntiLeech", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAntiLeechUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/list": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表", - "tags": [ - "Website" - ], - "summary": "List websites", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsiteDTO" - } - } - } - } - } - }, - "/websites/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Operate website log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteLog" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id", - "operate" - ], - "formatEN": "[domain][operate] logs", - "formatZH": "[domain][operate] 日志", - "paramKeys": [] - } - } - }, - "/websites/nginx/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 网站 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Update website nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteNginxUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "[domain] Nginx conf update", - "formatZH": "[domain] Nginx 配置修改", - "paramKeys": [] - } - } - }, - "/websites/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Operate website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteOp" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表", - "tags": [ - "Website" - ], - "summary": "List website names", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/websites/php/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 网站 PHP 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update website php conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "[domain] PHP conf update", - "formatZH": "[domain] PHP 配置修改", - "paramKeys": [] - } - } - }, - "/websites/php/config/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 php 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Load website php conf", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.PHPConfig" - } - } - } - } - }, - "/websites/php/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 php 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update php conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPFileUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Nginx conf update [domain]", - "formatZH": "php 配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/php/version": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "变更 php 版本", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update php version", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPVersionReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "php version update [domain]", - "formatZH": "php 版本变更 [domain]", - "paramKeys": [] - } - } - }, - "/websites/proxies": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取反向代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get proxy conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/proxies/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改反向代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update proxy conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] proxy config", - "formatZH": "修改网站 [domain] 反向代理配置 ", - "paramKeys": [] - } - } - }, - "/websites/proxy/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新反向代理文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update proxy file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxProxyUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf proxy file update [domain]", - "formatZH": "更新反向代理文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/redirect": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取重定向配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get redirect conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/redirect/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新重定向文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update redirect file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRedirectUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf redirect file update [domain]", - "formatZH": "更新重定向文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/redirect/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改重定向配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update redirect conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRedirectReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Update domain [domain] redirect config", - "formatZH": "修改网站 [domain] 重定向理配置 ", - "paramKeys": [] - } - } - }, - "/websites/rewrite": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取伪静态配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get rewrite conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRewriteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/rewrite/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新伪静态配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update rewrite conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRewriteUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf rewrite update [domain]", - "formatZH": "伪静态配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Page websites", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/ssl": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Create website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/request.WebsiteSSLCreate" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Create website ssl [primaryDomain]", - "formatZH": "创建网站 ssl [primaryDomain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Search website ssl by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ssl/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Delete website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteBatchDelReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "Delete ssl [domain]", - "formatZH": "删除 ssl [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载证书文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Download SSL file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "download ssl file [domain]", - "formatZH": "下载证书文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/obtain": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "申请证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Apply ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLApply" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "ID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "ID" - ], - "formatEN": "apply ssl [domain]", - "formatZH": "申请证书 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/resolve": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "解析网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Resolve website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDNSReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsiteDNSRes" - } - } - } - } - } - }, - "/websites/ssl/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ssl 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Page website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ssl/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Update ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update ssl config [domain]", - "formatZH": "更新证书设置 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/upload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Upload ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLUpload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "Upload ssl [type]", - "formatZH": "上传 ssl [type]", - "paramKeys": [] - } - } - }, - "/websites/ssl/website/:websiteId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过网站 id 查询 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Search website ssl by website id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "websiteId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Update website [primaryDomain]", - "formatZH": "更新网站 [primaryDomain]", - "paramKeys": [] - } - } - } - }, - "definitions": { - "dto.AddrRuleOperate": { - "type": "object", - "required": [ - "address", - "operation", - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - } - } - }, - "dto.AddrRuleUpdate": { - "type": "object", - "properties": { - "newRule": { - "$ref": "#/definitions/dto.AddrRuleOperate" - }, - "oldRule": { - "$ref": "#/definitions/dto.AddrRuleOperate" - } - } - }, - "dto.AppInstallInfo": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.AppResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.AppVersion": { - "type": "object", - "properties": { - "detailId": { - "type": "integer" - }, - "dockerCompose": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.BackupInfo": { - "type": "object", - "properties": { - "backupPath": { - "type": "string" - }, - "bucket": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.BackupOperate": { - "type": "object", - "required": [ - "type", - "vars" - ], - "properties": { - "accessKey": { - "type": "string" - }, - "backupPath": { - "type": "string" - }, - "bucket": { - "type": "string" - }, - "credential": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.BackupSearchFile": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string" - } - } - }, - "dto.BatchDelete": { - "type": "object", - "required": [ - "names" - ], - "properties": { - "force": { - "type": "boolean" - }, - "names": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.BatchDeleteReq": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.BatchRuleOperate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "rules": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - }, - "type": { - "type": "string" - } - } - }, - "dto.BindInfo": { - "type": "object", - "required": [ - "bindAddress", - "ipv6" - ], - "properties": { - "bindAddress": { - "type": "string" - }, - "ipv6": { - "type": "string", - "enum": [ - "enable", - "disable" - ] - } - } - }, - "dto.BindUser": { - "type": "object", - "required": [ - "database", - "db", - "password", - "permission", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "db": { - "type": "string" - }, - "password": { - "type": "string" - }, - "permission": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "dto.CaptchaResponse": { - "type": "object", - "properties": { - "captchaID": { - "type": "string" - }, - "imagePath": { - "type": "string" - } - } - }, - "dto.ChangeDBInfo": { - "type": "object", - "required": [ - "database", - "from", - "type", - "value" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb", - "postgresql" - ] - }, - "value": { - "type": "string" - } - } - }, - "dto.ChangeHostGroup": { - "type": "object", - "required": [ - "groupID", - "id" - ], - "properties": { - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - } - } - }, - "dto.ChangePasswd": { - "type": "object", - "properties": { - "passwd": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.ChangeRedisPass": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "database": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "dto.ClamBaseInfo": { - "type": "object", - "properties": { - "freshIsActive": { - "type": "boolean" - }, - "freshIsExist": { - "type": "boolean" - }, - "freshVersion": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - }, - "version": { - "type": "string" - } - } - }, - "dto.ClamCreate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "infectedDir": { - "type": "string" - }, - "infectedStrategy": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.ClamDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - }, - "removeInfected": { - "type": "boolean" - }, - "removeRecord": { - "type": "boolean" - } - } - }, - "dto.ClamFileReq": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "tail": { - "type": "string" - } - } - }, - "dto.ClamLogReq": { - "type": "object", - "properties": { - "clamName": { - "type": "string" - }, - "recordName": { - "type": "string" - }, - "tail": { - "type": "string" - } - } - }, - "dto.ClamLogSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "clamID": { - "type": "integer" - }, - "endTime": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "startTime": { - "type": "string" - } - } - }, - "dto.ClamUpdate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "infectedDir": { - "type": "string" - }, - "infectedStrategy": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "spec": { - "type": "string" - } - } - }, - "dto.ClamUpdateStatus": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.Clean": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "treeType": { - "type": "string" - } - } - }, - "dto.CleanLog": { - "type": "object", - "required": [ - "logType" - ], - "properties": { - "logType": { - "type": "string", - "enum": [ - "login", - "operation" - ] - } - } - }, - "dto.CommandInfo": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "groupBelong": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.CommandOperate": { - "type": "object", - "required": [ - "command", - "name" - ], - "properties": { - "command": { - "type": "string" - }, - "groupBelong": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.CommonBackup": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "app", - "mysql", - "mariadb", - "redis", - "website", - "postgresql" - ] - } - } - }, - "dto.CommonRecover": { - "type": "object", - "required": [ - "source", - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "file": { - "type": "string" - }, - "name": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "source": { - "type": "string", - "enum": [ - "OSS", - "S3", - "SFTP", - "MINIO", - "LOCAL", - "COS", - "KODO", - "OneDrive", - "WebDAV" - ] - }, - "type": { - "type": "string", - "enum": [ - "app", - "mysql", - "mariadb", - "redis", - "website", - "postgresql" - ] - } - } - }, - "dto.ComposeCreate": { - "type": "object", - "required": [ - "from" - ], - "properties": { - "file": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "edit", - "path", - "template" - ] - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "template": { - "type": "integer" - } - } - }, - "dto.ComposeOperation": { - "type": "object", - "required": [ - "name", - "operation", - "path" - ], - "properties": { - "name": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "down" - ] - }, - "path": { - "type": "string" - }, - "withFile": { - "type": "boolean" - } - } - }, - "dto.ComposeTemplateCreate": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "content": { - "type": "string" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.ComposeTemplateInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.ComposeTemplateUpdate": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "dto.ComposeUpdate": { - "type": "object", - "required": [ - "content", - "name", - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "dto.ContainerCommit": { - "type": "object", - "required": [ - "containerID" - ], - "properties": { - "author": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "containerID": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "newImageName": { - "type": "string" - }, - "pause": { - "type": "boolean" - } - } - }, - "dto.ContainerListStats": { - "type": "object", - "properties": { - "containerID": { - "type": "string" - }, - "cpuPercent": { - "type": "number" - }, - "cpuTotalUsage": { - "type": "integer" - }, - "memoryCache": { - "type": "integer" - }, - "memoryLimit": { - "type": "integer" - }, - "memoryPercent": { - "type": "number" - }, - "memoryUsage": { - "type": "integer" - }, - "percpuUsage": { - "type": "integer" - }, - "systemUsage": { - "type": "integer" - } - } - }, - "dto.ContainerOperate": { - "type": "object", - "required": [ - "image", - "name" - ], - "properties": { - "autoRemove": { - "type": "boolean" - }, - "cmd": { - "type": "array", - "items": { - "type": "string" - } - }, - "containerID": { - "type": "string" - }, - "cpuShares": { - "type": "integer" - }, - "entrypoint": { - "type": "array", - "items": { - "type": "string" - } - }, - "env": { - "type": "array", - "items": { - "type": "string" - } - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.PortHelper" - } - }, - "forcePull": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "ipv4": { - "type": "string" - }, - "ipv6": { - "type": "string" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "memory": { - "type": "number" - }, - "name": { - "type": "string" - }, - "nanoCPUs": { - "type": "number" - }, - "network": { - "type": "string" - }, - "openStdin": { - "type": "boolean" - }, - "privileged": { - "type": "boolean" - }, - "publishAllPorts": { - "type": "boolean" - }, - "restartPolicy": { - "type": "string" - }, - "tty": { - "type": "boolean" - }, - "volumes": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.VolumeHelper" - } - } - } - }, - "dto.ContainerOperation": { - "type": "object", - "required": [ - "names", - "operation" - ], - "properties": { - "names": { - "type": "array", - "items": { - "type": "string" - } - }, - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "restart", - "kill", - "pause", - "unpause", - "remove" - ] - } - } - }, - "dto.ContainerPrune": { - "type": "object", - "required": [ - "pruneType" - ], - "properties": { - "pruneType": { - "type": "string", - "enum": [ - "container", - "image", - "volume", - "network", - "buildcache" - ] - }, - "withTagAll": { - "type": "boolean" - } - } - }, - "dto.ContainerPruneReport": { - "type": "object", - "properties": { - "deletedNumber": { - "type": "integer" - }, - "spaceReclaimed": { - "type": "integer" - } - } - }, - "dto.ContainerRename": { - "type": "object", - "required": [ - "name", - "newName" - ], - "properties": { - "name": { - "type": "string" - }, - "newName": { - "type": "string" - } - } - }, - "dto.ContainerStats": { - "type": "object", - "properties": { - "cache": { - "type": "number" - }, - "cpuPercent": { - "type": "number" - }, - "ioRead": { - "type": "number" - }, - "ioWrite": { - "type": "number" - }, - "memory": { - "type": "number" - }, - "networkRX": { - "type": "number" - }, - "networkTX": { - "type": "number" - }, - "shotTime": { - "type": "string" - } - } - }, - "dto.ContainerUpgrade": { - "type": "object", - "required": [ - "image", - "name" - ], - "properties": { - "forcePull": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.CronjobBatchDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "cleanData": { - "type": "boolean" - }, - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.CronjobClean": { - "type": "object", - "required": [ - "cronjobID" - ], - "properties": { - "cleanData": { - "type": "boolean" - }, - "cronjobID": { - "type": "integer" - }, - "isDelete": { - "type": "boolean" - } - } - }, - "dto.CronjobCreate": { - "type": "object", - "required": [ - "name", - "spec", - "type" - ], - "properties": { - "appID": { - "type": "string" - }, - "backupAccounts": { - "type": "string" - }, - "command": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "dbName": { - "type": "string" - }, - "dbType": { - "type": "string" - }, - "defaultDownload": { - "type": "string" - }, - "exclusionRules": { - "type": "string" - }, - "name": { - "type": "string" - }, - "retainCopies": { - "type": "integer", - "minimum": 1 - }, - "script": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "type": { - "type": "string" - }, - "url": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "dto.CronjobDownload": { - "type": "object", - "required": [ - "backupAccountID", - "recordID" - ], - "properties": { - "backupAccountID": { - "type": "integer" - }, - "recordID": { - "type": "integer" - } - } - }, - "dto.CronjobUpdate": { - "type": "object", - "required": [ - "id", - "name", - "spec" - ], - "properties": { - "appID": { - "type": "string" - }, - "backupAccounts": { - "type": "string" - }, - "command": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "dbName": { - "type": "string" - }, - "dbType": { - "type": "string" - }, - "defaultDownload": { - "type": "string" - }, - "exclusionRules": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "retainCopies": { - "type": "integer", - "minimum": 1 - }, - "script": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "url": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "dto.CronjobUpdateStatus": { - "type": "object", - "required": [ - "id", - "status" - ], - "properties": { - "id": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.DBBaseInfo": { - "type": "object", - "properties": { - "containerName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - } - } - }, - "dto.DBConfUpdateByFile": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "file": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb", - "postgresql", - "redis" - ] - } - } - }, - "dto.DaemonJsonConf": { - "type": "object", - "properties": { - "cgroupDriver": { - "type": "string" - }, - "experimental": { - "type": "boolean" - }, - "fixedCidrV6": { - "type": "string" - }, - "insecureRegistries": { - "type": "array", - "items": { - "type": "string" - } - }, - "ip6Tables": { - "type": "boolean" - }, - "iptables": { - "type": "boolean" - }, - "ipv6": { - "type": "boolean" - }, - "isSwarm": { - "type": "boolean" - }, - "liveRestore": { - "type": "boolean" - }, - "logMaxFile": { - "type": "string" - }, - "logMaxSize": { - "type": "string" - }, - "registryMirrors": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DaemonJsonUpdateByFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.DashboardBase": { - "type": "object", - "properties": { - "appInstalledNumber": { - "type": "integer" - }, - "cpuCores": { - "type": "integer" - }, - "cpuLogicalCores": { - "type": "integer" - }, - "cpuModelName": { - "type": "string" - }, - "cronjobNumber": { - "type": "integer" - }, - "currentInfo": { - "$ref": "#/definitions/dto.DashboardCurrent" - }, - "databaseNumber": { - "type": "integer" - }, - "hostname": { - "type": "string" - }, - "kernelArch": { - "type": "string" - }, - "kernelVersion": { - "type": "string" - }, - "os": { - "type": "string" - }, - "platform": { - "type": "string" - }, - "platformFamily": { - "type": "string" - }, - "platformVersion": { - "type": "string" - }, - "virtualizationSystem": { - "type": "string" - }, - "websiteNumber": { - "type": "integer" - } - } - }, - "dto.DashboardCurrent": { - "type": "object", - "properties": { - "cpuPercent": { - "type": "array", - "items": { - "type": "number" - } - }, - "cpuTotal": { - "type": "integer" - }, - "cpuUsed": { - "type": "number" - }, - "cpuUsedPercent": { - "type": "number" - }, - "diskData": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DiskInfo" - } - }, - "gpuData": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.GPUInfo" - } - }, - "ioCount": { - "type": "integer" - }, - "ioReadBytes": { - "type": "integer" - }, - "ioReadTime": { - "type": "integer" - }, - "ioWriteBytes": { - "type": "integer" - }, - "ioWriteTime": { - "type": "integer" - }, - "load1": { - "type": "number" - }, - "load15": { - "type": "number" - }, - "load5": { - "type": "number" - }, - "loadUsagePercent": { - "type": "number" - }, - "memoryAvailable": { - "type": "integer" - }, - "memoryTotal": { - "type": "integer" - }, - "memoryUsed": { - "type": "integer" - }, - "memoryUsedPercent": { - "type": "number" - }, - "netBytesRecv": { - "type": "integer" - }, - "netBytesSent": { - "type": "integer" - }, - "procs": { - "type": "integer" - }, - "shotTime": { - "type": "string" - }, - "swapMemoryAvailable": { - "type": "integer" - }, - "swapMemoryTotal": { - "type": "integer" - }, - "swapMemoryUsed": { - "type": "integer" - }, - "swapMemoryUsedPercent": { - "type": "number" - }, - "timeSinceUptime": { - "type": "string" - }, - "uptime": { - "type": "integer" - } - } - }, - "dto.DatabaseCreate": { - "type": "object", - "required": [ - "from", - "name", - "type", - "username", - "version" - ], - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "description": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string", - "maxLength": 256 - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "dto.DatabaseInfo": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string", - "maxLength": 256 - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseItem": { - "type": "object", - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.DatabaseOption": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseSearch": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "dto.DatabaseUpdate": { - "type": "object", - "required": [ - "type", - "username", - "version" - ], - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DeviceBaseInfo": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "hostname": { - "type": "string" - }, - "hosts": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostHelper" - } - }, - "localTime": { - "type": "string" - }, - "maxSize": { - "type": "integer" - }, - "ntp": { - "type": "string" - }, - "swapDetails": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SwapHelper" - } - }, - "swapMemoryAvailable": { - "type": "integer" - }, - "swapMemoryTotal": { - "type": "integer" - }, - "swapMemoryUsed": { - "type": "integer" - }, - "timeZone": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.DiskInfo": { - "type": "object", - "properties": { - "device": { - "type": "string" - }, - "free": { - "type": "integer" - }, - "inodesFree": { - "type": "integer" - }, - "inodesTotal": { - "type": "integer" - }, - "inodesUsed": { - "type": "integer" - }, - "inodesUsedPercent": { - "type": "number" - }, - "path": { - "type": "string" - }, - "total": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "used": { - "type": "integer" - }, - "usedPercent": { - "type": "number" - } - } - }, - "dto.DockerOperation": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string", - "enum": [ - "start", - "restart", - "stop" - ] - } - } - }, - "dto.DownloadRecord": { - "type": "object", - "required": [ - "fileDir", - "fileName", - "source" - ], - "properties": { - "fileDir": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "source": { - "type": "string", - "enum": [ - "OSS", - "S3", - "SFTP", - "MINIO", - "LOCAL", - "COS", - "KODO", - "OneDrive", - "WebDAV" - ] - } - } - }, - "dto.Fail2BanBaseInfo": { - "type": "object", - "properties": { - "banAction": { - "type": "string" - }, - "banTime": { - "type": "string" - }, - "findTime": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "isEnable": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - }, - "logPath": { - "type": "string" - }, - "maxRetry": { - "type": "integer" - }, - "port": { - "type": "integer" - }, - "version": { - "type": "string" - } - } - }, - "dto.Fail2BanSearch": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "banned", - "ignore" - ] - } - } - }, - "dto.Fail2BanUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string", - "enum": [ - "port", - "bantime", - "findtime", - "maxretry", - "banaction", - "logpath", - "port" - ] - }, - "value": { - "type": "string" - } - } - }, - "dto.FirewallBaseInfo": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "pingStatus": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.FirewallOperation": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "restart", - "disablePing", - "enablePing" - ] - } - } - }, - "dto.ForBuckets": { - "type": "object", - "required": [ - "credential", - "type", - "vars" - ], - "properties": { - "accessKey": { - "type": "string" - }, - "credential": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.ForwardRuleOperate": { - "type": "object", - "properties": { - "rules": { - "type": "array", - "items": { - "type": "object", - "required": [ - "operation", - "port", - "protocol", - "targetPort" - ], - "properties": { - "num": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "tcp/udp" - ] - }, - "targetIP": { - "type": "string" - }, - "targetPort": { - "type": "string" - } - } - } - } - } - }, - "dto.FtpBaseInfo": { - "type": "object", - "properties": { - "isActive": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - } - } - }, - "dto.FtpCreate": { - "type": "object", - "required": [ - "password", - "path", - "user" - ], - "properties": { - "description": { - "type": "string" - }, - "password": { - "type": "string" - }, - "path": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.FtpLogSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "operation": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "user": { - "type": "string" - } - } - }, - "dto.FtpUpdate": { - "type": "object", - "required": [ - "password", - "path" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string" - }, - "path": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.GPUInfo": { - "type": "object", - "properties": { - "fanSpeed": { - "type": "string" - }, - "gpuUtil": { - "type": "string" - }, - "index": { - "type": "integer" - }, - "maxPowerLimit": { - "type": "string" - }, - "memTotal": { - "type": "string" - }, - "memUsed": { - "type": "string" - }, - "memoryUsage": { - "type": "string" - }, - "performanceState": { - "type": "string" - }, - "powerDraw": { - "type": "string" - }, - "powerUsage": { - "type": "string" - }, - "productName": { - "type": "string" - }, - "temperature": { - "type": "string" - } - } - }, - "dto.GenerateLoad": { - "type": "object", - "required": [ - "encryptionMode" - ], - "properties": { - "encryptionMode": { - "type": "string", - "enum": [ - "rsa", - "ed25519", - "ecdsa", - "dsa" - ] - } - } - }, - "dto.GenerateSSH": { - "type": "object", - "required": [ - "encryptionMode" - ], - "properties": { - "encryptionMode": { - "type": "string", - "enum": [ - "rsa", - "ed25519", - "ecdsa", - "dsa" - ] - }, - "password": { - "type": "string" - } - } - }, - "dto.GroupCreate": { - "type": "object", - "required": [ - "name", - "type" - ], - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.GroupInfo": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "isDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.GroupSearch": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string" - } - } - }, - "dto.GroupUpdate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "id": { - "type": "integer" - }, - "isDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.HostConnTest": { - "type": "object", - "required": [ - "addr", - "port", - "user" - ], - "properties": { - "addr": { - "type": "string" - }, - "authMode": { - "type": "string", - "enum": [ - "password", - "key" - ] - }, - "passPhrase": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - }, - "privateKey": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.HostHelper": { - "type": "object", - "properties": { - "host": { - "type": "string" - }, - "ip": { - "type": "string" - } - } - }, - "dto.HostOperate": { - "type": "object", - "required": [ - "addr", - "port", - "user" - ], - "properties": { - "addr": { - "type": "string" - }, - "authMode": { - "type": "string", - "enum": [ - "password", - "key" - ] - }, - "description": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "passPhrase": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - }, - "privateKey": { - "type": "string" - }, - "rememberPassword": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "dto.HostTree": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.TreeChild" - } - }, - "id": { - "type": "integer" - }, - "label": { - "type": "string" - } - } - }, - "dto.ImageBuild": { - "type": "object", - "required": [ - "dockerfile", - "from", - "name" - ], - "properties": { - "dockerfile": { - "type": "string" - }, - "from": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.ImageInfo": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isUsed": { - "type": "boolean" - }, - "size": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.ImageLoad": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "dto.ImagePull": { - "type": "object", - "required": [ - "imageName" - ], - "properties": { - "imageName": { - "type": "string" - }, - "repoID": { - "type": "integer" - } - } - }, - "dto.ImagePush": { - "type": "object", - "required": [ - "name", - "repoID", - "tagName" - ], - "properties": { - "name": { - "type": "string" - }, - "repoID": { - "type": "integer" - }, - "tagName": { - "type": "string" - } - } - }, - "dto.ImageRepoDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.ImageRepoOption": { - "type": "object", - "properties": { - "downloadUrl": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.ImageRepoUpdate": { - "type": "object", - "properties": { - "auth": { - "type": "boolean" - }, - "downloadUrl": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string", - "maxLength": 256 - }, - "protocol": { - "type": "string" - }, - "username": { - "type": "string", - "maxLength": 256 - } - } - }, - "dto.ImageSave": { - "type": "object", - "required": [ - "name", - "path", - "tagName" - ], - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "tagName": { - "type": "string" - } - } - }, - "dto.ImageTag": { - "type": "object", - "required": [ - "sourceID", - "targetName" - ], - "properties": { - "sourceID": { - "type": "string" - }, - "targetName": { - "type": "string" - } - } - }, - "dto.InspectReq": { - "type": "object", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.LogOption": { - "type": "object", - "properties": { - "logMaxFile": { - "type": "string" - }, - "logMaxSize": { - "type": "string" - } - } - }, - "dto.Login": { - "type": "object", - "required": [ - "authMethod", - "language", - "name", - "password" - ], - "properties": { - "authMethod": { - "type": "string", - "enum": [ - "jwt", - "session" - ] - }, - "captcha": { - "type": "string" - }, - "captchaID": { - "type": "string" - }, - "ignoreCaptcha": { - "type": "boolean" - }, - "language": { - "type": "string", - "enum": [ - "zh", - "en", - "tw" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "dto.MFALogin": { - "type": "object", - "required": [ - "code", - "name", - "password" - ], - "properties": { - "authMethod": { - "type": "string" - }, - "code": { - "type": "string" - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "dto.MfaCredential": { - "type": "object", - "required": [ - "code", - "interval", - "secret" - ], - "properties": { - "code": { - "type": "string" - }, - "interval": { - "type": "string" - }, - "secret": { - "type": "string" - } - } - }, - "dto.MonitorSearch": { - "type": "object", - "required": [ - "param" - ], - "properties": { - "endTime": { - "type": "string" - }, - "info": { - "type": "string" - }, - "param": { - "type": "string", - "enum": [ - "all", - "cpu", - "memory", - "load", - "io", - "network" - ] - }, - "startTime": { - "type": "string" - } - } - }, - "dto.MysqlDBCreate": { - "type": "object", - "required": [ - "database", - "format", - "from", - "name", - "password", - "permission", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "description": { - "type": "string" - }, - "format": { - "type": "string", - "enum": [ - "utf8mb4", - "utf8", - "gbk", - "big5" - ] - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "permission": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "dto.MysqlDBDelete": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlDBDeleteCheck": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlDBSearch": { - "type": "object", - "required": [ - "database", - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "database": { - "type": "string" - }, - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.MysqlLoadDB": { - "type": "object", - "required": [ - "database", - "from", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlOption": { - "type": "object", - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.MysqlStatus": { - "type": "object", - "properties": { - "Aborted_clients": { - "type": "string" - }, - "Aborted_connects": { - "type": "string" - }, - "Bytes_received": { - "type": "string" - }, - "Bytes_sent": { - "type": "string" - }, - "Com_commit": { - "type": "string" - }, - "Com_rollback": { - "type": "string" - }, - "Connections": { - "type": "string" - }, - "Created_tmp_disk_tables": { - "type": "string" - }, - "Created_tmp_tables": { - "type": "string" - }, - "File": { - "type": "string" - }, - "Innodb_buffer_pool_pages_dirty": { - "type": "string" - }, - "Innodb_buffer_pool_read_requests": { - "type": "string" - }, - "Innodb_buffer_pool_reads": { - "type": "string" - }, - "Key_read_requests": { - "type": "string" - }, - "Key_reads": { - "type": "string" - }, - "Key_write_requests": { - "type": "string" - }, - "Key_writes": { - "type": "string" - }, - "Max_used_connections": { - "type": "string" - }, - "Open_tables": { - "type": "string" - }, - "Opened_files": { - "type": "string" - }, - "Opened_tables": { - "type": "string" - }, - "Position": { - "type": "string" - }, - "Qcache_hits": { - "type": "string" - }, - "Qcache_inserts": { - "type": "string" - }, - "Questions": { - "type": "string" - }, - "Run": { - "type": "string" - }, - "Select_full_join": { - "type": "string" - }, - "Select_range_check": { - "type": "string" - }, - "Sort_merge_passes": { - "type": "string" - }, - "Table_locks_waited": { - "type": "string" - }, - "Threads_cached": { - "type": "string" - }, - "Threads_connected": { - "type": "string" - }, - "Threads_created": { - "type": "string" - }, - "Threads_running": { - "type": "string" - }, - "Uptime": { - "type": "string" - } - } - }, - "dto.MysqlVariables": { - "type": "object", - "properties": { - "binlog_cache_size": { - "type": "string" - }, - "innodb_buffer_pool_size": { - "type": "string" - }, - "innodb_log_buffer_size": { - "type": "string" - }, - "join_buffer_size": { - "type": "string" - }, - "key_buffer_size": { - "type": "string" - }, - "long_query_time": { - "type": "string" - }, - "max_connections": { - "type": "string" - }, - "max_heap_table_size": { - "type": "string" - }, - "query_cache_size": { - "type": "string" - }, - "query_cache_type": { - "type": "string" - }, - "read_buffer_size": { - "type": "string" - }, - "read_rnd_buffer_size": { - "type": "string" - }, - "slow_query_log": { - "type": "string" - }, - "sort_buffer_size": { - "type": "string" - }, - "table_open_cache": { - "type": "string" - }, - "thread_cache_size": { - "type": "string" - }, - "thread_stack": { - "type": "string" - }, - "tmp_table_size": { - "type": "string" - } - } - }, - "dto.MysqlVariablesUpdate": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - }, - "variables": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.MysqlVariablesUpdateHelper" - } - } - } - }, - "dto.MysqlVariablesUpdateHelper": { - "type": "object", - "properties": { - "param": { - "type": "string" - }, - "value": {} - } - }, - "dto.NetworkCreate": { - "type": "object", - "required": [ - "driver", - "name" - ], - "properties": { - "auxAddress": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SettingUpdate" - } - }, - "auxAddressV6": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SettingUpdate" - } - }, - "driver": { - "type": "string" - }, - "gateway": { - "type": "string" - }, - "gatewayV6": { - "type": "string" - }, - "ipRange": { - "type": "string" - }, - "ipRangeV6": { - "type": "string" - }, - "ipv4": { - "type": "boolean" - }, - "ipv6": { - "type": "boolean" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - }, - "subnet": { - "type": "string" - }, - "subnetV6": { - "type": "string" - } - } - }, - "dto.NginxKey": { - "type": "string", - "enum": [ - "index", - "limit-conn", - "ssl", - "cache", - "http-per", - "proxy-cache" - ], - "x-enum-varnames": [ - "Index", - "LimitConn", - "SSL", - "CACHE", - "HttpPer", - "ProxyCache" - ] - }, - "dto.OneDriveInfo": { - "type": "object", - "properties": { - "client_id": { - "type": "string" - }, - "client_secret": { - "type": "string" - }, - "redirect_uri": { - "type": "string" - } - } - }, - "dto.Operate": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string" - } - } - }, - "dto.OperateByID": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "dto.OperationWithName": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - } - } - }, - "dto.OperationWithNameAndType": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.Options": { - "type": "object", - "properties": { - "option": { - "type": "string" - } - } - }, - "dto.OsInfo": { - "type": "object", - "properties": { - "diskSize": { - "type": "integer" - }, - "kernelArch": { - "type": "string" - }, - "kernelVersion": { - "type": "string" - }, - "os": { - "type": "string" - }, - "platform": { - "type": "string" - }, - "platformFamily": { - "type": "string" - } - } - }, - "dto.PageContainer": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize", - "state" - ], - "properties": { - "excludeAppStore": { - "type": "boolean" - }, - "filters": { - "type": "string" - }, - "name": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "state", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "state": { - "type": "string", - "enum": [ - "all", - "created", - "running", - "paused", - "restarting", - "removing", - "exited", - "dead" - ] - } - } - }, - "dto.PageCronjob": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "status", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PageInfo": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PageResult": { - "type": "object", - "properties": { - "items": {}, - "total": { - "type": "integer" - } - } - }, - "dto.PasswordUpdate": { - "type": "object", - "required": [ - "newPassword", - "oldPassword" - ], - "properties": { - "newPassword": { - "type": "string" - }, - "oldPassword": { - "type": "string" - } - } - }, - "dto.PortHelper": { - "type": "object", - "properties": { - "containerPort": { - "type": "string" - }, - "hostIP": { - "type": "string" - }, - "hostPort": { - "type": "string" - }, - "protocol": { - "type": "string" - } - } - }, - "dto.PortRuleOperate": { - "type": "object", - "required": [ - "operation", - "port", - "protocol", - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "tcp/udp" - ] - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - } - } - }, - "dto.PortRuleUpdate": { - "type": "object", - "properties": { - "newRule": { - "$ref": "#/definitions/dto.PortRuleOperate" - }, - "oldRule": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - } - }, - "dto.PortUpdate": { - "type": "object", - "required": [ - "serverPort" - ], - "properties": { - "serverPort": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - } - } - }, - "dto.PostgresqlBindUser": { - "type": "object", - "required": [ - "database", - "name", - "password", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "superUser": { - "type": "boolean" - }, - "username": { - "type": "string" - } - } - }, - "dto.PostgresqlDBCreate": { - "type": "object", - "required": [ - "database", - "from", - "name", - "password", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "description": { - "type": "string" - }, - "format": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "superUser": { - "type": "boolean" - }, - "username": { - "type": "string" - } - } - }, - "dto.PostgresqlDBDelete": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.PostgresqlDBDeleteCheck": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.PostgresqlDBSearch": { - "type": "object", - "required": [ - "database", - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "database": { - "type": "string" - }, - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PostgresqlLoadDB": { - "type": "object", - "required": [ - "database", - "from", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.ProxyUpdate": { - "type": "object", - "properties": { - "proxyPasswd": { - "type": "string" - }, - "proxyPasswdKeep": { - "type": "string" - }, - "proxyPort": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "proxyUrl": { - "type": "string" - }, - "proxyUser": { - "type": "string" - } - } - }, - "dto.RecordSearch": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "dto.RecordSearchByCronjob": { - "type": "object", - "required": [ - "cronjobID", - "page", - "pageSize" - ], - "properties": { - "cronjobID": { - "type": "integer" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.RedisCommand": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.RedisConf": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "containerName": { - "type": "string" - }, - "database": { - "type": "string" - }, - "maxclients": { - "type": "string" - }, - "maxmemory": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "requirepass": { - "type": "string" - }, - "timeout": { - "type": "string" - } - } - }, - "dto.RedisConfPersistenceUpdate": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "appendfsync": { - "type": "string" - }, - "appendonly": { - "type": "string" - }, - "database": { - "type": "string" - }, - "save": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "aof", - "rbd" - ] - } - } - }, - "dto.RedisConfUpdate": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "database": { - "type": "string" - }, - "maxclients": { - "type": "string" - }, - "maxmemory": { - "type": "string" - }, - "timeout": { - "type": "string" - } - } - }, - "dto.RedisPersistence": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "appendfsync": { - "type": "string" - }, - "appendonly": { - "type": "string" - }, - "database": { - "type": "string" - }, - "save": { - "type": "string" - } - } - }, - "dto.RedisStatus": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "connected_clients": { - "type": "string" - }, - "database": { - "type": "string" - }, - "instantaneous_ops_per_sec": { - "type": "string" - }, - "keyspace_hits": { - "type": "string" - }, - "keyspace_misses": { - "type": "string" - }, - "latest_fork_usec": { - "type": "string" - }, - "mem_fragmentation_ratio": { - "type": "string" - }, - "tcp_port": { - "type": "string" - }, - "total_commands_processed": { - "type": "string" - }, - "total_connections_received": { - "type": "string" - }, - "uptime_in_days": { - "type": "string" - }, - "used_memory": { - "type": "string" - }, - "used_memory_peak": { - "type": "string" - }, - "used_memory_rss": { - "type": "string" - } - } - }, - "dto.ResourceLimit": { - "type": "object", - "properties": { - "cpu": { - "type": "integer" - }, - "memory": { - "type": "integer" - } - } - }, - "dto.RuleSearch": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - }, - "strategy": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.SSHConf": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.SSHHistory": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "area": { - "type": "string" - }, - "authMode": { - "type": "string" - }, - "date": { - "type": "string" - }, - "dateStr": { - "type": "string" - }, - "message": { - "type": "string" - }, - "port": { - "type": "string" - }, - "status": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.SSHInfo": { - "type": "object", - "properties": { - "autoStart": { - "type": "boolean" - }, - "listenAddress": { - "type": "string" - }, - "message": { - "type": "string" - }, - "passwordAuthentication": { - "type": "string" - }, - "permitRootLogin": { - "type": "string" - }, - "port": { - "type": "string" - }, - "pubkeyAuthentication": { - "type": "string" - }, - "status": { - "type": "string" - }, - "useDNS": { - "type": "string" - } - } - }, - "dto.SSHLog": { - "type": "object", - "properties": { - "failedCount": { - "type": "integer" - }, - "logs": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SSHHistory" - } - }, - "successfulCount": { - "type": "integer" - }, - "totalCount": { - "type": "integer" - } - } - }, - "dto.SSHUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "newValue": { - "type": "string" - }, - "oldValue": { - "type": "string" - } - } - }, - "dto.SSLUpdate": { - "type": "object", - "required": [ - "ssl", - "sslType" - ], - "properties": { - "cert": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "key": { - "type": "string" - }, - "ssl": { - "type": "string", - "enum": [ - "enable", - "disable" - ] - }, - "sslID": { - "type": "integer" - }, - "sslType": { - "type": "string", - "enum": [ - "self", - "select", - "import", - "import-paste", - "import-local" - ] - } - } - }, - "dto.SearchForTree": { - "type": "object", - "properties": { - "info": { - "type": "string" - } - } - }, - "dto.SearchHostWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "groupID": { - "type": "integer" - }, - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SearchLgLogWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "ip": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchOpLogWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "operation": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "source": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchRecord": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "cronjobID": { - "type": "integer" - }, - "endTime": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "startTime": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchSSHLog": { - "type": "object", - "required": [ - "Status", - "page", - "pageSize" - ], - "properties": { - "Status": { - "type": "string", - "enum": [ - "Success", - "Failed", - "All" - ] - }, - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SearchWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SettingInfo": { - "type": "object", - "properties": { - "allowIPs": { - "type": "string" - }, - "appStoreLastModified": { - "type": "string" - }, - "appStoreSyncStatus": { - "type": "string" - }, - "appStoreVersion": { - "type": "string" - }, - "bindAddress": { - "type": "string" - }, - "bindDomain": { - "type": "string" - }, - "complexityVerification": { - "type": "string" - }, - "defaultNetwork": { - "type": "string" - }, - "developerMode": { - "type": "string" - }, - "dingVars": { - "type": "string" - }, - "dockerSockPath": { - "type": "string" - }, - "email": { - "type": "string" - }, - "emailVars": { - "type": "string" - }, - "expirationDays": { - "type": "string" - }, - "expirationTime": { - "type": "string" - }, - "fileRecycleBin": { - "type": "string" - }, - "ipv6": { - "type": "string" - }, - "language": { - "type": "string" - }, - "lastCleanData": { - "type": "string" - }, - "lastCleanSize": { - "type": "string" - }, - "lastCleanTime": { - "type": "string" - }, - "localTime": { - "type": "string" - }, - "menuTabs": { - "type": "string" - }, - "messageType": { - "type": "string" - }, - "mfaInterval": { - "type": "string" - }, - "mfaSecret": { - "type": "string" - }, - "mfaStatus": { - "type": "string" - }, - "monitorInterval": { - "type": "string" - }, - "monitorStatus": { - "type": "string" - }, - "monitorStoreDays": { - "type": "string" - }, - "noAuthSetting": { - "type": "string" - }, - "ntpSite": { - "type": "string" - }, - "panelName": { - "type": "string" - }, - "port": { - "type": "string" - }, - "proxyPasswd": { - "type": "string" - }, - "proxyPasswdKeep": { - "type": "string" - }, - "proxyPort": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "proxyUrl": { - "type": "string" - }, - "proxyUser": { - "type": "string" - }, - "securityEntrance": { - "type": "string" - }, - "serverPort": { - "type": "string" - }, - "sessionTimeout": { - "type": "string" - }, - "snapshotIgnore": { - "type": "string" - }, - "ssl": { - "type": "string" - }, - "sslType": { - "type": "string" - }, - "systemIP": { - "type": "string" - }, - "systemVersion": { - "type": "string" - }, - "theme": { - "type": "string" - }, - "timeZone": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "weChatVars": { - "type": "string" - }, - "xpackHideMenu": { - "type": "string" - } - } - }, - "dto.SettingUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "dto.SnapshotBatchDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "deleteWithFile": { - "type": "boolean" - }, - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.SnapshotCreate": { - "type": "object", - "required": [ - "defaultDownload", - "from" - ], - "properties": { - "defaultDownload": { - "type": "string" - }, - "description": { - "type": "string", - "maxLength": 256 - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "secret": { - "type": "string" - } - } - }, - "dto.SnapshotImport": { - "type": "object", - "properties": { - "description": { - "type": "string", - "maxLength": 256 - }, - "from": { - "type": "string" - }, - "names": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.SnapshotRecover": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - }, - "isNew": { - "type": "boolean" - }, - "reDownload": { - "type": "boolean" - }, - "secret": { - "type": "string" - } - } - }, - "dto.SwapHelper": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "isNew": { - "type": "boolean" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "used": { - "type": "string" - } - } - }, - "dto.TreeChild": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "label": { - "type": "string" - } - } - }, - "dto.UpdateByFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.UpdateByNameAndFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.UpdateDescription": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "description": { - "type": "string", - "maxLength": 256 - }, - "id": { - "type": "integer" - } - } - }, - "dto.UpdateFirewallDescription": { - "type": "object", - "required": [ - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - }, - "type": { - "type": "string" - } - } - }, - "dto.Upgrade": { - "type": "object", - "required": [ - "version" - ], - "properties": { - "version": { - "type": "string" - } - } - }, - "dto.UpgradeInfo": { - "type": "object", - "properties": { - "latestVersion": { - "type": "string" - }, - "newVersion": { - "type": "string" - }, - "releaseNote": { - "type": "string" - }, - "testVersion": { - "type": "string" - } - } - }, - "dto.UserLoginInfo": { - "type": "object", - "properties": { - "mfaStatus": { - "type": "string" - }, - "name": { - "type": "string" - }, - "token": { - "type": "string" - } - } - }, - "dto.VolumeCreate": { - "type": "object", - "required": [ - "driver", - "name" - ], - "properties": { - "driver": { - "type": "string" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.VolumeHelper": { - "type": "object", - "properties": { - "containerDir": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "files.FileInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "extension": { - "type": "string" - }, - "favoriteID": { - "type": "integer" - }, - "gid": { - "type": "string" - }, - "group": { - "type": "string" - }, - "isDetail": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "isHidden": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "itemTotal": { - "type": "integer" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/files.FileInfo" - } - }, - "linkPath": { - "type": "string" - }, - "mimeType": { - "type": "string" - }, - "modTime": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "updateTime": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "mfa.Otp": { - "type": "object", - "properties": { - "qrImage": { - "type": "string" - }, - "secret": { - "type": "string" - } - } - }, - "model.App": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "crossVersionUpdate": { - "type": "boolean" - }, - "document": { - "type": "string" - }, - "github": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "readMe": { - "type": "string" - }, - "recommend": { - "type": "integer" - }, - "required": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "shortDescEn": { - "type": "string" - }, - "shortDescZh": { - "type": "string" - }, - "status": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "model.AppInstall": { - "type": "object", - "properties": { - "app": { - "$ref": "#/definitions/model.App" - }, - "appDetailId": { - "type": "integer" - }, - "appId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "dockerCompose": { - "type": "string" - }, - "env": { - "type": "string" - }, - "httpPort": { - "type": "integer" - }, - "httpsPort": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "param": { - "type": "string" - }, - "serviceName": { - "type": "string" - }, - "status": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "model.Tag": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sort": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - } - } - }, - "model.Website": { - "type": "object", - "properties": { - "IPV6": { - "type": "boolean" - }, - "accessLog": { - "type": "boolean" - }, - "alias": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "createdAt": { - "type": "string" - }, - "defaultServer": { - "type": "boolean" - }, - "domains": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - }, - "errorLog": { - "type": "boolean" - }, - "expireDate": { - "type": "string" - }, - "ftpId": { - "type": "integer" - }, - "group": { - "type": "string" - }, - "httpConfig": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "rewrite": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "siteDir": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "user": { - "type": "string" - }, - "webSiteGroupId": { - "type": "integer" - }, - "webSiteSSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "webSiteSSLId": { - "type": "integer" - } - } - }, - "model.WebsiteAcmeAccount": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "model.WebsiteDnsAccount": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "model.WebsiteDomain": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "port": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "model.WebsiteSSL": { - "type": "object", - "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" - }, - "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": { - "type": "array", - "items": { - "$ref": "#/definitions/model.Website" - } - } - } - }, - "request.AppInstallCreate": { - "type": "object", - "required": [ - "appDetailId", - "name" - ], - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "appDetailId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - }, - "services": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "request.AppInstalledIgnoreUpgrade": { - "type": "object", - "required": [ - "detailID", - "operate" - ], - "properties": { - "detailID": { - "type": "integer" - }, - "operate": { - "type": "string", - "enum": [ - "cancel", - "ignore" - ] - } - } - }, - "request.AppInstalledInfo": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "request.AppInstalledOperate": { - "type": "object", - "required": [ - "installId", - "operate" - ], - "properties": { - "backup": { - "type": "boolean" - }, - "backupId": { - "type": "integer" - }, - "deleteBackup": { - "type": "boolean" - }, - "deleteDB": { - "type": "boolean" - }, - "detailId": { - "type": "integer" - }, - "dockerCompose": { - "type": "string" - }, - "forceDelete": { - "type": "boolean" - }, - "installId": { - "type": "integer" - }, - "operate": { - "type": "string" - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.AppInstalledSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "all": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "sync": { - "type": "boolean" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "unused": { - "type": "boolean" - }, - "update": { - "type": "boolean" - } - } - }, - "request.AppInstalledUpdate": { - "type": "object", - "required": [ - "installId", - "params" - ], - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "installId": { - "type": "integer" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.AppSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "recommend": { - "type": "boolean" - }, - "resource": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.DirSizeReq": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.ExposedPort": { - "type": "object", - "properties": { - "containerPort": { - "type": "integer" - }, - "hostPort": { - "type": "integer" - } - } - }, - "request.FavoriteCreate": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.FavoriteDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.FileBatchDelete": { - "type": "object", - "required": [ - "paths" - ], - "properties": { - "isDir": { - "type": "boolean" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "request.FileCompress": { - "type": "object", - "required": [ - "dst", - "files", - "name", - "type" - ], - "properties": { - "dst": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "replace": { - "type": "boolean" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.FileContentReq": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "isDetail": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "request.FileCreate": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "isDir": { - "type": "boolean" - }, - "isLink": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "linkPath": { - "type": "string" - }, - "mode": { - "type": "integer" - }, - "path": { - "type": "string" - }, - "sub": { - "type": "boolean" - } - } - }, - "request.FileDeCompress": { - "type": "object", - "required": [ - "dst", - "path", - "type" - ], - "properties": { - "dst": { - "type": "string" - }, - "path": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.FileDelete": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "forceDelete": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "request.FileDownload": { - "type": "object", - "required": [ - "name", - "paths", - "type" - ], - "properties": { - "compress": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.FileEdit": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "request.FileMove": { - "type": "object", - "required": [ - "newPath", - "oldPaths", - "type" - ], - "properties": { - "cover": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "newPath": { - "type": "string" - }, - "oldPaths": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.FileOption": { - "type": "object", - "properties": { - "containSub": { - "type": "boolean" - }, - "dir": { - "type": "boolean" - }, - "expand": { - "type": "boolean" - }, - "isDetail": { - "type": "boolean" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "path": { - "type": "string" - }, - "search": { - "type": "string" - }, - "showHidden": { - "type": "boolean" - }, - "sortBy": { - "type": "string" - }, - "sortOrder": { - "type": "string" - } - } - }, - "request.FilePathCheck": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.FileReadByLineReq": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "ID": { - "type": "integer" - }, - "latest": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "request.FileRename": { - "type": "object", - "required": [ - "newName", - "oldName" - ], - "properties": { - "newName": { - "type": "string" - }, - "oldName": { - "type": "string" - } - } - }, - "request.FileRoleReq": { - "type": "object", - "required": [ - "group", - "mode", - "paths", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "mode": { - "type": "integer" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - }, - "sub": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "request.FileRoleUpdate": { - "type": "object", - "required": [ - "group", - "path", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "path": { - "type": "string" - }, - "sub": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "request.FileWget": { - "type": "object", - "required": [ - "name", - "path", - "url" - ], - "properties": { - "ignoreCertificate": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "request.HostToolConfig": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "operate": { - "type": "string", - "enum": [ - "get", - "set" - ] - }, - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.HostToolCreate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "configPath": { - "type": "string" - }, - "serviceName": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.HostToolLogReq": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.HostToolReq": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "operate": { - "type": "string", - "enum": [ - "status", - "restart", - "start", - "stop" - ] - }, - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.NewAppInstall": { - "type": "object", - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "appDetailID": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.NginxAntiLeechUpdate": { - "type": "object", - "required": [ - "extends", - "return", - "websiteID" - ], - "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": { - "type": "array", - "items": { - "type": "string" - } - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxAuthReq": { - "type": "object", - "required": [ - "websiteID" - ], - "properties": { - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxAuthUpdate": { - "type": "object", - "required": [ - "operate", - "websiteID" - ], - "properties": { - "operate": { - "type": "string" - }, - "password": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "username": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxCommonReq": { - "type": "object", - "required": [ - "websiteID" - ], - "properties": { - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxConfigFileUpdate": { - "type": "object", - "required": [ - "content" - ], - "properties": { - "backup": { - "type": "boolean" - }, - "content": { - "type": "string" - } - } - }, - "request.NginxConfigUpdate": { - "type": "object", - "required": [ - "operate" - ], - "properties": { - "operate": { - "type": "string", - "enum": [ - "add", - "update", - "delete" - ] - }, - "params": {}, - "scope": { - "$ref": "#/definitions/dto.NginxKey" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxProxyUpdate": { - "type": "object", - "required": [ - "content", - "name", - "websiteID" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRedirectReq": { - "type": "object", - "required": [ - "name", - "operate", - "redirect", - "target", - "type", - "websiteID" - ], - "properties": { - "domains": { - "type": "array", - "items": { - "type": "string" - } - }, - "enable": { - "type": "boolean" - }, - "keepPath": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "path": { - "type": "string" - }, - "redirect": { - "type": "string" - }, - "redirectRoot": { - "type": "boolean" - }, - "target": { - "type": "string" - }, - "type": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRedirectUpdate": { - "type": "object", - "required": [ - "content", - "name", - "websiteID" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRewriteReq": { - "type": "object", - "required": [ - "name", - "websiteId" - ], - "properties": { - "name": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxRewriteUpdate": { - "type": "object", - "required": [ - "name", - "websiteId" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxScopeReq": { - "type": "object", - "required": [ - "scope" - ], - "properties": { - "scope": { - "$ref": "#/definitions/dto.NginxKey" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NodeModuleReq": { - "type": "object", - "required": [ - "ID" - ], - "properties": { - "ID": { - "type": "integer" - } - } - }, - "request.NodePackageReq": { - "type": "object", - "properties": { - "codeDir": { - "type": "string" - } - } - }, - "request.PHPExtensionsCreate": { - "type": "object", - "required": [ - "extensions", - "name" - ], - "properties": { - "extensions": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "request.PHPExtensionsDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.PHPExtensionsSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "all": { - "type": "boolean" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.PHPExtensionsUpdate": { - "type": "object", - "required": [ - "extensions", - "id" - ], - "properties": { - "extensions": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "request.PortUpdate": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - } - } - }, - "request.ProcessReq": { - "type": "object", - "required": [ - "PID" - ], - "properties": { - "PID": { - "type": "integer" - } - } - }, - "request.RecycleBinReduce": { - "type": "object", - "required": [ - "from", - "rName" - ], - "properties": { - "from": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rName": { - "type": "string" - } - } - }, - "request.RuntimeCreate": { - "type": "object", - "properties": { - "appDetailId": { - "type": "integer" - }, - "clean": { - "type": "boolean" - }, - "codeDir": { - "type": "string" - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/request.ExposedPort" - } - }, - "image": { - "type": "string" - }, - "install": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "port": { - "type": "integer" - }, - "resource": { - "type": "string" - }, - "source": { - "type": "string" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "request.RuntimeDelete": { - "type": "object", - "properties": { - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "request.RuntimeOperate": { - "type": "object", - "properties": { - "ID": { - "type": "integer" - }, - "operate": { - "type": "string" - } - } - }, - "request.RuntimeSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.RuntimeUpdate": { - "type": "object", - "properties": { - "clean": { - "type": "boolean" - }, - "codeDir": { - "type": "string" - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/request.ExposedPort" - } - }, - "id": { - "type": "integer" - }, - "image": { - "type": "string" - }, - "install": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "port": { - "type": "integer" - }, - "rebuild": { - "type": "boolean" - }, - "source": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "request.SearchUploadWithPage": { - "type": "object", - "required": [ - "page", - "pageSize", - "path" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "path": { - "type": "string" - } - } - }, - "request.SupervisorProcessConfig": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "name": { - "type": "string" - }, - "numprocs": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "request.SupervisorProcessFileReq": { - "type": "object", - "required": [ - "file", - "name", - "operate" - ], - "properties": { - "content": { - "type": "string" - }, - "file": { - "type": "string", - "enum": [ - "out.log", - "err.log", - "config" - ] - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string", - "enum": [ - "get", - "clear", - "update" - ] - } - } - }, - "request.WebsiteAcmeAccountCreate": { - "type": "object", - "required": [ - "email", - "keyType", - "type" - ], - "properties": { - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "type": { - "type": "string", - "enum": [ - "letsencrypt", - "zerossl", - "buypass", - "google" - ] - } - } - }, - "request.WebsiteBatchDelReq": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "request.WebsiteCACreate": { - "type": "object", - "required": [ - "commonName", - "country", - "keyType", - "name", - "organization" - ], - "properties": { - "city": { - "type": "string" - }, - "commonName": { - "type": "string" - }, - "country": { - "type": "string" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "organizationUint": { - "type": "string" - }, - "province": { - "type": "string" - } - } - }, - "request.WebsiteCAObtain": { - "type": "object", - "required": [ - "domains", - "id", - "keyType", - "time", - "unit" - ], - "properties": { - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "domains": { - "type": "string" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "pushDir": { - "type": "boolean" - }, - "renew": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "sslID": { - "type": "integer" - }, - "time": { - "type": "integer" - }, - "unit": { - "type": "string" - } - } - }, - "request.WebsiteCASearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteCommonReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteCreate": { - "type": "object", - "required": [ - "alias", - "primaryDomain", - "type", - "webSiteGroupID" - ], - "properties": { - "IPV6": { - "type": "boolean" - }, - "alias": { - "type": "string" - }, - "appID": { - "type": "integer" - }, - "appInstall": { - "$ref": "#/definitions/request.NewAppInstall" - }, - "appInstallID": { - "type": "integer" - }, - "appType": { - "type": "string", - "enum": [ - "new", - "installed" - ] - }, - "ftpPassword": { - "type": "string" - }, - "ftpUser": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "webSiteGroupID": { - "type": "integer" - } - } - }, - "request.WebsiteDNSReq": { - "type": "object", - "required": [ - "acmeAccountId", - "domains" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "domains": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "request.WebsiteDefaultUpdate": { - "type": "object", - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "deleteApp": { - "type": "boolean" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "request.WebsiteDnsAccountCreate": { - "type": "object", - "required": [ - "authorization", - "name", - "type" - ], - "properties": { - "authorization": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteDnsAccountUpdate": { - "type": "object", - "required": [ - "authorization", - "id", - "name", - "type" - ], - "properties": { - "authorization": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteDomainCreate": { - "type": "object", - "required": [ - "domains", - "websiteID" - ], - "properties": { - "domains": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.WebsiteDomainDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteHTTPSOp": { - "type": "object", - "required": [ - "websiteId" - ], - "properties": { - "SSLProtocol": { - "type": "array", - "items": { - "type": "string" - } - }, - "algorithm": { - "type": "string" - }, - "certificate": { - "type": "string" - }, - "certificatePath": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hsts": { - "type": "boolean" - }, - "httpConfig": { - "type": "string", - "enum": [ - "HTTPSOnly", - "HTTPAlso", - "HTTPToHTTPS" - ] - }, - "importType": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "privateKeyPath": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "existed", - "auto", - "manual" - ] - }, - "websiteId": { - "type": "integer" - }, - "websiteSSLId": { - "type": "integer" - } - } - }, - "request.WebsiteHtmlUpdate": { - "type": "object", - "required": [ - "content", - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteInstallCheckReq": { - "type": "object", - "properties": { - "InstallIds": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "request.WebsiteLogReq": { - "type": "object", - "required": [ - "id", - "logType", - "operate" - ], - "properties": { - "id": { - "type": "integer" - }, - "logType": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteNginxUpdate": { - "type": "object", - "required": [ - "content", - "id" - ], - "properties": { - "content": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "request.WebsiteOp": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - }, - "operate": { - "type": "string" - } - } - }, - "request.WebsitePHPConfigUpdate": { - "type": "object", - "required": [ - "id", - "scope" - ], - "properties": { - "disableFunctions": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "integer" - }, - "params": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "scope": { - "type": "string" - }, - "uploadMaxSize": { - "type": "string" - } - } - }, - "request.WebsitePHPFileUpdate": { - "type": "object", - "required": [ - "content", - "id", - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsitePHPVersionReq": { - "type": "object", - "required": [ - "runtimeID", - "websiteID" - ], - "properties": { - "retainConfig": { - "type": "boolean" - }, - "runtimeID": { - "type": "integer" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.WebsiteProxyConfig": { - "type": "object", - "required": [ - "id", - "match", - "name", - "operate", - "proxyHost", - "proxyPass" - ], - "properties": { - "cache": { - "type": "boolean" - }, - "cacheTime": { - "type": "integer" - }, - "cacheUnit": { - "type": "string" - }, - "content": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "filePath": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "match": { - "type": "string" - }, - "modifier": { - "type": "string" - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "proxyHost": { - "type": "string" - }, - "proxyPass": { - "type": "string" - }, - "replaces": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "sni": { - "type": "boolean" - } - } - }, - "request.WebsiteProxyReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteResourceReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteSSLApply": { - "type": "object", - "required": [ - "ID" - ], - "properties": { - "ID": { - "type": "integer" - }, - "nameservers": { - "type": "array", - "items": { - "type": "string" - } - }, - "skipDNSCheck": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLCreate": { - "type": "object", - "required": [ - "acmeAccountId", - "primaryDomain", - "provider" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "apply": { - "type": "boolean" - }, - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "disableCNAME": { - "type": "boolean" - }, - "dnsAccountId": { - "type": "integer" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "nameserver1": { - "type": "string" - }, - "nameserver2": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "primaryDomain": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "pushDir": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "skipDNS": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "acmeAccountID": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteSSLUpdate": { - "type": "object", - "required": [ - "id", - "primaryDomain", - "provider" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "apply": { - "type": "boolean" - }, - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "disableCNAME": { - "type": "boolean" - }, - "dnsAccountId": { - "type": "integer" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "nameserver1": { - "type": "string" - }, - "nameserver2": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "primaryDomain": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "pushDir": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "skipDNS": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLUpload": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "certificate": { - "type": "string" - }, - "certificatePath": { - "type": "string" - }, - "description": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "privateKeyPath": { - "type": "string" - }, - "sslID": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "paste", - "local" - ] - } - } - }, - "request.WebsiteSearch": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "primary_domain", - "type", - "status", - "created_at", - "expire_date" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "websiteGroupId": { - "type": "integer" - } - } - }, - "request.WebsiteUpdate": { - "type": "object", - "required": [ - "id", - "primaryDomain" - ], - "properties": { - "IPV6": { - "type": "boolean" - }, - "expireDate": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "webSiteGroupID": { - "type": "integer" - } - } - }, - "request.WebsiteUpdateDir": { - "type": "object", - "required": [ - "id", - "siteDir" - ], - "properties": { - "id": { - "type": "integer" - }, - "siteDir": { - "type": "string" - } - } - }, - "request.WebsiteUpdateDirPermission": { - "type": "object", - "required": [ - "group", - "id", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "user": { - "type": "string" - } - } - }, - "response.AppDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "crossVersionUpdate": { - "type": "boolean" - }, - "document": { - "type": "string" - }, - "github": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "installed": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "readMe": { - "type": "string" - }, - "recommend": { - "type": "integer" - }, - "required": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "shortDescEn": { - "type": "string" - }, - "shortDescZh": { - "type": "string" - }, - "status": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/definitions/model.Tag" - } - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "versions": { - "type": "array", - "items": { - "type": "string" - } - }, - "website": { - "type": "string" - } - } - }, - "response.AppDetailDTO": { - "type": "object", - "properties": { - "appId": { - "type": "integer" - }, - "createdAt": { - "type": "string" - }, - "dockerCompose": { - "type": "string" - }, - "downloadCallBackUrl": { - "type": "string" - }, - "downloadUrl": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "ignoreUpgrade": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "lastVersion": { - "type": "string" - }, - "params": {}, - "status": { - "type": "string" - }, - "update": { - "type": "boolean" - }, - "updatedAt": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.AppInstalledCheck": { - "type": "object", - "properties": { - "app": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "httpPort": { - "type": "integer" - }, - "httpsPort": { - "type": "integer" - }, - "installPath": { - "type": "string" - }, - "isExist": { - "type": "boolean" - }, - "lastBackupAt": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.AppParam": { - "type": "object", - "properties": { - "edit": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "labelEn": { - "type": "string" - }, - "labelZh": { - "type": "string" - }, - "multiple": { - "type": "boolean" - }, - "required": { - "type": "boolean" - }, - "rule": { - "type": "string" - }, - "showValue": { - "type": "string" - }, - "type": { - "type": "string" - }, - "value": {}, - "values": {} - } - }, - "response.AppService": { - "type": "object", - "properties": { - "config": {}, - "from": { - "type": "string" - }, - "label": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "response.FileInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "extension": { - "type": "string" - }, - "favoriteID": { - "type": "integer" - }, - "gid": { - "type": "string" - }, - "group": { - "type": "string" - }, - "isDetail": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "isHidden": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "itemTotal": { - "type": "integer" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/files.FileInfo" - } - }, - "linkPath": { - "type": "string" - }, - "mimeType": { - "type": "string" - }, - "modTime": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "updateTime": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "response.FileTree": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileTree" - } - }, - "extension": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isDir": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "response.IgnoredApp": { - "type": "object", - "properties": { - "detailID": { - "type": "integer" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.NginxParam": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "params": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "response.NginxStatus": { - "type": "object", - "properties": { - "accepts": { - "type": "string" - }, - "active": { - "type": "string" - }, - "handled": { - "type": "string" - }, - "reading": { - "type": "string" - }, - "requests": { - "type": "string" - }, - "waiting": { - "type": "string" - }, - "writing": { - "type": "string" - } - } - }, - "response.PHPConfig": { - "type": "object", - "properties": { - "disableFunctions": { - "type": "array", - "items": { - "type": "string" - } - }, - "params": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "uploadMaxSize": { - "type": "string" - } - } - }, - "response.PHPExtensionsDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "extensions": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "response.WebsiteAcmeAccountDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "response.WebsiteCADTO": { - "type": "object", - "properties": { - "city": { - "type": "string" - }, - "commonName": { - "type": "string" - }, - "country": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "csr": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "organizationUint": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "province": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "response.WebsiteDNSRes": { - "type": "object", - "properties": { - "domain": { - "type": "string" - }, - "err": { - "type": "string" - }, - "resolve": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "response.WebsiteDTO": { - "type": "object", - "properties": { - "IPV6": { - "type": "boolean" - }, - "accessLog": { - "type": "boolean" - }, - "accessLogPath": { - "type": "string" - }, - "alias": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "appName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "defaultServer": { - "type": "boolean" - }, - "domains": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - }, - "errorLog": { - "type": "boolean" - }, - "errorLogPath": { - "type": "string" - }, - "expireDate": { - "type": "string" - }, - "ftpId": { - "type": "integer" - }, - "group": { - "type": "string" - }, - "httpConfig": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "rewrite": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "runtimeName": { - "type": "string" - }, - "siteDir": { - "type": "string" - }, - "sitePath": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "user": { - "type": "string" - }, - "webSiteGroupId": { - "type": "integer" - }, - "webSiteSSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "webSiteSSLId": { - "type": "integer" - } - } - }, - "response.WebsiteHTTPS": { - "type": "object", - "properties": { - "SSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "SSLProtocol": { - "type": "array", - "items": { - "type": "string" - } - }, - "algorithm": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hsts": { - "type": "boolean" - }, - "httpConfig": { - "type": "string" - } - } - }, - "response.WebsiteLog": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "end": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "response.WebsiteNginxConfig": { - "type": "object", - "properties": { - "enable": { - "type": "boolean" - }, - "params": { - "type": "array", - "items": { - "$ref": "#/definitions/response.NginxParam" - } - } - } - }, - "response.WebsitePreInstallCheck": { - "type": "object", - "properties": { - "appName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } -} \ No newline at end of file diff --git a/agent/cmd/server/docs/swagger.yaml b/agent/cmd/server/docs/swagger.yaml deleted file mode 100644 index 9dabd1965..000000000 --- a/agent/cmd/server/docs/swagger.yaml +++ /dev/null @@ -1,15166 +0,0 @@ -basePath: /api/v1 -definitions: - dto.AddrRuleOperate: - properties: - address: - type: string - description: - type: string - operation: - enum: - - add - - remove - type: string - strategy: - enum: - - accept - - drop - type: string - required: - - address - - operation - - strategy - type: object - dto.AddrRuleUpdate: - properties: - newRule: - $ref: '#/definitions/dto.AddrRuleOperate' - oldRule: - $ref: '#/definitions/dto.AddrRuleOperate' - type: object - dto.AppInstallInfo: - properties: - id: - type: integer - key: - type: string - name: - type: string - type: object - dto.AppResource: - properties: - name: - type: string - type: - type: string - type: object - dto.AppVersion: - properties: - detailId: - type: integer - dockerCompose: - type: string - version: - type: string - type: object - dto.BackupInfo: - properties: - backupPath: - type: string - bucket: - type: string - createdAt: - type: string - id: - type: integer - type: - type: string - vars: - type: string - type: object - dto.BackupOperate: - properties: - accessKey: - type: string - backupPath: - type: string - bucket: - type: string - credential: - type: string - id: - type: integer - type: - type: string - vars: - type: string - required: - - type - - vars - type: object - dto.BackupSearchFile: - properties: - type: - type: string - required: - - type - type: object - dto.BatchDelete: - properties: - force: - type: boolean - names: - items: - type: string - type: array - required: - - names - type: object - dto.BatchDeleteReq: - properties: - ids: - items: - type: integer - type: array - required: - - ids - type: object - dto.BatchRuleOperate: - properties: - rules: - items: - $ref: '#/definitions/dto.PortRuleOperate' - type: array - type: - type: string - required: - - type - type: object - dto.BindInfo: - properties: - bindAddress: - type: string - ipv6: - enum: - - enable - - disable - type: string - required: - - bindAddress - - ipv6 - type: object - dto.BindUser: - properties: - database: - type: string - db: - type: string - password: - type: string - permission: - type: string - username: - type: string - required: - - database - - db - - password - - permission - - username - type: object - dto.CaptchaResponse: - properties: - captchaID: - type: string - imagePath: - type: string - type: object - dto.ChangeDBInfo: - properties: - database: - type: string - from: - enum: - - local - - remote - type: string - id: - type: integer - type: - enum: - - mysql - - mariadb - - postgresql - type: string - value: - type: string - required: - - database - - from - - type - - value - type: object - dto.ChangeHostGroup: - properties: - groupID: - type: integer - id: - type: integer - required: - - groupID - - id - type: object - dto.ChangePasswd: - properties: - passwd: - type: string - user: - type: string - type: object - dto.ChangeRedisPass: - properties: - database: - type: string - value: - type: string - required: - - database - type: object - dto.ClamBaseInfo: - properties: - freshIsActive: - type: boolean - freshIsExist: - type: boolean - freshVersion: - type: string - isActive: - type: boolean - isExist: - type: boolean - version: - type: string - type: object - dto.ClamCreate: - properties: - description: - type: string - infectedDir: - type: string - infectedStrategy: - type: string - name: - type: string - path: - type: string - spec: - type: string - status: - type: string - type: object - dto.ClamDelete: - properties: - ids: - items: - type: integer - type: array - removeInfected: - type: boolean - removeRecord: - type: boolean - required: - - ids - type: object - dto.ClamFileReq: - properties: - name: - type: string - tail: - type: string - required: - - name - type: object - dto.ClamLogReq: - properties: - clamName: - type: string - recordName: - type: string - tail: - type: string - type: object - dto.ClamLogSearch: - properties: - clamID: - type: integer - endTime: - type: string - page: - type: integer - pageSize: - type: integer - startTime: - type: string - required: - - page - - pageSize - type: object - dto.ClamUpdate: - properties: - description: - type: string - id: - type: integer - infectedDir: - type: string - infectedStrategy: - type: string - name: - type: string - path: - type: string - spec: - type: string - type: object - dto.ClamUpdateStatus: - properties: - id: - type: integer - status: - type: string - type: object - dto.Clean: - properties: - name: - type: string - size: - type: integer - treeType: - type: string - type: object - dto.CleanLog: - properties: - logType: - enum: - - login - - operation - type: string - required: - - logType - type: object - dto.CommandInfo: - properties: - command: - type: string - groupBelong: - type: string - groupID: - type: integer - id: - type: integer - name: - type: string - type: object - dto.CommandOperate: - properties: - command: - type: string - groupBelong: - type: string - groupID: - type: integer - id: - type: integer - name: - type: string - required: - - command - - name - type: object - dto.CommonBackup: - properties: - detailName: - type: string - name: - type: string - secret: - type: string - type: - enum: - - app - - mysql - - mariadb - - redis - - website - - postgresql - type: string - required: - - type - type: object - dto.CommonRecover: - properties: - detailName: - type: string - file: - type: string - name: - type: string - secret: - type: string - source: - enum: - - OSS - - S3 - - SFTP - - MINIO - - LOCAL - - COS - - KODO - - OneDrive - - WebDAV - type: string - type: - enum: - - app - - mysql - - mariadb - - redis - - website - - postgresql - type: string - required: - - source - - type - type: object - dto.ComposeCreate: - properties: - file: - type: string - from: - enum: - - edit - - path - - template - type: string - name: - type: string - path: - type: string - template: - type: integer - required: - - from - type: object - dto.ComposeOperation: - properties: - name: - type: string - operation: - enum: - - start - - stop - - down - type: string - path: - type: string - withFile: - type: boolean - required: - - name - - operation - - path - type: object - dto.ComposeTemplateCreate: - properties: - content: - type: string - description: - type: string - name: - type: string - required: - - name - type: object - dto.ComposeTemplateInfo: - properties: - content: - type: string - createdAt: - type: string - description: - type: string - id: - type: integer - name: - type: string - type: object - dto.ComposeTemplateUpdate: - properties: - content: - type: string - description: - type: string - id: - type: integer - type: object - dto.ComposeUpdate: - properties: - content: - type: string - name: - type: string - path: - type: string - required: - - content - - name - - path - type: object - dto.ContainerCommit: - properties: - author: - type: string - comment: - type: string - containerID: - type: string - containerName: - type: string - newImageName: - type: string - pause: - type: boolean - required: - - containerID - type: object - dto.ContainerListStats: - properties: - containerID: - type: string - cpuPercent: - type: number - cpuTotalUsage: - type: integer - memoryCache: - type: integer - memoryLimit: - type: integer - memoryPercent: - type: number - memoryUsage: - type: integer - percpuUsage: - type: integer - systemUsage: - type: integer - type: object - dto.ContainerOperate: - properties: - autoRemove: - type: boolean - cmd: - items: - type: string - type: array - containerID: - type: string - cpuShares: - type: integer - entrypoint: - items: - type: string - type: array - env: - items: - type: string - type: array - exposedPorts: - items: - $ref: '#/definitions/dto.PortHelper' - type: array - forcePull: - type: boolean - image: - type: string - ipv4: - type: string - ipv6: - type: string - labels: - items: - type: string - type: array - memory: - type: number - name: - type: string - nanoCPUs: - type: number - network: - type: string - openStdin: - type: boolean - privileged: - type: boolean - publishAllPorts: - type: boolean - restartPolicy: - type: string - tty: - type: boolean - volumes: - items: - $ref: '#/definitions/dto.VolumeHelper' - type: array - required: - - image - - name - type: object - dto.ContainerOperation: - properties: - names: - items: - type: string - type: array - operation: - enum: - - start - - stop - - restart - - kill - - pause - - unpause - - remove - type: string - required: - - names - - operation - type: object - dto.ContainerPrune: - properties: - pruneType: - enum: - - container - - image - - volume - - network - - buildcache - type: string - withTagAll: - type: boolean - required: - - pruneType - type: object - dto.ContainerPruneReport: - properties: - deletedNumber: - type: integer - spaceReclaimed: - type: integer - type: object - dto.ContainerRename: - properties: - name: - type: string - newName: - type: string - required: - - name - - newName - type: object - dto.ContainerStats: - properties: - cache: - type: number - cpuPercent: - type: number - ioRead: - type: number - ioWrite: - type: number - memory: - type: number - networkRX: - type: number - networkTX: - type: number - shotTime: - type: string - type: object - dto.ContainerUpgrade: - properties: - forcePull: - type: boolean - image: - type: string - name: - type: string - required: - - image - - name - type: object - dto.CronjobBatchDelete: - properties: - cleanData: - type: boolean - ids: - items: - type: integer - type: array - required: - - ids - type: object - dto.CronjobClean: - properties: - cleanData: - type: boolean - cronjobID: - type: integer - isDelete: - type: boolean - required: - - cronjobID - type: object - dto.CronjobCreate: - properties: - appID: - type: string - backupAccounts: - type: string - command: - type: string - containerName: - type: string - dbName: - type: string - dbType: - type: string - defaultDownload: - type: string - exclusionRules: - type: string - name: - type: string - retainCopies: - minimum: 1 - type: integer - script: - type: string - secret: - type: string - sourceDir: - type: string - spec: - type: string - type: - type: string - url: - type: string - website: - type: string - required: - - name - - spec - - type - type: object - dto.CronjobDownload: - properties: - backupAccountID: - type: integer - recordID: - type: integer - required: - - backupAccountID - - recordID - type: object - dto.CronjobUpdate: - properties: - appID: - type: string - backupAccounts: - type: string - command: - type: string - containerName: - type: string - dbName: - type: string - dbType: - type: string - defaultDownload: - type: string - exclusionRules: - type: string - id: - type: integer - name: - type: string - retainCopies: - minimum: 1 - type: integer - script: - type: string - secret: - type: string - sourceDir: - type: string - spec: - type: string - url: - type: string - website: - type: string - required: - - id - - name - - spec - type: object - dto.CronjobUpdateStatus: - properties: - id: - type: integer - status: - type: string - required: - - id - - status - type: object - dto.DBBaseInfo: - properties: - containerName: - type: string - name: - type: string - port: - type: integer - type: object - dto.DBConfUpdateByFile: - properties: - database: - type: string - file: - type: string - type: - enum: - - mysql - - mariadb - - postgresql - - redis - type: string - required: - - database - - type - type: object - dto.DaemonJsonConf: - properties: - cgroupDriver: - type: string - experimental: - type: boolean - fixedCidrV6: - type: string - insecureRegistries: - items: - type: string - type: array - ip6Tables: - type: boolean - iptables: - type: boolean - ipv6: - type: boolean - isSwarm: - type: boolean - liveRestore: - type: boolean - logMaxFile: - type: string - logMaxSize: - type: string - registryMirrors: - items: - type: string - type: array - status: - type: string - version: - type: string - type: object - dto.DaemonJsonUpdateByFile: - properties: - file: - type: string - type: object - dto.DashboardBase: - properties: - appInstalledNumber: - type: integer - cpuCores: - type: integer - cpuLogicalCores: - type: integer - cpuModelName: - type: string - cronjobNumber: - type: integer - currentInfo: - $ref: '#/definitions/dto.DashboardCurrent' - databaseNumber: - type: integer - hostname: - type: string - kernelArch: - type: string - kernelVersion: - type: string - os: - type: string - platform: - type: string - platformFamily: - type: string - platformVersion: - type: string - virtualizationSystem: - type: string - websiteNumber: - type: integer - type: object - dto.DashboardCurrent: - properties: - cpuPercent: - items: - type: number - type: array - cpuTotal: - type: integer - cpuUsed: - type: number - cpuUsedPercent: - type: number - diskData: - items: - $ref: '#/definitions/dto.DiskInfo' - type: array - gpuData: - items: - $ref: '#/definitions/dto.GPUInfo' - type: array - ioCount: - type: integer - ioReadBytes: - type: integer - ioReadTime: - type: integer - ioWriteBytes: - type: integer - ioWriteTime: - type: integer - load1: - type: number - load5: - type: number - load15: - type: number - loadUsagePercent: - type: number - memoryAvailable: - type: integer - memoryTotal: - type: integer - memoryUsed: - type: integer - memoryUsedPercent: - type: number - netBytesRecv: - type: integer - netBytesSent: - type: integer - procs: - type: integer - shotTime: - type: string - swapMemoryAvailable: - type: integer - swapMemoryTotal: - type: integer - swapMemoryUsed: - type: integer - swapMemoryUsedPercent: - type: number - timeSinceUptime: - type: string - uptime: - type: integer - type: object - dto.DatabaseCreate: - properties: - address: - type: string - clientCert: - type: string - clientKey: - type: string - description: - type: string - from: - enum: - - local - - remote - type: string - name: - maxLength: 256 - type: string - password: - type: string - port: - type: integer - rootCert: - type: string - skipVerify: - type: boolean - ssl: - type: boolean - type: - type: string - username: - type: string - version: - type: string - required: - - from - - name - - type - - username - - version - type: object - dto.DatabaseDelete: - properties: - deleteBackup: - type: boolean - forceDelete: - type: boolean - id: - type: integer - required: - - id - type: object - dto.DatabaseInfo: - properties: - address: - type: string - clientCert: - type: string - clientKey: - type: string - createdAt: - type: string - description: - type: string - from: - type: string - id: - type: integer - name: - maxLength: 256 - type: string - password: - type: string - port: - type: integer - rootCert: - type: string - skipVerify: - type: boolean - ssl: - type: boolean - type: - type: string - username: - type: string - version: - type: string - type: object - dto.DatabaseItem: - properties: - database: - type: string - from: - type: string - id: - type: integer - name: - type: string - type: object - dto.DatabaseOption: - properties: - address: - type: string - database: - type: string - from: - type: string - id: - type: integer - type: - type: string - version: - type: string - type: object - dto.DatabaseSearch: - properties: - info: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - name - - created_at - type: string - page: - type: integer - pageSize: - type: integer - type: - type: string - required: - - order - - orderBy - - page - - pageSize - type: object - dto.DatabaseUpdate: - properties: - address: - type: string - clientCert: - type: string - clientKey: - type: string - description: - type: string - id: - type: integer - password: - type: string - port: - type: integer - rootCert: - type: string - skipVerify: - type: boolean - ssl: - type: boolean - type: - type: string - username: - type: string - version: - type: string - required: - - type - - username - - version - type: object - dto.DeviceBaseInfo: - properties: - dns: - items: - type: string - type: array - hostname: - type: string - hosts: - items: - $ref: '#/definitions/dto.HostHelper' - type: array - localTime: - type: string - maxSize: - type: integer - ntp: - type: string - swapDetails: - items: - $ref: '#/definitions/dto.SwapHelper' - type: array - swapMemoryAvailable: - type: integer - swapMemoryTotal: - type: integer - swapMemoryUsed: - type: integer - timeZone: - type: string - user: - type: string - type: object - dto.DiskInfo: - properties: - device: - type: string - free: - type: integer - inodesFree: - type: integer - inodesTotal: - type: integer - inodesUsed: - type: integer - inodesUsedPercent: - type: number - path: - type: string - total: - type: integer - type: - type: string - used: - type: integer - usedPercent: - type: number - type: object - dto.DockerOperation: - properties: - operation: - enum: - - start - - restart - - stop - type: string - required: - - operation - type: object - dto.DownloadRecord: - properties: - fileDir: - type: string - fileName: - type: string - source: - enum: - - OSS - - S3 - - SFTP - - MINIO - - LOCAL - - COS - - KODO - - OneDrive - - WebDAV - type: string - required: - - fileDir - - fileName - - source - type: object - dto.Fail2BanBaseInfo: - properties: - banAction: - type: string - banTime: - type: string - findTime: - type: string - isActive: - type: boolean - isEnable: - type: boolean - isExist: - type: boolean - logPath: - type: string - maxRetry: - type: integer - port: - type: integer - version: - type: string - type: object - dto.Fail2BanSearch: - properties: - status: - enum: - - banned - - ignore - type: string - required: - - status - type: object - dto.Fail2BanUpdate: - properties: - key: - enum: - - port - - bantime - - findtime - - maxretry - - banaction - - logpath - - port - type: string - value: - type: string - required: - - key - type: object - dto.FirewallBaseInfo: - properties: - name: - type: string - pingStatus: - type: string - status: - type: string - version: - type: string - type: object - dto.FirewallOperation: - properties: - operation: - enum: - - start - - stop - - restart - - disablePing - - enablePing - type: string - required: - - operation - 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: - items: - properties: - num: - type: string - operation: - enum: - - add - - remove - type: string - port: - type: string - protocol: - enum: - - tcp - - udp - - tcp/udp - type: string - targetIP: - type: string - targetPort: - type: string - required: - - operation - - port - - protocol - - targetPort - type: object - type: array - type: object - dto.FtpBaseInfo: - properties: - isActive: - type: boolean - isExist: - type: boolean - type: object - dto.FtpCreate: - properties: - description: - type: string - password: - type: string - path: - type: string - user: - type: string - required: - - password - - path - - user - type: object - dto.FtpLogSearch: - properties: - operation: - type: string - page: - type: integer - pageSize: - type: integer - user: - type: string - required: - - page - - pageSize - type: object - dto.FtpUpdate: - properties: - description: - type: string - id: - type: integer - password: - type: string - path: - type: string - status: - type: string - required: - - password - - path - type: object - dto.GPUInfo: - properties: - fanSpeed: - type: string - gpuUtil: - type: string - index: - type: integer - maxPowerLimit: - type: string - memTotal: - type: string - memUsed: - type: string - memoryUsage: - type: string - performanceState: - type: string - powerDraw: - type: string - powerUsage: - type: string - productName: - type: string - temperature: - type: string - type: object - dto.GenerateLoad: - properties: - encryptionMode: - enum: - - rsa - - ed25519 - - ecdsa - - dsa - type: string - required: - - encryptionMode - type: object - dto.GenerateSSH: - properties: - encryptionMode: - enum: - - rsa - - ed25519 - - ecdsa - - dsa - type: string - password: - type: string - required: - - encryptionMode - type: object - dto.GroupCreate: - properties: - id: - type: integer - name: - type: string - type: - type: string - required: - - name - - type - type: object - dto.GroupInfo: - properties: - id: - type: integer - isDefault: - type: boolean - name: - type: string - type: - type: string - type: object - dto.GroupSearch: - properties: - type: - type: string - required: - - type - type: object - dto.GroupUpdate: - properties: - id: - type: integer - isDefault: - type: boolean - name: - type: string - type: - type: string - required: - - type - type: object - dto.HostConnTest: - properties: - addr: - type: string - authMode: - enum: - - password - - key - type: string - passPhrase: - type: string - password: - type: string - port: - maximum: 65535 - minimum: 1 - type: integer - privateKey: - type: string - user: - type: string - required: - - addr - - port - - user - type: object - dto.HostHelper: - properties: - host: - type: string - ip: - type: string - type: object - dto.HostOperate: - properties: - addr: - type: string - authMode: - enum: - - password - - key - type: string - description: - type: string - groupID: - type: integer - id: - type: integer - name: - type: string - passPhrase: - type: string - password: - type: string - port: - maximum: 65535 - minimum: 1 - type: integer - privateKey: - type: string - rememberPassword: - type: boolean - user: - type: string - required: - - addr - - port - - user - type: object - dto.HostTree: - properties: - children: - items: - $ref: '#/definitions/dto.TreeChild' - type: array - id: - type: integer - label: - type: string - type: object - dto.ImageBuild: - properties: - dockerfile: - type: string - from: - type: string - name: - type: string - tags: - items: - type: string - type: array - required: - - dockerfile - - from - - name - type: object - dto.ImageInfo: - properties: - createdAt: - type: string - id: - type: string - isUsed: - type: boolean - size: - type: string - tags: - items: - type: string - type: array - type: object - dto.ImageLoad: - properties: - path: - type: string - required: - - path - type: object - dto.ImagePull: - properties: - imageName: - type: string - repoID: - type: integer - required: - - imageName - type: object - dto.ImagePush: - properties: - name: - type: string - repoID: - type: integer - tagName: - type: string - required: - - name - - repoID - - tagName - type: object - dto.ImageRepoDelete: - properties: - ids: - items: - type: integer - type: array - required: - - ids - type: object - dto.ImageRepoOption: - properties: - downloadUrl: - type: string - id: - type: integer - name: - type: string - type: object - dto.ImageRepoUpdate: - properties: - auth: - type: boolean - downloadUrl: - type: string - id: - type: integer - password: - maxLength: 256 - type: string - protocol: - type: string - username: - maxLength: 256 - type: string - type: object - dto.ImageSave: - properties: - name: - type: string - path: - type: string - tagName: - type: string - required: - - name - - path - - tagName - type: object - dto.ImageTag: - properties: - sourceID: - type: string - targetName: - type: string - required: - - sourceID - - targetName - type: object - dto.InspectReq: - properties: - id: - type: string - type: - type: string - required: - - id - - type - type: object - dto.LogOption: - properties: - logMaxFile: - type: string - logMaxSize: - type: string - type: object - dto.Login: - properties: - authMethod: - enum: - - jwt - - session - type: string - captcha: - type: string - captchaID: - type: string - ignoreCaptcha: - type: boolean - language: - enum: - - zh - - en - - tw - type: string - name: - type: string - password: - type: string - required: - - authMethod - - language - - name - - password - type: object - dto.MFALogin: - properties: - authMethod: - type: string - code: - type: string - name: - type: string - password: - type: string - required: - - code - - name - - password - type: object - dto.MfaCredential: - properties: - code: - type: string - interval: - type: string - secret: - type: string - required: - - code - - interval - - secret - type: object - dto.MonitorSearch: - properties: - endTime: - type: string - info: - type: string - param: - enum: - - all - - cpu - - memory - - load - - io - - network - type: string - startTime: - type: string - required: - - param - type: object - dto.MysqlDBCreate: - properties: - database: - type: string - description: - type: string - format: - enum: - - utf8mb4 - - utf8 - - gbk - - big5 - type: string - from: - enum: - - local - - remote - type: string - name: - type: string - password: - type: string - permission: - type: string - username: - type: string - required: - - database - - format - - from - - name - - password - - permission - - username - type: object - dto.MysqlDBDelete: - properties: - database: - type: string - deleteBackup: - type: boolean - forceDelete: - type: boolean - id: - type: integer - type: - enum: - - mysql - - mariadb - type: string - required: - - database - - id - - type - type: object - dto.MysqlDBDeleteCheck: - properties: - database: - type: string - id: - type: integer - type: - enum: - - mysql - - mariadb - type: string - required: - - database - - id - - type - type: object - dto.MysqlDBSearch: - properties: - database: - type: string - info: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - name - - created_at - type: string - page: - type: integer - pageSize: - type: integer - required: - - database - - order - - orderBy - - page - - pageSize - type: object - dto.MysqlLoadDB: - properties: - database: - type: string - from: - enum: - - local - - remote - type: string - type: - enum: - - mysql - - mariadb - type: string - required: - - database - - from - - type - type: object - dto.MysqlOption: - properties: - database: - type: string - from: - type: string - id: - type: integer - name: - type: string - type: - type: string - type: object - dto.MysqlStatus: - properties: - Aborted_clients: - type: string - Aborted_connects: - type: string - Bytes_received: - type: string - Bytes_sent: - type: string - Com_commit: - type: string - Com_rollback: - type: string - Connections: - type: string - Created_tmp_disk_tables: - type: string - Created_tmp_tables: - type: string - File: - type: string - Innodb_buffer_pool_pages_dirty: - type: string - Innodb_buffer_pool_read_requests: - type: string - Innodb_buffer_pool_reads: - type: string - Key_read_requests: - type: string - Key_reads: - type: string - Key_write_requests: - type: string - Key_writes: - type: string - Max_used_connections: - type: string - Open_tables: - type: string - Opened_files: - type: string - Opened_tables: - type: string - Position: - type: string - Qcache_hits: - type: string - Qcache_inserts: - type: string - Questions: - type: string - Run: - type: string - Select_full_join: - type: string - Select_range_check: - type: string - Sort_merge_passes: - type: string - Table_locks_waited: - type: string - Threads_cached: - type: string - Threads_connected: - type: string - Threads_created: - type: string - Threads_running: - type: string - Uptime: - type: string - type: object - dto.MysqlVariables: - properties: - binlog_cache_size: - type: string - innodb_buffer_pool_size: - type: string - innodb_log_buffer_size: - type: string - join_buffer_size: - type: string - key_buffer_size: - type: string - long_query_time: - type: string - max_connections: - type: string - max_heap_table_size: - type: string - query_cache_size: - type: string - query_cache_type: - type: string - read_buffer_size: - type: string - read_rnd_buffer_size: - type: string - slow_query_log: - type: string - sort_buffer_size: - type: string - table_open_cache: - type: string - thread_cache_size: - type: string - thread_stack: - type: string - tmp_table_size: - type: string - type: object - dto.MysqlVariablesUpdate: - properties: - database: - type: string - type: - enum: - - mysql - - mariadb - type: string - variables: - items: - $ref: '#/definitions/dto.MysqlVariablesUpdateHelper' - type: array - required: - - database - - type - type: object - dto.MysqlVariablesUpdateHelper: - properties: - param: - type: string - value: {} - type: object - dto.NetworkCreate: - properties: - auxAddress: - items: - $ref: '#/definitions/dto.SettingUpdate' - type: array - auxAddressV6: - items: - $ref: '#/definitions/dto.SettingUpdate' - type: array - driver: - type: string - gateway: - type: string - gatewayV6: - type: string - ipRange: - type: string - ipRangeV6: - type: string - ipv4: - type: boolean - ipv6: - type: boolean - labels: - items: - type: string - type: array - name: - type: string - options: - items: - type: string - type: array - subnet: - type: string - subnetV6: - type: string - required: - - driver - - name - type: object - dto.NginxKey: - enum: - - index - - limit-conn - - ssl - - cache - - http-per - - proxy-cache - type: string - x-enum-varnames: - - Index - - LimitConn - - SSL - - CACHE - - HttpPer - - ProxyCache - dto.OneDriveInfo: - properties: - client_id: - type: string - client_secret: - type: string - redirect_uri: - type: string - type: object - dto.Operate: - properties: - operation: - type: string - required: - - operation - type: object - dto.OperateByID: - properties: - id: - type: integer - required: - - id - type: object - dto.OperationWithName: - properties: - name: - type: string - required: - - name - type: object - dto.OperationWithNameAndType: - properties: - name: - type: string - type: - type: string - required: - - type - type: object - dto.Options: - properties: - option: - type: string - type: object - dto.OsInfo: - properties: - diskSize: - type: integer - kernelArch: - type: string - kernelVersion: - type: string - os: - type: string - platform: - type: string - platformFamily: - type: string - type: object - dto.PageContainer: - properties: - excludeAppStore: - type: boolean - filters: - type: string - name: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - name - - state - - created_at - type: string - page: - type: integer - pageSize: - type: integer - state: - enum: - - all - - created - - running - - paused - - restarting - - removing - - exited - - dead - type: string - required: - - order - - orderBy - - page - - pageSize - - state - type: object - dto.PageCronjob: - properties: - info: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - name - - status - - created_at - type: string - page: - type: integer - pageSize: - type: integer - required: - - order - - orderBy - - page - - pageSize - type: object - dto.PageInfo: - properties: - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - dto.PageResult: - properties: - items: {} - total: - type: integer - type: object - dto.PasswordUpdate: - properties: - newPassword: - type: string - oldPassword: - type: string - required: - - newPassword - - oldPassword - type: object - dto.PortHelper: - properties: - containerPort: - type: string - hostIP: - type: string - hostPort: - type: string - protocol: - type: string - type: object - dto.PortRuleOperate: - properties: - address: - type: string - description: - type: string - operation: - enum: - - add - - remove - type: string - port: - type: string - protocol: - enum: - - tcp - - udp - - tcp/udp - type: string - strategy: - enum: - - accept - - drop - type: string - required: - - operation - - port - - protocol - - strategy - type: object - dto.PortRuleUpdate: - properties: - newRule: - $ref: '#/definitions/dto.PortRuleOperate' - oldRule: - $ref: '#/definitions/dto.PortRuleOperate' - type: object - dto.PortUpdate: - properties: - serverPort: - maximum: 65535 - minimum: 1 - type: integer - required: - - serverPort - type: object - dto.PostgresqlBindUser: - properties: - database: - type: string - name: - type: string - password: - type: string - superUser: - type: boolean - username: - type: string - required: - - database - - name - - password - - username - type: object - dto.PostgresqlDBCreate: - properties: - database: - type: string - description: - type: string - format: - type: string - from: - enum: - - local - - remote - type: string - name: - type: string - password: - type: string - superUser: - type: boolean - username: - type: string - required: - - database - - from - - name - - password - - username - type: object - dto.PostgresqlDBDelete: - properties: - database: - type: string - deleteBackup: - type: boolean - forceDelete: - type: boolean - id: - type: integer - type: - enum: - - postgresql - type: string - required: - - database - - id - - type - type: object - dto.PostgresqlDBDeleteCheck: - properties: - database: - type: string - id: - type: integer - type: - enum: - - postgresql - type: string - required: - - database - - id - - type - type: object - dto.PostgresqlDBSearch: - properties: - database: - type: string - info: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - name - - created_at - type: string - page: - type: integer - pageSize: - type: integer - required: - - database - - order - - orderBy - - page - - pageSize - type: object - dto.PostgresqlLoadDB: - properties: - database: - type: string - from: - enum: - - local - - remote - type: string - type: - enum: - - postgresql - type: string - required: - - database - - from - - type - type: object - dto.ProxyUpdate: - properties: - proxyPasswd: - type: string - proxyPasswdKeep: - type: string - proxyPort: - type: string - proxyType: - type: string - proxyUrl: - type: string - proxyUser: - type: string - type: object - dto.RecordSearch: - properties: - detailName: - type: string - name: - type: string - page: - type: integer - pageSize: - type: integer - type: - type: string - required: - - page - - pageSize - - type - type: object - dto.RecordSearchByCronjob: - properties: - cronjobID: - type: integer - page: - type: integer - pageSize: - type: integer - required: - - cronjobID - - page - - pageSize - type: object - dto.RedisCommand: - properties: - command: - type: string - id: - type: integer - name: - type: string - type: object - dto.RedisConf: - properties: - containerName: - type: string - database: - type: string - maxclients: - type: string - maxmemory: - type: string - name: - type: string - port: - type: integer - requirepass: - type: string - timeout: - type: string - required: - - database - type: object - dto.RedisConfPersistenceUpdate: - properties: - appendfsync: - type: string - appendonly: - type: string - database: - type: string - save: - type: string - type: - enum: - - aof - - rbd - type: string - required: - - database - - type - type: object - dto.RedisConfUpdate: - properties: - database: - type: string - maxclients: - type: string - maxmemory: - type: string - timeout: - type: string - required: - - database - type: object - dto.RedisPersistence: - properties: - appendfsync: - type: string - appendonly: - type: string - database: - type: string - save: - type: string - required: - - database - type: object - dto.RedisStatus: - properties: - connected_clients: - type: string - database: - type: string - instantaneous_ops_per_sec: - type: string - keyspace_hits: - type: string - keyspace_misses: - type: string - latest_fork_usec: - type: string - mem_fragmentation_ratio: - type: string - tcp_port: - type: string - total_commands_processed: - type: string - total_connections_received: - type: string - uptime_in_days: - type: string - used_memory: - type: string - used_memory_peak: - type: string - used_memory_rss: - type: string - required: - - database - type: object - dto.ResourceLimit: - properties: - cpu: - type: integer - memory: - type: integer - type: object - dto.RuleSearch: - properties: - info: - type: string - page: - type: integer - pageSize: - type: integer - status: - type: string - strategy: - type: string - type: - type: string - required: - - page - - pageSize - - type - type: object - dto.SSHConf: - properties: - file: - type: string - type: object - dto.SSHHistory: - properties: - address: - type: string - area: - type: string - authMode: - type: string - date: - type: string - dateStr: - type: string - message: - type: string - port: - type: string - status: - type: string - user: - type: string - type: object - dto.SSHInfo: - properties: - autoStart: - type: boolean - listenAddress: - type: string - message: - type: string - passwordAuthentication: - type: string - permitRootLogin: - type: string - port: - type: string - pubkeyAuthentication: - type: string - status: - type: string - useDNS: - type: string - type: object - dto.SSHLog: - properties: - failedCount: - type: integer - logs: - items: - $ref: '#/definitions/dto.SSHHistory' - type: array - successfulCount: - type: integer - totalCount: - type: integer - type: object - dto.SSHUpdate: - properties: - key: - type: string - newValue: - type: string - oldValue: - type: string - required: - - key - type: object - dto.SSLUpdate: - properties: - cert: - type: string - domain: - type: string - key: - type: string - ssl: - enum: - - enable - - disable - type: string - sslID: - type: integer - sslType: - enum: - - self - - select - - import - - import-paste - - import-local - type: string - required: - - ssl - - sslType - type: object - dto.SearchForTree: - properties: - info: - type: string - type: object - dto.SearchHostWithPage: - properties: - groupID: - type: integer - info: - type: string - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - dto.SearchLgLogWithPage: - properties: - ip: - type: string - page: - type: integer - pageSize: - type: integer - status: - type: string - required: - - page - - pageSize - type: object - dto.SearchOpLogWithPage: - properties: - operation: - type: string - page: - type: integer - pageSize: - type: integer - source: - type: string - status: - type: string - required: - - page - - pageSize - type: object - dto.SearchRecord: - properties: - cronjobID: - type: integer - endTime: - type: string - page: - type: integer - pageSize: - type: integer - startTime: - type: string - status: - type: string - required: - - page - - pageSize - type: object - dto.SearchSSHLog: - properties: - Status: - enum: - - Success - - Failed - - All - type: string - info: - type: string - page: - type: integer - pageSize: - type: integer - required: - - Status - - page - - pageSize - type: object - dto.SearchWithPage: - properties: - info: - type: string - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - dto.SettingInfo: - properties: - allowIPs: - type: string - appStoreLastModified: - type: string - appStoreSyncStatus: - type: string - appStoreVersion: - type: string - bindAddress: - type: string - bindDomain: - type: string - complexityVerification: - type: string - defaultNetwork: - type: string - developerMode: - type: string - dingVars: - type: string - dockerSockPath: - type: string - email: - type: string - emailVars: - type: string - expirationDays: - type: string - expirationTime: - type: string - fileRecycleBin: - type: string - ipv6: - type: string - language: - type: string - lastCleanData: - type: string - lastCleanSize: - type: string - lastCleanTime: - type: string - localTime: - type: string - menuTabs: - type: string - messageType: - type: string - mfaInterval: - type: string - mfaSecret: - type: string - mfaStatus: - type: string - monitorInterval: - type: string - monitorStatus: - type: string - monitorStoreDays: - type: string - noAuthSetting: - type: string - ntpSite: - type: string - panelName: - type: string - port: - type: string - proxyPasswd: - type: string - proxyPasswdKeep: - type: string - proxyPort: - type: string - proxyType: - type: string - proxyUrl: - type: string - proxyUser: - type: string - securityEntrance: - type: string - serverPort: - type: string - sessionTimeout: - type: string - snapshotIgnore: - type: string - ssl: - type: string - sslType: - type: string - systemIP: - type: string - systemVersion: - type: string - theme: - type: string - timeZone: - type: string - userName: - type: string - weChatVars: - type: string - xpackHideMenu: - type: string - type: object - dto.SettingUpdate: - properties: - key: - type: string - value: - type: string - required: - - key - type: object - dto.SnapshotBatchDelete: - properties: - deleteWithFile: - type: boolean - ids: - items: - type: integer - type: array - required: - - ids - type: object - dto.SnapshotCreate: - properties: - defaultDownload: - type: string - description: - maxLength: 256 - type: string - from: - type: string - id: - type: integer - secret: - type: string - required: - - defaultDownload - - from - type: object - dto.SnapshotImport: - properties: - description: - maxLength: 256 - type: string - from: - type: string - names: - items: - type: string - type: array - type: object - dto.SnapshotRecover: - properties: - id: - type: integer - isNew: - type: boolean - reDownload: - type: boolean - secret: - type: string - required: - - id - type: object - dto.SwapHelper: - properties: - isNew: - type: boolean - path: - type: string - size: - type: integer - used: - type: string - required: - - path - type: object - dto.TreeChild: - properties: - id: - type: integer - label: - type: string - type: object - dto.UpdateByFile: - properties: - file: - type: string - type: object - dto.UpdateByNameAndFile: - properties: - file: - type: string - name: - type: string - type: object - dto.UpdateDescription: - properties: - description: - maxLength: 256 - type: string - id: - type: integer - required: - - id - type: object - dto.UpdateFirewallDescription: - properties: - address: - type: string - description: - type: string - port: - type: string - protocol: - type: string - strategy: - enum: - - accept - - drop - type: string - type: - type: string - required: - - strategy - type: object - dto.Upgrade: - properties: - version: - type: string - required: - - version - type: object - dto.UpgradeInfo: - properties: - latestVersion: - type: string - newVersion: - type: string - releaseNote: - type: string - testVersion: - type: string - type: object - dto.UserLoginInfo: - properties: - mfaStatus: - type: string - name: - type: string - token: - type: string - type: object - dto.VolumeCreate: - properties: - driver: - type: string - labels: - items: - type: string - type: array - name: - type: string - options: - items: - type: string - type: array - required: - - driver - - name - type: object - dto.VolumeHelper: - properties: - containerDir: - type: string - mode: - type: string - sourceDir: - type: string - type: - type: string - type: object - files.FileInfo: - properties: - content: - type: string - extension: - type: string - favoriteID: - type: integer - gid: - type: string - group: - type: string - isDetail: - type: boolean - isDir: - type: boolean - isHidden: - type: boolean - isSymlink: - type: boolean - itemTotal: - type: integer - items: - items: - $ref: '#/definitions/files.FileInfo' - type: array - linkPath: - type: string - mimeType: - type: string - modTime: - type: string - mode: - type: string - name: - type: string - path: - type: string - size: - type: integer - type: - type: string - uid: - type: string - updateTime: - type: string - user: - type: string - type: object - mfa.Otp: - properties: - qrImage: - type: string - secret: - type: string - type: object - model.App: - properties: - createdAt: - type: string - crossVersionUpdate: - type: boolean - document: - type: string - github: - type: string - icon: - type: string - id: - type: integer - key: - type: string - lastModified: - type: integer - limit: - type: integer - name: - type: string - readMe: - type: string - recommend: - type: integer - required: - type: string - resource: - type: string - shortDescEn: - type: string - shortDescZh: - type: string - status: - type: string - tags: - items: - type: string - type: array - type: - type: string - updatedAt: - type: string - website: - type: string - type: object - model.AppInstall: - properties: - app: - $ref: '#/definitions/model.App' - appDetailId: - type: integer - appId: - type: integer - containerName: - type: string - createdAt: - type: string - description: - type: string - dockerCompose: - type: string - env: - type: string - httpPort: - type: integer - httpsPort: - type: integer - id: - type: integer - message: - type: string - name: - type: string - param: - type: string - serviceName: - type: string - status: - type: string - updatedAt: - type: string - version: - type: string - type: object - model.Tag: - properties: - createdAt: - type: string - id: - type: integer - key: - type: string - name: - type: string - sort: - type: integer - updatedAt: - type: string - type: object - model.Website: - properties: - IPV6: - type: boolean - accessLog: - type: boolean - alias: - type: string - appInstallId: - type: integer - createdAt: - type: string - defaultServer: - type: boolean - domains: - items: - $ref: '#/definitions/model.WebsiteDomain' - type: array - errorLog: - type: boolean - expireDate: - type: string - ftpId: - type: integer - group: - type: string - httpConfig: - type: string - id: - type: integer - primaryDomain: - type: string - protocol: - type: string - proxy: - type: string - proxyType: - type: string - remark: - type: string - rewrite: - type: string - runtimeID: - type: integer - siteDir: - type: string - status: - type: string - type: - type: string - updatedAt: - type: string - user: - type: string - webSiteGroupId: - type: integer - webSiteSSL: - $ref: '#/definitions/model.WebsiteSSL' - webSiteSSLId: - type: integer - type: object - model.WebsiteAcmeAccount: - properties: - createdAt: - type: string - eabHmacKey: - type: string - eabKid: - type: string - email: - type: string - id: - type: integer - keyType: - type: string - type: - type: string - updatedAt: - type: string - url: - type: string - type: object - model.WebsiteDnsAccount: - properties: - createdAt: - type: string - id: - type: integer - name: - type: string - type: - type: string - updatedAt: - type: string - type: object - model.WebsiteDomain: - properties: - createdAt: - type: string - domain: - type: string - id: - type: integer - port: - type: integer - updatedAt: - type: string - websiteId: - type: integer - type: object - model.WebsiteSSL: - 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 - 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 - request.AppInstallCreate: - properties: - advanced: - type: boolean - allowPort: - type: boolean - appDetailId: - type: integer - containerName: - type: string - cpuQuota: - type: number - dockerCompose: - type: string - editCompose: - type: boolean - hostMode: - type: boolean - memoryLimit: - type: number - memoryUnit: - type: string - name: - type: string - params: - additionalProperties: true - type: object - pullImage: - type: boolean - services: - additionalProperties: - type: string - type: object - required: - - appDetailId - - name - type: object - request.AppInstalledIgnoreUpgrade: - properties: - detailID: - type: integer - operate: - enum: - - cancel - - ignore - type: string - required: - - detailID - - operate - type: object - request.AppInstalledInfo: - properties: - key: - type: string - name: - type: string - required: - - key - type: object - request.AppInstalledOperate: - properties: - backup: - type: boolean - backupId: - type: integer - deleteBackup: - type: boolean - deleteDB: - type: boolean - detailId: - type: integer - dockerCompose: - type: string - forceDelete: - type: boolean - installId: - type: integer - operate: - type: string - pullImage: - type: boolean - required: - - installId - - operate - type: object - request.AppInstalledSearch: - properties: - all: - type: boolean - name: - type: string - page: - type: integer - pageSize: - type: integer - sync: - type: boolean - tags: - items: - type: string - type: array - type: - type: string - unused: - type: boolean - update: - type: boolean - required: - - page - - pageSize - type: object - request.AppInstalledUpdate: - properties: - advanced: - type: boolean - allowPort: - type: boolean - containerName: - type: string - cpuQuota: - type: number - dockerCompose: - type: string - editCompose: - type: boolean - hostMode: - type: boolean - installId: - type: integer - memoryLimit: - type: number - memoryUnit: - type: string - params: - additionalProperties: true - type: object - pullImage: - type: boolean - required: - - installId - - params - type: object - request.AppSearch: - properties: - name: - type: string - page: - type: integer - pageSize: - type: integer - recommend: - type: boolean - resource: - type: string - tags: - items: - type: string - type: array - type: - type: string - required: - - page - - pageSize - type: object - request.DirSizeReq: - properties: - path: - type: string - required: - - path - type: object - request.ExposedPort: - properties: - containerPort: - type: integer - hostPort: - type: integer - type: object - request.FavoriteCreate: - properties: - path: - type: string - required: - - path - type: object - request.FavoriteDelete: - properties: - id: - type: integer - required: - - id - type: object - request.FileBatchDelete: - properties: - isDir: - type: boolean - paths: - items: - type: string - type: array - required: - - paths - type: object - request.FileCompress: - properties: - dst: - type: string - files: - items: - type: string - type: array - name: - type: string - replace: - type: boolean - secret: - type: string - type: - type: string - required: - - dst - - files - - name - - type - type: object - request.FileContentReq: - properties: - isDetail: - type: boolean - path: - type: string - required: - - path - type: object - request.FileCreate: - properties: - content: - type: string - isDir: - type: boolean - isLink: - type: boolean - isSymlink: - type: boolean - linkPath: - type: string - mode: - type: integer - path: - type: string - sub: - type: boolean - required: - - path - type: object - request.FileDeCompress: - properties: - dst: - type: string - path: - type: string - secret: - type: string - type: - type: string - required: - - dst - - path - - type - type: object - request.FileDelete: - properties: - forceDelete: - type: boolean - isDir: - type: boolean - path: - type: string - required: - - path - type: object - request.FileDownload: - properties: - compress: - type: boolean - name: - type: string - paths: - items: - type: string - type: array - type: - type: string - required: - - name - - paths - - type - type: object - request.FileEdit: - properties: - content: - type: string - path: - type: string - required: - - path - type: object - request.FileMove: - properties: - cover: - type: boolean - name: - type: string - newPath: - type: string - oldPaths: - items: - type: string - type: array - type: - type: string - required: - - newPath - - oldPaths - - type - type: object - request.FileOption: - properties: - containSub: - type: boolean - dir: - type: boolean - expand: - type: boolean - isDetail: - type: boolean - page: - type: integer - pageSize: - type: integer - path: - type: string - search: - type: string - showHidden: - type: boolean - sortBy: - type: string - sortOrder: - type: string - type: object - request.FilePathCheck: - properties: - path: - type: string - required: - - path - type: object - request.FileReadByLineReq: - properties: - ID: - type: integer - latest: - type: boolean - name: - type: string - page: - type: integer - pageSize: - type: integer - type: - type: string - required: - - page - - pageSize - - type - type: object - request.FileRename: - properties: - newName: - type: string - oldName: - type: string - required: - - newName - - oldName - type: object - request.FileRoleReq: - properties: - group: - type: string - mode: - type: integer - paths: - items: - type: string - type: array - sub: - type: boolean - user: - type: string - required: - - group - - mode - - paths - - user - type: object - request.FileRoleUpdate: - properties: - group: - type: string - path: - type: string - sub: - type: boolean - user: - type: string - required: - - group - - path - - user - type: object - request.FileWget: - properties: - ignoreCertificate: - type: boolean - name: - type: string - path: - type: string - url: - type: string - required: - - name - - path - - url - type: object - request.HostToolConfig: - properties: - content: - type: string - operate: - enum: - - get - - set - type: string - type: - enum: - - supervisord - type: string - required: - - type - type: object - request.HostToolCreate: - properties: - configPath: - type: string - serviceName: - type: string - type: - type: string - required: - - type - type: object - request.HostToolLogReq: - properties: - type: - enum: - - supervisord - type: string - required: - - type - type: object - request.HostToolReq: - properties: - operate: - enum: - - status - - restart - - start - - stop - type: string - type: - enum: - - supervisord - type: string - required: - - type - type: object - request.NewAppInstall: - properties: - advanced: - type: boolean - allowPort: - type: boolean - appDetailID: - type: integer - containerName: - type: string - cpuQuota: - type: number - dockerCompose: - type: string - editCompose: - type: boolean - hostMode: - type: boolean - memoryLimit: - type: number - memoryUnit: - type: string - name: - type: string - params: - additionalProperties: true - type: object - pullImage: - type: boolean - type: object - request.NginxAntiLeechUpdate: - 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 - websiteID: - type: integer - required: - - extends - - return - - websiteID - type: object - request.NginxAuthReq: - properties: - websiteID: - type: integer - required: - - websiteID - type: object - request.NginxAuthUpdate: - properties: - operate: - type: string - password: - type: string - remark: - type: string - username: - type: string - websiteID: - type: integer - required: - - operate - - websiteID - type: object - request.NginxCommonReq: - properties: - websiteID: - type: integer - required: - - websiteID - type: object - request.NginxConfigFileUpdate: - properties: - backup: - type: boolean - content: - type: string - required: - - content - type: object - request.NginxConfigUpdate: - properties: - operate: - enum: - - add - - update - - delete - type: string - params: {} - scope: - $ref: '#/definitions/dto.NginxKey' - websiteId: - type: integer - required: - - operate - type: object - request.NginxProxyUpdate: - properties: - content: - type: string - name: - type: string - websiteID: - type: integer - required: - - content - - name - - websiteID - type: object - request.NginxRedirectReq: - properties: - domains: - items: - type: string - type: array - enable: - type: boolean - keepPath: - type: boolean - name: - type: string - operate: - type: string - path: - type: string - redirect: - type: string - redirectRoot: - type: boolean - target: - type: string - type: - type: string - websiteID: - type: integer - required: - - name - - operate - - redirect - - target - - type - - websiteID - type: object - request.NginxRedirectUpdate: - properties: - content: - type: string - name: - type: string - websiteID: - type: integer - required: - - content - - name - - websiteID - type: object - request.NginxRewriteReq: - properties: - name: - type: string - websiteId: - type: integer - required: - - name - - websiteId - type: object - request.NginxRewriteUpdate: - properties: - content: - type: string - name: - type: string - websiteId: - type: integer - required: - - name - - websiteId - type: object - request.NginxScopeReq: - properties: - scope: - $ref: '#/definitions/dto.NginxKey' - websiteId: - type: integer - required: - - scope - type: object - request.NodeModuleReq: - properties: - ID: - type: integer - required: - - ID - type: object - request.NodePackageReq: - properties: - codeDir: - type: string - type: object - request.PHPExtensionsCreate: - properties: - extensions: - type: string - name: - type: string - required: - - extensions - - name - type: object - request.PHPExtensionsDelete: - properties: - id: - type: integer - required: - - id - type: object - request.PHPExtensionsSearch: - properties: - all: - type: boolean - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - request.PHPExtensionsUpdate: - properties: - extensions: - type: string - id: - type: integer - required: - - extensions - - id - type: object - request.PortUpdate: - properties: - key: - type: string - name: - type: string - port: - type: integer - type: object - request.ProcessReq: - properties: - PID: - type: integer - required: - - PID - type: object - request.RecycleBinReduce: - properties: - from: - type: string - name: - type: string - rName: - type: string - required: - - from - - rName - type: object - request.RuntimeCreate: - properties: - appDetailId: - type: integer - clean: - type: boolean - codeDir: - type: string - exposedPorts: - items: - $ref: '#/definitions/request.ExposedPort' - type: array - image: - type: string - install: - type: boolean - name: - type: string - params: - additionalProperties: true - type: object - port: - type: integer - resource: - type: string - source: - type: string - type: - type: string - version: - type: string - type: object - request.RuntimeDelete: - properties: - forceDelete: - type: boolean - id: - type: integer - type: object - request.RuntimeOperate: - properties: - ID: - type: integer - operate: - type: string - type: object - request.RuntimeSearch: - properties: - name: - type: string - page: - type: integer - pageSize: - type: integer - status: - type: string - type: - type: string - required: - - page - - pageSize - type: object - request.RuntimeUpdate: - properties: - clean: - type: boolean - codeDir: - type: string - exposedPorts: - items: - $ref: '#/definitions/request.ExposedPort' - type: array - id: - type: integer - image: - type: string - install: - type: boolean - name: - type: string - params: - additionalProperties: true - type: object - port: - type: integer - rebuild: - type: boolean - source: - type: string - version: - type: string - type: object - request.SearchUploadWithPage: - properties: - page: - type: integer - pageSize: - type: integer - path: - type: string - required: - - page - - pageSize - - path - type: object - request.SupervisorProcessConfig: - properties: - command: - type: string - dir: - type: string - name: - type: string - numprocs: - type: string - operate: - type: string - user: - type: string - type: object - request.SupervisorProcessFileReq: - properties: - content: - type: string - file: - enum: - - out.log - - err.log - - config - type: string - name: - type: string - operate: - enum: - - get - - clear - - update - type: string - required: - - file - - name - - operate - type: object - request.WebsiteAcmeAccountCreate: - properties: - eabHmacKey: - type: string - eabKid: - type: string - email: - type: string - keyType: - enum: - - P256 - - P384 - - "2048" - - "3072" - - "4096" - - "8192" - type: string - type: - enum: - - letsencrypt - - zerossl - - buypass - - google - type: string - required: - - email - - keyType - - type - type: object - request.WebsiteBatchDelReq: - properties: - ids: - items: - type: integer - type: array - required: - - ids - type: object - request.WebsiteCACreate: - properties: - city: - type: string - commonName: - type: string - country: - type: string - keyType: - enum: - - P256 - - P384 - - "2048" - - "3072" - - "4096" - - "8192" - type: string - name: - type: string - organization: - type: string - organizationUint: - type: string - province: - type: string - required: - - commonName - - country - - keyType - - name - - organization - type: object - request.WebsiteCAObtain: - properties: - autoRenew: - type: boolean - description: - type: string - dir: - type: string - domains: - type: string - execShell: - type: boolean - id: - type: integer - keyType: - enum: - - P256 - - P384 - - "2048" - - "3072" - - "4096" - - "8192" - type: string - pushDir: - type: boolean - renew: - type: boolean - shell: - type: string - sslID: - type: integer - time: - type: integer - unit: - type: string - required: - - domains - - id - - keyType - - time - - unit - type: object - request.WebsiteCASearch: - properties: - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - request.WebsiteCommonReq: - properties: - id: - type: integer - required: - - id - type: object - request.WebsiteCreate: - properties: - IPV6: - type: boolean - alias: - type: string - appID: - type: integer - appInstall: - $ref: '#/definitions/request.NewAppInstall' - appInstallID: - type: integer - appType: - enum: - - new - - installed - type: string - ftpPassword: - type: string - ftpUser: - type: string - otherDomains: - type: string - port: - type: integer - primaryDomain: - type: string - proxy: - type: string - proxyType: - type: string - remark: - type: string - runtimeID: - type: integer - type: - type: string - webSiteGroupID: - type: integer - required: - - alias - - primaryDomain - - type - - webSiteGroupID - type: object - request.WebsiteDNSReq: - properties: - acmeAccountId: - type: integer - domains: - items: - type: string - type: array - required: - - acmeAccountId - - domains - type: object - request.WebsiteDefaultUpdate: - properties: - id: - type: integer - type: object - request.WebsiteDelete: - properties: - deleteApp: - type: boolean - deleteBackup: - type: boolean - forceDelete: - type: boolean - id: - type: integer - required: - - id - type: object - request.WebsiteDnsAccountCreate: - properties: - authorization: - additionalProperties: - type: string - type: object - name: - type: string - type: - type: string - required: - - authorization - - name - - type - type: object - request.WebsiteDnsAccountUpdate: - properties: - authorization: - additionalProperties: - type: string - type: object - id: - type: integer - name: - type: string - type: - type: string - required: - - authorization - - id - - name - - type - type: object - request.WebsiteDomainCreate: - properties: - domains: - type: string - websiteID: - type: integer - required: - - domains - - websiteID - type: object - request.WebsiteDomainDelete: - properties: - id: - type: integer - required: - - id - type: object - request.WebsiteHTTPSOp: - properties: - SSLProtocol: - items: - type: string - type: array - algorithm: - type: string - certificate: - type: string - certificatePath: - type: string - enable: - type: boolean - hsts: - type: boolean - httpConfig: - enum: - - HTTPSOnly - - HTTPAlso - - HTTPToHTTPS - type: string - importType: - type: string - privateKey: - type: string - privateKeyPath: - type: string - type: - enum: - - existed - - auto - - manual - type: string - websiteId: - type: integer - websiteSSLId: - type: integer - required: - - websiteId - type: object - request.WebsiteHtmlUpdate: - properties: - content: - type: string - type: - type: string - required: - - content - - type - type: object - request.WebsiteInstallCheckReq: - properties: - InstallIds: - items: - type: integer - type: array - type: object - request.WebsiteLogReq: - properties: - id: - type: integer - logType: - type: string - operate: - type: string - page: - type: integer - pageSize: - type: integer - required: - - id - - logType - - operate - type: object - request.WebsiteNginxUpdate: - properties: - content: - type: string - id: - type: integer - required: - - content - - id - type: object - request.WebsiteOp: - properties: - id: - type: integer - operate: - type: string - required: - - id - type: object - request.WebsitePHPConfigUpdate: - properties: - disableFunctions: - items: - type: string - type: array - id: - type: integer - params: - additionalProperties: - type: string - type: object - scope: - type: string - uploadMaxSize: - type: string - required: - - id - - scope - type: object - request.WebsitePHPFileUpdate: - properties: - content: - type: string - id: - type: integer - type: - type: string - required: - - content - - id - - type - type: object - request.WebsitePHPVersionReq: - properties: - retainConfig: - type: boolean - runtimeID: - type: integer - websiteID: - type: integer - required: - - runtimeID - - websiteID - type: object - request.WebsiteProxyConfig: - properties: - cache: - type: boolean - cacheTime: - type: integer - cacheUnit: - type: string - content: - type: string - enable: - type: boolean - filePath: - type: string - id: - type: integer - match: - type: string - modifier: - type: string - name: - type: string - operate: - type: string - proxyHost: - type: string - proxyPass: - type: string - replaces: - additionalProperties: - type: string - type: object - sni: - type: boolean - required: - - id - - match - - name - - operate - - proxyHost - - proxyPass - type: object - request.WebsiteProxyReq: - properties: - id: - type: integer - required: - - id - type: object - request.WebsiteResourceReq: - properties: - id: - type: integer - required: - - id - type: object - request.WebsiteSSLApply: - properties: - ID: - type: integer - nameservers: - items: - type: string - type: array - skipDNSCheck: - type: boolean - required: - - ID - type: object - request.WebsiteSSLCreate: - properties: - acmeAccountId: - type: integer - apply: - type: boolean - autoRenew: - type: boolean - description: - type: string - dir: - type: string - disableCNAME: - type: boolean - dnsAccountId: - type: integer - execShell: - type: boolean - id: - type: integer - keyType: - type: string - nameserver1: - type: string - nameserver2: - type: string - otherDomains: - type: string - primaryDomain: - type: string - provider: - type: string - pushDir: - type: boolean - shell: - type: string - skipDNS: - type: boolean - required: - - acmeAccountId - - primaryDomain - - provider - type: object - request.WebsiteSSLSearch: - properties: - acmeAccountID: - type: string - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - request.WebsiteSSLUpdate: - properties: - acmeAccountId: - type: integer - apply: - type: boolean - autoRenew: - type: boolean - description: - type: string - dir: - type: string - disableCNAME: - type: boolean - dnsAccountId: - type: integer - execShell: - type: boolean - id: - type: integer - keyType: - type: string - nameserver1: - type: string - nameserver2: - type: string - otherDomains: - type: string - primaryDomain: - type: string - provider: - type: string - pushDir: - type: boolean - shell: - type: string - skipDNS: - type: boolean - required: - - id - - primaryDomain - - provider - type: object - request.WebsiteSSLUpload: - properties: - certificate: - type: string - certificatePath: - type: string - description: - type: string - privateKey: - type: string - privateKeyPath: - type: string - sslID: - type: integer - type: - enum: - - paste - - local - type: string - required: - - type - type: object - request.WebsiteSearch: - properties: - name: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - primary_domain - - type - - status - - created_at - - expire_date - type: string - page: - type: integer - pageSize: - type: integer - websiteGroupId: - type: integer - required: - - order - - orderBy - - page - - pageSize - type: object - request.WebsiteUpdate: - properties: - IPV6: - type: boolean - expireDate: - type: string - id: - type: integer - primaryDomain: - type: string - remark: - type: string - webSiteGroupID: - type: integer - required: - - id - - primaryDomain - type: object - request.WebsiteUpdateDir: - properties: - id: - type: integer - siteDir: - type: string - required: - - id - - siteDir - type: object - request.WebsiteUpdateDirPermission: - properties: - group: - type: string - id: - type: integer - user: - type: string - required: - - group - - id - - user - type: object - response.AppDTO: - properties: - createdAt: - type: string - crossVersionUpdate: - type: boolean - document: - type: string - github: - type: string - icon: - type: string - id: - type: integer - installed: - type: boolean - key: - type: string - lastModified: - type: integer - limit: - type: integer - name: - type: string - readMe: - type: string - recommend: - type: integer - required: - type: string - resource: - type: string - shortDescEn: - type: string - shortDescZh: - type: string - status: - type: string - tags: - items: - $ref: '#/definitions/model.Tag' - type: array - type: - type: string - updatedAt: - type: string - versions: - items: - type: string - type: array - website: - type: string - type: object - response.AppDetailDTO: - properties: - appId: - type: integer - createdAt: - type: string - dockerCompose: - type: string - downloadCallBackUrl: - type: string - downloadUrl: - type: string - enable: - type: boolean - hostMode: - type: boolean - id: - type: integer - ignoreUpgrade: - type: boolean - image: - type: string - lastModified: - type: integer - lastVersion: - type: string - params: {} - status: - type: string - update: - type: boolean - updatedAt: - type: string - version: - type: string - type: object - response.AppInstalledCheck: - properties: - app: - type: string - appInstallId: - type: integer - containerName: - type: string - createdAt: - type: string - httpPort: - type: integer - httpsPort: - type: integer - installPath: - type: string - isExist: - type: boolean - lastBackupAt: - type: string - name: - type: string - status: - type: string - version: - type: string - type: object - response.AppParam: - properties: - edit: - type: boolean - key: - type: string - labelEn: - type: string - labelZh: - type: string - multiple: - type: boolean - required: - type: boolean - rule: - type: string - showValue: - type: string - type: - type: string - value: {} - values: {} - type: object - response.AppService: - properties: - config: {} - from: - type: string - label: - type: string - value: - type: string - type: object - response.FileInfo: - properties: - content: - type: string - extension: - type: string - favoriteID: - type: integer - gid: - type: string - group: - type: string - isDetail: - type: boolean - isDir: - type: boolean - isHidden: - type: boolean - isSymlink: - type: boolean - itemTotal: - type: integer - items: - items: - $ref: '#/definitions/files.FileInfo' - type: array - linkPath: - type: string - mimeType: - type: string - modTime: - type: string - mode: - type: string - name: - type: string - path: - type: string - size: - type: integer - type: - type: string - uid: - type: string - updateTime: - type: string - user: - type: string - type: object - response.FileTree: - properties: - children: - items: - $ref: '#/definitions/response.FileTree' - type: array - extension: - type: string - id: - type: string - isDir: - type: boolean - name: - type: string - path: - type: string - type: object - response.IgnoredApp: - properties: - detailID: - type: integer - icon: - type: string - name: - type: string - version: - type: string - type: object - response.NginxParam: - properties: - name: - type: string - params: - items: - type: string - type: array - type: object - response.NginxStatus: - properties: - accepts: - type: string - active: - type: string - handled: - type: string - reading: - type: string - requests: - type: string - waiting: - type: string - writing: - type: string - type: object - response.PHPConfig: - properties: - disableFunctions: - items: - type: string - type: array - params: - additionalProperties: - type: string - type: object - uploadMaxSize: - type: string - type: object - response.PHPExtensionsDTO: - properties: - createdAt: - type: string - extensions: - type: string - id: - type: integer - name: - type: string - updatedAt: - type: string - type: object - response.WebsiteAcmeAccountDTO: - properties: - createdAt: - type: string - eabHmacKey: - type: string - eabKid: - type: string - email: - type: string - id: - type: integer - keyType: - type: string - type: - type: string - updatedAt: - type: string - url: - type: string - type: object - response.WebsiteCADTO: - properties: - city: - type: string - commonName: - type: string - country: - type: string - createdAt: - type: string - csr: - type: string - id: - type: integer - keyType: - type: string - name: - type: string - organization: - type: string - organizationUint: - type: string - privateKey: - type: string - province: - type: string - updatedAt: - type: string - type: object - response.WebsiteDNSRes: - properties: - domain: - type: string - err: - type: string - resolve: - type: string - value: - type: string - type: object - response.WebsiteDTO: - properties: - IPV6: - type: boolean - accessLog: - type: boolean - accessLogPath: - type: string - alias: - type: string - appInstallId: - type: integer - appName: - type: string - createdAt: - type: string - defaultServer: - type: boolean - domains: - items: - $ref: '#/definitions/model.WebsiteDomain' - type: array - errorLog: - type: boolean - errorLogPath: - type: string - expireDate: - type: string - ftpId: - type: integer - group: - type: string - httpConfig: - type: string - id: - type: integer - primaryDomain: - type: string - protocol: - type: string - proxy: - type: string - proxyType: - type: string - remark: - type: string - rewrite: - type: string - runtimeID: - type: integer - runtimeName: - type: string - siteDir: - type: string - sitePath: - type: string - status: - type: string - type: - type: string - updatedAt: - type: string - user: - type: string - webSiteGroupId: - type: integer - webSiteSSL: - $ref: '#/definitions/model.WebsiteSSL' - webSiteSSLId: - type: integer - type: object - response.WebsiteHTTPS: - properties: - SSL: - $ref: '#/definitions/model.WebsiteSSL' - SSLProtocol: - items: - type: string - type: array - algorithm: - type: string - enable: - type: boolean - hsts: - type: boolean - httpConfig: - type: string - type: object - response.WebsiteLog: - properties: - content: - type: string - enable: - type: boolean - end: - type: boolean - path: - type: string - type: object - response.WebsiteNginxConfig: - properties: - enable: - type: boolean - params: - items: - $ref: '#/definitions/response.NginxParam' - type: array - type: object - response.WebsitePreInstallCheck: - properties: - appName: - type: string - name: - type: string - status: - type: string - version: - type: string - type: object -host: localhost -info: - contact: {} - description: 开源Linux面板 - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - termsOfService: http://swagger.io/terms/ - title: 1Panel - version: "1.0" -paths: - /apps/:key: - get: - consumes: - - application/json - description: 通过 key 获取应用信息 - parameters: - - description: app key - in: path - name: key - required: true - type: string - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.AppDTO' - security: - - ApiKeyAuth: [] - summary: Search app by key - tags: - - App - /apps/checkupdate: - get: - description: 获取应用更新版本 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get app list update - tags: - - App - /apps/detail/:appId/:version/:type: - get: - consumes: - - application/json - description: 通过 appid 获取应用详情 - parameters: - - description: app id - in: path - name: appId - required: true - type: integer - - description: app 版本 - in: path - name: version - required: true - type: string - - description: app 类型 - in: path - name: version - required: true - type: string - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.AppDetailDTO' - security: - - ApiKeyAuth: [] - summary: Search app detail by appid - tags: - - App - /apps/details/:id: - get: - consumes: - - application/json - description: 通过 id 获取应用详情 - parameters: - - description: id - in: path - name: appId - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.AppDetailDTO' - security: - - ApiKeyAuth: [] - summary: Get app detail by id - tags: - - App - /apps/ignored: - get: - consumes: - - application/json - description: 获取忽略的应用版本 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.IgnoredApp' - security: - - ApiKeyAuth: [] - summary: Get Ignore App - tags: - - App - /apps/install: - post: - consumes: - - application/json - description: 安装应用 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstallCreate' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/model.AppInstall' - security: - - ApiKeyAuth: [] - summary: Install app - tags: - - 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 - bodyKeys: - - name - formatEN: Install app [appKey]-[name] - formatZH: 安装应用 [appKey]-[name] - paramKeys: [] - /apps/installed/check: - post: - consumes: - - application/json - description: 检查应用安装情况 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstalledInfo' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.AppInstalledCheck' - security: - - ApiKeyAuth: [] - summary: Check app installed - tags: - - App - /apps/installed/conf: - post: - consumes: - - application/json - description: 通过 key 获取应用默认配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Search default config by key - tags: - - App - /apps/installed/conninfo/:key: - get: - consumes: - - application/json - description: 获取应用连接信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Search app password by key - tags: - - App - /apps/installed/delete/check/:appInstallId: - get: - consumes: - - application/json - description: 删除前检查 - parameters: - - description: App install id - in: path - name: appInstallId - required: true - type: integer - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.AppResource' - type: array - security: - - ApiKeyAuth: [] - summary: Check before delete - tags: - - App - /apps/installed/ignore: - post: - consumes: - - application/json - description: 忽略应用升级版本 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstalledIgnoreUpgrade' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: ignore App Update - tags: - - App - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - installId - formatEN: Application param update [installId] - formatZH: 忽略应用 [installId] 版本升级 - paramKeys: [] - /apps/installed/list: - get: - consumes: - - application/json - description: 获取已安装应用列表 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.AppInstallInfo' - type: array - security: - - ApiKeyAuth: [] - summary: List app installed - tags: - - App - /apps/installed/loadport: - post: - consumes: - - application/json - description: 获取应用端口 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - type: integer - security: - - ApiKeyAuth: [] - summary: Search app port by key - tags: - - App - /apps/installed/op: - post: - consumes: - - application/json - description: 操作已安装应用 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstalledOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate installed app - tags: - - App - x-panel-log: - BeforeFunctions: - - db: app_installs - input_column: id - input_value: installId - isList: false - output_column: app_id - output_value: appId - - db: app_installs - input_column: id - input_value: installId - isList: false - output_column: name - output_value: appName - - db: apps - input_column: id - input_value: appId - isList: false - output_column: key - output_value: appKey - bodyKeys: - - installId - - operate - formatEN: '[operate] App [appKey][appName]' - formatZH: '[operate] 应用 [appKey][appName]' - paramKeys: [] - /apps/installed/params/:appInstallId: - get: - consumes: - - application/json - description: 通过 install id 获取应用参数 - parameters: - - description: request - in: path - name: appInstallId - required: true - type: string - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.AppParam' - security: - - ApiKeyAuth: [] - summary: Search params by appInstallId - tags: - - App - /apps/installed/params/update: - post: - consumes: - - application/json - description: 修改应用参数 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstalledUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change app params - tags: - - App - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - installId - formatEN: Application param update [installId] - formatZH: 应用参数修改 [installId] - paramKeys: [] - /apps/installed/port/change: - post: - consumes: - - application/json - description: 修改应用端口 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.PortUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change app port - tags: - - App - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - name - - port - formatEN: Application port update [key]-[name] => [port] - formatZH: 应用端口修改 [key]-[name] => [port] - paramKeys: [] - /apps/installed/search: - post: - consumes: - - application/json - description: 分页获取已安装应用列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstalledSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Page app installed - tags: - - App - /apps/installed/sync: - post: - description: 同步已安装应用列表 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Sync app installed - tags: - - App - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Sync the list of installed apps - formatZH: 同步已安装应用列表 - paramKeys: [] - /apps/installed/update/versions: - post: - consumes: - - application/json - description: 通过 install id 获取应用更新版本 - parameters: - - description: request - in: path - name: appInstallId - required: true - type: integer - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.AppVersion' - type: array - security: - - ApiKeyAuth: [] - summary: Search app update version by install id - tags: - - App - /apps/search: - post: - consumes: - - application/json - description: 获取应用列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: List apps - tags: - - App - /apps/services/:key: - get: - consumes: - - application/json - description: 通过 key 获取应用 service - parameters: - - description: request - in: path - name: key - required: true - type: string - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.AppService' - type: array - security: - - ApiKeyAuth: [] - summary: Search app service by key - tags: - - App - /apps/sync: - post: - description: 同步应用列表 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Sync app list - tags: - - App - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: App store synchronization - formatZH: 应用商店同步 - paramKeys: [] - /auth/captcha: - get: - description: 加载验证码 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.CaptchaResponse' - summary: Load captcha - tags: - - Auth - /auth/demo: - get: - description: 判断是否为demo环境 - responses: - "200": - description: OK - summary: Check System isDemo - tags: - - Auth - /auth/issafety: - get: - description: 获取系统安全登录状态 - responses: - "200": - description: OK - summary: Load safety status - tags: - - Auth - /auth/language: - get: - description: 获取系统语言设置 - responses: - "200": - description: OK - summary: Load System Language - tags: - - Auth - /auth/login: - post: - consumes: - - application/json - description: 用户登录 - parameters: - - description: 安全入口 base64 加密串 - in: header - name: EntranceCode - required: true - type: string - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Login' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.UserLoginInfo' - summary: User login - tags: - - Auth - /auth/logout: - post: - description: 用户登出 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: User logout - tags: - - Auth - /auth/mfalogin: - post: - consumes: - - application/json - description: 用户 mfa 登录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MFALogin' - responses: - "200": - description: OK - headers: - EntranceCode: - description: 安全入口 - type: string - schema: - $ref: '#/definitions/dto.UserLoginInfo' - summary: User login with mfa - tags: - - Auth - /containers: - post: - consumes: - - application/json - description: 创建容器 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - image - formatEN: create container [name][image] - formatZH: 创建容器 [name][image] - paramKeys: [] - /containers/clean/log: - post: - consumes: - - application/json - description: 清理容器日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Clean container log - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: clean container [name] logs - formatZH: 清理容器 [name] 日志 - paramKeys: [] - /containers/commit: - post: - consumes: - - application/json - description: 容器提交生成新镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerCommit' - responses: - "200": - description: OK - summary: Commit Container - tags: - - Container - /containers/compose: - post: - consumes: - - application/json - description: 创建容器编排 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create compose - tags: - - Container Compose - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create compose [name] - formatZH: 创建 compose [name] - paramKeys: [] - /containers/compose/operate: - post: - consumes: - - application/json - description: 容器编排操作 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeOperation' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate compose - tags: - - Container Compose - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - operation - formatEN: compose [operation] [name] - formatZH: compose [operation] [name] - paramKeys: [] - /containers/compose/search: - post: - consumes: - - application/json - description: 获取编排列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page composes - tags: - - Container Compose - /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 - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Test compose - tags: - - Container Compose - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: check compose [name] - formatZH: 检测 compose [name] 格式 - paramKeys: [] - /containers/compose/update: - post: - consumes: - - application/json - description: 更新容器编排 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update compose - tags: - - Container Compose - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: update compose information [name] - formatZH: 更新 compose [name] - paramKeys: [] - /containers/daemonjson: - get: - description: 获取 docker 配置信息 - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DaemonJsonConf' - security: - - ApiKeyAuth: [] - summary: Load docker daemon.json - tags: - - Container Docker - /containers/daemonjson/file: - get: - description: 获取 docker 配置信息(表单) - produces: - - application/json - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Load docker daemon.json - tags: - - Container Docker - /containers/daemonjson/update: - post: - consumes: - - application/json - description: 修改 docker 配置信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SettingUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update docker daemon.json - tags: - - Container Docker - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: Updated configuration [key] - formatZH: 更新配置 [key] - paramKeys: [] - /containers/daemonjson/update/byfile: - post: - consumes: - - application/json - description: 上传替换 docker 配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DaemonJsonUpdateByFile' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update docker daemon.json by upload file - tags: - - Container Docker - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Updated configuration file - formatZH: 更新配置文件 - paramKeys: [] - /containers/docker/operate: - post: - consumes: - - application/json - description: Docker 操作 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DockerOperation' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate docker - tags: - - Container Docker - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] docker service' - formatZH: docker 服务 [operation] - paramKeys: [] - /containers/docker/status: - get: - description: 获取 docker 服务状态 - produces: - - application/json - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Load docker status - tags: - - Container Docker - /containers/download/log: - post: - description: 下载容器日志 - responses: {} - /containers/image: - get: - description: 获取镜像名称列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.Options' - type: array - security: - - ApiKeyAuth: [] - summary: load images options - tags: - - Container Image - /containers/image/all: - get: - description: 获取所有镜像列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.ImageInfo' - type: array - security: - - ApiKeyAuth: [] - summary: List all images - tags: - - Container Image - /containers/image/build: - post: - consumes: - - application/json - description: 构建镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageBuild' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Build image - tags: - - Container Image - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: build image [name] - formatZH: 构建镜像 [name] - paramKeys: [] - /containers/image/load: - post: - consumes: - - application/json - description: 导入镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageLoad' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load image - tags: - - Container Image - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: load image from [path] - formatZH: 从 [path] 加载镜像 - paramKeys: [] - /containers/image/pull: - post: - consumes: - - application/json - description: 拉取镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImagePull' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Pull image - tags: - - Container Image - x-panel-log: - BeforeFunctions: - - db: image_repos - input_column: id - input_value: repoID - isList: false - output_column: name - output_value: reponame - bodyKeys: - - repoID - - imageName - formatEN: image pull [reponame][imageName] - formatZH: 镜像拉取 [reponame][imageName] - paramKeys: [] - /containers/image/push: - post: - consumes: - - application/json - description: 推送镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImagePush' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Push image - tags: - - Container Image - x-panel-log: - BeforeFunctions: - - db: image_repos - input_column: id - input_value: repoID - isList: false - output_column: name - output_value: reponame - bodyKeys: - - repoID - - tagName - - name - formatEN: push [tagName] to [reponame][name] - formatZH: '[tagName] 推送到 [reponame][name]' - paramKeys: [] - /containers/image/remove: - post: - consumes: - - application/json - description: 删除镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete image - tags: - - Container Image - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - names - formatEN: remove image [names] - formatZH: 移除镜像 [names] - paramKeys: [] - /containers/image/save: - post: - consumes: - - application/json - description: 导出镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageSave' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Save image - tags: - - Container Image - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - tagName - - path - - name - formatEN: save [tagName] as [path]/[name] - formatZH: 保留 [tagName] 为 [path]/[name] - paramKeys: [] - /containers/image/search: - post: - consumes: - - application/json - description: 获取镜像列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page images - tags: - - Container Image - /containers/image/tag: - post: - consumes: - - application/json - description: Tag 镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageTag' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Tag image - tags: - - Container Image - x-panel-log: - BeforeFunctions: - - db: image_repos - input_column: id - input_value: repoID - isList: false - output_column: name - output_value: reponame - bodyKeys: - - repoID - - targetName - formatEN: tag image [reponame][targetName] - formatZH: tag 镜像 [reponame][targetName] - paramKeys: [] - /containers/info: - post: - consumes: - - application/json - description: 获取容器表单信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.ContainerOperate' - security: - - ApiKeyAuth: [] - summary: Load container info - tags: - - Container - /containers/inspect: - post: - consumes: - - application/json - description: 容器详情 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.InspectReq' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Container inspect - tags: - - Container - /containers/ipv6option/update: - post: - consumes: - - application/json - description: 修改 docker ipv6 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.LogOption' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update docker daemon.json ipv6 option - tags: - - Container Docker - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Updated the ipv6 option - formatZH: 更新 ipv6 配置 - paramKeys: [] - /containers/limit: - get: - description: 获取容器限制 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.ResourceLimit' - security: - - ApiKeyAuth: [] - summary: Load container limits - /containers/list: - post: - consumes: - - application/json - description: 获取容器名称 - produces: - - application/json - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: List containers - tags: - - Container - /containers/list/stats: - get: - description: 获取容器列表资源占用 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.ContainerListStats' - type: array - security: - - ApiKeyAuth: [] - summary: Load container stats - /containers/load/log: - post: - consumes: - - application/json - description: 获取容器操作日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load container log - tags: - - Container - /containers/logoption/update: - post: - consumes: - - application/json - description: 修改 docker 日志配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.LogOption' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update docker daemon.json log option - tags: - - Container Docker - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Updated the log option - formatZH: 更新日志配置 - paramKeys: [] - /containers/network: - get: - consumes: - - application/json - description: 获取容器网络列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.Options' - type: array - security: - - ApiKeyAuth: [] - summary: List networks - tags: - - Container Network - post: - consumes: - - application/json - description: 创建容器网络 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.NetworkCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create network - tags: - - Container Network - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create container network [name] - formatZH: 创建容器网络 name - paramKeys: [] - /containers/network/del: - post: - consumes: - - application/json - description: 删除容器网络 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete network - tags: - - Container Network - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - names - formatEN: delete container network [names] - formatZH: 删除容器网络 [names] - paramKeys: [] - /containers/network/search: - post: - consumes: - - application/json - description: 获取容器网络列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page networks - tags: - - Container Network - /containers/operate: - post: - consumes: - - application/json - description: 容器操作 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerOperation' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate Container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - names - - operation - formatEN: container [operation] [names] - formatZH: 容器 [names] 执行 [operation] - paramKeys: [] - /containers/prune: - post: - consumes: - - application/json - description: 容器清理 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerPrune' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.ContainerPruneReport' - security: - - ApiKeyAuth: [] - summary: Clean container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - pruneType - formatEN: clean container [pruneType] - formatZH: 清理容器 [pruneType] - paramKeys: [] - /containers/rename: - post: - consumes: - - application/json - description: 容器重命名 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerRename' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Rename Container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - newName - formatEN: rename container [name] => [newName] - formatZH: 容器重命名 [name] => [newName] - paramKeys: [] - /containers/repo: - get: - description: 获取镜像仓库列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.ImageRepoOption' - type: array - security: - - ApiKeyAuth: [] - summary: List image repos - tags: - - Container Image-repo - post: - consumes: - - application/json - description: 创建镜像仓库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageRepoDelete' - produces: - - application/json - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create image repo - tags: - - Container Image-repo - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create image repo [name] - formatZH: 创建镜像仓库 [name] - paramKeys: [] - /containers/repo/del: - post: - consumes: - - application/json - description: 删除镜像仓库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageRepoDelete' - produces: - - application/json - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete image repo - tags: - - Container Image-repo - x-panel-log: - BeforeFunctions: - - db: image_repos - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete image repo [names] - formatZH: 删除镜像仓库 [names] - paramKeys: [] - /containers/repo/search: - post: - consumes: - - application/json - description: 获取镜像仓库列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page image repos - tags: - - Container Image-repo - /containers/repo/status: - get: - consumes: - - application/json - description: 获取 docker 仓库状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - produces: - - application/json - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load repo status - tags: - - Container Image-repo - /containers/repo/update: - post: - consumes: - - application/json - description: 更新镜像仓库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageRepoUpdate' - produces: - - application/json - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update image repo - tags: - - Container Image-repo - x-panel-log: - BeforeFunctions: - - db: image_repos - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: update image repo information [name] - formatZH: 更新镜像仓库 [name] - paramKeys: [] - /containers/search: - post: - consumes: - - application/json - description: 获取容器列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageContainer' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page containers - tags: - - Container - /containers/search/log: - post: - description: 容器日志 - parameters: - - description: 容器名称 - in: query - name: container - 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 logs - tags: - - Container - /containers/stats/:id: - get: - description: 容器监控信息 - parameters: - - description: 容器id - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.ContainerStats' - security: - - ApiKeyAuth: [] - summary: Container stats - tags: - - Container - /containers/template: - get: - description: 获取容器编排模版列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.ComposeTemplateInfo' - type: array - security: - - ApiKeyAuth: [] - summary: List compose templates - tags: - - Container Compose-template - post: - consumes: - - application/json - description: 创建容器编排模版 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeTemplateCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create compose template - tags: - - Container Compose-template - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create compose template [name] - formatZH: 创建 compose 模版 [name] - paramKeys: [] - /containers/template/del: - post: - consumes: - - application/json - description: 删除容器编排模版 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete compose template - tags: - - Container Compose-template - x-panel-log: - BeforeFunctions: - - db: compose_templates - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete compose template [names] - formatZH: 删除 compose 模版 [names] - paramKeys: [] - /containers/template/search: - post: - consumes: - - application/json - description: 获取容器编排模版列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page compose templates - tags: - - Container Compose-template - /containers/template/update: - post: - consumes: - - application/json - description: 更新容器编排模版 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeTemplateUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update compose template - tags: - - Container Compose-template - x-panel-log: - BeforeFunctions: - - db: compose_templates - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: update compose template information [name] - formatZH: 更新 compose 模版 [name] - paramKeys: [] - /containers/update: - post: - consumes: - - application/json - description: 更新容器 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - image - formatEN: update container [name][image] - formatZH: 更新容器 [name][image] - paramKeys: [] - /containers/upgrade: - post: - consumes: - - application/json - description: 更新容器镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerUpgrade' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Upgrade container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - image - formatEN: upgrade container image [name][image] - formatZH: 更新容器镜像 [name][image] - paramKeys: [] - /containers/volume: - get: - consumes: - - application/json - description: 获取容器存储卷列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.Options' - type: array - security: - - ApiKeyAuth: [] - summary: List volumes - tags: - - Container Volume - post: - consumes: - - application/json - description: 创建容器存储卷 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.VolumeCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create volume - tags: - - Container Volume - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create container volume [name] - formatZH: 创建容器存储卷 [name] - paramKeys: [] - /containers/volume/del: - post: - consumes: - - application/json - description: 删除容器存储卷 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete volume - tags: - - Container Volume - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - names - formatEN: delete container volume [names] - formatZH: 删除容器存储卷 [names] - paramKeys: [] - /containers/volume/search: - post: - consumes: - - application/json - description: 获取容器存储卷分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page volumes - tags: - - Container Volume - /cronjobs: - post: - consumes: - - application/json - description: 创建计划任务 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create cronjob - tags: - - Cronjob - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - - name - formatEN: create cronjob [type][name] - formatZH: 创建计划任务 [type][name] - paramKeys: [] - /cronjobs/del: - post: - consumes: - - application/json - description: 删除计划任务 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobBatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete cronjob - tags: - - Cronjob - x-panel-log: - 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: - post: - consumes: - - application/json - description: 下载计划任务记录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobDownload' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download cronjob records - tags: - - Cronjob - x-panel-log: - BeforeFunctions: - - db: job_records - input_column: id - input_value: recordID - isList: false - output_column: file - output_value: file - bodyKeys: - - recordID - formatEN: download the cronjob record [file] - formatZH: 下载计划任务记录 [file] - paramKeys: [] - /cronjobs/handle: - post: - consumes: - - application/json - description: 手动执行计划任务 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Handle cronjob once - tags: - - Cronjob - x-panel-log: - BeforeFunctions: - - db: cronjobs - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: manually execute the cronjob [name] - formatZH: 手动执行计划任务 [name] - paramKeys: [] - /cronjobs/records/clean: - post: - consumes: - - application/json - description: 清空计划任务记录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobClean' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Clean job records - tags: - - Cronjob - x-panel-log: - BeforeFunctions: - - db: cronjobs - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: clean cronjob [name] records - formatZH: 清空计划任务记录 [name] - paramKeys: [] - /cronjobs/records/log: - post: - consumes: - - application/json - description: 获取计划任务记录日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load Cronjob record log - tags: - - Cronjob - /cronjobs/search: - post: - consumes: - - application/json - description: 获取计划任务分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageCronjob' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page cronjobs - tags: - - Cronjob - /cronjobs/search/records: - post: - consumes: - - application/json - description: 获取计划任务记录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchRecord' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page job records - tags: - - Cronjob - /cronjobs/status: - post: - consumes: - - application/json - description: 更新计划任务状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobUpdateStatus' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update cronjob status - tags: - - Cronjob - x-panel-log: - BeforeFunctions: - - db: cronjobs - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - - status - formatEN: change the status of cronjob [name] to [status]. - formatZH: 修改计划任务 [name] 状态为 [status] - paramKeys: [] - /cronjobs/update: - post: - consumes: - - application/json - description: 更新计划任务 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update cronjob - tags: - - Cronjob - x-panel-log: - BeforeFunctions: - - db: cronjobs - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: update cronjob [name] - formatZH: 更新计划任务 [name] - paramKeys: [] - /dashboard/base/:ioOption/:netOption: - get: - consumes: - - application/json - description: 获取首页基础数据 - parameters: - - description: request - in: path - name: ioOption - required: true - type: string - - description: request - in: path - name: netOption - required: true - type: string - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DashboardBase' - security: - - ApiKeyAuth: [] - summary: Load dashboard base info - tags: - - Dashboard - /dashboard/base/os: - get: - consumes: - - application/json - description: 获取服务器基础数据 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.OsInfo' - security: - - ApiKeyAuth: [] - summary: Load os info - tags: - - Dashboard - /dashboard/current/:ioOption/:netOption: - get: - consumes: - - application/json - description: 获取首页实时数据 - parameters: - - description: request - in: path - name: ioOption - required: true - type: string - - description: request - in: path - name: netOption - required: true - type: string - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DashboardCurrent' - security: - - ApiKeyAuth: [] - summary: Load dashboard current info - tags: - - Dashboard - /dashboard/system/restart/:operation: - post: - consumes: - - application/json - description: 重启服务器/面板 - parameters: - - description: request - in: path - name: operation - required: true - type: string - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: System restart - tags: - - Dashboard - /databases: - post: - consumes: - - application/json - description: 创建 mysql 数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlDBCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create mysql database - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create mysql database [name] - formatZH: 创建 mysql 数据库 [name] - paramKeys: [] - /databases/bind: - post: - consumes: - - application/json - description: 绑定 mysql 数据库用户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BindUser' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Bind user of mysql database - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - database - - username - formatEN: bind mysql database [database] [username] - formatZH: 绑定 mysql 数据库名 [database] [username] - paramKeys: [] - /databases/change/access: - post: - consumes: - - application/json - description: 修改 mysql 访问权限 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeDBInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change mysql access - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: - - db: database_mysqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Update database [name] access - formatZH: 更新数据库 [name] 访问权限 - paramKeys: [] - /databases/change/password: - post: - consumes: - - application/json - description: 修改 mysql 密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeDBInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change mysql password - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: - - db: database_mysqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Update database [name] password - formatZH: 更新数据库 [name] 密码 - paramKeys: [] - /databases/common/info: - post: - consumes: - - application/json - description: 获取数据库基础信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DBBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load base info - tags: - - Database Common - /databases/common/load/file: - post: - consumes: - - application/json - description: 获取数据库配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load Database conf - tags: - - Database Common - /databases/common/update/conf: - post: - consumes: - - application/json - description: 上传替换配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DBConfUpdateByFile' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update conf by upload file - tags: - - Database Common - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - - database - formatEN: update the [type] [database] database configuration information - formatZH: 更新 [type] 数据库 [database] 配置信息 - paramKeys: [] - /databases/db: - post: - consumes: - - application/json - description: 创建远程数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DatabaseCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create database - tags: - - Database - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - type - formatEN: create database [name][type] - formatZH: 创建远程数据库 [name][type] - paramKeys: [] - /databases/db/:name: - get: - description: 获取远程数据库 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DatabaseInfo' - security: - - ApiKeyAuth: [] - summary: Get databases - tags: - - Database - /databases/db/check: - post: - consumes: - - application/json - description: 检测远程数据库连接性 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DatabaseCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Check database - tags: - - Database - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - type - formatEN: check if database [name][type] is connectable - formatZH: 检测远程数据库 [name][type] 连接性 - paramKeys: [] - /databases/db/del: - post: - consumes: - - application/json - description: 删除远程数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DatabaseDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete database - tags: - - Database - x-panel-log: - BeforeFunctions: - - db: databases - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete database [names] - formatZH: 删除远程数据库 [names] - paramKeys: [] - /databases/db/item/:type: - get: - description: 获取数据库列表 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.DatabaseItem' - type: array - security: - - ApiKeyAuth: [] - summary: List databases - tags: - - Database - /databases/db/list/:type: - get: - description: 获取远程数据库列表 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.DatabaseOption' - type: array - security: - - ApiKeyAuth: [] - summary: List databases - tags: - - Database - /databases/db/search: - post: - consumes: - - application/json - description: 获取远程数据库列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DatabaseSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page databases - tags: - - Database - /databases/db/update: - post: - consumes: - - application/json - description: 更新远程数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DatabaseUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update database - tags: - - Database - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: update database [name] - formatZH: 更新远程数据库 [name] - paramKeys: [] - /databases/del: - post: - consumes: - - application/json - description: 删除 mysql 数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlDBDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete mysql database - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: - - db: database_mysqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: delete mysql database [name] - formatZH: 删除 mysql 数据库 [name] - paramKeys: [] - /databases/del/check: - post: - consumes: - - application/json - description: Mysql 数据库删除前检查 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlDBDeleteCheck' - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: Check before delete mysql database - tags: - - Database Mysql - /databases/description/update: - post: - consumes: - - application/json - description: 更新 mysql 数据库库描述信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateDescription' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update mysql database description - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: - - db: database_mysqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - - description - formatEN: The description of the mysql database [name] is modified => [description] - formatZH: mysql 数据库 [name] 描述信息修改 [description] - paramKeys: [] - /databases/load: - post: - consumes: - - application/json - description: 从服务器获取 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlLoadDB' - responses: {} - security: - - ApiKeyAuth: [] - summary: Load mysql database from remote - tags: - - Database Mysql - /databases/options: - get: - consumes: - - application/json - description: 获取 mysql 数据库列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageInfo' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.MysqlOption' - type: array - security: - - ApiKeyAuth: [] - summary: List mysql database names - tags: - - Database Mysql - /databases/pg: - post: - consumes: - - application/json - description: 创建 postgresql 数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlDBCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create postgresql database - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create postgresql database [name] - formatZH: 创建 postgresql 数据库 [name] - paramKeys: [] - /databases/pg/:database/load: - post: - consumes: - - application/json - description: 从服务器获取 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlLoadDB' - responses: {} - security: - - ApiKeyAuth: [] - summary: Load postgresql database from remote - tags: - - Database Postgresql - /databases/pg/bind: - post: - consumes: - - application/json - description: 绑定 postgresql 数据库用户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlBindUser' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Bind postgresql user - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - username - formatEN: bind postgresql database [name] user [username] - formatZH: 绑定 postgresql 数据库 [name] 用户 [username] - paramKeys: [] - /databases/pg/del: - post: - consumes: - - application/json - description: 删除 postgresql 数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlDBDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete postgresql database - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: - - db: database_postgresqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: delete postgresql database [name] - formatZH: 删除 postgresql 数据库 [name] - paramKeys: [] - /databases/pg/del/check: - post: - consumes: - - application/json - description: Postgresql 数据库删除前检查 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlDBDeleteCheck' - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: Check before delete postgresql database - tags: - - Database Postgresql - /databases/pg/description: - post: - consumes: - - application/json - description: 更新 postgresql 数据库库描述信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateDescription' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update postgresql database description - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: - - db: database_postgresqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - - description - formatEN: The description of the postgresql database [name] is modified => - [description] - formatZH: postgresql 数据库 [name] 描述信息修改 [description] - paramKeys: [] - /databases/pg/password: - post: - consumes: - - application/json - description: 修改 postgresql 密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeDBInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change postgresql password - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: - - db: database_postgresqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Update database [name] password - formatZH: 更新数据库 [name] 密码 - paramKeys: [] - /databases/pg/privileges: - post: - consumes: - - application/json - description: 修改 postgresql 用户权限 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeDBInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change postgresql privileges - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - database - - username - formatEN: Update [user] privileges of database [database] - formatZH: 更新数据库 [database] 用户 [username] 权限 - paramKeys: [] - /databases/pg/search: - post: - consumes: - - application/json - description: 获取 postgresql 数据库列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlDBSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page postgresql databases - tags: - - Database Postgresql - /databases/redis/conf: - post: - consumes: - - application/json - description: 获取 redis 配置信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.RedisConf' - security: - - ApiKeyAuth: [] - summary: Load redis conf - tags: - - Database Redis - /databases/redis/conf/update: - post: - consumes: - - application/json - description: 更新 redis 配置信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RedisConfUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update redis conf - tags: - - Database Redis - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: update the redis database configuration information - formatZH: 更新 redis 数据库配置信息 - paramKeys: [] - /databases/redis/install/cli: - post: - description: 安装 redis cli - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Install redis-cli - tags: - - Database Redis - /databases/redis/password: - post: - consumes: - - application/json - description: 更新 redis 密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeRedisPass' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change redis password - tags: - - Database Redis - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: change the password of the redis database - formatZH: 修改 redis 数据库密码 - paramKeys: [] - /databases/redis/persistence/conf: - post: - consumes: - - application/json - description: 获取 redis 持久化配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.RedisPersistence' - security: - - ApiKeyAuth: [] - summary: Load redis persistence conf - tags: - - Database Redis - /databases/redis/persistence/update: - post: - consumes: - - application/json - description: 更新 redis 持久化配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RedisConfPersistenceUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update redis persistence conf - tags: - - Database Redis - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: redis database persistence configuration update - formatZH: redis 数据库持久化配置更新 - paramKeys: [] - /databases/redis/status: - post: - consumes: - - application/json - description: 获取 redis 状态信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.RedisStatus' - security: - - ApiKeyAuth: [] - summary: Load redis status info - tags: - - Database Redis - /databases/remote: - post: - consumes: - - application/json - description: 获取 mysql 远程访问权限 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - type: boolean - security: - - ApiKeyAuth: [] - summary: Load mysql remote access - tags: - - Database Mysql - /databases/search: - post: - consumes: - - application/json - description: 获取 mysql 数据库列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlDBSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page mysql databases - tags: - - Database Mysql - /databases/status: - post: - consumes: - - application/json - description: 获取 mysql 状态信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.MysqlStatus' - security: - - ApiKeyAuth: [] - summary: Load mysql status info - tags: - - Database Mysql - /databases/variables: - post: - consumes: - - application/json - description: 获取 mysql 性能参数信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.MysqlVariables' - security: - - ApiKeyAuth: [] - summary: Load mysql variables info - tags: - - Database Mysql - /databases/variables/update: - post: - consumes: - - application/json - description: mysql 性能调优 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlVariablesUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update mysql variables - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: adjust mysql database performance parameters - formatZH: 调整 mysql 数据库性能参数 - paramKeys: [] - /db/remote/del/check: - post: - consumes: - - application/json - description: Mysql 远程数据库删除前检查 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: Check before delete remote database - tags: - - Database - /files: - post: - consumes: - - application/json - description: 创建文件/文件夹 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Create dir or file [path] - formatZH: 创建文件/文件夹 [path] - paramKeys: [] - /files/batch/del: - post: - consumes: - - application/json - description: 批量删除文件/文件夹 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileBatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Batch delete file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - paths - formatEN: Batch delete dir or file [paths] - formatZH: 批量删除文件/文件夹 [paths] - paramKeys: [] - /files/batch/role: - post: - consumes: - - application/json - description: 批量修改文件权限和用户/组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileRoleReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Batch change file mode and owner - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - paths - - mode - - user - - group - formatEN: Batch change file mode and owner [paths] => [mode]/[user]/[group] - formatZH: 批量修改文件权限和用户/组 [paths] => [mode]/[user]/[group] - paramKeys: [] - /files/check: - post: - consumes: - - application/json - description: 检测文件是否存在 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FilePathCheck' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Check file exist - tags: - - File - /files/chunkdownload: - post: - consumes: - - application/json - description: 分片下载下载文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileDownload' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Chunk Download file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Download file [name] - formatZH: 下载文件 [name] - paramKeys: [] - /files/chunkupload: - post: - description: 分片上传文件 - parameters: - - description: request - in: formData - name: file - required: true - type: file - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: ChunkUpload file - tags: - - File - /files/compress: - post: - consumes: - - application/json - description: 压缩文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileCompress' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Compress file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Compress file [name] - formatZH: 压缩文件 [name] - paramKeys: [] - /files/content: - post: - consumes: - - application/json - description: 获取文件内容 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileContentReq' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.FileInfo' - security: - - ApiKeyAuth: [] - summary: Load file content - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Load file content [path] - formatZH: 获取文件内容 [path] - paramKeys: [] - /files/decompress: - post: - consumes: - - application/json - description: 解压文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileDeCompress' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Decompress file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Decompress file [path] - formatZH: 解压 [path] - paramKeys: [] - /files/del: - post: - consumes: - - application/json - description: 删除文件/文件夹 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Delete dir or file [path] - formatZH: 删除文件/文件夹 [path] - paramKeys: [] - /files/download: - get: - consumes: - - application/json - description: 下载文件 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download file - tags: - - File - /files/favorite: - post: - consumes: - - application/json - description: 创建收藏 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FavoriteCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create favorite - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: 收藏文件/文件夹 [path] - formatZH: 收藏文件/文件夹 [path] - paramKeys: [] - /files/favorite/del: - post: - consumes: - - application/json - description: 删除收藏 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FavoriteDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete favorite - tags: - - File - x-panel-log: - BeforeFunctions: - - db: favorites - input_column: id - input_value: id - isList: false - output_column: path - output_value: path - bodyKeys: - - id - formatEN: delete avorite [path] - formatZH: 删除收藏 [path] - paramKeys: [] - /files/favorite/search: - post: - consumes: - - application/json - description: 获取收藏列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: List favorites - tags: - - File - /files/mode: - post: - consumes: - - application/json - description: 修改文件权限 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change file mode - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - - mode - formatEN: Change mode [paths] => [mode] - formatZH: 修改权限 [paths] => [mode] - paramKeys: [] - /files/move: - post: - consumes: - - application/json - description: 移动文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileMove' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Move file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - oldPaths - - newPath - formatEN: Move [oldPaths] => [newPath] - formatZH: 移动文件 [oldPaths] => [newPath] - paramKeys: [] - /files/owner: - post: - consumes: - - application/json - description: 修改文件用户/组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileRoleUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change file owner - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - - user - - group - formatEN: Change owner [paths] => [user]/[group] - formatZH: 修改用户/组 [paths] => [user]/[group] - paramKeys: [] - /files/read: - post: - description: 按行读取日志文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileReadByLineReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Read file by Line - tags: - - File - /files/recycle/clear: - post: - consumes: - - application/json - description: 清空回收站文件 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Clear RecycleBin files - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: 清空回收站 - formatZH: 清空回收站 - paramKeys: [] - /files/recycle/reduce: - post: - consumes: - - application/json - description: 还原回收站文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RecycleBinReduce' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Reduce RecycleBin files - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Reduce RecycleBin file [name] - formatZH: 还原回收站文件 [name] - paramKeys: [] - /files/recycle/search: - post: - consumes: - - application/json - description: 获取回收站文件列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: List RecycleBin files - tags: - - File - /files/recycle/status: - get: - consumes: - - application/json - description: 获取回收站状态 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get RecycleBin status - tags: - - File - /files/rename: - post: - consumes: - - application/json - description: 修改文件名称 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileRename' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change file name - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - oldName - - newName - formatEN: Rename [oldName] => [newName] - formatZH: 重命名 [oldName] => [newName] - paramKeys: [] - /files/save: - post: - consumes: - - application/json - description: 更新文件内容 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileEdit' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update file content - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Update file content [path] - formatZH: 更新文件内容 [path] - paramKeys: [] - /files/search: - post: - consumes: - - application/json - description: 获取文件列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileOption' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.FileInfo' - security: - - ApiKeyAuth: [] - summary: List files - tags: - - File - /files/size: - post: - consumes: - - application/json - description: 获取文件夹大小 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.DirSizeReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load file size - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Load file size [path] - formatZH: 获取文件夹大小 [path] - paramKeys: [] - /files/tree: - post: - consumes: - - application/json - description: 加载文件树 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileOption' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.FileTree' - type: array - security: - - ApiKeyAuth: [] - summary: Load files tree - tags: - - File - /files/upload: - post: - description: 上传文件 - parameters: - - description: request - in: formData - name: file - required: true - type: file - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Upload file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Upload file [path] - formatZH: 上传文件 [path] - paramKeys: [] - /files/upload/search: - post: - consumes: - - application/json - description: 分页获取上传文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.SearchUploadWithPage' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.FileInfo' - type: array - security: - - ApiKeyAuth: [] - summary: Page file - tags: - - File - /files/wget: - post: - consumes: - - application/json - description: 下载远端文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileWget' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Wget file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - url - - path - - name - formatEN: Download url => [path]/[name] - formatZH: 下载 url => [path]/[name] - paramKeys: [] - /groups: - post: - consumes: - - application/json - description: 创建系统组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.GroupCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - System Group - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - type - formatEN: create group [name][type] - formatZH: 创建组 [name][type] - paramKeys: [] - /groups/del: - post: - consumes: - - application/json - description: 删除系统组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete group - tags: - - System Group - x-panel-log: - 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: [] - /groups/search: - post: - consumes: - - application/json - description: 查询系统组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.GroupSearch' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.GroupInfo' - type: array - security: - - ApiKeyAuth: [] - summary: List groups - tags: - - System Group - /groups/update: - post: - consumes: - - application/json - description: 更新系统组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.GroupUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update group - tags: - - System Group - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - type - formatEN: update group [name][type] - formatZH: 更新组 [name][type] - paramKeys: [] - /host/conffile/update: - post: - consumes: - - application/json - description: 上传文件更新 SSH 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SSHConf' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update host SSH setting by file - tags: - - SSH - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: update SSH conf - formatZH: 修改 SSH 配置文件 - paramKeys: [] - /host/ssh/conf: - get: - description: 获取 SSH 配置文件 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load host SSH conf - tags: - - SSH - /host/ssh/generate: - post: - consumes: - - application/json - description: 生成 SSH 密钥 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.GenerateSSH' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Generate host SSH secret - tags: - - SSH - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: generate SSH secret - formatZH: '生成 SSH 密钥 ' - paramKeys: [] - /host/ssh/log: - post: - consumes: - - application/json - description: 获取 SSH 登录日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchSSHLog' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.SSHLog' - security: - - ApiKeyAuth: [] - summary: Load host SSH logs - tags: - - SSH - /host/ssh/operate: - post: - consumes: - - application/json - description: 修改 SSH 服务状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Operate' - responses: {} - security: - - ApiKeyAuth: [] - summary: Operate SSH - tags: - - SSH - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] SSH' - formatZH: '[operation] SSH ' - paramKeys: [] - /host/ssh/search: - post: - description: 加载 SSH 配置信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.SSHInfo' - security: - - ApiKeyAuth: [] - summary: Load host SSH setting info - tags: - - SSH - /host/ssh/secret: - post: - consumes: - - application/json - description: 获取 SSH 密钥 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.GenerateLoad' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load host SSH secret - tags: - - SSH - /host/ssh/update: - post: - consumes: - - application/json - description: 更新 SSH 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SSHUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update host SSH setting - tags: - - SSH - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: update SSH setting [key] => [value] - formatZH: 修改 SSH 配置 [key] => [value] - paramKeys: [] - /host/tool: - post: - consumes: - - application/json - description: 获取主机工具状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.HostToolReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get tool - tags: - - Host tool - /host/tool/config: - post: - consumes: - - application/json - description: 操作主机工具配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.HostToolConfig' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get tool config - tags: - - Host tool - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operate - formatEN: '[operate] tool config' - formatZH: '[operate] 主机工具配置文件 ' - paramKeys: [] - /host/tool/create: - post: - consumes: - - application/json - description: 创建主机工具配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.HostToolCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create Host tool Config - tags: - - Host tool - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - formatEN: create [type] config - formatZH: 创建 [type] 配置 - paramKeys: [] - /host/tool/log: - post: - consumes: - - application/json - description: 获取主机工具日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.HostToolLogReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get tool - tags: - - Host tool - /host/tool/operate: - post: - consumes: - - application/json - description: 操作主机工具 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.HostToolReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate tool - tags: - - Host tool - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operate - - type - formatEN: '[operate] [type]' - formatZH: '[operate] [type] ' - paramKeys: [] - /host/tool/supervisor/process: - get: - consumes: - - application/json - description: 获取 Supervisor 进程配置 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get Supervisor process config - tags: - - Host tool - post: - consumes: - - application/json - description: 操作守护进程 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.SupervisorProcessConfig' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create Supervisor process - tags: - - Host tool - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operate - formatEN: '[operate] process' - formatZH: '[operate] 守护进程 ' - paramKeys: [] - /host/tool/supervisor/process/file: - post: - consumes: - - application/json - description: 操作 Supervisor 进程文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.SupervisorProcessFileReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get Supervisor process config - tags: - - Host tool - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operate - formatEN: '[operate] Supervisor Process Config file' - formatZH: '[operate] Supervisor 进程文件 ' - paramKeys: [] - /hosts: - post: - consumes: - - application/json - description: 创建主机 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.HostOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create host - tags: - - Host - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - addr - formatEN: create host [name][addr] - formatZH: 创建主机 [name][addr] - paramKeys: [] - /hosts/command: - get: - description: 获取快速命令列表 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.CommandInfo' - security: - - ApiKeyAuth: [] - summary: List commands - tags: - - Command - post: - consumes: - - application/json - description: 创建快速命令 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CommandOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create command - tags: - - Command - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - command - formatEN: create quick command [name][command] - formatZH: 创建快捷命令 [name][command] - paramKeys: [] - /hosts/command/del: - post: - consumes: - - application/json - description: 删除快速命令 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete command - tags: - - Command - x-panel-log: - BeforeFunctions: - - db: commands - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete quick command [names] - formatZH: 删除快捷命令 [names] - paramKeys: [] - /hosts/command/redis: - get: - description: 获取 redis 快速命令列表 - responses: - "200": - description: OK - schema: - type: Array - security: - - ApiKeyAuth: [] - summary: List redis commands - tags: - - Redis Command - post: - consumes: - - application/json - description: 保存 Redis 快速命令 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RedisCommand' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Save redis command - tags: - - Redis Command - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - command - formatEN: save quick command for redis [name][command] - formatZH: 保存 redis 快捷命令 [name][command] - paramKeys: [] - /hosts/command/redis/del: - post: - consumes: - - application/json - description: 删除 redis 快速命令 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete redis command - tags: - - Redis Command - x-panel-log: - BeforeFunctions: - - db: redis_commands - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete quick command of redis [names] - formatZH: 删除 redis 快捷命令 [names] - paramKeys: [] - /hosts/command/redis/search: - post: - consumes: - - application/json - description: 获取 redis 快速命令列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page redis commands - tags: - - Redis Command - /hosts/command/search: - post: - consumes: - - application/json - description: 获取快速命令列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page commands - tags: - - Command - /hosts/command/tree: - get: - consumes: - - application/json - description: 获取快速命令树 - responses: - "200": - description: OK - schema: - type: Array - security: - - ApiKeyAuth: [] - summary: Tree commands - tags: - - Command - /hosts/command/update: - post: - consumes: - - application/json - description: 更新快速命令 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CommandOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update command - tags: - - Command - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: update quick command [name] - formatZH: 更新快捷命令 [name] - paramKeys: [] - /hosts/del: - post: - consumes: - - application/json - description: 删除主机 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete host - tags: - - Host - x-panel-log: - 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: [] - /hosts/firewall/base: - get: - description: 获取防火墙基础信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.FirewallBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load firewall base info - tags: - - Firewall - /hosts/firewall/batch: - post: - consumes: - - application/json - description: 批量删除防火墙规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchRuleOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - /hosts/firewall/forward: - post: - consumes: - - application/json - description: 更新防火墙端口转发规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ForwardRuleOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - source_port - formatEN: update port forward rules [source_port] - formatZH: 更新端口转发规则 [source_port] - paramKeys: [] - /hosts/firewall/ip: - post: - consumes: - - application/json - description: 创建防火墙 IP 规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.AddrRuleOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - strategy - - address - formatEN: create address rules [strategy][address] - formatZH: 添加 ip 规则 [strategy] [address] - paramKeys: [] - /hosts/firewall/operate: - post: - consumes: - - application/json - description: 修改防火墙状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.FirewallOperation' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page firewall status - tags: - - Firewall - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] firewall' - formatZH: '[operation] 防火墙' - paramKeys: [] - /hosts/firewall/port: - post: - consumes: - - application/json - description: 创建防火墙端口规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PortRuleOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - port - - strategy - formatEN: create port rules [strategy][port] - formatZH: 添加端口规则 [strategy] [port] - paramKeys: [] - /hosts/firewall/search: - post: - consumes: - - application/json - description: 获取防火墙规则列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RuleSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page firewall rules - tags: - - Firewall - /hosts/firewall/update/addr: - post: - consumes: - - application/json - description: 更新 ip 防火墙规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.AddrRuleUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - /hosts/firewall/update/description: - post: - consumes: - - application/json - description: 更新防火墙描述 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateFirewallDescription' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update rule description - tags: - - Firewall - /hosts/firewall/update/port: - post: - consumes: - - application/json - description: 更新端口防火墙规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PortRuleUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - /hosts/monitor/clean: - post: - description: 清空监控数据 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Clean monitor datas - tags: - - Monitor - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: clean monitor datas - formatZH: 清空监控数据 - paramKeys: [] - /hosts/monitor/search: - post: - description: 获取监控数据 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MonitorSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load monitor datas - tags: - - Monitor - /hosts/search: - post: - consumes: - - application/json - description: 获取主机列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchHostWithPage' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.HostTree' - type: array - security: - - ApiKeyAuth: [] - summary: Page host - tags: - - Host - /hosts/test/byid/:id: - post: - consumes: - - application/json - description: 测试主机连接 - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - type: boolean - security: - - ApiKeyAuth: [] - summary: Test host conn by host id - tags: - - Host - /hosts/test/byinfo: - post: - consumes: - - application/json - description: 测试主机连接 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.HostConnTest' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Test host conn by info - tags: - - Host - /hosts/tree: - post: - consumes: - - application/json - description: 加载主机树 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchForTree' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.HostTree' - type: array - security: - - ApiKeyAuth: [] - summary: Load host tree - tags: - - Host - /hosts/update: - post: - consumes: - - application/json - description: 更新主机 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.HostOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update host - tags: - - Host - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - addr - formatEN: update host [name][addr] - formatZH: 更新主机信息 [name][addr] - paramKeys: [] - /hosts/update/group: - post: - consumes: - - application/json - description: 切换分组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeHostGroup' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update host group - tags: - - Host - x-panel-log: - 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 => [group] - formatZH: 切换主机[addr]分组 => [group] - paramKeys: [] - /logs/clean: - post: - consumes: - - application/json - description: 清空操作日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CleanLog' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Clean operation logs - tags: - - Logs - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - logType - formatEN: Clean the [logType] log information - formatZH: 清空 [logType] 日志信息 - paramKeys: [] - /logs/login: - post: - consumes: - - application/json - description: 获取系统登录日志列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchLgLogWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page login logs - tags: - - Logs - /logs/operation: - post: - consumes: - - application/json - description: 获取系统操作日志列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchOpLogWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page operation logs - tags: - - Logs - /logs/system: - post: - description: 获取系统日志 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load system logs - tags: - - Logs - /logs/system/files: - get: - description: 获取系统日志文件列表 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load system log files - tags: - - Logs - /openresty: - get: - description: 获取 OpenResty 配置信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.FileInfo' - security: - - ApiKeyAuth: [] - summary: Load OpenResty conf - tags: - - OpenResty - /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 - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxConfigFileUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update OpenResty conf by upload file - tags: - - OpenResty - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Update nginx conf - formatZH: 更新 nginx 配置 - paramKeys: [] - /openresty/scope: - post: - consumes: - - application/json - description: 获取部分 OpenResty 配置信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxScopeReq' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.NginxParam' - type: array - security: - - ApiKeyAuth: [] - summary: Load partial OpenResty conf - tags: - - OpenResty - /openresty/status: - get: - description: 获取 OpenResty 状态信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.NginxStatus' - security: - - ApiKeyAuth: [] - summary: Load OpenResty status info - tags: - - OpenResty - /openresty/update: - post: - consumes: - - application/json - description: 更新 OpenResty 配置信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxConfigUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update OpenResty conf - tags: - - OpenResty - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteId - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteId - formatEN: Update nginx conf [domain] - formatZH: 更新 nginx 配置 [domain] - paramKeys: [] - /process/stop: - post: - description: 停止进程 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.ProcessReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Stop Process - tags: - - Process - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - PID - formatEN: 结束进程 [PID] - formatZH: 结束进程 [PID] - paramKeys: [] - /runtimes: - post: - consumes: - - application/json - description: 创建运行环境 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RuntimeCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create runtime - tags: - - Runtime - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Create runtime [name] - formatZH: 创建运行环境 [name] - paramKeys: [] - /runtimes/:id: - get: - consumes: - - application/json - description: 获取运行环境 - parameters: - - description: request - in: path - name: id - required: true - type: string - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get runtime - tags: - - Runtime - /runtimes/del: - post: - consumes: - - application/json - description: 删除运行环境 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RuntimeDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete runtime - tags: - - Website - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - id - formatEN: Delete website [name] - formatZH: 删除网站 [name] - paramKeys: [] - /runtimes/node/modules: - post: - consumes: - - application/json - description: 获取 Node 项目的 modules - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NodeModuleReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get Node modules - tags: - - Runtime - /runtimes/node/modules/operate: - post: - consumes: - - application/json - description: 操作 Node 项目 modules - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NodeModuleReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate Node modules - tags: - - Runtime - /runtimes/node/package: - post: - consumes: - - application/json - description: 获取 Node 项目的 scripts - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NodePackageReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get Node package scripts - tags: - - Runtime - /runtimes/operate: - post: - consumes: - - application/json - description: 操作运行环境 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RuntimeOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate runtime - tags: - - Runtime - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - id - formatEN: Operate runtime [name] - formatZH: 操作运行环境 [name] - paramKeys: [] - /runtimes/php/extensions: - post: - consumes: - - application/json - description: Create Extensions - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.PHPExtensionsCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create Extensions - tags: - - PHP Extensions - /runtimes/php/extensions/del: - post: - consumes: - - application/json - description: Delete Extensions - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.PHPExtensionsDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete Extensions - tags: - - PHP Extensions - /runtimes/php/extensions/search: - post: - consumes: - - application/json - description: Page Extensions - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.PHPExtensionsSearch' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.PHPExtensionsDTO' - type: array - security: - - ApiKeyAuth: [] - summary: Page Extensions - tags: - - PHP Extensions - /runtimes/php/extensions/update: - post: - consumes: - - application/json - description: Update Extensions - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.PHPExtensionsUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update Extensions - tags: - - PHP Extensions - /runtimes/search: - post: - consumes: - - application/json - description: 获取运行环境列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RuntimeSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: List runtimes - tags: - - Runtime - /runtimes/sync: - post: - consumes: - - application/json - description: 同步运行环境状态 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Sync runtime status - tags: - - Runtime - /runtimes/update: - post: - consumes: - - application/json - description: 更新运行环境 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RuntimeUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update runtime - tags: - - Runtime - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Update runtime [name] - formatZH: 更新运行环境 [name] - paramKeys: [] - /settings/backup: - post: - consumes: - - application/json - description: 创建备份账号 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BackupOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create backup account - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - formatEN: create backup account [type] - formatZH: 创建备份账号 [type] - paramKeys: [] - /settings/backup/backup: - post: - consumes: - - application/json - description: 备份系统数据 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CommonBackup' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Backup system data - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - - name - - detailName - formatEN: backup [type] data [name][detailName] - formatZH: 备份 [type] 数据 [name][detailName] - paramKeys: [] - /settings/backup/del: - post: - consumes: - - application/json - description: 删除备份账号 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - 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: [] - /settings/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 - /settings/backup/record/del: - post: - consumes: - - application/json - description: 删除备份记录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete backup record - tags: - - Backup Account - x-panel-log: - BeforeFunctions: - - db: backup_records - input_column: id - input_value: ids - isList: true - output_column: file_name - output_value: files - bodyKeys: - - ids - formatEN: delete backup records [files] - formatZH: 删除备份记录 [files] - paramKeys: [] - /settings/backup/record/download: - post: - consumes: - - application/json - description: 下载备份记录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DownloadRecord' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download backup record - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - source - - fileName - formatEN: download backup records [source][fileName] - formatZH: 下载备份记录 [source][fileName] - paramKeys: [] - /settings/backup/record/search: - post: - consumes: - - application/json - description: 获取备份记录列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RecordSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Page backup records - tags: - - Backup Account - /settings/backup/record/search/bycronjob: - post: - consumes: - - application/json - description: 通过计划任务获取备份记录列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RecordSearchByCronjob' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Page backup records by cronjob - tags: - - Backup Account - /settings/backup/recover: - post: - consumes: - - application/json - description: 恢复系统数据 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CommonRecover' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Recover system data - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - - name - - detailName - - file - formatEN: recover [type] data [name][detailName] from [file] - formatZH: 从 [file] 恢复 [type] 数据 [name][detailName] - paramKeys: [] - /settings/backup/recover/byupload: - post: - consumes: - - application/json - description: 从上传恢复系统数据 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CommonRecover' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Recover system data by upload - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - - name - - detailName - - file - formatEN: recover [type] data [name][detailName] from [file] - formatZH: 从 [file] 恢复 [type] 数据 [name][detailName] - paramKeys: [] - /settings/backup/refresh/onedrive: - post: - description: 刷新 OneDrive token - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Refresh OneDrive token - tags: - - Backup Account - /settings/backup/search: - get: - description: 获取备份账号列表 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.BackupInfo' - type: array - security: - - ApiKeyAuth: [] - summary: List backup accounts - tags: - - Backup Account - post: - consumes: - - application/json - description: 获取 bucket 列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ForBuckets' - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: List buckets - tags: - - Backup Account - /settings/backup/search/files: - post: - consumes: - - application/json - description: 获取备份账号内文件列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BackupSearchFile' - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: List files from backup accounts - tags: - - Backup Account - /settings/backup/update: - post: - consumes: - - application/json - description: 更新备份账号信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BackupOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update backup account - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - formatEN: update backup account [types] - formatZH: 更新备份账号 [types] - paramKeys: [] - /settings/basedir: - get: - description: 获取安装根目录 - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Load local backup dir - tags: - - System Setting - /settings/bind/update: - post: - consumes: - - application/json - description: 更新系统监听信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BindInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system bind info - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - ipv6 - - bindAddress - formatEN: 'update system bind info => ipv6: [ipv6], 监听 IP: [bindAddress]' - formatZH: '修改系统监听信息 => ipv6: [ipv6], 监听 IP: [bindAddress]' - paramKeys: [] - /settings/expired/handle: - post: - consumes: - - application/json - description: 重置过期系统登录密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PasswordUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Reset system password expired - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: reset an expired Password - formatZH: 重置过期密码 - paramKeys: [] - /settings/interface: - get: - consumes: - - application/json - description: 获取系统地址信息 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load system address - tags: - - System Setting - /settings/menu/update: - post: - consumes: - - application/json - description: 隐藏高级功能菜单 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SettingUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system setting - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Hide advanced feature menu. - formatZH: 隐藏高级功能菜单 - paramKeys: [] - /settings/mfa: - post: - consumes: - - application/json - description: 获取 mfa 信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MfaCredential' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/mfa.Otp' - security: - - ApiKeyAuth: [] - summary: Load mfa info - tags: - - System Setting - /settings/mfa/bind: - post: - consumes: - - application/json - description: Mfa 绑定 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MfaCredential' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Bind mfa - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: bind mfa - formatZH: mfa 绑定 - paramKeys: [] - /settings/password/update: - post: - consumes: - - application/json - description: 更新系统登录密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PasswordUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system password - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: update system password - formatZH: 修改系统密码 - paramKeys: [] - /settings/port/update: - post: - consumes: - - application/json - description: 更新系统端口 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PortUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system port - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - serverPort - formatEN: update system port => [serverPort] - formatZH: 修改系统端口 => [serverPort] - paramKeys: [] - /settings/proxy/update: - post: - consumes: - - application/json - description: 服务器代理配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ProxyUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update proxy setting - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - proxyUrl - - proxyPort - formatEN: set proxy [proxyPort]:[proxyPort]. - formatZH: 服务器代理配置 [proxyPort]:[proxyPort] - paramKeys: [] - /settings/search: - post: - description: 加载系统配置信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.SettingInfo' - security: - - ApiKeyAuth: [] - summary: Load system setting info - tags: - - System Setting - /settings/search/available: - get: - description: 获取系统可用状态 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load system available status - tags: - - System Setting - /settings/snapshot: - post: - consumes: - - application/json - description: 创建系统快照 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SnapshotCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create system snapshot - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - from - - description - formatEN: Create system backup [description] to [from] - formatZH: 创建系统快照 [description] 到 [from] - paramKeys: [] - /settings/snapshot/del: - post: - consumes: - - application/json - description: 删除系统快照 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SnapshotBatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete system backup - tags: - - System Setting - x-panel-log: - BeforeFunctions: - - db: snapshots - input_column: id - input_value: ids - isList: true - output_column: name - output_value: name - bodyKeys: - - ids - formatEN: Delete system backup [name] - formatZH: 删除系统快照 [name] - paramKeys: [] - /settings/snapshot/description/update: - post: - consumes: - - application/json - description: 更新快照描述信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateDescription' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update snapshot description - tags: - - System Setting - x-panel-log: - BeforeFunctions: - - db: snapshots - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - - description - formatEN: The description of the snapshot [name] is modified => [description] - formatZH: 快照 [name] 描述信息修改 [description] - paramKeys: [] - /settings/snapshot/import: - post: - consumes: - - application/json - description: 导入已有快照 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SnapshotImport' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Import system snapshot - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - from - - names - formatEN: Sync system snapshots [names] from [from] - formatZH: 从 [from] 同步系统快照 [names] - paramKeys: [] - /settings/snapshot/recover: - post: - consumes: - - application/json - description: 从系统快照恢复 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SnapshotRecover' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Recover system backup - tags: - - System Setting - x-panel-log: - BeforeFunctions: - - db: snapshots - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Recover from system backup [name] - formatZH: 从系统快照 [name] 恢复 - paramKeys: [] - /settings/snapshot/rollback: - post: - consumes: - - application/json - description: 从系统快照回滚 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SnapshotRecover' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Rollback system backup - tags: - - System Setting - x-panel-log: - BeforeFunctions: - - db: snapshots - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Rollback from system backup [name] - formatZH: 从系统快照 [name] 回滚 - paramKeys: [] - /settings/snapshot/search: - post: - consumes: - - application/json - description: 获取系统快照列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page system snapshot - tags: - - System Setting - /settings/snapshot/status: - post: - consumes: - - application/json - description: 获取快照状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load Snapshot status - tags: - - System Setting - /settings/ssl/download: - post: - description: 下载证书 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download system cert - tags: - - System Setting - /settings/ssl/info: - get: - description: 获取证书信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.SettingInfo' - security: - - ApiKeyAuth: [] - summary: Load system cert info - tags: - - System Setting - /settings/ssl/update: - post: - consumes: - - application/json - description: 修改系统 ssl 登录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SSLUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system ssl - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - ssl - formatEN: update system ssl => [ssl] - formatZH: 修改系统 ssl => [ssl] - paramKeys: [] - /settings/update: - post: - consumes: - - application/json - description: 更新系统配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SettingUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system setting - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: update system setting [key] => [value] - formatZH: 修改系统配置 [key] => [value] - paramKeys: [] - /settings/upgrade: - get: - consumes: - - application/json - description: 获取版本 release notes - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Upgrade' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load release notes by version - tags: - - System Setting - post: - consumes: - - application/json - description: 系统更新 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Upgrade' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Upgrade - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - version - formatEN: upgrade system => [version] - formatZH: 更新系统 => [version] - paramKeys: [] - /toolbox/clam: - post: - consumes: - - application/json - description: 创建扫描规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create clam - tags: - - Clam - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - path - formatEN: create clam [name][path] - formatZH: 创建扫描规则 [name][path] - paramKeys: [] - /toolbox/clam/base: - get: - consumes: - - application/json - description: 获取 Clam 基础信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.ClamBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load clam base info - tags: - - Clam - /toolbox/clam/del: - post: - consumes: - - application/json - description: 删除扫描规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete clam - tags: - - Clam - x-panel-log: - BeforeFunctions: - - db: clams - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete clam [names] - formatZH: 删除扫描规则 [names] - paramKeys: [] - /toolbox/clam/file/search: - post: - consumes: - - application/json - description: 获取扫描文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamFileReq' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Load clam file - tags: - - Clam - /toolbox/clam/file/update: - post: - consumes: - - application/json - description: 更新病毒扫描配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateByNameAndFile' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update clam file - tags: - - Clam - /toolbox/clam/handle: - post: - consumes: - - application/json - description: 执行病毒扫描 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Handle clam scan - tags: - - Clam - x-panel-log: - BeforeFunctions: - - db: clams - input_column: id - input_value: id - isList: true - output_column: name - output_value: name - bodyKeys: - - id - formatEN: handle clam scan [name] - formatZH: 执行病毒扫描 [name] - paramKeys: [] - /toolbox/clam/operate: - post: - consumes: - - application/json - description: 修改 Clam 状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Operate' - responses: {} - security: - - ApiKeyAuth: [] - summary: Operate Clam - tags: - - Clam - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] FTP' - formatZH: '[operation] Clam' - paramKeys: [] - /toolbox/clam/record/clean: - post: - consumes: - - application/json - description: 清空扫描报告 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: {} - security: - - ApiKeyAuth: [] - summary: Clean clam record - tags: - - Clam - x-panel-log: - BeforeFunctions: - - db: clams - input_column: id - input_value: id - isList: true - output_column: name - output_value: name - bodyKeys: - - id - formatEN: clean clam record [name] - formatZH: 清空扫描报告 [name] - paramKeys: [] - /toolbox/clam/record/log: - post: - consumes: - - application/json - description: 获取扫描结果详情 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamLogReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load clam record detail - tags: - - Clam - /toolbox/clam/record/search: - post: - consumes: - - application/json - description: 获取扫描结果列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamLogSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page clam record - tags: - - Clam - /toolbox/clam/search: - post: - consumes: - - application/json - description: 获取扫描规则列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page clam - tags: - - Clam - /toolbox/clam/status/update: - post: - consumes: - - application/json - description: 修改扫描规则状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamUpdateStatus' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update clam status - tags: - - Clam - x-panel-log: - BeforeFunctions: - - db: clams - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - - status - formatEN: change the status of clam [name] to [status]. - formatZH: 修改扫描规则 [name] 状态为 [status] - paramKeys: [] - /toolbox/clam/update: - post: - consumes: - - application/json - description: 修改扫描规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update clam - tags: - - Clam - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - path - formatEN: update clam [name][path] - formatZH: 修改扫描规则 [name][path] - paramKeys: [] - /toolbox/clean: - post: - consumes: - - application/json - description: 清理系统垃圾文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - items: - $ref: '#/definitions/dto.Clean' - type: array - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Clean system - tags: - - Device - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Clean system junk files - formatZH: 清理系统垃圾文件 - paramKeys: [] - /toolbox/device/base: - post: - description: 获取设备基础信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DeviceBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load device base info - tags: - - Device - /toolbox/device/check/dns: - post: - consumes: - - application/json - description: 检查系统 DNS 配置可用性 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SettingUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Check device DNS conf - tags: - - Device - /toolbox/device/conf: - post: - consumes: - - application/json - description: 获取系统配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: load conf - tags: - - Device - /toolbox/device/update/byconf: - post: - consumes: - - application/json - description: 通过文件修改配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateByNameAndFile' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update device conf by file - tags: - - Device - /toolbox/device/update/conf: - post: - consumes: - - application/json - description: 修改系统参数 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SettingUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update device - tags: - - Device - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: update device conf [key] => [value] - formatZH: 修改主机参数 [key] => [value] - paramKeys: [] - /toolbox/device/update/host: - post: - description: 修改系统 hosts - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update device hosts - tags: - - Device - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: update device host [key] => [value] - formatZH: 修改主机 Host [key] => [value] - paramKeys: [] - /toolbox/device/update/passwd: - post: - consumes: - - application/json - description: 修改系统密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangePasswd' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update device passwd - tags: - - Device - /toolbox/device/update/swap: - post: - consumes: - - application/json - description: 修改系统 Swap - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SwapHelper' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update device swap - tags: - - Device - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operate - - path - formatEN: '[operate] device swap [path]' - formatZH: '[operate] 主机 swap [path]' - paramKeys: [] - /toolbox/device/zone/options: - get: - consumes: - - application/json - description: 获取系统可用时区选项 - responses: - "200": - description: OK - schema: - type: Array - security: - - ApiKeyAuth: [] - summary: list time zone options - tags: - - Device - /toolbox/fail2ban/base: - get: - description: 获取 Fail2ban 基础信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.Fail2BanBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load fail2ban base info - tags: - - Fail2ban - /toolbox/fail2ban/load/conf: - get: - consumes: - - application/json - description: 获取 fail2ban 配置文件 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load fail2ban conf - tags: - - Fail2ban - /toolbox/fail2ban/operate: - post: - consumes: - - application/json - description: 修改 Fail2ban 状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Operate' - responses: {} - security: - - ApiKeyAuth: [] - summary: Operate fail2ban - tags: - - Fail2ban - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] Fail2ban' - formatZH: '[operation] Fail2ban' - paramKeys: [] - /toolbox/fail2ban/operate/sshd: - post: - consumes: - - application/json - description: 配置 sshd - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Operate' - responses: {} - security: - - ApiKeyAuth: [] - summary: Operate sshd of fail2ban - tags: - - Fail2ban - /toolbox/fail2ban/search: - post: - consumes: - - application/json - description: 获取 Fail2ban ip - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Fail2BanSearch' - responses: - "200": - description: OK - schema: - type: Array - security: - - ApiKeyAuth: [] - summary: Page fail2ban ip list - tags: - - Fail2ban - /toolbox/fail2ban/update: - post: - consumes: - - application/json - description: 修改 Fail2ban 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Fail2BanUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update fail2ban conf - tags: - - Fail2ban - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: update fail2ban conf [key] => [value] - formatZH: 修改 Fail2ban 配置 [key] => [value] - paramKeys: [] - /toolbox/fail2ban/update/byconf: - post: - consumes: - - application/json - description: 通过文件修改 fail2ban 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateByFile' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update fail2ban conf by file - tags: - - Fail2ban - /toolbox/ftp: - post: - consumes: - - application/json - description: 创建 FTP 账户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.FtpCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create FTP user - tags: - - FTP - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - user - - path - formatEN: create FTP [user][path] - formatZH: 创建 FTP 账户 [user][path] - paramKeys: [] - /toolbox/ftp/base: - get: - description: 获取 FTP 基础信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.FtpBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load FTP base info - tags: - - FTP - /toolbox/ftp/del: - post: - consumes: - - application/json - description: 删除 FTP 账户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete FTP user - tags: - - FTP - x-panel-log: - BeforeFunctions: - - db: ftps - input_column: id - input_value: ids - isList: true - output_column: user - output_value: users - bodyKeys: - - ids - formatEN: delete FTP users [users] - formatZH: 删除 FTP 账户 [users] - paramKeys: [] - /toolbox/ftp/log/search: - post: - consumes: - - application/json - description: 获取 FTP 操作日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.FtpLogSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Load FTP operation log - tags: - - FTP - /toolbox/ftp/operate: - post: - consumes: - - application/json - description: 修改 FTP 状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Operate' - responses: {} - security: - - ApiKeyAuth: [] - summary: Operate FTP - tags: - - FTP - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] FTP' - formatZH: '[operation] FTP' - paramKeys: [] - /toolbox/ftp/search: - post: - consumes: - - application/json - description: 获取 FTP 账户列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page FTP user - tags: - - FTP - /toolbox/ftp/sync: - post: - consumes: - - application/json - description: 同步 FTP 账户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Sync FTP user - tags: - - FTP - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: sync FTP users - formatZH: 同步 FTP 账户 - paramKeys: [] - /toolbox/ftp/update: - post: - consumes: - - application/json - description: 修改 FTP 账户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.FtpUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update FTP user - tags: - - FTP - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - user - - path - formatEN: update FTP [user][path] - formatZH: 修改 FTP 账户 [user][path] - paramKeys: [] - /toolbox/scan: - post: - description: 扫描系统垃圾文件 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Scan system - tags: - - Device - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: scan System Junk Files - formatZH: 扫描系统垃圾文件 - paramKeys: [] - /websites: - post: - consumes: - - application/json - description: 创建网站 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create website - tags: - - Website - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - primaryDomain - formatEN: Create website [primaryDomain] - formatZH: 创建网站 [primaryDomain] - paramKeys: [] - /websites/:id: - get: - consumes: - - application/json - description: 通过 id 查询网站 - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteDTO' - security: - - ApiKeyAuth: [] - summary: Search website by id - tags: - - Website - /websites/:id/config/:type: - get: - consumes: - - application/json - description: 通过 id 查询网站 nginx - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.FileInfo' - security: - - ApiKeyAuth: [] - summary: Search website nginx by id - tags: - - Website Nginx - /websites/:id/https: - get: - consumes: - - application/json - description: 获取 https 配置 - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteHTTPS' - security: - - ApiKeyAuth: [] - summary: Load https conf - tags: - - Website HTTPS - post: - consumes: - - application/json - description: 更新 https 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteHTTPSOp' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteHTTPS' - security: - - ApiKeyAuth: [] - summary: Update https conf - tags: - - Website HTTPS - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteId - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteId - formatEN: Update website https [domain] conf - formatZH: 更新网站 [domain] https 配置 - paramKeys: [] - /websites/acme: - post: - consumes: - - application/json - description: 创建网站 acme - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteAcmeAccountCreate' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteAcmeAccountDTO' - security: - - ApiKeyAuth: [] - summary: Create website acme account - tags: - - Website Acme - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - email - formatEN: Create website acme [email] - formatZH: 创建网站 acme [email] - paramKeys: [] - /websites/acme/del: - post: - consumes: - - application/json - description: 删除网站 acme - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteResourceReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website acme account - tags: - - Website Acme - x-panel-log: - BeforeFunctions: - - db: website_acme_accounts - input_column: id - input_value: id - isList: false - output_column: email - output_value: email - bodyKeys: - - id - formatEN: Delete website acme [email] - formatZH: 删除网站 acme [email] - paramKeys: [] - /websites/acme/search: - post: - consumes: - - application/json - description: 获取网站 acme 列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageInfo' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page website acme accounts - tags: - - Website Acme - /websites/auths: - post: - consumes: - - application/json - description: 获取密码访问配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxAuthReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get AuthBasic conf - tags: - - Website - /websites/auths/update: - post: - consumes: - - application/json - description: 更新密码访问配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxAuthUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get AuthBasic conf - tags: - - Website - /websites/ca: - post: - consumes: - - application/json - description: 创建网站 ca - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCACreate' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/request.WebsiteCACreate' - security: - - ApiKeyAuth: [] - summary: Create website ca - tags: - - Website CA - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Create website ca [name] - formatZH: 创建网站 ca [name] - paramKeys: [] - /websites/ca/{id}: - get: - consumes: - - application/json - description: 获取网站 ca - parameters: - - description: id - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteCADTO' - security: - - ApiKeyAuth: [] - summary: Get website ca - tags: - - Website CA - /websites/ca/del: - post: - consumes: - - application/json - description: 删除网站 ca - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCommonReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website ca - tags: - - Website CA - x-panel-log: - BeforeFunctions: - - db: website_cas - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Delete website ca [name] - formatZH: 删除网站 ca [name] - paramKeys: [] - /websites/ca/download: - post: - consumes: - - application/json - description: 下载 CA 证书文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteResourceReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download CA file - tags: - - Website CA - x-panel-log: - BeforeFunctions: - - db: website_cas - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: download ca file [name] - formatZH: 下载 CA 证书文件 [name] - paramKeys: [] - /websites/ca/obtain: - post: - consumes: - - application/json - description: 自签 SSL 证书 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCAObtain' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Obtain SSL - tags: - - Website CA - x-panel-log: - BeforeFunctions: - - db: website_cas - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Obtain SSL [name] - formatZH: 自签 SSL 证书 [name] - paramKeys: [] - /websites/ca/renew: - post: - consumes: - - application/json - description: 续签 SSL 证书 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCAObtain' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Obtain SSL - tags: - - Website CA - x-panel-log: - BeforeFunctions: - - db: website_cas - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Obtain SSL [name] - formatZH: 自签 SSL 证书 [name] - paramKeys: [] - /websites/ca/search: - post: - consumes: - - application/json - description: 获取网站 ca 列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCASearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page website ca - tags: - - Website CA - /websites/check: - post: - consumes: - - application/json - description: 网站创建前检查 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteInstallCheckReq' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.WebsitePreInstallCheck' - type: array - security: - - ApiKeyAuth: [] - summary: Check before create website - tags: - - Website - /websites/config: - post: - consumes: - - application/json - description: 获取 nginx 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxScopeReq' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteNginxConfig' - security: - - ApiKeyAuth: [] - summary: Load nginx conf - tags: - - Website Nginx - /websites/config/update: - post: - consumes: - - application/json - description: 更新 nginx 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxConfigUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update nginx conf - tags: - - Website Nginx - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteId - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteId - formatEN: Nginx conf update [domain] - formatZH: nginx 配置修改 [domain] - paramKeys: [] - /websites/default/html/:type: - get: - consumes: - - application/json - description: 获取默认 html - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.FileInfo' - security: - - ApiKeyAuth: [] - summary: Get default html - tags: - - Website - /websites/default/html/update: - post: - consumes: - - application/json - description: 更新默认 html - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteHtmlUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update default html - tags: - - Website - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - formatEN: Update default html - formatZH: 更新默认 html - paramKeys: [] - /websites/default/server: - post: - consumes: - - application/json - description: 操作网站日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDefaultUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change default server - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - - operate - formatEN: Change default server => [domain] - formatZH: 修改默认 server => [domain] - paramKeys: [] - /websites/del: - post: - consumes: - - application/json - description: 删除网站 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: Delete website [domain] - formatZH: 删除网站 [domain] - paramKeys: [] - /websites/dir: - post: - consumes: - - application/json - description: 获取网站目录配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCommonReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get website dir - tags: - - Website - /websites/dir/permission: - post: - consumes: - - application/json - description: 更新网站目录权限 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteUpdateDirPermission' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update Site Dir permission - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: Update domain [domain] dir permission - formatZH: 更新网站 [domain] 目录权限 - paramKeys: [] - /websites/dir/update: - post: - consumes: - - application/json - description: 更新网站目录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteUpdateDir' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update Site Dir - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: Update domain [domain] dir - formatZH: 更新网站 [domain] 目录 - paramKeys: [] - /websites/dns: - post: - consumes: - - application/json - description: 创建网站 dns - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDnsAccountCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create website dns account - tags: - - Website DNS - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Create website dns [name] - formatZH: 创建网站 dns [name] - paramKeys: [] - /websites/dns/del: - post: - consumes: - - application/json - description: 删除网站 dns - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteResourceReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website dns account - tags: - - Website DNS - x-panel-log: - BeforeFunctions: - - db: website_dns_accounts - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Delete website dns [name] - formatZH: 删除网站 dns [name] - paramKeys: [] - /websites/dns/search: - post: - consumes: - - application/json - description: 获取网站 dns 列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageInfo' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page website dns accounts - tags: - - Website DNS - /websites/dns/update: - post: - consumes: - - application/json - description: 更新网站 dns - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDnsAccountUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update website dns account - tags: - - Website DNS - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Update website dns [name] - formatZH: 更新网站 dns [name] - paramKeys: [] - /websites/domains: - post: - consumes: - - application/json - description: 创建网站域名 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDomainCreate' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/model.WebsiteDomain' - security: - - ApiKeyAuth: [] - summary: Create website domain - tags: - - Website Domain - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - domain - formatEN: Create domain [domain] - formatZH: 创建域名 [domain] - paramKeys: [] - /websites/domains/:websiteId: - get: - consumes: - - application/json - description: 通过网站 id 查询域名 - parameters: - - description: request - in: path - name: websiteId - required: true - type: integer - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/model.WebsiteDomain' - type: array - security: - - ApiKeyAuth: [] - summary: Search website domains by websiteId - tags: - - Website Domain - /websites/domains/del: - post: - consumes: - - application/json - description: 删除网站域名 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDomainDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website domain - tags: - - Website Domain - x-panel-log: - BeforeFunctions: - - db: website_domains - input_column: id - input_value: id - isList: false - output_column: domain - output_value: domain - bodyKeys: - - id - formatEN: Delete domain [domain] - formatZH: 删除域名 [domain] - paramKeys: [] - /websites/leech: - post: - consumes: - - application/json - description: 获取防盗链配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxCommonReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get AntiLeech conf - tags: - - Website - /websites/leech/update: - post: - consumes: - - application/json - description: 更新防盗链配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxAntiLeechUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update AntiLeech - tags: - - Website - /websites/list: - get: - description: 获取网站列表 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.WebsiteDTO' - type: array - security: - - ApiKeyAuth: [] - summary: List websites - tags: - - Website - /websites/log: - post: - consumes: - - application/json - description: 操作网站日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteLogReq' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteLog' - security: - - ApiKeyAuth: [] - summary: Operate website log - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - - operate - formatEN: '[domain][operate] logs' - formatZH: '[domain][operate] 日志' - paramKeys: [] - /websites/nginx/update: - post: - consumes: - - application/json - description: 更新 网站 nginx 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteNginxUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update website nginx conf - tags: - - Website Nginx - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: '[domain] Nginx conf update' - formatZH: '[domain] Nginx 配置修改' - paramKeys: [] - /websites/operate: - post: - consumes: - - application/json - description: 操作网站 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteOp' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate website - tags: - - Website - x-panel-log: - 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/options: - get: - description: 获取网站列表 - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: List website names - tags: - - Website - /websites/php/config: - post: - consumes: - - application/json - description: 更新 网站 PHP 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsitePHPConfigUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update website php conf - tags: - - Website PHP - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: '[domain] PHP conf update' - formatZH: '[domain] PHP 配置修改' - paramKeys: [] - /websites/php/config/:id: - get: - consumes: - - application/json - description: 获取网站 php 配置 - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.PHPConfig' - security: - - ApiKeyAuth: [] - summary: Load website php conf - tags: - - Website - /websites/php/update: - post: - consumes: - - application/json - description: 更新 php 配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsitePHPFileUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update php conf - tags: - - Website PHP - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteId - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteId - formatEN: Nginx conf update [domain] - formatZH: php 配置修改 [domain] - paramKeys: [] - /websites/php/version: - post: - consumes: - - application/json - description: 变更 php 版本 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsitePHPVersionReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update php version - tags: - - Website PHP - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteId - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteId - formatEN: php version update [domain] - formatZH: php 版本变更 [domain] - paramKeys: [] - /websites/proxies: - post: - consumes: - - application/json - description: 获取反向代理配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteProxyReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get proxy conf - tags: - - Website - /websites/proxies/update: - post: - consumes: - - application/json - description: 修改反向代理配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteProxyConfig' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update proxy conf - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: Update domain [domain] proxy config - formatZH: '修改网站 [domain] 反向代理配置 ' - paramKeys: [] - /websites/proxy/file: - post: - consumes: - - application/json - description: 更新反向代理文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxProxyUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update proxy file - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteID - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteID - formatEN: Nginx conf proxy file update [domain] - formatZH: 更新反向代理文件 [domain] - paramKeys: [] - /websites/redirect: - post: - consumes: - - application/json - description: 获取重定向配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteProxyReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get redirect conf - tags: - - Website - /websites/redirect/file: - post: - consumes: - - application/json - description: 更新重定向文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxRedirectUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update redirect file - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteID - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteID - formatEN: Nginx conf redirect file update [domain] - formatZH: 更新重定向文件 [domain] - paramKeys: [] - /websites/redirect/update: - post: - consumes: - - application/json - description: 修改重定向配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxRedirectReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update redirect conf - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteID - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteID - formatEN: Update domain [domain] redirect config - formatZH: '修改网站 [domain] 重定向理配置 ' - paramKeys: [] - /websites/rewrite: - post: - consumes: - - application/json - description: 获取伪静态配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxRewriteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get rewrite conf - tags: - - Website - /websites/rewrite/update: - post: - consumes: - - application/json - description: 更新伪静态配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxRewriteUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update rewrite conf - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteID - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteID - formatEN: Nginx conf rewrite update [domain] - formatZH: 伪静态配置修改 [domain] - paramKeys: [] - /websites/search: - post: - consumes: - - application/json - description: 获取网站列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page websites - tags: - - Website - /websites/ssl: - post: - consumes: - - application/json - description: 创建网站 ssl - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSSLCreate' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/request.WebsiteSSLCreate' - security: - - ApiKeyAuth: [] - summary: Create website ssl - tags: - - Website SSL - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - primaryDomain - formatEN: Create website ssl [primaryDomain] - formatZH: 创建网站 ssl [primaryDomain] - paramKeys: [] - /websites/ssl/:id: - get: - consumes: - - application/json - description: 通过 id 查询 ssl - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Search website ssl by id - tags: - - Website SSL - /websites/ssl/del: - post: - consumes: - - application/json - description: 删除网站 ssl - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteBatchDelReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website ssl - tags: - - Website SSL - x-panel-log: - BeforeFunctions: - - db: website_ssls - input_column: id - input_value: ids - isList: true - output_column: primary_domain - output_value: domain - bodyKeys: - - ids - formatEN: Delete ssl [domain] - formatZH: 删除 ssl [domain] - paramKeys: [] - /websites/ssl/download: - post: - consumes: - - application/json - description: 下载证书文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteResourceReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download SSL file - tags: - - Website SSL - x-panel-log: - BeforeFunctions: - - db: website_ssls - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: download ssl file [domain] - formatZH: 下载证书文件 [domain] - paramKeys: [] - /websites/ssl/obtain: - post: - consumes: - - application/json - description: 申请证书 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSSLApply' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Apply ssl - tags: - - Website SSL - x-panel-log: - BeforeFunctions: - - db: website_ssls - input_column: id - input_value: ID - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - ID - formatEN: apply ssl [domain] - formatZH: 申请证书 [domain] - paramKeys: [] - /websites/ssl/resolve: - post: - consumes: - - application/json - description: 解析网站 ssl - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDNSReq' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.WebsiteDNSRes' - type: array - security: - - ApiKeyAuth: [] - summary: Resolve website ssl - tags: - - Website SSL - /websites/ssl/search: - post: - consumes: - - application/json - description: 获取网站 ssl 列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSSLSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Page website ssl - tags: - - Website SSL - /websites/ssl/update: - post: - consumes: - - application/json - description: 更新 ssl - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSSLUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update ssl - tags: - - Website SSL - x-panel-log: - BeforeFunctions: - - db: website_ssls - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: Update ssl config [domain] - formatZH: 更新证书设置 [domain] - paramKeys: [] - /websites/ssl/upload: - post: - consumes: - - application/json - description: 上传 ssl - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSSLUpload' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Upload ssl - tags: - - Website SSL - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - formatEN: Upload ssl [type] - formatZH: 上传 ssl [type] - paramKeys: [] - /websites/ssl/website/:websiteId: - get: - consumes: - - application/json - description: 通过网站 id 查询 ssl - parameters: - - description: request - in: path - name: websiteId - required: true - type: integer - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Search website ssl by website id - tags: - - Website SSL - /websites/update: - post: - consumes: - - application/json - description: 更新网站 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update website - tags: - - Website - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - primaryDomain - formatEN: Update website [primaryDomain] - formatZH: 更新网站 [primaryDomain] - paramKeys: [] -swagger: "2.0" diff --git a/agent/cmd/server/main.go b/agent/cmd/server/main.go index bc99c08d1..cb3524b64 100644 --- a/agent/cmd/server/main.go +++ b/agent/cmd/server/main.go @@ -3,7 +3,6 @@ package main import ( _ "net/http/pprof" - _ "github.com/1Panel-dev/1Panel/agent/cmd/server/docs" "github.com/1Panel-dev/1Panel/agent/server" ) @@ -15,8 +14,6 @@ import ( // @license.url http://www.apache.org/licenses/LICENSE-2.0.html // @host localhost // @BasePath /api/v1 - -//go:generate swag init -o ./docs -g main.go -d ../../backend -g ../cmd/server/main.go func main() { server.Start() } diff --git a/agent/go.mod b/agent/go.mod index ae1f5c447..2f3a8d2bc 100644 --- a/agent/go.mod +++ b/agent/go.mod @@ -43,7 +43,6 @@ require ( github.com/spf13/viper v1.19.0 github.com/studio-b12/gowebdav v0.9.0 github.com/subosito/gotenv v1.6.0 - github.com/swaggo/swag v1.16.3 github.com/tencentyun/cos-go-sdk-v5 v0.7.54 golang.org/x/crypto v0.25.0 golang.org/x/net v0.27.0 @@ -60,7 +59,6 @@ require ( github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/BurntSushi/toml v1.4.0 // indirect - github.com/KyleBanks/depth v1.2.1 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/alex-ant/gomath v0.0.0-20160516115720-89013a210a82 // indirect github.com/aliyun/alibaba-cloud-sdk-go v1.62.712 // indirect @@ -109,10 +107,6 @@ require ( github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/spec v0.20.4 // indirect - github.com/go-openapi/swag v0.22.3 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/go-viper/mapstructure/v2 v2.0.0 // indirect @@ -147,7 +141,6 @@ require ( github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/cpuid/v2 v2.2.8 // indirect github.com/klauspost/pgzip v1.2.5 // indirect @@ -155,7 +148,6 @@ require ( github.com/leodido/go-urn v1.4.0 // indirect github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect github.com/magiconair/properties v1.8.7 // indirect - github.com/mailru/easyjson v0.7.7 // indirect github.com/matishsiao/goInfo v0.0.0-20210923090445-da2e3fa8d45f // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-shellwords v1.0.12 // indirect diff --git a/agent/go.sum b/agent/go.sum index e248f6aca..3e1202620 100644 --- a/agent/go.sum +++ b/agent/go.sum @@ -45,15 +45,11 @@ github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0 github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc= -github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/hcsshim v0.11.7 h1:vl/nj3Bar/CvJSYo7gIQPyRWc9f3c6IeSNavBTSZNZQ= github.com/Microsoft/hcsshim v0.11.7/go.mod h1:MV8xMfmECjl5HdO7U/3/hFVnkmSBjAjmA09d4bExKcU= github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mod h1:1pk82RBxDY/JZnPQrtqHlUFfCctgdorsd9M06fMynOM= github.com/Shopify/logrus-bugsnag v0.0.0-20170309145241-6dbc35f2c30d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= @@ -261,17 +257,10 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M= -github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= @@ -515,9 +504,6 @@ github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2 github.com/magiconair/properties v1.5.3/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/matishsiao/goInfo v0.0.0-20210923090445-da2e3fa8d45f h1:B0OD7nYl2FPQEVrw8g2uyc1lGEzNbvrKh7fspGZcbvY= @@ -734,8 +720,6 @@ github.com/studio-b12/gowebdav v0.9.0 h1:1j1sc9gQnNxbXXM4M/CebPOX4aXYtr7MojAVcN4 github.com/studio-b12/gowebdav v0.9.0/go.mod h1:bHA7t77X/QFExdeAnDzK6vKM34kEZAcE1OX4MfiwjkE= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/swaggo/swag v1.16.3 h1:PnCYjPCah8FK4I26l2F/KQ4yz3sILcVUN3cTlBFA9Pg= -github.com/swaggo/swag v1.16.3/go.mod h1:DImHIuOFXKpMFAQjcC7FG4m3Dg4+QuUgUzJmKjI/gRk= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.563/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.898 h1:ERwcXqhc94L9cFxtiI0pvt7IJtlHl/p/Jayl3mLw+ms= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.898/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= @@ -920,7 +904,6 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= @@ -980,7 +963,6 @@ golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1188,7 +1170,6 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/cmd/server/docs/docs.go b/cmd/server/docs/docs.go index b004a49f5..8bebecca5 100644 --- a/cmd/server/docs/docs.go +++ b/cmd/server/docs/docs.go @@ -1,23464 +1,23260 @@ -// Code generated by swaggo/swag. DO NOT EDIT. - package docs import "github.com/swaggo/swag" const docTemplate = `{ - "schemes": {{ marshal .Schemes }}, - "swagger": "2.0", - "info": { - "description": "{{escape .Description}}", - "title": "{{.Title}}", - "termsOfService": "http://swagger.io/terms/", - "contact": {}, - "license": { - "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" - }, - "version": "{{.Version}}" - }, - "host": "{{.Host}}", - "basePath": "{{.BasePath}}", - "paths": { - "/apps/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用信息", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app by key", - "parameters": [ - { - "type": "string", - "description": "app key", - "name": "key", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDTO" - } - } - } - } - }, - "/apps/checkupdate": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用更新版本", - "tags": [ - "App" - ], - "summary": "Get app list update", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/detail/:appId/:version/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 appid 获取应用详情", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app detail by appid", - "parameters": [ - { - "type": "integer", - "description": "app id", - "name": "appId", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "app 版本", - "name": "version", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "app 类型", - "name": "version", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDetailDTO" - } - } - } - } - }, - "/apps/details/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 获取应用详情", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Get app detail by id", - "parameters": [ - { - "type": "integer", - "description": "id", - "name": "appId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDetailDTO" - } - } - } - } - }, - "/apps/ignored": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取忽略的应用版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Get Ignore App", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.IgnoredApp" - } - } - } - } - }, - "/apps/install": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "安装应用", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Install app", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstallCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/model.AppInstall" - } - } - }, - "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" - } - ], - "bodyKeys": [ - "name" - ], - "formatEN": "Install app [appKey]-[name]", - "formatZH": "安装应用 [appKey]-[name]", - "paramKeys": [] - } - } - }, - "/apps/installed/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检查应用安装情况", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Check app installed", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppInstalledCheck" - } - } - } - } - }, - "/apps/installed/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用默认配置", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search default config by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/apps/installed/conninfo/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用连接信息", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app password by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/apps/installed/delete/check/:appInstallId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Check before delete", - "parameters": [ - { - "type": "integer", - "description": "App install id", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppResource" - } - } - } - } - } - }, - "/apps/installed/ignore": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "忽略应用升级版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "ignore App Update", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledIgnoreUpgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "installId" - ], - "formatEN": "Application param update [installId]", - "formatZH": "忽略应用 [installId] 版本升级", - "paramKeys": [] - } - } - }, - "/apps/installed/list": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取已安装应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "List app installed", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppInstallInfo" - } - } - } - } - } - }, - "/apps/installed/loadport": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用端口", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app port by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "integer" - } - } - } - } - }, - "/apps/installed/op": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作已安装应用", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Operate installed app", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "app_installs", - "input_column": "id", - "input_value": "installId", - "isList": false, - "output_column": "app_id", - "output_value": "appId" - }, - { - "db": "app_installs", - "input_column": "id", - "input_value": "installId", - "isList": false, - "output_column": "name", - "output_value": "appName" - }, - { - "db": "apps", - "input_column": "id", - "input_value": "appId", - "isList": false, - "output_column": "key", - "output_value": "appKey" - } - ], - "bodyKeys": [ - "installId", - "operate" - ], - "formatEN": "[operate] App [appKey][appName]", - "formatZH": "[operate] 应用 [appKey][appName]", - "paramKeys": [] - } - } - }, - "/apps/installed/params/:appInstallId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 install id 获取应用参数", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search params by appInstallId", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppParam" - } - } - } - } - }, - "/apps/installed/params/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改应用参数", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Change app params", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "installId" - ], - "formatEN": "Application param update [installId]", - "formatZH": "应用参数修改 [installId]", - "paramKeys": [] - } - } - }, - "/apps/installed/port/change": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改应用端口", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Change app port", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PortUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "name", - "port" - ], - "formatEN": "Application port update [key]-[name] =\u003e [port]", - "formatZH": "应用端口修改 [key]-[name] =\u003e [port]", - "paramKeys": [] - } - } - }, - "/apps/installed/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分页获取已安装应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Page app installed", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/installed/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步已安装应用列表", - "tags": [ - "App" - ], - "summary": "Sync app installed", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Sync the list of installed apps", - "formatZH": "同步已安装应用列表", - "paramKeys": [] - } - } - }, - "/apps/installed/update/versions": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 install id 获取应用更新版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app update version by install id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppVersion" - } - } - } - } - } - }, - "/apps/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "List apps", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/services/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用 service", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app service by key", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "key", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.AppService" - } - } - } - } - } - }, - "/apps/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步应用列表", - "tags": [ - "App" - ], - "summary": "Sync app list", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "App store synchronization", - "formatZH": "应用商店同步", - "paramKeys": [] - } - } - }, - "/auth/captcha": { - "get": { - "description": "加载验证码", - "tags": [ - "Auth" - ], - "summary": "Load captcha", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.CaptchaResponse" - } - } - } - } - }, - "/auth/demo": { - "get": { - "description": "判断是否为demo环境", - "tags": [ - "Auth" - ], - "summary": "Check System isDemo", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/issafety": { - "get": { - "description": "获取系统安全登录状态", - "tags": [ - "Auth" - ], - "summary": "Load safety status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/language": { - "get": { - "description": "获取系统语言设置", - "tags": [ - "Auth" - ], - "summary": "Load System Language", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/login": { - "post": { - "description": "用户登录", - "consumes": [ - "application/json" - ], - "tags": [ - "Auth" - ], - "summary": "User login", - "parameters": [ - { - "type": "string", - "description": "安全入口 base64 加密串", - "name": "EntranceCode", - "in": "header", - "required": true - }, - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Login" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.UserLoginInfo" - } - } - } - } - }, - "/auth/logout": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "用户登出", - "tags": [ - "Auth" - ], - "summary": "User logout", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/mfalogin": { - "post": { - "description": "用户 mfa 登录", - "consumes": [ - "application/json" - ], - "tags": [ - "Auth" - ], - "summary": "User login with mfa", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MFALogin" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.UserLoginInfo" - }, - "headers": { - "EntranceCode": { - "type": "string", - "description": "安全入口" - } - } - } - } - } - }, - "/containers": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Create container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "create container [name][image]", - "formatZH": "创建容器 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/clean/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理容器日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Clean container log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "clean container [name] logs", - "formatZH": "清理容器 [name] 日志", - "paramKeys": [] - } - } - }, - "/containers/commit": { - "post": { - "description": "容器提交生成新镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Commit Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerCommit" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/compose": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器编排", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Create compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create compose [name]", - "formatZH": "创建 compose [name]", - "paramKeys": [] - } - } - }, - "/containers/compose/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器编排操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Operate compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "operation" - ], - "formatEN": "compose [operation] [name]", - "formatZH": "compose [operation] [name]", - "paramKeys": [] - } - } - }, - "/containers/compose/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取编排列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Page composes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/compose/search/log": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "docker-compose 日志", - "tags": [ - "Container Compose" - ], - "summary": "Container Compose logs", - "parameters": [ - { - "type": "string", - "description": "compose 文件地址", - "name": "compose", - "in": "query" - }, - { - "type": "string", - "description": "时间筛选", - "name": "since", - "in": "query" - }, - { - "type": "string", - "description": "是否追踪", - "name": "follow", - "in": "query" - }, - { - "type": "string", - "description": "显示行号", - "name": "tail", - "in": "query" - } - ], - "responses": {} - } - }, - "/containers/compose/test": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试 compose 是否可用", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Test compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "check compose [name]", - "formatZH": "检测 compose [name] 格式", - "paramKeys": [] - } - } - }, - "/containers/compose/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器编排", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Update compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update compose information [name]", - "formatZH": "更新 compose [name]", - "paramKeys": [] - } - } - }, - "/containers/daemonjson": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 配置信息", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker daemon.json", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DaemonJsonConf" - } - } - } - } - }, - "/containers/daemonjson/file": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 配置信息(表单)", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker daemon.json", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/daemonjson/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "Updated configuration [key]", - "formatZH": "更新配置 [key]", - "paramKeys": [] - } - } - }, - "/containers/daemonjson/update/byfile": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传替换 docker 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DaemonJsonUpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated configuration file", - "formatZH": "更新配置文件", - "paramKeys": [] - } - } - }, - "/containers/docker/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Docker 操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Operate docker", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DockerOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] docker service", - "formatZH": "docker 服务 [operation]", - "paramKeys": [] - } - } - }, - "/containers/docker/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 服务状态", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker status", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/download/log": { - "post": { - "description": "下载容器日志", - "responses": {} - } - }, - "/containers/image": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像名称列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "load images options", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - } - }, - "/containers/image/all": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取所有镜像列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "List all images", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ImageInfo" - } - } - } - } - } - }, - "/containers/image/build": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "构建镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Build image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageBuild" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "build image [name]", - "formatZH": "构建镜像 [name]", - "paramKeys": [] - } - } - }, - "/containers/image/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导入镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Load image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageLoad" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "load image from [path]", - "formatZH": "从 [path] 加载镜像", - "paramKeys": [] - } - } - }, - "/containers/image/pull": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "拉取镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Pull image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImagePull" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "imageName" - ], - "formatEN": "image pull [reponame][imageName]", - "formatZH": "镜像拉取 [reponame][imageName]", - "paramKeys": [] - } - } - }, - "/containers/image/push": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "推送镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Push image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImagePush" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "tagName", - "name" - ], - "formatEN": "push [tagName] to [reponame][name]", - "formatZH": "[tagName] 推送到 [reponame][name]", - "paramKeys": [] - } - } - }, - "/containers/image/remove": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Delete image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "remove image [names]", - "formatZH": "移除镜像 [names]", - "paramKeys": [] - } - } - }, - "/containers/image/save": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导出镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Save image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageSave" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "tagName", - "path", - "name" - ], - "formatEN": "save [tagName] as [path]/[name]", - "formatZH": "保留 [tagName] 为 [path]/[name]", - "paramKeys": [] - } - } - }, - "/containers/image/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Page images", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/image/tag": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Tag 镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Tag image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageTag" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "targetName" - ], - "formatEN": "tag image [reponame][targetName]", - "formatZH": "tag 镜像 [reponame][targetName]", - "paramKeys": [] - } - } - }, - "/containers/info": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器表单信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Load container info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - } - } - }, - "/containers/inspect": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器详情", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Container inspect", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.InspectReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/ipv6option/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker ipv6 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json ipv6 option", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.LogOption" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated the ipv6 option", - "formatZH": "更新 ipv6 配置", - "paramKeys": [] - } - } - }, - "/containers/limit": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器限制", - "summary": "Load container limits", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ResourceLimit" - } - } - } - } - }, - "/containers/list": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器名称", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "List containers", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/list/stats": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器列表资源占用", - "summary": "Load container stats", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ContainerListStats" - } - } - } - } - } - }, - "/containers/load/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Load container log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/logoption/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker 日志配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json log option", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.LogOption" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated the log option", - "formatZH": "更新日志配置", - "paramKeys": [] - } - } - }, - "/containers/network": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器网络列表", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "List networks", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器网络", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Create network", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.NetworkCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create container network [name]", - "formatZH": "创建容器网络 name", - "paramKeys": [] - } - } - }, - "/containers/network/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器网络", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Delete network", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "delete container network [names]", - "formatZH": "删除容器网络 [names]", - "paramKeys": [] - } - } - }, - "/containers/network/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器网络列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Page networks", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Operate Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names", - "operation" - ], - "formatEN": "container [operation] [names]", - "formatZH": "容器 [names] 执行 [operation]", - "paramKeys": [] - } - } - }, - "/containers/prune": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器清理", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Clean container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerPrune" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerPruneReport" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "pruneType" - ], - "formatEN": "clean container [pruneType]", - "formatZH": "清理容器 [pruneType]", - "paramKeys": [] - } - } - }, - "/containers/rename": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器重命名", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Rename Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerRename" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "newName" - ], - "formatEN": "rename container [name] =\u003e [newName]", - "formatZH": "容器重命名 [name] =\u003e [newName]", - "paramKeys": [] - } - } - }, - "/containers/repo": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像仓库列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "List image repos", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ImageRepoOption" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Create image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create image repo [name]", - "formatZH": "创建镜像仓库 [name]", - "paramKeys": [] - } - } - }, - "/containers/repo/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Delete image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete image repo [names]", - "formatZH": "删除镜像仓库 [names]", - "paramKeys": [] - } - } - }, - "/containers/repo/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像仓库列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Page image repos", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/repo/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 仓库状态", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Load repo status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/repo/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Update image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update image repo information [name]", - "formatZH": "更新镜像仓库 [name]", - "paramKeys": [] - } - } - }, - "/containers/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Page containers", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageContainer" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/search/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器日志", - "tags": [ - "Container" - ], - "summary": "Container logs", - "parameters": [ - { - "type": "string", - "description": "容器名称", - "name": "container", - "in": "query" - }, - { - "type": "string", - "description": "时间筛选", - "name": "since", - "in": "query" - }, - { - "type": "string", - "description": "是否追踪", - "name": "follow", - "in": "query" - }, - { - "type": "string", - "description": "显示行号", - "name": "tail", - "in": "query" - } - ], - "responses": {} - } - }, - "/containers/stats/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器监控信息", - "tags": [ - "Container" - ], - "summary": "Container stats", - "parameters": [ - { - "type": "integer", - "description": "容器id", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerStats" - } - } - } - } - }, - "/containers/template": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器编排模版列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "List compose templates", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ComposeTemplateInfo" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Create compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeTemplateCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create compose template [name]", - "formatZH": "创建 compose 模版 [name]", - "paramKeys": [] - } - } - }, - "/containers/template/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Delete compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "compose_templates", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete compose template [names]", - "formatZH": "删除 compose 模版 [names]", - "paramKeys": [] - } - } - }, - "/containers/template/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器编排模版列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Page compose templates", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/template/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Update compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeTemplateUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "compose_templates", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update compose template information [name]", - "formatZH": "更新 compose 模版 [name]", - "paramKeys": [] - } - } - }, - "/containers/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Update container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "update container [name][image]", - "formatZH": "更新容器 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/upgrade": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Upgrade container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerUpgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "upgrade container image [name][image]", - "formatZH": "更新容器镜像 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/volume": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器存储卷列表", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "List volumes", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器存储卷", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Create volume", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.VolumeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create container volume [name]", - "formatZH": "创建容器存储卷 [name]", - "paramKeys": [] - } - } - }, - "/containers/volume/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器存储卷", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Delete volume", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "delete container volume [names]", - "formatZH": "删除容器存储卷 [names]", - "paramKeys": [] - } - } - }, - "/containers/volume/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器存储卷分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Page volumes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Create cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name" - ], - "formatEN": "create cronjob [type][name]", - "formatZH": "创建计划任务 [type][name]", - "paramKeys": [] - } - } - }, - "/cronjobs/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Delete cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Download cronjob records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobDownload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "job_records", - "input_column": "id", - "input_value": "recordID", - "isList": false, - "output_column": "file", - "output_value": "file" - } - ], - "bodyKeys": [ - "recordID" - ], - "formatEN": "download the cronjob record [file]", - "formatZH": "下载计划任务记录 [file]", - "paramKeys": [] - } - } - }, - "/cronjobs/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "手动执行计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Handle cronjob once", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "manually execute the cronjob [name]", - "formatZH": "手动执行计划任务 [name]", - "paramKeys": [] - } - } - }, - "/cronjobs/records/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Clean job records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobClean" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "clean cronjob [name] records", - "formatZH": "清空计划任务记录 [name]", - "paramKeys": [] - } - } - }, - "/cronjobs/records/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务记录日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Load Cronjob record log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/cronjobs/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Page cronjobs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageCronjob" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs/search/records": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Page job records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchRecord" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新计划任务状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Update cronjob status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobUpdateStatus" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "status" - ], - "formatEN": "change the status of cronjob [name] to [status].", - "formatZH": "修改计划任务 [name] 状态为 [status]", - "paramKeys": [] - } - } - }, - "/cronjobs/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Update cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update cronjob [name]", - "formatZH": "更新计划任务 [name]", - "paramKeys": [] - } - } - }, - "/dashboard/base/:ioOption/:netOption": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取首页基础数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load dashboard base info", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "ioOption", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "request", - "name": "netOption", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DashboardBase" - } - } - } - } - }, - "/dashboard/base/os": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取服务器基础数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load os info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.OsInfo" - } - } - } - } - }, - "/dashboard/current/:ioOption/:netOption": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取首页实时数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load dashboard current info", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "ioOption", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "request", - "name": "netOption", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DashboardCurrent" - } - } - } - } - }, - "/dashboard/system/restart/:operation": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "重启服务器/面板", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "System restart", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "operation", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 mysql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Create mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create mysql database [name]", - "formatZH": "创建 mysql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "绑定 mysql 数据库用户", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Bind user of mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BindUser" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "database", - "username" - ], - "formatEN": "bind mysql database [database] [username]", - "formatZH": "绑定 mysql 数据库名 [database] [username]", - "paramKeys": [] - } - } - }, - "/databases/change/access": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 mysql 访问权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Change mysql access", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] access", - "formatZH": "更新数据库 [name] 访问权限", - "paramKeys": [] - } - } - }, - "/databases/change/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 mysql 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Change mysql password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] password", - "formatZH": "更新数据库 [name] 密码", - "paramKeys": [] - } - } - }, - "/databases/common/info": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库基础信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Load base info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DBBaseInfo" - } - } - } - } - }, - "/databases/common/load/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Load Database conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases/common/update/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传替换配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Update conf by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DBConfUpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "database" - ], - "formatEN": "update the [type] [database] database configuration information", - "formatZH": "更新 [type] 数据库 [database] 配置信息", - "paramKeys": [] - } - } - }, - "/databases/db": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Create database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "create database [name][type]", - "formatZH": "创建远程数据库 [name][type]", - "paramKeys": [] - } - } - }, - "/databases/db/:name": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库", - "tags": [ - "Database" - ], - "summary": "Get databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DatabaseInfo" - } - } - } - } - }, - "/databases/db/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检测远程数据库连接性", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Check database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "check if database [name][type] is connectable", - "formatZH": "检测远程数据库 [name][type] 连接性", - "paramKeys": [] - } - } - }, - "/databases/db/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Delete database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "databases", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete database [names]", - "formatZH": "删除远程数据库 [names]", - "paramKeys": [] - } - } - }, - "/databases/db/item/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库列表", - "tags": [ - "Database" - ], - "summary": "List databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DatabaseItem" - } - } - } - } - } - }, - "/databases/db/list/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库列表", - "tags": [ - "Database" - ], - "summary": "List databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DatabaseOption" - } - } - } - } - } - }, - "/databases/db/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Page databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/db/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Update database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update database [name]", - "formatZH": "更新远程数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 mysql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Delete mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete mysql database [name]", - "formatZH": "删除 mysql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mysql 数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Check before delete mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBDeleteCheck" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/databases/description/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 mysql 数据库库描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Update mysql database description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the mysql database [name] is modified =\u003e [description]", - "formatZH": "mysql 数据库 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/databases/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从服务器获取", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql database from remote", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlLoadDB" - } - } - ], - "responses": {} - } - }, - "/databases/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 数据库列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "List mysql database names", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.MysqlOption" - } - } - } - } - } - }, - "/databases/pg": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 postgresql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Create postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create postgresql database [name]", - "formatZH": "创建 postgresql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/pg/:database/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从服务器获取", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Load postgresql database from remote", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlLoadDB" - } - } - ], - "responses": {} - } - }, - "/databases/pg/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "绑定 postgresql 数据库用户", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Bind postgresql user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlBindUser" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "username" - ], - "formatEN": "bind postgresql database [name] user [username]", - "formatZH": "绑定 postgresql 数据库 [name] 用户 [username]", - "paramKeys": [] - } - } - }, - "/databases/pg/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 postgresql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Delete postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete postgresql database [name]", - "formatZH": "删除 postgresql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/pg/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Postgresql 数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Check before delete postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBDeleteCheck" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/databases/pg/description": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 postgresql 数据库库描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Update postgresql database description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the postgresql database [name] is modified =\u003e [description]", - "formatZH": "postgresql 数据库 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/databases/pg/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 postgresql 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Change postgresql password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] password", - "formatZH": "更新数据库 [name] 密码", - "paramKeys": [] - } - } - }, - "/databases/pg/privileges": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 postgresql 用户权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Change postgresql privileges", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "database", - "username" - ], - "formatEN": "Update [user] privileges of database [database]", - "formatZH": "更新数据库 [database] 用户 [username] 权限", - "paramKeys": [] - } - } - }, - "/databases/pg/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 postgresql 数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Page postgresql databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/redis/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisConf" - } - } - } - } - }, - "/databases/redis/conf/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Update redis conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisConfUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update the redis database configuration information", - "formatZH": "更新 redis 数据库配置信息", - "paramKeys": [] - } - } - }, - "/databases/redis/install/cli": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "安装 redis cli", - "tags": [ - "Database Redis" - ], - "summary": "Install redis-cli", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases/redis/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Change redis password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeRedisPass" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "change the password of the redis database", - "formatZH": "修改 redis 数据库密码", - "paramKeys": [] - } - } - }, - "/databases/redis/persistence/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 持久化配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis persistence conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisPersistence" - } - } - } - } - }, - "/databases/redis/persistence/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 持久化配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Update redis persistence conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisConfPersistenceUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "redis database persistence configuration update", - "formatZH": "redis 数据库持久化配置更新", - "paramKeys": [] - } - } - }, - "/databases/redis/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 状态信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis status info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisStatus" - } - } - } - } - }, - "/databases/remote": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 远程访问权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql remote access", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "boolean" - } - } - } - } - }, - "/databases/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Page mysql databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 状态信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql status info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.MysqlStatus" - } - } - } - } - }, - "/databases/variables": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 性能参数信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql variables info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.MysqlVariables" - } - } - } - } - }, - "/databases/variables/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "mysql 性能调优", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Update mysql variables", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlVariablesUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "adjust mysql database performance parameters", - "formatZH": "调整 mysql 数据库性能参数", - "paramKeys": [] - } - } - }, - "/db/remote/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mysql 远程数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Check before delete remote database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/files": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Create file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Create dir or file [path]", - "formatZH": "创建文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/batch/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量删除文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Batch delete file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "paths" - ], - "formatEN": "Batch delete dir or file [paths]", - "formatZH": "批量删除文件/文件夹 [paths]", - "paramKeys": [] - } - } - }, - "/files/batch/role": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量修改文件权限和用户/组", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Batch change file mode and owner", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRoleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "paths", - "mode", - "user", - "group" - ], - "formatEN": "Batch change file mode and owner [paths] =\u003e [mode]/[user]/[group]", - "formatZH": "批量修改文件权限和用户/组 [paths] =\u003e [mode]/[user]/[group]", - "paramKeys": [] - } - } - }, - "/files/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检测文件是否存在", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Check file exist", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FilePathCheck" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/chunkdownload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分片下载下载文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Chunk Download file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDownload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Download file [name]", - "formatZH": "下载文件 [name]", - "paramKeys": [] - } - } - }, - "/files/chunkupload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分片上传文件", - "tags": [ - "File" - ], - "summary": "ChunkUpload file", - "parameters": [ - { - "type": "file", - "description": "request", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/compress": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "压缩文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Compress file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCompress" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Compress file [name]", - "formatZH": "压缩文件 [name]", - "paramKeys": [] - } - } - }, - "/files/content": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件内容", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load file content", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileContentReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Load file content [path]", - "formatZH": "获取文件内容 [path]", - "paramKeys": [] - } - } - }, - "/files/decompress": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "解压文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Decompress file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDeCompress" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Decompress file [path]", - "formatZH": "解压 [path]", - "paramKeys": [] - } - } - }, - "/files/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Delete file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Delete dir or file [path]", - "formatZH": "删除文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/download": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Download file", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/favorite": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建收藏", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Create favorite", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FavoriteCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "收藏文件/文件夹 [path]", - "formatZH": "收藏文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/favorite/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除收藏", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Delete favorite", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FavoriteDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "favorites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "path", - "output_value": "path" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete avorite [path]", - "formatZH": "删除收藏 [path]", - "paramKeys": [] - } - } - }, - "/files/favorite/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取收藏列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List favorites", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/mode": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件权限", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file mode", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path", - "mode" - ], - "formatEN": "Change mode [paths] =\u003e [mode]", - "formatZH": "修改权限 [paths] =\u003e [mode]", - "paramKeys": [] - } - } - }, - "/files/move": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "移动文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Move file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileMove" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "oldPaths", - "newPath" - ], - "formatEN": "Move [oldPaths] =\u003e [newPath]", - "formatZH": "移动文件 [oldPaths] =\u003e [newPath]", - "paramKeys": [] - } - } - }, - "/files/owner": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件用户/组", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file owner", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRoleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path", - "user", - "group" - ], - "formatEN": "Change owner [paths] =\u003e [user]/[group]", - "formatZH": "修改用户/组 [paths] =\u003e [user]/[group]", - "paramKeys": [] - } - } - }, - "/files/read": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "按行读取日志文件", - "tags": [ - "File" - ], - "summary": "Read file by Line", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileReadByLineReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/recycle/clear": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空回收站文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Clear RecycleBin files", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "清空回收站", - "formatZH": "清空回收站", - "paramKeys": [] - } - } - }, - "/files/recycle/reduce": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "还原回收站文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Reduce RecycleBin files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RecycleBinReduce" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Reduce RecycleBin file [name]", - "formatZH": "还原回收站文件 [name]", - "paramKeys": [] - } - } - }, - "/files/recycle/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取回收站文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List RecycleBin files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/recycle/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取回收站状态", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Get RecycleBin status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/rename": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件名称", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file name", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRename" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "oldName", - "newName" - ], - "formatEN": "Rename [oldName] =\u003e [newName]", - "formatZH": "重命名 [oldName] =\u003e [newName]", - "paramKeys": [] - } - } - }, - "/files/save": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新文件内容", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Update file content", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileEdit" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Update file content [path]", - "formatZH": "更新文件内容 [path]", - "paramKeys": [] - } - } - }, - "/files/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileOption" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/files/size": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件夹大小", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load file size", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.DirSizeReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Load file size [path]", - "formatZH": "获取文件夹大小 [path]", - "paramKeys": [] - } - } - }, - "/files/tree": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载文件树", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load files tree", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileOption" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileTree" - } - } - } - } - } - }, - "/files/upload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传文件", - "tags": [ - "File" - ], - "summary": "Upload file", - "parameters": [ - { - "type": "file", - "description": "request", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Upload file [path]", - "formatZH": "上传文件 [path]", - "paramKeys": [] - } - } - }, - "/files/upload/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分页获取上传文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Page file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SearchUploadWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - } - }, - "/files/wget": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载远端文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Wget file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileWget" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "url", - "path", - "name" - ], - "formatEN": "Download url =\u003e [path]/[name]", - "formatZH": "下载 url =\u003e [path]/[name]", - "paramKeys": [] - } - } - }, - "/groups": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "create group [name][type]", - "formatZH": "创建组 [name][type]", - "paramKeys": [] - } - } - }, - "/groups/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Delete group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/groups/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "查询系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "List groups", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.GroupInfo" - } - } - } - } - } - }, - "/groups/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Update group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "update group [name][type]", - "formatZH": "更新组 [name][type]", - "paramKeys": [] - } - } - }, - "/host/conffile/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传文件更新 SSH 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Update host SSH setting by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSHConf" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update SSH conf", - "formatZH": "修改 SSH 配置文件", - "paramKeys": [] - } - } - }, - "/host/ssh/conf": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 配置文件", - "tags": [ - "SSH" - ], - "summary": "Load host SSH conf", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/ssh/generate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "生成 SSH 密钥", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Generate host SSH secret", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GenerateSSH" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "generate SSH secret", - "formatZH": "生成 SSH 密钥 ", - "paramKeys": [] - } - } - }, - "/host/ssh/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 登录日志", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Load host SSH logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchSSHLog" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SSHLog" - } - } - } - } - }, - "/host/ssh/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 SSH 服务状态", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Operate SSH", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] SSH", - "formatZH": "[operation] SSH ", - "paramKeys": [] - } - } - }, - "/host/ssh/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载 SSH 配置信息", - "tags": [ - "SSH" - ], - "summary": "Load host SSH setting info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SSHInfo" - } - } - } - } - }, - "/host/ssh/secret": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 密钥", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Load host SSH secret", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GenerateLoad" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/ssh/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 SSH 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Update host SSH setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSHUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update SSH setting [key] =\u003e [value]", - "formatZH": "修改 SSH 配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/host/tool": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机工具状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/tool/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作主机工具配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] tool config", - "formatZH": "[operate] 主机工具配置文件 ", - "paramKeys": [] - } - } - }, - "/host/tool/create": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建主机工具配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Create Host tool Config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "create [type] config", - "formatZH": "创建 [type] 配置", - "paramKeys": [] - } - } - }, - "/host/tool/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机工具日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/tool/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作主机工具", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Operate tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate", - "type" - ], - "formatEN": "[operate] [type]", - "formatZH": "[operate] [type] ", - "paramKeys": [] - } - } - }, - "/host/tool/supervisor/process": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Supervisor 进程配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get Supervisor process config", - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作守护进程", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Create Supervisor process", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SupervisorProcessConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] process", - "formatZH": "[operate] 守护进程 ", - "paramKeys": [] - } - } - }, - "/host/tool/supervisor/process/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作 Supervisor 进程文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get Supervisor process config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SupervisorProcessFileReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] Supervisor Process Config file", - "formatZH": "[operate] Supervisor 进程文件 ", - "paramKeys": [] - } - } - }, - "/hosts": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Create host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "addr" - ], - "formatEN": "create host [name][addr]", - "formatZH": "创建主机 [name][addr]", - "paramKeys": [] - } - } - }, - "/hosts/command": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令列表", - "tags": [ - "Command" - ], - "summary": "List commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.CommandInfo" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Create command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommandOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "command" - ], - "formatEN": "create quick command [name][command]", - "formatZH": "创建快捷命令 [name][command]", - "paramKeys": [] - } - } - }, - "/hosts/command/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Delete command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "commands", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete quick command [names]", - "formatZH": "删除快捷命令 [names]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 快速命令列表", - "tags": [ - "Redis Command" - ], - "summary": "List redis commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "保存 Redis 快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Save redis command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisCommand" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "command" - ], - "formatEN": "save quick command for redis [name][command]", - "formatZH": "保存 redis 快捷命令 [name][command]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 redis 快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Delete redis command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "redis_commands", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete quick command of redis [names]", - "formatZH": "删除 redis 快捷命令 [names]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 快速命令列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Page redis commands", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/command/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Page commands", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/command/tree": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令树", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Tree commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/hosts/command/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Update command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommandOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update quick command [name]", - "formatZH": "更新快捷命令 [name]", - "paramKeys": [] - } - } - }, - "/hosts/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Delete host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/hosts/firewall/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防火墙基础信息", - "tags": [ - "Firewall" - ], - "summary": "Load firewall base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.FirewallBaseInfo" - } - } - } - } - }, - "/hosts/firewall/batch": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量删除防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/forward": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防火墙端口转发规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ForwardRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "source_port" - ], - "formatEN": "update port forward rules [source_port]", - "formatZH": "更新端口转发规则 [source_port]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/ip": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建防火墙 IP 规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.AddrRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "strategy", - "address" - ], - "formatEN": "create address rules [strategy][address]", - "formatZH": "添加 ip 规则 [strategy] [address]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改防火墙状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Page firewall status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FirewallOperation" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] firewall", - "formatZH": "[operation] 防火墙", - "paramKeys": [] - } - } - }, - "/hosts/firewall/port": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建防火墙端口规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "port", - "strategy" - ], - "formatEN": "create port rules [strategy][port]", - "formatZH": "添加端口规则 [strategy] [port]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防火墙规则列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Page firewall rules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RuleSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/firewall/update/addr": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 ip 防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.AddrRuleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/update/description": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防火墙描述", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Update rule description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateFirewallDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/update/port": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新端口防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortRuleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/monitor/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空监控数据", - "tags": [ - "Monitor" - ], - "summary": "Clean monitor datas", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "clean monitor datas", - "formatZH": "清空监控数据", - "paramKeys": [] - } - } - }, - "/hosts/monitor/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取监控数据", - "tags": [ - "Monitor" - ], - "summary": "Load monitor datas", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MonitorSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Page host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchHostWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostTree" - } - } - } - } - } - }, - "/hosts/test/byid/:id": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试主机连接", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Test host conn by host id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "boolean" - } - } - } - } - }, - "/hosts/test/byinfo": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试主机连接", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Test host conn by info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostConnTest" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/tree": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载主机树", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Load host tree", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchForTree" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostTree" - } - } - } - } - } - }, - "/hosts/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Update host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "addr" - ], - "formatEN": "update host [name][addr]", - "formatZH": "更新主机信息 [name][addr]", - "paramKeys": [] - } - } - }, - "/hosts/update/group": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "切换分组", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Update host group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeHostGroup" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/logs/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Clean operation logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CleanLog" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "logType" - ], - "formatEN": "Clean the [logType] log information", - "formatZH": "清空 [logType] 日志信息", - "paramKeys": [] - } - } - }, - "/logs/login": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统登录日志列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Page login logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchLgLogWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/logs/operation": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统操作日志列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Page operation logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchOpLogWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/logs/system": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统日志", - "tags": [ - "Logs" - ], - "summary": "Load system logs", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/logs/system/files": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统日志文件列表", - "tags": [ - "Logs" - ], - "summary": "Load system log files", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/openresty": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OpenResty 配置信息", - "tags": [ - "OpenResty" - ], - "summary": "Load OpenResty conf", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/openresty/clear": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理 OpenResty 代理缓存", - "tags": [ - "OpenResty" - ], - "summary": "Clear OpenResty proxy cache", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Clear nginx proxy cache", - "formatZH": "清理 Openresty 代理缓存", - "paramKeys": [] - } - } - }, - "/openresty/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传更新 OpenResty 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Update OpenResty conf by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigFileUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Update nginx conf", - "formatZH": "更新 nginx 配置", - "paramKeys": [] - } - } - }, - "/openresty/scope": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取部分 OpenResty 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Load partial OpenResty conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxScopeReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.NginxParam" - } - } - } - } - } - }, - "/openresty/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OpenResty 状态信息", - "tags": [ - "OpenResty" - ], - "summary": "Load OpenResty status info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.NginxStatus" - } - } - } - } - }, - "/openresty/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 OpenResty 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Update OpenResty conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Update nginx conf [domain]", - "formatZH": "更新 nginx 配置 [domain]", - "paramKeys": [] - } - } - }, - "/process/stop": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "停止进程", - "tags": [ - "Process" - ], - "summary": "Stop Process", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.ProcessReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "PID" - ], - "formatEN": "结束进程 [PID]", - "formatZH": "结束进程 [PID]", - "paramKeys": [] - } - } - }, - "/runtimes": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Create runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create runtime [name]", - "formatZH": "创建运行环境 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get runtime", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Delete runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website [name]", - "formatZH": "删除网站 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/node/modules": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Node 项目的 modules", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get Node modules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodeModuleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/node/modules/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作 Node 项目 modules", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Operate Node modules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodeModuleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/node/package": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Node 项目的 scripts", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get Node package scripts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodePackageReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Operate runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "id" - ], - "formatEN": "Operate runtime [name]", - "formatZH": "操作运行环境 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/php/extensions": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Create Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Create Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/php/extensions/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Delete Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Delete Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/php/extensions/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Page Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Page Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.PHPExtensionsDTO" - } - } - } - } - } - }, - "/runtimes/php/extensions/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Update Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Update Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取运行环境列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "List runtimes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步运行环境状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Sync runtime status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Update runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Update runtime [name]", - "formatZH": "更新运行环境 [name]", - "paramKeys": [] - } - } - }, - "/settings/backup": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建备份账号", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Create backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "create backup account [type]", - "formatZH": "创建备份账号 [type]", - "paramKeys": [] - } - } - }, - "/settings/backup/backup": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "备份系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Backup system data", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonBackup" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName" - ], - "formatEN": "backup [type] data [name][detailName]", - "formatZH": "备份 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除备份账号", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Delete backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "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": [] - } - } - }, - "/settings/backup/onedrive": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OneDrive 信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Load OneDrive info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.OneDriveInfo" - } - } - } - } - }, - "/settings/backup/record/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除备份记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Delete backup record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "backup_records", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "file_name", - "output_value": "files" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete backup records [files]", - "formatZH": "删除备份记录 [files]", - "paramKeys": [] - } - } - }, - "/settings/backup/record/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载备份记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Download backup record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DownloadRecord" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "source", - "fileName" - ], - "formatEN": "download backup records [source][fileName]", - "formatZH": "下载备份记录 [source][fileName]", - "paramKeys": [] - } - } - }, - "/settings/backup/record/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份记录列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Page backup records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RecordSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/record/search/bycronjob": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过计划任务获取备份记录列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Page backup records by cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RecordSearchByCronjob" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/recover": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "恢复系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Recover system data", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName", - "file" - ], - "formatEN": "recover [type] data [name][detailName] from [file]", - "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/recover/byupload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从上传恢复系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Recover system data by upload", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName", - "file" - ], - "formatEN": "recover [type] data [name][detailName] from [file]", - "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/refresh/onedrive": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "刷新 OneDrive token", - "tags": [ - "Backup Account" - ], - "summary": "Refresh OneDrive token", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/search": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份账号列表", - "tags": [ - "Backup Account" - ], - "summary": "List backup accounts", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.BackupInfo" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 bucket 列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "List buckets", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ForBuckets" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/settings/backup/search/files": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份账号内文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "List files from backup accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupSearchFile" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/settings/backup/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新备份账号信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Update backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "update backup account [types]", - "formatZH": "更新备份账号 [types]", - "paramKeys": [] - } - } - }, - "/settings/basedir": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取安装根目录", - "tags": [ - "System Setting" - ], - "summary": "Load local backup dir", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/settings/bind/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统监听信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system bind info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BindInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "ipv6", - "bindAddress" - ], - "formatEN": "update system bind info =\u003e ipv6: [ipv6], 监听 IP: [bindAddress]", - "formatZH": "修改系统监听信息 =\u003e ipv6: [ipv6], 监听 IP: [bindAddress]", - "paramKeys": [] - } - } - }, - "/settings/expired/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "重置过期系统登录密码", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Reset system password expired", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PasswordUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "reset an expired Password", - "formatZH": "重置过期密码", - "paramKeys": [] - } - } - }, - "/settings/interface": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统地址信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load system address", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/menu/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "隐藏高级功能菜单", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Hide advanced feature menu.", - "formatZH": "隐藏高级功能菜单", - "paramKeys": [] - } - } - }, - "/settings/mfa": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mfa 信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load mfa info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MfaCredential" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/mfa.Otp" - } - } - } - } - }, - "/settings/mfa/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mfa 绑定", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Bind mfa", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MfaCredential" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "bind mfa", - "formatZH": "mfa 绑定", - "paramKeys": [] - } - } - }, - "/settings/password/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统登录密码", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PasswordUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update system password", - "formatZH": "修改系统密码", - "paramKeys": [] - } - } - }, - "/settings/port/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统端口", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system port", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "serverPort" - ], - "formatEN": "update system port =\u003e [serverPort]", - "formatZH": "修改系统端口 =\u003e [serverPort]", - "paramKeys": [] - } - } - }, - "/settings/proxy/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "服务器代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update proxy setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ProxyUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "proxyUrl", - "proxyPort" - ], - "formatEN": "set proxy [proxyPort]:[proxyPort].", - "formatZH": "服务器代理配置 [proxyPort]:[proxyPort]", - "paramKeys": [] - } - } - }, - "/settings/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载系统配置信息", - "tags": [ - "System Setting" - ], - "summary": "Load system setting info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SettingInfo" - } - } - } - } - }, - "/settings/search/available": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统可用状态", - "tags": [ - "System Setting" - ], - "summary": "Load system available status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/snapshot": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建系统快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Create system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "from", - "description" - ], - "formatEN": "Create system backup [description] to [from]", - "formatZH": "创建系统快照 [description] 到 [from]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除系统快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Delete system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "Delete system backup [name]", - "formatZH": "删除系统快照 [name]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/description/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新快照描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update snapshot description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the snapshot [name] is modified =\u003e [description]", - "formatZH": "快照 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/import": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导入已有快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Import system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotImport" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "from", - "names" - ], - "formatEN": "Sync system snapshots [names] from [from]", - "formatZH": "从 [from] 同步系统快照 [names]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/recover": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从系统快照恢复", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Recover system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Recover from system backup [name]", - "formatZH": "从系统快照 [name] 恢复", - "paramKeys": [] - } - } - }, - "/settings/snapshot/rollback": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从系统快照回滚", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Rollback system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Rollback from system backup [name]", - "formatZH": "从系统快照 [name] 回滚", - "paramKeys": [] - } - } - }, - "/settings/snapshot/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统快照列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Page system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/settings/snapshot/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快照状态", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load Snapshot status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/ssl/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载证书", - "tags": [ - "System Setting" - ], - "summary": "Download system cert", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/ssl/info": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取证书信息", - "tags": [ - "System Setting" - ], - "summary": "Load system cert info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SettingInfo" - } - } - } - } - }, - "/settings/ssl/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 ssl 登录", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSLUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "ssl" - ], - "formatEN": "update system ssl =\u003e [ssl]", - "formatZH": "修改系统 ssl =\u003e [ssl]", - "paramKeys": [] - } - } - }, - "/settings/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统配置", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update system setting [key] =\u003e [value]", - "formatZH": "修改系统配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/settings/upgrade": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取版本 release notes", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load release notes by version", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Upgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "系统更新", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Upgrade", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Upgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "version" - ], - "formatEN": "upgrade system =\u003e [version]", - "formatZH": "更新系统 =\u003e [version]", - "paramKeys": [] - } - } - }, - "/toolbox/clam": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Create clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "path" - ], - "formatEN": "create clam [name][path]", - "formatZH": "创建扫描规则 [name][path]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Clam 基础信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ClamBaseInfo" - } - } - } - } - }, - "/toolbox/clam/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Delete clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete clam [names]", - "formatZH": "删除扫描规则 [names]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/file/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamFileReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/file/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新病毒扫描配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByNameAndFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/clam/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "执行病毒扫描", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Handle clam scan", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "handle clam scan [name]", - "formatZH": "执行病毒扫描 [name]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Clam 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Operate Clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] FTP", - "formatZH": "[operation] Clam", - "paramKeys": [] - } - } - }, - "/toolbox/clam/record/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空扫描报告", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Clean clam record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "clean clam record [name]", - "formatZH": "清空扫描报告 [name]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/record/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描结果详情", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam record detail", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/clam/record/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描结果列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Page clam record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamLogSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描规则列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Page clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/status/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改扫描规则状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamUpdateStatus" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "status" - ], - "formatEN": "change the status of clam [name] to [status].", - "formatZH": "修改扫描规则 [name] 状态为 [status]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "path" - ], - "formatEN": "update clam [name][path]", - "formatZH": "修改扫描规则 [name][path]", - "paramKeys": [] - } - } - }, - "/toolbox/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理系统垃圾文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Clean system", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Clean" - } - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Clean system junk files", - "formatZH": "清理系统垃圾文件", - "paramKeys": [] - } - } - }, - "/toolbox/device/base": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取设备基础信息", - "tags": [ - "Device" - ], - "summary": "Load device base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DeviceBaseInfo" - } - } - } - } - }, - "/toolbox/device/check/dns": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检查系统 DNS 配置可用性", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Check device DNS conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "load conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/byconf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过文件修改配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device conf by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByNameAndFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统参数", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update device conf [key] =\u003e [value]", - "formatZH": "修改主机参数 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/device/update/host": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 hosts", - "tags": [ - "Device" - ], - "summary": "Update device hosts", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update device host [key] =\u003e [value]", - "formatZH": "修改主机 Host [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/device/update/passwd": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device passwd", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangePasswd" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/swap": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 Swap", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device swap", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SwapHelper" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate", - "path" - ], - "formatEN": "[operate] device swap [path]", - "formatZH": "[operate] 主机 swap [path]", - "paramKeys": [] - } - } - }, - "/toolbox/device/zone/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统可用时区选项", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "list time zone options", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/toolbox/fail2ban/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Fail2ban 基础信息", - "tags": [ - "Fail2ban" - ], - "summary": "Load fail2ban base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.Fail2BanBaseInfo" - } - } - } - } - }, - "/toolbox/fail2ban/load/conf": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 fail2ban 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Load fail2ban conf", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/fail2ban/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Fail2ban 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Operate fail2ban", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] Fail2ban", - "formatZH": "[operation] Fail2ban", - "paramKeys": [] - } - } - }, - "/toolbox/fail2ban/operate/sshd": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "配置 sshd", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Operate sshd of fail2ban", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {} - } - }, - "/toolbox/fail2ban/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Fail2ban ip", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Page fail2ban ip list", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Fail2BanSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/toolbox/fail2ban/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Fail2ban 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Update fail2ban conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Fail2BanUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update fail2ban conf [key] =\u003e [value]", - "formatZH": "修改 Fail2ban 配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/fail2ban/update/byconf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过文件修改 fail2ban 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Update fail2ban conf by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/ftp": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Create FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "user", - "path" - ], - "formatEN": "create FTP [user][path]", - "formatZH": "创建 FTP 账户 [user][path]", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 基础信息", - "tags": [ - "FTP" - ], - "summary": "Load FTP base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.FtpBaseInfo" - } - } - } - } - }, - "/toolbox/ftp/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Delete FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "ftps", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "user", - "output_value": "users" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete FTP users [users]", - "formatZH": "删除 FTP 账户 [users]", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/log/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Load FTP operation log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpLogSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/ftp/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 FTP 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Operate FTP", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] FTP", - "formatZH": "[operation] FTP", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 账户列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Page FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/ftp/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Sync FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "sync FTP users", - "formatZH": "同步 FTP 账户", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Update FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "user", - "path" - ], - "formatEN": "update FTP [user][path]", - "formatZH": "修改 FTP 账户 [user][path]", - "paramKeys": [] - } - } - }, - "/toolbox/scan": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "扫描系统垃圾文件", - "tags": [ - "Device" - ], - "summary": "Scan system", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "scan System Junk Files", - "formatZH": "扫描系统垃圾文件", - "paramKeys": [] - } - } - }, - "/websites": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Create website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Create website [primaryDomain]", - "formatZH": "创建网站 [primaryDomain]", - "paramKeys": [] - } - } - }, - "/websites/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Search website by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteDTO" - } - } - } - } - }, - "/websites/:id/config/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询网站 nginx", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Search website nginx by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/websites/:id/https": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 https 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website HTTPS" - ], - "summary": "Load https conf", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteHTTPS" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 https 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website HTTPS" - ], - "summary": "Update https conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteHTTPSOp" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteHTTPS" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Update website https [domain] conf", - "formatZH": "更新网站 [domain] https 配置", - "paramKeys": [] - } - } - }, - "/websites/acme": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 acme", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Create website acme account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteAcmeAccountCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteAcmeAccountDTO" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "email" - ], - "formatEN": "Create website acme [email]", - "formatZH": "创建网站 acme [email]", - "paramKeys": [] - } - } - }, - "/websites/acme/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 acme", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Delete website acme account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_acme_accounts", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "email", - "output_value": "email" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website acme [email]", - "formatZH": "删除网站 acme [email]", - "paramKeys": [] - } - } - }, - "/websites/acme/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 acme 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Page website acme accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/auths": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取密码访问配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AuthBasic conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAuthReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/auths/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新密码访问配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AuthBasic conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAuthUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ca": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Create website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCACreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/request.WebsiteCACreate" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create website ca [name]", - "formatZH": "创建网站 ca [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Delete website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website ca [name]", - "formatZH": "删除网站 ca [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载 CA 证书文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Download CA file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "download ca file [name]", - "formatZH": "下载 CA 证书文件 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/obtain": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "自签 SSL 证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Obtain SSL", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCAObtain" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Obtain SSL [name]", - "formatZH": "自签 SSL 证书 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/renew": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "续签 SSL 证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Obtain SSL", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCAObtain" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Obtain SSL [name]", - "formatZH": "自签 SSL 证书 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ca 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Page website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCASearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/ca/{id}": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Get website ca", - "parameters": [ - { - "type": "integer", - "description": "id", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteCADTO" - } - } - } - } - }, - "/websites/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "网站创建前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Check before create website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteInstallCheckReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsitePreInstallCheck" - } - } - } - } - } - }, - "/websites/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Load nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxScopeReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteNginxConfig" - } - } - } - } - }, - "/websites/config/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Update nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Nginx conf update [domain]", - "formatZH": "nginx 配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/default/html/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取默认 html", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get default html", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/websites/default/html/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新默认 html", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update default html", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteHtmlUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "Update default html", - "formatZH": "更新默认 html", - "paramKeys": [] - } - } - }, - "/websites/default/server": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Change default server", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDefaultUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id", - "operate" - ], - "formatEN": "Change default server =\u003e [domain]", - "formatZH": "修改默认 server =\u003e [domain]", - "paramKeys": [] - } - } - }, - "/websites/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Delete website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website [domain]", - "formatZH": "删除网站 [domain]", - "paramKeys": [] - } - } - }, - "/websites/dir": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站目录配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get website dir", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/dir/permission": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站目录权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update Site Dir permission", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdateDirPermission" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] dir permission", - "formatZH": "更新网站 [domain] 目录权限", - "paramKeys": [] - } - } - }, - "/websites/dir/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站目录", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update Site Dir", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdateDir" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] dir", - "formatZH": "更新网站 [domain] 目录", - "paramKeys": [] - } - } - }, - "/websites/dns": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Create website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDnsAccountCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create website dns [name]", - "formatZH": "创建网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/dns/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Delete website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_dns_accounts", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website dns [name]", - "formatZH": "删除网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/dns/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 dns 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Page website dns accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/dns/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Update website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDnsAccountUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Update website dns [name]", - "formatZH": "更新网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/domains": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Create website domain", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDomainCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/model.WebsiteDomain" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "domain" - ], - "formatEN": "Create domain [domain]", - "formatZH": "创建域名 [domain]", - "paramKeys": [] - } - } - }, - "/websites/domains/:websiteId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过网站 id 查询域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Search website domains by websiteId", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "websiteId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - } - } - } - } - }, - "/websites/domains/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Delete website domain", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDomainDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_domains", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete domain [domain]", - "formatZH": "删除域名 [domain]", - "paramKeys": [] - } - } - }, - "/websites/leech": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防盗链配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AntiLeech conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/leech/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防盗链配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update AntiLeech", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAntiLeechUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/list": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表", - "tags": [ - "Website" - ], - "summary": "List websites", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsiteDTO" - } - } - } - } - } - }, - "/websites/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Operate website log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteLog" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id", - "operate" - ], - "formatEN": "[domain][operate] logs", - "formatZH": "[domain][operate] 日志", - "paramKeys": [] - } - } - }, - "/websites/nginx/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 网站 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Update website nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteNginxUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "[domain] Nginx conf update", - "formatZH": "[domain] Nginx 配置修改", - "paramKeys": [] - } - } - }, - "/websites/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Operate website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteOp" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表", - "tags": [ - "Website" - ], - "summary": "List website names", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/websites/php/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 网站 PHP 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update website php conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "[domain] PHP conf update", - "formatZH": "[domain] PHP 配置修改", - "paramKeys": [] - } - } - }, - "/websites/php/config/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 php 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Load website php conf", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.PHPConfig" - } - } - } - } - }, - "/websites/php/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 php 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update php conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPFileUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Nginx conf update [domain]", - "formatZH": "php 配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/php/version": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "变更 php 版本", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update php version", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPVersionReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "php version update [domain]", - "formatZH": "php 版本变更 [domain]", - "paramKeys": [] - } - } - }, - "/websites/proxies": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取反向代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get proxy conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/proxies/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改反向代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update proxy conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] proxy config", - "formatZH": "修改网站 [domain] 反向代理配置 ", - "paramKeys": [] - } - } - }, - "/websites/proxy/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新反向代理文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update proxy file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxProxyUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf proxy file update [domain]", - "formatZH": "更新反向代理文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/redirect": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取重定向配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get redirect conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/redirect/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新重定向文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update redirect file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRedirectUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf redirect file update [domain]", - "formatZH": "更新重定向文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/redirect/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改重定向配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update redirect conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRedirectReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Update domain [domain] redirect config", - "formatZH": "修改网站 [domain] 重定向理配置 ", - "paramKeys": [] - } - } - }, - "/websites/rewrite": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取伪静态配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get rewrite conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRewriteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/rewrite/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新伪静态配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update rewrite conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRewriteUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf rewrite update [domain]", - "formatZH": "伪静态配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Page websites", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/ssl": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Create website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/request.WebsiteSSLCreate" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Create website ssl [primaryDomain]", - "formatZH": "创建网站 ssl [primaryDomain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Search website ssl by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ssl/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Delete website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteBatchDelReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "Delete ssl [domain]", - "formatZH": "删除 ssl [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载证书文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Download SSL file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "download ssl file [domain]", - "formatZH": "下载证书文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/obtain": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "申请证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Apply ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLApply" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "ID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "ID" - ], - "formatEN": "apply ssl [domain]", - "formatZH": "申请证书 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/resolve": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "解析网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Resolve website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDNSReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsiteDNSRes" - } - } - } - } - } - }, - "/websites/ssl/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ssl 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Page website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ssl/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Update ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update ssl config [domain]", - "formatZH": "更新证书设置 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/upload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Upload ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLUpload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "Upload ssl [type]", - "formatZH": "上传 ssl [type]", - "paramKeys": [] - } - } - }, - "/websites/ssl/website/:websiteId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过网站 id 查询 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Search website ssl by website id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "websiteId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Update website [primaryDomain]", - "formatZH": "更新网站 [primaryDomain]", - "paramKeys": [] - } - } - } - }, - "definitions": { - "dto.AddrRuleOperate": { - "type": "object", - "required": [ - "address", - "operation", - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - } - } - }, - "dto.AddrRuleUpdate": { - "type": "object", - "properties": { - "newRule": { - "$ref": "#/definitions/dto.AddrRuleOperate" - }, - "oldRule": { - "$ref": "#/definitions/dto.AddrRuleOperate" - } - } - }, - "dto.AppInstallInfo": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.AppResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.AppVersion": { - "type": "object", - "properties": { - "detailId": { - "type": "integer" - }, - "dockerCompose": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.BackupInfo": { - "type": "object", - "properties": { - "backupPath": { - "type": "string" - }, - "bucket": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.BackupOperate": { - "type": "object", - "required": [ - "type", - "vars" - ], - "properties": { - "accessKey": { - "type": "string" - }, - "backupPath": { - "type": "string" - }, - "bucket": { - "type": "string" - }, - "credential": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.BackupSearchFile": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string" - } - } - }, - "dto.BatchDelete": { - "type": "object", - "required": [ - "names" - ], - "properties": { - "force": { - "type": "boolean" - }, - "names": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.BatchDeleteReq": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.BatchRuleOperate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "rules": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - }, - "type": { - "type": "string" - } - } - }, - "dto.BindInfo": { - "type": "object", - "required": [ - "bindAddress", - "ipv6" - ], - "properties": { - "bindAddress": { - "type": "string" - }, - "ipv6": { - "type": "string", - "enum": [ - "enable", - "disable" - ] - } - } - }, - "dto.BindUser": { - "type": "object", - "required": [ - "database", - "db", - "password", - "permission", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "db": { - "type": "string" - }, - "password": { - "type": "string" - }, - "permission": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "dto.CaptchaResponse": { - "type": "object", - "properties": { - "captchaID": { - "type": "string" - }, - "imagePath": { - "type": "string" - } - } - }, - "dto.ChangeDBInfo": { - "type": "object", - "required": [ - "database", - "from", - "type", - "value" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb", - "postgresql" - ] - }, - "value": { - "type": "string" - } - } - }, - "dto.ChangeHostGroup": { - "type": "object", - "required": [ - "groupID", - "id" - ], - "properties": { - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - } - } - }, - "dto.ChangePasswd": { - "type": "object", - "properties": { - "passwd": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.ChangeRedisPass": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "database": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "dto.ClamBaseInfo": { - "type": "object", - "properties": { - "freshIsActive": { - "type": "boolean" - }, - "freshIsExist": { - "type": "boolean" - }, - "freshVersion": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - }, - "version": { - "type": "string" - } - } - }, - "dto.ClamCreate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "infectedDir": { - "type": "string" - }, - "infectedStrategy": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.ClamDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - }, - "removeInfected": { - "type": "boolean" - }, - "removeRecord": { - "type": "boolean" - } - } - }, - "dto.ClamFileReq": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "tail": { - "type": "string" - } - } - }, - "dto.ClamLogReq": { - "type": "object", - "properties": { - "clamName": { - "type": "string" - }, - "recordName": { - "type": "string" - }, - "tail": { - "type": "string" - } - } - }, - "dto.ClamLogSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "clamID": { - "type": "integer" - }, - "endTime": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "startTime": { - "type": "string" - } - } - }, - "dto.ClamUpdate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "infectedDir": { - "type": "string" - }, - "infectedStrategy": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "spec": { - "type": "string" - } - } - }, - "dto.ClamUpdateStatus": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.Clean": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "treeType": { - "type": "string" - } - } - }, - "dto.CleanLog": { - "type": "object", - "required": [ - "logType" - ], - "properties": { - "logType": { - "type": "string", - "enum": [ - "login", - "operation" - ] - } - } - }, - "dto.CommandInfo": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "groupBelong": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.CommandOperate": { - "type": "object", - "required": [ - "command", - "name" - ], - "properties": { - "command": { - "type": "string" - }, - "groupBelong": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.CommonBackup": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "app", - "mysql", - "mariadb", - "redis", - "website", - "postgresql" - ] - } - } - }, - "dto.CommonRecover": { - "type": "object", - "required": [ - "source", - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "file": { - "type": "string" - }, - "name": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "source": { - "type": "string", - "enum": [ - "OSS", - "S3", - "SFTP", - "MINIO", - "LOCAL", - "COS", - "KODO", - "OneDrive", - "WebDAV" - ] - }, - "type": { - "type": "string", - "enum": [ - "app", - "mysql", - "mariadb", - "redis", - "website", - "postgresql" - ] - } - } - }, - "dto.ComposeCreate": { - "type": "object", - "required": [ - "from" - ], - "properties": { - "file": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "edit", - "path", - "template" - ] - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "template": { - "type": "integer" - } - } - }, - "dto.ComposeOperation": { - "type": "object", - "required": [ - "name", - "operation", - "path" - ], - "properties": { - "name": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "down" - ] - }, - "path": { - "type": "string" - }, - "withFile": { - "type": "boolean" - } - } - }, - "dto.ComposeTemplateCreate": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "content": { - "type": "string" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.ComposeTemplateInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.ComposeTemplateUpdate": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "dto.ComposeUpdate": { - "type": "object", - "required": [ - "content", - "name", - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "dto.ContainerCommit": { - "type": "object", - "required": [ - "containerID" - ], - "properties": { - "author": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "containerID": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "newImageName": { - "type": "string" - }, - "pause": { - "type": "boolean" - } - } - }, - "dto.ContainerListStats": { - "type": "object", - "properties": { - "containerID": { - "type": "string" - }, - "cpuPercent": { - "type": "number" - }, - "cpuTotalUsage": { - "type": "integer" - }, - "memoryCache": { - "type": "integer" - }, - "memoryLimit": { - "type": "integer" - }, - "memoryPercent": { - "type": "number" - }, - "memoryUsage": { - "type": "integer" - }, - "percpuUsage": { - "type": "integer" - }, - "systemUsage": { - "type": "integer" - } - } - }, - "dto.ContainerOperate": { - "type": "object", - "required": [ - "image", - "name" - ], - "properties": { - "autoRemove": { - "type": "boolean" - }, - "cmd": { - "type": "array", - "items": { - "type": "string" - } - }, - "containerID": { - "type": "string" - }, - "cpuShares": { - "type": "integer" - }, - "entrypoint": { - "type": "array", - "items": { - "type": "string" - } - }, - "env": { - "type": "array", - "items": { - "type": "string" - } - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.PortHelper" - } - }, - "forcePull": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "ipv4": { - "type": "string" - }, - "ipv6": { - "type": "string" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "memory": { - "type": "number" - }, - "name": { - "type": "string" - }, - "nanoCPUs": { - "type": "number" - }, - "network": { - "type": "string" - }, - "openStdin": { - "type": "boolean" - }, - "privileged": { - "type": "boolean" - }, - "publishAllPorts": { - "type": "boolean" - }, - "restartPolicy": { - "type": "string" - }, - "tty": { - "type": "boolean" - }, - "volumes": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.VolumeHelper" - } - } - } - }, - "dto.ContainerOperation": { - "type": "object", - "required": [ - "names", - "operation" - ], - "properties": { - "names": { - "type": "array", - "items": { - "type": "string" - } - }, - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "restart", - "kill", - "pause", - "unpause", - "remove" - ] - } - } - }, - "dto.ContainerPrune": { - "type": "object", - "required": [ - "pruneType" - ], - "properties": { - "pruneType": { - "type": "string", - "enum": [ - "container", - "image", - "volume", - "network", - "buildcache" - ] - }, - "withTagAll": { - "type": "boolean" - } - } - }, - "dto.ContainerPruneReport": { - "type": "object", - "properties": { - "deletedNumber": { - "type": "integer" - }, - "spaceReclaimed": { - "type": "integer" - } - } - }, - "dto.ContainerRename": { - "type": "object", - "required": [ - "name", - "newName" - ], - "properties": { - "name": { - "type": "string" - }, - "newName": { - "type": "string" - } - } - }, - "dto.ContainerStats": { - "type": "object", - "properties": { - "cache": { - "type": "number" - }, - "cpuPercent": { - "type": "number" - }, - "ioRead": { - "type": "number" - }, - "ioWrite": { - "type": "number" - }, - "memory": { - "type": "number" - }, - "networkRX": { - "type": "number" - }, - "networkTX": { - "type": "number" - }, - "shotTime": { - "type": "string" - } - } - }, - "dto.ContainerUpgrade": { - "type": "object", - "required": [ - "image", - "name" - ], - "properties": { - "forcePull": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.CronjobBatchDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "cleanData": { - "type": "boolean" - }, - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.CronjobClean": { - "type": "object", - "required": [ - "cronjobID" - ], - "properties": { - "cleanData": { - "type": "boolean" - }, - "cronjobID": { - "type": "integer" - }, - "isDelete": { - "type": "boolean" - } - } - }, - "dto.CronjobCreate": { - "type": "object", - "required": [ - "name", - "spec", - "type" - ], - "properties": { - "appID": { - "type": "string" - }, - "backupAccounts": { - "type": "string" - }, - "command": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "dbName": { - "type": "string" - }, - "dbType": { - "type": "string" - }, - "defaultDownload": { - "type": "string" - }, - "exclusionRules": { - "type": "string" - }, - "name": { - "type": "string" - }, - "retainCopies": { - "type": "integer", - "minimum": 1 - }, - "script": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "type": { - "type": "string" - }, - "url": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "dto.CronjobDownload": { - "type": "object", - "required": [ - "backupAccountID", - "recordID" - ], - "properties": { - "backupAccountID": { - "type": "integer" - }, - "recordID": { - "type": "integer" - } - } - }, - "dto.CronjobUpdate": { - "type": "object", - "required": [ - "id", - "name", - "spec" - ], - "properties": { - "appID": { - "type": "string" - }, - "backupAccounts": { - "type": "string" - }, - "command": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "dbName": { - "type": "string" - }, - "dbType": { - "type": "string" - }, - "defaultDownload": { - "type": "string" - }, - "exclusionRules": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "retainCopies": { - "type": "integer", - "minimum": 1 - }, - "script": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "url": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "dto.CronjobUpdateStatus": { - "type": "object", - "required": [ - "id", - "status" - ], - "properties": { - "id": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.DBBaseInfo": { - "type": "object", - "properties": { - "containerName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - } - } - }, - "dto.DBConfUpdateByFile": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "file": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb", - "postgresql", - "redis" - ] - } - } - }, - "dto.DaemonJsonConf": { - "type": "object", - "properties": { - "cgroupDriver": { - "type": "string" - }, - "experimental": { - "type": "boolean" - }, - "fixedCidrV6": { - "type": "string" - }, - "insecureRegistries": { - "type": "array", - "items": { - "type": "string" - } - }, - "ip6Tables": { - "type": "boolean" - }, - "iptables": { - "type": "boolean" - }, - "ipv6": { - "type": "boolean" - }, - "isSwarm": { - "type": "boolean" - }, - "liveRestore": { - "type": "boolean" - }, - "logMaxFile": { - "type": "string" - }, - "logMaxSize": { - "type": "string" - }, - "registryMirrors": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DaemonJsonUpdateByFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.DashboardBase": { - "type": "object", - "properties": { - "appInstalledNumber": { - "type": "integer" - }, - "cpuCores": { - "type": "integer" - }, - "cpuLogicalCores": { - "type": "integer" - }, - "cpuModelName": { - "type": "string" - }, - "cronjobNumber": { - "type": "integer" - }, - "currentInfo": { - "$ref": "#/definitions/dto.DashboardCurrent" - }, - "databaseNumber": { - "type": "integer" - }, - "hostname": { - "type": "string" - }, - "kernelArch": { - "type": "string" - }, - "kernelVersion": { - "type": "string" - }, - "os": { - "type": "string" - }, - "platform": { - "type": "string" - }, - "platformFamily": { - "type": "string" - }, - "platformVersion": { - "type": "string" - }, - "virtualizationSystem": { - "type": "string" - }, - "websiteNumber": { - "type": "integer" - } - } - }, - "dto.DashboardCurrent": { - "type": "object", - "properties": { - "cpuPercent": { - "type": "array", - "items": { - "type": "number" - } - }, - "cpuTotal": { - "type": "integer" - }, - "cpuUsed": { - "type": "number" - }, - "cpuUsedPercent": { - "type": "number" - }, - "diskData": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DiskInfo" - } - }, - "gpuData": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.GPUInfo" - } - }, - "ioCount": { - "type": "integer" - }, - "ioReadBytes": { - "type": "integer" - }, - "ioReadTime": { - "type": "integer" - }, - "ioWriteBytes": { - "type": "integer" - }, - "ioWriteTime": { - "type": "integer" - }, - "load1": { - "type": "number" - }, - "load15": { - "type": "number" - }, - "load5": { - "type": "number" - }, - "loadUsagePercent": { - "type": "number" - }, - "memoryAvailable": { - "type": "integer" - }, - "memoryTotal": { - "type": "integer" - }, - "memoryUsed": { - "type": "integer" - }, - "memoryUsedPercent": { - "type": "number" - }, - "netBytesRecv": { - "type": "integer" - }, - "netBytesSent": { - "type": "integer" - }, - "procs": { - "type": "integer" - }, - "shotTime": { - "type": "string" - }, - "swapMemoryAvailable": { - "type": "integer" - }, - "swapMemoryTotal": { - "type": "integer" - }, - "swapMemoryUsed": { - "type": "integer" - }, - "swapMemoryUsedPercent": { - "type": "number" - }, - "timeSinceUptime": { - "type": "string" - }, - "uptime": { - "type": "integer" - } - } - }, - "dto.DatabaseCreate": { - "type": "object", - "required": [ - "from", - "name", - "type", - "username", - "version" - ], - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "description": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string", - "maxLength": 256 - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "dto.DatabaseInfo": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string", - "maxLength": 256 - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseItem": { - "type": "object", - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.DatabaseOption": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseSearch": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "dto.DatabaseUpdate": { - "type": "object", - "required": [ - "type", - "username", - "version" - ], - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DeviceBaseInfo": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "hostname": { - "type": "string" - }, - "hosts": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostHelper" - } - }, - "localTime": { - "type": "string" - }, - "maxSize": { - "type": "integer" - }, - "ntp": { - "type": "string" - }, - "swapDetails": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SwapHelper" - } - }, - "swapMemoryAvailable": { - "type": "integer" - }, - "swapMemoryTotal": { - "type": "integer" - }, - "swapMemoryUsed": { - "type": "integer" - }, - "timeZone": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.DiskInfo": { - "type": "object", - "properties": { - "device": { - "type": "string" - }, - "free": { - "type": "integer" - }, - "inodesFree": { - "type": "integer" - }, - "inodesTotal": { - "type": "integer" - }, - "inodesUsed": { - "type": "integer" - }, - "inodesUsedPercent": { - "type": "number" - }, - "path": { - "type": "string" - }, - "total": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "used": { - "type": "integer" - }, - "usedPercent": { - "type": "number" - } - } - }, - "dto.DockerOperation": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string", - "enum": [ - "start", - "restart", - "stop" - ] - } - } - }, - "dto.DownloadRecord": { - "type": "object", - "required": [ - "fileDir", - "fileName", - "source" - ], - "properties": { - "fileDir": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "source": { - "type": "string", - "enum": [ - "OSS", - "S3", - "SFTP", - "MINIO", - "LOCAL", - "COS", - "KODO", - "OneDrive", - "WebDAV" - ] - } - } - }, - "dto.Fail2BanBaseInfo": { - "type": "object", - "properties": { - "banAction": { - "type": "string" - }, - "banTime": { - "type": "string" - }, - "findTime": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "isEnable": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - }, - "logPath": { - "type": "string" - }, - "maxRetry": { - "type": "integer" - }, - "port": { - "type": "integer" - }, - "version": { - "type": "string" - } - } - }, - "dto.Fail2BanSearch": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "banned", - "ignore" - ] - } - } - }, - "dto.Fail2BanUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string", - "enum": [ - "port", - "bantime", - "findtime", - "maxretry", - "banaction", - "logpath", - "port" - ] - }, - "value": { - "type": "string" - } - } - }, - "dto.FirewallBaseInfo": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "pingStatus": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.FirewallOperation": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "restart", - "disablePing", - "enablePing" - ] - } - } - }, - "dto.ForBuckets": { - "type": "object", - "required": [ - "credential", - "type", - "vars" - ], - "properties": { - "accessKey": { - "type": "string" - }, - "credential": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.ForwardRuleOperate": { - "type": "object", - "properties": { - "rules": { - "type": "array", - "items": { - "type": "object", - "required": [ - "operation", - "port", - "protocol", - "targetPort" - ], - "properties": { - "num": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "tcp/udp" - ] - }, - "targetIP": { - "type": "string" - }, - "targetPort": { - "type": "string" - } - } - } - } - } - }, - "dto.FtpBaseInfo": { - "type": "object", - "properties": { - "isActive": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - } - } - }, - "dto.FtpCreate": { - "type": "object", - "required": [ - "password", - "path", - "user" - ], - "properties": { - "description": { - "type": "string" - }, - "password": { - "type": "string" - }, - "path": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.FtpLogSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "operation": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "user": { - "type": "string" - } - } - }, - "dto.FtpUpdate": { - "type": "object", - "required": [ - "password", - "path" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string" - }, - "path": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.GPUInfo": { - "type": "object", - "properties": { - "fanSpeed": { - "type": "string" - }, - "gpuUtil": { - "type": "string" - }, - "index": { - "type": "integer" - }, - "maxPowerLimit": { - "type": "string" - }, - "memTotal": { - "type": "string" - }, - "memUsed": { - "type": "string" - }, - "memoryUsage": { - "type": "string" - }, - "performanceState": { - "type": "string" - }, - "powerDraw": { - "type": "string" - }, - "powerUsage": { - "type": "string" - }, - "productName": { - "type": "string" - }, - "temperature": { - "type": "string" - } - } - }, - "dto.GenerateLoad": { - "type": "object", - "required": [ - "encryptionMode" - ], - "properties": { - "encryptionMode": { - "type": "string", - "enum": [ - "rsa", - "ed25519", - "ecdsa", - "dsa" - ] - } - } - }, - "dto.GenerateSSH": { - "type": "object", - "required": [ - "encryptionMode" - ], - "properties": { - "encryptionMode": { - "type": "string", - "enum": [ - "rsa", - "ed25519", - "ecdsa", - "dsa" - ] - }, - "password": { - "type": "string" - } - } - }, - "dto.GroupCreate": { - "type": "object", - "required": [ - "name", - "type" - ], - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.GroupInfo": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "isDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.GroupSearch": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string" - } - } - }, - "dto.GroupUpdate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "id": { - "type": "integer" - }, - "isDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.HostConnTest": { - "type": "object", - "required": [ - "addr", - "port", - "user" - ], - "properties": { - "addr": { - "type": "string" - }, - "authMode": { - "type": "string", - "enum": [ - "password", - "key" - ] - }, - "passPhrase": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - }, - "privateKey": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.HostHelper": { - "type": "object", - "properties": { - "host": { - "type": "string" - }, - "ip": { - "type": "string" - } - } - }, - "dto.HostOperate": { - "type": "object", - "required": [ - "addr", - "port", - "user" - ], - "properties": { - "addr": { - "type": "string" - }, - "authMode": { - "type": "string", - "enum": [ - "password", - "key" - ] - }, - "description": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "passPhrase": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - }, - "privateKey": { - "type": "string" - }, - "rememberPassword": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "dto.HostTree": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.TreeChild" - } - }, - "id": { - "type": "integer" - }, - "label": { - "type": "string" - } - } - }, - "dto.ImageBuild": { - "type": "object", - "required": [ - "dockerfile", - "from", - "name" - ], - "properties": { - "dockerfile": { - "type": "string" - }, - "from": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.ImageInfo": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isUsed": { - "type": "boolean" - }, - "size": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.ImageLoad": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "dto.ImagePull": { - "type": "object", - "required": [ - "imageName" - ], - "properties": { - "imageName": { - "type": "string" - }, - "repoID": { - "type": "integer" - } - } - }, - "dto.ImagePush": { - "type": "object", - "required": [ - "name", - "repoID", - "tagName" - ], - "properties": { - "name": { - "type": "string" - }, - "repoID": { - "type": "integer" - }, - "tagName": { - "type": "string" - } - } - }, - "dto.ImageRepoDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.ImageRepoOption": { - "type": "object", - "properties": { - "downloadUrl": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.ImageRepoUpdate": { - "type": "object", - "properties": { - "auth": { - "type": "boolean" - }, - "downloadUrl": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string", - "maxLength": 256 - }, - "protocol": { - "type": "string" - }, - "username": { - "type": "string", - "maxLength": 256 - } - } - }, - "dto.ImageSave": { - "type": "object", - "required": [ - "name", - "path", - "tagName" - ], - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "tagName": { - "type": "string" - } - } - }, - "dto.ImageTag": { - "type": "object", - "required": [ - "sourceID", - "targetName" - ], - "properties": { - "sourceID": { - "type": "string" - }, - "targetName": { - "type": "string" - } - } - }, - "dto.InspectReq": { - "type": "object", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.LogOption": { - "type": "object", - "properties": { - "logMaxFile": { - "type": "string" - }, - "logMaxSize": { - "type": "string" - } - } - }, - "dto.Login": { - "type": "object", - "required": [ - "authMethod", - "language", - "name", - "password" - ], - "properties": { - "authMethod": { - "type": "string", - "enum": [ - "jwt", - "session" - ] - }, - "captcha": { - "type": "string" - }, - "captchaID": { - "type": "string" - }, - "ignoreCaptcha": { - "type": "boolean" - }, - "language": { - "type": "string", - "enum": [ - "zh", - "en", - "tw" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "dto.MFALogin": { - "type": "object", - "required": [ - "code", - "name", - "password" - ], - "properties": { - "authMethod": { - "type": "string" - }, - "code": { - "type": "string" - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "dto.MfaCredential": { - "type": "object", - "required": [ - "code", - "interval", - "secret" - ], - "properties": { - "code": { - "type": "string" - }, - "interval": { - "type": "string" - }, - "secret": { - "type": "string" - } - } - }, - "dto.MonitorSearch": { - "type": "object", - "required": [ - "param" - ], - "properties": { - "endTime": { - "type": "string" - }, - "info": { - "type": "string" - }, - "param": { - "type": "string", - "enum": [ - "all", - "cpu", - "memory", - "load", - "io", - "network" - ] - }, - "startTime": { - "type": "string" - } - } - }, - "dto.MysqlDBCreate": { - "type": "object", - "required": [ - "database", - "format", - "from", - "name", - "password", - "permission", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "description": { - "type": "string" - }, - "format": { - "type": "string", - "enum": [ - "utf8mb4", - "utf8", - "gbk", - "big5" - ] - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "permission": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "dto.MysqlDBDelete": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlDBDeleteCheck": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlDBSearch": { - "type": "object", - "required": [ - "database", - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "database": { - "type": "string" - }, - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.MysqlLoadDB": { - "type": "object", - "required": [ - "database", - "from", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlOption": { - "type": "object", - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.MysqlStatus": { - "type": "object", - "properties": { - "Aborted_clients": { - "type": "string" - }, - "Aborted_connects": { - "type": "string" - }, - "Bytes_received": { - "type": "string" - }, - "Bytes_sent": { - "type": "string" - }, - "Com_commit": { - "type": "string" - }, - "Com_rollback": { - "type": "string" - }, - "Connections": { - "type": "string" - }, - "Created_tmp_disk_tables": { - "type": "string" - }, - "Created_tmp_tables": { - "type": "string" - }, - "File": { - "type": "string" - }, - "Innodb_buffer_pool_pages_dirty": { - "type": "string" - }, - "Innodb_buffer_pool_read_requests": { - "type": "string" - }, - "Innodb_buffer_pool_reads": { - "type": "string" - }, - "Key_read_requests": { - "type": "string" - }, - "Key_reads": { - "type": "string" - }, - "Key_write_requests": { - "type": "string" - }, - "Key_writes": { - "type": "string" - }, - "Max_used_connections": { - "type": "string" - }, - "Open_tables": { - "type": "string" - }, - "Opened_files": { - "type": "string" - }, - "Opened_tables": { - "type": "string" - }, - "Position": { - "type": "string" - }, - "Qcache_hits": { - "type": "string" - }, - "Qcache_inserts": { - "type": "string" - }, - "Questions": { - "type": "string" - }, - "Run": { - "type": "string" - }, - "Select_full_join": { - "type": "string" - }, - "Select_range_check": { - "type": "string" - }, - "Sort_merge_passes": { - "type": "string" - }, - "Table_locks_waited": { - "type": "string" - }, - "Threads_cached": { - "type": "string" - }, - "Threads_connected": { - "type": "string" - }, - "Threads_created": { - "type": "string" - }, - "Threads_running": { - "type": "string" - }, - "Uptime": { - "type": "string" - } - } - }, - "dto.MysqlVariables": { - "type": "object", - "properties": { - "binlog_cache_size": { - "type": "string" - }, - "innodb_buffer_pool_size": { - "type": "string" - }, - "innodb_log_buffer_size": { - "type": "string" - }, - "join_buffer_size": { - "type": "string" - }, - "key_buffer_size": { - "type": "string" - }, - "long_query_time": { - "type": "string" - }, - "max_connections": { - "type": "string" - }, - "max_heap_table_size": { - "type": "string" - }, - "query_cache_size": { - "type": "string" - }, - "query_cache_type": { - "type": "string" - }, - "read_buffer_size": { - "type": "string" - }, - "read_rnd_buffer_size": { - "type": "string" - }, - "slow_query_log": { - "type": "string" - }, - "sort_buffer_size": { - "type": "string" - }, - "table_open_cache": { - "type": "string" - }, - "thread_cache_size": { - "type": "string" - }, - "thread_stack": { - "type": "string" - }, - "tmp_table_size": { - "type": "string" - } - } - }, - "dto.MysqlVariablesUpdate": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - }, - "variables": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.MysqlVariablesUpdateHelper" - } - } - } - }, - "dto.MysqlVariablesUpdateHelper": { - "type": "object", - "properties": { - "param": { - "type": "string" - }, - "value": {} - } - }, - "dto.NetworkCreate": { - "type": "object", - "required": [ - "driver", - "name" - ], - "properties": { - "auxAddress": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SettingUpdate" - } - }, - "auxAddressV6": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SettingUpdate" - } - }, - "driver": { - "type": "string" - }, - "gateway": { - "type": "string" - }, - "gatewayV6": { - "type": "string" - }, - "ipRange": { - "type": "string" - }, - "ipRangeV6": { - "type": "string" - }, - "ipv4": { - "type": "boolean" - }, - "ipv6": { - "type": "boolean" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - }, - "subnet": { - "type": "string" - }, - "subnetV6": { - "type": "string" - } - } - }, - "dto.NginxKey": { - "type": "string", - "enum": [ - "index", - "limit-conn", - "ssl", - "cache", - "http-per", - "proxy-cache" - ], - "x-enum-varnames": [ - "Index", - "LimitConn", - "SSL", - "CACHE", - "HttpPer", - "ProxyCache" - ] - }, - "dto.OneDriveInfo": { - "type": "object", - "properties": { - "client_id": { - "type": "string" - }, - "client_secret": { - "type": "string" - }, - "redirect_uri": { - "type": "string" - } - } - }, - "dto.Operate": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string" - } - } - }, - "dto.OperateByID": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "dto.OperationWithName": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - } - } - }, - "dto.OperationWithNameAndType": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.Options": { - "type": "object", - "properties": { - "option": { - "type": "string" - } - } - }, - "dto.OsInfo": { - "type": "object", - "properties": { - "diskSize": { - "type": "integer" - }, - "kernelArch": { - "type": "string" - }, - "kernelVersion": { - "type": "string" - }, - "os": { - "type": "string" - }, - "platform": { - "type": "string" - }, - "platformFamily": { - "type": "string" - } - } - }, - "dto.PageContainer": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize", - "state" - ], - "properties": { - "excludeAppStore": { - "type": "boolean" - }, - "filters": { - "type": "string" - }, - "name": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "state", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "state": { - "type": "string", - "enum": [ - "all", - "created", - "running", - "paused", - "restarting", - "removing", - "exited", - "dead" - ] - } - } - }, - "dto.PageCronjob": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "status", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PageInfo": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PageResult": { - "type": "object", - "properties": { - "items": {}, - "total": { - "type": "integer" - } - } - }, - "dto.PasswordUpdate": { - "type": "object", - "required": [ - "newPassword", - "oldPassword" - ], - "properties": { - "newPassword": { - "type": "string" - }, - "oldPassword": { - "type": "string" - } - } - }, - "dto.PortHelper": { - "type": "object", - "properties": { - "containerPort": { - "type": "string" - }, - "hostIP": { - "type": "string" - }, - "hostPort": { - "type": "string" - }, - "protocol": { - "type": "string" - } - } - }, - "dto.PortRuleOperate": { - "type": "object", - "required": [ - "operation", - "port", - "protocol", - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "tcp/udp" - ] - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - } - } - }, - "dto.PortRuleUpdate": { - "type": "object", - "properties": { - "newRule": { - "$ref": "#/definitions/dto.PortRuleOperate" - }, - "oldRule": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - } - }, - "dto.PortUpdate": { - "type": "object", - "required": [ - "serverPort" - ], - "properties": { - "serverPort": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - } - } - }, - "dto.PostgresqlBindUser": { - "type": "object", - "required": [ - "database", - "name", - "password", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "superUser": { - "type": "boolean" - }, - "username": { - "type": "string" - } - } - }, - "dto.PostgresqlDBCreate": { - "type": "object", - "required": [ - "database", - "from", - "name", - "password", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "description": { - "type": "string" - }, - "format": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "superUser": { - "type": "boolean" - }, - "username": { - "type": "string" - } - } - }, - "dto.PostgresqlDBDelete": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.PostgresqlDBDeleteCheck": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.PostgresqlDBSearch": { - "type": "object", - "required": [ - "database", - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "database": { - "type": "string" - }, - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PostgresqlLoadDB": { - "type": "object", - "required": [ - "database", - "from", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.ProxyUpdate": { - "type": "object", - "properties": { - "proxyPasswd": { - "type": "string" - }, - "proxyPasswdKeep": { - "type": "string" - }, - "proxyPort": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "proxyUrl": { - "type": "string" - }, - "proxyUser": { - "type": "string" - } - } - }, - "dto.RecordSearch": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "dto.RecordSearchByCronjob": { - "type": "object", - "required": [ - "cronjobID", - "page", - "pageSize" - ], - "properties": { - "cronjobID": { - "type": "integer" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.RedisCommand": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.RedisConf": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "containerName": { - "type": "string" - }, - "database": { - "type": "string" - }, - "maxclients": { - "type": "string" - }, - "maxmemory": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "requirepass": { - "type": "string" - }, - "timeout": { - "type": "string" - } - } - }, - "dto.RedisConfPersistenceUpdate": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "appendfsync": { - "type": "string" - }, - "appendonly": { - "type": "string" - }, - "database": { - "type": "string" - }, - "save": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "aof", - "rbd" - ] - } - } - }, - "dto.RedisConfUpdate": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "database": { - "type": "string" - }, - "maxclients": { - "type": "string" - }, - "maxmemory": { - "type": "string" - }, - "timeout": { - "type": "string" - } - } - }, - "dto.RedisPersistence": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "appendfsync": { - "type": "string" - }, - "appendonly": { - "type": "string" - }, - "database": { - "type": "string" - }, - "save": { - "type": "string" - } - } - }, - "dto.RedisStatus": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "connected_clients": { - "type": "string" - }, - "database": { - "type": "string" - }, - "instantaneous_ops_per_sec": { - "type": "string" - }, - "keyspace_hits": { - "type": "string" - }, - "keyspace_misses": { - "type": "string" - }, - "latest_fork_usec": { - "type": "string" - }, - "mem_fragmentation_ratio": { - "type": "string" - }, - "tcp_port": { - "type": "string" - }, - "total_commands_processed": { - "type": "string" - }, - "total_connections_received": { - "type": "string" - }, - "uptime_in_days": { - "type": "string" - }, - "used_memory": { - "type": "string" - }, - "used_memory_peak": { - "type": "string" - }, - "used_memory_rss": { - "type": "string" - } - } - }, - "dto.ResourceLimit": { - "type": "object", - "properties": { - "cpu": { - "type": "integer" - }, - "memory": { - "type": "integer" - } - } - }, - "dto.RuleSearch": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - }, - "strategy": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.SSHConf": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.SSHHistory": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "area": { - "type": "string" - }, - "authMode": { - "type": "string" - }, - "date": { - "type": "string" - }, - "dateStr": { - "type": "string" - }, - "message": { - "type": "string" - }, - "port": { - "type": "string" - }, - "status": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.SSHInfo": { - "type": "object", - "properties": { - "autoStart": { - "type": "boolean" - }, - "listenAddress": { - "type": "string" - }, - "message": { - "type": "string" - }, - "passwordAuthentication": { - "type": "string" - }, - "permitRootLogin": { - "type": "string" - }, - "port": { - "type": "string" - }, - "pubkeyAuthentication": { - "type": "string" - }, - "status": { - "type": "string" - }, - "useDNS": { - "type": "string" - } - } - }, - "dto.SSHLog": { - "type": "object", - "properties": { - "failedCount": { - "type": "integer" - }, - "logs": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SSHHistory" - } - }, - "successfulCount": { - "type": "integer" - }, - "totalCount": { - "type": "integer" - } - } - }, - "dto.SSHUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "newValue": { - "type": "string" - }, - "oldValue": { - "type": "string" - } - } - }, - "dto.SSLUpdate": { - "type": "object", - "required": [ - "ssl", - "sslType" - ], - "properties": { - "cert": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "key": { - "type": "string" - }, - "ssl": { - "type": "string", - "enum": [ - "enable", - "disable" - ] - }, - "sslID": { - "type": "integer" - }, - "sslType": { - "type": "string", - "enum": [ - "self", - "select", - "import", - "import-paste", - "import-local" - ] - } - } - }, - "dto.SearchForTree": { - "type": "object", - "properties": { - "info": { - "type": "string" - } - } - }, - "dto.SearchHostWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "groupID": { - "type": "integer" - }, - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SearchLgLogWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "ip": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchOpLogWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "operation": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "source": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchRecord": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "cronjobID": { - "type": "integer" - }, - "endTime": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "startTime": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchSSHLog": { - "type": "object", - "required": [ - "Status", - "page", - "pageSize" - ], - "properties": { - "Status": { - "type": "string", - "enum": [ - "Success", - "Failed", - "All" - ] - }, - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SearchWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SettingInfo": { - "type": "object", - "properties": { - "allowIPs": { - "type": "string" - }, - "appStoreLastModified": { - "type": "string" - }, - "appStoreSyncStatus": { - "type": "string" - }, - "appStoreVersion": { - "type": "string" - }, - "bindAddress": { - "type": "string" - }, - "bindDomain": { - "type": "string" - }, - "complexityVerification": { - "type": "string" - }, - "defaultNetwork": { - "type": "string" - }, - "developerMode": { - "type": "string" - }, - "dingVars": { - "type": "string" - }, - "dockerSockPath": { - "type": "string" - }, - "email": { - "type": "string" - }, - "emailVars": { - "type": "string" - }, - "expirationDays": { - "type": "string" - }, - "expirationTime": { - "type": "string" - }, - "fileRecycleBin": { - "type": "string" - }, - "ipv6": { - "type": "string" - }, - "language": { - "type": "string" - }, - "lastCleanData": { - "type": "string" - }, - "lastCleanSize": { - "type": "string" - }, - "lastCleanTime": { - "type": "string" - }, - "localTime": { - "type": "string" - }, - "menuTabs": { - "type": "string" - }, - "messageType": { - "type": "string" - }, - "mfaInterval": { - "type": "string" - }, - "mfaSecret": { - "type": "string" - }, - "mfaStatus": { - "type": "string" - }, - "monitorInterval": { - "type": "string" - }, - "monitorStatus": { - "type": "string" - }, - "monitorStoreDays": { - "type": "string" - }, - "noAuthSetting": { - "type": "string" - }, - "ntpSite": { - "type": "string" - }, - "panelName": { - "type": "string" - }, - "port": { - "type": "string" - }, - "proxyPasswd": { - "type": "string" - }, - "proxyPasswdKeep": { - "type": "string" - }, - "proxyPort": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "proxyUrl": { - "type": "string" - }, - "proxyUser": { - "type": "string" - }, - "securityEntrance": { - "type": "string" - }, - "serverPort": { - "type": "string" - }, - "sessionTimeout": { - "type": "string" - }, - "snapshotIgnore": { - "type": "string" - }, - "ssl": { - "type": "string" - }, - "sslType": { - "type": "string" - }, - "systemIP": { - "type": "string" - }, - "systemVersion": { - "type": "string" - }, - "theme": { - "type": "string" - }, - "timeZone": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "weChatVars": { - "type": "string" - }, - "xpackHideMenu": { - "type": "string" - } - } - }, - "dto.SettingUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "dto.SnapshotBatchDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "deleteWithFile": { - "type": "boolean" - }, - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.SnapshotCreate": { - "type": "object", - "required": [ - "defaultDownload", - "from" - ], - "properties": { - "defaultDownload": { - "type": "string" - }, - "description": { - "type": "string", - "maxLength": 256 - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "secret": { - "type": "string" - } - } - }, - "dto.SnapshotImport": { - "type": "object", - "properties": { - "description": { - "type": "string", - "maxLength": 256 - }, - "from": { - "type": "string" - }, - "names": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.SnapshotRecover": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - }, - "isNew": { - "type": "boolean" - }, - "reDownload": { - "type": "boolean" - }, - "secret": { - "type": "string" - } - } - }, - "dto.SwapHelper": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "isNew": { - "type": "boolean" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "used": { - "type": "string" - } - } - }, - "dto.TreeChild": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "label": { - "type": "string" - } - } - }, - "dto.UpdateByFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.UpdateByNameAndFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.UpdateDescription": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "description": { - "type": "string", - "maxLength": 256 - }, - "id": { - "type": "integer" - } - } - }, - "dto.UpdateFirewallDescription": { - "type": "object", - "required": [ - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - }, - "type": { - "type": "string" - } - } - }, - "dto.Upgrade": { - "type": "object", - "required": [ - "version" - ], - "properties": { - "version": { - "type": "string" - } - } - }, - "dto.UpgradeInfo": { - "type": "object", - "properties": { - "latestVersion": { - "type": "string" - }, - "newVersion": { - "type": "string" - }, - "releaseNote": { - "type": "string" - }, - "testVersion": { - "type": "string" - } - } - }, - "dto.UserLoginInfo": { - "type": "object", - "properties": { - "mfaStatus": { - "type": "string" - }, - "name": { - "type": "string" - }, - "token": { - "type": "string" - } - } - }, - "dto.VolumeCreate": { - "type": "object", - "required": [ - "driver", - "name" - ], - "properties": { - "driver": { - "type": "string" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.VolumeHelper": { - "type": "object", - "properties": { - "containerDir": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "files.FileInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "extension": { - "type": "string" - }, - "favoriteID": { - "type": "integer" - }, - "gid": { - "type": "string" - }, - "group": { - "type": "string" - }, - "isDetail": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "isHidden": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "itemTotal": { - "type": "integer" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/files.FileInfo" - } - }, - "linkPath": { - "type": "string" - }, - "mimeType": { - "type": "string" - }, - "modTime": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "updateTime": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "mfa.Otp": { - "type": "object", - "properties": { - "qrImage": { - "type": "string" - }, - "secret": { - "type": "string" - } - } - }, - "model.App": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "crossVersionUpdate": { - "type": "boolean" - }, - "document": { - "type": "string" - }, - "github": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "readMe": { - "type": "string" - }, - "recommend": { - "type": "integer" - }, - "required": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "shortDescEn": { - "type": "string" - }, - "shortDescZh": { - "type": "string" - }, - "status": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "model.AppInstall": { - "type": "object", - "properties": { - "app": { - "$ref": "#/definitions/model.App" - }, - "appDetailId": { - "type": "integer" - }, - "appId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "dockerCompose": { - "type": "string" - }, - "env": { - "type": "string" - }, - "httpPort": { - "type": "integer" - }, - "httpsPort": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "param": { - "type": "string" - }, - "serviceName": { - "type": "string" - }, - "status": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "model.Tag": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sort": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - } - } - }, - "model.Website": { - "type": "object", - "properties": { - "IPV6": { - "type": "boolean" - }, - "accessLog": { - "type": "boolean" - }, - "alias": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "createdAt": { - "type": "string" - }, - "defaultServer": { - "type": "boolean" - }, - "domains": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - }, - "errorLog": { - "type": "boolean" - }, - "expireDate": { - "type": "string" - }, - "ftpId": { - "type": "integer" - }, - "group": { - "type": "string" - }, - "httpConfig": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "rewrite": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "siteDir": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "user": { - "type": "string" - }, - "webSiteGroupId": { - "type": "integer" - }, - "webSiteSSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "webSiteSSLId": { - "type": "integer" - } - } - }, - "model.WebsiteAcmeAccount": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "model.WebsiteDnsAccount": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "model.WebsiteDomain": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "port": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "model.WebsiteSSL": { - "type": "object", - "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" - }, - "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": { - "type": "array", - "items": { - "$ref": "#/definitions/model.Website" - } - } - } - }, - "request.AppInstallCreate": { - "type": "object", - "required": [ - "appDetailId", - "name" - ], - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "appDetailId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - }, - "services": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "request.AppInstalledIgnoreUpgrade": { - "type": "object", - "required": [ - "detailID", - "operate" - ], - "properties": { - "detailID": { - "type": "integer" - }, - "operate": { - "type": "string", - "enum": [ - "cancel", - "ignore" - ] - } - } - }, - "request.AppInstalledInfo": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "request.AppInstalledOperate": { - "type": "object", - "required": [ - "installId", - "operate" - ], - "properties": { - "backup": { - "type": "boolean" - }, - "backupId": { - "type": "integer" - }, - "deleteBackup": { - "type": "boolean" - }, - "deleteDB": { - "type": "boolean" - }, - "detailId": { - "type": "integer" - }, - "dockerCompose": { - "type": "string" - }, - "forceDelete": { - "type": "boolean" - }, - "installId": { - "type": "integer" - }, - "operate": { - "type": "string" - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.AppInstalledSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "all": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "sync": { - "type": "boolean" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "unused": { - "type": "boolean" - }, - "update": { - "type": "boolean" - } - } - }, - "request.AppInstalledUpdate": { - "type": "object", - "required": [ - "installId", - "params" - ], - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "installId": { - "type": "integer" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.AppSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "recommend": { - "type": "boolean" - }, - "resource": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.DirSizeReq": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.ExposedPort": { - "type": "object", - "properties": { - "containerPort": { - "type": "integer" - }, - "hostPort": { - "type": "integer" - } - } - }, - "request.FavoriteCreate": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.FavoriteDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.FileBatchDelete": { - "type": "object", - "required": [ - "paths" - ], - "properties": { - "isDir": { - "type": "boolean" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "request.FileCompress": { - "type": "object", - "required": [ - "dst", - "files", - "name", - "type" - ], - "properties": { - "dst": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "replace": { - "type": "boolean" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.FileContentReq": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "isDetail": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "request.FileCreate": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "isDir": { - "type": "boolean" - }, - "isLink": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "linkPath": { - "type": "string" - }, - "mode": { - "type": "integer" - }, - "path": { - "type": "string" - }, - "sub": { - "type": "boolean" - } - } - }, - "request.FileDeCompress": { - "type": "object", - "required": [ - "dst", - "path", - "type" - ], - "properties": { - "dst": { - "type": "string" - }, - "path": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.FileDelete": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "forceDelete": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "request.FileDownload": { - "type": "object", - "required": [ - "name", - "paths", - "type" - ], - "properties": { - "compress": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.FileEdit": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "request.FileMove": { - "type": "object", - "required": [ - "newPath", - "oldPaths", - "type" - ], - "properties": { - "cover": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "newPath": { - "type": "string" - }, - "oldPaths": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.FileOption": { - "type": "object", - "properties": { - "containSub": { - "type": "boolean" - }, - "dir": { - "type": "boolean" - }, - "expand": { - "type": "boolean" - }, - "isDetail": { - "type": "boolean" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "path": { - "type": "string" - }, - "search": { - "type": "string" - }, - "showHidden": { - "type": "boolean" - }, - "sortBy": { - "type": "string" - }, - "sortOrder": { - "type": "string" - } - } - }, - "request.FilePathCheck": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.FileReadByLineReq": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "ID": { - "type": "integer" - }, - "latest": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "request.FileRename": { - "type": "object", - "required": [ - "newName", - "oldName" - ], - "properties": { - "newName": { - "type": "string" - }, - "oldName": { - "type": "string" - } - } - }, - "request.FileRoleReq": { - "type": "object", - "required": [ - "group", - "mode", - "paths", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "mode": { - "type": "integer" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - }, - "sub": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "request.FileRoleUpdate": { - "type": "object", - "required": [ - "group", - "path", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "path": { - "type": "string" - }, - "sub": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "request.FileWget": { - "type": "object", - "required": [ - "name", - "path", - "url" - ], - "properties": { - "ignoreCertificate": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "request.HostToolConfig": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "operate": { - "type": "string", - "enum": [ - "get", - "set" - ] - }, - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.HostToolCreate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "configPath": { - "type": "string" - }, - "serviceName": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.HostToolLogReq": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.HostToolReq": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "operate": { - "type": "string", - "enum": [ - "status", - "restart", - "start", - "stop" - ] - }, - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.NewAppInstall": { - "type": "object", - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "appDetailID": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.NginxAntiLeechUpdate": { - "type": "object", - "required": [ - "extends", - "return", - "websiteID" - ], - "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": { - "type": "array", - "items": { - "type": "string" - } - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxAuthReq": { - "type": "object", - "required": [ - "websiteID" - ], - "properties": { - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxAuthUpdate": { - "type": "object", - "required": [ - "operate", - "websiteID" - ], - "properties": { - "operate": { - "type": "string" - }, - "password": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "username": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxCommonReq": { - "type": "object", - "required": [ - "websiteID" - ], - "properties": { - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxConfigFileUpdate": { - "type": "object", - "required": [ - "content" - ], - "properties": { - "backup": { - "type": "boolean" - }, - "content": { - "type": "string" - } - } - }, - "request.NginxConfigUpdate": { - "type": "object", - "required": [ - "operate" - ], - "properties": { - "operate": { - "type": "string", - "enum": [ - "add", - "update", - "delete" - ] - }, - "params": {}, - "scope": { - "$ref": "#/definitions/dto.NginxKey" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxProxyUpdate": { - "type": "object", - "required": [ - "content", - "name", - "websiteID" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRedirectReq": { - "type": "object", - "required": [ - "name", - "operate", - "redirect", - "target", - "type", - "websiteID" - ], - "properties": { - "domains": { - "type": "array", - "items": { - "type": "string" - } - }, - "enable": { - "type": "boolean" - }, - "keepPath": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "path": { - "type": "string" - }, - "redirect": { - "type": "string" - }, - "redirectRoot": { - "type": "boolean" - }, - "target": { - "type": "string" - }, - "type": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRedirectUpdate": { - "type": "object", - "required": [ - "content", - "name", - "websiteID" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRewriteReq": { - "type": "object", - "required": [ - "name", - "websiteId" - ], - "properties": { - "name": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxRewriteUpdate": { - "type": "object", - "required": [ - "name", - "websiteId" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxScopeReq": { - "type": "object", - "required": [ - "scope" - ], - "properties": { - "scope": { - "$ref": "#/definitions/dto.NginxKey" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NodeModuleReq": { - "type": "object", - "required": [ - "ID" - ], - "properties": { - "ID": { - "type": "integer" - } - } - }, - "request.NodePackageReq": { - "type": "object", - "properties": { - "codeDir": { - "type": "string" - } - } - }, - "request.PHPExtensionsCreate": { - "type": "object", - "required": [ - "extensions", - "name" - ], - "properties": { - "extensions": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "request.PHPExtensionsDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.PHPExtensionsSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "all": { - "type": "boolean" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.PHPExtensionsUpdate": { - "type": "object", - "required": [ - "extensions", - "id" - ], - "properties": { - "extensions": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "request.PortUpdate": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - } - } - }, - "request.ProcessReq": { - "type": "object", - "required": [ - "PID" - ], - "properties": { - "PID": { - "type": "integer" - } - } - }, - "request.RecycleBinReduce": { - "type": "object", - "required": [ - "from", - "rName" - ], - "properties": { - "from": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rName": { - "type": "string" - } - } - }, - "request.RuntimeCreate": { - "type": "object", - "properties": { - "appDetailId": { - "type": "integer" - }, - "clean": { - "type": "boolean" - }, - "codeDir": { - "type": "string" - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/request.ExposedPort" - } - }, - "image": { - "type": "string" - }, - "install": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "port": { - "type": "integer" - }, - "resource": { - "type": "string" - }, - "source": { - "type": "string" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "request.RuntimeDelete": { - "type": "object", - "properties": { - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "request.RuntimeOperate": { - "type": "object", - "properties": { - "ID": { - "type": "integer" - }, - "operate": { - "type": "string" - } - } - }, - "request.RuntimeSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.RuntimeUpdate": { - "type": "object", - "properties": { - "clean": { - "type": "boolean" - }, - "codeDir": { - "type": "string" - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/request.ExposedPort" - } - }, - "id": { - "type": "integer" - }, - "image": { - "type": "string" - }, - "install": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "port": { - "type": "integer" - }, - "rebuild": { - "type": "boolean" - }, - "source": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "request.SearchUploadWithPage": { - "type": "object", - "required": [ - "page", - "pageSize", - "path" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "path": { - "type": "string" - } - } - }, - "request.SupervisorProcessConfig": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "name": { - "type": "string" - }, - "numprocs": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "request.SupervisorProcessFileReq": { - "type": "object", - "required": [ - "file", - "name", - "operate" - ], - "properties": { - "content": { - "type": "string" - }, - "file": { - "type": "string", - "enum": [ - "out.log", - "err.log", - "config" - ] - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string", - "enum": [ - "get", - "clear", - "update" - ] - } - } - }, - "request.WebsiteAcmeAccountCreate": { - "type": "object", - "required": [ - "email", - "keyType", - "type" - ], - "properties": { - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "type": { - "type": "string", - "enum": [ - "letsencrypt", - "zerossl", - "buypass", - "google" - ] - } - } - }, - "request.WebsiteBatchDelReq": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "request.WebsiteCACreate": { - "type": "object", - "required": [ - "commonName", - "country", - "keyType", - "name", - "organization" - ], - "properties": { - "city": { - "type": "string" - }, - "commonName": { - "type": "string" - }, - "country": { - "type": "string" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "organizationUint": { - "type": "string" - }, - "province": { - "type": "string" - } - } - }, - "request.WebsiteCAObtain": { - "type": "object", - "required": [ - "domains", - "id", - "keyType", - "time", - "unit" - ], - "properties": { - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "domains": { - "type": "string" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "pushDir": { - "type": "boolean" - }, - "renew": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "sslID": { - "type": "integer" - }, - "time": { - "type": "integer" - }, - "unit": { - "type": "string" - } - } - }, - "request.WebsiteCASearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteCommonReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteCreate": { - "type": "object", - "required": [ - "alias", - "primaryDomain", - "type", - "webSiteGroupID" - ], - "properties": { - "IPV6": { - "type": "boolean" - }, - "alias": { - "type": "string" - }, - "appID": { - "type": "integer" - }, - "appInstall": { - "$ref": "#/definitions/request.NewAppInstall" - }, - "appInstallID": { - "type": "integer" - }, - "appType": { - "type": "string", - "enum": [ - "new", - "installed" - ] - }, - "ftpPassword": { - "type": "string" - }, - "ftpUser": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "webSiteGroupID": { - "type": "integer" - } - } - }, - "request.WebsiteDNSReq": { - "type": "object", - "required": [ - "acmeAccountId", - "domains" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "domains": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "request.WebsiteDefaultUpdate": { - "type": "object", - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "deleteApp": { - "type": "boolean" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "request.WebsiteDnsAccountCreate": { - "type": "object", - "required": [ - "authorization", - "name", - "type" - ], - "properties": { - "authorization": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteDnsAccountUpdate": { - "type": "object", - "required": [ - "authorization", - "id", - "name", - "type" - ], - "properties": { - "authorization": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteDomainCreate": { - "type": "object", - "required": [ - "domains", - "websiteID" - ], - "properties": { - "domains": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.WebsiteDomainDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteHTTPSOp": { - "type": "object", - "required": [ - "websiteId" - ], - "properties": { - "SSLProtocol": { - "type": "array", - "items": { - "type": "string" - } - }, - "algorithm": { - "type": "string" - }, - "certificate": { - "type": "string" - }, - "certificatePath": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hsts": { - "type": "boolean" - }, - "httpConfig": { - "type": "string", - "enum": [ - "HTTPSOnly", - "HTTPAlso", - "HTTPToHTTPS" - ] - }, - "importType": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "privateKeyPath": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "existed", - "auto", - "manual" - ] - }, - "websiteId": { - "type": "integer" - }, - "websiteSSLId": { - "type": "integer" - } - } - }, - "request.WebsiteHtmlUpdate": { - "type": "object", - "required": [ - "content", - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteInstallCheckReq": { - "type": "object", - "properties": { - "InstallIds": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "request.WebsiteLogReq": { - "type": "object", - "required": [ - "id", - "logType", - "operate" - ], - "properties": { - "id": { - "type": "integer" - }, - "logType": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteNginxUpdate": { - "type": "object", - "required": [ - "content", - "id" - ], - "properties": { - "content": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "request.WebsiteOp": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - }, - "operate": { - "type": "string" - } - } - }, - "request.WebsitePHPConfigUpdate": { - "type": "object", - "required": [ - "id", - "scope" - ], - "properties": { - "disableFunctions": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "integer" - }, - "params": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "scope": { - "type": "string" - }, - "uploadMaxSize": { - "type": "string" - } - } - }, - "request.WebsitePHPFileUpdate": { - "type": "object", - "required": [ - "content", - "id", - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsitePHPVersionReq": { - "type": "object", - "required": [ - "runtimeID", - "websiteID" - ], - "properties": { - "retainConfig": { - "type": "boolean" - }, - "runtimeID": { - "type": "integer" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.WebsiteProxyConfig": { - "type": "object", - "required": [ - "id", - "match", - "name", - "operate", - "proxyHost", - "proxyPass" - ], - "properties": { - "cache": { - "type": "boolean" - }, - "cacheTime": { - "type": "integer" - }, - "cacheUnit": { - "type": "string" - }, - "content": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "filePath": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "match": { - "type": "string" - }, - "modifier": { - "type": "string" - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "proxyHost": { - "type": "string" - }, - "proxyPass": { - "type": "string" - }, - "replaces": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "sni": { - "type": "boolean" - } - } - }, - "request.WebsiteProxyReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteResourceReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteSSLApply": { - "type": "object", - "required": [ - "ID" - ], - "properties": { - "ID": { - "type": "integer" - }, - "nameservers": { - "type": "array", - "items": { - "type": "string" - } - }, - "skipDNSCheck": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLCreate": { - "type": "object", - "required": [ - "acmeAccountId", - "primaryDomain", - "provider" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "apply": { - "type": "boolean" - }, - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "disableCNAME": { - "type": "boolean" - }, - "dnsAccountId": { - "type": "integer" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "nameserver1": { - "type": "string" - }, - "nameserver2": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "primaryDomain": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "pushDir": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "skipDNS": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "acmeAccountID": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteSSLUpdate": { - "type": "object", - "required": [ - "id", - "primaryDomain", - "provider" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "apply": { - "type": "boolean" - }, - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "disableCNAME": { - "type": "boolean" - }, - "dnsAccountId": { - "type": "integer" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "nameserver1": { - "type": "string" - }, - "nameserver2": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "primaryDomain": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "pushDir": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "skipDNS": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLUpload": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "certificate": { - "type": "string" - }, - "certificatePath": { - "type": "string" - }, - "description": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "privateKeyPath": { - "type": "string" - }, - "sslID": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "paste", - "local" - ] - } - } - }, - "request.WebsiteSearch": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "primary_domain", - "type", - "status", - "created_at", - "expire_date" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "websiteGroupId": { - "type": "integer" - } - } - }, - "request.WebsiteUpdate": { - "type": "object", - "required": [ - "id", - "primaryDomain" - ], - "properties": { - "IPV6": { - "type": "boolean" - }, - "expireDate": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "webSiteGroupID": { - "type": "integer" - } - } - }, - "request.WebsiteUpdateDir": { - "type": "object", - "required": [ - "id", - "siteDir" - ], - "properties": { - "id": { - "type": "integer" - }, - "siteDir": { - "type": "string" - } - } - }, - "request.WebsiteUpdateDirPermission": { - "type": "object", - "required": [ - "group", - "id", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "user": { - "type": "string" - } - } - }, - "response.AppDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "crossVersionUpdate": { - "type": "boolean" - }, - "document": { - "type": "string" - }, - "github": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "installed": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "readMe": { - "type": "string" - }, - "recommend": { - "type": "integer" - }, - "required": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "shortDescEn": { - "type": "string" - }, - "shortDescZh": { - "type": "string" - }, - "status": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/definitions/model.Tag" - } - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "versions": { - "type": "array", - "items": { - "type": "string" - } - }, - "website": { - "type": "string" - } - } - }, - "response.AppDetailDTO": { - "type": "object", - "properties": { - "appId": { - "type": "integer" - }, - "createdAt": { - "type": "string" - }, - "dockerCompose": { - "type": "string" - }, - "downloadCallBackUrl": { - "type": "string" - }, - "downloadUrl": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "ignoreUpgrade": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "lastVersion": { - "type": "string" - }, - "params": {}, - "status": { - "type": "string" - }, - "update": { - "type": "boolean" - }, - "updatedAt": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.AppInstalledCheck": { - "type": "object", - "properties": { - "app": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "httpPort": { - "type": "integer" - }, - "httpsPort": { - "type": "integer" - }, - "installPath": { - "type": "string" - }, - "isExist": { - "type": "boolean" - }, - "lastBackupAt": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.AppParam": { - "type": "object", - "properties": { - "edit": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "labelEn": { - "type": "string" - }, - "labelZh": { - "type": "string" - }, - "multiple": { - "type": "boolean" - }, - "required": { - "type": "boolean" - }, - "rule": { - "type": "string" - }, - "showValue": { - "type": "string" - }, - "type": { - "type": "string" - }, - "value": {}, - "values": {} - } - }, - "response.AppService": { - "type": "object", - "properties": { - "config": {}, - "from": { - "type": "string" - }, - "label": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "response.FileInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "extension": { - "type": "string" - }, - "favoriteID": { - "type": "integer" - }, - "gid": { - "type": "string" - }, - "group": { - "type": "string" - }, - "isDetail": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "isHidden": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "itemTotal": { - "type": "integer" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/files.FileInfo" - } - }, - "linkPath": { - "type": "string" - }, - "mimeType": { - "type": "string" - }, - "modTime": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "updateTime": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "response.FileTree": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileTree" - } - }, - "extension": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isDir": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "response.IgnoredApp": { - "type": "object", - "properties": { - "detailID": { - "type": "integer" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.NginxParam": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "params": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "response.NginxStatus": { - "type": "object", - "properties": { - "accepts": { - "type": "string" - }, - "active": { - "type": "string" - }, - "handled": { - "type": "string" - }, - "reading": { - "type": "string" - }, - "requests": { - "type": "string" - }, - "waiting": { - "type": "string" - }, - "writing": { - "type": "string" - } - } - }, - "response.PHPConfig": { - "type": "object", - "properties": { - "disableFunctions": { - "type": "array", - "items": { - "type": "string" - } - }, - "params": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "uploadMaxSize": { - "type": "string" - } - } - }, - "response.PHPExtensionsDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "extensions": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "response.WebsiteAcmeAccountDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "response.WebsiteCADTO": { - "type": "object", - "properties": { - "city": { - "type": "string" - }, - "commonName": { - "type": "string" - }, - "country": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "csr": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "organizationUint": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "province": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "response.WebsiteDNSRes": { - "type": "object", - "properties": { - "domain": { - "type": "string" - }, - "err": { - "type": "string" - }, - "resolve": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "response.WebsiteDTO": { - "type": "object", - "properties": { - "IPV6": { - "type": "boolean" - }, - "accessLog": { - "type": "boolean" - }, - "accessLogPath": { - "type": "string" - }, - "alias": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "appName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "defaultServer": { - "type": "boolean" - }, - "domains": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - }, - "errorLog": { - "type": "boolean" - }, - "errorLogPath": { - "type": "string" - }, - "expireDate": { - "type": "string" - }, - "ftpId": { - "type": "integer" - }, - "group": { - "type": "string" - }, - "httpConfig": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "rewrite": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "runtimeName": { - "type": "string" - }, - "siteDir": { - "type": "string" - }, - "sitePath": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "user": { - "type": "string" - }, - "webSiteGroupId": { - "type": "integer" - }, - "webSiteSSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "webSiteSSLId": { - "type": "integer" - } - } - }, - "response.WebsiteHTTPS": { - "type": "object", - "properties": { - "SSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "SSLProtocol": { - "type": "array", - "items": { - "type": "string" - } - }, - "algorithm": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hsts": { - "type": "boolean" - }, - "httpConfig": { - "type": "string" - } - } - }, - "response.WebsiteLog": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "end": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "response.WebsiteNginxConfig": { - "type": "object", - "properties": { - "enable": { - "type": "boolean" - }, - "params": { - "type": "array", - "items": { - "$ref": "#/definitions/response.NginxParam" - } - } - } - }, - "response.WebsitePreInstallCheck": { - "type": "object", - "properties": { - "appName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } + "swagger": "2.0", + "info": { + "contact": {}, + "description": "开源Linux面板", + "license": { + "name": "Apache 2.0", + "url": "http://www.apache.org/licenses/LICENSE-2.0.html" + }, + "termsOfService": "http://swagger.io/terms/", + "title": "1Panel", + "version": "1.0" + }, + "host": "localhost", + "basePath": "/api/v1", + "paths": { + "/apps/:key": { + "get": { + "consumes": [ + "application/json" + ], + "description": "通过 key 获取应用信息", + "parameters": [ + { + "description": "app key", + "in": "path", + "name": "key", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.AppDTO" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search app by key", + "tags": [ + "App" + ] + } + }, + "/apps/checkupdate": { + "get": { + "description": "获取应用更新版本", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get app list update", + "tags": [ + "App" + ] + } + }, + "/apps/detail/:appId/:version/:type": { + "get": { + "consumes": [ + "application/json" + ], + "description": "通过 appid 获取应用详情", + "parameters": [ + { + "description": "app id", + "in": "path", + "name": "appId", + "required": true, + "type": "integer" + }, + { + "description": "app 版本", + "in": "path", + "name": "version", + "required": true, + "type": "string" + }, + { + "description": "app 类型", + "in": "path", + "name": "version", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.AppDetailDTO" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search app detail by appid", + "tags": [ + "App" + ] + } + }, + "/apps/details/:id": { + "get": { + "consumes": [ + "application/json" + ], + "description": "通过 id 获取应用详情", + "parameters": [ + { + "description": "id", + "in": "path", + "name": "appId", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.AppDetailDTO" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get app detail by id", + "tags": [ + "App" + ] + } + }, + "/apps/ignored": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取忽略的应用版本", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.IgnoredApp" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Ignore App", + "tags": [ + "App" + ] + } + }, + "/apps/install": { + "post": { + "consumes": [ + "application/json" + ], + "description": "安装应用", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.AppInstallCreate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/model.AppInstall" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Install app", + "tags": [ + "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" + } + ], + "bodyKeys": [ + "name" + ], + "formatEN": "Install app [appKey]-[name]", + "formatZH": "安装应用 [appKey]-[name]", + "paramKeys": [] + } + } + }, + "/apps/installed/check": { + "post": { + "consumes": [ + "application/json" + ], + "description": "检查应用安装情况", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.AppInstalledInfo" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.AppInstalledCheck" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Check app installed", + "tags": [ + "App" + ] + } + }, + "/apps/installed/conf": { + "post": { + "consumes": [ + "application/json" + ], + "description": "通过 key 获取应用默认配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithNameAndType" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search default config by key", + "tags": [ + "App" + ] + } + }, + "/apps/installed/conninfo/:key": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取应用连接信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithNameAndType" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search app password by key", + "tags": [ + "App" + ] + } + }, + "/apps/installed/delete/check/:appInstallId": { + "get": { + "consumes": [ + "application/json" + ], + "description": "删除前检查", + "parameters": [ + { + "description": "App install id", + "in": "path", + "name": "appInstallId", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AppResource" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Check before delete", + "tags": [ + "App" + ] + } + }, + "/apps/installed/ignore": { + "post": { + "consumes": [ + "application/json" + ], + "description": "忽略应用升级版本", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.AppInstalledIgnoreUpgrade" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "ignore App Update", + "tags": [ + "App" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "installId" + ], + "formatEN": "Application param update [installId]", + "formatZH": "忽略应用 [installId] 版本升级", + "paramKeys": [] + } + } + }, + "/apps/installed/list": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取已安装应用列表", + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AppInstallInfo" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List app installed", + "tags": [ + "App" + ] + } + }, + "/apps/installed/loadport": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取应用端口", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithNameAndType" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "integer" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search app port by key", + "tags": [ + "App" + ] + } + }, + "/apps/installed/op": { + "post": { + "consumes": [ + "application/json" + ], + "description": "操作已安装应用", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.AppInstalledOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate installed app", + "tags": [ + "App" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "app_installs", + "input_column": "id", + "input_value": "installId", + "isList": false, + "output_column": "app_id", + "output_value": "appId" + }, + { + "db": "app_installs", + "input_column": "id", + "input_value": "installId", + "isList": false, + "output_column": "name", + "output_value": "appName" + }, + { + "db": "apps", + "input_column": "id", + "input_value": "appId", + "isList": false, + "output_column": "key", + "output_value": "appKey" + } + ], + "bodyKeys": [ + "installId", + "operate" + ], + "formatEN": "[operate] App [appKey][appName]", + "formatZH": "[operate] 应用 [appKey][appName]", + "paramKeys": [] + } + } + }, + "/apps/installed/params/:appInstallId": { + "get": { + "consumes": [ + "application/json" + ], + "description": "通过 install id 获取应用参数", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "appInstallId", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.AppParam" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search params by appInstallId", + "tags": [ + "App" + ] + } + }, + "/apps/installed/params/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改应用参数", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.AppInstalledUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change app params", + "tags": [ + "App" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "installId" + ], + "formatEN": "Application param update [installId]", + "formatZH": "应用参数修改 [installId]", + "paramKeys": [] + } + } + }, + "/apps/installed/port/change": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改应用端口", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.PortUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change app port", + "tags": [ + "App" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "name", + "port" + ], + "formatEN": "Application port update [key]-[name] =\u003e [port]", + "formatZH": "应用端口修改 [key]-[name] =\u003e [port]", + "paramKeys": [] + } + } + }, + "/apps/installed/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "分页获取已安装应用列表", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.AppInstalledSearch" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page app installed", + "tags": [ + "App" + ] + } + }, + "/apps/installed/sync": { + "post": { + "description": "同步已安装应用列表", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Sync app installed", + "tags": [ + "App" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Sync the list of installed apps", + "formatZH": "同步已安装应用列表", + "paramKeys": [] + } + } + }, + "/apps/installed/update/versions": { + "post": { + "consumes": [ + "application/json" + ], + "description": "通过 install id 获取应用更新版本", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "appInstallId", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.AppVersion" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search app update version by install id", + "tags": [ + "App" + ] + } + }, + "/apps/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取应用列表", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.AppSearch" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List apps", + "tags": [ + "App" + ] + } + }, + "/apps/services/:key": { + "get": { + "consumes": [ + "application/json" + ], + "description": "通过 key 获取应用 service", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "key", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.AppService" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search app service by key", + "tags": [ + "App" + ] + } + }, + "/apps/sync": { + "post": { + "description": "同步应用列表", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Sync app list", + "tags": [ + "App" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "App store synchronization", + "formatZH": "应用商店同步", + "paramKeys": [] + } + } + }, + "/containers": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建容器", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ContainerOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create container", + "tags": [ + "Container" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "image" + ], + "formatEN": "create container [name][image]", + "formatZH": "创建容器 [name][image]", + "paramKeys": [] + } + } + }, + "/containers/clean/log": { + "post": { + "consumes": [ + "application/json" + ], + "description": "清理容器日志", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithName" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Clean container log", + "tags": [ + "Container" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "clean container [name] logs", + "formatZH": "清理容器 [name] 日志", + "paramKeys": [] + } + } + }, + "/containers/commit": { + "post": { + "consumes": [ + "application/json" + ], + "description": "容器提交生成新镜像", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ContainerCommit" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "summary": "Commit Container", + "tags": [ + "Container" + ] + } + }, + "/containers/compose": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建容器编排", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ComposeCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create compose", + "tags": [ + "Container Compose" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create compose [name]", + "formatZH": "创建 compose [name]", + "paramKeys": [] + } + } + }, + "/containers/compose/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "容器编排操作", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ComposeOperation" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate compose", + "tags": [ + "Container Compose" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "operation" + ], + "formatEN": "compose [operation] [name]", + "formatZH": "compose [operation] [name]", + "paramKeys": [] + } + } + }, + "/containers/compose/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取编排列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchWithPage" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page composes", + "tags": [ + "Container Compose" + ] + } + }, + "/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", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ComposeCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Test compose", + "tags": [ + "Container Compose" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "check compose [name]", + "formatZH": "检测 compose [name] 格式", + "paramKeys": [] + } + } + }, + "/containers/compose/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新容器编排", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ComposeUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update compose", + "tags": [ + "Container Compose" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "update compose information [name]", + "formatZH": "更新 compose [name]", + "paramKeys": [] + } + } + }, + "/containers/daemonjson": { + "get": { + "description": "获取 docker 配置信息", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.DaemonJsonConf" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load docker daemon.json", + "tags": [ + "Container Docker" + ] + } + }, + "/containers/daemonjson/file": { + "get": { + "description": "获取 docker 配置信息(表单)", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load docker daemon.json", + "tags": [ + "Container Docker" + ] + } + }, + "/containers/daemonjson/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 docker 配置信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SettingUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update docker daemon.json", + "tags": [ + "Container Docker" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "Updated configuration [key]", + "formatZH": "更新配置 [key]", + "paramKeys": [] + } + } + }, + "/containers/daemonjson/update/byfile": { + "post": { + "consumes": [ + "application/json" + ], + "description": "上传替换 docker 配置文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DaemonJsonUpdateByFile" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update docker daemon.json by upload file", + "tags": [ + "Container Docker" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Updated configuration file", + "formatZH": "更新配置文件", + "paramKeys": [] + } + } + }, + "/containers/docker/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "Docker 操作", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DockerOperation" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate docker", + "tags": [ + "Container Docker" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] docker service", + "formatZH": "docker 服务 [operation]", + "paramKeys": [] + } + } + }, + "/containers/docker/status": { + "get": { + "description": "获取 docker 服务状态", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load docker status", + "tags": [ + "Container Docker" + ] + } + }, + "/containers/download/log": { + "post": { + "description": "下载容器日志", + "responses": {} + } + }, + "/containers/image": { + "get": { + "description": "获取镜像名称列表", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.Options" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "load images options", + "tags": [ + "Container Image" + ] + } + }, + "/containers/image/all": { + "get": { + "description": "获取所有镜像列表", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.ImageInfo" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List all images", + "tags": [ + "Container Image" + ] + } + }, + "/containers/image/build": { + "post": { + "consumes": [ + "application/json" + ], + "description": "构建镜像", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ImageBuild" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Build image", + "tags": [ + "Container Image" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "build image [name]", + "formatZH": "构建镜像 [name]", + "paramKeys": [] + } + } + }, + "/containers/image/load": { + "post": { + "consumes": [ + "application/json" + ], + "description": "导入镜像", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ImageLoad" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load image", + "tags": [ + "Container Image" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "load image from [path]", + "formatZH": "从 [path] 加载镜像", + "paramKeys": [] + } + } + }, + "/containers/image/pull": { + "post": { + "consumes": [ + "application/json" + ], + "description": "拉取镜像", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ImagePull" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Pull image", + "tags": [ + "Container Image" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "image_repos", + "input_column": "id", + "input_value": "repoID", + "isList": false, + "output_column": "name", + "output_value": "reponame" + } + ], + "bodyKeys": [ + "repoID", + "imageName" + ], + "formatEN": "image pull [reponame][imageName]", + "formatZH": "镜像拉取 [reponame][imageName]", + "paramKeys": [] + } + } + }, + "/containers/image/push": { + "post": { + "consumes": [ + "application/json" + ], + "description": "推送镜像", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ImagePush" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Push image", + "tags": [ + "Container Image" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "image_repos", + "input_column": "id", + "input_value": "repoID", + "isList": false, + "output_column": "name", + "output_value": "reponame" + } + ], + "bodyKeys": [ + "repoID", + "tagName", + "name" + ], + "formatEN": "push [tagName] to [reponame][name]", + "formatZH": "[tagName] 推送到 [reponame][name]", + "paramKeys": [] + } + } + }, + "/containers/image/remove": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除镜像", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete image", + "tags": [ + "Container Image" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "names" + ], + "formatEN": "remove image [names]", + "formatZH": "移除镜像 [names]", + "paramKeys": [] + } + } + }, + "/containers/image/save": { + "post": { + "consumes": [ + "application/json" + ], + "description": "导出镜像", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ImageSave" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Save image", + "tags": [ + "Container Image" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "tagName", + "path", + "name" + ], + "formatEN": "save [tagName] as [path]/[name]", + "formatZH": "保留 [tagName] 为 [path]/[name]", + "paramKeys": [] + } + } + }, + "/containers/image/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取镜像列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchWithPage" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page images", + "tags": [ + "Container Image" + ] + } + }, + "/containers/image/tag": { + "post": { + "consumes": [ + "application/json" + ], + "description": "Tag 镜像", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ImageTag" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Tag image", + "tags": [ + "Container Image" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "image_repos", + "input_column": "id", + "input_value": "repoID", + "isList": false, + "output_column": "name", + "output_value": "reponame" + } + ], + "bodyKeys": [ + "repoID", + "targetName" + ], + "formatEN": "tag image [reponame][targetName]", + "formatZH": "tag 镜像 [reponame][targetName]", + "paramKeys": [] + } + } + }, + "/containers/info": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取容器表单信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithName" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.ContainerOperate" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load container info", + "tags": [ + "Container" + ] + } + }, + "/containers/inspect": { + "post": { + "consumes": [ + "application/json" + ], + "description": "容器详情", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.InspectReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Container inspect", + "tags": [ + "Container" + ] + } + }, + "/containers/ipv6option/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 docker ipv6 配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.LogOption" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update docker daemon.json ipv6 option", + "tags": [ + "Container Docker" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Updated the ipv6 option", + "formatZH": "更新 ipv6 配置", + "paramKeys": [] + } + } + }, + "/containers/limit": { + "get": { + "description": "获取容器限制", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.ResourceLimit" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load container limits" + } + }, + "/containers/list": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取容器名称", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List containers", + "tags": [ + "Container" + ] + } + }, + "/containers/list/stats": { + "get": { + "description": "获取容器列表资源占用", + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.ContainerListStats" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load container stats" + } + }, + "/containers/load/log": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取容器操作日志", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithNameAndType" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load container log", + "tags": [ + "Container" + ] + } + }, + "/containers/logoption/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 docker 日志配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.LogOption" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update docker daemon.json log option", + "tags": [ + "Container Docker" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Updated the log option", + "formatZH": "更新日志配置", + "paramKeys": [] + } + } + }, + "/containers/network": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取容器网络列表", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.Options" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List networks", + "tags": [ + "Container Network" + ] + }, + "post": { + "consumes": [ + "application/json" + ], + "description": "创建容器网络", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.NetworkCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create network", + "tags": [ + "Container Network" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create container network [name]", + "formatZH": "创建容器网络 name", + "paramKeys": [] + } + } + }, + "/containers/network/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除容器网络", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete network", + "tags": [ + "Container Network" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "names" + ], + "formatEN": "delete container network [names]", + "formatZH": "删除容器网络 [names]", + "paramKeys": [] + } + } + }, + "/containers/network/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取容器网络列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchWithPage" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page networks", + "tags": [ + "Container Network" + ] + } + }, + "/containers/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "容器操作", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ContainerOperation" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate Container", + "tags": [ + "Container" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "names", + "operation" + ], + "formatEN": "container [operation] [names]", + "formatZH": "容器 [names] 执行 [operation]", + "paramKeys": [] + } + } + }, + "/containers/prune": { + "post": { + "consumes": [ + "application/json" + ], + "description": "容器清理", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ContainerPrune" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.ContainerPruneReport" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Clean container", + "tags": [ + "Container" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "pruneType" + ], + "formatEN": "clean container [pruneType]", + "formatZH": "清理容器 [pruneType]", + "paramKeys": [] + } + } + }, + "/containers/rename": { + "post": { + "consumes": [ + "application/json" + ], + "description": "容器重命名", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ContainerRename" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Rename Container", + "tags": [ + "Container" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "newName" + ], + "formatEN": "rename container [name] =\u003e [newName]", + "formatZH": "容器重命名 [name] =\u003e [newName]", + "paramKeys": [] + } + } + }, + "/containers/repo": { + "get": { + "description": "获取镜像仓库列表", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.ImageRepoOption" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List image repos", + "tags": [ + "Container Image-repo" + ] + }, + "post": { + "consumes": [ + "application/json" + ], + "description": "创建镜像仓库", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ImageRepoDelete" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create image repo", + "tags": [ + "Container Image-repo" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create image repo [name]", + "formatZH": "创建镜像仓库 [name]", + "paramKeys": [] + } + } + }, + "/containers/repo/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除镜像仓库", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ImageRepoDelete" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete image repo", + "tags": [ + "Container Image-repo" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "image_repos", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete image repo [names]", + "formatZH": "删除镜像仓库 [names]", + "paramKeys": [] + } + } + }, + "/containers/repo/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取镜像仓库列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchWithPage" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page image repos", + "tags": [ + "Container Image-repo" + ] + } + }, + "/containers/repo/status": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取 docker 仓库状态", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load repo status", + "tags": [ + "Container Image-repo" + ] + } + }, + "/containers/repo/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新镜像仓库", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ImageRepoUpdate" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update image repo", + "tags": [ + "Container Image-repo" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "image_repos", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "update image repo information [name]", + "formatZH": "更新镜像仓库 [name]", + "paramKeys": [] + } + } + }, + "/containers/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取容器列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PageContainer" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page containers", + "tags": [ + "Container" + ] + } + }, + "/containers/search/log": { + "post": { + "description": "容器日志", + "parameters": [ + { + "description": "容器名称", + "in": "query", + "name": "container", + "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 logs", + "tags": [ + "Container" + ] + } + }, + "/containers/stats/:id": { + "get": { + "description": "容器监控信息", + "parameters": [ + { + "description": "容器id", + "in": "path", + "name": "id", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.ContainerStats" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Container stats", + "tags": [ + "Container" + ] + } + }, + "/containers/template": { + "get": { + "description": "获取容器编排模版列表", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.ComposeTemplateInfo" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List compose templates", + "tags": [ + "Container Compose-template" + ] + }, + "post": { + "consumes": [ + "application/json" + ], + "description": "创建容器编排模版", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ComposeTemplateCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create compose template", + "tags": [ + "Container Compose-template" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create compose template [name]", + "formatZH": "创建 compose 模版 [name]", + "paramKeys": [] + } + } + }, + "/containers/template/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除容器编排模版", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete compose template", + "tags": [ + "Container Compose-template" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "compose_templates", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete compose template [names]", + "formatZH": "删除 compose 模版 [names]", + "paramKeys": [] + } + } + }, + "/containers/template/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取容器编排模版列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchWithPage" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page compose templates", + "tags": [ + "Container Compose-template" + ] + } + }, + "/containers/template/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新容器编排模版", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ComposeTemplateUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update compose template", + "tags": [ + "Container Compose-template" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "compose_templates", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "update compose template information [name]", + "formatZH": "更新 compose 模版 [name]", + "paramKeys": [] + } + } + }, + "/containers/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新容器", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ContainerOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update container", + "tags": [ + "Container" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "image" + ], + "formatEN": "update container [name][image]", + "formatZH": "更新容器 [name][image]", + "paramKeys": [] + } + } + }, + "/containers/upgrade": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新容器镜像", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ContainerUpgrade" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Upgrade container", + "tags": [ + "Container" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "image" + ], + "formatEN": "upgrade container image [name][image]", + "formatZH": "更新容器镜像 [name][image]", + "paramKeys": [] + } + } + }, + "/containers/volume": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取容器存储卷列表", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.Options" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List volumes", + "tags": [ + "Container Volume" + ] + }, + "post": { + "consumes": [ + "application/json" + ], + "description": "创建容器存储卷", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.VolumeCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create volume", + "tags": [ + "Container Volume" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create container volume [name]", + "formatZH": "创建容器存储卷 [name]", + "paramKeys": [] + } + } + }, + "/containers/volume/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除容器存储卷", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete volume", + "tags": [ + "Container Volume" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "names" + ], + "formatEN": "delete container volume [names]", + "formatZH": "删除容器存储卷 [names]", + "paramKeys": [] + } + } + }, + "/containers/volume/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取容器存储卷分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchWithPage" + } + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page volumes", + "tags": [ + "Container Volume" + ] + } + }, + "/core/auth/captcha": { + "get": { + "description": "加载验证码", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.CaptchaResponse" + } + } + }, + "summary": "Load captcha", + "tags": [ + "Auth" + ] + } + }, + "/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 加密串", + "in": "header", + "name": "EntranceCode", + "required": true, + "type": "string" + }, + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Login" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.UserLoginInfo" + } + } + }, + "summary": "User login", + "tags": [ + "Auth" + ] + } + }, + "/core/auth/logout": { + "post": { + "description": "用户登出", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "User logout", + "tags": [ + "Auth" + ] + } + }, + "/core/auth/mfalogin": { + "post": { + "consumes": [ + "application/json" + ], + "description": "用户 mfa 登录", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.MFALogin" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "EntranceCode": { + "description": "安全入口", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/dto.UserLoginInfo" + } + } + }, + "summary": "User login with mfa", + "tags": [ + "Auth" + ] + } + }, + "/core/logs/clean": { + "post": { + "consumes": [ + "application/json" + ], + "description": "清空操作日志", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CleanLog" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Clean operation logs", + "tags": [ + "Logs" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "logType" + ], + "formatEN": "Clean the [logType] log information", + "formatZH": "清空 [logType] 日志信息", + "paramKeys": [] + } + } + }, + "/core/logs/login": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取系统登录日志列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchLgLogWithPage" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page login logs", + "tags": [ + "Logs" + ] + } + }, + "/core/logs/operation": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取系统操作日志列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchOpLogWithPage" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page operation logs", + "tags": [ + "Logs" + ] + } + }, + "/core/settings/basedir": { + "get": { + "description": "获取安装根目录", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load local backup dir", + "tags": [ + "System Setting" + ] + } + }, + "/core/settings/bind/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新系统监听信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BindInfo" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update system bind info", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "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": { + "post": { + "consumes": [ + "application/json" + ], + "description": "重置过期系统登录密码", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PasswordUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Reset system password expired", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "reset an expired Password", + "formatZH": "重置过期密码", + "paramKeys": [] + } + } + }, + "/core/settings/interface": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取系统地址信息", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load system address", + "tags": [ + "System Setting" + ] + } + }, + "/core/settings/menu/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "隐藏高级功能菜单", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SettingUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update system setting", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Hide advanced feature menu.", + "formatZH": "隐藏高级功能菜单", + "paramKeys": [] + } + } + }, + "/core/settings/mfa": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 mfa 信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.MfaCredential" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/mfa.Otp" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load mfa info", + "tags": [ + "System Setting" + ] + } + }, + "/core/settings/mfa/bind": { + "post": { + "consumes": [ + "application/json" + ], + "description": "Mfa 绑定", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.MfaCredential" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Bind mfa", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "bind mfa", + "formatZH": "mfa 绑定", + "paramKeys": [] + } + } + }, + "/core/settings/password/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新系统登录密码", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PasswordUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update system password", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "update system password", + "formatZH": "修改系统密码", + "paramKeys": [] + } + } + }, + "/core/settings/port/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新系统端口", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PortUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update system port", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "serverPort" + ], + "formatEN": "update system port =\u003e [serverPort]", + "formatZH": "修改系统端口 =\u003e [serverPort]", + "paramKeys": [] + } + } + }, + "/core/settings/proxy/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "服务器代理配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ProxyUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update proxy setting", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "proxyUrl", + "proxyPort" + ], + "formatEN": "set proxy [proxyPort]:[proxyPort].", + "formatZH": "服务器代理配置 [proxyPort]:[proxyPort]", + "paramKeys": [] + } + } + }, + "/core/settings/search": { + "post": { + "description": "加载系统配置信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SettingInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load system setting info", + "tags": [ + "System Setting" + ] + } + }, + "/core/settings/search/available": { + "get": { + "description": "获取系统可用状态", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load system available status", + "tags": [ + "System Setting" + ] + } + }, + "/core/settings/ssl/download": { + "post": { + "description": "下载证书", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Download system cert", + "tags": [ + "System Setting" + ] + } + }, + "/core/settings/ssl/info": { + "get": { + "description": "获取证书信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SettingInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load system cert info", + "tags": [ + "System Setting" + ] + } + }, + "/core/settings/ssl/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改系统 ssl 登录", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SSLUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update system ssl", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "ssl" + ], + "formatEN": "update system ssl =\u003e [ssl]", + "formatZH": "修改系统 ssl =\u003e [ssl]", + "paramKeys": [] + } + } + }, + "/core/settings/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新系统配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SettingUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update system setting", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update system setting [key] =\u003e [value]", + "formatZH": "修改系统配置 [key] =\u003e [value]", + "paramKeys": [] + } + } + }, + "/core/settings/upgrade": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取版本 release notes", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Upgrade" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load release notes by version", + "tags": [ + "System Setting" + ] + }, + "post": { + "consumes": [ + "application/json" + ], + "description": "系统更新", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Upgrade" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Upgrade", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "version" + ], + "formatEN": "upgrade system =\u003e [version]", + "formatZH": "更新系统 =\u003e [version]", + "paramKeys": [] + } + } + }, + "/cronjobs": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建计划任务", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CronjobCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create cronjob", + "tags": [ + "Cronjob" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type", + "name" + ], + "formatEN": "create cronjob [type][name]", + "formatZH": "创建计划任务 [type][name]", + "paramKeys": [] + } + } + }, + "/cronjobs/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除计划任务", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CronjobBatchDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete cronjob", + "tags": [ + "Cronjob" + ], + "x-panel-log": { + "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": { + "post": { + "consumes": [ + "application/json" + ], + "description": "下载计划任务记录", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CronjobDownload" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Download cronjob records", + "tags": [ + "Cronjob" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "job_records", + "input_column": "id", + "input_value": "recordID", + "isList": false, + "output_column": "file", + "output_value": "file" + } + ], + "bodyKeys": [ + "recordID" + ], + "formatEN": "download the cronjob record [file]", + "formatZH": "下载计划任务记录 [file]", + "paramKeys": [] + } + } + }, + "/cronjobs/handle": { + "post": { + "consumes": [ + "application/json" + ], + "description": "手动执行计划任务", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Handle cronjob once", + "tags": [ + "Cronjob" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "cronjobs", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "manually execute the cronjob [name]", + "formatZH": "手动执行计划任务 [name]", + "paramKeys": [] + } + } + }, + "/cronjobs/records/clean": { + "post": { + "consumes": [ + "application/json" + ], + "description": "清空计划任务记录", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CronjobClean" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Clean job records", + "tags": [ + "Cronjob" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "cronjobs", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "clean cronjob [name] records", + "formatZH": "清空计划任务记录 [name]", + "paramKeys": [] + } + } + }, + "/cronjobs/records/log": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取计划任务记录日志", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load Cronjob record log", + "tags": [ + "Cronjob" + ] + } + }, + "/cronjobs/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取计划任务分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PageCronjob" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page cronjobs", + "tags": [ + "Cronjob" + ] + } + }, + "/cronjobs/search/records": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取计划任务记录", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchRecord" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page job records", + "tags": [ + "Cronjob" + ] + } + }, + "/cronjobs/status": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新计划任务状态", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CronjobUpdateStatus" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update cronjob status", + "tags": [ + "Cronjob" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "cronjobs", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id", + "status" + ], + "formatEN": "change the status of cronjob [name] to [status].", + "formatZH": "修改计划任务 [name] 状态为 [status]", + "paramKeys": [] + } + } + }, + "/cronjobs/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新计划任务", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CronjobUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update cronjob", + "tags": [ + "Cronjob" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "cronjobs", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "update cronjob [name]", + "formatZH": "更新计划任务 [name]", + "paramKeys": [] + } + } + }, + "/dashboard/base/:ioOption/:netOption": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取首页基础数据", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "ioOption", + "required": true, + "type": "string" + }, + { + "description": "request", + "in": "path", + "name": "netOption", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.DashboardBase" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load dashboard base info", + "tags": [ + "Dashboard" + ] + } + }, + "/dashboard/base/os": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取服务器基础数据", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.OsInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load os info", + "tags": [ + "Dashboard" + ] + } + }, + "/dashboard/current/:ioOption/:netOption": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取首页实时数据", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "ioOption", + "required": true, + "type": "string" + }, + { + "description": "request", + "in": "path", + "name": "netOption", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.DashboardCurrent" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load dashboard current info", + "tags": [ + "Dashboard" + ] + } + }, + "/dashboard/system/restart/:operation": { + "post": { + "consumes": [ + "application/json" + ], + "description": "重启服务器/面板", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "operation", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "System restart", + "tags": [ + "Dashboard" + ] + } + }, + "/databases": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建 mysql 数据库", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.MysqlDBCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create mysql database", + "tags": [ + "Database Mysql" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create mysql database [name]", + "formatZH": "创建 mysql 数据库 [name]", + "paramKeys": [] + } + } + }, + "/databases/bind": { + "post": { + "consumes": [ + "application/json" + ], + "description": "绑定 mysql 数据库用户", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BindUser" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Bind user of mysql database", + "tags": [ + "Database Mysql" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "database", + "username" + ], + "formatEN": "bind mysql database [database] [username]", + "formatZH": "绑定 mysql 数据库名 [database] [username]", + "paramKeys": [] + } + } + }, + "/databases/change/access": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 mysql 访问权限", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ChangeDBInfo" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change mysql access", + "tags": [ + "Database Mysql" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "database_mysqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update database [name] access", + "formatZH": "更新数据库 [name] 访问权限", + "paramKeys": [] + } + } + }, + "/databases/change/password": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 mysql 密码", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ChangeDBInfo" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change mysql password", + "tags": [ + "Database Mysql" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "database_mysqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update database [name] password", + "formatZH": "更新数据库 [name] 密码", + "paramKeys": [] + } + } + }, + "/databases/common/info": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取数据库基础信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithNameAndType" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.DBBaseInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load base info", + "tags": [ + "Database Common" + ] + } + }, + "/databases/common/load/file": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取数据库配置文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithNameAndType" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load Database conf", + "tags": [ + "Database Common" + ] + } + }, + "/databases/common/update/conf": { + "post": { + "consumes": [ + "application/json" + ], + "description": "上传替换配置文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DBConfUpdateByFile" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update conf by upload file", + "tags": [ + "Database Common" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type", + "database" + ], + "formatEN": "update the [type] [database] database configuration information", + "formatZH": "更新 [type] 数据库 [database] 配置信息", + "paramKeys": [] + } + } + }, + "/databases/db": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建远程数据库", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DatabaseCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create database", + "tags": [ + "Database" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "type" + ], + "formatEN": "create database [name][type]", + "formatZH": "创建远程数据库 [name][type]", + "paramKeys": [] + } + } + }, + "/databases/db/:name": { + "get": { + "description": "获取远程数据库", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.DatabaseInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get databases", + "tags": [ + "Database" + ] + } + }, + "/databases/db/check": { + "post": { + "consumes": [ + "application/json" + ], + "description": "检测远程数据库连接性", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DatabaseCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Check database", + "tags": [ + "Database" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "type" + ], + "formatEN": "check if database [name][type] is connectable", + "formatZH": "检测远程数据库 [name][type] 连接性", + "paramKeys": [] + } + } + }, + "/databases/db/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除远程数据库", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DatabaseDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete database", + "tags": [ + "Database" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "databases", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete database [names]", + "formatZH": "删除远程数据库 [names]", + "paramKeys": [] + } + } + }, + "/databases/db/item/:type": { + "get": { + "description": "获取数据库列表", + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.DatabaseItem" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List databases", + "tags": [ + "Database" + ] + } + }, + "/databases/db/list/:type": { + "get": { + "description": "获取远程数据库列表", + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.DatabaseOption" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List databases", + "tags": [ + "Database" + ] + } + }, + "/databases/db/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取远程数据库列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DatabaseSearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page databases", + "tags": [ + "Database" + ] + } + }, + "/databases/db/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新远程数据库", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DatabaseUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update database", + "tags": [ + "Database" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "update database [name]", + "formatZH": "更新远程数据库 [name]", + "paramKeys": [] + } + } + }, + "/databases/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除 mysql 数据库", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.MysqlDBDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete mysql database", + "tags": [ + "Database Mysql" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "database_mysqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "delete mysql database [name]", + "formatZH": "删除 mysql 数据库 [name]", + "paramKeys": [] + } + } + }, + "/databases/del/check": { + "post": { + "consumes": [ + "application/json" + ], + "description": "Mysql 数据库删除前检查", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.MysqlDBDeleteCheck" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Check before delete mysql database", + "tags": [ + "Database Mysql" + ] + } + }, + "/databases/description/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 mysql 数据库库描述信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateDescription" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update mysql database description", + "tags": [ + "Database Mysql" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "database_mysqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id", + "description" + ], + "formatEN": "The description of the mysql database [name] is modified =\u003e [description]", + "formatZH": "mysql 数据库 [name] 描述信息修改 [description]", + "paramKeys": [] + } + } + }, + "/databases/load": { + "post": { + "consumes": [ + "application/json" + ], + "description": "从服务器获取", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.MysqlLoadDB" + } + } + ], + "responses": {}, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load mysql database from remote", + "tags": [ + "Database Mysql" + ] + } + }, + "/databases/options": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取 mysql 数据库列表", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PageInfo" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.MysqlOption" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List mysql database names", + "tags": [ + "Database Mysql" + ] + } + }, + "/databases/pg": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建 postgresql 数据库", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PostgresqlDBCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create postgresql database", + "tags": [ + "Database Postgresql" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create postgresql database [name]", + "formatZH": "创建 postgresql 数据库 [name]", + "paramKeys": [] + } + } + }, + "/databases/pg/:database/load": { + "post": { + "consumes": [ + "application/json" + ], + "description": "从服务器获取", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PostgresqlLoadDB" + } + } + ], + "responses": {}, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load postgresql database from remote", + "tags": [ + "Database Postgresql" + ] + } + }, + "/databases/pg/bind": { + "post": { + "consumes": [ + "application/json" + ], + "description": "绑定 postgresql 数据库用户", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PostgresqlBindUser" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Bind postgresql user", + "tags": [ + "Database Postgresql" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "username" + ], + "formatEN": "bind postgresql database [name] user [username]", + "formatZH": "绑定 postgresql 数据库 [name] 用户 [username]", + "paramKeys": [] + } + } + }, + "/databases/pg/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除 postgresql 数据库", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PostgresqlDBDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete postgresql database", + "tags": [ + "Database Postgresql" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "database_postgresqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "delete postgresql database [name]", + "formatZH": "删除 postgresql 数据库 [name]", + "paramKeys": [] + } + } + }, + "/databases/pg/del/check": { + "post": { + "consumes": [ + "application/json" + ], + "description": "Postgresql 数据库删除前检查", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PostgresqlDBDeleteCheck" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Check before delete postgresql database", + "tags": [ + "Database Postgresql" + ] + } + }, + "/databases/pg/description": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 postgresql 数据库库描述信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateDescription" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update postgresql database description", + "tags": [ + "Database Postgresql" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "database_postgresqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id", + "description" + ], + "formatEN": "The description of the postgresql database [name] is modified =\u003e [description]", + "formatZH": "postgresql 数据库 [name] 描述信息修改 [description]", + "paramKeys": [] + } + } + }, + "/databases/pg/password": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 postgresql 密码", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ChangeDBInfo" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change postgresql password", + "tags": [ + "Database Postgresql" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "database_postgresqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update database [name] password", + "formatZH": "更新数据库 [name] 密码", + "paramKeys": [] + } + } + }, + "/databases/pg/privileges": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 postgresql 用户权限", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ChangeDBInfo" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change postgresql privileges", + "tags": [ + "Database Postgresql" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "database", + "username" + ], + "formatEN": "Update [user] privileges of database [database]", + "formatZH": "更新数据库 [database] 用户 [username] 权限", + "paramKeys": [] + } + } + }, + "/databases/pg/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 postgresql 数据库列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PostgresqlDBSearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page postgresql databases", + "tags": [ + "Database Postgresql" + ] + } + }, + "/databases/redis/conf": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 redis 配置信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithName" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.RedisConf" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load redis conf", + "tags": [ + "Database Redis" + ] + } + }, + "/databases/redis/conf/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 redis 配置信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.RedisConfUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update redis conf", + "tags": [ + "Database Redis" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "update the redis database configuration information", + "formatZH": "更新 redis 数据库配置信息", + "paramKeys": [] + } + } + }, + "/databases/redis/install/cli": { + "post": { + "description": "安装 redis cli", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Install redis-cli", + "tags": [ + "Database Redis" + ] + } + }, + "/databases/redis/password": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 redis 密码", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ChangeRedisPass" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change redis password", + "tags": [ + "Database Redis" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "change the password of the redis database", + "formatZH": "修改 redis 数据库密码", + "paramKeys": [] + } + } + }, + "/databases/redis/persistence/conf": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 redis 持久化配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithName" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.RedisPersistence" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load redis persistence conf", + "tags": [ + "Database Redis" + ] + } + }, + "/databases/redis/persistence/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 redis 持久化配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.RedisConfPersistenceUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update redis persistence conf", + "tags": [ + "Database Redis" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "redis database persistence configuration update", + "formatZH": "redis 数据库持久化配置更新", + "paramKeys": [] + } + } + }, + "/databases/redis/status": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 redis 状态信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithName" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.RedisStatus" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load redis status info", + "tags": [ + "Database Redis" + ] + } + }, + "/databases/remote": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 mysql 远程访问权限", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithNameAndType" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "boolean" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load mysql remote access", + "tags": [ + "Database Mysql" + ] + } + }, + "/databases/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 mysql 数据库列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.MysqlDBSearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page mysql databases", + "tags": [ + "Database Mysql" + ] + } + }, + "/databases/status": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 mysql 状态信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithNameAndType" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.MysqlStatus" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load mysql status info", + "tags": [ + "Database Mysql" + ] + } + }, + "/databases/variables": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 mysql 性能参数信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithNameAndType" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.MysqlVariables" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load mysql variables info", + "tags": [ + "Database Mysql" + ] + } + }, + "/databases/variables/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "mysql 性能调优", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.MysqlVariablesUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update mysql variables", + "tags": [ + "Database Mysql" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "adjust mysql database performance parameters", + "formatZH": "调整 mysql 数据库性能参数", + "paramKeys": [] + } + } + }, + "/db/remote/del/check": { + "post": { + "consumes": [ + "application/json" + ], + "description": "Mysql 远程数据库删除前检查", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Check before delete remote database", + "tags": [ + "Database" + ] + } + }, + "/files": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建文件/文件夹", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create file", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Create dir or file [path]", + "formatZH": "创建文件/文件夹 [path]", + "paramKeys": [] + } + } + }, + "/files/batch/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "批量删除文件/文件夹", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileBatchDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Batch delete file", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "paths" + ], + "formatEN": "Batch delete dir or file [paths]", + "formatZH": "批量删除文件/文件夹 [paths]", + "paramKeys": [] + } + } + }, + "/files/batch/role": { + "post": { + "consumes": [ + "application/json" + ], + "description": "批量修改文件权限和用户/组", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileRoleReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Batch change file mode and owner", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "paths", + "mode", + "user", + "group" + ], + "formatEN": "Batch change file mode and owner [paths] =\u003e [mode]/[user]/[group]", + "formatZH": "批量修改文件权限和用户/组 [paths] =\u003e [mode]/[user]/[group]", + "paramKeys": [] + } + } + }, + "/files/check": { + "post": { + "consumes": [ + "application/json" + ], + "description": "检测文件是否存在", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FilePathCheck" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Check file exist", + "tags": [ + "File" + ] + } + }, + "/files/chunkdownload": { + "post": { + "consumes": [ + "application/json" + ], + "description": "分片下载下载文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileDownload" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Chunk Download file", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Download file [name]", + "formatZH": "下载文件 [name]", + "paramKeys": [] + } + } + }, + "/files/chunkupload": { + "post": { + "description": "分片上传文件", + "parameters": [ + { + "description": "request", + "in": "formData", + "name": "file", + "required": true, + "type": "file" + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "ChunkUpload file", + "tags": [ + "File" + ] + } + }, + "/files/compress": { + "post": { + "consumes": [ + "application/json" + ], + "description": "压缩文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileCompress" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Compress file", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Compress file [name]", + "formatZH": "压缩文件 [name]", + "paramKeys": [] + } + } + }, + "/files/content": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取文件内容", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileContentReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load file content", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Load file content [path]", + "formatZH": "获取文件内容 [path]", + "paramKeys": [] + } + } + }, + "/files/decompress": { + "post": { + "consumes": [ + "application/json" + ], + "description": "解压文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileDeCompress" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Decompress file", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Decompress file [path]", + "formatZH": "解压 [path]", + "paramKeys": [] + } + } + }, + "/files/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除文件/文件夹", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete file", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Delete dir or file [path]", + "formatZH": "删除文件/文件夹 [path]", + "paramKeys": [] + } + } + }, + "/files/download": { + "get": { + "consumes": [ + "application/json" + ], + "description": "下载文件", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Download file", + "tags": [ + "File" + ] + } + }, + "/files/favorite": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建收藏", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FavoriteCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create favorite", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "收藏文件/文件夹 [path]", + "formatZH": "收藏文件/文件夹 [path]", + "paramKeys": [] + } + } + }, + "/files/favorite/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除收藏", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FavoriteDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete favorite", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "favorites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "path", + "output_value": "path" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "delete avorite [path]", + "formatZH": "删除收藏 [path]", + "paramKeys": [] + } + } + }, + "/files/favorite/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取收藏列表", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PageInfo" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List favorites", + "tags": [ + "File" + ] + } + }, + "/files/mode": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改文件权限", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change file mode", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path", + "mode" + ], + "formatEN": "Change mode [paths] =\u003e [mode]", + "formatZH": "修改权限 [paths] =\u003e [mode]", + "paramKeys": [] + } + } + }, + "/files/move": { + "post": { + "consumes": [ + "application/json" + ], + "description": "移动文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileMove" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Move file", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "oldPaths", + "newPath" + ], + "formatEN": "Move [oldPaths] =\u003e [newPath]", + "formatZH": "移动文件 [oldPaths] =\u003e [newPath]", + "paramKeys": [] + } + } + }, + "/files/owner": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改文件用户/组", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileRoleUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change file owner", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path", + "user", + "group" + ], + "formatEN": "Change owner [paths] =\u003e [user]/[group]", + "formatZH": "修改用户/组 [paths] =\u003e [user]/[group]", + "paramKeys": [] + } + } + }, + "/files/read": { + "post": { + "description": "按行读取日志文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileReadByLineReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Read file by Line", + "tags": [ + "File" + ] + } + }, + "/files/recycle/clear": { + "post": { + "consumes": [ + "application/json" + ], + "description": "清空回收站文件", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Clear RecycleBin files", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "清空回收站", + "formatZH": "清空回收站", + "paramKeys": [] + } + } + }, + "/files/recycle/reduce": { + "post": { + "consumes": [ + "application/json" + ], + "description": "还原回收站文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.RecycleBinReduce" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Reduce RecycleBin files", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Reduce RecycleBin file [name]", + "formatZH": "还原回收站文件 [name]", + "paramKeys": [] + } + } + }, + "/files/recycle/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取回收站文件列表", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PageInfo" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List RecycleBin files", + "tags": [ + "File" + ] + } + }, + "/files/recycle/status": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取回收站状态", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get RecycleBin status", + "tags": [ + "File" + ] + } + }, + "/files/rename": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改文件名称", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileRename" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change file name", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "oldName", + "newName" + ], + "formatEN": "Rename [oldName] =\u003e [newName]", + "formatZH": "重命名 [oldName] =\u003e [newName]", + "paramKeys": [] + } + } + }, + "/files/save": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新文件内容", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileEdit" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update file content", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Update file content [path]", + "formatZH": "更新文件内容 [path]", + "paramKeys": [] + } + } + }, + "/files/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取文件列表", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileOption" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List files", + "tags": [ + "File" + ] + } + }, + "/files/size": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取文件夹大小", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.DirSizeReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load file size", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Load file size [path]", + "formatZH": "获取文件夹大小 [path]", + "paramKeys": [] + } + } + }, + "/files/tree": { + "post": { + "consumes": [ + "application/json" + ], + "description": "加载文件树", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileOption" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.FileTree" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load files tree", + "tags": [ + "File" + ] + } + }, + "/files/upload": { + "post": { + "description": "上传文件", + "parameters": [ + { + "description": "request", + "in": "formData", + "name": "file", + "required": true, + "type": "file" + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Upload file", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Upload file [path]", + "formatZH": "上传文件 [path]", + "paramKeys": [] + } + } + }, + "/files/upload/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "分页获取上传文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.SearchUploadWithPage" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.FileInfo" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page file", + "tags": [ + "File" + ] + } + }, + "/files/wget": { + "post": { + "consumes": [ + "application/json" + ], + "description": "下载远端文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.FileWget" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Wget file", + "tags": [ + "File" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "url", + "path", + "name" + ], + "formatEN": "Download url =\u003e [path]/[name]", + "formatZH": "下载 url =\u003e [path]/[name]", + "paramKeys": [] + } + } + }, + "/groups": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建系统组", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.GroupCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create group", + "tags": [ + "System Group" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "type" + ], + "formatEN": "create group [name][type]", + "formatZH": "创建组 [name][type]", + "paramKeys": [] + } + } + }, + "/groups/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除系统组", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete group", + "tags": [ + "System Group" + ], + "x-panel-log": { + "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": [] + } + } + }, + "/groups/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "查询系统组", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.GroupSearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.GroupInfo" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List groups", + "tags": [ + "System Group" + ] + } + }, + "/groups/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新系统组", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.GroupUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update group", + "tags": [ + "System Group" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "type" + ], + "formatEN": "update group [name][type]", + "formatZH": "更新组 [name][type]", + "paramKeys": [] + } + } + }, + "/host/conffile/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "上传文件更新 SSH 配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SSHConf" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update host SSH setting by file", + "tags": [ + "SSH" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "update SSH conf", + "formatZH": "修改 SSH 配置文件", + "paramKeys": [] + } + } + }, + "/host/ssh/conf": { + "get": { + "description": "获取 SSH 配置文件", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load host SSH conf", + "tags": [ + "SSH" + ] + } + }, + "/host/ssh/generate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "生成 SSH 密钥", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.GenerateSSH" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Generate host SSH secret", + "tags": [ + "SSH" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "generate SSH secret", + "formatZH": "生成 SSH 密钥 ", + "paramKeys": [] + } + } + }, + "/host/ssh/log": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 SSH 登录日志", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchSSHLog" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SSHLog" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load host SSH logs", + "tags": [ + "SSH" + ] + } + }, + "/host/ssh/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 SSH 服务状态", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Operate" + } + } + ], + "responses": {}, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate SSH", + "tags": [ + "SSH" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] SSH", + "formatZH": "[operation] SSH ", + "paramKeys": [] + } + } + }, + "/host/ssh/search": { + "post": { + "description": "加载 SSH 配置信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SSHInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load host SSH setting info", + "tags": [ + "SSH" + ] + } + }, + "/host/ssh/secret": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 SSH 密钥", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.GenerateLoad" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load host SSH secret", + "tags": [ + "SSH" + ] + } + }, + "/host/ssh/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 SSH 配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SSHUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update host SSH setting", + "tags": [ + "SSH" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update SSH setting [key] =\u003e [value]", + "formatZH": "修改 SSH 配置 [key] =\u003e [value]", + "paramKeys": [] + } + } + }, + "/host/tool": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取主机工具状态", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.HostToolReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get tool", + "tags": [ + "Host tool" + ] + } + }, + "/host/tool/config": { + "post": { + "consumes": [ + "application/json" + ], + "description": "操作主机工具配置文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.HostToolConfig" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get tool config", + "tags": [ + "Host tool" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operate" + ], + "formatEN": "[operate] tool config", + "formatZH": "[operate] 主机工具配置文件 ", + "paramKeys": [] + } + } + }, + "/host/tool/create": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建主机工具配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.HostToolCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create Host tool Config", + "tags": [ + "Host tool" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "create [type] config", + "formatZH": "创建 [type] 配置", + "paramKeys": [] + } + } + }, + "/host/tool/log": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取主机工具日志", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.HostToolLogReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get tool", + "tags": [ + "Host tool" + ] + } + }, + "/host/tool/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "操作主机工具", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.HostToolReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate tool", + "tags": [ + "Host tool" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operate", + "type" + ], + "formatEN": "[operate] [type]", + "formatZH": "[operate] [type] ", + "paramKeys": [] + } + } + }, + "/host/tool/supervisor/process": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取 Supervisor 进程配置", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Supervisor process config", + "tags": [ + "Host tool" + ] + }, + "post": { + "consumes": [ + "application/json" + ], + "description": "操作守护进程", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.SupervisorProcessConfig" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create Supervisor process", + "tags": [ + "Host tool" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operate" + ], + "formatEN": "[operate] process", + "formatZH": "[operate] 守护进程 ", + "paramKeys": [] + } + } + }, + "/host/tool/supervisor/process/file": { + "post": { + "consumes": [ + "application/json" + ], + "description": "操作 Supervisor 进程文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.SupervisorProcessFileReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Supervisor process config", + "tags": [ + "Host tool" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operate" + ], + "formatEN": "[operate] Supervisor Process Config file", + "formatZH": "[operate] Supervisor 进程文件 ", + "paramKeys": [] + } + } + }, + "/hosts": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建主机", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.HostOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create host", + "tags": [ + "Host" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "addr" + ], + "formatEN": "create host [name][addr]", + "formatZH": "创建主机 [name][addr]", + "paramKeys": [] + } + } + }, + "/hosts/command": { + "get": { + "description": "获取快速命令列表", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.CommandInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List commands", + "tags": [ + "Command" + ] + }, + "post": { + "consumes": [ + "application/json" + ], + "description": "创建快速命令", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CommandOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create command", + "tags": [ + "Command" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "command" + ], + "formatEN": "create quick command [name][command]", + "formatZH": "创建快捷命令 [name][command]", + "paramKeys": [] + } + } + }, + "/hosts/command/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除快速命令", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchDeleteReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete command", + "tags": [ + "Command" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "commands", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete quick command [names]", + "formatZH": "删除快捷命令 [names]", + "paramKeys": [] + } + } + }, + "/hosts/command/redis": { + "get": { + "description": "获取 redis 快速命令列表", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "Array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List redis commands", + "tags": [ + "Redis Command" + ] + }, + "post": { + "consumes": [ + "application/json" + ], + "description": "保存 Redis 快速命令", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.RedisCommand" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Save redis command", + "tags": [ + "Redis Command" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "command" + ], + "formatEN": "save quick command for redis [name][command]", + "formatZH": "保存 redis 快捷命令 [name][command]", + "paramKeys": [] + } + } + }, + "/hosts/command/redis/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除 redis 快速命令", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchDeleteReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete redis command", + "tags": [ + "Redis Command" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "redis_commands", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete quick command of redis [names]", + "formatZH": "删除 redis 快捷命令 [names]", + "paramKeys": [] + } + } + }, + "/hosts/command/redis/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 redis 快速命令列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchWithPage" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page redis commands", + "tags": [ + "Redis Command" + ] + } + }, + "/hosts/command/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取快速命令列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchWithPage" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page commands", + "tags": [ + "Command" + ] + } + }, + "/hosts/command/tree": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取快速命令树", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "Array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Tree commands", + "tags": [ + "Command" + ] + } + }, + "/hosts/command/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新快速命令", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CommandOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update command", + "tags": [ + "Command" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "update quick command [name]", + "formatZH": "更新快捷命令 [name]", + "paramKeys": [] + } + } + }, + "/hosts/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除主机", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchDeleteReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete host", + "tags": [ + "Host" + ], + "x-panel-log": { + "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": [] + } + } + }, + "/hosts/firewall/base": { + "get": { + "description": "获取防火墙基础信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.FirewallBaseInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load firewall base info", + "tags": [ + "Firewall" + ] + } + }, + "/hosts/firewall/batch": { + "post": { + "consumes": [ + "application/json" + ], + "description": "批量删除防火墙规则", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchRuleOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create group", + "tags": [ + "Firewall" + ] + } + }, + "/hosts/firewall/forward": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新防火墙端口转发规则", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ForwardRuleOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create group", + "tags": [ + "Firewall" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "source_port" + ], + "formatEN": "update port forward rules [source_port]", + "formatZH": "更新端口转发规则 [source_port]", + "paramKeys": [] + } + } + }, + "/hosts/firewall/ip": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建防火墙 IP 规则", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.AddrRuleOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create group", + "tags": [ + "Firewall" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "strategy", + "address" + ], + "formatEN": "create address rules [strategy][address]", + "formatZH": "添加 ip 规则 [strategy] [address]", + "paramKeys": [] + } + } + }, + "/hosts/firewall/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改防火墙状态", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.FirewallOperation" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page firewall status", + "tags": [ + "Firewall" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] firewall", + "formatZH": "[operation] 防火墙", + "paramKeys": [] + } + } + }, + "/hosts/firewall/port": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建防火墙端口规则", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PortRuleOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create group", + "tags": [ + "Firewall" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "port", + "strategy" + ], + "formatEN": "create port rules [strategy][port]", + "formatZH": "添加端口规则 [strategy] [port]", + "paramKeys": [] + } + } + }, + "/hosts/firewall/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取防火墙规则列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.RuleSearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page firewall rules", + "tags": [ + "Firewall" + ] + } + }, + "/hosts/firewall/update/addr": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 ip 防火墙规则", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.AddrRuleUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create group", + "tags": [ + "Firewall" + ] + } + }, + "/hosts/firewall/update/description": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新防火墙描述", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateFirewallDescription" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update rule description", + "tags": [ + "Firewall" + ] + } + }, + "/hosts/firewall/update/port": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新端口防火墙规则", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PortRuleUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create group", + "tags": [ + "Firewall" + ] + } + }, + "/hosts/monitor/clean": { + "post": { + "description": "清空监控数据", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Clean monitor datas", + "tags": [ + "Monitor" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "clean monitor datas", + "formatZH": "清空监控数据", + "paramKeys": [] + } + } + }, + "/hosts/monitor/search": { + "post": { + "description": "获取监控数据", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.MonitorSearch" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load monitor datas", + "tags": [ + "Monitor" + ] + } + }, + "/hosts/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取主机列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchHostWithPage" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.HostTree" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page host", + "tags": [ + "Host" + ] + } + }, + "/hosts/test/byid/:id": { + "post": { + "consumes": [ + "application/json" + ], + "description": "测试主机连接", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "id", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "boolean" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Test host conn by host id", + "tags": [ + "Host" + ] + } + }, + "/hosts/test/byinfo": { + "post": { + "consumes": [ + "application/json" + ], + "description": "测试主机连接", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.HostConnTest" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Test host conn by info", + "tags": [ + "Host" + ] + } + }, + "/hosts/tree": { + "post": { + "consumes": [ + "application/json" + ], + "description": "加载主机树", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchForTree" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.HostTree" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load host tree", + "tags": [ + "Host" + ] + } + }, + "/hosts/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新主机", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.HostOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update host", + "tags": [ + "Host" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "addr" + ], + "formatEN": "update host [name][addr]", + "formatZH": "更新主机信息 [name][addr]", + "paramKeys": [] + } + } + }, + "/hosts/update/group": { + "post": { + "consumes": [ + "application/json" + ], + "description": "切换分组", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ChangeHostGroup" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update host group", + "tags": [ + "Host" + ], + "x-panel-log": { + "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": [] + } + } + }, + "/logs/system": { + "post": { + "description": "获取系统日志", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load system logs", + "tags": [ + "Logs" + ] + } + }, + "/logs/system/files": { + "get": { + "description": "获取系统日志文件列表", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load system log files", + "tags": [ + "Logs" + ] + } + }, + "/logs/tasks/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取任务日志列表", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchTaskLogReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page task logs", + "tags": [ + "TaskLog" + ] + } + }, + "/openresty": { + "get": { + "description": "获取 OpenResty 配置信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load OpenResty conf", + "tags": [ + "OpenResty" + ] + } + }, + "/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", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxConfigFileUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update OpenResty conf by upload file", + "tags": [ + "OpenResty" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Update nginx conf", + "formatZH": "更新 nginx 配置", + "paramKeys": [] + } + } + }, + "/openresty/scope": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取部分 OpenResty 配置信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxScopeReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.NginxParam" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load partial OpenResty conf", + "tags": [ + "OpenResty" + ] + } + }, + "/openresty/status": { + "get": { + "description": "获取 OpenResty 状态信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.NginxStatus" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load OpenResty status info", + "tags": [ + "OpenResty" + ] + } + }, + "/openresty/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 OpenResty 配置信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxConfigUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update OpenResty conf", + "tags": [ + "OpenResty" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteId", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Update nginx conf [domain]", + "formatZH": "更新 nginx 配置 [domain]", + "paramKeys": [] + } + } + }, + "/process/stop": { + "post": { + "description": "停止进程", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.ProcessReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Stop Process", + "tags": [ + "Process" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "PID" + ], + "formatEN": "结束进程 [PID]", + "formatZH": "结束进程 [PID]", + "paramKeys": [] + } + } + }, + "/runtimes": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建运行环境", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.RuntimeCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create runtime", + "tags": [ + "Runtime" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Create runtime [name]", + "formatZH": "创建运行环境 [name]", + "paramKeys": [] + } + } + }, + "/runtimes/:id": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取运行环境", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get runtime", + "tags": [ + "Runtime" + ] + } + }, + "/runtimes/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除运行环境", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.RuntimeDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete runtime", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website [name]", + "formatZH": "删除网站 [name]", + "paramKeys": [] + } + } + }, + "/runtimes/node/modules": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 Node 项目的 modules", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NodeModuleReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Node modules", + "tags": [ + "Runtime" + ] + } + }, + "/runtimes/node/modules/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "操作 Node 项目 modules", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NodeModuleReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate Node modules", + "tags": [ + "Runtime" + ] + } + }, + "/runtimes/node/package": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 Node 项目的 scripts", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NodePackageReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get Node package scripts", + "tags": [ + "Runtime" + ] + } + }, + "/runtimes/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "操作运行环境", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.RuntimeOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate runtime", + "tags": [ + "Runtime" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "id" + ], + "formatEN": "Operate runtime [name]", + "formatZH": "操作运行环境 [name]", + "paramKeys": [] + } + } + }, + "/runtimes/php/extensions": { + "post": { + "consumes": [ + "application/json" + ], + "description": "Create Extensions", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.PHPExtensionsCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create Extensions", + "tags": [ + "PHP Extensions" + ] + } + }, + "/runtimes/php/extensions/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "Delete Extensions", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.PHPExtensionsDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete Extensions", + "tags": [ + "PHP Extensions" + ] + } + }, + "/runtimes/php/extensions/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "Page Extensions", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.PHPExtensionsSearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.PHPExtensionsDTO" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page Extensions", + "tags": [ + "PHP Extensions" + ] + } + }, + "/runtimes/php/extensions/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "Update Extensions", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.PHPExtensionsUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update Extensions", + "tags": [ + "PHP Extensions" + ] + } + }, + "/runtimes/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取运行环境列表", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.RuntimeSearch" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List runtimes", + "tags": [ + "Runtime" + ] + } + }, + "/runtimes/sync": { + "post": { + "consumes": [ + "application/json" + ], + "description": "同步运行环境状态", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Sync runtime status", + "tags": [ + "Runtime" + ] + } + }, + "/runtimes/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新运行环境", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.RuntimeUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update runtime", + "tags": [ + "Runtime" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Update runtime [name]", + "formatZH": "更新运行环境 [name]", + "paramKeys": [] + } + } + }, + "/settings/backup": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建备份账号", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BackupOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create backup account", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "create backup account [type]", + "formatZH": "创建备份账号 [type]", + "paramKeys": [] + } + } + }, + "/settings/backup/backup": { + "post": { + "consumes": [ + "application/json" + ], + "description": "备份系统数据", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CommonBackup" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Backup system data", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type", + "name", + "detailName" + ], + "formatEN": "backup [type] data [name][detailName]", + "formatZH": "备份 [type] 数据 [name][detailName]", + "paramKeys": [] + } + } + }, + "/settings/backup/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除备份账号", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "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": [] + } + } + }, + "/settings/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" + ] + } + }, + "/settings/backup/record/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除备份记录", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchDeleteReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete backup record", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "backup_records", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "file_name", + "output_value": "files" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete backup records [files]", + "formatZH": "删除备份记录 [files]", + "paramKeys": [] + } + } + }, + "/settings/backup/record/download": { + "post": { + "consumes": [ + "application/json" + ], + "description": "下载备份记录", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.DownloadRecord" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Download backup record", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "source", + "fileName" + ], + "formatEN": "download backup records [source][fileName]", + "formatZH": "下载备份记录 [source][fileName]", + "paramKeys": [] + } + } + }, + "/settings/backup/record/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取备份记录列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.RecordSearch" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page backup records", + "tags": [ + "Backup Account" + ] + } + }, + "/settings/backup/record/search/bycronjob": { + "post": { + "consumes": [ + "application/json" + ], + "description": "通过计划任务获取备份记录列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.RecordSearchByCronjob" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page backup records by cronjob", + "tags": [ + "Backup Account" + ] + } + }, + "/settings/backup/recover": { + "post": { + "consumes": [ + "application/json" + ], + "description": "恢复系统数据", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CommonRecover" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Recover system data", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type", + "name", + "detailName", + "file" + ], + "formatEN": "recover [type] data [name][detailName] from [file]", + "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", + "paramKeys": [] + } + } + }, + "/settings/backup/recover/byupload": { + "post": { + "consumes": [ + "application/json" + ], + "description": "从上传恢复系统数据", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.CommonRecover" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Recover system data by upload", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type", + "name", + "detailName", + "file" + ], + "formatEN": "recover [type] data [name][detailName] from [file]", + "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", + "paramKeys": [] + } + } + }, + "/settings/backup/refresh/onedrive": { + "post": { + "description": "刷新 OneDrive token", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Refresh OneDrive token", + "tags": [ + "Backup Account" + ] + } + }, + "/settings/backup/search": { + "get": { + "description": "获取备份账号列表", + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/dto.BackupInfo" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List backup accounts", + "tags": [ + "Backup Account" + ] + }, + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 bucket 列表", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ForBuckets" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List buckets", + "tags": [ + "Backup Account" + ] + } + }, + "/settings/backup/search/files": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取备份账号内文件列表", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BackupSearchFile" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List files from backup accounts", + "tags": [ + "Backup Account" + ] + } + }, + "/settings/backup/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新备份账号信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BackupOperate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update backup account", + "tags": [ + "Backup Account" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "update backup account [types]", + "formatZH": "更新备份账号 [types]", + "paramKeys": [] + } + } + }, + "/settings/basedir": { + "get": { + "description": "获取安装根目录", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "string" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load local backup dir", + "tags": [ + "System Setting" + ] + } + }, + "/settings/search": { + "post": { + "description": "加载系统配置信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.SettingInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load system setting info", + "tags": [ + "System Setting" + ] + } + }, + "/settings/search/available": { + "get": { + "description": "获取系统可用状态", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load system available status", + "tags": [ + "System Setting" + ] + } + }, + "/settings/snapshot": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建系统快照", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SnapshotCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create system snapshot", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "from", + "description" + ], + "formatEN": "Create system backup [description] to [from]", + "formatZH": "创建系统快照 [description] 到 [from]", + "paramKeys": [] + } + } + }, + "/settings/snapshot/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除系统快照", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SnapshotBatchDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete system backup", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "snapshots", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "Delete system backup [name]", + "formatZH": "删除系统快照 [name]", + "paramKeys": [] + } + } + }, + "/settings/snapshot/description/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新快照描述信息", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateDescription" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update snapshot description", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "snapshots", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id", + "description" + ], + "formatEN": "The description of the snapshot [name] is modified =\u003e [description]", + "formatZH": "快照 [name] 描述信息修改 [description]", + "paramKeys": [] + } + } + }, + "/settings/snapshot/import": { + "post": { + "consumes": [ + "application/json" + ], + "description": "导入已有快照", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SnapshotImport" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Import system snapshot", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "from", + "names" + ], + "formatEN": "Sync system snapshots [names] from [from]", + "formatZH": "从 [from] 同步系统快照 [names]", + "paramKeys": [] + } + } + }, + "/settings/snapshot/recover": { + "post": { + "consumes": [ + "application/json" + ], + "description": "从系统快照恢复", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SnapshotRecover" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Recover system backup", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "snapshots", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Recover from system backup [name]", + "formatZH": "从系统快照 [name] 恢复", + "paramKeys": [] + } + } + }, + "/settings/snapshot/rollback": { + "post": { + "consumes": [ + "application/json" + ], + "description": "从系统快照回滚", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SnapshotRecover" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Rollback system backup", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "snapshots", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Rollback from system backup [name]", + "formatZH": "从系统快照 [name] 回滚", + "paramKeys": [] + } + } + }, + "/settings/snapshot/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取系统快照列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchWithPage" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page system snapshot", + "tags": [ + "System Setting" + ] + } + }, + "/settings/snapshot/status": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取快照状态", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load Snapshot status", + "tags": [ + "System Setting" + ] + } + }, + "/settings/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新系统配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SettingUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update system setting", + "tags": [ + "System Setting" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update system setting [key] =\u003e [value]", + "formatZH": "修改系统配置 [key] =\u003e [value]", + "paramKeys": [] + } + } + }, + "/toolbox/clam": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建扫描规则", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ClamCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create clam", + "tags": [ + "Clam" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "path" + ], + "formatEN": "create clam [name][path]", + "formatZH": "创建扫描规则 [name][path]", + "paramKeys": [] + } + } + }, + "/toolbox/clam/base": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取 Clam 基础信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.ClamBaseInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load clam base info", + "tags": [ + "Clam" + ] + } + }, + "/toolbox/clam/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除扫描规则", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ClamDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete clam", + "tags": [ + "Clam" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "clams", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete clam [names]", + "formatZH": "删除扫描规则 [names]", + "paramKeys": [] + } + } + }, + "/toolbox/clam/file/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取扫描文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ClamFileReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load clam file", + "tags": [ + "Clam" + ] + } + }, + "/toolbox/clam/file/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新病毒扫描配置文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateByNameAndFile" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update clam file", + "tags": [ + "Clam" + ] + } + }, + "/toolbox/clam/handle": { + "post": { + "consumes": [ + "application/json" + ], + "description": "执行病毒扫描", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Handle clam scan", + "tags": [ + "Clam" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "clams", + "input_column": "id", + "input_value": "id", + "isList": true, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "handle clam scan [name]", + "formatZH": "执行病毒扫描 [name]", + "paramKeys": [] + } + } + }, + "/toolbox/clam/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 Clam 状态", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Operate" + } + } + ], + "responses": {}, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate Clam", + "tags": [ + "Clam" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] FTP", + "formatZH": "[operation] Clam", + "paramKeys": [] + } + } + }, + "/toolbox/clam/record/clean": { + "post": { + "consumes": [ + "application/json" + ], + "description": "清空扫描报告", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperateByID" + } + } + ], + "responses": {}, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Clean clam record", + "tags": [ + "Clam" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "clams", + "input_column": "id", + "input_value": "id", + "isList": true, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "clean clam record [name]", + "formatZH": "清空扫描报告 [name]", + "paramKeys": [] + } + } + }, + "/toolbox/clam/record/log": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取扫描结果详情", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ClamLogReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load clam record detail", + "tags": [ + "Clam" + ] + } + }, + "/toolbox/clam/record/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取扫描结果列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ClamLogSearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page clam record", + "tags": [ + "Clam" + ] + } + }, + "/toolbox/clam/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取扫描规则列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchClamWithPage" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page clam", + "tags": [ + "Clam" + ] + } + }, + "/toolbox/clam/status/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改扫描规则状态", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ClamUpdateStatus" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update clam status", + "tags": [ + "Clam" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "clams", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id", + "status" + ], + "formatEN": "change the status of clam [name] to [status].", + "formatZH": "修改扫描规则 [name] 状态为 [status]", + "paramKeys": [] + } + } + }, + "/toolbox/clam/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改扫描规则", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ClamUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update clam", + "tags": [ + "Clam" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "path" + ], + "formatEN": "update clam [name][path]", + "formatZH": "修改扫描规则 [name][path]", + "paramKeys": [] + } + } + }, + "/toolbox/clean": { + "post": { + "consumes": [ + "application/json" + ], + "description": "清理系统垃圾文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "items": { + "$ref": "#/definitions/dto.Clean" + }, + "type": "array" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Clean system", + "tags": [ + "Device" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Clean system junk files", + "formatZH": "清理系统垃圾文件", + "paramKeys": [] + } + } + }, + "/toolbox/device/base": { + "post": { + "description": "获取设备基础信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.DeviceBaseInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load device base info", + "tags": [ + "Device" + ] + } + }, + "/toolbox/device/check/dns": { + "post": { + "consumes": [ + "application/json" + ], + "description": "检查系统 DNS 配置可用性", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SettingUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Check device DNS conf", + "tags": [ + "Device" + ] + } + }, + "/toolbox/device/conf": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取系统配置文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.OperationWithName" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "load conf", + "tags": [ + "Device" + ] + } + }, + "/toolbox/device/update/byconf": { + "post": { + "consumes": [ + "application/json" + ], + "description": "通过文件修改配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateByNameAndFile" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update device conf by file", + "tags": [ + "Device" + ] + } + }, + "/toolbox/device/update/conf": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改系统参数", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SettingUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update device", + "tags": [ + "Device" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update device conf [key] =\u003e [value]", + "formatZH": "修改主机参数 [key] =\u003e [value]", + "paramKeys": [] + } + } + }, + "/toolbox/device/update/host": { + "post": { + "description": "修改系统 hosts", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update device hosts", + "tags": [ + "Device" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update device host [key] =\u003e [value]", + "formatZH": "修改主机 Host [key] =\u003e [value]", + "paramKeys": [] + } + } + }, + "/toolbox/device/update/passwd": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改系统密码", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.ChangePasswd" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update device passwd", + "tags": [ + "Device" + ] + } + }, + "/toolbox/device/update/swap": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改系统 Swap", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SwapHelper" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update device swap", + "tags": [ + "Device" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operate", + "path" + ], + "formatEN": "[operate] device swap [path]", + "formatZH": "[operate] 主机 swap [path]", + "paramKeys": [] + } + } + }, + "/toolbox/device/zone/options": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取系统可用时区选项", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "Array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "list time zone options", + "tags": [ + "Device" + ] + } + }, + "/toolbox/fail2ban/base": { + "get": { + "description": "获取 Fail2ban 基础信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.Fail2BanBaseInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load fail2ban base info", + "tags": [ + "Fail2ban" + ] + } + }, + "/toolbox/fail2ban/load/conf": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取 fail2ban 配置文件", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load fail2ban conf", + "tags": [ + "Fail2ban" + ] + } + }, + "/toolbox/fail2ban/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 Fail2ban 状态", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Operate" + } + } + ], + "responses": {}, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate fail2ban", + "tags": [ + "Fail2ban" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] Fail2ban", + "formatZH": "[operation] Fail2ban", + "paramKeys": [] + } + } + }, + "/toolbox/fail2ban/operate/sshd": { + "post": { + "consumes": [ + "application/json" + ], + "description": "配置 sshd", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Operate" + } + } + ], + "responses": {}, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate sshd of fail2ban", + "tags": [ + "Fail2ban" + ] + } + }, + "/toolbox/fail2ban/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 Fail2ban ip", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Fail2BanSearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "Array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page fail2ban ip list", + "tags": [ + "Fail2ban" + ] + } + }, + "/toolbox/fail2ban/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 Fail2ban 配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Fail2BanUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update fail2ban conf", + "tags": [ + "Fail2ban" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update fail2ban conf [key] =\u003e [value]", + "formatZH": "修改 Fail2ban 配置 [key] =\u003e [value]", + "paramKeys": [] + } + } + }, + "/toolbox/fail2ban/update/byconf": { + "post": { + "consumes": [ + "application/json" + ], + "description": "通过文件修改 fail2ban 配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.UpdateByFile" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update fail2ban conf by file", + "tags": [ + "Fail2ban" + ] + } + }, + "/toolbox/ftp": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建 FTP 账户", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.FtpCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create FTP user", + "tags": [ + "FTP" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "user", + "path" + ], + "formatEN": "create FTP [user][path]", + "formatZH": "创建 FTP 账户 [user][path]", + "paramKeys": [] + } + } + }, + "/toolbox/ftp/base": { + "get": { + "description": "获取 FTP 基础信息", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.FtpBaseInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load FTP base info", + "tags": [ + "FTP" + ] + } + }, + "/toolbox/ftp/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除 FTP 账户", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchDeleteReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete FTP user", + "tags": [ + "FTP" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "ftps", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "user", + "output_value": "users" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete FTP users [users]", + "formatZH": "删除 FTP 账户 [users]", + "paramKeys": [] + } + } + }, + "/toolbox/ftp/log/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 FTP 操作日志", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.FtpLogSearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load FTP operation log", + "tags": [ + "FTP" + ] + } + }, + "/toolbox/ftp/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 FTP 状态", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.Operate" + } + } + ], + "responses": {}, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate FTP", + "tags": [ + "FTP" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] FTP", + "formatZH": "[operation] FTP", + "paramKeys": [] + } + } + }, + "/toolbox/ftp/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 FTP 账户列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.SearchWithPage" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page FTP user", + "tags": [ + "FTP" + ] + } + }, + "/toolbox/ftp/sync": { + "post": { + "consumes": [ + "application/json" + ], + "description": "同步 FTP 账户", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.BatchDeleteReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Sync FTP user", + "tags": [ + "FTP" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "sync FTP users", + "formatZH": "同步 FTP 账户", + "paramKeys": [] + } + } + }, + "/toolbox/ftp/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改 FTP 账户", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.FtpUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update FTP user", + "tags": [ + "FTP" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "user", + "path" + ], + "formatEN": "update FTP [user][path]", + "formatZH": "修改 FTP 账户 [user][path]", + "paramKeys": [] + } + } + }, + "/toolbox/scan": { + "post": { + "description": "扫描系统垃圾文件", + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Scan system", + "tags": [ + "Device" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "scan System Junk Files", + "formatZH": "扫描系统垃圾文件", + "paramKeys": [] + } + } + }, + "/websites": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建网站", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create website", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "primaryDomain" + ], + "formatEN": "Create website [primaryDomain]", + "formatZH": "创建网站 [primaryDomain]", + "paramKeys": [] + } + } + }, + "/websites/:id": { + "get": { + "consumes": [ + "application/json" + ], + "description": "通过 id 查询网站", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "id", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteDTO" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search website by id", + "tags": [ + "Website" + ] + } + }, + "/websites/:id/config/:type": { + "get": { + "consumes": [ + "application/json" + ], + "description": "通过 id 查询网站 nginx", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "id", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search website nginx by id", + "tags": [ + "Website Nginx" + ] + } + }, + "/websites/:id/https": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取 https 配置", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "id", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteHTTPS" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load https conf", + "tags": [ + "Website HTTPS" + ] + }, + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 https 配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteHTTPSOp" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteHTTPS" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update https conf", + "tags": [ + "Website HTTPS" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteId", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Update website https [domain] conf", + "formatZH": "更新网站 [domain] https 配置", + "paramKeys": [] + } + } + }, + "/websites/acme": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建网站 acme", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteAcmeAccountCreate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteAcmeAccountDTO" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create website acme account", + "tags": [ + "Website Acme" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "email" + ], + "formatEN": "Create website acme [email]", + "formatZH": "创建网站 acme [email]", + "paramKeys": [] + } + } + }, + "/websites/acme/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除网站 acme", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteResourceReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete website acme account", + "tags": [ + "Website Acme" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_acme_accounts", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "email", + "output_value": "email" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website acme [email]", + "formatZH": "删除网站 acme [email]", + "paramKeys": [] + } + } + }, + "/websites/acme/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取网站 acme 列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PageInfo" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page website acme accounts", + "tags": [ + "Website Acme" + ] + } + }, + "/websites/auths": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取密码访问配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxAuthReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get AuthBasic conf", + "tags": [ + "Website" + ] + } + }, + "/websites/auths/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新密码访问配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxAuthUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get AuthBasic conf", + "tags": [ + "Website" + ] + } + }, + "/websites/ca": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建网站 ca", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteCACreate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/request.WebsiteCACreate" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create website ca", + "tags": [ + "Website CA" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Create website ca [name]", + "formatZH": "创建网站 ca [name]", + "paramKeys": [] + } + } + }, + "/websites/ca/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除网站 ca", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteCommonReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete website ca", + "tags": [ + "Website CA" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_cas", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website ca [name]", + "formatZH": "删除网站 ca [name]", + "paramKeys": [] + } + } + }, + "/websites/ca/download": { + "post": { + "consumes": [ + "application/json" + ], + "description": "下载 CA 证书文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteResourceReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Download CA file", + "tags": [ + "Website CA" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_cas", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "download ca file [name]", + "formatZH": "下载 CA 证书文件 [name]", + "paramKeys": [] + } + } + }, + "/websites/ca/obtain": { + "post": { + "consumes": [ + "application/json" + ], + "description": "自签 SSL 证书", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteCAObtain" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Obtain SSL", + "tags": [ + "Website CA" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_cas", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Obtain SSL [name]", + "formatZH": "自签 SSL 证书 [name]", + "paramKeys": [] + } + } + }, + "/websites/ca/renew": { + "post": { + "consumes": [ + "application/json" + ], + "description": "续签 SSL 证书", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteCAObtain" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Obtain SSL", + "tags": [ + "Website CA" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_cas", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Obtain SSL [name]", + "formatZH": "自签 SSL 证书 [name]", + "paramKeys": [] + } + } + }, + "/websites/ca/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取网站 ca 列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteCASearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page website ca", + "tags": [ + "Website CA" + ] + } + }, + "/websites/ca/{id}": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取网站 ca", + "parameters": [ + { + "description": "id", + "in": "path", + "name": "id", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteCADTO" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get website ca", + "tags": [ + "Website CA" + ] + } + }, + "/websites/check": { + "post": { + "consumes": [ + "application/json" + ], + "description": "网站创建前检查", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteInstallCheckReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.WebsitePreInstallCheck" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Check before create website", + "tags": [ + "Website" + ] + } + }, + "/websites/config": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取 nginx 配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxScopeReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteNginxConfig" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load nginx conf", + "tags": [ + "Website Nginx" + ] + } + }, + "/websites/config/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 nginx 配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxConfigUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update nginx conf", + "tags": [ + "Website Nginx" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteId", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Nginx conf update [domain]", + "formatZH": "nginx 配置修改 [domain]", + "paramKeys": [] + } + } + }, + "/websites/default/html/:type": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取默认 html", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.FileInfo" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get default html", + "tags": [ + "Website" + ] + } + }, + "/websites/default/html/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新默认 html", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteHtmlUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update default html", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "Update default html", + "formatZH": "更新默认 html", + "paramKeys": [] + } + } + }, + "/websites/default/server": { + "post": { + "consumes": [ + "application/json" + ], + "description": "操作网站日志", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteDefaultUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Change default server", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id", + "operate" + ], + "formatEN": "Change default server =\u003e [domain]", + "formatZH": "修改默认 server =\u003e [domain]", + "paramKeys": [] + } + } + }, + "/websites/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除网站", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete website", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website [domain]", + "formatZH": "删除网站 [domain]", + "paramKeys": [] + } + } + }, + "/websites/dir": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取网站目录配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteCommonReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get website dir", + "tags": [ + "Website" + ] + } + }, + "/websites/dir/permission": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新网站目录权限", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteUpdateDirPermission" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update Site Dir permission", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update domain [domain] dir permission", + "formatZH": "更新网站 [domain] 目录权限", + "paramKeys": [] + } + } + }, + "/websites/dir/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新网站目录", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteUpdateDir" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update Site Dir", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update domain [domain] dir", + "formatZH": "更新网站 [domain] 目录", + "paramKeys": [] + } + } + }, + "/websites/dns": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建网站 dns", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteDnsAccountCreate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create website dns account", + "tags": [ + "Website DNS" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Create website dns [name]", + "formatZH": "创建网站 dns [name]", + "paramKeys": [] + } + } + }, + "/websites/dns/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除网站 dns", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteResourceReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete website dns account", + "tags": [ + "Website DNS" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_dns_accounts", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website dns [name]", + "formatZH": "删除网站 dns [name]", + "paramKeys": [] + } + } + }, + "/websites/dns/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取网站 dns 列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/dto.PageInfo" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page website dns accounts", + "tags": [ + "Website DNS" + ] + } + }, + "/websites/dns/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新网站 dns", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteDnsAccountUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update website dns account", + "tags": [ + "Website DNS" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Update website dns [name]", + "formatZH": "更新网站 dns [name]", + "paramKeys": [] + } + } + }, + "/websites/domains": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建网站域名", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteDomainCreate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/model.WebsiteDomain" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create website domain", + "tags": [ + "Website Domain" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "domain" + ], + "formatEN": "Create domain [domain]", + "formatZH": "创建域名 [domain]", + "paramKeys": [] + } + } + }, + "/websites/domains/:websiteId": { + "get": { + "consumes": [ + "application/json" + ], + "description": "通过网站 id 查询域名", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "websiteId", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/model.WebsiteDomain" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search website domains by websiteId", + "tags": [ + "Website Domain" + ] + } + }, + "/websites/domains/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除网站域名", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteDomainDelete" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete website domain", + "tags": [ + "Website Domain" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_domains", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete domain [domain]", + "formatZH": "删除域名 [domain]", + "paramKeys": [] + } + } + }, + "/websites/leech": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取防盗链配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxCommonReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get AntiLeech conf", + "tags": [ + "Website" + ] + } + }, + "/websites/leech/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新防盗链配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxAntiLeechUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update AntiLeech", + "tags": [ + "Website" + ] + } + }, + "/websites/list": { + "get": { + "description": "获取网站列表", + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.WebsiteDTO" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List websites", + "tags": [ + "Website" + ] + } + }, + "/websites/log": { + "post": { + "consumes": [ + "application/json" + ], + "description": "操作网站日志", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteLogReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.WebsiteLog" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate website log", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id", + "operate" + ], + "formatEN": "[domain][operate] logs", + "formatZH": "[domain][operate] 日志", + "paramKeys": [] + } + } + }, + "/websites/nginx/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 网站 nginx 配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteNginxUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update website nginx conf", + "tags": [ + "Website Nginx" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "[domain] Nginx conf update", + "formatZH": "[domain] Nginx 配置修改", + "paramKeys": [] + } + } + }, + "/websites/operate": { + "post": { + "consumes": [ + "application/json" + ], + "description": "操作网站", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteOp" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Operate website", + "tags": [ + "Website" + ], + "x-panel-log": { + "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/options": { + "get": { + "description": "获取网站列表", + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "type": "string" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "List website names", + "tags": [ + "Website" + ] + } + }, + "/websites/php/config": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 网站 PHP 配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsitePHPConfigUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update website php conf", + "tags": [ + "Website PHP" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "[domain] PHP conf update", + "formatZH": "[domain] PHP 配置修改", + "paramKeys": [] + } + } + }, + "/websites/php/config/:id": { + "get": { + "consumes": [ + "application/json" + ], + "description": "获取网站 php 配置", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "id", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/response.PHPConfig" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Load website php conf", + "tags": [ + "Website" + ] + } + }, + "/websites/php/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 php 配置文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsitePHPFileUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update php conf", + "tags": [ + "Website PHP" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteId", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Nginx conf update [domain]", + "formatZH": "php 配置修改 [domain]", + "paramKeys": [] + } + } + }, + "/websites/php/version": { + "post": { + "consumes": [ + "application/json" + ], + "description": "变更 php 版本", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsitePHPVersionReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update php version", + "tags": [ + "Website PHP" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteId", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteId" + ], + "formatEN": "php version update [domain]", + "formatZH": "php 版本变更 [domain]", + "paramKeys": [] + } + } + }, + "/websites/proxies": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取反向代理配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteProxyReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get proxy conf", + "tags": [ + "Website" + ] + } + }, + "/websites/proxies/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改反向代理配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteProxyConfig" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update proxy conf", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update domain [domain] proxy config", + "formatZH": "修改网站 [domain] 反向代理配置 ", + "paramKeys": [] + } + } + }, + "/websites/proxy/file": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新反向代理文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxProxyUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update proxy file", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteID", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Nginx conf proxy file update [domain]", + "formatZH": "更新反向代理文件 [domain]", + "paramKeys": [] + } + } + }, + "/websites/redirect": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取重定向配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteProxyReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get redirect conf", + "tags": [ + "Website" + ] + } + }, + "/websites/redirect/file": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新重定向文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxRedirectUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update redirect file", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteID", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Nginx conf redirect file update [domain]", + "formatZH": "更新重定向文件 [domain]", + "paramKeys": [] + } + } + }, + "/websites/redirect/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "修改重定向配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxRedirectReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update redirect conf", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteID", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Update domain [domain] redirect config", + "formatZH": "修改网站 [domain] 重定向理配置 ", + "paramKeys": [] + } + } + }, + "/websites/rewrite": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取伪静态配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxRewriteReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Get rewrite conf", + "tags": [ + "Website" + ] + } + }, + "/websites/rewrite/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新伪静态配置", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.NginxRewriteUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update rewrite conf", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteID", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Nginx conf rewrite update [domain]", + "formatZH": "伪静态配置修改 [domain]", + "paramKeys": [] + } + } + }, + "/websites/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取网站列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteSearch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/dto.PageResult" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page websites", + "tags": [ + "Website" + ] + } + }, + "/websites/ssl": { + "post": { + "consumes": [ + "application/json" + ], + "description": "创建网站 ssl", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteSSLCreate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/request.WebsiteSSLCreate" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Create website ssl", + "tags": [ + "Website SSL" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "primaryDomain" + ], + "formatEN": "Create website ssl [primaryDomain]", + "formatZH": "创建网站 ssl [primaryDomain]", + "paramKeys": [] + } + } + }, + "/websites/ssl/:id": { + "get": { + "consumes": [ + "application/json" + ], + "description": "通过 id 查询 ssl", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "id", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search website ssl by id", + "tags": [ + "Website SSL" + ] + } + }, + "/websites/ssl/del": { + "post": { + "consumes": [ + "application/json" + ], + "description": "删除网站 ssl", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteBatchDelReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Delete website ssl", + "tags": [ + "Website SSL" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_ssls", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "Delete ssl [domain]", + "formatZH": "删除 ssl [domain]", + "paramKeys": [] + } + } + }, + "/websites/ssl/download": { + "post": { + "consumes": [ + "application/json" + ], + "description": "下载证书文件", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteResourceReq" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Download SSL file", + "tags": [ + "Website SSL" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_ssls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "download ssl file [domain]", + "formatZH": "下载证书文件 [domain]", + "paramKeys": [] + } + } + }, + "/websites/ssl/obtain": { + "post": { + "consumes": [ + "application/json" + ], + "description": "申请证书", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteSSLApply" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Apply ssl", + "tags": [ + "Website SSL" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_ssls", + "input_column": "id", + "input_value": "ID", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "ID" + ], + "formatEN": "apply ssl [domain]", + "formatZH": "申请证书 [domain]", + "paramKeys": [] + } + } + }, + "/websites/ssl/resolve": { + "post": { + "consumes": [ + "application/json" + ], + "description": "解析网站 ssl", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteDNSReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "items": { + "$ref": "#/definitions/response.WebsiteDNSRes" + }, + "type": "array" + } + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Resolve website ssl", + "tags": [ + "Website SSL" + ] + } + }, + "/websites/ssl/search": { + "post": { + "consumes": [ + "application/json" + ], + "description": "获取网站 ssl 列表分页", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteSSLSearch" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Page website ssl", + "tags": [ + "Website SSL" + ] + } + }, + "/websites/ssl/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新 ssl", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteSSLUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update ssl", + "tags": [ + "Website SSL" + ], + "x-panel-log": { + "BeforeFunctions": [ + { + "db": "website_ssls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update ssl config [domain]", + "formatZH": "更新证书设置 [domain]", + "paramKeys": [] + } + } + }, + "/websites/ssl/upload": { + "post": { + "consumes": [ + "application/json" + ], + "description": "上传 ssl", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteSSLUpload" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Upload ssl", + "tags": [ + "Website SSL" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "Upload ssl [type]", + "formatZH": "上传 ssl [type]", + "paramKeys": [] + } + } + }, + "/websites/ssl/website/:websiteId": { + "get": { + "consumes": [ + "application/json" + ], + "description": "通过网站 id 查询 ssl", + "parameters": [ + { + "description": "request", + "in": "path", + "name": "websiteId", + "required": true, + "type": "integer" + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Search website ssl by website id", + "tags": [ + "Website SSL" + ] + } + }, + "/websites/update": { + "post": { + "consumes": [ + "application/json" + ], + "description": "更新网站", + "parameters": [ + { + "description": "request", + "in": "body", + "name": "request", + "required": true, + "schema": { + "$ref": "#/definitions/request.WebsiteUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "summary": "Update website", + "tags": [ + "Website" + ], + "x-panel-log": { + "BeforeFunctions": [], + "bodyKeys": [ + "primaryDomain" + ], + "formatEN": "Update website [primaryDomain]", + "formatZH": "更新网站 [primaryDomain]", + "paramKeys": [] + } + } + } + }, + "definitions": { + "dto.AddrRuleOperate": { + "properties": { + "address": { + "type": "string" + }, + "description": { + "type": "string" + }, + "operation": { + "enum": [ + "add", + "remove" + ], + "type": "string" + }, + "strategy": { + "enum": [ + "accept", + "drop" + ], + "type": "string" + } + }, + "required": [ + "address", + "operation", + "strategy" + ], + "type": "object" + }, + "dto.AddrRuleUpdate": { + "properties": { + "newRule": { + "$ref": "#/definitions/dto.AddrRuleOperate" + }, + "oldRule": { + "$ref": "#/definitions/dto.AddrRuleOperate" + } + }, + "type": "object" + }, + "dto.AppInstallInfo": { + "properties": { + "id": { + "type": "integer" + }, + "key": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "dto.AppResource": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "dto.AppVersion": { + "properties": { + "detailId": { + "type": "integer" + }, + "dockerCompose": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "dto.BackupInfo": { + "properties": { + "backupPath": { + "type": "string" + }, + "bucket": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "vars": { + "type": "string" + } + }, + "type": "object" + }, + "dto.BackupOperate": { + "properties": { + "accessKey": { + "type": "string" + }, + "backupPath": { + "type": "string" + }, + "bucket": { + "type": "string" + }, + "credential": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "vars": { + "type": "string" + } + }, + "required": [ + "type", + "vars" + ], + "type": "object" + }, + "dto.BackupSearchFile": { + "properties": { + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "dto.BatchDelete": { + "properties": { + "force": { + "type": "boolean" + }, + "names": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "names" + ], + "type": "object" + }, + "dto.BatchDeleteReq": { + "properties": { + "ids": { + "items": { + "type": "integer" + }, + "type": "array" + } + }, + "required": [ + "ids" + ], + "type": "object" + }, + "dto.BatchRuleOperate": { + "properties": { + "rules": { + "items": { + "$ref": "#/definitions/dto.PortRuleOperate" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "dto.BindUser": { + "properties": { + "database": { + "type": "string" + }, + "db": { + "type": "string" + }, + "password": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": [ + "database", + "db", + "password", + "permission", + "username" + ], + "type": "object" + }, + "dto.ChangeDBInfo": { + "properties": { + "database": { + "type": "string" + }, + "from": { + "enum": [ + "local", + "remote" + ], + "type": "string" + }, + "id": { + "type": "integer" + }, + "type": { + "enum": [ + "mysql", + "mariadb", + "postgresql" + ], + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "database", + "from", + "type", + "value" + ], + "type": "object" + }, + "dto.ChangeHostGroup": { + "properties": { + "groupID": { + "type": "integer" + }, + "id": { + "type": "integer" + } + }, + "required": [ + "groupID", + "id" + ], + "type": "object" + }, + "dto.ChangePasswd": { + "properties": { + "passwd": { + "type": "string" + }, + "user": { + "type": "string" + } + }, + "type": "object" + }, + "dto.ChangeRedisPass": { + "properties": { + "database": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "database" + ], + "type": "object" + }, + "dto.ClamBaseInfo": { + "properties": { + "freshIsActive": { + "type": "boolean" + }, + "freshIsExist": { + "type": "boolean" + }, + "freshVersion": { + "type": "string" + }, + "isActive": { + "type": "boolean" + }, + "isExist": { + "type": "boolean" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "dto.ClamCreate": { + "properties": { + "description": { + "type": "string" + }, + "infectedDir": { + "type": "string" + }, + "infectedStrategy": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "spec": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "type": "object" + }, + "dto.ClamDelete": { + "properties": { + "ids": { + "items": { + "type": "integer" + }, + "type": "array" + }, + "removeInfected": { + "type": "boolean" + }, + "removeRecord": { + "type": "boolean" + } + }, + "required": [ + "ids" + ], + "type": "object" + }, + "dto.ClamFileReq": { + "properties": { + "name": { + "type": "string" + }, + "tail": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "dto.ClamLogReq": { + "properties": { + "clamName": { + "type": "string" + }, + "recordName": { + "type": "string" + }, + "tail": { + "type": "string" + } + }, + "type": "object" + }, + "dto.ClamLogSearch": { + "properties": { + "clamID": { + "type": "integer" + }, + "endTime": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "startTime": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "dto.ClamUpdate": { + "properties": { + "description": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "infectedDir": { + "type": "string" + }, + "infectedStrategy": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "spec": { + "type": "string" + } + }, + "type": "object" + }, + "dto.ClamUpdateStatus": { + "properties": { + "id": { + "type": "integer" + }, + "status": { + "type": "string" + } + }, + "type": "object" + }, + "dto.Clean": { + "properties": { + "name": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "treeType": { + "type": "string" + } + }, + "type": "object" + }, + "dto.CommandInfo": { + "properties": { + "command": { + "type": "string" + }, + "groupBelong": { + "type": "string" + }, + "groupID": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "dto.CommandOperate": { + "properties": { + "command": { + "type": "string" + }, + "groupBelong": { + "type": "string" + }, + "groupID": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "required": [ + "command", + "name" + ], + "type": "object" + }, + "dto.CommonBackup": { + "properties": { + "detailName": { + "type": "string" + }, + "name": { + "type": "string" + }, + "secret": { + "type": "string" + }, + "type": { + "enum": [ + "app", + "mysql", + "mariadb", + "redis", + "website", + "postgresql" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "dto.CommonRecover": { + "properties": { + "detailName": { + "type": "string" + }, + "file": { + "type": "string" + }, + "name": { + "type": "string" + }, + "secret": { + "type": "string" + }, + "source": { + "enum": [ + "OSS", + "S3", + "SFTP", + "MINIO", + "LOCAL", + "COS", + "KODO", + "OneDrive", + "WebDAV" + ], + "type": "string" + }, + "type": { + "enum": [ + "app", + "mysql", + "mariadb", + "redis", + "website", + "postgresql" + ], + "type": "string" + } + }, + "required": [ + "source", + "type" + ], + "type": "object" + }, + "dto.ComposeCreate": { + "properties": { + "file": { + "type": "string" + }, + "from": { + "enum": [ + "edit", + "path", + "template" + ], + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "template": { + "type": "integer" + } + }, + "required": [ + "from" + ], + "type": "object" + }, + "dto.ComposeOperation": { + "properties": { + "name": { + "type": "string" + }, + "operation": { + "enum": [ + "start", + "stop", + "down" + ], + "type": "string" + }, + "path": { + "type": "string" + }, + "withFile": { + "type": "boolean" + } + }, + "required": [ + "name", + "operation", + "path" + ], + "type": "object" + }, + "dto.ComposeTemplateCreate": { + "properties": { + "content": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "dto.ComposeTemplateInfo": { + "properties": { + "content": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "dto.ComposeTemplateUpdate": { + "properties": { + "content": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "integer" + } + }, + "type": "object" + }, + "dto.ComposeUpdate": { + "properties": { + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "content", + "name", + "path" + ], + "type": "object" + }, + "dto.ContainerCommit": { + "properties": { + "author": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "containerID": { + "type": "string" + }, + "containerName": { + "type": "string" + }, + "newImageName": { + "type": "string" + }, + "pause": { + "type": "boolean" + } + }, + "required": [ + "containerID" + ], + "type": "object" + }, + "dto.ContainerListStats": { + "properties": { + "containerID": { + "type": "string" + }, + "cpuPercent": { + "type": "number" + }, + "cpuTotalUsage": { + "type": "integer" + }, + "memoryCache": { + "type": "integer" + }, + "memoryLimit": { + "type": "integer" + }, + "memoryPercent": { + "type": "number" + }, + "memoryUsage": { + "type": "integer" + }, + "percpuUsage": { + "type": "integer" + }, + "systemUsage": { + "type": "integer" + } + }, + "type": "object" + }, + "dto.ContainerOperate": { + "properties": { + "autoRemove": { + "type": "boolean" + }, + "cmd": { + "items": { + "type": "string" + }, + "type": "array" + }, + "containerID": { + "type": "string" + }, + "cpuShares": { + "type": "integer" + }, + "entrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "env": { + "items": { + "type": "string" + }, + "type": "array" + }, + "exposedPorts": { + "items": { + "$ref": "#/definitions/dto.PortHelper" + }, + "type": "array" + }, + "forcePull": { + "type": "boolean" + }, + "image": { + "type": "string" + }, + "ipv4": { + "type": "string" + }, + "ipv6": { + "type": "string" + }, + "labels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "memory": { + "type": "number" + }, + "name": { + "type": "string" + }, + "nanoCPUs": { + "type": "number" + }, + "network": { + "type": "string" + }, + "openStdin": { + "type": "boolean" + }, + "privileged": { + "type": "boolean" + }, + "publishAllPorts": { + "type": "boolean" + }, + "restartPolicy": { + "type": "string" + }, + "tty": { + "type": "boolean" + }, + "volumes": { + "items": { + "$ref": "#/definitions/dto.VolumeHelper" + }, + "type": "array" + } + }, + "required": [ + "image", + "name" + ], + "type": "object" + }, + "dto.ContainerOperation": { + "properties": { + "names": { + "items": { + "type": "string" + }, + "type": "array" + }, + "operation": { + "enum": [ + "start", + "stop", + "restart", + "kill", + "pause", + "unpause", + "remove" + ], + "type": "string" + } + }, + "required": [ + "names", + "operation" + ], + "type": "object" + }, + "dto.ContainerPrune": { + "properties": { + "pruneType": { + "enum": [ + "container", + "image", + "volume", + "network", + "buildcache" + ], + "type": "string" + }, + "withTagAll": { + "type": "boolean" + } + }, + "required": [ + "pruneType" + ], + "type": "object" + }, + "dto.ContainerPruneReport": { + "properties": { + "deletedNumber": { + "type": "integer" + }, + "spaceReclaimed": { + "type": "integer" + } + }, + "type": "object" + }, + "dto.ContainerRename": { + "properties": { + "name": { + "type": "string" + }, + "newName": { + "type": "string" + } + }, + "required": [ + "name", + "newName" + ], + "type": "object" + }, + "dto.ContainerStats": { + "properties": { + "cache": { + "type": "number" + }, + "cpuPercent": { + "type": "number" + }, + "ioRead": { + "type": "number" + }, + "ioWrite": { + "type": "number" + }, + "memory": { + "type": "number" + }, + "networkRX": { + "type": "number" + }, + "networkTX": { + "type": "number" + }, + "shotTime": { + "type": "string" + } + }, + "type": "object" + }, + "dto.ContainerUpgrade": { + "properties": { + "forcePull": { + "type": "boolean" + }, + "image": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "image", + "name" + ], + "type": "object" + }, + "dto.CronjobBatchDelete": { + "properties": { + "cleanData": { + "type": "boolean" + }, + "ids": { + "items": { + "type": "integer" + }, + "type": "array" + } + }, + "required": [ + "ids" + ], + "type": "object" + }, + "dto.CronjobClean": { + "properties": { + "cleanData": { + "type": "boolean" + }, + "cronjobID": { + "type": "integer" + }, + "isDelete": { + "type": "boolean" + } + }, + "required": [ + "cronjobID" + ], + "type": "object" + }, + "dto.CronjobCreate": { + "properties": { + "appID": { + "type": "string" + }, + "backupAccounts": { + "type": "string" + }, + "command": { + "type": "string" + }, + "containerName": { + "type": "string" + }, + "dbName": { + "type": "string" + }, + "dbType": { + "type": "string" + }, + "defaultDownload": { + "type": "string" + }, + "exclusionRules": { + "type": "string" + }, + "name": { + "type": "string" + }, + "retainCopies": { + "minimum": 1, + "type": "integer" + }, + "script": { + "type": "string" + }, + "secret": { + "type": "string" + }, + "sourceDir": { + "type": "string" + }, + "spec": { + "type": "string" + }, + "type": { + "type": "string" + }, + "url": { + "type": "string" + }, + "website": { + "type": "string" + } + }, + "required": [ + "name", + "spec", + "type" + ], + "type": "object" + }, + "dto.CronjobDownload": { + "properties": { + "backupAccountID": { + "type": "integer" + }, + "recordID": { + "type": "integer" + } + }, + "required": [ + "backupAccountID", + "recordID" + ], + "type": "object" + }, + "dto.CronjobUpdate": { + "properties": { + "appID": { + "type": "string" + }, + "backupAccounts": { + "type": "string" + }, + "command": { + "type": "string" + }, + "containerName": { + "type": "string" + }, + "dbName": { + "type": "string" + }, + "dbType": { + "type": "string" + }, + "defaultDownload": { + "type": "string" + }, + "exclusionRules": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "retainCopies": { + "minimum": 1, + "type": "integer" + }, + "script": { + "type": "string" + }, + "secret": { + "type": "string" + }, + "sourceDir": { + "type": "string" + }, + "spec": { + "type": "string" + }, + "url": { + "type": "string" + }, + "website": { + "type": "string" + } + }, + "required": [ + "id", + "name", + "spec" + ], + "type": "object" + }, + "dto.CronjobUpdateStatus": { + "properties": { + "id": { + "type": "integer" + }, + "status": { + "type": "string" + } + }, + "required": [ + "id", + "status" + ], + "type": "object" + }, + "dto.DBBaseInfo": { + "properties": { + "containerName": { + "type": "string" + }, + "name": { + "type": "string" + }, + "port": { + "type": "integer" + } + }, + "type": "object" + }, + "dto.DBConfUpdateByFile": { + "properties": { + "database": { + "type": "string" + }, + "file": { + "type": "string" + }, + "type": { + "enum": [ + "mysql", + "mariadb", + "postgresql", + "redis" + ], + "type": "string" + } + }, + "required": [ + "database", + "type" + ], + "type": "object" + }, + "dto.DaemonJsonConf": { + "properties": { + "cgroupDriver": { + "type": "string" + }, + "experimental": { + "type": "boolean" + }, + "fixedCidrV6": { + "type": "string" + }, + "insecureRegistries": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ip6Tables": { + "type": "boolean" + }, + "iptables": { + "type": "boolean" + }, + "ipv6": { + "type": "boolean" + }, + "isSwarm": { + "type": "boolean" + }, + "liveRestore": { + "type": "boolean" + }, + "logMaxFile": { + "type": "string" + }, + "logMaxSize": { + "type": "string" + }, + "registryMirrors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "dto.DaemonJsonUpdateByFile": { + "properties": { + "file": { + "type": "string" + } + }, + "type": "object" + }, + "dto.DashboardBase": { + "properties": { + "appInstalledNumber": { + "type": "integer" + }, + "cpuCores": { + "type": "integer" + }, + "cpuLogicalCores": { + "type": "integer" + }, + "cpuModelName": { + "type": "string" + }, + "cronjobNumber": { + "type": "integer" + }, + "currentInfo": { + "$ref": "#/definitions/dto.DashboardCurrent" + }, + "databaseNumber": { + "type": "integer" + }, + "hostname": { + "type": "string" + }, + "kernelArch": { + "type": "string" + }, + "kernelVersion": { + "type": "string" + }, + "os": { + "type": "string" + }, + "platform": { + "type": "string" + }, + "platformFamily": { + "type": "string" + }, + "platformVersion": { + "type": "string" + }, + "virtualizationSystem": { + "type": "string" + }, + "websiteNumber": { + "type": "integer" + } + }, + "type": "object" + }, + "dto.DashboardCurrent": { + "properties": { + "cpuPercent": { + "items": { + "type": "number" + }, + "type": "array" + }, + "cpuTotal": { + "type": "integer" + }, + "cpuUsed": { + "type": "number" + }, + "cpuUsedPercent": { + "type": "number" + }, + "diskData": { + "items": { + "$ref": "#/definitions/dto.DiskInfo" + }, + "type": "array" + }, + "gpuData": { + "items": { + "$ref": "#/definitions/dto.GPUInfo" + }, + "type": "array" + }, + "ioCount": { + "type": "integer" + }, + "ioReadBytes": { + "type": "integer" + }, + "ioReadTime": { + "type": "integer" + }, + "ioWriteBytes": { + "type": "integer" + }, + "ioWriteTime": { + "type": "integer" + }, + "load1": { + "type": "number" + }, + "load15": { + "type": "number" + }, + "load5": { + "type": "number" + }, + "loadUsagePercent": { + "type": "number" + }, + "memoryAvailable": { + "type": "integer" + }, + "memoryTotal": { + "type": "integer" + }, + "memoryUsed": { + "type": "integer" + }, + "memoryUsedPercent": { + "type": "number" + }, + "netBytesRecv": { + "type": "integer" + }, + "netBytesSent": { + "type": "integer" + }, + "procs": { + "type": "integer" + }, + "shotTime": { + "type": "string" + }, + "swapMemoryAvailable": { + "type": "integer" + }, + "swapMemoryTotal": { + "type": "integer" + }, + "swapMemoryUsed": { + "type": "integer" + }, + "swapMemoryUsedPercent": { + "type": "number" + }, + "timeSinceUptime": { + "type": "string" + }, + "uptime": { + "type": "integer" + } + }, + "type": "object" + }, + "dto.DatabaseCreate": { + "properties": { + "address": { + "type": "string" + }, + "clientCert": { + "type": "string" + }, + "clientKey": { + "type": "string" + }, + "description": { + "type": "string" + }, + "from": { + "enum": [ + "local", + "remote" + ], + "type": "string" + }, + "name": { + "maxLength": 256, + "type": "string" + }, + "password": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "rootCert": { + "type": "string" + }, + "skipVerify": { + "type": "boolean" + }, + "ssl": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "username": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "from", + "name", + "type", + "username", + "version" + ], + "type": "object" + }, + "dto.DatabaseDelete": { + "properties": { + "deleteBackup": { + "type": "boolean" + }, + "forceDelete": { + "type": "boolean" + }, + "id": { + "type": "integer" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "dto.DatabaseInfo": { + "properties": { + "address": { + "type": "string" + }, + "clientCert": { + "type": "string" + }, + "clientKey": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "from": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "name": { + "maxLength": 256, + "type": "string" + }, + "password": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "rootCert": { + "type": "string" + }, + "skipVerify": { + "type": "boolean" + }, + "ssl": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "username": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "dto.DatabaseItem": { + "properties": { + "database": { + "type": "string" + }, + "from": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "dto.DatabaseOption": { + "properties": { + "address": { + "type": "string" + }, + "database": { + "type": "string" + }, + "from": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "dto.DatabaseSearch": { + "properties": { + "info": { + "type": "string" + }, + "order": { + "enum": [ + "null", + "ascending", + "descending" + ], + "type": "string" + }, + "orderBy": { + "enum": [ + "name", + "created_at" + ], + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "required": [ + "order", + "orderBy", + "page", + "pageSize" + ], + "type": "object" + }, + "dto.DatabaseUpdate": { + "properties": { + "address": { + "type": "string" + }, + "clientCert": { + "type": "string" + }, + "clientKey": { + "type": "string" + }, + "description": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "password": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "rootCert": { + "type": "string" + }, + "skipVerify": { + "type": "boolean" + }, + "ssl": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "username": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "type", + "username", + "version" + ], + "type": "object" + }, + "dto.DeviceBaseInfo": { + "properties": { + "dns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hostname": { + "type": "string" + }, + "hosts": { + "items": { + "$ref": "#/definitions/dto.HostHelper" + }, + "type": "array" + }, + "localTime": { + "type": "string" + }, + "maxSize": { + "type": "integer" + }, + "ntp": { + "type": "string" + }, + "swapDetails": { + "items": { + "$ref": "#/definitions/dto.SwapHelper" + }, + "type": "array" + }, + "swapMemoryAvailable": { + "type": "integer" + }, + "swapMemoryTotal": { + "type": "integer" + }, + "swapMemoryUsed": { + "type": "integer" + }, + "timeZone": { + "type": "string" + }, + "user": { + "type": "string" + } + }, + "type": "object" + }, + "dto.DiskInfo": { + "properties": { + "device": { + "type": "string" + }, + "free": { + "type": "integer" + }, + "inodesFree": { + "type": "integer" + }, + "inodesTotal": { + "type": "integer" + }, + "inodesUsed": { + "type": "integer" + }, + "inodesUsedPercent": { + "type": "number" + }, + "path": { + "type": "string" + }, + "total": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "used": { + "type": "integer" + }, + "usedPercent": { + "type": "number" + } + }, + "type": "object" + }, + "dto.DockerOperation": { + "properties": { + "operation": { + "enum": [ + "start", + "restart", + "stop" + ], + "type": "string" + } + }, + "required": [ + "operation" + ], + "type": "object" + }, + "dto.DownloadRecord": { + "properties": { + "fileDir": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "source": { + "enum": [ + "OSS", + "S3", + "SFTP", + "MINIO", + "LOCAL", + "COS", + "KODO", + "OneDrive", + "WebDAV" + ], + "type": "string" + } + }, + "required": [ + "fileDir", + "fileName", + "source" + ], + "type": "object" + }, + "dto.Fail2BanBaseInfo": { + "properties": { + "banAction": { + "type": "string" + }, + "banTime": { + "type": "string" + }, + "findTime": { + "type": "string" + }, + "isActive": { + "type": "boolean" + }, + "isEnable": { + "type": "boolean" + }, + "isExist": { + "type": "boolean" + }, + "logPath": { + "type": "string" + }, + "maxRetry": { + "type": "integer" + }, + "port": { + "type": "integer" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "dto.Fail2BanSearch": { + "properties": { + "status": { + "enum": [ + "banned", + "ignore" + ], + "type": "string" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "dto.Fail2BanUpdate": { + "properties": { + "key": { + "enum": [ + "port", + "bantime", + "findtime", + "maxretry", + "banaction", + "logpath", + "port" + ], + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "dto.FirewallBaseInfo": { + "properties": { + "name": { + "type": "string" + }, + "pingStatus": { + "type": "string" + }, + "status": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "dto.FirewallOperation": { + "properties": { + "operation": { + "enum": [ + "start", + "stop", + "restart", + "disablePing", + "enablePing" + ], + "type": "string" + } + }, + "required": [ + "operation" + ], + "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": { + "items": { + "properties": { + "num": { + "type": "string" + }, + "operation": { + "enum": [ + "add", + "remove" + ], + "type": "string" + }, + "port": { + "type": "string" + }, + "protocol": { + "enum": [ + "tcp", + "udp", + "tcp/udp" + ], + "type": "string" + }, + "targetIP": { + "type": "string" + }, + "targetPort": { + "type": "string" + } + }, + "required": [ + "operation", + "port", + "protocol", + "targetPort" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "dto.FtpBaseInfo": { + "properties": { + "isActive": { + "type": "boolean" + }, + "isExist": { + "type": "boolean" + } + }, + "type": "object" + }, + "dto.FtpCreate": { + "properties": { + "description": { + "type": "string" + }, + "password": { + "type": "string" + }, + "path": { + "type": "string" + }, + "user": { + "type": "string" + } + }, + "required": [ + "password", + "path", + "user" + ], + "type": "object" + }, + "dto.FtpLogSearch": { + "properties": { + "operation": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "user": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "dto.FtpUpdate": { + "properties": { + "description": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "password": { + "type": "string" + }, + "path": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "required": [ + "password", + "path" + ], + "type": "object" + }, + "dto.GPUInfo": { + "properties": { + "fanSpeed": { + "type": "string" + }, + "gpuUtil": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "maxPowerLimit": { + "type": "string" + }, + "memTotal": { + "type": "string" + }, + "memUsed": { + "type": "string" + }, + "memoryUsage": { + "type": "string" + }, + "performanceState": { + "type": "string" + }, + "powerDraw": { + "type": "string" + }, + "powerUsage": { + "type": "string" + }, + "productName": { + "type": "string" + }, + "temperature": { + "type": "string" + } + }, + "type": "object" + }, + "dto.GenerateLoad": { + "properties": { + "encryptionMode": { + "enum": [ + "rsa", + "ed25519", + "ecdsa", + "dsa" + ], + "type": "string" + } + }, + "required": [ + "encryptionMode" + ], + "type": "object" + }, + "dto.GenerateSSH": { + "properties": { + "encryptionMode": { + "enum": [ + "rsa", + "ed25519", + "ecdsa", + "dsa" + ], + "type": "string" + }, + "password": { + "type": "string" + } + }, + "required": [ + "encryptionMode" + ], + "type": "object" + }, + "dto.GroupCreate": { + "properties": { + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + }, + "dto.GroupInfo": { + "properties": { + "id": { + "type": "integer" + }, + "isDefault": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "dto.GroupSearch": { + "properties": { + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "dto.GroupUpdate": { + "properties": { + "id": { + "type": "integer" + }, + "isDefault": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "dto.HostConnTest": { + "properties": { + "addr": { + "type": "string" + }, + "authMode": { + "enum": [ + "password", + "key" + ], + "type": "string" + }, + "passPhrase": { + "type": "string" + }, + "password": { + "type": "string" + }, + "port": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "privateKey": { + "type": "string" + }, + "user": { + "type": "string" + } + }, + "required": [ + "addr", + "port", + "user" + ], + "type": "object" + }, + "dto.HostHelper": { + "properties": { + "host": { + "type": "string" + }, + "ip": { + "type": "string" + } + }, + "type": "object" + }, + "dto.HostOperate": { + "properties": { + "addr": { + "type": "string" + }, + "authMode": { + "enum": [ + "password", + "key" + ], + "type": "string" + }, + "description": { + "type": "string" + }, + "groupID": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "passPhrase": { + "type": "string" + }, + "password": { + "type": "string" + }, + "port": { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + "privateKey": { + "type": "string" + }, + "rememberPassword": { + "type": "boolean" + }, + "user": { + "type": "string" + } + }, + "required": [ + "addr", + "port", + "user" + ], + "type": "object" + }, + "dto.HostTree": { + "properties": { + "children": { + "items": { + "$ref": "#/definitions/dto.TreeChild" + }, + "type": "array" + }, + "id": { + "type": "integer" + }, + "label": { + "type": "string" + } + }, + "type": "object" + }, + "dto.ImageBuild": { + "properties": { + "dockerfile": { + "type": "string" + }, + "from": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "dockerfile", + "from", + "name" + ], + "type": "object" + }, + "dto.ImageInfo": { + "properties": { + "createdAt": { + "type": "string" + }, + "id": { + "type": "string" + }, + "isUsed": { + "type": "boolean" + }, + "size": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "dto.ImageLoad": { + "properties": { + "path": { + "type": "string" + } + }, + "required": [ + "path" + ], + "type": "object" + }, + "dto.ImagePull": { + "properties": { + "imageName": { + "type": "string" + }, + "repoID": { + "type": "integer" + } + }, + "required": [ + "imageName" + ], + "type": "object" + }, + "dto.ImagePush": { + "properties": { + "name": { + "type": "string" + }, + "repoID": { + "type": "integer" + }, + "tagName": { + "type": "string" + } + }, + "required": [ + "name", + "repoID", + "tagName" + ], + "type": "object" + }, + "dto.ImageRepoDelete": { + "properties": { + "ids": { + "items": { + "type": "integer" + }, + "type": "array" + } + }, + "required": [ + "ids" + ], + "type": "object" + }, + "dto.ImageRepoOption": { + "properties": { + "downloadUrl": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "dto.ImageRepoUpdate": { + "properties": { + "auth": { + "type": "boolean" + }, + "downloadUrl": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "password": { + "maxLength": 256, + "type": "string" + }, + "protocol": { + "type": "string" + }, + "username": { + "maxLength": 256, + "type": "string" + } + }, + "type": "object" + }, + "dto.ImageSave": { + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "tagName": { + "type": "string" + } + }, + "required": [ + "name", + "path", + "tagName" + ], + "type": "object" + }, + "dto.ImageTag": { + "properties": { + "sourceID": { + "type": "string" + }, + "targetName": { + "type": "string" + } + }, + "required": [ + "sourceID", + "targetName" + ], + "type": "object" + }, + "dto.InspectReq": { + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "id", + "type" + ], + "type": "object" + }, + "dto.LogOption": { + "properties": { + "logMaxFile": { + "type": "string" + }, + "logMaxSize": { + "type": "string" + } + }, + "type": "object" + }, + "dto.MonitorSearch": { + "properties": { + "endTime": { + "type": "string" + }, + "info": { + "type": "string" + }, + "param": { + "enum": [ + "all", + "cpu", + "memory", + "load", + "io", + "network" + ], + "type": "string" + }, + "startTime": { + "type": "string" + } + }, + "required": [ + "param" + ], + "type": "object" + }, + "dto.MysqlDBCreate": { + "properties": { + "database": { + "type": "string" + }, + "description": { + "type": "string" + }, + "format": { + "enum": [ + "utf8mb4", + "utf8", + "gbk", + "big5" + ], + "type": "string" + }, + "from": { + "enum": [ + "local", + "remote" + ], + "type": "string" + }, + "name": { + "type": "string" + }, + "password": { + "type": "string" + }, + "permission": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": [ + "database", + "format", + "from", + "name", + "password", + "permission", + "username" + ], + "type": "object" + }, + "dto.MysqlDBDelete": { + "properties": { + "database": { + "type": "string" + }, + "deleteBackup": { + "type": "boolean" + }, + "forceDelete": { + "type": "boolean" + }, + "id": { + "type": "integer" + }, + "type": { + "enum": [ + "mysql", + "mariadb" + ], + "type": "string" + } + }, + "required": [ + "database", + "id", + "type" + ], + "type": "object" + }, + "dto.MysqlDBDeleteCheck": { + "properties": { + "database": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "type": { + "enum": [ + "mysql", + "mariadb" + ], + "type": "string" + } + }, + "required": [ + "database", + "id", + "type" + ], + "type": "object" + }, + "dto.MysqlDBSearch": { + "properties": { + "database": { + "type": "string" + }, + "info": { + "type": "string" + }, + "order": { + "enum": [ + "null", + "ascending", + "descending" + ], + "type": "string" + }, + "orderBy": { + "enum": [ + "name", + "created_at" + ], + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "database", + "order", + "orderBy", + "page", + "pageSize" + ], + "type": "object" + }, + "dto.MysqlLoadDB": { + "properties": { + "database": { + "type": "string" + }, + "from": { + "enum": [ + "local", + "remote" + ], + "type": "string" + }, + "type": { + "enum": [ + "mysql", + "mariadb" + ], + "type": "string" + } + }, + "required": [ + "database", + "from", + "type" + ], + "type": "object" + }, + "dto.MysqlOption": { + "properties": { + "database": { + "type": "string" + }, + "from": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "dto.MysqlStatus": { + "properties": { + "Aborted_clients": { + "type": "string" + }, + "Aborted_connects": { + "type": "string" + }, + "Bytes_received": { + "type": "string" + }, + "Bytes_sent": { + "type": "string" + }, + "Com_commit": { + "type": "string" + }, + "Com_rollback": { + "type": "string" + }, + "Connections": { + "type": "string" + }, + "Created_tmp_disk_tables": { + "type": "string" + }, + "Created_tmp_tables": { + "type": "string" + }, + "File": { + "type": "string" + }, + "Innodb_buffer_pool_pages_dirty": { + "type": "string" + }, + "Innodb_buffer_pool_read_requests": { + "type": "string" + }, + "Innodb_buffer_pool_reads": { + "type": "string" + }, + "Key_read_requests": { + "type": "string" + }, + "Key_reads": { + "type": "string" + }, + "Key_write_requests": { + "type": "string" + }, + "Key_writes": { + "type": "string" + }, + "Max_used_connections": { + "type": "string" + }, + "Open_tables": { + "type": "string" + }, + "Opened_files": { + "type": "string" + }, + "Opened_tables": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "Qcache_hits": { + "type": "string" + }, + "Qcache_inserts": { + "type": "string" + }, + "Questions": { + "type": "string" + }, + "Run": { + "type": "string" + }, + "Select_full_join": { + "type": "string" + }, + "Select_range_check": { + "type": "string" + }, + "Sort_merge_passes": { + "type": "string" + }, + "Table_locks_waited": { + "type": "string" + }, + "Threads_cached": { + "type": "string" + }, + "Threads_connected": { + "type": "string" + }, + "Threads_created": { + "type": "string" + }, + "Threads_running": { + "type": "string" + }, + "Uptime": { + "type": "string" + } + }, + "type": "object" + }, + "dto.MysqlVariables": { + "properties": { + "binlog_cache_size": { + "type": "string" + }, + "innodb_buffer_pool_size": { + "type": "string" + }, + "innodb_log_buffer_size": { + "type": "string" + }, + "join_buffer_size": { + "type": "string" + }, + "key_buffer_size": { + "type": "string" + }, + "long_query_time": { + "type": "string" + }, + "max_connections": { + "type": "string" + }, + "max_heap_table_size": { + "type": "string" + }, + "query_cache_size": { + "type": "string" + }, + "query_cache_type": { + "type": "string" + }, + "read_buffer_size": { + "type": "string" + }, + "read_rnd_buffer_size": { + "type": "string" + }, + "slow_query_log": { + "type": "string" + }, + "sort_buffer_size": { + "type": "string" + }, + "table_open_cache": { + "type": "string" + }, + "thread_cache_size": { + "type": "string" + }, + "thread_stack": { + "type": "string" + }, + "tmp_table_size": { + "type": "string" + } + }, + "type": "object" + }, + "dto.MysqlVariablesUpdate": { + "properties": { + "database": { + "type": "string" + }, + "type": { + "enum": [ + "mysql", + "mariadb" + ], + "type": "string" + }, + "variables": { + "items": { + "$ref": "#/definitions/dto.MysqlVariablesUpdateHelper" + }, + "type": "array" + } + }, + "required": [ + "database", + "type" + ], + "type": "object" + }, + "dto.MysqlVariablesUpdateHelper": { + "properties": { + "param": { + "type": "string" + }, + "value": {} + }, + "type": "object" + }, + "dto.NetworkCreate": { + "properties": { + "auxAddress": { + "items": { + "$ref": "#/definitions/dto.SettingUpdate" + }, + "type": "array" + }, + "auxAddressV6": { + "items": { + "$ref": "#/definitions/dto.SettingUpdate" + }, + "type": "array" + }, + "driver": { + "type": "string" + }, + "gateway": { + "type": "string" + }, + "gatewayV6": { + "type": "string" + }, + "ipRange": { + "type": "string" + }, + "ipRangeV6": { + "type": "string" + }, + "ipv4": { + "type": "boolean" + }, + "ipv6": { + "type": "boolean" + }, + "labels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "options": { + "items": { + "type": "string" + }, + "type": "array" + }, + "subnet": { + "type": "string" + }, + "subnetV6": { + "type": "string" + } + }, + "required": [ + "driver", + "name" + ], + "type": "object" + }, + "dto.NginxKey": { + "enum": [ + "index", + "limit-conn", + "ssl", + "cache", + "http-per", + "proxy-cache" + ], + "type": "string", + "x-enum-varnames": [ + "Index", + "LimitConn", + "SSL", + "CACHE", + "HttpPer", + "ProxyCache" + ] + }, + "dto.OneDriveInfo": { + "properties": { + "client_id": { + "type": "string" + }, + "client_secret": { + "type": "string" + }, + "redirect_uri": { + "type": "string" + } + }, + "type": "object" + }, + "dto.Operate": { + "properties": { + "operation": { + "type": "string" + } + }, + "required": [ + "operation" + ], + "type": "object" + }, + "dto.OperateByID": { + "properties": { + "id": { + "type": "integer" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "dto.OperationWithName": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "dto.OperationWithNameAndType": { + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "dto.Options": { + "properties": { + "option": { + "type": "string" + } + }, + "type": "object" + }, + "dto.OsInfo": { + "properties": { + "diskSize": { + "type": "integer" + }, + "kernelArch": { + "type": "string" + }, + "kernelVersion": { + "type": "string" + }, + "os": { + "type": "string" + }, + "platform": { + "type": "string" + }, + "platformFamily": { + "type": "string" + } + }, + "type": "object" + }, + "dto.PageContainer": { + "properties": { + "excludeAppStore": { + "type": "boolean" + }, + "filters": { + "type": "string" + }, + "name": { + "type": "string" + }, + "order": { + "enum": [ + "null", + "ascending", + "descending" + ], + "type": "string" + }, + "orderBy": { + "enum": [ + "name", + "state", + "created_at" + ], + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "state": { + "enum": [ + "all", + "created", + "running", + "paused", + "restarting", + "removing", + "exited", + "dead" + ], + "type": "string" + } + }, + "required": [ + "order", + "orderBy", + "page", + "pageSize", + "state" + ], + "type": "object" + }, + "dto.PageCronjob": { + "properties": { + "info": { + "type": "string" + }, + "order": { + "enum": [ + "null", + "ascending", + "descending" + ], + "type": "string" + }, + "orderBy": { + "enum": [ + "name", + "status", + "created_at" + ], + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "order", + "orderBy", + "page", + "pageSize" + ], + "type": "object" + }, + "dto.PageInfo": { + "properties": { + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "dto.PageResult": { + "properties": { + "items": {}, + "total": { + "type": "integer" + } + }, + "type": "object" + }, + "dto.PortHelper": { + "properties": { + "containerPort": { + "type": "string" + }, + "hostIP": { + "type": "string" + }, + "hostPort": { + "type": "string" + }, + "protocol": { + "type": "string" + } + }, + "type": "object" + }, + "dto.PortRuleOperate": { + "properties": { + "address": { + "type": "string" + }, + "description": { + "type": "string" + }, + "operation": { + "enum": [ + "add", + "remove" + ], + "type": "string" + }, + "port": { + "type": "string" + }, + "protocol": { + "enum": [ + "tcp", + "udp", + "tcp/udp" + ], + "type": "string" + }, + "strategy": { + "enum": [ + "accept", + "drop" + ], + "type": "string" + } + }, + "required": [ + "operation", + "port", + "protocol", + "strategy" + ], + "type": "object" + }, + "dto.PortRuleUpdate": { + "properties": { + "newRule": { + "$ref": "#/definitions/dto.PortRuleOperate" + }, + "oldRule": { + "$ref": "#/definitions/dto.PortRuleOperate" + } + }, + "type": "object" + }, + "dto.PostgresqlBindUser": { + "properties": { + "database": { + "type": "string" + }, + "name": { + "type": "string" + }, + "password": { + "type": "string" + }, + "superUser": { + "type": "boolean" + }, + "username": { + "type": "string" + } + }, + "required": [ + "database", + "name", + "password", + "username" + ], + "type": "object" + }, + "dto.PostgresqlDBCreate": { + "properties": { + "database": { + "type": "string" + }, + "description": { + "type": "string" + }, + "format": { + "type": "string" + }, + "from": { + "enum": [ + "local", + "remote" + ], + "type": "string" + }, + "name": { + "type": "string" + }, + "password": { + "type": "string" + }, + "superUser": { + "type": "boolean" + }, + "username": { + "type": "string" + } + }, + "required": [ + "database", + "from", + "name", + "password", + "username" + ], + "type": "object" + }, + "dto.PostgresqlDBDelete": { + "properties": { + "database": { + "type": "string" + }, + "deleteBackup": { + "type": "boolean" + }, + "forceDelete": { + "type": "boolean" + }, + "id": { + "type": "integer" + }, + "type": { + "enum": [ + "postgresql" + ], + "type": "string" + } + }, + "required": [ + "database", + "id", + "type" + ], + "type": "object" + }, + "dto.PostgresqlDBDeleteCheck": { + "properties": { + "database": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "type": { + "enum": [ + "postgresql" + ], + "type": "string" + } + }, + "required": [ + "database", + "id", + "type" + ], + "type": "object" + }, + "dto.PostgresqlDBSearch": { + "properties": { + "database": { + "type": "string" + }, + "info": { + "type": "string" + }, + "order": { + "enum": [ + "null", + "ascending", + "descending" + ], + "type": "string" + }, + "orderBy": { + "enum": [ + "name", + "created_at" + ], + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "database", + "order", + "orderBy", + "page", + "pageSize" + ], + "type": "object" + }, + "dto.PostgresqlLoadDB": { + "properties": { + "database": { + "type": "string" + }, + "from": { + "enum": [ + "local", + "remote" + ], + "type": "string" + }, + "type": { + "enum": [ + "postgresql" + ], + "type": "string" + } + }, + "required": [ + "database", + "from", + "type" + ], + "type": "object" + }, + "dto.RecordSearch": { + "properties": { + "detailName": { + "type": "string" + }, + "name": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize", + "type" + ], + "type": "object" + }, + "dto.RecordSearchByCronjob": { + "properties": { + "cronjobID": { + "type": "integer" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "cronjobID", + "page", + "pageSize" + ], + "type": "object" + }, + "dto.RedisCommand": { + "properties": { + "command": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "dto.RedisConf": { + "properties": { + "containerName": { + "type": "string" + }, + "database": { + "type": "string" + }, + "maxclients": { + "type": "string" + }, + "maxmemory": { + "type": "string" + }, + "name": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "requirepass": { + "type": "string" + }, + "timeout": { + "type": "string" + } + }, + "required": [ + "database" + ], + "type": "object" + }, + "dto.RedisConfPersistenceUpdate": { + "properties": { + "appendfsync": { + "type": "string" + }, + "appendonly": { + "type": "string" + }, + "database": { + "type": "string" + }, + "save": { + "type": "string" + }, + "type": { + "enum": [ + "aof", + "rbd" + ], + "type": "string" + } + }, + "required": [ + "database", + "type" + ], + "type": "object" + }, + "dto.RedisConfUpdate": { + "properties": { + "database": { + "type": "string" + }, + "maxclients": { + "type": "string" + }, + "maxmemory": { + "type": "string" + }, + "timeout": { + "type": "string" + } + }, + "required": [ + "database" + ], + "type": "object" + }, + "dto.RedisPersistence": { + "properties": { + "appendfsync": { + "type": "string" + }, + "appendonly": { + "type": "string" + }, + "database": { + "type": "string" + }, + "save": { + "type": "string" + } + }, + "required": [ + "database" + ], + "type": "object" + }, + "dto.RedisStatus": { + "properties": { + "connected_clients": { + "type": "string" + }, + "database": { + "type": "string" + }, + "instantaneous_ops_per_sec": { + "type": "string" + }, + "keyspace_hits": { + "type": "string" + }, + "keyspace_misses": { + "type": "string" + }, + "latest_fork_usec": { + "type": "string" + }, + "mem_fragmentation_ratio": { + "type": "string" + }, + "tcp_port": { + "type": "string" + }, + "total_commands_processed": { + "type": "string" + }, + "total_connections_received": { + "type": "string" + }, + "uptime_in_days": { + "type": "string" + }, + "used_memory": { + "type": "string" + }, + "used_memory_peak": { + "type": "string" + }, + "used_memory_rss": { + "type": "string" + } + }, + "required": [ + "database" + ], + "type": "object" + }, + "dto.ResourceLimit": { + "properties": { + "cpu": { + "type": "integer" + }, + "memory": { + "type": "integer" + } + }, + "type": "object" + }, + "dto.RuleSearch": { + "properties": { + "info": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "status": { + "type": "string" + }, + "strategy": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize", + "type" + ], + "type": "object" + }, + "dto.SSHConf": { + "properties": { + "file": { + "type": "string" + } + }, + "type": "object" + }, + "dto.SSHHistory": { + "properties": { + "address": { + "type": "string" + }, + "area": { + "type": "string" + }, + "authMode": { + "type": "string" + }, + "date": { + "type": "string" + }, + "dateStr": { + "type": "string" + }, + "message": { + "type": "string" + }, + "port": { + "type": "string" + }, + "status": { + "type": "string" + }, + "user": { + "type": "string" + } + }, + "type": "object" + }, + "dto.SSHInfo": { + "properties": { + "autoStart": { + "type": "boolean" + }, + "listenAddress": { + "type": "string" + }, + "message": { + "type": "string" + }, + "passwordAuthentication": { + "type": "string" + }, + "permitRootLogin": { + "type": "string" + }, + "port": { + "type": "string" + }, + "pubkeyAuthentication": { + "type": "string" + }, + "status": { + "type": "string" + }, + "useDNS": { + "type": "string" + } + }, + "type": "object" + }, + "dto.SSHLog": { + "properties": { + "failedCount": { + "type": "integer" + }, + "logs": { + "items": { + "$ref": "#/definitions/dto.SSHHistory" + }, + "type": "array" + }, + "successfulCount": { + "type": "integer" + }, + "totalCount": { + "type": "integer" + } + }, + "type": "object" + }, + "dto.SSHUpdate": { + "properties": { + "key": { + "type": "string" + }, + "newValue": { + "type": "string" + }, + "oldValue": { + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "dto.SearchClamWithPage": { + "properties": { + "info": { + "type": "string" + }, + "order": { + "enum": [ + "null", + "ascending", + "descending" + ], + "type": "string" + }, + "orderBy": { + "enum": [ + "name", + "status", + "created_at" + ], + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "order", + "orderBy", + "page", + "pageSize" + ], + "type": "object" + }, + "dto.SearchForTree": { + "properties": { + "info": { + "type": "string" + } + }, + "type": "object" + }, + "dto.SearchHostWithPage": { + "properties": { + "groupID": { + "type": "integer" + }, + "info": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "dto.SearchRecord": { + "properties": { + "cronjobID": { + "type": "integer" + }, + "endTime": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "startTime": { + "type": "string" + }, + "status": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "dto.SearchSSHLog": { + "properties": { + "Status": { + "enum": [ + "Success", + "Failed", + "All" + ], + "type": "string" + }, + "info": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "Status", + "page", + "pageSize" + ], + "type": "object" + }, + "dto.SearchTaskLogReq": { + "properties": { + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "dto.SearchWithPage": { + "properties": { + "info": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "dto.SettingInfo": { + "properties": { + "appStoreLastModified": { + "type": "string" + }, + "appStoreSyncStatus": { + "type": "string" + }, + "appStoreVersion": { + "type": "string" + }, + "defaultNetwork": { + "type": "string" + }, + "dockerSockPath": { + "type": "string" + }, + "fileRecycleBin": { + "type": "string" + }, + "lastCleanData": { + "type": "string" + }, + "lastCleanSize": { + "type": "string" + }, + "lastCleanTime": { + "type": "string" + }, + "localTime": { + "type": "string" + }, + "monitorInterval": { + "type": "string" + }, + "monitorStatus": { + "type": "string" + }, + "monitorStoreDays": { + "type": "string" + }, + "ntpSite": { + "type": "string" + }, + "snapshotIgnore": { + "type": "string" + }, + "systemIP": { + "type": "string" + }, + "systemVersion": { + "type": "string" + }, + "timeZone": { + "type": "string" + } + }, + "type": "object" + }, + "dto.SettingUpdate": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "dto.SnapshotBatchDelete": { + "properties": { + "deleteWithFile": { + "type": "boolean" + }, + "ids": { + "items": { + "type": "integer" + }, + "type": "array" + } + }, + "required": [ + "ids" + ], + "type": "object" + }, + "dto.SnapshotCreate": { + "properties": { + "defaultDownload": { + "type": "string" + }, + "description": { + "maxLength": 256, + "type": "string" + }, + "from": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "secret": { + "type": "string" + } + }, + "required": [ + "defaultDownload", + "from" + ], + "type": "object" + }, + "dto.SnapshotImport": { + "properties": { + "description": { + "maxLength": 256, + "type": "string" + }, + "from": { + "type": "string" + }, + "names": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "dto.SnapshotRecover": { + "properties": { + "id": { + "type": "integer" + }, + "isNew": { + "type": "boolean" + }, + "reDownload": { + "type": "boolean" + }, + "secret": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "dto.SwapHelper": { + "properties": { + "isNew": { + "type": "boolean" + }, + "path": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "used": { + "type": "string" + } + }, + "required": [ + "path" + ], + "type": "object" + }, + "dto.TreeChild": { + "properties": { + "id": { + "type": "integer" + }, + "label": { + "type": "string" + } + }, + "type": "object" + }, + "dto.UpdateByFile": { + "properties": { + "file": { + "type": "string" + } + }, + "type": "object" + }, + "dto.UpdateByNameAndFile": { + "properties": { + "file": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "dto.UpdateDescription": { + "properties": { + "description": { + "maxLength": 256, + "type": "string" + }, + "id": { + "type": "integer" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "dto.UpdateFirewallDescription": { + "properties": { + "address": { + "type": "string" + }, + "description": { + "type": "string" + }, + "port": { + "type": "string" + }, + "protocol": { + "type": "string" + }, + "strategy": { + "enum": [ + "accept", + "drop" + ], + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "strategy" + ], + "type": "object" + }, + "dto.VolumeCreate": { + "properties": { + "driver": { + "type": "string" + }, + "labels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "options": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "driver", + "name" + ], + "type": "object" + }, + "dto.VolumeHelper": { + "properties": { + "containerDir": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "sourceDir": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "files.FileInfo": { + "properties": { + "content": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "favoriteID": { + "type": "integer" + }, + "gid": { + "type": "string" + }, + "group": { + "type": "string" + }, + "isDetail": { + "type": "boolean" + }, + "isDir": { + "type": "boolean" + }, + "isHidden": { + "type": "boolean" + }, + "isSymlink": { + "type": "boolean" + }, + "itemTotal": { + "type": "integer" + }, + "items": { + "items": { + "$ref": "#/definitions/files.FileInfo" + }, + "type": "array" + }, + "linkPath": { + "type": "string" + }, + "mimeType": { + "type": "string" + }, + "modTime": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "updateTime": { + "type": "string" + }, + "user": { + "type": "string" + } + }, + "type": "object" + }, + "model.App": { + "properties": { + "createdAt": { + "type": "string" + }, + "crossVersionUpdate": { + "type": "boolean" + }, + "document": { + "type": "string" + }, + "github": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "key": { + "type": "string" + }, + "lastModified": { + "type": "integer" + }, + "limit": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "readMe": { + "type": "string" + }, + "recommend": { + "type": "integer" + }, + "required": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "shortDescEn": { + "type": "string" + }, + "shortDescZh": { + "type": "string" + }, + "status": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "website": { + "type": "string" + } + }, + "type": "object" + }, + "model.AppInstall": { + "properties": { + "app": { + "$ref": "#/definitions/model.App" + }, + "appDetailId": { + "type": "integer" + }, + "appId": { + "type": "integer" + }, + "containerName": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string" + }, + "dockerCompose": { + "type": "string" + }, + "env": { + "type": "string" + }, + "httpPort": { + "type": "integer" + }, + "httpsPort": { + "type": "integer" + }, + "id": { + "type": "integer" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "param": { + "type": "string" + }, + "serviceName": { + "type": "string" + }, + "status": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "model.Tag": { + "properties": { + "createdAt": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "key": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sort": { + "type": "integer" + }, + "updatedAt": { + "type": "string" + } + }, + "type": "object" + }, + "model.Website": { + "properties": { + "IPV6": { + "type": "boolean" + }, + "accessLog": { + "type": "boolean" + }, + "alias": { + "type": "string" + }, + "appInstallId": { + "type": "integer" + }, + "createdAt": { + "type": "string" + }, + "defaultServer": { + "type": "boolean" + }, + "domains": { + "items": { + "$ref": "#/definitions/model.WebsiteDomain" + }, + "type": "array" + }, + "errorLog": { + "type": "boolean" + }, + "expireDate": { + "type": "string" + }, + "ftpId": { + "type": "integer" + }, + "group": { + "type": "string" + }, + "httpConfig": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "primaryDomain": { + "type": "string" + }, + "protocol": { + "type": "string" + }, + "proxy": { + "type": "string" + }, + "proxyType": { + "type": "string" + }, + "remark": { + "type": "string" + }, + "rewrite": { + "type": "string" + }, + "runtimeID": { + "type": "integer" + }, + "siteDir": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "user": { + "type": "string" + }, + "webSiteGroupId": { + "type": "integer" + }, + "webSiteSSL": { + "$ref": "#/definitions/model.WebsiteSSL" + }, + "webSiteSSLId": { + "type": "integer" + } + }, + "type": "object" + }, + "model.WebsiteAcmeAccount": { + "properties": { + "createdAt": { + "type": "string" + }, + "eabHmacKey": { + "type": "string" + }, + "eabKid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "keyType": { + "type": "string" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "model.WebsiteDnsAccount": { + "properties": { + "createdAt": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "type": "object" + }, + "model.WebsiteDomain": { + "properties": { + "createdAt": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "port": { + "type": "integer" + }, + "updatedAt": { + "type": "string" + }, + "websiteId": { + "type": "integer" + } + }, + "type": "object" + }, + "model.WebsiteSSL": { + "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" + }, + "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" + }, + "request.AppInstallCreate": { + "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, + "appDetailId": { + "type": "integer" + }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, + "dockerCompose": { + "type": "string" + }, + "editCompose": { + "type": "boolean" + }, + "hostMode": { + "type": "boolean" + }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, + "name": { + "type": "string" + }, + "params": { + "additionalProperties": true, + "type": "object" + }, + "pullImage": { + "type": "boolean" + }, + "services": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "taskID": { + "type": "string" + } + }, + "required": [ + "appDetailId", + "name" + ], + "type": "object" + }, + "request.AppInstalledIgnoreUpgrade": { + "properties": { + "detailID": { + "type": "integer" + }, + "operate": { + "enum": [ + "cancel", + "ignore" + ], + "type": "string" + } + }, + "required": [ + "detailID", + "operate" + ], + "type": "object" + }, + "request.AppInstalledInfo": { + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "key" + ], + "type": "object" + }, + "request.AppInstalledOperate": { + "properties": { + "backup": { + "type": "boolean" + }, + "backupId": { + "type": "integer" + }, + "deleteBackup": { + "type": "boolean" + }, + "deleteDB": { + "type": "boolean" + }, + "detailId": { + "type": "integer" + }, + "dockerCompose": { + "type": "string" + }, + "forceDelete": { + "type": "boolean" + }, + "installId": { + "type": "integer" + }, + "operate": { + "type": "string" + }, + "pullImage": { + "type": "boolean" + }, + "taskID": { + "type": "string" + } + }, + "required": [ + "installId", + "operate" + ], + "type": "object" + }, + "request.AppInstalledSearch": { + "properties": { + "all": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "sync": { + "type": "boolean" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "unused": { + "type": "boolean" + }, + "update": { + "type": "boolean" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "request.AppInstalledUpdate": { + "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, + "dockerCompose": { + "type": "string" + }, + "editCompose": { + "type": "boolean" + }, + "hostMode": { + "type": "boolean" + }, + "installId": { + "type": "integer" + }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, + "params": { + "additionalProperties": true, + "type": "object" + }, + "pullImage": { + "type": "boolean" + } + }, + "required": [ + "installId", + "params" + ], + "type": "object" + }, + "request.AppSearch": { + "properties": { + "name": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "recommend": { + "type": "boolean" + }, + "resource": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "request.DirSizeReq": { + "properties": { + "path": { + "type": "string" + } + }, + "required": [ + "path" + ], + "type": "object" + }, + "request.ExposedPort": { + "properties": { + "containerPort": { + "type": "integer" + }, + "hostPort": { + "type": "integer" + } + }, + "type": "object" + }, + "request.FavoriteCreate": { + "properties": { + "path": { + "type": "string" + } + }, + "required": [ + "path" + ], + "type": "object" + }, + "request.FavoriteDelete": { + "properties": { + "id": { + "type": "integer" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "request.FileBatchDelete": { + "properties": { + "isDir": { + "type": "boolean" + }, + "paths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "paths" + ], + "type": "object" + }, + "request.FileCompress": { + "properties": { + "dst": { + "type": "string" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "replace": { + "type": "boolean" + }, + "secret": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "dst", + "files", + "name", + "type" + ], + "type": "object" + }, + "request.FileContentReq": { + "properties": { + "isDetail": { + "type": "boolean" + }, + "path": { + "type": "string" + } + }, + "required": [ + "path" + ], + "type": "object" + }, + "request.FileCreate": { + "properties": { + "content": { + "type": "string" + }, + "isDir": { + "type": "boolean" + }, + "isLink": { + "type": "boolean" + }, + "isSymlink": { + "type": "boolean" + }, + "linkPath": { + "type": "string" + }, + "mode": { + "type": "integer" + }, + "path": { + "type": "string" + }, + "sub": { + "type": "boolean" + } + }, + "required": [ + "path" + ], + "type": "object" + }, + "request.FileDeCompress": { + "properties": { + "dst": { + "type": "string" + }, + "path": { + "type": "string" + }, + "secret": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "dst", + "path", + "type" + ], + "type": "object" + }, + "request.FileDelete": { + "properties": { + "forceDelete": { + "type": "boolean" + }, + "isDir": { + "type": "boolean" + }, + "path": { + "type": "string" + } + }, + "required": [ + "path" + ], + "type": "object" + }, + "request.FileDownload": { + "properties": { + "compress": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "paths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "paths", + "type" + ], + "type": "object" + }, + "request.FileEdit": { + "properties": { + "content": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": [ + "path" + ], + "type": "object" + }, + "request.FileMove": { + "properties": { + "cover": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "newPath": { + "type": "string" + }, + "oldPaths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "required": [ + "newPath", + "oldPaths", + "type" + ], + "type": "object" + }, + "request.FileOption": { + "properties": { + "containSub": { + "type": "boolean" + }, + "dir": { + "type": "boolean" + }, + "expand": { + "type": "boolean" + }, + "isDetail": { + "type": "boolean" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "path": { + "type": "string" + }, + "search": { + "type": "string" + }, + "showHidden": { + "type": "boolean" + }, + "sortBy": { + "type": "string" + }, + "sortOrder": { + "type": "string" + } + }, + "type": "object" + }, + "request.FilePathCheck": { + "properties": { + "path": { + "type": "string" + } + }, + "required": [ + "path" + ], + "type": "object" + }, + "request.FileReadByLineReq": { + "properties": { + "ID": { + "type": "integer" + }, + "latest": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "taskID": { + "type": "string" + }, + "taskOperate": { + "type": "string" + }, + "taskType": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize", + "type" + ], + "type": "object" + }, + "request.FileRename": { + "properties": { + "newName": { + "type": "string" + }, + "oldName": { + "type": "string" + } + }, + "required": [ + "newName", + "oldName" + ], + "type": "object" + }, + "request.FileRoleReq": { + "properties": { + "group": { + "type": "string" + }, + "mode": { + "type": "integer" + }, + "paths": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sub": { + "type": "boolean" + }, + "user": { + "type": "string" + } + }, + "required": [ + "group", + "mode", + "paths", + "user" + ], + "type": "object" + }, + "request.FileRoleUpdate": { + "properties": { + "group": { + "type": "string" + }, + "path": { + "type": "string" + }, + "sub": { + "type": "boolean" + }, + "user": { + "type": "string" + } + }, + "required": [ + "group", + "path", + "user" + ], + "type": "object" + }, + "request.FileWget": { + "properties": { + "ignoreCertificate": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "path", + "url" + ], + "type": "object" + }, + "request.HostToolConfig": { + "properties": { + "content": { + "type": "string" + }, + "operate": { + "enum": [ + "get", + "set" + ], + "type": "string" + }, + "type": { + "enum": [ + "supervisord" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "request.HostToolCreate": { + "properties": { + "configPath": { + "type": "string" + }, + "serviceName": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "request.HostToolLogReq": { + "properties": { + "type": { + "enum": [ + "supervisord" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "request.HostToolReq": { + "properties": { + "operate": { + "enum": [ + "status", + "restart", + "start", + "stop" + ], + "type": "string" + }, + "type": { + "enum": [ + "supervisord" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "request.NewAppInstall": { + "properties": { + "advanced": { + "type": "boolean" + }, + "allowPort": { + "type": "boolean" + }, + "appDetailID": { + "type": "integer" + }, + "containerName": { + "type": "string" + }, + "cpuQuota": { + "type": "number" + }, + "dockerCompose": { + "type": "string" + }, + "editCompose": { + "type": "boolean" + }, + "hostMode": { + "type": "boolean" + }, + "memoryLimit": { + "type": "number" + }, + "memoryUnit": { + "type": "string" + }, + "name": { + "type": "string" + }, + "params": { + "additionalProperties": true, + "type": "object" + }, + "pullImage": { + "type": "boolean" + } + }, + "type": "object" + }, + "request.NginxAntiLeechUpdate": { + "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" + }, + "websiteID": { + "type": "integer" + } + }, + "required": [ + "extends", + "return", + "websiteID" + ], + "type": "object" + }, + "request.NginxAuthReq": { + "properties": { + "websiteID": { + "type": "integer" + } + }, + "required": [ + "websiteID" + ], + "type": "object" + }, + "request.NginxAuthUpdate": { + "properties": { + "operate": { + "type": "string" + }, + "password": { + "type": "string" + }, + "remark": { + "type": "string" + }, + "username": { + "type": "string" + }, + "websiteID": { + "type": "integer" + } + }, + "required": [ + "operate", + "websiteID" + ], + "type": "object" + }, + "request.NginxCommonReq": { + "properties": { + "websiteID": { + "type": "integer" + } + }, + "required": [ + "websiteID" + ], + "type": "object" + }, + "request.NginxConfigFileUpdate": { + "properties": { + "backup": { + "type": "boolean" + }, + "content": { + "type": "string" + } + }, + "required": [ + "content" + ], + "type": "object" + }, + "request.NginxConfigUpdate": { + "properties": { + "operate": { + "enum": [ + "add", + "update", + "delete" + ], + "type": "string" + }, + "params": {}, + "scope": { + "$ref": "#/definitions/dto.NginxKey" + }, + "websiteId": { + "type": "integer" + } + }, + "required": [ + "operate" + ], + "type": "object" + }, + "request.NginxProxyUpdate": { + "properties": { + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "websiteID": { + "type": "integer" + } + }, + "required": [ + "content", + "name", + "websiteID" + ], + "type": "object" + }, + "request.NginxRedirectReq": { + "properties": { + "domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "enable": { + "type": "boolean" + }, + "keepPath": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "operate": { + "type": "string" + }, + "path": { + "type": "string" + }, + "redirect": { + "type": "string" + }, + "redirectRoot": { + "type": "boolean" + }, + "target": { + "type": "string" + }, + "type": { + "type": "string" + }, + "websiteID": { + "type": "integer" + } + }, + "required": [ + "name", + "operate", + "redirect", + "target", + "type", + "websiteID" + ], + "type": "object" + }, + "request.NginxRedirectUpdate": { + "properties": { + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "websiteID": { + "type": "integer" + } + }, + "required": [ + "content", + "name", + "websiteID" + ], + "type": "object" + }, + "request.NginxRewriteReq": { + "properties": { + "name": { + "type": "string" + }, + "websiteId": { + "type": "integer" + } + }, + "required": [ + "name", + "websiteId" + ], + "type": "object" + }, + "request.NginxRewriteUpdate": { + "properties": { + "content": { + "type": "string" + }, + "name": { + "type": "string" + }, + "websiteId": { + "type": "integer" + } + }, + "required": [ + "name", + "websiteId" + ], + "type": "object" + }, + "request.NginxScopeReq": { + "properties": { + "scope": { + "$ref": "#/definitions/dto.NginxKey" + }, + "websiteId": { + "type": "integer" + } + }, + "required": [ + "scope" + ], + "type": "object" + }, + "request.NodeModuleReq": { + "properties": { + "ID": { + "type": "integer" + } + }, + "required": [ + "ID" + ], + "type": "object" + }, + "request.NodePackageReq": { + "properties": { + "codeDir": { + "type": "string" + } + }, + "type": "object" + }, + "request.PHPExtensionsCreate": { + "properties": { + "extensions": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "extensions", + "name" + ], + "type": "object" + }, + "request.PHPExtensionsDelete": { + "properties": { + "id": { + "type": "integer" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "request.PHPExtensionsSearch": { + "properties": { + "all": { + "type": "boolean" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "request.PHPExtensionsUpdate": { + "properties": { + "extensions": { + "type": "string" + }, + "id": { + "type": "integer" + } + }, + "required": [ + "extensions", + "id" + ], + "type": "object" + }, + "request.PortUpdate": { + "properties": { + "key": { + "type": "string" + }, + "name": { + "type": "string" + }, + "port": { + "type": "integer" + } + }, + "type": "object" + }, + "request.ProcessReq": { + "properties": { + "PID": { + "type": "integer" + } + }, + "required": [ + "PID" + ], + "type": "object" + }, + "request.RecycleBinReduce": { + "properties": { + "from": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rName": { + "type": "string" + } + }, + "required": [ + "from", + "rName" + ], + "type": "object" + }, + "request.RuntimeCreate": { + "properties": { + "appDetailId": { + "type": "integer" + }, + "clean": { + "type": "boolean" + }, + "codeDir": { + "type": "string" + }, + "exposedPorts": { + "items": { + "$ref": "#/definitions/request.ExposedPort" + }, + "type": "array" + }, + "image": { + "type": "string" + }, + "install": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "params": { + "additionalProperties": true, + "type": "object" + }, + "port": { + "type": "integer" + }, + "resource": { + "type": "string" + }, + "source": { + "type": "string" + }, + "type": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "request.RuntimeDelete": { + "properties": { + "forceDelete": { + "type": "boolean" + }, + "id": { + "type": "integer" + } + }, + "type": "object" + }, + "request.RuntimeOperate": { + "properties": { + "ID": { + "type": "integer" + }, + "operate": { + "type": "string" + } + }, + "type": "object" + }, + "request.RuntimeSearch": { + "properties": { + "name": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "request.RuntimeUpdate": { + "properties": { + "clean": { + "type": "boolean" + }, + "codeDir": { + "type": "string" + }, + "exposedPorts": { + "items": { + "$ref": "#/definitions/request.ExposedPort" + }, + "type": "array" + }, + "id": { + "type": "integer" + }, + "image": { + "type": "string" + }, + "install": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "params": { + "additionalProperties": true, + "type": "object" + }, + "port": { + "type": "integer" + }, + "rebuild": { + "type": "boolean" + }, + "source": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "request.SearchUploadWithPage": { + "properties": { + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "path": { + "type": "string" + } + }, + "required": [ + "page", + "pageSize", + "path" + ], + "type": "object" + }, + "request.SupervisorProcessConfig": { + "properties": { + "command": { + "type": "string" + }, + "dir": { + "type": "string" + }, + "name": { + "type": "string" + }, + "numprocs": { + "type": "string" + }, + "operate": { + "type": "string" + }, + "user": { + "type": "string" + } + }, + "type": "object" + }, + "request.SupervisorProcessFileReq": { + "properties": { + "content": { + "type": "string" + }, + "file": { + "enum": [ + "out.log", + "err.log", + "config" + ], + "type": "string" + }, + "name": { + "type": "string" + }, + "operate": { + "enum": [ + "get", + "clear", + "update" + ], + "type": "string" + } + }, + "required": [ + "file", + "name", + "operate" + ], + "type": "object" + }, + "request.WebsiteAcmeAccountCreate": { + "properties": { + "eabHmacKey": { + "type": "string" + }, + "eabKid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "keyType": { + "enum": [ + "P256", + "P384", + "2048", + "3072", + "4096", + "8192" + ], + "type": "string" + }, + "type": { + "enum": [ + "letsencrypt", + "zerossl", + "buypass", + "google" + ], + "type": "string" + } + }, + "required": [ + "email", + "keyType", + "type" + ], + "type": "object" + }, + "request.WebsiteBatchDelReq": { + "properties": { + "ids": { + "items": { + "type": "integer" + }, + "type": "array" + } + }, + "required": [ + "ids" + ], + "type": "object" + }, + "request.WebsiteCACreate": { + "properties": { + "city": { + "type": "string" + }, + "commonName": { + "type": "string" + }, + "country": { + "type": "string" + }, + "keyType": { + "enum": [ + "P256", + "P384", + "2048", + "3072", + "4096", + "8192" + ], + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "organizationUint": { + "type": "string" + }, + "province": { + "type": "string" + } + }, + "required": [ + "commonName", + "country", + "keyType", + "name", + "organization" + ], + "type": "object" + }, + "request.WebsiteCAObtain": { + "properties": { + "autoRenew": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "dir": { + "type": "string" + }, + "domains": { + "type": "string" + }, + "execShell": { + "type": "boolean" + }, + "id": { + "type": "integer" + }, + "keyType": { + "enum": [ + "P256", + "P384", + "2048", + "3072", + "4096", + "8192" + ], + "type": "string" + }, + "pushDir": { + "type": "boolean" + }, + "renew": { + "type": "boolean" + }, + "shell": { + "type": "string" + }, + "sslID": { + "type": "integer" + }, + "time": { + "type": "integer" + }, + "unit": { + "type": "string" + } + }, + "required": [ + "domains", + "id", + "keyType", + "time", + "unit" + ], + "type": "object" + }, + "request.WebsiteCASearch": { + "properties": { + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "request.WebsiteCommonReq": { + "properties": { + "id": { + "type": "integer" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "request.WebsiteCreate": { + "properties": { + "IPV6": { + "type": "boolean" + }, + "alias": { + "type": "string" + }, + "appID": { + "type": "integer" + }, + "appInstall": { + "$ref": "#/definitions/request.NewAppInstall" + }, + "appInstallID": { + "type": "integer" + }, + "appType": { + "enum": [ + "new", + "installed" + ], + "type": "string" + }, + "ftpPassword": { + "type": "string" + }, + "ftpUser": { + "type": "string" + }, + "otherDomains": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "primaryDomain": { + "type": "string" + }, + "proxy": { + "type": "string" + }, + "proxyType": { + "type": "string" + }, + "remark": { + "type": "string" + }, + "runtimeID": { + "type": "integer" + }, + "taskID": { + "type": "string" + }, + "type": { + "type": "string" + }, + "webSiteGroupID": { + "type": "integer" + } + }, + "required": [ + "alias", + "primaryDomain", + "type", + "webSiteGroupID" + ], + "type": "object" + }, + "request.WebsiteDNSReq": { + "properties": { + "acmeAccountId": { + "type": "integer" + }, + "domains": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "acmeAccountId", + "domains" + ], + "type": "object" + }, + "request.WebsiteDefaultUpdate": { + "properties": { + "id": { + "type": "integer" + } + }, + "type": "object" + }, + "request.WebsiteDelete": { + "properties": { + "deleteApp": { + "type": "boolean" + }, + "deleteBackup": { + "type": "boolean" + }, + "forceDelete": { + "type": "boolean" + }, + "id": { + "type": "integer" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "request.WebsiteDnsAccountCreate": { + "properties": { + "authorization": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "authorization", + "name", + "type" + ], + "type": "object" + }, + "request.WebsiteDnsAccountUpdate": { + "properties": { + "authorization": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "authorization", + "id", + "name", + "type" + ], + "type": "object" + }, + "request.WebsiteDomainCreate": { + "properties": { + "domains": { + "type": "string" + }, + "websiteID": { + "type": "integer" + } + }, + "required": [ + "domains", + "websiteID" + ], + "type": "object" + }, + "request.WebsiteDomainDelete": { + "properties": { + "id": { + "type": "integer" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "request.WebsiteHTTPSOp": { + "properties": { + "SSLProtocol": { + "items": { + "type": "string" + }, + "type": "array" + }, + "algorithm": { + "type": "string" + }, + "certificate": { + "type": "string" + }, + "certificatePath": { + "type": "string" + }, + "enable": { + "type": "boolean" + }, + "hsts": { + "type": "boolean" + }, + "httpConfig": { + "enum": [ + "HTTPSOnly", + "HTTPAlso", + "HTTPToHTTPS" + ], + "type": "string" + }, + "importType": { + "type": "string" + }, + "privateKey": { + "type": "string" + }, + "privateKeyPath": { + "type": "string" + }, + "type": { + "enum": [ + "existed", + "auto", + "manual" + ], + "type": "string" + }, + "websiteId": { + "type": "integer" + }, + "websiteSSLId": { + "type": "integer" + } + }, + "required": [ + "websiteId" + ], + "type": "object" + }, + "request.WebsiteHtmlUpdate": { + "properties": { + "content": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "content", + "type" + ], + "type": "object" + }, + "request.WebsiteInstallCheckReq": { + "properties": { + "InstallIds": { + "items": { + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "request.WebsiteLogReq": { + "properties": { + "id": { + "type": "integer" + }, + "logType": { + "type": "string" + }, + "operate": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "id", + "logType", + "operate" + ], + "type": "object" + }, + "request.WebsiteNginxUpdate": { + "properties": { + "content": { + "type": "string" + }, + "id": { + "type": "integer" + } + }, + "required": [ + "content", + "id" + ], + "type": "object" + }, + "request.WebsiteOp": { + "properties": { + "id": { + "type": "integer" + }, + "operate": { + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "request.WebsitePHPConfigUpdate": { + "properties": { + "disableFunctions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "type": "integer" + }, + "params": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "scope": { + "type": "string" + }, + "uploadMaxSize": { + "type": "string" + } + }, + "required": [ + "id", + "scope" + ], + "type": "object" + }, + "request.WebsitePHPFileUpdate": { + "properties": { + "content": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "type": { + "type": "string" + } + }, + "required": [ + "content", + "id", + "type" + ], + "type": "object" + }, + "request.WebsitePHPVersionReq": { + "properties": { + "retainConfig": { + "type": "boolean" + }, + "runtimeID": { + "type": "integer" + }, + "websiteID": { + "type": "integer" + } + }, + "required": [ + "runtimeID", + "websiteID" + ], + "type": "object" + }, + "request.WebsiteProxyConfig": { + "properties": { + "cache": { + "type": "boolean" + }, + "cacheTime": { + "type": "integer" + }, + "cacheUnit": { + "type": "string" + }, + "content": { + "type": "string" + }, + "enable": { + "type": "boolean" + }, + "filePath": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "match": { + "type": "string" + }, + "modifier": { + "type": "string" + }, + "name": { + "type": "string" + }, + "operate": { + "type": "string" + }, + "proxyHost": { + "type": "string" + }, + "proxyPass": { + "type": "string" + }, + "replaces": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "sni": { + "type": "boolean" + } + }, + "required": [ + "id", + "match", + "name", + "operate", + "proxyHost", + "proxyPass" + ], + "type": "object" + }, + "request.WebsiteProxyReq": { + "properties": { + "id": { + "type": "integer" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "request.WebsiteResourceReq": { + "properties": { + "id": { + "type": "integer" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "request.WebsiteSSLApply": { + "properties": { + "ID": { + "type": "integer" + }, + "nameservers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "skipDNSCheck": { + "type": "boolean" + } + }, + "required": [ + "ID" + ], + "type": "object" + }, + "request.WebsiteSSLCreate": { + "properties": { + "acmeAccountId": { + "type": "integer" + }, + "apply": { + "type": "boolean" + }, + "autoRenew": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "dir": { + "type": "string" + }, + "disableCNAME": { + "type": "boolean" + }, + "dnsAccountId": { + "type": "integer" + }, + "execShell": { + "type": "boolean" + }, + "id": { + "type": "integer" + }, + "keyType": { + "type": "string" + }, + "nameserver1": { + "type": "string" + }, + "nameserver2": { + "type": "string" + }, + "otherDomains": { + "type": "string" + }, + "primaryDomain": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "pushDir": { + "type": "boolean" + }, + "shell": { + "type": "string" + }, + "skipDNS": { + "type": "boolean" + } + }, + "required": [ + "acmeAccountId", + "primaryDomain", + "provider" + ], + "type": "object" + }, + "request.WebsiteSSLSearch": { + "properties": { + "acmeAccountID": { + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "request.WebsiteSSLUpdate": { + "properties": { + "acmeAccountId": { + "type": "integer" + }, + "apply": { + "type": "boolean" + }, + "autoRenew": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "dir": { + "type": "string" + }, + "disableCNAME": { + "type": "boolean" + }, + "dnsAccountId": { + "type": "integer" + }, + "execShell": { + "type": "boolean" + }, + "id": { + "type": "integer" + }, + "keyType": { + "type": "string" + }, + "nameserver1": { + "type": "string" + }, + "nameserver2": { + "type": "string" + }, + "otherDomains": { + "type": "string" + }, + "primaryDomain": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "pushDir": { + "type": "boolean" + }, + "shell": { + "type": "string" + }, + "skipDNS": { + "type": "boolean" + } + }, + "required": [ + "id", + "primaryDomain", + "provider" + ], + "type": "object" + }, + "request.WebsiteSSLUpload": { + "properties": { + "certificate": { + "type": "string" + }, + "certificatePath": { + "type": "string" + }, + "description": { + "type": "string" + }, + "privateKey": { + "type": "string" + }, + "privateKeyPath": { + "type": "string" + }, + "sslID": { + "type": "integer" + }, + "type": { + "enum": [ + "paste", + "local" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "request.WebsiteSearch": { + "properties": { + "name": { + "type": "string" + }, + "order": { + "enum": [ + "null", + "ascending", + "descending" + ], + "type": "string" + }, + "orderBy": { + "enum": [ + "primary_domain", + "type", + "status", + "created_at", + "expire_date" + ], + "type": "string" + }, + "page": { + "type": "integer" + }, + "pageSize": { + "type": "integer" + }, + "websiteGroupId": { + "type": "integer" + } + }, + "required": [ + "order", + "orderBy", + "page", + "pageSize" + ], + "type": "object" + }, + "request.WebsiteUpdate": { + "properties": { + "IPV6": { + "type": "boolean" + }, + "expireDate": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "primaryDomain": { + "type": "string" + }, + "remark": { + "type": "string" + }, + "webSiteGroupID": { + "type": "integer" + } + }, + "required": [ + "id", + "primaryDomain" + ], + "type": "object" + }, + "request.WebsiteUpdateDir": { + "properties": { + "id": { + "type": "integer" + }, + "siteDir": { + "type": "string" + } + }, + "required": [ + "id", + "siteDir" + ], + "type": "object" + }, + "request.WebsiteUpdateDirPermission": { + "properties": { + "group": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "user": { + "type": "string" + } + }, + "required": [ + "group", + "id", + "user" + ], + "type": "object" + }, + "response.AppDTO": { + "properties": { + "createdAt": { + "type": "string" + }, + "crossVersionUpdate": { + "type": "boolean" + }, + "document": { + "type": "string" + }, + "github": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "installed": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "lastModified": { + "type": "integer" + }, + "limit": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "readMe": { + "type": "string" + }, + "recommend": { + "type": "integer" + }, + "required": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "shortDescEn": { + "type": "string" + }, + "shortDescZh": { + "type": "string" + }, + "status": { + "type": "string" + }, + "tags": { + "items": { + "$ref": "#/definitions/model.Tag" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "versions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "website": { + "type": "string" + } + }, + "type": "object" + }, + "response.AppDetailDTO": { + "properties": { + "appId": { + "type": "integer" + }, + "createdAt": { + "type": "string" + }, + "dockerCompose": { + "type": "string" + }, + "downloadCallBackUrl": { + "type": "string" + }, + "downloadUrl": { + "type": "string" + }, + "enable": { + "type": "boolean" + }, + "hostMode": { + "type": "boolean" + }, + "id": { + "type": "integer" + }, + "ignoreUpgrade": { + "type": "boolean" + }, + "image": { + "type": "string" + }, + "lastModified": { + "type": "integer" + }, + "lastVersion": { + "type": "string" + }, + "params": {}, + "status": { + "type": "string" + }, + "update": { + "type": "boolean" + }, + "updatedAt": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "response.AppInstalledCheck": { + "properties": { + "app": { + "type": "string" + }, + "appInstallId": { + "type": "integer" + }, + "containerName": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "httpPort": { + "type": "integer" + }, + "httpsPort": { + "type": "integer" + }, + "installPath": { + "type": "string" + }, + "isExist": { + "type": "boolean" + }, + "lastBackupAt": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "response.AppParam": { + "properties": { + "edit": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "labelEn": { + "type": "string" + }, + "labelZh": { + "type": "string" + }, + "multiple": { + "type": "boolean" + }, + "required": { + "type": "boolean" + }, + "rule": { + "type": "string" + }, + "showValue": { + "type": "string" + }, + "type": { + "type": "string" + }, + "value": {}, + "values": {} + }, + "type": "object" + }, + "response.AppService": { + "properties": { + "config": {}, + "from": { + "type": "string" + }, + "label": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "response.FileInfo": { + "properties": { + "content": { + "type": "string" + }, + "extension": { + "type": "string" + }, + "favoriteID": { + "type": "integer" + }, + "gid": { + "type": "string" + }, + "group": { + "type": "string" + }, + "isDetail": { + "type": "boolean" + }, + "isDir": { + "type": "boolean" + }, + "isHidden": { + "type": "boolean" + }, + "isSymlink": { + "type": "boolean" + }, + "itemTotal": { + "type": "integer" + }, + "items": { + "items": { + "$ref": "#/definitions/files.FileInfo" + }, + "type": "array" + }, + "linkPath": { + "type": "string" + }, + "mimeType": { + "type": "string" + }, + "modTime": { + "type": "string" + }, + "mode": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "size": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + }, + "updateTime": { + "type": "string" + }, + "user": { + "type": "string" + } + }, + "type": "object" + }, + "response.FileTree": { + "properties": { + "children": { + "items": { + "$ref": "#/definitions/response.FileTree" + }, + "type": "array" + }, + "extension": { + "type": "string" + }, + "id": { + "type": "string" + }, + "isDir": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "type": "object" + }, + "response.IgnoredApp": { + "properties": { + "detailID": { + "type": "integer" + }, + "icon": { + "type": "string" + }, + "name": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "response.NginxParam": { + "properties": { + "name": { + "type": "string" + }, + "params": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.NginxStatus": { + "properties": { + "accepts": { + "type": "string" + }, + "active": { + "type": "string" + }, + "handled": { + "type": "string" + }, + "reading": { + "type": "string" + }, + "requests": { + "type": "string" + }, + "waiting": { + "type": "string" + }, + "writing": { + "type": "string" + } + }, + "type": "object" + }, + "response.PHPConfig": { + "properties": { + "disableFunctions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "params": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "uploadMaxSize": { + "type": "string" + } + }, + "type": "object" + }, + "response.PHPExtensionsDTO": { + "properties": { + "createdAt": { + "type": "string" + }, + "extensions": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "type": "object" + }, + "response.WebsiteAcmeAccountDTO": { + "properties": { + "createdAt": { + "type": "string" + }, + "eabHmacKey": { + "type": "string" + }, + "eabKid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "keyType": { + "type": "string" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "response.WebsiteCADTO": { + "properties": { + "city": { + "type": "string" + }, + "commonName": { + "type": "string" + }, + "country": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "csr": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "keyType": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization": { + "type": "string" + }, + "organizationUint": { + "type": "string" + }, + "privateKey": { + "type": "string" + }, + "province": { + "type": "string" + }, + "updatedAt": { + "type": "string" + } + }, + "type": "object" + }, + "response.WebsiteDNSRes": { + "properties": { + "domain": { + "type": "string" + }, + "err": { + "type": "string" + }, + "resolve": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "response.WebsiteDTO": { + "properties": { + "IPV6": { + "type": "boolean" + }, + "accessLog": { + "type": "boolean" + }, + "accessLogPath": { + "type": "string" + }, + "alias": { + "type": "string" + }, + "appInstallId": { + "type": "integer" + }, + "appName": { + "type": "string" + }, + "createdAt": { + "type": "string" + }, + "defaultServer": { + "type": "boolean" + }, + "domains": { + "items": { + "$ref": "#/definitions/model.WebsiteDomain" + }, + "type": "array" + }, + "errorLog": { + "type": "boolean" + }, + "errorLogPath": { + "type": "string" + }, + "expireDate": { + "type": "string" + }, + "ftpId": { + "type": "integer" + }, + "group": { + "type": "string" + }, + "httpConfig": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "primaryDomain": { + "type": "string" + }, + "protocol": { + "type": "string" + }, + "proxy": { + "type": "string" + }, + "proxyType": { + "type": "string" + }, + "remark": { + "type": "string" + }, + "rewrite": { + "type": "string" + }, + "runtimeID": { + "type": "integer" + }, + "runtimeName": { + "type": "string" + }, + "siteDir": { + "type": "string" + }, + "sitePath": { + "type": "string" + }, + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "user": { + "type": "string" + }, + "webSiteGroupId": { + "type": "integer" + }, + "webSiteSSL": { + "$ref": "#/definitions/model.WebsiteSSL" + }, + "webSiteSSLId": { + "type": "integer" + } + }, + "type": "object" + }, + "response.WebsiteHTTPS": { + "properties": { + "SSL": { + "$ref": "#/definitions/model.WebsiteSSL" + }, + "SSLProtocol": { + "items": { + "type": "string" + }, + "type": "array" + }, + "algorithm": { + "type": "string" + }, + "enable": { + "type": "boolean" + }, + "hsts": { + "type": "boolean" + }, + "httpConfig": { + "type": "string" + } + }, + "type": "object" + }, + "response.WebsiteLog": { + "properties": { + "content": { + "type": "string" + }, + "enable": { + "type": "boolean" + }, + "end": { + "type": "boolean" + }, + "path": { + "type": "string" + } + }, + "type": "object" + }, + "response.WebsiteNginxConfig": { + "properties": { + "enable": { + "type": "boolean" + }, + "params": { + "items": { + "$ref": "#/definitions/response.NginxParam" + }, + "type": "array" + } + }, + "type": "object" + }, + "response.WebsitePreInstallCheck": { + "properties": { + "appName": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + } + } }` -// SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ - Version: "1.0", + Version: "2.0", Host: "localhost", - BasePath: "/api/v1", + BasePath: "/api/v2", Schemes: []string{}, Title: "1Panel", Description: "开源Linux面板", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, + LeftDelim: "{{", + RightDelim: "}}", } func init() { swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) -} +} \ No newline at end of file diff --git a/cmd/server/docs/swagger.go b/cmd/server/docs/swagger.go index b0022e43c..bc2172c35 100644 --- a/cmd/server/docs/swagger.go +++ b/cmd/server/docs/swagger.go @@ -2,5 +2,5 @@ package docs import _ "embed" -//go:embed swagger.json -var SwaggerJson []byte +//go:embed x-log.json +var XLogJson []byte diff --git a/cmd/server/docs/swagger.json b/cmd/server/docs/swagger.json deleted file mode 100644 index de2b02277..000000000 --- a/cmd/server/docs/swagger.json +++ /dev/null @@ -1,23441 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "开源Linux面板", - "title": "1Panel", - "termsOfService": "http://swagger.io/terms/", - "contact": {}, - "license": { - "name": "Apache 2.0", - "url": "http://www.apache.org/licenses/LICENSE-2.0.html" - }, - "version": "1.0" - }, - "host": "localhost", - "basePath": "/api/v1", - "paths": { - "/apps/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用信息", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app by key", - "parameters": [ - { - "type": "string", - "description": "app key", - "name": "key", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDTO" - } - } - } - } - }, - "/apps/checkupdate": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用更新版本", - "tags": [ - "App" - ], - "summary": "Get app list update", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/detail/:appId/:version/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 appid 获取应用详情", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app detail by appid", - "parameters": [ - { - "type": "integer", - "description": "app id", - "name": "appId", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "app 版本", - "name": "version", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "app 类型", - "name": "version", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDetailDTO" - } - } - } - } - }, - "/apps/details/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 获取应用详情", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Get app detail by id", - "parameters": [ - { - "type": "integer", - "description": "id", - "name": "appId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppDetailDTO" - } - } - } - } - }, - "/apps/ignored": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取忽略的应用版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Get Ignore App", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.IgnoredApp" - } - } - } - } - }, - "/apps/install": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "安装应用", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Install app", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstallCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/model.AppInstall" - } - } - }, - "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" - } - ], - "bodyKeys": [ - "name" - ], - "formatEN": "Install app [appKey]-[name]", - "formatZH": "安装应用 [appKey]-[name]", - "paramKeys": [] - } - } - }, - "/apps/installed/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检查应用安装情况", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Check app installed", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppInstalledCheck" - } - } - } - } - }, - "/apps/installed/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用默认配置", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search default config by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/apps/installed/conninfo/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用连接信息", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app password by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/apps/installed/delete/check/:appInstallId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Check before delete", - "parameters": [ - { - "type": "integer", - "description": "App install id", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppResource" - } - } - } - } - } - }, - "/apps/installed/ignore": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "忽略应用升级版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "ignore App Update", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledIgnoreUpgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "installId" - ], - "formatEN": "Application param update [installId]", - "formatZH": "忽略应用 [installId] 版本升级", - "paramKeys": [] - } - } - }, - "/apps/installed/list": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取已安装应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "List app installed", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppInstallInfo" - } - } - } - } - } - }, - "/apps/installed/loadport": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用端口", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app port by key", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "integer" - } - } - } - } - }, - "/apps/installed/op": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作已安装应用", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Operate installed app", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "app_installs", - "input_column": "id", - "input_value": "installId", - "isList": false, - "output_column": "app_id", - "output_value": "appId" - }, - { - "db": "app_installs", - "input_column": "id", - "input_value": "installId", - "isList": false, - "output_column": "name", - "output_value": "appName" - }, - { - "db": "apps", - "input_column": "id", - "input_value": "appId", - "isList": false, - "output_column": "key", - "output_value": "appKey" - } - ], - "bodyKeys": [ - "installId", - "operate" - ], - "formatEN": "[operate] App [appKey][appName]", - "formatZH": "[operate] 应用 [appKey][appName]", - "paramKeys": [] - } - } - }, - "/apps/installed/params/:appInstallId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 install id 获取应用参数", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search params by appInstallId", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.AppParam" - } - } - } - } - }, - "/apps/installed/params/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改应用参数", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Change app params", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "installId" - ], - "formatEN": "Application param update [installId]", - "formatZH": "应用参数修改 [installId]", - "paramKeys": [] - } - } - }, - "/apps/installed/port/change": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改应用端口", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Change app port", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PortUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "name", - "port" - ], - "formatEN": "Application port update [key]-[name] =\u003e [port]", - "formatZH": "应用端口修改 [key]-[name] =\u003e [port]", - "paramKeys": [] - } - } - }, - "/apps/installed/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分页获取已安装应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Page app installed", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppInstalledSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/installed/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步已安装应用列表", - "tags": [ - "App" - ], - "summary": "Sync app installed", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Sync the list of installed apps", - "formatZH": "同步已安装应用列表", - "paramKeys": [] - } - } - }, - "/apps/installed/update/versions": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 install id 获取应用更新版本", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app update version by install id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "appInstallId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.AppVersion" - } - } - } - } - } - }, - "/apps/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取应用列表", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "List apps", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.AppSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/apps/services/:key": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 key 获取应用 service", - "consumes": [ - "application/json" - ], - "tags": [ - "App" - ], - "summary": "Search app service by key", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "key", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.AppService" - } - } - } - } - } - }, - "/apps/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步应用列表", - "tags": [ - "App" - ], - "summary": "Sync app list", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "App store synchronization", - "formatZH": "应用商店同步", - "paramKeys": [] - } - } - }, - "/auth/captcha": { - "get": { - "description": "加载验证码", - "tags": [ - "Auth" - ], - "summary": "Load captcha", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.CaptchaResponse" - } - } - } - } - }, - "/auth/demo": { - "get": { - "description": "判断是否为demo环境", - "tags": [ - "Auth" - ], - "summary": "Check System isDemo", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/issafety": { - "get": { - "description": "获取系统安全登录状态", - "tags": [ - "Auth" - ], - "summary": "Load safety status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/language": { - "get": { - "description": "获取系统语言设置", - "tags": [ - "Auth" - ], - "summary": "Load System Language", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/login": { - "post": { - "description": "用户登录", - "consumes": [ - "application/json" - ], - "tags": [ - "Auth" - ], - "summary": "User login", - "parameters": [ - { - "type": "string", - "description": "安全入口 base64 加密串", - "name": "EntranceCode", - "in": "header", - "required": true - }, - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Login" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.UserLoginInfo" - } - } - } - } - }, - "/auth/logout": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "用户登出", - "tags": [ - "Auth" - ], - "summary": "User logout", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/auth/mfalogin": { - "post": { - "description": "用户 mfa 登录", - "consumes": [ - "application/json" - ], - "tags": [ - "Auth" - ], - "summary": "User login with mfa", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MFALogin" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.UserLoginInfo" - }, - "headers": { - "EntranceCode": { - "type": "string", - "description": "安全入口" - } - } - } - } - } - }, - "/containers": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Create container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "create container [name][image]", - "formatZH": "创建容器 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/clean/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理容器日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Clean container log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "clean container [name] logs", - "formatZH": "清理容器 [name] 日志", - "paramKeys": [] - } - } - }, - "/containers/commit": { - "post": { - "description": "容器提交生成新镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Commit Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerCommit" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/compose": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器编排", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Create compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create compose [name]", - "formatZH": "创建 compose [name]", - "paramKeys": [] - } - } - }, - "/containers/compose/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器编排操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Operate compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "operation" - ], - "formatEN": "compose [operation] [name]", - "formatZH": "compose [operation] [name]", - "paramKeys": [] - } - } - }, - "/containers/compose/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取编排列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Page composes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/compose/search/log": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "docker-compose 日志", - "tags": [ - "Container Compose" - ], - "summary": "Container Compose logs", - "parameters": [ - { - "type": "string", - "description": "compose 文件地址", - "name": "compose", - "in": "query" - }, - { - "type": "string", - "description": "时间筛选", - "name": "since", - "in": "query" - }, - { - "type": "string", - "description": "是否追踪", - "name": "follow", - "in": "query" - }, - { - "type": "string", - "description": "显示行号", - "name": "tail", - "in": "query" - } - ], - "responses": {} - } - }, - "/containers/compose/test": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试 compose 是否可用", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Test compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "check compose [name]", - "formatZH": "检测 compose [name] 格式", - "paramKeys": [] - } - } - }, - "/containers/compose/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器编排", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose" - ], - "summary": "Update compose", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update compose information [name]", - "formatZH": "更新 compose [name]", - "paramKeys": [] - } - } - }, - "/containers/daemonjson": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 配置信息", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker daemon.json", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DaemonJsonConf" - } - } - } - } - }, - "/containers/daemonjson/file": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 配置信息(表单)", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker daemon.json", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/daemonjson/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "Updated configuration [key]", - "formatZH": "更新配置 [key]", - "paramKeys": [] - } - } - }, - "/containers/daemonjson/update/byfile": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传替换 docker 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DaemonJsonUpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated configuration file", - "formatZH": "更新配置文件", - "paramKeys": [] - } - } - }, - "/containers/docker/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Docker 操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Operate docker", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DockerOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] docker service", - "formatZH": "docker 服务 [operation]", - "paramKeys": [] - } - } - }, - "/containers/docker/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 服务状态", - "produces": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Load docker status", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/download/log": { - "post": { - "description": "下载容器日志", - "responses": {} - } - }, - "/containers/image": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像名称列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "load images options", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - } - }, - "/containers/image/all": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取所有镜像列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "List all images", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ImageInfo" - } - } - } - } - } - }, - "/containers/image/build": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "构建镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Build image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageBuild" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "build image [name]", - "formatZH": "构建镜像 [name]", - "paramKeys": [] - } - } - }, - "/containers/image/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导入镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Load image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageLoad" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "load image from [path]", - "formatZH": "从 [path] 加载镜像", - "paramKeys": [] - } - } - }, - "/containers/image/pull": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "拉取镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Pull image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImagePull" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "imageName" - ], - "formatEN": "image pull [reponame][imageName]", - "formatZH": "镜像拉取 [reponame][imageName]", - "paramKeys": [] - } - } - }, - "/containers/image/push": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "推送镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Push image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImagePush" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "tagName", - "name" - ], - "formatEN": "push [tagName] to [reponame][name]", - "formatZH": "[tagName] 推送到 [reponame][name]", - "paramKeys": [] - } - } - }, - "/containers/image/remove": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Delete image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "remove image [names]", - "formatZH": "移除镜像 [names]", - "paramKeys": [] - } - } - }, - "/containers/image/save": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导出镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Save image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageSave" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "tagName", - "path", - "name" - ], - "formatEN": "save [tagName] as [path]/[name]", - "formatZH": "保留 [tagName] 为 [path]/[name]", - "paramKeys": [] - } - } - }, - "/containers/image/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Page images", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/image/tag": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Tag 镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Image" - ], - "summary": "Tag image", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageTag" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "repoID", - "isList": false, - "output_column": "name", - "output_value": "reponame" - } - ], - "bodyKeys": [ - "repoID", - "targetName" - ], - "formatEN": "tag image [reponame][targetName]", - "formatZH": "tag 镜像 [reponame][targetName]", - "paramKeys": [] - } - } - }, - "/containers/info": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器表单信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Load container info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - } - } - }, - "/containers/inspect": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器详情", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Container inspect", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.InspectReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/containers/ipv6option/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker ipv6 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json ipv6 option", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.LogOption" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated the ipv6 option", - "formatZH": "更新 ipv6 配置", - "paramKeys": [] - } - } - }, - "/containers/limit": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器限制", - "summary": "Load container limits", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ResourceLimit" - } - } - } - } - }, - "/containers/list": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器名称", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "List containers", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/list/stats": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器列表资源占用", - "summary": "Load container stats", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ContainerListStats" - } - } - } - } - } - }, - "/containers/load/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Load container log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/logoption/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 docker 日志配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Docker" - ], - "summary": "Update docker daemon.json log option", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.LogOption" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Updated the log option", - "formatZH": "更新日志配置", - "paramKeys": [] - } - } - }, - "/containers/network": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器网络列表", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "List networks", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器网络", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Create network", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.NetworkCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create container network [name]", - "formatZH": "创建容器网络 name", - "paramKeys": [] - } - } - }, - "/containers/network/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器网络", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Delete network", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "delete container network [names]", - "formatZH": "删除容器网络 [names]", - "paramKeys": [] - } - } - }, - "/containers/network/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器网络列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Network" - ], - "summary": "Page networks", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器操作", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Operate Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperation" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names", - "operation" - ], - "formatEN": "container [operation] [names]", - "formatZH": "容器 [names] 执行 [operation]", - "paramKeys": [] - } - } - }, - "/containers/prune": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器清理", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Clean container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerPrune" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerPruneReport" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "pruneType" - ], - "formatEN": "clean container [pruneType]", - "formatZH": "清理容器 [pruneType]", - "paramKeys": [] - } - } - }, - "/containers/rename": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器重命名", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Rename Container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerRename" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "newName" - ], - "formatEN": "rename container [name] =\u003e [newName]", - "formatZH": "容器重命名 [name] =\u003e [newName]", - "paramKeys": [] - } - } - }, - "/containers/repo": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像仓库列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "List image repos", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ImageRepoOption" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Create image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create image repo [name]", - "formatZH": "创建镜像仓库 [name]", - "paramKeys": [] - } - } - }, - "/containers/repo/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Delete image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete image repo [names]", - "formatZH": "删除镜像仓库 [names]", - "paramKeys": [] - } - } - }, - "/containers/repo/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取镜像仓库列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Page image repos", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/repo/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 docker 仓库状态", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Load repo status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/containers/repo/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新镜像仓库", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Image-repo" - ], - "summary": "Update image repo", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ImageRepoUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "image_repos", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update image repo information [name]", - "formatZH": "更新镜像仓库 [name]", - "paramKeys": [] - } - } - }, - "/containers/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Page containers", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageContainer" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/search/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器日志", - "tags": [ - "Container" - ], - "summary": "Container logs", - "parameters": [ - { - "type": "string", - "description": "容器名称", - "name": "container", - "in": "query" - }, - { - "type": "string", - "description": "时间筛选", - "name": "since", - "in": "query" - }, - { - "type": "string", - "description": "是否追踪", - "name": "follow", - "in": "query" - }, - { - "type": "string", - "description": "显示行号", - "name": "tail", - "in": "query" - } - ], - "responses": {} - } - }, - "/containers/stats/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "容器监控信息", - "tags": [ - "Container" - ], - "summary": "Container stats", - "parameters": [ - { - "type": "integer", - "description": "容器id", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ContainerStats" - } - } - } - } - }, - "/containers/template": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器编排模版列表", - "produces": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "List compose templates", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.ComposeTemplateInfo" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Create compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeTemplateCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create compose template [name]", - "formatZH": "创建 compose 模版 [name]", - "paramKeys": [] - } - } - }, - "/containers/template/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Delete compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "compose_templates", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete compose template [names]", - "formatZH": "删除 compose 模版 [names]", - "paramKeys": [] - } - } - }, - "/containers/template/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器编排模版列表分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Page compose templates", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/containers/template/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器编排模版", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Compose-template" - ], - "summary": "Update compose template", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ComposeTemplateUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "compose_templates", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update compose template information [name]", - "formatZH": "更新 compose 模版 [name]", - "paramKeys": [] - } - } - }, - "/containers/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Update container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "update container [name][image]", - "formatZH": "更新容器 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/upgrade": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新容器镜像", - "consumes": [ - "application/json" - ], - "tags": [ - "Container" - ], - "summary": "Upgrade container", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ContainerUpgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "image" - ], - "formatEN": "upgrade container image [name][image]", - "formatZH": "更新容器镜像 [name][image]", - "paramKeys": [] - } - } - }, - "/containers/volume": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器存储卷列表", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "List volumes", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Options" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建容器存储卷", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Create volume", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.VolumeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create container volume [name]", - "formatZH": "创建容器存储卷 [name]", - "paramKeys": [] - } - } - }, - "/containers/volume/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除容器存储卷", - "consumes": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Delete volume", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "names" - ], - "formatEN": "delete container volume [names]", - "formatZH": "删除容器存储卷 [names]", - "paramKeys": [] - } - } - }, - "/containers/volume/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取容器存储卷分页", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Container Volume" - ], - "summary": "Page volumes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Create cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name" - ], - "formatEN": "create cronjob [type][name]", - "formatZH": "创建计划任务 [type][name]", - "paramKeys": [] - } - } - }, - "/cronjobs/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Delete cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Download cronjob records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobDownload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "job_records", - "input_column": "id", - "input_value": "recordID", - "isList": false, - "output_column": "file", - "output_value": "file" - } - ], - "bodyKeys": [ - "recordID" - ], - "formatEN": "download the cronjob record [file]", - "formatZH": "下载计划任务记录 [file]", - "paramKeys": [] - } - } - }, - "/cronjobs/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "手动执行计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Handle cronjob once", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "manually execute the cronjob [name]", - "formatZH": "手动执行计划任务 [name]", - "paramKeys": [] - } - } - }, - "/cronjobs/records/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Clean job records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobClean" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "clean cronjob [name] records", - "formatZH": "清空计划任务记录 [name]", - "paramKeys": [] - } - } - }, - "/cronjobs/records/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务记录日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Load Cronjob record log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/cronjobs/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Page cronjobs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageCronjob" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs/search/records": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取计划任务记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Page job records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchRecord" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/cronjobs/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新计划任务状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Update cronjob status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobUpdateStatus" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "status" - ], - "formatEN": "change the status of cronjob [name] to [status].", - "formatZH": "修改计划任务 [name] 状态为 [status]", - "paramKeys": [] - } - } - }, - "/cronjobs/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新计划任务", - "consumes": [ - "application/json" - ], - "tags": [ - "Cronjob" - ], - "summary": "Update cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CronjobUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "cronjobs", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "update cronjob [name]", - "formatZH": "更新计划任务 [name]", - "paramKeys": [] - } - } - }, - "/dashboard/base/:ioOption/:netOption": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取首页基础数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load dashboard base info", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "ioOption", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "request", - "name": "netOption", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DashboardBase" - } - } - } - } - }, - "/dashboard/base/os": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取服务器基础数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load os info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.OsInfo" - } - } - } - } - }, - "/dashboard/current/:ioOption/:netOption": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取首页实时数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "Load dashboard current info", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "ioOption", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "request", - "name": "netOption", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DashboardCurrent" - } - } - } - } - }, - "/dashboard/system/restart/:operation": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "重启服务器/面板", - "consumes": [ - "application/json" - ], - "tags": [ - "Dashboard" - ], - "summary": "System restart", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "operation", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 mysql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Create mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create mysql database [name]", - "formatZH": "创建 mysql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "绑定 mysql 数据库用户", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Bind user of mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BindUser" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "database", - "username" - ], - "formatEN": "bind mysql database [database] [username]", - "formatZH": "绑定 mysql 数据库名 [database] [username]", - "paramKeys": [] - } - } - }, - "/databases/change/access": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 mysql 访问权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Change mysql access", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] access", - "formatZH": "更新数据库 [name] 访问权限", - "paramKeys": [] - } - } - }, - "/databases/change/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 mysql 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Change mysql password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] password", - "formatZH": "更新数据库 [name] 密码", - "paramKeys": [] - } - } - }, - "/databases/common/info": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库基础信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Load base info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DBBaseInfo" - } - } - } - } - }, - "/databases/common/load/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Load Database conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases/common/update/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传替换配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Common" - ], - "summary": "Update conf by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DBConfUpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "database" - ], - "formatEN": "update the [type] [database] database configuration information", - "formatZH": "更新 [type] 数据库 [database] 配置信息", - "paramKeys": [] - } - } - }, - "/databases/db": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Create database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "create database [name][type]", - "formatZH": "创建远程数据库 [name][type]", - "paramKeys": [] - } - } - }, - "/databases/db/:name": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库", - "tags": [ - "Database" - ], - "summary": "Get databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DatabaseInfo" - } - } - } - } - }, - "/databases/db/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检测远程数据库连接性", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Check database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "check if database [name][type] is connectable", - "formatZH": "检测远程数据库 [name][type] 连接性", - "paramKeys": [] - } - } - }, - "/databases/db/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Delete database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "databases", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete database [names]", - "formatZH": "删除远程数据库 [names]", - "paramKeys": [] - } - } - }, - "/databases/db/item/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取数据库列表", - "tags": [ - "Database" - ], - "summary": "List databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DatabaseItem" - } - } - } - } - } - }, - "/databases/db/list/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库列表", - "tags": [ - "Database" - ], - "summary": "List databases", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DatabaseOption" - } - } - } - } - } - }, - "/databases/db/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取远程数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Page databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/db/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新远程数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Update database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DatabaseUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update database [name]", - "formatZH": "更新远程数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 mysql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Delete mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete mysql database [name]", - "formatZH": "删除 mysql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mysql 数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Check before delete mysql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBDeleteCheck" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/databases/description/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 mysql 数据库库描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Update mysql database description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_mysqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the mysql database [name] is modified =\u003e [description]", - "formatZH": "mysql 数据库 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/databases/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从服务器获取", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql database from remote", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlLoadDB" - } - } - ], - "responses": {} - } - }, - "/databases/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 数据库列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "List mysql database names", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.MysqlOption" - } - } - } - } - } - }, - "/databases/pg": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 postgresql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Create postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "create postgresql database [name]", - "formatZH": "创建 postgresql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/pg/:database/load": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从服务器获取", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Load postgresql database from remote", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlLoadDB" - } - } - ], - "responses": {} - } - }, - "/databases/pg/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "绑定 postgresql 数据库用户", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Bind postgresql user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlBindUser" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "username" - ], - "formatEN": "bind postgresql database [name] user [username]", - "formatZH": "绑定 postgresql 数据库 [name] 用户 [username]", - "paramKeys": [] - } - } - }, - "/databases/pg/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 postgresql 数据库", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Delete postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete postgresql database [name]", - "formatZH": "删除 postgresql 数据库 [name]", - "paramKeys": [] - } - } - }, - "/databases/pg/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Postgresql 数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Check before delete postgresql database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBDeleteCheck" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/databases/pg/description": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 postgresql 数据库库描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Update postgresql database description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the postgresql database [name] is modified =\u003e [description]", - "formatZH": "postgresql 数据库 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/databases/pg/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 postgresql 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Change postgresql password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "database_postgresqls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update database [name] password", - "formatZH": "更新数据库 [name] 密码", - "paramKeys": [] - } - } - }, - "/databases/pg/privileges": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 postgresql 用户权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Change postgresql privileges", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "database", - "username" - ], - "formatEN": "Update [user] privileges of database [database]", - "formatZH": "更新数据库 [database] 用户 [username] 权限", - "paramKeys": [] - } - } - }, - "/databases/pg/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 postgresql 数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Postgresql" - ], - "summary": "Page postgresql databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PostgresqlDBSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/redis/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisConf" - } - } - } - } - }, - "/databases/redis/conf/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Update redis conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisConfUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update the redis database configuration information", - "formatZH": "更新 redis 数据库配置信息", - "paramKeys": [] - } - } - }, - "/databases/redis/install/cli": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "安装 redis cli", - "tags": [ - "Database Redis" - ], - "summary": "Install redis-cli", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/databases/redis/password": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Change redis password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeRedisPass" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "change the password of the redis database", - "formatZH": "修改 redis 数据库密码", - "paramKeys": [] - } - } - }, - "/databases/redis/persistence/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 持久化配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis persistence conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisPersistence" - } - } - } - } - }, - "/databases/redis/persistence/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 redis 持久化配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Update redis persistence conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisConfPersistenceUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "redis database persistence configuration update", - "formatZH": "redis 数据库持久化配置更新", - "paramKeys": [] - } - } - }, - "/databases/redis/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 状态信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Redis" - ], - "summary": "Load redis status info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.RedisStatus" - } - } - } - } - }, - "/databases/remote": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 远程访问权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql remote access", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "boolean" - } - } - } - } - }, - "/databases/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 数据库列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Page mysql databases", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlDBSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/databases/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 状态信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql status info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.MysqlStatus" - } - } - } - } - }, - "/databases/variables": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mysql 性能参数信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Load mysql variables info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithNameAndType" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.MysqlVariables" - } - } - } - } - }, - "/databases/variables/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "mysql 性能调优", - "consumes": [ - "application/json" - ], - "tags": [ - "Database Mysql" - ], - "summary": "Update mysql variables", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MysqlVariablesUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "adjust mysql database performance parameters", - "formatZH": "调整 mysql 数据库性能参数", - "paramKeys": [] - } - } - }, - "/db/remote/del/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mysql 远程数据库删除前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Database" - ], - "summary": "Check before delete remote database", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/files": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Create file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Create dir or file [path]", - "formatZH": "创建文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/batch/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量删除文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Batch delete file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "paths" - ], - "formatEN": "Batch delete dir or file [paths]", - "formatZH": "批量删除文件/文件夹 [paths]", - "paramKeys": [] - } - } - }, - "/files/batch/role": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量修改文件权限和用户/组", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Batch change file mode and owner", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRoleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "paths", - "mode", - "user", - "group" - ], - "formatEN": "Batch change file mode and owner [paths] =\u003e [mode]/[user]/[group]", - "formatZH": "批量修改文件权限和用户/组 [paths] =\u003e [mode]/[user]/[group]", - "paramKeys": [] - } - } - }, - "/files/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检测文件是否存在", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Check file exist", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FilePathCheck" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/chunkdownload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分片下载下载文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Chunk Download file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDownload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Download file [name]", - "formatZH": "下载文件 [name]", - "paramKeys": [] - } - } - }, - "/files/chunkupload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分片上传文件", - "tags": [ - "File" - ], - "summary": "ChunkUpload file", - "parameters": [ - { - "type": "file", - "description": "request", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/compress": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "压缩文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Compress file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCompress" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Compress file [name]", - "formatZH": "压缩文件 [name]", - "paramKeys": [] - } - } - }, - "/files/content": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件内容", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load file content", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileContentReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Load file content [path]", - "formatZH": "获取文件内容 [path]", - "paramKeys": [] - } - } - }, - "/files/decompress": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "解压文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Decompress file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDeCompress" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Decompress file [path]", - "formatZH": "解压 [path]", - "paramKeys": [] - } - } - }, - "/files/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除文件/文件夹", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Delete file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Delete dir or file [path]", - "formatZH": "删除文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/download": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Download file", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/favorite": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建收藏", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Create favorite", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FavoriteCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "收藏文件/文件夹 [path]", - "formatZH": "收藏文件/文件夹 [path]", - "paramKeys": [] - } - } - }, - "/files/favorite/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除收藏", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Delete favorite", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FavoriteDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "favorites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "path", - "output_value": "path" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "delete avorite [path]", - "formatZH": "删除收藏 [path]", - "paramKeys": [] - } - } - }, - "/files/favorite/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取收藏列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List favorites", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/mode": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件权限", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file mode", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path", - "mode" - ], - "formatEN": "Change mode [paths] =\u003e [mode]", - "formatZH": "修改权限 [paths] =\u003e [mode]", - "paramKeys": [] - } - } - }, - "/files/move": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "移动文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Move file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileMove" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "oldPaths", - "newPath" - ], - "formatEN": "Move [oldPaths] =\u003e [newPath]", - "formatZH": "移动文件 [oldPaths] =\u003e [newPath]", - "paramKeys": [] - } - } - }, - "/files/owner": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件用户/组", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file owner", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRoleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path", - "user", - "group" - ], - "formatEN": "Change owner [paths] =\u003e [user]/[group]", - "formatZH": "修改用户/组 [paths] =\u003e [user]/[group]", - "paramKeys": [] - } - } - }, - "/files/read": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "按行读取日志文件", - "tags": [ - "File" - ], - "summary": "Read file by Line", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileReadByLineReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/recycle/clear": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空回收站文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Clear RecycleBin files", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "清空回收站", - "formatZH": "清空回收站", - "paramKeys": [] - } - } - }, - "/files/recycle/reduce": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "还原回收站文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Reduce RecycleBin files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RecycleBinReduce" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Reduce RecycleBin file [name]", - "formatZH": "还原回收站文件 [name]", - "paramKeys": [] - } - } - }, - "/files/recycle/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取回收站文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List RecycleBin files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/recycle/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取回收站状态", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Get RecycleBin status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/files/rename": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改文件名称", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Change file name", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileRename" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "oldName", - "newName" - ], - "formatEN": "Rename [oldName] =\u003e [newName]", - "formatZH": "重命名 [oldName] =\u003e [newName]", - "paramKeys": [] - } - } - }, - "/files/save": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新文件内容", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Update file content", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileEdit" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Update file content [path]", - "formatZH": "更新文件内容 [path]", - "paramKeys": [] - } - } - }, - "/files/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "List files", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileOption" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/files/size": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取文件夹大小", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load file size", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.DirSizeReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Load file size [path]", - "formatZH": "获取文件夹大小 [path]", - "paramKeys": [] - } - } - }, - "/files/tree": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载文件树", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Load files tree", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileOption" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileTree" - } - } - } - } - } - }, - "/files/upload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传文件", - "tags": [ - "File" - ], - "summary": "Upload file", - "parameters": [ - { - "type": "file", - "description": "request", - "name": "file", - "in": "formData", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "path" - ], - "formatEN": "Upload file [path]", - "formatZH": "上传文件 [path]", - "paramKeys": [] - } - } - }, - "/files/upload/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "分页获取上传文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Page file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SearchUploadWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - } - }, - "/files/wget": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载远端文件", - "consumes": [ - "application/json" - ], - "tags": [ - "File" - ], - "summary": "Wget file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.FileWget" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "url", - "path", - "name" - ], - "formatEN": "Download url =\u003e [path]/[name]", - "formatZH": "下载 url =\u003e [path]/[name]", - "paramKeys": [] - } - } - }, - "/groups": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "create group [name][type]", - "formatZH": "创建组 [name][type]", - "paramKeys": [] - } - } - }, - "/groups/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Delete group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/groups/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "查询系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "List groups", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.GroupInfo" - } - } - } - } - } - }, - "/groups/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统组", - "consumes": [ - "application/json" - ], - "tags": [ - "System Group" - ], - "summary": "Update group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GroupUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "type" - ], - "formatEN": "update group [name][type]", - "formatZH": "更新组 [name][type]", - "paramKeys": [] - } - } - }, - "/host/conffile/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传文件更新 SSH 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Update host SSH setting by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSHConf" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update SSH conf", - "formatZH": "修改 SSH 配置文件", - "paramKeys": [] - } - } - }, - "/host/ssh/conf": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 配置文件", - "tags": [ - "SSH" - ], - "summary": "Load host SSH conf", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/ssh/generate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "生成 SSH 密钥", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Generate host SSH secret", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GenerateSSH" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "generate SSH secret", - "formatZH": "生成 SSH 密钥 ", - "paramKeys": [] - } - } - }, - "/host/ssh/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 登录日志", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Load host SSH logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchSSHLog" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SSHLog" - } - } - } - } - }, - "/host/ssh/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 SSH 服务状态", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Operate SSH", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] SSH", - "formatZH": "[operation] SSH ", - "paramKeys": [] - } - } - }, - "/host/ssh/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载 SSH 配置信息", - "tags": [ - "SSH" - ], - "summary": "Load host SSH setting info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SSHInfo" - } - } - } - } - }, - "/host/ssh/secret": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 SSH 密钥", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Load host SSH secret", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.GenerateLoad" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/ssh/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 SSH 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "SSH" - ], - "summary": "Update host SSH setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSHUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update SSH setting [key] =\u003e [value]", - "formatZH": "修改 SSH 配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/host/tool": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机工具状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/tool/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作主机工具配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] tool config", - "formatZH": "[operate] 主机工具配置文件 ", - "paramKeys": [] - } - } - }, - "/host/tool/create": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建主机工具配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Create Host tool Config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "create [type] config", - "formatZH": "创建 [type] 配置", - "paramKeys": [] - } - } - }, - "/host/tool/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机工具日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/host/tool/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作主机工具", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Operate tool", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.HostToolReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate", - "type" - ], - "formatEN": "[operate] [type]", - "formatZH": "[operate] [type] ", - "paramKeys": [] - } - } - }, - "/host/tool/supervisor/process": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Supervisor 进程配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get Supervisor process config", - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作守护进程", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Create Supervisor process", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SupervisorProcessConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] process", - "formatZH": "[operate] 守护进程 ", - "paramKeys": [] - } - } - }, - "/host/tool/supervisor/process/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作 Supervisor 进程文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Host tool" - ], - "summary": "Get Supervisor process config", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.SupervisorProcessFileReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate" - ], - "formatEN": "[operate] Supervisor Process Config file", - "formatZH": "[operate] Supervisor 进程文件 ", - "paramKeys": [] - } - } - }, - "/hosts": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Create host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "addr" - ], - "formatEN": "create host [name][addr]", - "formatZH": "创建主机 [name][addr]", - "paramKeys": [] - } - } - }, - "/hosts/command": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令列表", - "tags": [ - "Command" - ], - "summary": "List commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.CommandInfo" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Create command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommandOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "command" - ], - "formatEN": "create quick command [name][command]", - "formatZH": "创建快捷命令 [name][command]", - "paramKeys": [] - } - } - }, - "/hosts/command/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Delete command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "commands", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete quick command [names]", - "formatZH": "删除快捷命令 [names]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 快速命令列表", - "tags": [ - "Redis Command" - ], - "summary": "List redis commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "保存 Redis 快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Save redis command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RedisCommand" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "command" - ], - "formatEN": "save quick command for redis [name][command]", - "formatZH": "保存 redis 快捷命令 [name][command]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 redis 快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Delete redis command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "redis_commands", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete quick command of redis [names]", - "formatZH": "删除 redis 快捷命令 [names]", - "paramKeys": [] - } - } - }, - "/hosts/command/redis/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 redis 快速命令列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Redis Command" - ], - "summary": "Page redis commands", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/command/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Page commands", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/command/tree": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快速命令树", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Tree commands", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/hosts/command/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新快速命令", - "consumes": [ - "application/json" - ], - "tags": [ - "Command" - ], - "summary": "Update command", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommandOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "update quick command [name]", - "formatZH": "更新快捷命令 [name]", - "paramKeys": [] - } - } - }, - "/hosts/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Delete host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/hosts/firewall/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防火墙基础信息", - "tags": [ - "Firewall" - ], - "summary": "Load firewall base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.FirewallBaseInfo" - } - } - } - } - }, - "/hosts/firewall/batch": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "批量删除防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/forward": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防火墙端口转发规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ForwardRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "source_port" - ], - "formatEN": "update port forward rules [source_port]", - "formatZH": "更新端口转发规则 [source_port]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/ip": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建防火墙 IP 规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.AddrRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "strategy", - "address" - ], - "formatEN": "create address rules [strategy][address]", - "formatZH": "添加 ip 规则 [strategy] [address]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改防火墙状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Page firewall status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FirewallOperation" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] firewall", - "formatZH": "[operation] 防火墙", - "paramKeys": [] - } - } - }, - "/hosts/firewall/port": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建防火墙端口规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "port", - "strategy" - ], - "formatEN": "create port rules [strategy][port]", - "formatZH": "添加端口规则 [strategy] [port]", - "paramKeys": [] - } - } - }, - "/hosts/firewall/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防火墙规则列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Page firewall rules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RuleSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/hosts/firewall/update/addr": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 ip 防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.AddrRuleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/update/description": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防火墙描述", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Update rule description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateFirewallDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/firewall/update/port": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新端口防火墙规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Firewall" - ], - "summary": "Create group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortRuleUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/monitor/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空监控数据", - "tags": [ - "Monitor" - ], - "summary": "Clean monitor datas", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "clean monitor datas", - "formatZH": "清空监控数据", - "paramKeys": [] - } - } - }, - "/hosts/monitor/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取监控数据", - "tags": [ - "Monitor" - ], - "summary": "Load monitor datas", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MonitorSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取主机列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Page host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchHostWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostTree" - } - } - } - } - } - }, - "/hosts/test/byid/:id": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试主机连接", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Test host conn by host id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "boolean" - } - } - } - } - }, - "/hosts/test/byinfo": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "测试主机连接", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Test host conn by info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostConnTest" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/hosts/tree": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载主机树", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Load host tree", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchForTree" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostTree" - } - } - } - } - } - }, - "/hosts/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新主机", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Update host", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.HostOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "addr" - ], - "formatEN": "update host [name][addr]", - "formatZH": "更新主机信息 [name][addr]", - "paramKeys": [] - } - } - }, - "/hosts/update/group": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "切换分组", - "consumes": [ - "application/json" - ], - "tags": [ - "Host" - ], - "summary": "Update host group", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangeHostGroup" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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": [] - } - } - }, - "/logs/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Clean operation logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CleanLog" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "logType" - ], - "formatEN": "Clean the [logType] log information", - "formatZH": "清空 [logType] 日志信息", - "paramKeys": [] - } - } - }, - "/logs/login": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统登录日志列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Page login logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchLgLogWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/logs/operation": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统操作日志列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Logs" - ], - "summary": "Page operation logs", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchOpLogWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/logs/system": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统日志", - "tags": [ - "Logs" - ], - "summary": "Load system logs", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/logs/system/files": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统日志文件列表", - "tags": [ - "Logs" - ], - "summary": "Load system log files", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/openresty": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OpenResty 配置信息", - "tags": [ - "OpenResty" - ], - "summary": "Load OpenResty conf", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/openresty/clear": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理 OpenResty 代理缓存", - "tags": [ - "OpenResty" - ], - "summary": "Clear OpenResty proxy cache", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Clear nginx proxy cache", - "formatZH": "清理 Openresty 代理缓存", - "paramKeys": [] - } - } - }, - "/openresty/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传更新 OpenResty 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Update OpenResty conf by upload file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigFileUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Update nginx conf", - "formatZH": "更新 nginx 配置", - "paramKeys": [] - } - } - }, - "/openresty/scope": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取部分 OpenResty 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Load partial OpenResty conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxScopeReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.NginxParam" - } - } - } - } - } - }, - "/openresty/status": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OpenResty 状态信息", - "tags": [ - "OpenResty" - ], - "summary": "Load OpenResty status info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.NginxStatus" - } - } - } - } - }, - "/openresty/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 OpenResty 配置信息", - "consumes": [ - "application/json" - ], - "tags": [ - "OpenResty" - ], - "summary": "Update OpenResty conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Update nginx conf [domain]", - "formatZH": "更新 nginx 配置 [domain]", - "paramKeys": [] - } - } - }, - "/process/stop": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "停止进程", - "tags": [ - "Process" - ], - "summary": "Stop Process", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.ProcessReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "PID" - ], - "formatEN": "结束进程 [PID]", - "formatZH": "结束进程 [PID]", - "paramKeys": [] - } - } - }, - "/runtimes": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Create runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create runtime [name]", - "formatZH": "创建运行环境 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get runtime", - "parameters": [ - { - "type": "string", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Delete runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website [name]", - "formatZH": "删除网站 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/node/modules": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Node 项目的 modules", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get Node modules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodeModuleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/node/modules/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作 Node 项目 modules", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Operate Node modules", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodeModuleReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/node/package": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Node 项目的 scripts", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Get Node package scripts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NodePackageReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Operate runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "id" - ], - "formatEN": "Operate runtime [name]", - "formatZH": "操作运行环境 [name]", - "paramKeys": [] - } - } - }, - "/runtimes/php/extensions": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Create Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Create Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/php/extensions/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Delete Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Delete Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/php/extensions/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Page Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Page Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.PHPExtensionsDTO" - } - } - } - } - } - }, - "/runtimes/php/extensions/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Update Extensions", - "consumes": [ - "application/json" - ], - "tags": [ - "PHP Extensions" - ], - "summary": "Update Extensions", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.PHPExtensionsUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取运行环境列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "List runtimes", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步运行环境状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Sync runtime status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/runtimes/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新运行环境", - "consumes": [ - "application/json" - ], - "tags": [ - "Runtime" - ], - "summary": "Update runtime", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.RuntimeUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Update runtime [name]", - "formatZH": "更新运行环境 [name]", - "paramKeys": [] - } - } - }, - "/settings/backup": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建备份账号", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Create backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "create backup account [type]", - "formatZH": "创建备份账号 [type]", - "paramKeys": [] - } - } - }, - "/settings/backup/backup": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "备份系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Backup system data", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonBackup" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName" - ], - "formatEN": "backup [type] data [name][detailName]", - "formatZH": "备份 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除备份账号", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Delete backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "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": [] - } - } - }, - "/settings/backup/onedrive": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 OneDrive 信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Load OneDrive info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.OneDriveInfo" - } - } - } - } - }, - "/settings/backup/record/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除备份记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Delete backup record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "backup_records", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "file_name", - "output_value": "files" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete backup records [files]", - "formatZH": "删除备份记录 [files]", - "paramKeys": [] - } - } - }, - "/settings/backup/record/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载备份记录", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Download backup record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.DownloadRecord" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "source", - "fileName" - ], - "formatEN": "download backup records [source][fileName]", - "formatZH": "下载备份记录 [source][fileName]", - "paramKeys": [] - } - } - }, - "/settings/backup/record/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份记录列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Page backup records", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RecordSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/record/search/bycronjob": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过计划任务获取备份记录列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Page backup records by cronjob", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.RecordSearchByCronjob" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/recover": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "恢复系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Recover system data", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName", - "file" - ], - "formatEN": "recover [type] data [name][detailName] from [file]", - "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/recover/byupload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从上传恢复系统数据", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Recover system data by upload", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.CommonRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type", - "name", - "detailName", - "file" - ], - "formatEN": "recover [type] data [name][detailName] from [file]", - "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", - "paramKeys": [] - } - } - }, - "/settings/backup/refresh/onedrive": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "刷新 OneDrive token", - "tags": [ - "Backup Account" - ], - "summary": "Refresh OneDrive token", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/backup/search": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份账号列表", - "tags": [ - "Backup Account" - ], - "summary": "List backup accounts", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.BackupInfo" - } - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 bucket 列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "List buckets", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ForBuckets" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/settings/backup/search/files": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取备份账号内文件列表", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "List files from backup accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupSearchFile" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/settings/backup/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新备份账号信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Backup Account" - ], - "summary": "Update backup account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BackupOperate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "update backup account [types]", - "formatZH": "更新备份账号 [types]", - "paramKeys": [] - } - } - }, - "/settings/basedir": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取安装根目录", - "tags": [ - "System Setting" - ], - "summary": "Load local backup dir", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "string" - } - } - } - } - }, - "/settings/bind/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统监听信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system bind info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BindInfo" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "ipv6", - "bindAddress" - ], - "formatEN": "update system bind info =\u003e ipv6: [ipv6], 监听 IP: [bindAddress]", - "formatZH": "修改系统监听信息 =\u003e ipv6: [ipv6], 监听 IP: [bindAddress]", - "paramKeys": [] - } - } - }, - "/settings/expired/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "重置过期系统登录密码", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Reset system password expired", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PasswordUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "reset an expired Password", - "formatZH": "重置过期密码", - "paramKeys": [] - } - } - }, - "/settings/interface": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统地址信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load system address", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/menu/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "隐藏高级功能菜单", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Hide advanced feature menu.", - "formatZH": "隐藏高级功能菜单", - "paramKeys": [] - } - } - }, - "/settings/mfa": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 mfa 信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load mfa info", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MfaCredential" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/mfa.Otp" - } - } - } - } - }, - "/settings/mfa/bind": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "Mfa 绑定", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Bind mfa", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.MfaCredential" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "bind mfa", - "formatZH": "mfa 绑定", - "paramKeys": [] - } - } - }, - "/settings/password/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统登录密码", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system password", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PasswordUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "update system password", - "formatZH": "修改系统密码", - "paramKeys": [] - } - } - }, - "/settings/port/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统端口", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system port", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PortUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "serverPort" - ], - "formatEN": "update system port =\u003e [serverPort]", - "formatZH": "修改系统端口 =\u003e [serverPort]", - "paramKeys": [] - } - } - }, - "/settings/proxy/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "服务器代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update proxy setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ProxyUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "proxyUrl", - "proxyPort" - ], - "formatEN": "set proxy [proxyPort]:[proxyPort].", - "formatZH": "服务器代理配置 [proxyPort]:[proxyPort]", - "paramKeys": [] - } - } - }, - "/settings/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "加载系统配置信息", - "tags": [ - "System Setting" - ], - "summary": "Load system setting info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SettingInfo" - } - } - } - } - }, - "/settings/search/available": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统可用状态", - "tags": [ - "System Setting" - ], - "summary": "Load system available status", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/snapshot": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建系统快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Create system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "from", - "description" - ], - "formatEN": "Create system backup [description] to [from]", - "formatZH": "创建系统快照 [description] 到 [from]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除系统快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Delete system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotBatchDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "Delete system backup [name]", - "formatZH": "删除系统快照 [name]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/description/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新快照描述信息", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update snapshot description", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateDescription" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "description" - ], - "formatEN": "The description of the snapshot [name] is modified =\u003e [description]", - "formatZH": "快照 [name] 描述信息修改 [description]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/import": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "导入已有快照", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Import system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotImport" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "from", - "names" - ], - "formatEN": "Sync system snapshots [names] from [from]", - "formatZH": "从 [from] 同步系统快照 [names]", - "paramKeys": [] - } - } - }, - "/settings/snapshot/recover": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从系统快照恢复", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Recover system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Recover from system backup [name]", - "formatZH": "从系统快照 [name] 恢复", - "paramKeys": [] - } - } - }, - "/settings/snapshot/rollback": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "从系统快照回滚", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Rollback system backup", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SnapshotRecover" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "snapshots", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Rollback from system backup [name]", - "formatZH": "从系统快照 [name] 回滚", - "paramKeys": [] - } - } - }, - "/settings/snapshot/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统快照列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Page system snapshot", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/settings/snapshot/status": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取快照状态", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load Snapshot status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/ssl/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载证书", - "tags": [ - "System Setting" - ], - "summary": "Download system cert", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/settings/ssl/info": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取证书信息", - "tags": [ - "System Setting" - ], - "summary": "Load system cert info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.SettingInfo" - } - } - } - } - }, - "/settings/ssl/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 ssl 登录", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SSLUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "ssl" - ], - "formatEN": "update system ssl =\u003e [ssl]", - "formatZH": "修改系统 ssl =\u003e [ssl]", - "paramKeys": [] - } - } - }, - "/settings/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新系统配置", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Update system setting", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update system setting [key] =\u003e [value]", - "formatZH": "修改系统配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/settings/upgrade": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取版本 release notes", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Load release notes by version", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Upgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "系统更新", - "consumes": [ - "application/json" - ], - "tags": [ - "System Setting" - ], - "summary": "Upgrade", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Upgrade" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "version" - ], - "formatEN": "upgrade system =\u003e [version]", - "formatZH": "更新系统 =\u003e [version]", - "paramKeys": [] - } - } - }, - "/toolbox/clam": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Create clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "path" - ], - "formatEN": "create clam [name][path]", - "formatZH": "创建扫描规则 [name][path]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Clam 基础信息", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.ClamBaseInfo" - } - } - } - } - }, - "/toolbox/clam/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Delete clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "name", - "output_value": "names" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete clam [names]", - "formatZH": "删除扫描规则 [names]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/file/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamFileReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/file/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新病毒扫描配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByNameAndFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/clam/handle": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "执行病毒扫描", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Handle clam scan", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "handle clam scan [name]", - "formatZH": "执行病毒扫描 [name]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Clam 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Operate Clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] FTP", - "formatZH": "[operation] Clam", - "paramKeys": [] - } - } - }, - "/toolbox/clam/record/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清空扫描报告", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Clean clam record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperateByID" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": true, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "clean clam record [name]", - "formatZH": "清空扫描报告 [name]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/record/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描结果详情", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Load clam record detail", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/clam/record/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描结果列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Page clam record", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamLogSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取扫描规则列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Page clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/clam/status/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改扫描规则状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam status", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamUpdateStatus" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "clams", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id", - "status" - ], - "formatEN": "change the status of clam [name] to [status].", - "formatZH": "修改扫描规则 [name] 状态为 [status]", - "paramKeys": [] - } - } - }, - "/toolbox/clam/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改扫描规则", - "consumes": [ - "application/json" - ], - "tags": [ - "Clam" - ], - "summary": "Update clam", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ClamUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name", - "path" - ], - "formatEN": "update clam [name][path]", - "formatZH": "修改扫描规则 [name][path]", - "paramKeys": [] - } - } - }, - "/toolbox/clean": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "清理系统垃圾文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Clean system", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.Clean" - } - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "Clean system junk files", - "formatZH": "清理系统垃圾文件", - "paramKeys": [] - } - } - }, - "/toolbox/device/base": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取设备基础信息", - "tags": [ - "Device" - ], - "summary": "Load device base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.DeviceBaseInfo" - } - } - } - } - }, - "/toolbox/device/check/dns": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "检查系统 DNS 配置可用性", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Check device DNS conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "load conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.OperationWithName" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/byconf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过文件修改配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device conf by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByNameAndFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/conf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统参数", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SettingUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update device conf [key] =\u003e [value]", - "formatZH": "修改主机参数 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/device/update/host": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 hosts", - "tags": [ - "Device" - ], - "summary": "Update device hosts", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update device host [key] =\u003e [value]", - "formatZH": "修改主机 Host [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/device/update/passwd": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统密码", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device passwd", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.ChangePasswd" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/device/update/swap": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改系统 Swap", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "Update device swap", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SwapHelper" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operate", - "path" - ], - "formatEN": "[operate] device swap [path]", - "formatZH": "[operate] 主机 swap [path]", - "paramKeys": [] - } - } - }, - "/toolbox/device/zone/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取系统可用时区选项", - "consumes": [ - "application/json" - ], - "tags": [ - "Device" - ], - "summary": "list time zone options", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/toolbox/fail2ban/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Fail2ban 基础信息", - "tags": [ - "Fail2ban" - ], - "summary": "Load fail2ban base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.Fail2BanBaseInfo" - } - } - } - } - }, - "/toolbox/fail2ban/load/conf": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 fail2ban 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Load fail2ban conf", - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/fail2ban/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Fail2ban 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Operate fail2ban", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] Fail2ban", - "formatZH": "[operation] Fail2ban", - "paramKeys": [] - } - } - }, - "/toolbox/fail2ban/operate/sshd": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "配置 sshd", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Operate sshd of fail2ban", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {} - } - }, - "/toolbox/fail2ban/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 Fail2ban ip", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Page fail2ban ip list", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Fail2BanSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "Array" - } - } - } - } - }, - "/toolbox/fail2ban/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 Fail2ban 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Update fail2ban conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Fail2BanUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "key", - "value" - ], - "formatEN": "update fail2ban conf [key] =\u003e [value]", - "formatZH": "修改 Fail2ban 配置 [key] =\u003e [value]", - "paramKeys": [] - } - } - }, - "/toolbox/fail2ban/update/byconf": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过文件修改 fail2ban 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Fail2ban" - ], - "summary": "Update fail2ban conf by file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.UpdateByFile" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/toolbox/ftp": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Create FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "user", - "path" - ], - "formatEN": "create FTP [user][path]", - "formatZH": "创建 FTP 账户 [user][path]", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/base": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 基础信息", - "tags": [ - "FTP" - ], - "summary": "Load FTP base info", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.FtpBaseInfo" - } - } - } - } - }, - "/toolbox/ftp/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Delete FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "ftps", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "user", - "output_value": "users" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "delete FTP users [users]", - "formatZH": "删除 FTP 账户 [users]", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/log/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 操作日志", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Load FTP operation log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpLogSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/ftp/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 FTP 状态", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Operate FTP", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.Operate" - } - } - ], - "responses": {}, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "operation" - ], - "formatEN": "[operation] FTP", - "formatZH": "[operation] FTP", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 FTP 账户列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Page FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.SearchWithPage" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/toolbox/ftp/sync": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "同步 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Sync FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.BatchDeleteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "sync FTP users", - "formatZH": "同步 FTP 账户", - "paramKeys": [] - } - } - }, - "/toolbox/ftp/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改 FTP 账户", - "consumes": [ - "application/json" - ], - "tags": [ - "FTP" - ], - "summary": "Update FTP user", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.FtpUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "user", - "path" - ], - "formatEN": "update FTP [user][path]", - "formatZH": "修改 FTP 账户 [user][path]", - "paramKeys": [] - } - } - }, - "/toolbox/scan": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "扫描系统垃圾文件", - "tags": [ - "Device" - ], - "summary": "Scan system", - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [], - "formatEN": "scan System Junk Files", - "formatZH": "扫描系统垃圾文件", - "paramKeys": [] - } - } - }, - "/websites": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Create website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Create website [primaryDomain]", - "formatZH": "创建网站 [primaryDomain]", - "paramKeys": [] - } - } - }, - "/websites/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Search website by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteDTO" - } - } - } - } - }, - "/websites/:id/config/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询网站 nginx", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Search website nginx by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/websites/:id/https": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 https 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website HTTPS" - ], - "summary": "Load https conf", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteHTTPS" - } - } - } - }, - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 https 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website HTTPS" - ], - "summary": "Update https conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteHTTPSOp" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteHTTPS" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Update website https [domain] conf", - "formatZH": "更新网站 [domain] https 配置", - "paramKeys": [] - } - } - }, - "/websites/acme": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 acme", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Create website acme account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteAcmeAccountCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteAcmeAccountDTO" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "email" - ], - "formatEN": "Create website acme [email]", - "formatZH": "创建网站 acme [email]", - "paramKeys": [] - } - } - }, - "/websites/acme/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 acme", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Delete website acme account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_acme_accounts", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "email", - "output_value": "email" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website acme [email]", - "formatZH": "删除网站 acme [email]", - "paramKeys": [] - } - } - }, - "/websites/acme/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 acme 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Acme" - ], - "summary": "Page website acme accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/auths": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取密码访问配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AuthBasic conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAuthReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/auths/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新密码访问配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AuthBasic conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAuthUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ca": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Create website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCACreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/request.WebsiteCACreate" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create website ca [name]", - "formatZH": "创建网站 ca [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Delete website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website ca [name]", - "formatZH": "删除网站 ca [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载 CA 证书文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Download CA file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "download ca file [name]", - "formatZH": "下载 CA 证书文件 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/obtain": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "自签 SSL 证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Obtain SSL", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCAObtain" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Obtain SSL [name]", - "formatZH": "自签 SSL 证书 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/renew": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "续签 SSL 证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Obtain SSL", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCAObtain" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_cas", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Obtain SSL [name]", - "formatZH": "自签 SSL 证书 [name]", - "paramKeys": [] - } - } - }, - "/websites/ca/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ca 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Page website ca", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCASearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/ca/{id}": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ca", - "consumes": [ - "application/json" - ], - "tags": [ - "Website CA" - ], - "summary": "Get website ca", - "parameters": [ - { - "type": "integer", - "description": "id", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteCADTO" - } - } - } - } - }, - "/websites/check": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "网站创建前检查", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Check before create website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteInstallCheckReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsitePreInstallCheck" - } - } - } - } - } - }, - "/websites/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Load nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxScopeReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteNginxConfig" - } - } - } - } - }, - "/websites/config/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Update nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Nginx conf update [domain]", - "formatZH": "nginx 配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/default/html/:type": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取默认 html", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get default html", - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.FileInfo" - } - } - } - } - }, - "/websites/default/html/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新默认 html", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update default html", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteHtmlUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "Update default html", - "formatZH": "更新默认 html", - "paramKeys": [] - } - } - }, - "/websites/default/server": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Change default server", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDefaultUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id", - "operate" - ], - "formatEN": "Change default server =\u003e [domain]", - "formatZH": "修改默认 server =\u003e [domain]", - "paramKeys": [] - } - } - }, - "/websites/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Delete website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website [domain]", - "formatZH": "删除网站 [domain]", - "paramKeys": [] - } - } - }, - "/websites/dir": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站目录配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get website dir", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/dir/permission": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站目录权限", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update Site Dir permission", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdateDirPermission" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] dir permission", - "formatZH": "更新网站 [domain] 目录权限", - "paramKeys": [] - } - } - }, - "/websites/dir/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站目录", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update Site Dir", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdateDir" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] dir", - "formatZH": "更新网站 [domain] 目录", - "paramKeys": [] - } - } - }, - "/websites/dns": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Create website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDnsAccountCreate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Create website dns [name]", - "formatZH": "创建网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/dns/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Delete website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_dns_accounts", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "name", - "output_value": "name" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete website dns [name]", - "formatZH": "删除网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/dns/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 dns 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Page website dns accounts", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/dto.PageInfo" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/dns/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站 dns", - "consumes": [ - "application/json" - ], - "tags": [ - "Website DNS" - ], - "summary": "Update website dns account", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDnsAccountUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "name" - ], - "formatEN": "Update website dns [name]", - "formatZH": "更新网站 dns [name]", - "paramKeys": [] - } - } - }, - "/websites/domains": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Create website domain", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDomainCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/model.WebsiteDomain" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "domain" - ], - "formatEN": "Create domain [domain]", - "formatZH": "创建域名 [domain]", - "paramKeys": [] - } - } - }, - "/websites/domains/:websiteId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过网站 id 查询域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Search website domains by websiteId", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "websiteId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - } - } - } - } - }, - "/websites/domains/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站域名", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Domain" - ], - "summary": "Delete website domain", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDomainDelete" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_domains", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Delete domain [domain]", - "formatZH": "删除域名 [domain]", - "paramKeys": [] - } - } - }, - "/websites/leech": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取防盗链配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get AntiLeech conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxCommonReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/leech/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新防盗链配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update AntiLeech", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxAntiLeechUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/list": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表", - "tags": [ - "Website" - ], - "summary": "List websites", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsiteDTO" - } - } - } - } - } - }, - "/websites/log": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站日志", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Operate website log", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteLogReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.WebsiteLog" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id", - "operate" - ], - "formatEN": "[domain][operate] logs", - "formatZH": "[domain][operate] 日志", - "paramKeys": [] - } - } - }, - "/websites/nginx/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 网站 nginx 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website Nginx" - ], - "summary": "Update website nginx conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteNginxUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "[domain] Nginx conf update", - "formatZH": "[domain] Nginx 配置修改", - "paramKeys": [] - } - } - }, - "/websites/operate": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "操作网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Operate website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteOp" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "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/options": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表", - "tags": [ - "Website" - ], - "summary": "List website names", - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - }, - "/websites/php/config": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 网站 PHP 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update website php conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPConfigUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "[domain] PHP conf update", - "formatZH": "[domain] PHP 配置修改", - "paramKeys": [] - } - } - }, - "/websites/php/config/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 php 配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Load website php conf", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/response.PHPConfig" - } - } - } - } - }, - "/websites/php/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 php 配置文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update php conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPFileUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "Nginx conf update [domain]", - "formatZH": "php 配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/php/version": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "变更 php 版本", - "consumes": [ - "application/json" - ], - "tags": [ - "Website PHP" - ], - "summary": "Update php version", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsitePHPVersionReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteId", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteId" - ], - "formatEN": "php version update [domain]", - "formatZH": "php 版本变更 [domain]", - "paramKeys": [] - } - } - }, - "/websites/proxies": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取反向代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get proxy conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/proxies/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改反向代理配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update proxy conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyConfig" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update domain [domain] proxy config", - "formatZH": "修改网站 [domain] 反向代理配置 ", - "paramKeys": [] - } - } - }, - "/websites/proxy/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新反向代理文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update proxy file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxProxyUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf proxy file update [domain]", - "formatZH": "更新反向代理文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/redirect": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取重定向配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get redirect conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteProxyReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/redirect/file": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新重定向文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update redirect file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRedirectUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf redirect file update [domain]", - "formatZH": "更新重定向文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/redirect/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "修改重定向配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update redirect conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRedirectReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Update domain [domain] redirect config", - "formatZH": "修改网站 [domain] 重定向理配置 ", - "paramKeys": [] - } - } - }, - "/websites/rewrite": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取伪静态配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Get rewrite conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRewriteReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/rewrite/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新伪静态配置", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update rewrite conf", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.NginxRewriteUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "websites", - "input_column": "id", - "input_value": "websiteID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "websiteID" - ], - "formatEN": "Nginx conf rewrite update [domain]", - "formatZH": "伪静态配置修改 [domain]", - "paramKeys": [] - } - } - }, - "/websites/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Page websites", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSearch" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/dto.PageResult" - } - } - } - } - }, - "/websites/ssl": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "创建网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Create website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLCreate" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/request.WebsiteSSLCreate" - } - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Create website ssl [primaryDomain]", - "formatZH": "创建网站 ssl [primaryDomain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/:id": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过 id 查询 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Search website ssl by id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ssl/del": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "删除网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Delete website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteBatchDelReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "ids", - "isList": true, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "ids" - ], - "formatEN": "Delete ssl [domain]", - "formatZH": "删除 ssl [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/download": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "下载证书文件", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Download SSL file", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteResourceReq" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "download ssl file [domain]", - "formatZH": "下载证书文件 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/obtain": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "申请证书", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Apply ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLApply" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "ID", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "ID" - ], - "formatEN": "apply ssl [domain]", - "formatZH": "申请证书 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/resolve": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "解析网站 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Resolve website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteDNSReq" - } - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/response.WebsiteDNSRes" - } - } - } - } - } - }, - "/websites/ssl/search": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "获取网站 ssl 列表分页", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Page website ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLSearch" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/ssl/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Update ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [ - { - "db": "website_ssls", - "input_column": "id", - "input_value": "id", - "isList": false, - "output_column": "primary_domain", - "output_value": "domain" - } - ], - "bodyKeys": [ - "id" - ], - "formatEN": "Update ssl config [domain]", - "formatZH": "更新证书设置 [domain]", - "paramKeys": [] - } - } - }, - "/websites/ssl/upload": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "上传 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Upload ssl", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteSSLUpload" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "type" - ], - "formatEN": "Upload ssl [type]", - "formatZH": "上传 ssl [type]", - "paramKeys": [] - } - } - }, - "/websites/ssl/website/:websiteId": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "通过网站 id 查询 ssl", - "consumes": [ - "application/json" - ], - "tags": [ - "Website SSL" - ], - "summary": "Search website ssl by website id", - "parameters": [ - { - "type": "integer", - "description": "request", - "name": "websiteId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/websites/update": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "description": "更新网站", - "consumes": [ - "application/json" - ], - "tags": [ - "Website" - ], - "summary": "Update website", - "parameters": [ - { - "description": "request", - "name": "request", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WebsiteUpdate" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "x-panel-log": { - "BeforeFunctions": [], - "bodyKeys": [ - "primaryDomain" - ], - "formatEN": "Update website [primaryDomain]", - "formatZH": "更新网站 [primaryDomain]", - "paramKeys": [] - } - } - } - }, - "definitions": { - "dto.AddrRuleOperate": { - "type": "object", - "required": [ - "address", - "operation", - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - } - } - }, - "dto.AddrRuleUpdate": { - "type": "object", - "properties": { - "newRule": { - "$ref": "#/definitions/dto.AddrRuleOperate" - }, - "oldRule": { - "$ref": "#/definitions/dto.AddrRuleOperate" - } - } - }, - "dto.AppInstallInfo": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.AppResource": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.AppVersion": { - "type": "object", - "properties": { - "detailId": { - "type": "integer" - }, - "dockerCompose": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.BackupInfo": { - "type": "object", - "properties": { - "backupPath": { - "type": "string" - }, - "bucket": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.BackupOperate": { - "type": "object", - "required": [ - "type", - "vars" - ], - "properties": { - "accessKey": { - "type": "string" - }, - "backupPath": { - "type": "string" - }, - "bucket": { - "type": "string" - }, - "credential": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.BackupSearchFile": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string" - } - } - }, - "dto.BatchDelete": { - "type": "object", - "required": [ - "names" - ], - "properties": { - "force": { - "type": "boolean" - }, - "names": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.BatchDeleteReq": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.BatchRuleOperate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "rules": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - }, - "type": { - "type": "string" - } - } - }, - "dto.BindInfo": { - "type": "object", - "required": [ - "bindAddress", - "ipv6" - ], - "properties": { - "bindAddress": { - "type": "string" - }, - "ipv6": { - "type": "string", - "enum": [ - "enable", - "disable" - ] - } - } - }, - "dto.BindUser": { - "type": "object", - "required": [ - "database", - "db", - "password", - "permission", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "db": { - "type": "string" - }, - "password": { - "type": "string" - }, - "permission": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "dto.CaptchaResponse": { - "type": "object", - "properties": { - "captchaID": { - "type": "string" - }, - "imagePath": { - "type": "string" - } - } - }, - "dto.ChangeDBInfo": { - "type": "object", - "required": [ - "database", - "from", - "type", - "value" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb", - "postgresql" - ] - }, - "value": { - "type": "string" - } - } - }, - "dto.ChangeHostGroup": { - "type": "object", - "required": [ - "groupID", - "id" - ], - "properties": { - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - } - } - }, - "dto.ChangePasswd": { - "type": "object", - "properties": { - "passwd": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.ChangeRedisPass": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "database": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "dto.ClamBaseInfo": { - "type": "object", - "properties": { - "freshIsActive": { - "type": "boolean" - }, - "freshIsExist": { - "type": "boolean" - }, - "freshVersion": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - }, - "version": { - "type": "string" - } - } - }, - "dto.ClamCreate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "infectedDir": { - "type": "string" - }, - "infectedStrategy": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.ClamDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - }, - "removeInfected": { - "type": "boolean" - }, - "removeRecord": { - "type": "boolean" - } - } - }, - "dto.ClamFileReq": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "tail": { - "type": "string" - } - } - }, - "dto.ClamLogReq": { - "type": "object", - "properties": { - "clamName": { - "type": "string" - }, - "recordName": { - "type": "string" - }, - "tail": { - "type": "string" - } - } - }, - "dto.ClamLogSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "clamID": { - "type": "integer" - }, - "endTime": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "startTime": { - "type": "string" - } - } - }, - "dto.ClamUpdate": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "infectedDir": { - "type": "string" - }, - "infectedStrategy": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "spec": { - "type": "string" - } - } - }, - "dto.ClamUpdateStatus": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.Clean": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "treeType": { - "type": "string" - } - } - }, - "dto.CleanLog": { - "type": "object", - "required": [ - "logType" - ], - "properties": { - "logType": { - "type": "string", - "enum": [ - "login", - "operation" - ] - } - } - }, - "dto.CommandInfo": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "groupBelong": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.CommandOperate": { - "type": "object", - "required": [ - "command", - "name" - ], - "properties": { - "command": { - "type": "string" - }, - "groupBelong": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.CommonBackup": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "app", - "mysql", - "mariadb", - "redis", - "website", - "postgresql" - ] - } - } - }, - "dto.CommonRecover": { - "type": "object", - "required": [ - "source", - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "file": { - "type": "string" - }, - "name": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "source": { - "type": "string", - "enum": [ - "OSS", - "S3", - "SFTP", - "MINIO", - "LOCAL", - "COS", - "KODO", - "OneDrive", - "WebDAV" - ] - }, - "type": { - "type": "string", - "enum": [ - "app", - "mysql", - "mariadb", - "redis", - "website", - "postgresql" - ] - } - } - }, - "dto.ComposeCreate": { - "type": "object", - "required": [ - "from" - ], - "properties": { - "file": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "edit", - "path", - "template" - ] - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "template": { - "type": "integer" - } - } - }, - "dto.ComposeOperation": { - "type": "object", - "required": [ - "name", - "operation", - "path" - ], - "properties": { - "name": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "down" - ] - }, - "path": { - "type": "string" - }, - "withFile": { - "type": "boolean" - } - } - }, - "dto.ComposeTemplateCreate": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "content": { - "type": "string" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.ComposeTemplateInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.ComposeTemplateUpdate": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "dto.ComposeUpdate": { - "type": "object", - "required": [ - "content", - "name", - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "dto.ContainerCommit": { - "type": "object", - "required": [ - "containerID" - ], - "properties": { - "author": { - "type": "string" - }, - "comment": { - "type": "string" - }, - "containerID": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "newImageName": { - "type": "string" - }, - "pause": { - "type": "boolean" - } - } - }, - "dto.ContainerListStats": { - "type": "object", - "properties": { - "containerID": { - "type": "string" - }, - "cpuPercent": { - "type": "number" - }, - "cpuTotalUsage": { - "type": "integer" - }, - "memoryCache": { - "type": "integer" - }, - "memoryLimit": { - "type": "integer" - }, - "memoryPercent": { - "type": "number" - }, - "memoryUsage": { - "type": "integer" - }, - "percpuUsage": { - "type": "integer" - }, - "systemUsage": { - "type": "integer" - } - } - }, - "dto.ContainerOperate": { - "type": "object", - "required": [ - "image", - "name" - ], - "properties": { - "autoRemove": { - "type": "boolean" - }, - "cmd": { - "type": "array", - "items": { - "type": "string" - } - }, - "containerID": { - "type": "string" - }, - "cpuShares": { - "type": "integer" - }, - "entrypoint": { - "type": "array", - "items": { - "type": "string" - } - }, - "env": { - "type": "array", - "items": { - "type": "string" - } - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.PortHelper" - } - }, - "forcePull": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "ipv4": { - "type": "string" - }, - "ipv6": { - "type": "string" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "memory": { - "type": "number" - }, - "name": { - "type": "string" - }, - "nanoCPUs": { - "type": "number" - }, - "network": { - "type": "string" - }, - "openStdin": { - "type": "boolean" - }, - "privileged": { - "type": "boolean" - }, - "publishAllPorts": { - "type": "boolean" - }, - "restartPolicy": { - "type": "string" - }, - "tty": { - "type": "boolean" - }, - "volumes": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.VolumeHelper" - } - } - } - }, - "dto.ContainerOperation": { - "type": "object", - "required": [ - "names", - "operation" - ], - "properties": { - "names": { - "type": "array", - "items": { - "type": "string" - } - }, - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "restart", - "kill", - "pause", - "unpause", - "remove" - ] - } - } - }, - "dto.ContainerPrune": { - "type": "object", - "required": [ - "pruneType" - ], - "properties": { - "pruneType": { - "type": "string", - "enum": [ - "container", - "image", - "volume", - "network", - "buildcache" - ] - }, - "withTagAll": { - "type": "boolean" - } - } - }, - "dto.ContainerPruneReport": { - "type": "object", - "properties": { - "deletedNumber": { - "type": "integer" - }, - "spaceReclaimed": { - "type": "integer" - } - } - }, - "dto.ContainerRename": { - "type": "object", - "required": [ - "name", - "newName" - ], - "properties": { - "name": { - "type": "string" - }, - "newName": { - "type": "string" - } - } - }, - "dto.ContainerStats": { - "type": "object", - "properties": { - "cache": { - "type": "number" - }, - "cpuPercent": { - "type": "number" - }, - "ioRead": { - "type": "number" - }, - "ioWrite": { - "type": "number" - }, - "memory": { - "type": "number" - }, - "networkRX": { - "type": "number" - }, - "networkTX": { - "type": "number" - }, - "shotTime": { - "type": "string" - } - } - }, - "dto.ContainerUpgrade": { - "type": "object", - "required": [ - "image", - "name" - ], - "properties": { - "forcePull": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.CronjobBatchDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "cleanData": { - "type": "boolean" - }, - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.CronjobClean": { - "type": "object", - "required": [ - "cronjobID" - ], - "properties": { - "cleanData": { - "type": "boolean" - }, - "cronjobID": { - "type": "integer" - }, - "isDelete": { - "type": "boolean" - } - } - }, - "dto.CronjobCreate": { - "type": "object", - "required": [ - "name", - "spec", - "type" - ], - "properties": { - "appID": { - "type": "string" - }, - "backupAccounts": { - "type": "string" - }, - "command": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "dbName": { - "type": "string" - }, - "dbType": { - "type": "string" - }, - "defaultDownload": { - "type": "string" - }, - "exclusionRules": { - "type": "string" - }, - "name": { - "type": "string" - }, - "retainCopies": { - "type": "integer", - "minimum": 1 - }, - "script": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "type": { - "type": "string" - }, - "url": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "dto.CronjobDownload": { - "type": "object", - "required": [ - "backupAccountID", - "recordID" - ], - "properties": { - "backupAccountID": { - "type": "integer" - }, - "recordID": { - "type": "integer" - } - } - }, - "dto.CronjobUpdate": { - "type": "object", - "required": [ - "id", - "name", - "spec" - ], - "properties": { - "appID": { - "type": "string" - }, - "backupAccounts": { - "type": "string" - }, - "command": { - "type": "string" - }, - "containerName": { - "type": "string" - }, - "dbName": { - "type": "string" - }, - "dbType": { - "type": "string" - }, - "defaultDownload": { - "type": "string" - }, - "exclusionRules": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "retainCopies": { - "type": "integer", - "minimum": 1 - }, - "script": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "spec": { - "type": "string" - }, - "url": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "dto.CronjobUpdateStatus": { - "type": "object", - "required": [ - "id", - "status" - ], - "properties": { - "id": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.DBBaseInfo": { - "type": "object", - "properties": { - "containerName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - } - } - }, - "dto.DBConfUpdateByFile": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "file": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb", - "postgresql", - "redis" - ] - } - } - }, - "dto.DaemonJsonConf": { - "type": "object", - "properties": { - "cgroupDriver": { - "type": "string" - }, - "experimental": { - "type": "boolean" - }, - "fixedCidrV6": { - "type": "string" - }, - "insecureRegistries": { - "type": "array", - "items": { - "type": "string" - } - }, - "ip6Tables": { - "type": "boolean" - }, - "iptables": { - "type": "boolean" - }, - "ipv6": { - "type": "boolean" - }, - "isSwarm": { - "type": "boolean" - }, - "liveRestore": { - "type": "boolean" - }, - "logMaxFile": { - "type": "string" - }, - "logMaxSize": { - "type": "string" - }, - "registryMirrors": { - "type": "array", - "items": { - "type": "string" - } - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DaemonJsonUpdateByFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.DashboardBase": { - "type": "object", - "properties": { - "appInstalledNumber": { - "type": "integer" - }, - "cpuCores": { - "type": "integer" - }, - "cpuLogicalCores": { - "type": "integer" - }, - "cpuModelName": { - "type": "string" - }, - "cronjobNumber": { - "type": "integer" - }, - "currentInfo": { - "$ref": "#/definitions/dto.DashboardCurrent" - }, - "databaseNumber": { - "type": "integer" - }, - "hostname": { - "type": "string" - }, - "kernelArch": { - "type": "string" - }, - "kernelVersion": { - "type": "string" - }, - "os": { - "type": "string" - }, - "platform": { - "type": "string" - }, - "platformFamily": { - "type": "string" - }, - "platformVersion": { - "type": "string" - }, - "virtualizationSystem": { - "type": "string" - }, - "websiteNumber": { - "type": "integer" - } - } - }, - "dto.DashboardCurrent": { - "type": "object", - "properties": { - "cpuPercent": { - "type": "array", - "items": { - "type": "number" - } - }, - "cpuTotal": { - "type": "integer" - }, - "cpuUsed": { - "type": "number" - }, - "cpuUsedPercent": { - "type": "number" - }, - "diskData": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.DiskInfo" - } - }, - "gpuData": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.GPUInfo" - } - }, - "ioCount": { - "type": "integer" - }, - "ioReadBytes": { - "type": "integer" - }, - "ioReadTime": { - "type": "integer" - }, - "ioWriteBytes": { - "type": "integer" - }, - "ioWriteTime": { - "type": "integer" - }, - "load1": { - "type": "number" - }, - "load15": { - "type": "number" - }, - "load5": { - "type": "number" - }, - "loadUsagePercent": { - "type": "number" - }, - "memoryAvailable": { - "type": "integer" - }, - "memoryTotal": { - "type": "integer" - }, - "memoryUsed": { - "type": "integer" - }, - "memoryUsedPercent": { - "type": "number" - }, - "netBytesRecv": { - "type": "integer" - }, - "netBytesSent": { - "type": "integer" - }, - "procs": { - "type": "integer" - }, - "shotTime": { - "type": "string" - }, - "swapMemoryAvailable": { - "type": "integer" - }, - "swapMemoryTotal": { - "type": "integer" - }, - "swapMemoryUsed": { - "type": "integer" - }, - "swapMemoryUsedPercent": { - "type": "number" - }, - "timeSinceUptime": { - "type": "string" - }, - "uptime": { - "type": "integer" - } - } - }, - "dto.DatabaseCreate": { - "type": "object", - "required": [ - "from", - "name", - "type", - "username", - "version" - ], - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "description": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string", - "maxLength": 256 - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "dto.DatabaseInfo": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string", - "maxLength": 256 - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseItem": { - "type": "object", - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.DatabaseOption": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DatabaseSearch": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "dto.DatabaseUpdate": { - "type": "object", - "required": [ - "type", - "username", - "version" - ], - "properties": { - "address": { - "type": "string" - }, - "clientCert": { - "type": "string" - }, - "clientKey": { - "type": "string" - }, - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "rootCert": { - "type": "string" - }, - "skipVerify": { - "type": "boolean" - }, - "ssl": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "username": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.DeviceBaseInfo": { - "type": "object", - "properties": { - "dns": { - "type": "array", - "items": { - "type": "string" - } - }, - "hostname": { - "type": "string" - }, - "hosts": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.HostHelper" - } - }, - "localTime": { - "type": "string" - }, - "maxSize": { - "type": "integer" - }, - "ntp": { - "type": "string" - }, - "swapDetails": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SwapHelper" - } - }, - "swapMemoryAvailable": { - "type": "integer" - }, - "swapMemoryTotal": { - "type": "integer" - }, - "swapMemoryUsed": { - "type": "integer" - }, - "timeZone": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.DiskInfo": { - "type": "object", - "properties": { - "device": { - "type": "string" - }, - "free": { - "type": "integer" - }, - "inodesFree": { - "type": "integer" - }, - "inodesTotal": { - "type": "integer" - }, - "inodesUsed": { - "type": "integer" - }, - "inodesUsedPercent": { - "type": "number" - }, - "path": { - "type": "string" - }, - "total": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "used": { - "type": "integer" - }, - "usedPercent": { - "type": "number" - } - } - }, - "dto.DockerOperation": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string", - "enum": [ - "start", - "restart", - "stop" - ] - } - } - }, - "dto.DownloadRecord": { - "type": "object", - "required": [ - "fileDir", - "fileName", - "source" - ], - "properties": { - "fileDir": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "source": { - "type": "string", - "enum": [ - "OSS", - "S3", - "SFTP", - "MINIO", - "LOCAL", - "COS", - "KODO", - "OneDrive", - "WebDAV" - ] - } - } - }, - "dto.Fail2BanBaseInfo": { - "type": "object", - "properties": { - "banAction": { - "type": "string" - }, - "banTime": { - "type": "string" - }, - "findTime": { - "type": "string" - }, - "isActive": { - "type": "boolean" - }, - "isEnable": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - }, - "logPath": { - "type": "string" - }, - "maxRetry": { - "type": "integer" - }, - "port": { - "type": "integer" - }, - "version": { - "type": "string" - } - } - }, - "dto.Fail2BanSearch": { - "type": "object", - "required": [ - "status" - ], - "properties": { - "status": { - "type": "string", - "enum": [ - "banned", - "ignore" - ] - } - } - }, - "dto.Fail2BanUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string", - "enum": [ - "port", - "bantime", - "findtime", - "maxretry", - "banaction", - "logpath", - "port" - ] - }, - "value": { - "type": "string" - } - } - }, - "dto.FirewallBaseInfo": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "pingStatus": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "dto.FirewallOperation": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string", - "enum": [ - "start", - "stop", - "restart", - "disablePing", - "enablePing" - ] - } - } - }, - "dto.ForBuckets": { - "type": "object", - "required": [ - "credential", - "type", - "vars" - ], - "properties": { - "accessKey": { - "type": "string" - }, - "credential": { - "type": "string" - }, - "type": { - "type": "string" - }, - "vars": { - "type": "string" - } - } - }, - "dto.ForwardRuleOperate": { - "type": "object", - "properties": { - "rules": { - "type": "array", - "items": { - "type": "object", - "required": [ - "operation", - "port", - "protocol", - "targetPort" - ], - "properties": { - "num": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "tcp/udp" - ] - }, - "targetIP": { - "type": "string" - }, - "targetPort": { - "type": "string" - } - } - } - } - } - }, - "dto.FtpBaseInfo": { - "type": "object", - "properties": { - "isActive": { - "type": "boolean" - }, - "isExist": { - "type": "boolean" - } - } - }, - "dto.FtpCreate": { - "type": "object", - "required": [ - "password", - "path", - "user" - ], - "properties": { - "description": { - "type": "string" - }, - "password": { - "type": "string" - }, - "path": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.FtpLogSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "operation": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "user": { - "type": "string" - } - } - }, - "dto.FtpUpdate": { - "type": "object", - "required": [ - "password", - "path" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string" - }, - "path": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.GPUInfo": { - "type": "object", - "properties": { - "fanSpeed": { - "type": "string" - }, - "gpuUtil": { - "type": "string" - }, - "index": { - "type": "integer" - }, - "maxPowerLimit": { - "type": "string" - }, - "memTotal": { - "type": "string" - }, - "memUsed": { - "type": "string" - }, - "memoryUsage": { - "type": "string" - }, - "performanceState": { - "type": "string" - }, - "powerDraw": { - "type": "string" - }, - "powerUsage": { - "type": "string" - }, - "productName": { - "type": "string" - }, - "temperature": { - "type": "string" - } - } - }, - "dto.GenerateLoad": { - "type": "object", - "required": [ - "encryptionMode" - ], - "properties": { - "encryptionMode": { - "type": "string", - "enum": [ - "rsa", - "ed25519", - "ecdsa", - "dsa" - ] - } - } - }, - "dto.GenerateSSH": { - "type": "object", - "required": [ - "encryptionMode" - ], - "properties": { - "encryptionMode": { - "type": "string", - "enum": [ - "rsa", - "ed25519", - "ecdsa", - "dsa" - ] - }, - "password": { - "type": "string" - } - } - }, - "dto.GroupCreate": { - "type": "object", - "required": [ - "name", - "type" - ], - "properties": { - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.GroupInfo": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "isDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.GroupSearch": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string" - } - } - }, - "dto.GroupUpdate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "id": { - "type": "integer" - }, - "isDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.HostConnTest": { - "type": "object", - "required": [ - "addr", - "port", - "user" - ], - "properties": { - "addr": { - "type": "string" - }, - "authMode": { - "type": "string", - "enum": [ - "password", - "key" - ] - }, - "passPhrase": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - }, - "privateKey": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.HostHelper": { - "type": "object", - "properties": { - "host": { - "type": "string" - }, - "ip": { - "type": "string" - } - } - }, - "dto.HostOperate": { - "type": "object", - "required": [ - "addr", - "port", - "user" - ], - "properties": { - "addr": { - "type": "string" - }, - "authMode": { - "type": "string", - "enum": [ - "password", - "key" - ] - }, - "description": { - "type": "string" - }, - "groupID": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "passPhrase": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - }, - "privateKey": { - "type": "string" - }, - "rememberPassword": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "dto.HostTree": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.TreeChild" - } - }, - "id": { - "type": "integer" - }, - "label": { - "type": "string" - } - } - }, - "dto.ImageBuild": { - "type": "object", - "required": [ - "dockerfile", - "from", - "name" - ], - "properties": { - "dockerfile": { - "type": "string" - }, - "from": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.ImageInfo": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isUsed": { - "type": "boolean" - }, - "size": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.ImageLoad": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "dto.ImagePull": { - "type": "object", - "required": [ - "imageName" - ], - "properties": { - "imageName": { - "type": "string" - }, - "repoID": { - "type": "integer" - } - } - }, - "dto.ImagePush": { - "type": "object", - "required": [ - "name", - "repoID", - "tagName" - ], - "properties": { - "name": { - "type": "string" - }, - "repoID": { - "type": "integer" - }, - "tagName": { - "type": "string" - } - } - }, - "dto.ImageRepoDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.ImageRepoOption": { - "type": "object", - "properties": { - "downloadUrl": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.ImageRepoUpdate": { - "type": "object", - "properties": { - "auth": { - "type": "boolean" - }, - "downloadUrl": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "password": { - "type": "string", - "maxLength": 256 - }, - "protocol": { - "type": "string" - }, - "username": { - "type": "string", - "maxLength": 256 - } - } - }, - "dto.ImageSave": { - "type": "object", - "required": [ - "name", - "path", - "tagName" - ], - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "tagName": { - "type": "string" - } - } - }, - "dto.ImageTag": { - "type": "object", - "required": [ - "sourceID", - "targetName" - ], - "properties": { - "sourceID": { - "type": "string" - }, - "targetName": { - "type": "string" - } - } - }, - "dto.InspectReq": { - "type": "object", - "required": [ - "id", - "type" - ], - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.LogOption": { - "type": "object", - "properties": { - "logMaxFile": { - "type": "string" - }, - "logMaxSize": { - "type": "string" - } - } - }, - "dto.Login": { - "type": "object", - "required": [ - "authMethod", - "language", - "name", - "password" - ], - "properties": { - "authMethod": { - "type": "string", - "enum": [ - "jwt", - "session" - ] - }, - "captcha": { - "type": "string" - }, - "captchaID": { - "type": "string" - }, - "ignoreCaptcha": { - "type": "boolean" - }, - "language": { - "type": "string", - "enum": [ - "zh", - "en", - "tw" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "dto.MFALogin": { - "type": "object", - "required": [ - "code", - "name", - "password" - ], - "properties": { - "authMethod": { - "type": "string" - }, - "code": { - "type": "string" - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - } - } - }, - "dto.MfaCredential": { - "type": "object", - "required": [ - "code", - "interval", - "secret" - ], - "properties": { - "code": { - "type": "string" - }, - "interval": { - "type": "string" - }, - "secret": { - "type": "string" - } - } - }, - "dto.MonitorSearch": { - "type": "object", - "required": [ - "param" - ], - "properties": { - "endTime": { - "type": "string" - }, - "info": { - "type": "string" - }, - "param": { - "type": "string", - "enum": [ - "all", - "cpu", - "memory", - "load", - "io", - "network" - ] - }, - "startTime": { - "type": "string" - } - } - }, - "dto.MysqlDBCreate": { - "type": "object", - "required": [ - "database", - "format", - "from", - "name", - "password", - "permission", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "description": { - "type": "string" - }, - "format": { - "type": "string", - "enum": [ - "utf8mb4", - "utf8", - "gbk", - "big5" - ] - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "permission": { - "type": "string" - }, - "username": { - "type": "string" - } - } - }, - "dto.MysqlDBDelete": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlDBDeleteCheck": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlDBSearch": { - "type": "object", - "required": [ - "database", - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "database": { - "type": "string" - }, - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.MysqlLoadDB": { - "type": "object", - "required": [ - "database", - "from", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - } - } - }, - "dto.MysqlOption": { - "type": "object", - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.MysqlStatus": { - "type": "object", - "properties": { - "Aborted_clients": { - "type": "string" - }, - "Aborted_connects": { - "type": "string" - }, - "Bytes_received": { - "type": "string" - }, - "Bytes_sent": { - "type": "string" - }, - "Com_commit": { - "type": "string" - }, - "Com_rollback": { - "type": "string" - }, - "Connections": { - "type": "string" - }, - "Created_tmp_disk_tables": { - "type": "string" - }, - "Created_tmp_tables": { - "type": "string" - }, - "File": { - "type": "string" - }, - "Innodb_buffer_pool_pages_dirty": { - "type": "string" - }, - "Innodb_buffer_pool_read_requests": { - "type": "string" - }, - "Innodb_buffer_pool_reads": { - "type": "string" - }, - "Key_read_requests": { - "type": "string" - }, - "Key_reads": { - "type": "string" - }, - "Key_write_requests": { - "type": "string" - }, - "Key_writes": { - "type": "string" - }, - "Max_used_connections": { - "type": "string" - }, - "Open_tables": { - "type": "string" - }, - "Opened_files": { - "type": "string" - }, - "Opened_tables": { - "type": "string" - }, - "Position": { - "type": "string" - }, - "Qcache_hits": { - "type": "string" - }, - "Qcache_inserts": { - "type": "string" - }, - "Questions": { - "type": "string" - }, - "Run": { - "type": "string" - }, - "Select_full_join": { - "type": "string" - }, - "Select_range_check": { - "type": "string" - }, - "Sort_merge_passes": { - "type": "string" - }, - "Table_locks_waited": { - "type": "string" - }, - "Threads_cached": { - "type": "string" - }, - "Threads_connected": { - "type": "string" - }, - "Threads_created": { - "type": "string" - }, - "Threads_running": { - "type": "string" - }, - "Uptime": { - "type": "string" - } - } - }, - "dto.MysqlVariables": { - "type": "object", - "properties": { - "binlog_cache_size": { - "type": "string" - }, - "innodb_buffer_pool_size": { - "type": "string" - }, - "innodb_log_buffer_size": { - "type": "string" - }, - "join_buffer_size": { - "type": "string" - }, - "key_buffer_size": { - "type": "string" - }, - "long_query_time": { - "type": "string" - }, - "max_connections": { - "type": "string" - }, - "max_heap_table_size": { - "type": "string" - }, - "query_cache_size": { - "type": "string" - }, - "query_cache_type": { - "type": "string" - }, - "read_buffer_size": { - "type": "string" - }, - "read_rnd_buffer_size": { - "type": "string" - }, - "slow_query_log": { - "type": "string" - }, - "sort_buffer_size": { - "type": "string" - }, - "table_open_cache": { - "type": "string" - }, - "thread_cache_size": { - "type": "string" - }, - "thread_stack": { - "type": "string" - }, - "tmp_table_size": { - "type": "string" - } - } - }, - "dto.MysqlVariablesUpdate": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "mysql", - "mariadb" - ] - }, - "variables": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.MysqlVariablesUpdateHelper" - } - } - } - }, - "dto.MysqlVariablesUpdateHelper": { - "type": "object", - "properties": { - "param": { - "type": "string" - }, - "value": {} - } - }, - "dto.NetworkCreate": { - "type": "object", - "required": [ - "driver", - "name" - ], - "properties": { - "auxAddress": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SettingUpdate" - } - }, - "auxAddressV6": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SettingUpdate" - } - }, - "driver": { - "type": "string" - }, - "gateway": { - "type": "string" - }, - "gatewayV6": { - "type": "string" - }, - "ipRange": { - "type": "string" - }, - "ipRangeV6": { - "type": "string" - }, - "ipv4": { - "type": "boolean" - }, - "ipv6": { - "type": "boolean" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - }, - "subnet": { - "type": "string" - }, - "subnetV6": { - "type": "string" - } - } - }, - "dto.NginxKey": { - "type": "string", - "enum": [ - "index", - "limit-conn", - "ssl", - "cache", - "http-per", - "proxy-cache" - ], - "x-enum-varnames": [ - "Index", - "LimitConn", - "SSL", - "CACHE", - "HttpPer", - "ProxyCache" - ] - }, - "dto.OneDriveInfo": { - "type": "object", - "properties": { - "client_id": { - "type": "string" - }, - "client_secret": { - "type": "string" - }, - "redirect_uri": { - "type": "string" - } - } - }, - "dto.Operate": { - "type": "object", - "required": [ - "operation" - ], - "properties": { - "operation": { - "type": "string" - } - } - }, - "dto.OperateByID": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "dto.OperationWithName": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - } - } - }, - "dto.OperationWithNameAndType": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.Options": { - "type": "object", - "properties": { - "option": { - "type": "string" - } - } - }, - "dto.OsInfo": { - "type": "object", - "properties": { - "diskSize": { - "type": "integer" - }, - "kernelArch": { - "type": "string" - }, - "kernelVersion": { - "type": "string" - }, - "os": { - "type": "string" - }, - "platform": { - "type": "string" - }, - "platformFamily": { - "type": "string" - } - } - }, - "dto.PageContainer": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize", - "state" - ], - "properties": { - "excludeAppStore": { - "type": "boolean" - }, - "filters": { - "type": "string" - }, - "name": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "state", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "state": { - "type": "string", - "enum": [ - "all", - "created", - "running", - "paused", - "restarting", - "removing", - "exited", - "dead" - ] - } - } - }, - "dto.PageCronjob": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "status", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PageInfo": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PageResult": { - "type": "object", - "properties": { - "items": {}, - "total": { - "type": "integer" - } - } - }, - "dto.PasswordUpdate": { - "type": "object", - "required": [ - "newPassword", - "oldPassword" - ], - "properties": { - "newPassword": { - "type": "string" - }, - "oldPassword": { - "type": "string" - } - } - }, - "dto.PortHelper": { - "type": "object", - "properties": { - "containerPort": { - "type": "string" - }, - "hostIP": { - "type": "string" - }, - "hostPort": { - "type": "string" - }, - "protocol": { - "type": "string" - } - } - }, - "dto.PortRuleOperate": { - "type": "object", - "required": [ - "operation", - "port", - "protocol", - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "operation": { - "type": "string", - "enum": [ - "add", - "remove" - ] - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string", - "enum": [ - "tcp", - "udp", - "tcp/udp" - ] - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - } - } - }, - "dto.PortRuleUpdate": { - "type": "object", - "properties": { - "newRule": { - "$ref": "#/definitions/dto.PortRuleOperate" - }, - "oldRule": { - "$ref": "#/definitions/dto.PortRuleOperate" - } - } - }, - "dto.PortUpdate": { - "type": "object", - "required": [ - "serverPort" - ], - "properties": { - "serverPort": { - "type": "integer", - "maximum": 65535, - "minimum": 1 - } - } - }, - "dto.PostgresqlBindUser": { - "type": "object", - "required": [ - "database", - "name", - "password", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "superUser": { - "type": "boolean" - }, - "username": { - "type": "string" - } - } - }, - "dto.PostgresqlDBCreate": { - "type": "object", - "required": [ - "database", - "from", - "name", - "password", - "username" - ], - "properties": { - "database": { - "type": "string" - }, - "description": { - "type": "string" - }, - "format": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "name": { - "type": "string" - }, - "password": { - "type": "string" - }, - "superUser": { - "type": "boolean" - }, - "username": { - "type": "string" - } - } - }, - "dto.PostgresqlDBDelete": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.PostgresqlDBDeleteCheck": { - "type": "object", - "required": [ - "database", - "id", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.PostgresqlDBSearch": { - "type": "object", - "required": [ - "database", - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "database": { - "type": "string" - }, - "info": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "name", - "created_at" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.PostgresqlLoadDB": { - "type": "object", - "required": [ - "database", - "from", - "type" - ], - "properties": { - "database": { - "type": "string" - }, - "from": { - "type": "string", - "enum": [ - "local", - "remote" - ] - }, - "type": { - "type": "string", - "enum": [ - "postgresql" - ] - } - } - }, - "dto.ProxyUpdate": { - "type": "object", - "properties": { - "proxyPasswd": { - "type": "string" - }, - "proxyPasswdKeep": { - "type": "string" - }, - "proxyPort": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "proxyUrl": { - "type": "string" - }, - "proxyUser": { - "type": "string" - } - } - }, - "dto.RecordSearch": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "detailName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "dto.RecordSearchByCronjob": { - "type": "object", - "required": [ - "cronjobID", - "page", - "pageSize" - ], - "properties": { - "cronjobID": { - "type": "integer" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.RedisCommand": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - } - } - }, - "dto.RedisConf": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "containerName": { - "type": "string" - }, - "database": { - "type": "string" - }, - "maxclients": { - "type": "string" - }, - "maxmemory": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "requirepass": { - "type": "string" - }, - "timeout": { - "type": "string" - } - } - }, - "dto.RedisConfPersistenceUpdate": { - "type": "object", - "required": [ - "database", - "type" - ], - "properties": { - "appendfsync": { - "type": "string" - }, - "appendonly": { - "type": "string" - }, - "database": { - "type": "string" - }, - "save": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "aof", - "rbd" - ] - } - } - }, - "dto.RedisConfUpdate": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "database": { - "type": "string" - }, - "maxclients": { - "type": "string" - }, - "maxmemory": { - "type": "string" - }, - "timeout": { - "type": "string" - } - } - }, - "dto.RedisPersistence": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "appendfsync": { - "type": "string" - }, - "appendonly": { - "type": "string" - }, - "database": { - "type": "string" - }, - "save": { - "type": "string" - } - } - }, - "dto.RedisStatus": { - "type": "object", - "required": [ - "database" - ], - "properties": { - "connected_clients": { - "type": "string" - }, - "database": { - "type": "string" - }, - "instantaneous_ops_per_sec": { - "type": "string" - }, - "keyspace_hits": { - "type": "string" - }, - "keyspace_misses": { - "type": "string" - }, - "latest_fork_usec": { - "type": "string" - }, - "mem_fragmentation_ratio": { - "type": "string" - }, - "tcp_port": { - "type": "string" - }, - "total_commands_processed": { - "type": "string" - }, - "total_connections_received": { - "type": "string" - }, - "uptime_in_days": { - "type": "string" - }, - "used_memory": { - "type": "string" - }, - "used_memory_peak": { - "type": "string" - }, - "used_memory_rss": { - "type": "string" - } - } - }, - "dto.ResourceLimit": { - "type": "object", - "properties": { - "cpu": { - "type": "integer" - }, - "memory": { - "type": "integer" - } - } - }, - "dto.RuleSearch": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - }, - "strategy": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "dto.SSHConf": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.SSHHistory": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "area": { - "type": "string" - }, - "authMode": { - "type": "string" - }, - "date": { - "type": "string" - }, - "dateStr": { - "type": "string" - }, - "message": { - "type": "string" - }, - "port": { - "type": "string" - }, - "status": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "dto.SSHInfo": { - "type": "object", - "properties": { - "autoStart": { - "type": "boolean" - }, - "listenAddress": { - "type": "string" - }, - "message": { - "type": "string" - }, - "passwordAuthentication": { - "type": "string" - }, - "permitRootLogin": { - "type": "string" - }, - "port": { - "type": "string" - }, - "pubkeyAuthentication": { - "type": "string" - }, - "status": { - "type": "string" - }, - "useDNS": { - "type": "string" - } - } - }, - "dto.SSHLog": { - "type": "object", - "properties": { - "failedCount": { - "type": "integer" - }, - "logs": { - "type": "array", - "items": { - "$ref": "#/definitions/dto.SSHHistory" - } - }, - "successfulCount": { - "type": "integer" - }, - "totalCount": { - "type": "integer" - } - } - }, - "dto.SSHUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "newValue": { - "type": "string" - }, - "oldValue": { - "type": "string" - } - } - }, - "dto.SSLUpdate": { - "type": "object", - "required": [ - "ssl", - "sslType" - ], - "properties": { - "cert": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "key": { - "type": "string" - }, - "ssl": { - "type": "string", - "enum": [ - "enable", - "disable" - ] - }, - "sslID": { - "type": "integer" - }, - "sslType": { - "type": "string", - "enum": [ - "self", - "select", - "import", - "import-paste", - "import-local" - ] - } - } - }, - "dto.SearchForTree": { - "type": "object", - "properties": { - "info": { - "type": "string" - } - } - }, - "dto.SearchHostWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "groupID": { - "type": "integer" - }, - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SearchLgLogWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "ip": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchOpLogWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "operation": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "source": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchRecord": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "cronjobID": { - "type": "integer" - }, - "endTime": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "startTime": { - "type": "string" - }, - "status": { - "type": "string" - } - } - }, - "dto.SearchSSHLog": { - "type": "object", - "required": [ - "Status", - "page", - "pageSize" - ], - "properties": { - "Status": { - "type": "string", - "enum": [ - "Success", - "Failed", - "All" - ] - }, - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SearchWithPage": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "info": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "dto.SettingInfo": { - "type": "object", - "properties": { - "allowIPs": { - "type": "string" - }, - "appStoreLastModified": { - "type": "string" - }, - "appStoreSyncStatus": { - "type": "string" - }, - "appStoreVersion": { - "type": "string" - }, - "bindAddress": { - "type": "string" - }, - "bindDomain": { - "type": "string" - }, - "complexityVerification": { - "type": "string" - }, - "defaultNetwork": { - "type": "string" - }, - "developerMode": { - "type": "string" - }, - "dingVars": { - "type": "string" - }, - "dockerSockPath": { - "type": "string" - }, - "email": { - "type": "string" - }, - "emailVars": { - "type": "string" - }, - "expirationDays": { - "type": "string" - }, - "expirationTime": { - "type": "string" - }, - "fileRecycleBin": { - "type": "string" - }, - "ipv6": { - "type": "string" - }, - "language": { - "type": "string" - }, - "lastCleanData": { - "type": "string" - }, - "lastCleanSize": { - "type": "string" - }, - "lastCleanTime": { - "type": "string" - }, - "localTime": { - "type": "string" - }, - "menuTabs": { - "type": "string" - }, - "messageType": { - "type": "string" - }, - "mfaInterval": { - "type": "string" - }, - "mfaSecret": { - "type": "string" - }, - "mfaStatus": { - "type": "string" - }, - "monitorInterval": { - "type": "string" - }, - "monitorStatus": { - "type": "string" - }, - "monitorStoreDays": { - "type": "string" - }, - "noAuthSetting": { - "type": "string" - }, - "ntpSite": { - "type": "string" - }, - "panelName": { - "type": "string" - }, - "port": { - "type": "string" - }, - "proxyPasswd": { - "type": "string" - }, - "proxyPasswdKeep": { - "type": "string" - }, - "proxyPort": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "proxyUrl": { - "type": "string" - }, - "proxyUser": { - "type": "string" - }, - "securityEntrance": { - "type": "string" - }, - "serverPort": { - "type": "string" - }, - "sessionTimeout": { - "type": "string" - }, - "snapshotIgnore": { - "type": "string" - }, - "ssl": { - "type": "string" - }, - "sslType": { - "type": "string" - }, - "systemIP": { - "type": "string" - }, - "systemVersion": { - "type": "string" - }, - "theme": { - "type": "string" - }, - "timeZone": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "weChatVars": { - "type": "string" - }, - "xpackHideMenu": { - "type": "string" - } - } - }, - "dto.SettingUpdate": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "dto.SnapshotBatchDelete": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "deleteWithFile": { - "type": "boolean" - }, - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "dto.SnapshotCreate": { - "type": "object", - "required": [ - "defaultDownload", - "from" - ], - "properties": { - "defaultDownload": { - "type": "string" - }, - "description": { - "type": "string", - "maxLength": 256 - }, - "from": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "secret": { - "type": "string" - } - } - }, - "dto.SnapshotImport": { - "type": "object", - "properties": { - "description": { - "type": "string", - "maxLength": 256 - }, - "from": { - "type": "string" - }, - "names": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.SnapshotRecover": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - }, - "isNew": { - "type": "boolean" - }, - "reDownload": { - "type": "boolean" - }, - "secret": { - "type": "string" - } - } - }, - "dto.SwapHelper": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "isNew": { - "type": "boolean" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "used": { - "type": "string" - } - } - }, - "dto.TreeChild": { - "type": "object", - "properties": { - "id": { - "type": "integer" - }, - "label": { - "type": "string" - } - } - }, - "dto.UpdateByFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - } - } - }, - "dto.UpdateByNameAndFile": { - "type": "object", - "properties": { - "file": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "dto.UpdateDescription": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "description": { - "type": "string", - "maxLength": 256 - }, - "id": { - "type": "integer" - } - } - }, - "dto.UpdateFirewallDescription": { - "type": "object", - "required": [ - "strategy" - ], - "properties": { - "address": { - "type": "string" - }, - "description": { - "type": "string" - }, - "port": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "strategy": { - "type": "string", - "enum": [ - "accept", - "drop" - ] - }, - "type": { - "type": "string" - } - } - }, - "dto.Upgrade": { - "type": "object", - "required": [ - "version" - ], - "properties": { - "version": { - "type": "string" - } - } - }, - "dto.UpgradeInfo": { - "type": "object", - "properties": { - "latestVersion": { - "type": "string" - }, - "newVersion": { - "type": "string" - }, - "releaseNote": { - "type": "string" - }, - "testVersion": { - "type": "string" - } - } - }, - "dto.UserLoginInfo": { - "type": "object", - "properties": { - "mfaStatus": { - "type": "string" - }, - "name": { - "type": "string" - }, - "token": { - "type": "string" - } - } - }, - "dto.VolumeCreate": { - "type": "object", - "required": [ - "driver", - "name" - ], - "properties": { - "driver": { - "type": "string" - }, - "labels": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "dto.VolumeHelper": { - "type": "object", - "properties": { - "containerDir": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "sourceDir": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "files.FileInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "extension": { - "type": "string" - }, - "favoriteID": { - "type": "integer" - }, - "gid": { - "type": "string" - }, - "group": { - "type": "string" - }, - "isDetail": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "isHidden": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "itemTotal": { - "type": "integer" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/files.FileInfo" - } - }, - "linkPath": { - "type": "string" - }, - "mimeType": { - "type": "string" - }, - "modTime": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "updateTime": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "mfa.Otp": { - "type": "object", - "properties": { - "qrImage": { - "type": "string" - }, - "secret": { - "type": "string" - } - } - }, - "model.App": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "crossVersionUpdate": { - "type": "boolean" - }, - "document": { - "type": "string" - }, - "github": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "readMe": { - "type": "string" - }, - "recommend": { - "type": "integer" - }, - "required": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "shortDescEn": { - "type": "string" - }, - "shortDescZh": { - "type": "string" - }, - "status": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "website": { - "type": "string" - } - } - }, - "model.AppInstall": { - "type": "object", - "properties": { - "app": { - "$ref": "#/definitions/model.App" - }, - "appDetailId": { - "type": "integer" - }, - "appId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "dockerCompose": { - "type": "string" - }, - "env": { - "type": "string" - }, - "httpPort": { - "type": "integer" - }, - "httpsPort": { - "type": "integer" - }, - "id": { - "type": "integer" - }, - "message": { - "type": "string" - }, - "name": { - "type": "string" - }, - "param": { - "type": "string" - }, - "serviceName": { - "type": "string" - }, - "status": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "model.Tag": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "key": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sort": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - } - } - }, - "model.Website": { - "type": "object", - "properties": { - "IPV6": { - "type": "boolean" - }, - "accessLog": { - "type": "boolean" - }, - "alias": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "createdAt": { - "type": "string" - }, - "defaultServer": { - "type": "boolean" - }, - "domains": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - }, - "errorLog": { - "type": "boolean" - }, - "expireDate": { - "type": "string" - }, - "ftpId": { - "type": "integer" - }, - "group": { - "type": "string" - }, - "httpConfig": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "rewrite": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "siteDir": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "user": { - "type": "string" - }, - "webSiteGroupId": { - "type": "integer" - }, - "webSiteSSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "webSiteSSLId": { - "type": "integer" - } - } - }, - "model.WebsiteAcmeAccount": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "model.WebsiteDnsAccount": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "model.WebsiteDomain": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "port": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "model.WebsiteSSL": { - "type": "object", - "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" - }, - "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": { - "type": "array", - "items": { - "$ref": "#/definitions/model.Website" - } - } - } - }, - "request.AppInstallCreate": { - "type": "object", - "required": [ - "appDetailId", - "name" - ], - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "appDetailId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - }, - "services": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "request.AppInstalledIgnoreUpgrade": { - "type": "object", - "required": [ - "detailID", - "operate" - ], - "properties": { - "detailID": { - "type": "integer" - }, - "operate": { - "type": "string", - "enum": [ - "cancel", - "ignore" - ] - } - } - }, - "request.AppInstalledInfo": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "key": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "request.AppInstalledOperate": { - "type": "object", - "required": [ - "installId", - "operate" - ], - "properties": { - "backup": { - "type": "boolean" - }, - "backupId": { - "type": "integer" - }, - "deleteBackup": { - "type": "boolean" - }, - "deleteDB": { - "type": "boolean" - }, - "detailId": { - "type": "integer" - }, - "dockerCompose": { - "type": "string" - }, - "forceDelete": { - "type": "boolean" - }, - "installId": { - "type": "integer" - }, - "operate": { - "type": "string" - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.AppInstalledSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "all": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "sync": { - "type": "boolean" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "unused": { - "type": "boolean" - }, - "update": { - "type": "boolean" - } - } - }, - "request.AppInstalledUpdate": { - "type": "object", - "required": [ - "installId", - "params" - ], - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "installId": { - "type": "integer" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.AppSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "recommend": { - "type": "boolean" - }, - "resource": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.DirSizeReq": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.ExposedPort": { - "type": "object", - "properties": { - "containerPort": { - "type": "integer" - }, - "hostPort": { - "type": "integer" - } - } - }, - "request.FavoriteCreate": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.FavoriteDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.FileBatchDelete": { - "type": "object", - "required": [ - "paths" - ], - "properties": { - "isDir": { - "type": "boolean" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "request.FileCompress": { - "type": "object", - "required": [ - "dst", - "files", - "name", - "type" - ], - "properties": { - "dst": { - "type": "string" - }, - "files": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "replace": { - "type": "boolean" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.FileContentReq": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "isDetail": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "request.FileCreate": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "isDir": { - "type": "boolean" - }, - "isLink": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "linkPath": { - "type": "string" - }, - "mode": { - "type": "integer" - }, - "path": { - "type": "string" - }, - "sub": { - "type": "boolean" - } - } - }, - "request.FileDeCompress": { - "type": "object", - "required": [ - "dst", - "path", - "type" - ], - "properties": { - "dst": { - "type": "string" - }, - "path": { - "type": "string" - }, - "secret": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.FileDelete": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "forceDelete": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "request.FileDownload": { - "type": "object", - "required": [ - "name", - "paths", - "type" - ], - "properties": { - "compress": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.FileEdit": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "content": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "request.FileMove": { - "type": "object", - "required": [ - "newPath", - "oldPaths", - "type" - ], - "properties": { - "cover": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "newPath": { - "type": "string" - }, - "oldPaths": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - } - } - }, - "request.FileOption": { - "type": "object", - "properties": { - "containSub": { - "type": "boolean" - }, - "dir": { - "type": "boolean" - }, - "expand": { - "type": "boolean" - }, - "isDetail": { - "type": "boolean" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "path": { - "type": "string" - }, - "search": { - "type": "string" - }, - "showHidden": { - "type": "boolean" - }, - "sortBy": { - "type": "string" - }, - "sortOrder": { - "type": "string" - } - } - }, - "request.FilePathCheck": { - "type": "object", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string" - } - } - }, - "request.FileReadByLineReq": { - "type": "object", - "required": [ - "page", - "pageSize", - "type" - ], - "properties": { - "ID": { - "type": "integer" - }, - "latest": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "request.FileRename": { - "type": "object", - "required": [ - "newName", - "oldName" - ], - "properties": { - "newName": { - "type": "string" - }, - "oldName": { - "type": "string" - } - } - }, - "request.FileRoleReq": { - "type": "object", - "required": [ - "group", - "mode", - "paths", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "mode": { - "type": "integer" - }, - "paths": { - "type": "array", - "items": { - "type": "string" - } - }, - "sub": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "request.FileRoleUpdate": { - "type": "object", - "required": [ - "group", - "path", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "path": { - "type": "string" - }, - "sub": { - "type": "boolean" - }, - "user": { - "type": "string" - } - } - }, - "request.FileWget": { - "type": "object", - "required": [ - "name", - "path", - "url" - ], - "properties": { - "ignoreCertificate": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "request.HostToolConfig": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "operate": { - "type": "string", - "enum": [ - "get", - "set" - ] - }, - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.HostToolCreate": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "configPath": { - "type": "string" - }, - "serviceName": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.HostToolLogReq": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.HostToolReq": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "operate": { - "type": "string", - "enum": [ - "status", - "restart", - "start", - "stop" - ] - }, - "type": { - "type": "string", - "enum": [ - "supervisord" - ] - } - } - }, - "request.NewAppInstall": { - "type": "object", - "properties": { - "advanced": { - "type": "boolean" - }, - "allowPort": { - "type": "boolean" - }, - "appDetailID": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "cpuQuota": { - "type": "number" - }, - "dockerCompose": { - "type": "string" - }, - "editCompose": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "memoryLimit": { - "type": "number" - }, - "memoryUnit": { - "type": "string" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "pullImage": { - "type": "boolean" - } - } - }, - "request.NginxAntiLeechUpdate": { - "type": "object", - "required": [ - "extends", - "return", - "websiteID" - ], - "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": { - "type": "array", - "items": { - "type": "string" - } - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxAuthReq": { - "type": "object", - "required": [ - "websiteID" - ], - "properties": { - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxAuthUpdate": { - "type": "object", - "required": [ - "operate", - "websiteID" - ], - "properties": { - "operate": { - "type": "string" - }, - "password": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "username": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxCommonReq": { - "type": "object", - "required": [ - "websiteID" - ], - "properties": { - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxConfigFileUpdate": { - "type": "object", - "required": [ - "content" - ], - "properties": { - "backup": { - "type": "boolean" - }, - "content": { - "type": "string" - } - } - }, - "request.NginxConfigUpdate": { - "type": "object", - "required": [ - "operate" - ], - "properties": { - "operate": { - "type": "string", - "enum": [ - "add", - "update", - "delete" - ] - }, - "params": {}, - "scope": { - "$ref": "#/definitions/dto.NginxKey" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxProxyUpdate": { - "type": "object", - "required": [ - "content", - "name", - "websiteID" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRedirectReq": { - "type": "object", - "required": [ - "name", - "operate", - "redirect", - "target", - "type", - "websiteID" - ], - "properties": { - "domains": { - "type": "array", - "items": { - "type": "string" - } - }, - "enable": { - "type": "boolean" - }, - "keepPath": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "path": { - "type": "string" - }, - "redirect": { - "type": "string" - }, - "redirectRoot": { - "type": "boolean" - }, - "target": { - "type": "string" - }, - "type": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRedirectUpdate": { - "type": "object", - "required": [ - "content", - "name", - "websiteID" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.NginxRewriteReq": { - "type": "object", - "required": [ - "name", - "websiteId" - ], - "properties": { - "name": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxRewriteUpdate": { - "type": "object", - "required": [ - "name", - "websiteId" - ], - "properties": { - "content": { - "type": "string" - }, - "name": { - "type": "string" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NginxScopeReq": { - "type": "object", - "required": [ - "scope" - ], - "properties": { - "scope": { - "$ref": "#/definitions/dto.NginxKey" - }, - "websiteId": { - "type": "integer" - } - } - }, - "request.NodeModuleReq": { - "type": "object", - "required": [ - "ID" - ], - "properties": { - "ID": { - "type": "integer" - } - } - }, - "request.NodePackageReq": { - "type": "object", - "properties": { - "codeDir": { - "type": "string" - } - } - }, - "request.PHPExtensionsCreate": { - "type": "object", - "required": [ - "extensions", - "name" - ], - "properties": { - "extensions": { - "type": "string" - }, - "name": { - "type": "string" - } - } - }, - "request.PHPExtensionsDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.PHPExtensionsSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "all": { - "type": "boolean" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.PHPExtensionsUpdate": { - "type": "object", - "required": [ - "extensions", - "id" - ], - "properties": { - "extensions": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "request.PortUpdate": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "name": { - "type": "string" - }, - "port": { - "type": "integer" - } - } - }, - "request.ProcessReq": { - "type": "object", - "required": [ - "PID" - ], - "properties": { - "PID": { - "type": "integer" - } - } - }, - "request.RecycleBinReduce": { - "type": "object", - "required": [ - "from", - "rName" - ], - "properties": { - "from": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rName": { - "type": "string" - } - } - }, - "request.RuntimeCreate": { - "type": "object", - "properties": { - "appDetailId": { - "type": "integer" - }, - "clean": { - "type": "boolean" - }, - "codeDir": { - "type": "string" - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/request.ExposedPort" - } - }, - "image": { - "type": "string" - }, - "install": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "port": { - "type": "integer" - }, - "resource": { - "type": "string" - }, - "source": { - "type": "string" - }, - "type": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "request.RuntimeDelete": { - "type": "object", - "properties": { - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "request.RuntimeOperate": { - "type": "object", - "properties": { - "ID": { - "type": "integer" - }, - "operate": { - "type": "string" - } - } - }, - "request.RuntimeSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.RuntimeUpdate": { - "type": "object", - "properties": { - "clean": { - "type": "boolean" - }, - "codeDir": { - "type": "string" - }, - "exposedPorts": { - "type": "array", - "items": { - "$ref": "#/definitions/request.ExposedPort" - } - }, - "id": { - "type": "integer" - }, - "image": { - "type": "string" - }, - "install": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "params": { - "type": "object", - "additionalProperties": true - }, - "port": { - "type": "integer" - }, - "rebuild": { - "type": "boolean" - }, - "source": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "request.SearchUploadWithPage": { - "type": "object", - "required": [ - "page", - "pageSize", - "path" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "path": { - "type": "string" - } - } - }, - "request.SupervisorProcessConfig": { - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "name": { - "type": "string" - }, - "numprocs": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "request.SupervisorProcessFileReq": { - "type": "object", - "required": [ - "file", - "name", - "operate" - ], - "properties": { - "content": { - "type": "string" - }, - "file": { - "type": "string", - "enum": [ - "out.log", - "err.log", - "config" - ] - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string", - "enum": [ - "get", - "clear", - "update" - ] - } - } - }, - "request.WebsiteAcmeAccountCreate": { - "type": "object", - "required": [ - "email", - "keyType", - "type" - ], - "properties": { - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "type": { - "type": "string", - "enum": [ - "letsencrypt", - "zerossl", - "buypass", - "google" - ] - } - } - }, - "request.WebsiteBatchDelReq": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "request.WebsiteCACreate": { - "type": "object", - "required": [ - "commonName", - "country", - "keyType", - "name", - "organization" - ], - "properties": { - "city": { - "type": "string" - }, - "commonName": { - "type": "string" - }, - "country": { - "type": "string" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "organizationUint": { - "type": "string" - }, - "province": { - "type": "string" - } - } - }, - "request.WebsiteCAObtain": { - "type": "object", - "required": [ - "domains", - "id", - "keyType", - "time", - "unit" - ], - "properties": { - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "domains": { - "type": "string" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string", - "enum": [ - "P256", - "P384", - "2048", - "3072", - "4096", - "8192" - ] - }, - "pushDir": { - "type": "boolean" - }, - "renew": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "sslID": { - "type": "integer" - }, - "time": { - "type": "integer" - }, - "unit": { - "type": "string" - } - } - }, - "request.WebsiteCASearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteCommonReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteCreate": { - "type": "object", - "required": [ - "alias", - "primaryDomain", - "type", - "webSiteGroupID" - ], - "properties": { - "IPV6": { - "type": "boolean" - }, - "alias": { - "type": "string" - }, - "appID": { - "type": "integer" - }, - "appInstall": { - "$ref": "#/definitions/request.NewAppInstall" - }, - "appInstallID": { - "type": "integer" - }, - "appType": { - "type": "string", - "enum": [ - "new", - "installed" - ] - }, - "ftpPassword": { - "type": "string" - }, - "ftpUser": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "port": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "webSiteGroupID": { - "type": "integer" - } - } - }, - "request.WebsiteDNSReq": { - "type": "object", - "required": [ - "acmeAccountId", - "domains" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "domains": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "request.WebsiteDefaultUpdate": { - "type": "object", - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "deleteApp": { - "type": "boolean" - }, - "deleteBackup": { - "type": "boolean" - }, - "forceDelete": { - "type": "boolean" - }, - "id": { - "type": "integer" - } - } - }, - "request.WebsiteDnsAccountCreate": { - "type": "object", - "required": [ - "authorization", - "name", - "type" - ], - "properties": { - "authorization": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteDnsAccountUpdate": { - "type": "object", - "required": [ - "authorization", - "id", - "name", - "type" - ], - "properties": { - "authorization": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteDomainCreate": { - "type": "object", - "required": [ - "domains", - "websiteID" - ], - "properties": { - "domains": { - "type": "string" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.WebsiteDomainDelete": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteHTTPSOp": { - "type": "object", - "required": [ - "websiteId" - ], - "properties": { - "SSLProtocol": { - "type": "array", - "items": { - "type": "string" - } - }, - "algorithm": { - "type": "string" - }, - "certificate": { - "type": "string" - }, - "certificatePath": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hsts": { - "type": "boolean" - }, - "httpConfig": { - "type": "string", - "enum": [ - "HTTPSOnly", - "HTTPAlso", - "HTTPToHTTPS" - ] - }, - "importType": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "privateKeyPath": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "existed", - "auto", - "manual" - ] - }, - "websiteId": { - "type": "integer" - }, - "websiteSSLId": { - "type": "integer" - } - } - }, - "request.WebsiteHtmlUpdate": { - "type": "object", - "required": [ - "content", - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsiteInstallCheckReq": { - "type": "object", - "properties": { - "InstallIds": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "request.WebsiteLogReq": { - "type": "object", - "required": [ - "id", - "logType", - "operate" - ], - "properties": { - "id": { - "type": "integer" - }, - "logType": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteNginxUpdate": { - "type": "object", - "required": [ - "content", - "id" - ], - "properties": { - "content": { - "type": "string" - }, - "id": { - "type": "integer" - } - } - }, - "request.WebsiteOp": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - }, - "operate": { - "type": "string" - } - } - }, - "request.WebsitePHPConfigUpdate": { - "type": "object", - "required": [ - "id", - "scope" - ], - "properties": { - "disableFunctions": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "integer" - }, - "params": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "scope": { - "type": "string" - }, - "uploadMaxSize": { - "type": "string" - } - } - }, - "request.WebsitePHPFileUpdate": { - "type": "object", - "required": [ - "content", - "id", - "type" - ], - "properties": { - "content": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "type": { - "type": "string" - } - } - }, - "request.WebsitePHPVersionReq": { - "type": "object", - "required": [ - "runtimeID", - "websiteID" - ], - "properties": { - "retainConfig": { - "type": "boolean" - }, - "runtimeID": { - "type": "integer" - }, - "websiteID": { - "type": "integer" - } - } - }, - "request.WebsiteProxyConfig": { - "type": "object", - "required": [ - "id", - "match", - "name", - "operate", - "proxyHost", - "proxyPass" - ], - "properties": { - "cache": { - "type": "boolean" - }, - "cacheTime": { - "type": "integer" - }, - "cacheUnit": { - "type": "string" - }, - "content": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "filePath": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "match": { - "type": "string" - }, - "modifier": { - "type": "string" - }, - "name": { - "type": "string" - }, - "operate": { - "type": "string" - }, - "proxyHost": { - "type": "string" - }, - "proxyPass": { - "type": "string" - }, - "replaces": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "sni": { - "type": "boolean" - } - } - }, - "request.WebsiteProxyReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteResourceReq": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "integer" - } - } - }, - "request.WebsiteSSLApply": { - "type": "object", - "required": [ - "ID" - ], - "properties": { - "ID": { - "type": "integer" - }, - "nameservers": { - "type": "array", - "items": { - "type": "string" - } - }, - "skipDNSCheck": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLCreate": { - "type": "object", - "required": [ - "acmeAccountId", - "primaryDomain", - "provider" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "apply": { - "type": "boolean" - }, - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "disableCNAME": { - "type": "boolean" - }, - "dnsAccountId": { - "type": "integer" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "nameserver1": { - "type": "string" - }, - "nameserver2": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "primaryDomain": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "pushDir": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "skipDNS": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLSearch": { - "type": "object", - "required": [ - "page", - "pageSize" - ], - "properties": { - "acmeAccountID": { - "type": "string" - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - } - } - }, - "request.WebsiteSSLUpdate": { - "type": "object", - "required": [ - "id", - "primaryDomain", - "provider" - ], - "properties": { - "acmeAccountId": { - "type": "integer" - }, - "apply": { - "type": "boolean" - }, - "autoRenew": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "dir": { - "type": "string" - }, - "disableCNAME": { - "type": "boolean" - }, - "dnsAccountId": { - "type": "integer" - }, - "execShell": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "nameserver1": { - "type": "string" - }, - "nameserver2": { - "type": "string" - }, - "otherDomains": { - "type": "string" - }, - "primaryDomain": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "pushDir": { - "type": "boolean" - }, - "shell": { - "type": "string" - }, - "skipDNS": { - "type": "boolean" - } - } - }, - "request.WebsiteSSLUpload": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "certificate": { - "type": "string" - }, - "certificatePath": { - "type": "string" - }, - "description": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "privateKeyPath": { - "type": "string" - }, - "sslID": { - "type": "integer" - }, - "type": { - "type": "string", - "enum": [ - "paste", - "local" - ] - } - } - }, - "request.WebsiteSearch": { - "type": "object", - "required": [ - "order", - "orderBy", - "page", - "pageSize" - ], - "properties": { - "name": { - "type": "string" - }, - "order": { - "type": "string", - "enum": [ - "null", - "ascending", - "descending" - ] - }, - "orderBy": { - "type": "string", - "enum": [ - "primary_domain", - "type", - "status", - "created_at", - "expire_date" - ] - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "websiteGroupId": { - "type": "integer" - } - } - }, - "request.WebsiteUpdate": { - "type": "object", - "required": [ - "id", - "primaryDomain" - ], - "properties": { - "IPV6": { - "type": "boolean" - }, - "expireDate": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "webSiteGroupID": { - "type": "integer" - } - } - }, - "request.WebsiteUpdateDir": { - "type": "object", - "required": [ - "id", - "siteDir" - ], - "properties": { - "id": { - "type": "integer" - }, - "siteDir": { - "type": "string" - } - } - }, - "request.WebsiteUpdateDirPermission": { - "type": "object", - "required": [ - "group", - "id", - "user" - ], - "properties": { - "group": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "user": { - "type": "string" - } - } - }, - "response.AppDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "crossVersionUpdate": { - "type": "boolean" - }, - "document": { - "type": "string" - }, - "github": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "installed": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "limit": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "readMe": { - "type": "string" - }, - "recommend": { - "type": "integer" - }, - "required": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "shortDescEn": { - "type": "string" - }, - "shortDescZh": { - "type": "string" - }, - "status": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/definitions/model.Tag" - } - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "versions": { - "type": "array", - "items": { - "type": "string" - } - }, - "website": { - "type": "string" - } - } - }, - "response.AppDetailDTO": { - "type": "object", - "properties": { - "appId": { - "type": "integer" - }, - "createdAt": { - "type": "string" - }, - "dockerCompose": { - "type": "string" - }, - "downloadCallBackUrl": { - "type": "string" - }, - "downloadUrl": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hostMode": { - "type": "boolean" - }, - "id": { - "type": "integer" - }, - "ignoreUpgrade": { - "type": "boolean" - }, - "image": { - "type": "string" - }, - "lastModified": { - "type": "integer" - }, - "lastVersion": { - "type": "string" - }, - "params": {}, - "status": { - "type": "string" - }, - "update": { - "type": "boolean" - }, - "updatedAt": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.AppInstalledCheck": { - "type": "object", - "properties": { - "app": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "containerName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "httpPort": { - "type": "integer" - }, - "httpsPort": { - "type": "integer" - }, - "installPath": { - "type": "string" - }, - "isExist": { - "type": "boolean" - }, - "lastBackupAt": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.AppParam": { - "type": "object", - "properties": { - "edit": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "labelEn": { - "type": "string" - }, - "labelZh": { - "type": "string" - }, - "multiple": { - "type": "boolean" - }, - "required": { - "type": "boolean" - }, - "rule": { - "type": "string" - }, - "showValue": { - "type": "string" - }, - "type": { - "type": "string" - }, - "value": {}, - "values": {} - } - }, - "response.AppService": { - "type": "object", - "properties": { - "config": {}, - "from": { - "type": "string" - }, - "label": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "response.FileInfo": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "extension": { - "type": "string" - }, - "favoriteID": { - "type": "integer" - }, - "gid": { - "type": "string" - }, - "group": { - "type": "string" - }, - "isDetail": { - "type": "boolean" - }, - "isDir": { - "type": "boolean" - }, - "isHidden": { - "type": "boolean" - }, - "isSymlink": { - "type": "boolean" - }, - "itemTotal": { - "type": "integer" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/files.FileInfo" - } - }, - "linkPath": { - "type": "string" - }, - "mimeType": { - "type": "string" - }, - "modTime": { - "type": "string" - }, - "mode": { - "type": "string" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - }, - "size": { - "type": "integer" - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - }, - "updateTime": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "response.FileTree": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/response.FileTree" - } - }, - "extension": { - "type": "string" - }, - "id": { - "type": "string" - }, - "isDir": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "path": { - "type": "string" - } - } - }, - "response.IgnoredApp": { - "type": "object", - "properties": { - "detailID": { - "type": "integer" - }, - "icon": { - "type": "string" - }, - "name": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "response.NginxParam": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "params": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "response.NginxStatus": { - "type": "object", - "properties": { - "accepts": { - "type": "string" - }, - "active": { - "type": "string" - }, - "handled": { - "type": "string" - }, - "reading": { - "type": "string" - }, - "requests": { - "type": "string" - }, - "waiting": { - "type": "string" - }, - "writing": { - "type": "string" - } - } - }, - "response.PHPConfig": { - "type": "object", - "properties": { - "disableFunctions": { - "type": "array", - "items": { - "type": "string" - } - }, - "params": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "uploadMaxSize": { - "type": "string" - } - } - }, - "response.PHPExtensionsDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "extensions": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "response.WebsiteAcmeAccountDTO": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "eabHmacKey": { - "type": "string" - }, - "eabKid": { - "type": "string" - }, - "email": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "url": { - "type": "string" - } - } - }, - "response.WebsiteCADTO": { - "type": "object", - "properties": { - "city": { - "type": "string" - }, - "commonName": { - "type": "string" - }, - "country": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "csr": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "keyType": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "organizationUint": { - "type": "string" - }, - "privateKey": { - "type": "string" - }, - "province": { - "type": "string" - }, - "updatedAt": { - "type": "string" - } - } - }, - "response.WebsiteDNSRes": { - "type": "object", - "properties": { - "domain": { - "type": "string" - }, - "err": { - "type": "string" - }, - "resolve": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "response.WebsiteDTO": { - "type": "object", - "properties": { - "IPV6": { - "type": "boolean" - }, - "accessLog": { - "type": "boolean" - }, - "accessLogPath": { - "type": "string" - }, - "alias": { - "type": "string" - }, - "appInstallId": { - "type": "integer" - }, - "appName": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "defaultServer": { - "type": "boolean" - }, - "domains": { - "type": "array", - "items": { - "$ref": "#/definitions/model.WebsiteDomain" - } - }, - "errorLog": { - "type": "boolean" - }, - "errorLogPath": { - "type": "string" - }, - "expireDate": { - "type": "string" - }, - "ftpId": { - "type": "integer" - }, - "group": { - "type": "string" - }, - "httpConfig": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "primaryDomain": { - "type": "string" - }, - "protocol": { - "type": "string" - }, - "proxy": { - "type": "string" - }, - "proxyType": { - "type": "string" - }, - "remark": { - "type": "string" - }, - "rewrite": { - "type": "string" - }, - "runtimeID": { - "type": "integer" - }, - "runtimeName": { - "type": "string" - }, - "siteDir": { - "type": "string" - }, - "sitePath": { - "type": "string" - }, - "status": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "user": { - "type": "string" - }, - "webSiteGroupId": { - "type": "integer" - }, - "webSiteSSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "webSiteSSLId": { - "type": "integer" - } - } - }, - "response.WebsiteHTTPS": { - "type": "object", - "properties": { - "SSL": { - "$ref": "#/definitions/model.WebsiteSSL" - }, - "SSLProtocol": { - "type": "array", - "items": { - "type": "string" - } - }, - "algorithm": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "hsts": { - "type": "boolean" - }, - "httpConfig": { - "type": "string" - } - } - }, - "response.WebsiteLog": { - "type": "object", - "properties": { - "content": { - "type": "string" - }, - "enable": { - "type": "boolean" - }, - "end": { - "type": "boolean" - }, - "path": { - "type": "string" - } - } - }, - "response.WebsiteNginxConfig": { - "type": "object", - "properties": { - "enable": { - "type": "boolean" - }, - "params": { - "type": "array", - "items": { - "$ref": "#/definitions/response.NginxParam" - } - } - } - }, - "response.WebsitePreInstallCheck": { - "type": "object", - "properties": { - "appName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "type": "string" - }, - "version": { - "type": "string" - } - } - } - } -} \ No newline at end of file diff --git a/cmd/server/docs/swagger.yaml b/cmd/server/docs/swagger.yaml deleted file mode 100644 index 9dabd1965..000000000 --- a/cmd/server/docs/swagger.yaml +++ /dev/null @@ -1,15166 +0,0 @@ -basePath: /api/v1 -definitions: - dto.AddrRuleOperate: - properties: - address: - type: string - description: - type: string - operation: - enum: - - add - - remove - type: string - strategy: - enum: - - accept - - drop - type: string - required: - - address - - operation - - strategy - type: object - dto.AddrRuleUpdate: - properties: - newRule: - $ref: '#/definitions/dto.AddrRuleOperate' - oldRule: - $ref: '#/definitions/dto.AddrRuleOperate' - type: object - dto.AppInstallInfo: - properties: - id: - type: integer - key: - type: string - name: - type: string - type: object - dto.AppResource: - properties: - name: - type: string - type: - type: string - type: object - dto.AppVersion: - properties: - detailId: - type: integer - dockerCompose: - type: string - version: - type: string - type: object - dto.BackupInfo: - properties: - backupPath: - type: string - bucket: - type: string - createdAt: - type: string - id: - type: integer - type: - type: string - vars: - type: string - type: object - dto.BackupOperate: - properties: - accessKey: - type: string - backupPath: - type: string - bucket: - type: string - credential: - type: string - id: - type: integer - type: - type: string - vars: - type: string - required: - - type - - vars - type: object - dto.BackupSearchFile: - properties: - type: - type: string - required: - - type - type: object - dto.BatchDelete: - properties: - force: - type: boolean - names: - items: - type: string - type: array - required: - - names - type: object - dto.BatchDeleteReq: - properties: - ids: - items: - type: integer - type: array - required: - - ids - type: object - dto.BatchRuleOperate: - properties: - rules: - items: - $ref: '#/definitions/dto.PortRuleOperate' - type: array - type: - type: string - required: - - type - type: object - dto.BindInfo: - properties: - bindAddress: - type: string - ipv6: - enum: - - enable - - disable - type: string - required: - - bindAddress - - ipv6 - type: object - dto.BindUser: - properties: - database: - type: string - db: - type: string - password: - type: string - permission: - type: string - username: - type: string - required: - - database - - db - - password - - permission - - username - type: object - dto.CaptchaResponse: - properties: - captchaID: - type: string - imagePath: - type: string - type: object - dto.ChangeDBInfo: - properties: - database: - type: string - from: - enum: - - local - - remote - type: string - id: - type: integer - type: - enum: - - mysql - - mariadb - - postgresql - type: string - value: - type: string - required: - - database - - from - - type - - value - type: object - dto.ChangeHostGroup: - properties: - groupID: - type: integer - id: - type: integer - required: - - groupID - - id - type: object - dto.ChangePasswd: - properties: - passwd: - type: string - user: - type: string - type: object - dto.ChangeRedisPass: - properties: - database: - type: string - value: - type: string - required: - - database - type: object - dto.ClamBaseInfo: - properties: - freshIsActive: - type: boolean - freshIsExist: - type: boolean - freshVersion: - type: string - isActive: - type: boolean - isExist: - type: boolean - version: - type: string - type: object - dto.ClamCreate: - properties: - description: - type: string - infectedDir: - type: string - infectedStrategy: - type: string - name: - type: string - path: - type: string - spec: - type: string - status: - type: string - type: object - dto.ClamDelete: - properties: - ids: - items: - type: integer - type: array - removeInfected: - type: boolean - removeRecord: - type: boolean - required: - - ids - type: object - dto.ClamFileReq: - properties: - name: - type: string - tail: - type: string - required: - - name - type: object - dto.ClamLogReq: - properties: - clamName: - type: string - recordName: - type: string - tail: - type: string - type: object - dto.ClamLogSearch: - properties: - clamID: - type: integer - endTime: - type: string - page: - type: integer - pageSize: - type: integer - startTime: - type: string - required: - - page - - pageSize - type: object - dto.ClamUpdate: - properties: - description: - type: string - id: - type: integer - infectedDir: - type: string - infectedStrategy: - type: string - name: - type: string - path: - type: string - spec: - type: string - type: object - dto.ClamUpdateStatus: - properties: - id: - type: integer - status: - type: string - type: object - dto.Clean: - properties: - name: - type: string - size: - type: integer - treeType: - type: string - type: object - dto.CleanLog: - properties: - logType: - enum: - - login - - operation - type: string - required: - - logType - type: object - dto.CommandInfo: - properties: - command: - type: string - groupBelong: - type: string - groupID: - type: integer - id: - type: integer - name: - type: string - type: object - dto.CommandOperate: - properties: - command: - type: string - groupBelong: - type: string - groupID: - type: integer - id: - type: integer - name: - type: string - required: - - command - - name - type: object - dto.CommonBackup: - properties: - detailName: - type: string - name: - type: string - secret: - type: string - type: - enum: - - app - - mysql - - mariadb - - redis - - website - - postgresql - type: string - required: - - type - type: object - dto.CommonRecover: - properties: - detailName: - type: string - file: - type: string - name: - type: string - secret: - type: string - source: - enum: - - OSS - - S3 - - SFTP - - MINIO - - LOCAL - - COS - - KODO - - OneDrive - - WebDAV - type: string - type: - enum: - - app - - mysql - - mariadb - - redis - - website - - postgresql - type: string - required: - - source - - type - type: object - dto.ComposeCreate: - properties: - file: - type: string - from: - enum: - - edit - - path - - template - type: string - name: - type: string - path: - type: string - template: - type: integer - required: - - from - type: object - dto.ComposeOperation: - properties: - name: - type: string - operation: - enum: - - start - - stop - - down - type: string - path: - type: string - withFile: - type: boolean - required: - - name - - operation - - path - type: object - dto.ComposeTemplateCreate: - properties: - content: - type: string - description: - type: string - name: - type: string - required: - - name - type: object - dto.ComposeTemplateInfo: - properties: - content: - type: string - createdAt: - type: string - description: - type: string - id: - type: integer - name: - type: string - type: object - dto.ComposeTemplateUpdate: - properties: - content: - type: string - description: - type: string - id: - type: integer - type: object - dto.ComposeUpdate: - properties: - content: - type: string - name: - type: string - path: - type: string - required: - - content - - name - - path - type: object - dto.ContainerCommit: - properties: - author: - type: string - comment: - type: string - containerID: - type: string - containerName: - type: string - newImageName: - type: string - pause: - type: boolean - required: - - containerID - type: object - dto.ContainerListStats: - properties: - containerID: - type: string - cpuPercent: - type: number - cpuTotalUsage: - type: integer - memoryCache: - type: integer - memoryLimit: - type: integer - memoryPercent: - type: number - memoryUsage: - type: integer - percpuUsage: - type: integer - systemUsage: - type: integer - type: object - dto.ContainerOperate: - properties: - autoRemove: - type: boolean - cmd: - items: - type: string - type: array - containerID: - type: string - cpuShares: - type: integer - entrypoint: - items: - type: string - type: array - env: - items: - type: string - type: array - exposedPorts: - items: - $ref: '#/definitions/dto.PortHelper' - type: array - forcePull: - type: boolean - image: - type: string - ipv4: - type: string - ipv6: - type: string - labels: - items: - type: string - type: array - memory: - type: number - name: - type: string - nanoCPUs: - type: number - network: - type: string - openStdin: - type: boolean - privileged: - type: boolean - publishAllPorts: - type: boolean - restartPolicy: - type: string - tty: - type: boolean - volumes: - items: - $ref: '#/definitions/dto.VolumeHelper' - type: array - required: - - image - - name - type: object - dto.ContainerOperation: - properties: - names: - items: - type: string - type: array - operation: - enum: - - start - - stop - - restart - - kill - - pause - - unpause - - remove - type: string - required: - - names - - operation - type: object - dto.ContainerPrune: - properties: - pruneType: - enum: - - container - - image - - volume - - network - - buildcache - type: string - withTagAll: - type: boolean - required: - - pruneType - type: object - dto.ContainerPruneReport: - properties: - deletedNumber: - type: integer - spaceReclaimed: - type: integer - type: object - dto.ContainerRename: - properties: - name: - type: string - newName: - type: string - required: - - name - - newName - type: object - dto.ContainerStats: - properties: - cache: - type: number - cpuPercent: - type: number - ioRead: - type: number - ioWrite: - type: number - memory: - type: number - networkRX: - type: number - networkTX: - type: number - shotTime: - type: string - type: object - dto.ContainerUpgrade: - properties: - forcePull: - type: boolean - image: - type: string - name: - type: string - required: - - image - - name - type: object - dto.CronjobBatchDelete: - properties: - cleanData: - type: boolean - ids: - items: - type: integer - type: array - required: - - ids - type: object - dto.CronjobClean: - properties: - cleanData: - type: boolean - cronjobID: - type: integer - isDelete: - type: boolean - required: - - cronjobID - type: object - dto.CronjobCreate: - properties: - appID: - type: string - backupAccounts: - type: string - command: - type: string - containerName: - type: string - dbName: - type: string - dbType: - type: string - defaultDownload: - type: string - exclusionRules: - type: string - name: - type: string - retainCopies: - minimum: 1 - type: integer - script: - type: string - secret: - type: string - sourceDir: - type: string - spec: - type: string - type: - type: string - url: - type: string - website: - type: string - required: - - name - - spec - - type - type: object - dto.CronjobDownload: - properties: - backupAccountID: - type: integer - recordID: - type: integer - required: - - backupAccountID - - recordID - type: object - dto.CronjobUpdate: - properties: - appID: - type: string - backupAccounts: - type: string - command: - type: string - containerName: - type: string - dbName: - type: string - dbType: - type: string - defaultDownload: - type: string - exclusionRules: - type: string - id: - type: integer - name: - type: string - retainCopies: - minimum: 1 - type: integer - script: - type: string - secret: - type: string - sourceDir: - type: string - spec: - type: string - url: - type: string - website: - type: string - required: - - id - - name - - spec - type: object - dto.CronjobUpdateStatus: - properties: - id: - type: integer - status: - type: string - required: - - id - - status - type: object - dto.DBBaseInfo: - properties: - containerName: - type: string - name: - type: string - port: - type: integer - type: object - dto.DBConfUpdateByFile: - properties: - database: - type: string - file: - type: string - type: - enum: - - mysql - - mariadb - - postgresql - - redis - type: string - required: - - database - - type - type: object - dto.DaemonJsonConf: - properties: - cgroupDriver: - type: string - experimental: - type: boolean - fixedCidrV6: - type: string - insecureRegistries: - items: - type: string - type: array - ip6Tables: - type: boolean - iptables: - type: boolean - ipv6: - type: boolean - isSwarm: - type: boolean - liveRestore: - type: boolean - logMaxFile: - type: string - logMaxSize: - type: string - registryMirrors: - items: - type: string - type: array - status: - type: string - version: - type: string - type: object - dto.DaemonJsonUpdateByFile: - properties: - file: - type: string - type: object - dto.DashboardBase: - properties: - appInstalledNumber: - type: integer - cpuCores: - type: integer - cpuLogicalCores: - type: integer - cpuModelName: - type: string - cronjobNumber: - type: integer - currentInfo: - $ref: '#/definitions/dto.DashboardCurrent' - databaseNumber: - type: integer - hostname: - type: string - kernelArch: - type: string - kernelVersion: - type: string - os: - type: string - platform: - type: string - platformFamily: - type: string - platformVersion: - type: string - virtualizationSystem: - type: string - websiteNumber: - type: integer - type: object - dto.DashboardCurrent: - properties: - cpuPercent: - items: - type: number - type: array - cpuTotal: - type: integer - cpuUsed: - type: number - cpuUsedPercent: - type: number - diskData: - items: - $ref: '#/definitions/dto.DiskInfo' - type: array - gpuData: - items: - $ref: '#/definitions/dto.GPUInfo' - type: array - ioCount: - type: integer - ioReadBytes: - type: integer - ioReadTime: - type: integer - ioWriteBytes: - type: integer - ioWriteTime: - type: integer - load1: - type: number - load5: - type: number - load15: - type: number - loadUsagePercent: - type: number - memoryAvailable: - type: integer - memoryTotal: - type: integer - memoryUsed: - type: integer - memoryUsedPercent: - type: number - netBytesRecv: - type: integer - netBytesSent: - type: integer - procs: - type: integer - shotTime: - type: string - swapMemoryAvailable: - type: integer - swapMemoryTotal: - type: integer - swapMemoryUsed: - type: integer - swapMemoryUsedPercent: - type: number - timeSinceUptime: - type: string - uptime: - type: integer - type: object - dto.DatabaseCreate: - properties: - address: - type: string - clientCert: - type: string - clientKey: - type: string - description: - type: string - from: - enum: - - local - - remote - type: string - name: - maxLength: 256 - type: string - password: - type: string - port: - type: integer - rootCert: - type: string - skipVerify: - type: boolean - ssl: - type: boolean - type: - type: string - username: - type: string - version: - type: string - required: - - from - - name - - type - - username - - version - type: object - dto.DatabaseDelete: - properties: - deleteBackup: - type: boolean - forceDelete: - type: boolean - id: - type: integer - required: - - id - type: object - dto.DatabaseInfo: - properties: - address: - type: string - clientCert: - type: string - clientKey: - type: string - createdAt: - type: string - description: - type: string - from: - type: string - id: - type: integer - name: - maxLength: 256 - type: string - password: - type: string - port: - type: integer - rootCert: - type: string - skipVerify: - type: boolean - ssl: - type: boolean - type: - type: string - username: - type: string - version: - type: string - type: object - dto.DatabaseItem: - properties: - database: - type: string - from: - type: string - id: - type: integer - name: - type: string - type: object - dto.DatabaseOption: - properties: - address: - type: string - database: - type: string - from: - type: string - id: - type: integer - type: - type: string - version: - type: string - type: object - dto.DatabaseSearch: - properties: - info: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - name - - created_at - type: string - page: - type: integer - pageSize: - type: integer - type: - type: string - required: - - order - - orderBy - - page - - pageSize - type: object - dto.DatabaseUpdate: - properties: - address: - type: string - clientCert: - type: string - clientKey: - type: string - description: - type: string - id: - type: integer - password: - type: string - port: - type: integer - rootCert: - type: string - skipVerify: - type: boolean - ssl: - type: boolean - type: - type: string - username: - type: string - version: - type: string - required: - - type - - username - - version - type: object - dto.DeviceBaseInfo: - properties: - dns: - items: - type: string - type: array - hostname: - type: string - hosts: - items: - $ref: '#/definitions/dto.HostHelper' - type: array - localTime: - type: string - maxSize: - type: integer - ntp: - type: string - swapDetails: - items: - $ref: '#/definitions/dto.SwapHelper' - type: array - swapMemoryAvailable: - type: integer - swapMemoryTotal: - type: integer - swapMemoryUsed: - type: integer - timeZone: - type: string - user: - type: string - type: object - dto.DiskInfo: - properties: - device: - type: string - free: - type: integer - inodesFree: - type: integer - inodesTotal: - type: integer - inodesUsed: - type: integer - inodesUsedPercent: - type: number - path: - type: string - total: - type: integer - type: - type: string - used: - type: integer - usedPercent: - type: number - type: object - dto.DockerOperation: - properties: - operation: - enum: - - start - - restart - - stop - type: string - required: - - operation - type: object - dto.DownloadRecord: - properties: - fileDir: - type: string - fileName: - type: string - source: - enum: - - OSS - - S3 - - SFTP - - MINIO - - LOCAL - - COS - - KODO - - OneDrive - - WebDAV - type: string - required: - - fileDir - - fileName - - source - type: object - dto.Fail2BanBaseInfo: - properties: - banAction: - type: string - banTime: - type: string - findTime: - type: string - isActive: - type: boolean - isEnable: - type: boolean - isExist: - type: boolean - logPath: - type: string - maxRetry: - type: integer - port: - type: integer - version: - type: string - type: object - dto.Fail2BanSearch: - properties: - status: - enum: - - banned - - ignore - type: string - required: - - status - type: object - dto.Fail2BanUpdate: - properties: - key: - enum: - - port - - bantime - - findtime - - maxretry - - banaction - - logpath - - port - type: string - value: - type: string - required: - - key - type: object - dto.FirewallBaseInfo: - properties: - name: - type: string - pingStatus: - type: string - status: - type: string - version: - type: string - type: object - dto.FirewallOperation: - properties: - operation: - enum: - - start - - stop - - restart - - disablePing - - enablePing - type: string - required: - - operation - 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: - items: - properties: - num: - type: string - operation: - enum: - - add - - remove - type: string - port: - type: string - protocol: - enum: - - tcp - - udp - - tcp/udp - type: string - targetIP: - type: string - targetPort: - type: string - required: - - operation - - port - - protocol - - targetPort - type: object - type: array - type: object - dto.FtpBaseInfo: - properties: - isActive: - type: boolean - isExist: - type: boolean - type: object - dto.FtpCreate: - properties: - description: - type: string - password: - type: string - path: - type: string - user: - type: string - required: - - password - - path - - user - type: object - dto.FtpLogSearch: - properties: - operation: - type: string - page: - type: integer - pageSize: - type: integer - user: - type: string - required: - - page - - pageSize - type: object - dto.FtpUpdate: - properties: - description: - type: string - id: - type: integer - password: - type: string - path: - type: string - status: - type: string - required: - - password - - path - type: object - dto.GPUInfo: - properties: - fanSpeed: - type: string - gpuUtil: - type: string - index: - type: integer - maxPowerLimit: - type: string - memTotal: - type: string - memUsed: - type: string - memoryUsage: - type: string - performanceState: - type: string - powerDraw: - type: string - powerUsage: - type: string - productName: - type: string - temperature: - type: string - type: object - dto.GenerateLoad: - properties: - encryptionMode: - enum: - - rsa - - ed25519 - - ecdsa - - dsa - type: string - required: - - encryptionMode - type: object - dto.GenerateSSH: - properties: - encryptionMode: - enum: - - rsa - - ed25519 - - ecdsa - - dsa - type: string - password: - type: string - required: - - encryptionMode - type: object - dto.GroupCreate: - properties: - id: - type: integer - name: - type: string - type: - type: string - required: - - name - - type - type: object - dto.GroupInfo: - properties: - id: - type: integer - isDefault: - type: boolean - name: - type: string - type: - type: string - type: object - dto.GroupSearch: - properties: - type: - type: string - required: - - type - type: object - dto.GroupUpdate: - properties: - id: - type: integer - isDefault: - type: boolean - name: - type: string - type: - type: string - required: - - type - type: object - dto.HostConnTest: - properties: - addr: - type: string - authMode: - enum: - - password - - key - type: string - passPhrase: - type: string - password: - type: string - port: - maximum: 65535 - minimum: 1 - type: integer - privateKey: - type: string - user: - type: string - required: - - addr - - port - - user - type: object - dto.HostHelper: - properties: - host: - type: string - ip: - type: string - type: object - dto.HostOperate: - properties: - addr: - type: string - authMode: - enum: - - password - - key - type: string - description: - type: string - groupID: - type: integer - id: - type: integer - name: - type: string - passPhrase: - type: string - password: - type: string - port: - maximum: 65535 - minimum: 1 - type: integer - privateKey: - type: string - rememberPassword: - type: boolean - user: - type: string - required: - - addr - - port - - user - type: object - dto.HostTree: - properties: - children: - items: - $ref: '#/definitions/dto.TreeChild' - type: array - id: - type: integer - label: - type: string - type: object - dto.ImageBuild: - properties: - dockerfile: - type: string - from: - type: string - name: - type: string - tags: - items: - type: string - type: array - required: - - dockerfile - - from - - name - type: object - dto.ImageInfo: - properties: - createdAt: - type: string - id: - type: string - isUsed: - type: boolean - size: - type: string - tags: - items: - type: string - type: array - type: object - dto.ImageLoad: - properties: - path: - type: string - required: - - path - type: object - dto.ImagePull: - properties: - imageName: - type: string - repoID: - type: integer - required: - - imageName - type: object - dto.ImagePush: - properties: - name: - type: string - repoID: - type: integer - tagName: - type: string - required: - - name - - repoID - - tagName - type: object - dto.ImageRepoDelete: - properties: - ids: - items: - type: integer - type: array - required: - - ids - type: object - dto.ImageRepoOption: - properties: - downloadUrl: - type: string - id: - type: integer - name: - type: string - type: object - dto.ImageRepoUpdate: - properties: - auth: - type: boolean - downloadUrl: - type: string - id: - type: integer - password: - maxLength: 256 - type: string - protocol: - type: string - username: - maxLength: 256 - type: string - type: object - dto.ImageSave: - properties: - name: - type: string - path: - type: string - tagName: - type: string - required: - - name - - path - - tagName - type: object - dto.ImageTag: - properties: - sourceID: - type: string - targetName: - type: string - required: - - sourceID - - targetName - type: object - dto.InspectReq: - properties: - id: - type: string - type: - type: string - required: - - id - - type - type: object - dto.LogOption: - properties: - logMaxFile: - type: string - logMaxSize: - type: string - type: object - dto.Login: - properties: - authMethod: - enum: - - jwt - - session - type: string - captcha: - type: string - captchaID: - type: string - ignoreCaptcha: - type: boolean - language: - enum: - - zh - - en - - tw - type: string - name: - type: string - password: - type: string - required: - - authMethod - - language - - name - - password - type: object - dto.MFALogin: - properties: - authMethod: - type: string - code: - type: string - name: - type: string - password: - type: string - required: - - code - - name - - password - type: object - dto.MfaCredential: - properties: - code: - type: string - interval: - type: string - secret: - type: string - required: - - code - - interval - - secret - type: object - dto.MonitorSearch: - properties: - endTime: - type: string - info: - type: string - param: - enum: - - all - - cpu - - memory - - load - - io - - network - type: string - startTime: - type: string - required: - - param - type: object - dto.MysqlDBCreate: - properties: - database: - type: string - description: - type: string - format: - enum: - - utf8mb4 - - utf8 - - gbk - - big5 - type: string - from: - enum: - - local - - remote - type: string - name: - type: string - password: - type: string - permission: - type: string - username: - type: string - required: - - database - - format - - from - - name - - password - - permission - - username - type: object - dto.MysqlDBDelete: - properties: - database: - type: string - deleteBackup: - type: boolean - forceDelete: - type: boolean - id: - type: integer - type: - enum: - - mysql - - mariadb - type: string - required: - - database - - id - - type - type: object - dto.MysqlDBDeleteCheck: - properties: - database: - type: string - id: - type: integer - type: - enum: - - mysql - - mariadb - type: string - required: - - database - - id - - type - type: object - dto.MysqlDBSearch: - properties: - database: - type: string - info: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - name - - created_at - type: string - page: - type: integer - pageSize: - type: integer - required: - - database - - order - - orderBy - - page - - pageSize - type: object - dto.MysqlLoadDB: - properties: - database: - type: string - from: - enum: - - local - - remote - type: string - type: - enum: - - mysql - - mariadb - type: string - required: - - database - - from - - type - type: object - dto.MysqlOption: - properties: - database: - type: string - from: - type: string - id: - type: integer - name: - type: string - type: - type: string - type: object - dto.MysqlStatus: - properties: - Aborted_clients: - type: string - Aborted_connects: - type: string - Bytes_received: - type: string - Bytes_sent: - type: string - Com_commit: - type: string - Com_rollback: - type: string - Connections: - type: string - Created_tmp_disk_tables: - type: string - Created_tmp_tables: - type: string - File: - type: string - Innodb_buffer_pool_pages_dirty: - type: string - Innodb_buffer_pool_read_requests: - type: string - Innodb_buffer_pool_reads: - type: string - Key_read_requests: - type: string - Key_reads: - type: string - Key_write_requests: - type: string - Key_writes: - type: string - Max_used_connections: - type: string - Open_tables: - type: string - Opened_files: - type: string - Opened_tables: - type: string - Position: - type: string - Qcache_hits: - type: string - Qcache_inserts: - type: string - Questions: - type: string - Run: - type: string - Select_full_join: - type: string - Select_range_check: - type: string - Sort_merge_passes: - type: string - Table_locks_waited: - type: string - Threads_cached: - type: string - Threads_connected: - type: string - Threads_created: - type: string - Threads_running: - type: string - Uptime: - type: string - type: object - dto.MysqlVariables: - properties: - binlog_cache_size: - type: string - innodb_buffer_pool_size: - type: string - innodb_log_buffer_size: - type: string - join_buffer_size: - type: string - key_buffer_size: - type: string - long_query_time: - type: string - max_connections: - type: string - max_heap_table_size: - type: string - query_cache_size: - type: string - query_cache_type: - type: string - read_buffer_size: - type: string - read_rnd_buffer_size: - type: string - slow_query_log: - type: string - sort_buffer_size: - type: string - table_open_cache: - type: string - thread_cache_size: - type: string - thread_stack: - type: string - tmp_table_size: - type: string - type: object - dto.MysqlVariablesUpdate: - properties: - database: - type: string - type: - enum: - - mysql - - mariadb - type: string - variables: - items: - $ref: '#/definitions/dto.MysqlVariablesUpdateHelper' - type: array - required: - - database - - type - type: object - dto.MysqlVariablesUpdateHelper: - properties: - param: - type: string - value: {} - type: object - dto.NetworkCreate: - properties: - auxAddress: - items: - $ref: '#/definitions/dto.SettingUpdate' - type: array - auxAddressV6: - items: - $ref: '#/definitions/dto.SettingUpdate' - type: array - driver: - type: string - gateway: - type: string - gatewayV6: - type: string - ipRange: - type: string - ipRangeV6: - type: string - ipv4: - type: boolean - ipv6: - type: boolean - labels: - items: - type: string - type: array - name: - type: string - options: - items: - type: string - type: array - subnet: - type: string - subnetV6: - type: string - required: - - driver - - name - type: object - dto.NginxKey: - enum: - - index - - limit-conn - - ssl - - cache - - http-per - - proxy-cache - type: string - x-enum-varnames: - - Index - - LimitConn - - SSL - - CACHE - - HttpPer - - ProxyCache - dto.OneDriveInfo: - properties: - client_id: - type: string - client_secret: - type: string - redirect_uri: - type: string - type: object - dto.Operate: - properties: - operation: - type: string - required: - - operation - type: object - dto.OperateByID: - properties: - id: - type: integer - required: - - id - type: object - dto.OperationWithName: - properties: - name: - type: string - required: - - name - type: object - dto.OperationWithNameAndType: - properties: - name: - type: string - type: - type: string - required: - - type - type: object - dto.Options: - properties: - option: - type: string - type: object - dto.OsInfo: - properties: - diskSize: - type: integer - kernelArch: - type: string - kernelVersion: - type: string - os: - type: string - platform: - type: string - platformFamily: - type: string - type: object - dto.PageContainer: - properties: - excludeAppStore: - type: boolean - filters: - type: string - name: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - name - - state - - created_at - type: string - page: - type: integer - pageSize: - type: integer - state: - enum: - - all - - created - - running - - paused - - restarting - - removing - - exited - - dead - type: string - required: - - order - - orderBy - - page - - pageSize - - state - type: object - dto.PageCronjob: - properties: - info: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - name - - status - - created_at - type: string - page: - type: integer - pageSize: - type: integer - required: - - order - - orderBy - - page - - pageSize - type: object - dto.PageInfo: - properties: - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - dto.PageResult: - properties: - items: {} - total: - type: integer - type: object - dto.PasswordUpdate: - properties: - newPassword: - type: string - oldPassword: - type: string - required: - - newPassword - - oldPassword - type: object - dto.PortHelper: - properties: - containerPort: - type: string - hostIP: - type: string - hostPort: - type: string - protocol: - type: string - type: object - dto.PortRuleOperate: - properties: - address: - type: string - description: - type: string - operation: - enum: - - add - - remove - type: string - port: - type: string - protocol: - enum: - - tcp - - udp - - tcp/udp - type: string - strategy: - enum: - - accept - - drop - type: string - required: - - operation - - port - - protocol - - strategy - type: object - dto.PortRuleUpdate: - properties: - newRule: - $ref: '#/definitions/dto.PortRuleOperate' - oldRule: - $ref: '#/definitions/dto.PortRuleOperate' - type: object - dto.PortUpdate: - properties: - serverPort: - maximum: 65535 - minimum: 1 - type: integer - required: - - serverPort - type: object - dto.PostgresqlBindUser: - properties: - database: - type: string - name: - type: string - password: - type: string - superUser: - type: boolean - username: - type: string - required: - - database - - name - - password - - username - type: object - dto.PostgresqlDBCreate: - properties: - database: - type: string - description: - type: string - format: - type: string - from: - enum: - - local - - remote - type: string - name: - type: string - password: - type: string - superUser: - type: boolean - username: - type: string - required: - - database - - from - - name - - password - - username - type: object - dto.PostgresqlDBDelete: - properties: - database: - type: string - deleteBackup: - type: boolean - forceDelete: - type: boolean - id: - type: integer - type: - enum: - - postgresql - type: string - required: - - database - - id - - type - type: object - dto.PostgresqlDBDeleteCheck: - properties: - database: - type: string - id: - type: integer - type: - enum: - - postgresql - type: string - required: - - database - - id - - type - type: object - dto.PostgresqlDBSearch: - properties: - database: - type: string - info: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - name - - created_at - type: string - page: - type: integer - pageSize: - type: integer - required: - - database - - order - - orderBy - - page - - pageSize - type: object - dto.PostgresqlLoadDB: - properties: - database: - type: string - from: - enum: - - local - - remote - type: string - type: - enum: - - postgresql - type: string - required: - - database - - from - - type - type: object - dto.ProxyUpdate: - properties: - proxyPasswd: - type: string - proxyPasswdKeep: - type: string - proxyPort: - type: string - proxyType: - type: string - proxyUrl: - type: string - proxyUser: - type: string - type: object - dto.RecordSearch: - properties: - detailName: - type: string - name: - type: string - page: - type: integer - pageSize: - type: integer - type: - type: string - required: - - page - - pageSize - - type - type: object - dto.RecordSearchByCronjob: - properties: - cronjobID: - type: integer - page: - type: integer - pageSize: - type: integer - required: - - cronjobID - - page - - pageSize - type: object - dto.RedisCommand: - properties: - command: - type: string - id: - type: integer - name: - type: string - type: object - dto.RedisConf: - properties: - containerName: - type: string - database: - type: string - maxclients: - type: string - maxmemory: - type: string - name: - type: string - port: - type: integer - requirepass: - type: string - timeout: - type: string - required: - - database - type: object - dto.RedisConfPersistenceUpdate: - properties: - appendfsync: - type: string - appendonly: - type: string - database: - type: string - save: - type: string - type: - enum: - - aof - - rbd - type: string - required: - - database - - type - type: object - dto.RedisConfUpdate: - properties: - database: - type: string - maxclients: - type: string - maxmemory: - type: string - timeout: - type: string - required: - - database - type: object - dto.RedisPersistence: - properties: - appendfsync: - type: string - appendonly: - type: string - database: - type: string - save: - type: string - required: - - database - type: object - dto.RedisStatus: - properties: - connected_clients: - type: string - database: - type: string - instantaneous_ops_per_sec: - type: string - keyspace_hits: - type: string - keyspace_misses: - type: string - latest_fork_usec: - type: string - mem_fragmentation_ratio: - type: string - tcp_port: - type: string - total_commands_processed: - type: string - total_connections_received: - type: string - uptime_in_days: - type: string - used_memory: - type: string - used_memory_peak: - type: string - used_memory_rss: - type: string - required: - - database - type: object - dto.ResourceLimit: - properties: - cpu: - type: integer - memory: - type: integer - type: object - dto.RuleSearch: - properties: - info: - type: string - page: - type: integer - pageSize: - type: integer - status: - type: string - strategy: - type: string - type: - type: string - required: - - page - - pageSize - - type - type: object - dto.SSHConf: - properties: - file: - type: string - type: object - dto.SSHHistory: - properties: - address: - type: string - area: - type: string - authMode: - type: string - date: - type: string - dateStr: - type: string - message: - type: string - port: - type: string - status: - type: string - user: - type: string - type: object - dto.SSHInfo: - properties: - autoStart: - type: boolean - listenAddress: - type: string - message: - type: string - passwordAuthentication: - type: string - permitRootLogin: - type: string - port: - type: string - pubkeyAuthentication: - type: string - status: - type: string - useDNS: - type: string - type: object - dto.SSHLog: - properties: - failedCount: - type: integer - logs: - items: - $ref: '#/definitions/dto.SSHHistory' - type: array - successfulCount: - type: integer - totalCount: - type: integer - type: object - dto.SSHUpdate: - properties: - key: - type: string - newValue: - type: string - oldValue: - type: string - required: - - key - type: object - dto.SSLUpdate: - properties: - cert: - type: string - domain: - type: string - key: - type: string - ssl: - enum: - - enable - - disable - type: string - sslID: - type: integer - sslType: - enum: - - self - - select - - import - - import-paste - - import-local - type: string - required: - - ssl - - sslType - type: object - dto.SearchForTree: - properties: - info: - type: string - type: object - dto.SearchHostWithPage: - properties: - groupID: - type: integer - info: - type: string - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - dto.SearchLgLogWithPage: - properties: - ip: - type: string - page: - type: integer - pageSize: - type: integer - status: - type: string - required: - - page - - pageSize - type: object - dto.SearchOpLogWithPage: - properties: - operation: - type: string - page: - type: integer - pageSize: - type: integer - source: - type: string - status: - type: string - required: - - page - - pageSize - type: object - dto.SearchRecord: - properties: - cronjobID: - type: integer - endTime: - type: string - page: - type: integer - pageSize: - type: integer - startTime: - type: string - status: - type: string - required: - - page - - pageSize - type: object - dto.SearchSSHLog: - properties: - Status: - enum: - - Success - - Failed - - All - type: string - info: - type: string - page: - type: integer - pageSize: - type: integer - required: - - Status - - page - - pageSize - type: object - dto.SearchWithPage: - properties: - info: - type: string - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - dto.SettingInfo: - properties: - allowIPs: - type: string - appStoreLastModified: - type: string - appStoreSyncStatus: - type: string - appStoreVersion: - type: string - bindAddress: - type: string - bindDomain: - type: string - complexityVerification: - type: string - defaultNetwork: - type: string - developerMode: - type: string - dingVars: - type: string - dockerSockPath: - type: string - email: - type: string - emailVars: - type: string - expirationDays: - type: string - expirationTime: - type: string - fileRecycleBin: - type: string - ipv6: - type: string - language: - type: string - lastCleanData: - type: string - lastCleanSize: - type: string - lastCleanTime: - type: string - localTime: - type: string - menuTabs: - type: string - messageType: - type: string - mfaInterval: - type: string - mfaSecret: - type: string - mfaStatus: - type: string - monitorInterval: - type: string - monitorStatus: - type: string - monitorStoreDays: - type: string - noAuthSetting: - type: string - ntpSite: - type: string - panelName: - type: string - port: - type: string - proxyPasswd: - type: string - proxyPasswdKeep: - type: string - proxyPort: - type: string - proxyType: - type: string - proxyUrl: - type: string - proxyUser: - type: string - securityEntrance: - type: string - serverPort: - type: string - sessionTimeout: - type: string - snapshotIgnore: - type: string - ssl: - type: string - sslType: - type: string - systemIP: - type: string - systemVersion: - type: string - theme: - type: string - timeZone: - type: string - userName: - type: string - weChatVars: - type: string - xpackHideMenu: - type: string - type: object - dto.SettingUpdate: - properties: - key: - type: string - value: - type: string - required: - - key - type: object - dto.SnapshotBatchDelete: - properties: - deleteWithFile: - type: boolean - ids: - items: - type: integer - type: array - required: - - ids - type: object - dto.SnapshotCreate: - properties: - defaultDownload: - type: string - description: - maxLength: 256 - type: string - from: - type: string - id: - type: integer - secret: - type: string - required: - - defaultDownload - - from - type: object - dto.SnapshotImport: - properties: - description: - maxLength: 256 - type: string - from: - type: string - names: - items: - type: string - type: array - type: object - dto.SnapshotRecover: - properties: - id: - type: integer - isNew: - type: boolean - reDownload: - type: boolean - secret: - type: string - required: - - id - type: object - dto.SwapHelper: - properties: - isNew: - type: boolean - path: - type: string - size: - type: integer - used: - type: string - required: - - path - type: object - dto.TreeChild: - properties: - id: - type: integer - label: - type: string - type: object - dto.UpdateByFile: - properties: - file: - type: string - type: object - dto.UpdateByNameAndFile: - properties: - file: - type: string - name: - type: string - type: object - dto.UpdateDescription: - properties: - description: - maxLength: 256 - type: string - id: - type: integer - required: - - id - type: object - dto.UpdateFirewallDescription: - properties: - address: - type: string - description: - type: string - port: - type: string - protocol: - type: string - strategy: - enum: - - accept - - drop - type: string - type: - type: string - required: - - strategy - type: object - dto.Upgrade: - properties: - version: - type: string - required: - - version - type: object - dto.UpgradeInfo: - properties: - latestVersion: - type: string - newVersion: - type: string - releaseNote: - type: string - testVersion: - type: string - type: object - dto.UserLoginInfo: - properties: - mfaStatus: - type: string - name: - type: string - token: - type: string - type: object - dto.VolumeCreate: - properties: - driver: - type: string - labels: - items: - type: string - type: array - name: - type: string - options: - items: - type: string - type: array - required: - - driver - - name - type: object - dto.VolumeHelper: - properties: - containerDir: - type: string - mode: - type: string - sourceDir: - type: string - type: - type: string - type: object - files.FileInfo: - properties: - content: - type: string - extension: - type: string - favoriteID: - type: integer - gid: - type: string - group: - type: string - isDetail: - type: boolean - isDir: - type: boolean - isHidden: - type: boolean - isSymlink: - type: boolean - itemTotal: - type: integer - items: - items: - $ref: '#/definitions/files.FileInfo' - type: array - linkPath: - type: string - mimeType: - type: string - modTime: - type: string - mode: - type: string - name: - type: string - path: - type: string - size: - type: integer - type: - type: string - uid: - type: string - updateTime: - type: string - user: - type: string - type: object - mfa.Otp: - properties: - qrImage: - type: string - secret: - type: string - type: object - model.App: - properties: - createdAt: - type: string - crossVersionUpdate: - type: boolean - document: - type: string - github: - type: string - icon: - type: string - id: - type: integer - key: - type: string - lastModified: - type: integer - limit: - type: integer - name: - type: string - readMe: - type: string - recommend: - type: integer - required: - type: string - resource: - type: string - shortDescEn: - type: string - shortDescZh: - type: string - status: - type: string - tags: - items: - type: string - type: array - type: - type: string - updatedAt: - type: string - website: - type: string - type: object - model.AppInstall: - properties: - app: - $ref: '#/definitions/model.App' - appDetailId: - type: integer - appId: - type: integer - containerName: - type: string - createdAt: - type: string - description: - type: string - dockerCompose: - type: string - env: - type: string - httpPort: - type: integer - httpsPort: - type: integer - id: - type: integer - message: - type: string - name: - type: string - param: - type: string - serviceName: - type: string - status: - type: string - updatedAt: - type: string - version: - type: string - type: object - model.Tag: - properties: - createdAt: - type: string - id: - type: integer - key: - type: string - name: - type: string - sort: - type: integer - updatedAt: - type: string - type: object - model.Website: - properties: - IPV6: - type: boolean - accessLog: - type: boolean - alias: - type: string - appInstallId: - type: integer - createdAt: - type: string - defaultServer: - type: boolean - domains: - items: - $ref: '#/definitions/model.WebsiteDomain' - type: array - errorLog: - type: boolean - expireDate: - type: string - ftpId: - type: integer - group: - type: string - httpConfig: - type: string - id: - type: integer - primaryDomain: - type: string - protocol: - type: string - proxy: - type: string - proxyType: - type: string - remark: - type: string - rewrite: - type: string - runtimeID: - type: integer - siteDir: - type: string - status: - type: string - type: - type: string - updatedAt: - type: string - user: - type: string - webSiteGroupId: - type: integer - webSiteSSL: - $ref: '#/definitions/model.WebsiteSSL' - webSiteSSLId: - type: integer - type: object - model.WebsiteAcmeAccount: - properties: - createdAt: - type: string - eabHmacKey: - type: string - eabKid: - type: string - email: - type: string - id: - type: integer - keyType: - type: string - type: - type: string - updatedAt: - type: string - url: - type: string - type: object - model.WebsiteDnsAccount: - properties: - createdAt: - type: string - id: - type: integer - name: - type: string - type: - type: string - updatedAt: - type: string - type: object - model.WebsiteDomain: - properties: - createdAt: - type: string - domain: - type: string - id: - type: integer - port: - type: integer - updatedAt: - type: string - websiteId: - type: integer - type: object - model.WebsiteSSL: - 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 - 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 - request.AppInstallCreate: - properties: - advanced: - type: boolean - allowPort: - type: boolean - appDetailId: - type: integer - containerName: - type: string - cpuQuota: - type: number - dockerCompose: - type: string - editCompose: - type: boolean - hostMode: - type: boolean - memoryLimit: - type: number - memoryUnit: - type: string - name: - type: string - params: - additionalProperties: true - type: object - pullImage: - type: boolean - services: - additionalProperties: - type: string - type: object - required: - - appDetailId - - name - type: object - request.AppInstalledIgnoreUpgrade: - properties: - detailID: - type: integer - operate: - enum: - - cancel - - ignore - type: string - required: - - detailID - - operate - type: object - request.AppInstalledInfo: - properties: - key: - type: string - name: - type: string - required: - - key - type: object - request.AppInstalledOperate: - properties: - backup: - type: boolean - backupId: - type: integer - deleteBackup: - type: boolean - deleteDB: - type: boolean - detailId: - type: integer - dockerCompose: - type: string - forceDelete: - type: boolean - installId: - type: integer - operate: - type: string - pullImage: - type: boolean - required: - - installId - - operate - type: object - request.AppInstalledSearch: - properties: - all: - type: boolean - name: - type: string - page: - type: integer - pageSize: - type: integer - sync: - type: boolean - tags: - items: - type: string - type: array - type: - type: string - unused: - type: boolean - update: - type: boolean - required: - - page - - pageSize - type: object - request.AppInstalledUpdate: - properties: - advanced: - type: boolean - allowPort: - type: boolean - containerName: - type: string - cpuQuota: - type: number - dockerCompose: - type: string - editCompose: - type: boolean - hostMode: - type: boolean - installId: - type: integer - memoryLimit: - type: number - memoryUnit: - type: string - params: - additionalProperties: true - type: object - pullImage: - type: boolean - required: - - installId - - params - type: object - request.AppSearch: - properties: - name: - type: string - page: - type: integer - pageSize: - type: integer - recommend: - type: boolean - resource: - type: string - tags: - items: - type: string - type: array - type: - type: string - required: - - page - - pageSize - type: object - request.DirSizeReq: - properties: - path: - type: string - required: - - path - type: object - request.ExposedPort: - properties: - containerPort: - type: integer - hostPort: - type: integer - type: object - request.FavoriteCreate: - properties: - path: - type: string - required: - - path - type: object - request.FavoriteDelete: - properties: - id: - type: integer - required: - - id - type: object - request.FileBatchDelete: - properties: - isDir: - type: boolean - paths: - items: - type: string - type: array - required: - - paths - type: object - request.FileCompress: - properties: - dst: - type: string - files: - items: - type: string - type: array - name: - type: string - replace: - type: boolean - secret: - type: string - type: - type: string - required: - - dst - - files - - name - - type - type: object - request.FileContentReq: - properties: - isDetail: - type: boolean - path: - type: string - required: - - path - type: object - request.FileCreate: - properties: - content: - type: string - isDir: - type: boolean - isLink: - type: boolean - isSymlink: - type: boolean - linkPath: - type: string - mode: - type: integer - path: - type: string - sub: - type: boolean - required: - - path - type: object - request.FileDeCompress: - properties: - dst: - type: string - path: - type: string - secret: - type: string - type: - type: string - required: - - dst - - path - - type - type: object - request.FileDelete: - properties: - forceDelete: - type: boolean - isDir: - type: boolean - path: - type: string - required: - - path - type: object - request.FileDownload: - properties: - compress: - type: boolean - name: - type: string - paths: - items: - type: string - type: array - type: - type: string - required: - - name - - paths - - type - type: object - request.FileEdit: - properties: - content: - type: string - path: - type: string - required: - - path - type: object - request.FileMove: - properties: - cover: - type: boolean - name: - type: string - newPath: - type: string - oldPaths: - items: - type: string - type: array - type: - type: string - required: - - newPath - - oldPaths - - type - type: object - request.FileOption: - properties: - containSub: - type: boolean - dir: - type: boolean - expand: - type: boolean - isDetail: - type: boolean - page: - type: integer - pageSize: - type: integer - path: - type: string - search: - type: string - showHidden: - type: boolean - sortBy: - type: string - sortOrder: - type: string - type: object - request.FilePathCheck: - properties: - path: - type: string - required: - - path - type: object - request.FileReadByLineReq: - properties: - ID: - type: integer - latest: - type: boolean - name: - type: string - page: - type: integer - pageSize: - type: integer - type: - type: string - required: - - page - - pageSize - - type - type: object - request.FileRename: - properties: - newName: - type: string - oldName: - type: string - required: - - newName - - oldName - type: object - request.FileRoleReq: - properties: - group: - type: string - mode: - type: integer - paths: - items: - type: string - type: array - sub: - type: boolean - user: - type: string - required: - - group - - mode - - paths - - user - type: object - request.FileRoleUpdate: - properties: - group: - type: string - path: - type: string - sub: - type: boolean - user: - type: string - required: - - group - - path - - user - type: object - request.FileWget: - properties: - ignoreCertificate: - type: boolean - name: - type: string - path: - type: string - url: - type: string - required: - - name - - path - - url - type: object - request.HostToolConfig: - properties: - content: - type: string - operate: - enum: - - get - - set - type: string - type: - enum: - - supervisord - type: string - required: - - type - type: object - request.HostToolCreate: - properties: - configPath: - type: string - serviceName: - type: string - type: - type: string - required: - - type - type: object - request.HostToolLogReq: - properties: - type: - enum: - - supervisord - type: string - required: - - type - type: object - request.HostToolReq: - properties: - operate: - enum: - - status - - restart - - start - - stop - type: string - type: - enum: - - supervisord - type: string - required: - - type - type: object - request.NewAppInstall: - properties: - advanced: - type: boolean - allowPort: - type: boolean - appDetailID: - type: integer - containerName: - type: string - cpuQuota: - type: number - dockerCompose: - type: string - editCompose: - type: boolean - hostMode: - type: boolean - memoryLimit: - type: number - memoryUnit: - type: string - name: - type: string - params: - additionalProperties: true - type: object - pullImage: - type: boolean - type: object - request.NginxAntiLeechUpdate: - 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 - websiteID: - type: integer - required: - - extends - - return - - websiteID - type: object - request.NginxAuthReq: - properties: - websiteID: - type: integer - required: - - websiteID - type: object - request.NginxAuthUpdate: - properties: - operate: - type: string - password: - type: string - remark: - type: string - username: - type: string - websiteID: - type: integer - required: - - operate - - websiteID - type: object - request.NginxCommonReq: - properties: - websiteID: - type: integer - required: - - websiteID - type: object - request.NginxConfigFileUpdate: - properties: - backup: - type: boolean - content: - type: string - required: - - content - type: object - request.NginxConfigUpdate: - properties: - operate: - enum: - - add - - update - - delete - type: string - params: {} - scope: - $ref: '#/definitions/dto.NginxKey' - websiteId: - type: integer - required: - - operate - type: object - request.NginxProxyUpdate: - properties: - content: - type: string - name: - type: string - websiteID: - type: integer - required: - - content - - name - - websiteID - type: object - request.NginxRedirectReq: - properties: - domains: - items: - type: string - type: array - enable: - type: boolean - keepPath: - type: boolean - name: - type: string - operate: - type: string - path: - type: string - redirect: - type: string - redirectRoot: - type: boolean - target: - type: string - type: - type: string - websiteID: - type: integer - required: - - name - - operate - - redirect - - target - - type - - websiteID - type: object - request.NginxRedirectUpdate: - properties: - content: - type: string - name: - type: string - websiteID: - type: integer - required: - - content - - name - - websiteID - type: object - request.NginxRewriteReq: - properties: - name: - type: string - websiteId: - type: integer - required: - - name - - websiteId - type: object - request.NginxRewriteUpdate: - properties: - content: - type: string - name: - type: string - websiteId: - type: integer - required: - - name - - websiteId - type: object - request.NginxScopeReq: - properties: - scope: - $ref: '#/definitions/dto.NginxKey' - websiteId: - type: integer - required: - - scope - type: object - request.NodeModuleReq: - properties: - ID: - type: integer - required: - - ID - type: object - request.NodePackageReq: - properties: - codeDir: - type: string - type: object - request.PHPExtensionsCreate: - properties: - extensions: - type: string - name: - type: string - required: - - extensions - - name - type: object - request.PHPExtensionsDelete: - properties: - id: - type: integer - required: - - id - type: object - request.PHPExtensionsSearch: - properties: - all: - type: boolean - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - request.PHPExtensionsUpdate: - properties: - extensions: - type: string - id: - type: integer - required: - - extensions - - id - type: object - request.PortUpdate: - properties: - key: - type: string - name: - type: string - port: - type: integer - type: object - request.ProcessReq: - properties: - PID: - type: integer - required: - - PID - type: object - request.RecycleBinReduce: - properties: - from: - type: string - name: - type: string - rName: - type: string - required: - - from - - rName - type: object - request.RuntimeCreate: - properties: - appDetailId: - type: integer - clean: - type: boolean - codeDir: - type: string - exposedPorts: - items: - $ref: '#/definitions/request.ExposedPort' - type: array - image: - type: string - install: - type: boolean - name: - type: string - params: - additionalProperties: true - type: object - port: - type: integer - resource: - type: string - source: - type: string - type: - type: string - version: - type: string - type: object - request.RuntimeDelete: - properties: - forceDelete: - type: boolean - id: - type: integer - type: object - request.RuntimeOperate: - properties: - ID: - type: integer - operate: - type: string - type: object - request.RuntimeSearch: - properties: - name: - type: string - page: - type: integer - pageSize: - type: integer - status: - type: string - type: - type: string - required: - - page - - pageSize - type: object - request.RuntimeUpdate: - properties: - clean: - type: boolean - codeDir: - type: string - exposedPorts: - items: - $ref: '#/definitions/request.ExposedPort' - type: array - id: - type: integer - image: - type: string - install: - type: boolean - name: - type: string - params: - additionalProperties: true - type: object - port: - type: integer - rebuild: - type: boolean - source: - type: string - version: - type: string - type: object - request.SearchUploadWithPage: - properties: - page: - type: integer - pageSize: - type: integer - path: - type: string - required: - - page - - pageSize - - path - type: object - request.SupervisorProcessConfig: - properties: - command: - type: string - dir: - type: string - name: - type: string - numprocs: - type: string - operate: - type: string - user: - type: string - type: object - request.SupervisorProcessFileReq: - properties: - content: - type: string - file: - enum: - - out.log - - err.log - - config - type: string - name: - type: string - operate: - enum: - - get - - clear - - update - type: string - required: - - file - - name - - operate - type: object - request.WebsiteAcmeAccountCreate: - properties: - eabHmacKey: - type: string - eabKid: - type: string - email: - type: string - keyType: - enum: - - P256 - - P384 - - "2048" - - "3072" - - "4096" - - "8192" - type: string - type: - enum: - - letsencrypt - - zerossl - - buypass - - google - type: string - required: - - email - - keyType - - type - type: object - request.WebsiteBatchDelReq: - properties: - ids: - items: - type: integer - type: array - required: - - ids - type: object - request.WebsiteCACreate: - properties: - city: - type: string - commonName: - type: string - country: - type: string - keyType: - enum: - - P256 - - P384 - - "2048" - - "3072" - - "4096" - - "8192" - type: string - name: - type: string - organization: - type: string - organizationUint: - type: string - province: - type: string - required: - - commonName - - country - - keyType - - name - - organization - type: object - request.WebsiteCAObtain: - properties: - autoRenew: - type: boolean - description: - type: string - dir: - type: string - domains: - type: string - execShell: - type: boolean - id: - type: integer - keyType: - enum: - - P256 - - P384 - - "2048" - - "3072" - - "4096" - - "8192" - type: string - pushDir: - type: boolean - renew: - type: boolean - shell: - type: string - sslID: - type: integer - time: - type: integer - unit: - type: string - required: - - domains - - id - - keyType - - time - - unit - type: object - request.WebsiteCASearch: - properties: - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - request.WebsiteCommonReq: - properties: - id: - type: integer - required: - - id - type: object - request.WebsiteCreate: - properties: - IPV6: - type: boolean - alias: - type: string - appID: - type: integer - appInstall: - $ref: '#/definitions/request.NewAppInstall' - appInstallID: - type: integer - appType: - enum: - - new - - installed - type: string - ftpPassword: - type: string - ftpUser: - type: string - otherDomains: - type: string - port: - type: integer - primaryDomain: - type: string - proxy: - type: string - proxyType: - type: string - remark: - type: string - runtimeID: - type: integer - type: - type: string - webSiteGroupID: - type: integer - required: - - alias - - primaryDomain - - type - - webSiteGroupID - type: object - request.WebsiteDNSReq: - properties: - acmeAccountId: - type: integer - domains: - items: - type: string - type: array - required: - - acmeAccountId - - domains - type: object - request.WebsiteDefaultUpdate: - properties: - id: - type: integer - type: object - request.WebsiteDelete: - properties: - deleteApp: - type: boolean - deleteBackup: - type: boolean - forceDelete: - type: boolean - id: - type: integer - required: - - id - type: object - request.WebsiteDnsAccountCreate: - properties: - authorization: - additionalProperties: - type: string - type: object - name: - type: string - type: - type: string - required: - - authorization - - name - - type - type: object - request.WebsiteDnsAccountUpdate: - properties: - authorization: - additionalProperties: - type: string - type: object - id: - type: integer - name: - type: string - type: - type: string - required: - - authorization - - id - - name - - type - type: object - request.WebsiteDomainCreate: - properties: - domains: - type: string - websiteID: - type: integer - required: - - domains - - websiteID - type: object - request.WebsiteDomainDelete: - properties: - id: - type: integer - required: - - id - type: object - request.WebsiteHTTPSOp: - properties: - SSLProtocol: - items: - type: string - type: array - algorithm: - type: string - certificate: - type: string - certificatePath: - type: string - enable: - type: boolean - hsts: - type: boolean - httpConfig: - enum: - - HTTPSOnly - - HTTPAlso - - HTTPToHTTPS - type: string - importType: - type: string - privateKey: - type: string - privateKeyPath: - type: string - type: - enum: - - existed - - auto - - manual - type: string - websiteId: - type: integer - websiteSSLId: - type: integer - required: - - websiteId - type: object - request.WebsiteHtmlUpdate: - properties: - content: - type: string - type: - type: string - required: - - content - - type - type: object - request.WebsiteInstallCheckReq: - properties: - InstallIds: - items: - type: integer - type: array - type: object - request.WebsiteLogReq: - properties: - id: - type: integer - logType: - type: string - operate: - type: string - page: - type: integer - pageSize: - type: integer - required: - - id - - logType - - operate - type: object - request.WebsiteNginxUpdate: - properties: - content: - type: string - id: - type: integer - required: - - content - - id - type: object - request.WebsiteOp: - properties: - id: - type: integer - operate: - type: string - required: - - id - type: object - request.WebsitePHPConfigUpdate: - properties: - disableFunctions: - items: - type: string - type: array - id: - type: integer - params: - additionalProperties: - type: string - type: object - scope: - type: string - uploadMaxSize: - type: string - required: - - id - - scope - type: object - request.WebsitePHPFileUpdate: - properties: - content: - type: string - id: - type: integer - type: - type: string - required: - - content - - id - - type - type: object - request.WebsitePHPVersionReq: - properties: - retainConfig: - type: boolean - runtimeID: - type: integer - websiteID: - type: integer - required: - - runtimeID - - websiteID - type: object - request.WebsiteProxyConfig: - properties: - cache: - type: boolean - cacheTime: - type: integer - cacheUnit: - type: string - content: - type: string - enable: - type: boolean - filePath: - type: string - id: - type: integer - match: - type: string - modifier: - type: string - name: - type: string - operate: - type: string - proxyHost: - type: string - proxyPass: - type: string - replaces: - additionalProperties: - type: string - type: object - sni: - type: boolean - required: - - id - - match - - name - - operate - - proxyHost - - proxyPass - type: object - request.WebsiteProxyReq: - properties: - id: - type: integer - required: - - id - type: object - request.WebsiteResourceReq: - properties: - id: - type: integer - required: - - id - type: object - request.WebsiteSSLApply: - properties: - ID: - type: integer - nameservers: - items: - type: string - type: array - skipDNSCheck: - type: boolean - required: - - ID - type: object - request.WebsiteSSLCreate: - properties: - acmeAccountId: - type: integer - apply: - type: boolean - autoRenew: - type: boolean - description: - type: string - dir: - type: string - disableCNAME: - type: boolean - dnsAccountId: - type: integer - execShell: - type: boolean - id: - type: integer - keyType: - type: string - nameserver1: - type: string - nameserver2: - type: string - otherDomains: - type: string - primaryDomain: - type: string - provider: - type: string - pushDir: - type: boolean - shell: - type: string - skipDNS: - type: boolean - required: - - acmeAccountId - - primaryDomain - - provider - type: object - request.WebsiteSSLSearch: - properties: - acmeAccountID: - type: string - page: - type: integer - pageSize: - type: integer - required: - - page - - pageSize - type: object - request.WebsiteSSLUpdate: - properties: - acmeAccountId: - type: integer - apply: - type: boolean - autoRenew: - type: boolean - description: - type: string - dir: - type: string - disableCNAME: - type: boolean - dnsAccountId: - type: integer - execShell: - type: boolean - id: - type: integer - keyType: - type: string - nameserver1: - type: string - nameserver2: - type: string - otherDomains: - type: string - primaryDomain: - type: string - provider: - type: string - pushDir: - type: boolean - shell: - type: string - skipDNS: - type: boolean - required: - - id - - primaryDomain - - provider - type: object - request.WebsiteSSLUpload: - properties: - certificate: - type: string - certificatePath: - type: string - description: - type: string - privateKey: - type: string - privateKeyPath: - type: string - sslID: - type: integer - type: - enum: - - paste - - local - type: string - required: - - type - type: object - request.WebsiteSearch: - properties: - name: - type: string - order: - enum: - - "null" - - ascending - - descending - type: string - orderBy: - enum: - - primary_domain - - type - - status - - created_at - - expire_date - type: string - page: - type: integer - pageSize: - type: integer - websiteGroupId: - type: integer - required: - - order - - orderBy - - page - - pageSize - type: object - request.WebsiteUpdate: - properties: - IPV6: - type: boolean - expireDate: - type: string - id: - type: integer - primaryDomain: - type: string - remark: - type: string - webSiteGroupID: - type: integer - required: - - id - - primaryDomain - type: object - request.WebsiteUpdateDir: - properties: - id: - type: integer - siteDir: - type: string - required: - - id - - siteDir - type: object - request.WebsiteUpdateDirPermission: - properties: - group: - type: string - id: - type: integer - user: - type: string - required: - - group - - id - - user - type: object - response.AppDTO: - properties: - createdAt: - type: string - crossVersionUpdate: - type: boolean - document: - type: string - github: - type: string - icon: - type: string - id: - type: integer - installed: - type: boolean - key: - type: string - lastModified: - type: integer - limit: - type: integer - name: - type: string - readMe: - type: string - recommend: - type: integer - required: - type: string - resource: - type: string - shortDescEn: - type: string - shortDescZh: - type: string - status: - type: string - tags: - items: - $ref: '#/definitions/model.Tag' - type: array - type: - type: string - updatedAt: - type: string - versions: - items: - type: string - type: array - website: - type: string - type: object - response.AppDetailDTO: - properties: - appId: - type: integer - createdAt: - type: string - dockerCompose: - type: string - downloadCallBackUrl: - type: string - downloadUrl: - type: string - enable: - type: boolean - hostMode: - type: boolean - id: - type: integer - ignoreUpgrade: - type: boolean - image: - type: string - lastModified: - type: integer - lastVersion: - type: string - params: {} - status: - type: string - update: - type: boolean - updatedAt: - type: string - version: - type: string - type: object - response.AppInstalledCheck: - properties: - app: - type: string - appInstallId: - type: integer - containerName: - type: string - createdAt: - type: string - httpPort: - type: integer - httpsPort: - type: integer - installPath: - type: string - isExist: - type: boolean - lastBackupAt: - type: string - name: - type: string - status: - type: string - version: - type: string - type: object - response.AppParam: - properties: - edit: - type: boolean - key: - type: string - labelEn: - type: string - labelZh: - type: string - multiple: - type: boolean - required: - type: boolean - rule: - type: string - showValue: - type: string - type: - type: string - value: {} - values: {} - type: object - response.AppService: - properties: - config: {} - from: - type: string - label: - type: string - value: - type: string - type: object - response.FileInfo: - properties: - content: - type: string - extension: - type: string - favoriteID: - type: integer - gid: - type: string - group: - type: string - isDetail: - type: boolean - isDir: - type: boolean - isHidden: - type: boolean - isSymlink: - type: boolean - itemTotal: - type: integer - items: - items: - $ref: '#/definitions/files.FileInfo' - type: array - linkPath: - type: string - mimeType: - type: string - modTime: - type: string - mode: - type: string - name: - type: string - path: - type: string - size: - type: integer - type: - type: string - uid: - type: string - updateTime: - type: string - user: - type: string - type: object - response.FileTree: - properties: - children: - items: - $ref: '#/definitions/response.FileTree' - type: array - extension: - type: string - id: - type: string - isDir: - type: boolean - name: - type: string - path: - type: string - type: object - response.IgnoredApp: - properties: - detailID: - type: integer - icon: - type: string - name: - type: string - version: - type: string - type: object - response.NginxParam: - properties: - name: - type: string - params: - items: - type: string - type: array - type: object - response.NginxStatus: - properties: - accepts: - type: string - active: - type: string - handled: - type: string - reading: - type: string - requests: - type: string - waiting: - type: string - writing: - type: string - type: object - response.PHPConfig: - properties: - disableFunctions: - items: - type: string - type: array - params: - additionalProperties: - type: string - type: object - uploadMaxSize: - type: string - type: object - response.PHPExtensionsDTO: - properties: - createdAt: - type: string - extensions: - type: string - id: - type: integer - name: - type: string - updatedAt: - type: string - type: object - response.WebsiteAcmeAccountDTO: - properties: - createdAt: - type: string - eabHmacKey: - type: string - eabKid: - type: string - email: - type: string - id: - type: integer - keyType: - type: string - type: - type: string - updatedAt: - type: string - url: - type: string - type: object - response.WebsiteCADTO: - properties: - city: - type: string - commonName: - type: string - country: - type: string - createdAt: - type: string - csr: - type: string - id: - type: integer - keyType: - type: string - name: - type: string - organization: - type: string - organizationUint: - type: string - privateKey: - type: string - province: - type: string - updatedAt: - type: string - type: object - response.WebsiteDNSRes: - properties: - domain: - type: string - err: - type: string - resolve: - type: string - value: - type: string - type: object - response.WebsiteDTO: - properties: - IPV6: - type: boolean - accessLog: - type: boolean - accessLogPath: - type: string - alias: - type: string - appInstallId: - type: integer - appName: - type: string - createdAt: - type: string - defaultServer: - type: boolean - domains: - items: - $ref: '#/definitions/model.WebsiteDomain' - type: array - errorLog: - type: boolean - errorLogPath: - type: string - expireDate: - type: string - ftpId: - type: integer - group: - type: string - httpConfig: - type: string - id: - type: integer - primaryDomain: - type: string - protocol: - type: string - proxy: - type: string - proxyType: - type: string - remark: - type: string - rewrite: - type: string - runtimeID: - type: integer - runtimeName: - type: string - siteDir: - type: string - sitePath: - type: string - status: - type: string - type: - type: string - updatedAt: - type: string - user: - type: string - webSiteGroupId: - type: integer - webSiteSSL: - $ref: '#/definitions/model.WebsiteSSL' - webSiteSSLId: - type: integer - type: object - response.WebsiteHTTPS: - properties: - SSL: - $ref: '#/definitions/model.WebsiteSSL' - SSLProtocol: - items: - type: string - type: array - algorithm: - type: string - enable: - type: boolean - hsts: - type: boolean - httpConfig: - type: string - type: object - response.WebsiteLog: - properties: - content: - type: string - enable: - type: boolean - end: - type: boolean - path: - type: string - type: object - response.WebsiteNginxConfig: - properties: - enable: - type: boolean - params: - items: - $ref: '#/definitions/response.NginxParam' - type: array - type: object - response.WebsitePreInstallCheck: - properties: - appName: - type: string - name: - type: string - status: - type: string - version: - type: string - type: object -host: localhost -info: - contact: {} - description: 开源Linux面板 - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - termsOfService: http://swagger.io/terms/ - title: 1Panel - version: "1.0" -paths: - /apps/:key: - get: - consumes: - - application/json - description: 通过 key 获取应用信息 - parameters: - - description: app key - in: path - name: key - required: true - type: string - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.AppDTO' - security: - - ApiKeyAuth: [] - summary: Search app by key - tags: - - App - /apps/checkupdate: - get: - description: 获取应用更新版本 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get app list update - tags: - - App - /apps/detail/:appId/:version/:type: - get: - consumes: - - application/json - description: 通过 appid 获取应用详情 - parameters: - - description: app id - in: path - name: appId - required: true - type: integer - - description: app 版本 - in: path - name: version - required: true - type: string - - description: app 类型 - in: path - name: version - required: true - type: string - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.AppDetailDTO' - security: - - ApiKeyAuth: [] - summary: Search app detail by appid - tags: - - App - /apps/details/:id: - get: - consumes: - - application/json - description: 通过 id 获取应用详情 - parameters: - - description: id - in: path - name: appId - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.AppDetailDTO' - security: - - ApiKeyAuth: [] - summary: Get app detail by id - tags: - - App - /apps/ignored: - get: - consumes: - - application/json - description: 获取忽略的应用版本 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.IgnoredApp' - security: - - ApiKeyAuth: [] - summary: Get Ignore App - tags: - - App - /apps/install: - post: - consumes: - - application/json - description: 安装应用 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstallCreate' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/model.AppInstall' - security: - - ApiKeyAuth: [] - summary: Install app - tags: - - 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 - bodyKeys: - - name - formatEN: Install app [appKey]-[name] - formatZH: 安装应用 [appKey]-[name] - paramKeys: [] - /apps/installed/check: - post: - consumes: - - application/json - description: 检查应用安装情况 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstalledInfo' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.AppInstalledCheck' - security: - - ApiKeyAuth: [] - summary: Check app installed - tags: - - App - /apps/installed/conf: - post: - consumes: - - application/json - description: 通过 key 获取应用默认配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Search default config by key - tags: - - App - /apps/installed/conninfo/:key: - get: - consumes: - - application/json - description: 获取应用连接信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Search app password by key - tags: - - App - /apps/installed/delete/check/:appInstallId: - get: - consumes: - - application/json - description: 删除前检查 - parameters: - - description: App install id - in: path - name: appInstallId - required: true - type: integer - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.AppResource' - type: array - security: - - ApiKeyAuth: [] - summary: Check before delete - tags: - - App - /apps/installed/ignore: - post: - consumes: - - application/json - description: 忽略应用升级版本 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstalledIgnoreUpgrade' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: ignore App Update - tags: - - App - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - installId - formatEN: Application param update [installId] - formatZH: 忽略应用 [installId] 版本升级 - paramKeys: [] - /apps/installed/list: - get: - consumes: - - application/json - description: 获取已安装应用列表 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.AppInstallInfo' - type: array - security: - - ApiKeyAuth: [] - summary: List app installed - tags: - - App - /apps/installed/loadport: - post: - consumes: - - application/json - description: 获取应用端口 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - type: integer - security: - - ApiKeyAuth: [] - summary: Search app port by key - tags: - - App - /apps/installed/op: - post: - consumes: - - application/json - description: 操作已安装应用 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstalledOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate installed app - tags: - - App - x-panel-log: - BeforeFunctions: - - db: app_installs - input_column: id - input_value: installId - isList: false - output_column: app_id - output_value: appId - - db: app_installs - input_column: id - input_value: installId - isList: false - output_column: name - output_value: appName - - db: apps - input_column: id - input_value: appId - isList: false - output_column: key - output_value: appKey - bodyKeys: - - installId - - operate - formatEN: '[operate] App [appKey][appName]' - formatZH: '[operate] 应用 [appKey][appName]' - paramKeys: [] - /apps/installed/params/:appInstallId: - get: - consumes: - - application/json - description: 通过 install id 获取应用参数 - parameters: - - description: request - in: path - name: appInstallId - required: true - type: string - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.AppParam' - security: - - ApiKeyAuth: [] - summary: Search params by appInstallId - tags: - - App - /apps/installed/params/update: - post: - consumes: - - application/json - description: 修改应用参数 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstalledUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change app params - tags: - - App - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - installId - formatEN: Application param update [installId] - formatZH: 应用参数修改 [installId] - paramKeys: [] - /apps/installed/port/change: - post: - consumes: - - application/json - description: 修改应用端口 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.PortUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change app port - tags: - - App - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - name - - port - formatEN: Application port update [key]-[name] => [port] - formatZH: 应用端口修改 [key]-[name] => [port] - paramKeys: [] - /apps/installed/search: - post: - consumes: - - application/json - description: 分页获取已安装应用列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppInstalledSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Page app installed - tags: - - App - /apps/installed/sync: - post: - description: 同步已安装应用列表 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Sync app installed - tags: - - App - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Sync the list of installed apps - formatZH: 同步已安装应用列表 - paramKeys: [] - /apps/installed/update/versions: - post: - consumes: - - application/json - description: 通过 install id 获取应用更新版本 - parameters: - - description: request - in: path - name: appInstallId - required: true - type: integer - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.AppVersion' - type: array - security: - - ApiKeyAuth: [] - summary: Search app update version by install id - tags: - - App - /apps/search: - post: - consumes: - - application/json - description: 获取应用列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.AppSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: List apps - tags: - - App - /apps/services/:key: - get: - consumes: - - application/json - description: 通过 key 获取应用 service - parameters: - - description: request - in: path - name: key - required: true - type: string - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.AppService' - type: array - security: - - ApiKeyAuth: [] - summary: Search app service by key - tags: - - App - /apps/sync: - post: - description: 同步应用列表 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Sync app list - tags: - - App - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: App store synchronization - formatZH: 应用商店同步 - paramKeys: [] - /auth/captcha: - get: - description: 加载验证码 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.CaptchaResponse' - summary: Load captcha - tags: - - Auth - /auth/demo: - get: - description: 判断是否为demo环境 - responses: - "200": - description: OK - summary: Check System isDemo - tags: - - Auth - /auth/issafety: - get: - description: 获取系统安全登录状态 - responses: - "200": - description: OK - summary: Load safety status - tags: - - Auth - /auth/language: - get: - description: 获取系统语言设置 - responses: - "200": - description: OK - summary: Load System Language - tags: - - Auth - /auth/login: - post: - consumes: - - application/json - description: 用户登录 - parameters: - - description: 安全入口 base64 加密串 - in: header - name: EntranceCode - required: true - type: string - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Login' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.UserLoginInfo' - summary: User login - tags: - - Auth - /auth/logout: - post: - description: 用户登出 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: User logout - tags: - - Auth - /auth/mfalogin: - post: - consumes: - - application/json - description: 用户 mfa 登录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MFALogin' - responses: - "200": - description: OK - headers: - EntranceCode: - description: 安全入口 - type: string - schema: - $ref: '#/definitions/dto.UserLoginInfo' - summary: User login with mfa - tags: - - Auth - /containers: - post: - consumes: - - application/json - description: 创建容器 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - image - formatEN: create container [name][image] - formatZH: 创建容器 [name][image] - paramKeys: [] - /containers/clean/log: - post: - consumes: - - application/json - description: 清理容器日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Clean container log - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: clean container [name] logs - formatZH: 清理容器 [name] 日志 - paramKeys: [] - /containers/commit: - post: - consumes: - - application/json - description: 容器提交生成新镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerCommit' - responses: - "200": - description: OK - summary: Commit Container - tags: - - Container - /containers/compose: - post: - consumes: - - application/json - description: 创建容器编排 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create compose - tags: - - Container Compose - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create compose [name] - formatZH: 创建 compose [name] - paramKeys: [] - /containers/compose/operate: - post: - consumes: - - application/json - description: 容器编排操作 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeOperation' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate compose - tags: - - Container Compose - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - operation - formatEN: compose [operation] [name] - formatZH: compose [operation] [name] - paramKeys: [] - /containers/compose/search: - post: - consumes: - - application/json - description: 获取编排列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page composes - tags: - - Container Compose - /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 - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Test compose - tags: - - Container Compose - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: check compose [name] - formatZH: 检测 compose [name] 格式 - paramKeys: [] - /containers/compose/update: - post: - consumes: - - application/json - description: 更新容器编排 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update compose - tags: - - Container Compose - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: update compose information [name] - formatZH: 更新 compose [name] - paramKeys: [] - /containers/daemonjson: - get: - description: 获取 docker 配置信息 - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DaemonJsonConf' - security: - - ApiKeyAuth: [] - summary: Load docker daemon.json - tags: - - Container Docker - /containers/daemonjson/file: - get: - description: 获取 docker 配置信息(表单) - produces: - - application/json - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Load docker daemon.json - tags: - - Container Docker - /containers/daemonjson/update: - post: - consumes: - - application/json - description: 修改 docker 配置信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SettingUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update docker daemon.json - tags: - - Container Docker - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: Updated configuration [key] - formatZH: 更新配置 [key] - paramKeys: [] - /containers/daemonjson/update/byfile: - post: - consumes: - - application/json - description: 上传替换 docker 配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DaemonJsonUpdateByFile' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update docker daemon.json by upload file - tags: - - Container Docker - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Updated configuration file - formatZH: 更新配置文件 - paramKeys: [] - /containers/docker/operate: - post: - consumes: - - application/json - description: Docker 操作 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DockerOperation' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate docker - tags: - - Container Docker - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] docker service' - formatZH: docker 服务 [operation] - paramKeys: [] - /containers/docker/status: - get: - description: 获取 docker 服务状态 - produces: - - application/json - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Load docker status - tags: - - Container Docker - /containers/download/log: - post: - description: 下载容器日志 - responses: {} - /containers/image: - get: - description: 获取镜像名称列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.Options' - type: array - security: - - ApiKeyAuth: [] - summary: load images options - tags: - - Container Image - /containers/image/all: - get: - description: 获取所有镜像列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.ImageInfo' - type: array - security: - - ApiKeyAuth: [] - summary: List all images - tags: - - Container Image - /containers/image/build: - post: - consumes: - - application/json - description: 构建镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageBuild' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Build image - tags: - - Container Image - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: build image [name] - formatZH: 构建镜像 [name] - paramKeys: [] - /containers/image/load: - post: - consumes: - - application/json - description: 导入镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageLoad' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load image - tags: - - Container Image - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: load image from [path] - formatZH: 从 [path] 加载镜像 - paramKeys: [] - /containers/image/pull: - post: - consumes: - - application/json - description: 拉取镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImagePull' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Pull image - tags: - - Container Image - x-panel-log: - BeforeFunctions: - - db: image_repos - input_column: id - input_value: repoID - isList: false - output_column: name - output_value: reponame - bodyKeys: - - repoID - - imageName - formatEN: image pull [reponame][imageName] - formatZH: 镜像拉取 [reponame][imageName] - paramKeys: [] - /containers/image/push: - post: - consumes: - - application/json - description: 推送镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImagePush' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Push image - tags: - - Container Image - x-panel-log: - BeforeFunctions: - - db: image_repos - input_column: id - input_value: repoID - isList: false - output_column: name - output_value: reponame - bodyKeys: - - repoID - - tagName - - name - formatEN: push [tagName] to [reponame][name] - formatZH: '[tagName] 推送到 [reponame][name]' - paramKeys: [] - /containers/image/remove: - post: - consumes: - - application/json - description: 删除镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete image - tags: - - Container Image - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - names - formatEN: remove image [names] - formatZH: 移除镜像 [names] - paramKeys: [] - /containers/image/save: - post: - consumes: - - application/json - description: 导出镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageSave' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Save image - tags: - - Container Image - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - tagName - - path - - name - formatEN: save [tagName] as [path]/[name] - formatZH: 保留 [tagName] 为 [path]/[name] - paramKeys: [] - /containers/image/search: - post: - consumes: - - application/json - description: 获取镜像列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page images - tags: - - Container Image - /containers/image/tag: - post: - consumes: - - application/json - description: Tag 镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageTag' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Tag image - tags: - - Container Image - x-panel-log: - BeforeFunctions: - - db: image_repos - input_column: id - input_value: repoID - isList: false - output_column: name - output_value: reponame - bodyKeys: - - repoID - - targetName - formatEN: tag image [reponame][targetName] - formatZH: tag 镜像 [reponame][targetName] - paramKeys: [] - /containers/info: - post: - consumes: - - application/json - description: 获取容器表单信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.ContainerOperate' - security: - - ApiKeyAuth: [] - summary: Load container info - tags: - - Container - /containers/inspect: - post: - consumes: - - application/json - description: 容器详情 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.InspectReq' - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Container inspect - tags: - - Container - /containers/ipv6option/update: - post: - consumes: - - application/json - description: 修改 docker ipv6 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.LogOption' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update docker daemon.json ipv6 option - tags: - - Container Docker - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Updated the ipv6 option - formatZH: 更新 ipv6 配置 - paramKeys: [] - /containers/limit: - get: - description: 获取容器限制 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.ResourceLimit' - security: - - ApiKeyAuth: [] - summary: Load container limits - /containers/list: - post: - consumes: - - application/json - description: 获取容器名称 - produces: - - application/json - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: List containers - tags: - - Container - /containers/list/stats: - get: - description: 获取容器列表资源占用 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.ContainerListStats' - type: array - security: - - ApiKeyAuth: [] - summary: Load container stats - /containers/load/log: - post: - consumes: - - application/json - description: 获取容器操作日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load container log - tags: - - Container - /containers/logoption/update: - post: - consumes: - - application/json - description: 修改 docker 日志配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.LogOption' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update docker daemon.json log option - tags: - - Container Docker - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Updated the log option - formatZH: 更新日志配置 - paramKeys: [] - /containers/network: - get: - consumes: - - application/json - description: 获取容器网络列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.Options' - type: array - security: - - ApiKeyAuth: [] - summary: List networks - tags: - - Container Network - post: - consumes: - - application/json - description: 创建容器网络 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.NetworkCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create network - tags: - - Container Network - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create container network [name] - formatZH: 创建容器网络 name - paramKeys: [] - /containers/network/del: - post: - consumes: - - application/json - description: 删除容器网络 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete network - tags: - - Container Network - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - names - formatEN: delete container network [names] - formatZH: 删除容器网络 [names] - paramKeys: [] - /containers/network/search: - post: - consumes: - - application/json - description: 获取容器网络列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page networks - tags: - - Container Network - /containers/operate: - post: - consumes: - - application/json - description: 容器操作 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerOperation' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate Container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - names - - operation - formatEN: container [operation] [names] - formatZH: 容器 [names] 执行 [operation] - paramKeys: [] - /containers/prune: - post: - consumes: - - application/json - description: 容器清理 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerPrune' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.ContainerPruneReport' - security: - - ApiKeyAuth: [] - summary: Clean container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - pruneType - formatEN: clean container [pruneType] - formatZH: 清理容器 [pruneType] - paramKeys: [] - /containers/rename: - post: - consumes: - - application/json - description: 容器重命名 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerRename' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Rename Container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - newName - formatEN: rename container [name] => [newName] - formatZH: 容器重命名 [name] => [newName] - paramKeys: [] - /containers/repo: - get: - description: 获取镜像仓库列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.ImageRepoOption' - type: array - security: - - ApiKeyAuth: [] - summary: List image repos - tags: - - Container Image-repo - post: - consumes: - - application/json - description: 创建镜像仓库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageRepoDelete' - produces: - - application/json - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create image repo - tags: - - Container Image-repo - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create image repo [name] - formatZH: 创建镜像仓库 [name] - paramKeys: [] - /containers/repo/del: - post: - consumes: - - application/json - description: 删除镜像仓库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageRepoDelete' - produces: - - application/json - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete image repo - tags: - - Container Image-repo - x-panel-log: - BeforeFunctions: - - db: image_repos - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete image repo [names] - formatZH: 删除镜像仓库 [names] - paramKeys: [] - /containers/repo/search: - post: - consumes: - - application/json - description: 获取镜像仓库列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page image repos - tags: - - Container Image-repo - /containers/repo/status: - get: - consumes: - - application/json - description: 获取 docker 仓库状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - produces: - - application/json - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load repo status - tags: - - Container Image-repo - /containers/repo/update: - post: - consumes: - - application/json - description: 更新镜像仓库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ImageRepoUpdate' - produces: - - application/json - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update image repo - tags: - - Container Image-repo - x-panel-log: - BeforeFunctions: - - db: image_repos - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: update image repo information [name] - formatZH: 更新镜像仓库 [name] - paramKeys: [] - /containers/search: - post: - consumes: - - application/json - description: 获取容器列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageContainer' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page containers - tags: - - Container - /containers/search/log: - post: - description: 容器日志 - parameters: - - description: 容器名称 - in: query - name: container - 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 logs - tags: - - Container - /containers/stats/:id: - get: - description: 容器监控信息 - parameters: - - description: 容器id - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.ContainerStats' - security: - - ApiKeyAuth: [] - summary: Container stats - tags: - - Container - /containers/template: - get: - description: 获取容器编排模版列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.ComposeTemplateInfo' - type: array - security: - - ApiKeyAuth: [] - summary: List compose templates - tags: - - Container Compose-template - post: - consumes: - - application/json - description: 创建容器编排模版 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeTemplateCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create compose template - tags: - - Container Compose-template - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create compose template [name] - formatZH: 创建 compose 模版 [name] - paramKeys: [] - /containers/template/del: - post: - consumes: - - application/json - description: 删除容器编排模版 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete compose template - tags: - - Container Compose-template - x-panel-log: - BeforeFunctions: - - db: compose_templates - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete compose template [names] - formatZH: 删除 compose 模版 [names] - paramKeys: [] - /containers/template/search: - post: - consumes: - - application/json - description: 获取容器编排模版列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page compose templates - tags: - - Container Compose-template - /containers/template/update: - post: - consumes: - - application/json - description: 更新容器编排模版 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ComposeTemplateUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update compose template - tags: - - Container Compose-template - x-panel-log: - BeforeFunctions: - - db: compose_templates - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: update compose template information [name] - formatZH: 更新 compose 模版 [name] - paramKeys: [] - /containers/update: - post: - consumes: - - application/json - description: 更新容器 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - image - formatEN: update container [name][image] - formatZH: 更新容器 [name][image] - paramKeys: [] - /containers/upgrade: - post: - consumes: - - application/json - description: 更新容器镜像 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ContainerUpgrade' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Upgrade container - tags: - - Container - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - image - formatEN: upgrade container image [name][image] - formatZH: 更新容器镜像 [name][image] - paramKeys: [] - /containers/volume: - get: - consumes: - - application/json - description: 获取容器存储卷列表 - produces: - - application/json - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.Options' - type: array - security: - - ApiKeyAuth: [] - summary: List volumes - tags: - - Container Volume - post: - consumes: - - application/json - description: 创建容器存储卷 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.VolumeCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create volume - tags: - - Container Volume - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create container volume [name] - formatZH: 创建容器存储卷 [name] - paramKeys: [] - /containers/volume/del: - post: - consumes: - - application/json - description: 删除容器存储卷 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete volume - tags: - - Container Volume - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - names - formatEN: delete container volume [names] - formatZH: 删除容器存储卷 [names] - paramKeys: [] - /containers/volume/search: - post: - consumes: - - application/json - description: 获取容器存储卷分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - produces: - - application/json - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page volumes - tags: - - Container Volume - /cronjobs: - post: - consumes: - - application/json - description: 创建计划任务 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create cronjob - tags: - - Cronjob - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - - name - formatEN: create cronjob [type][name] - formatZH: 创建计划任务 [type][name] - paramKeys: [] - /cronjobs/del: - post: - consumes: - - application/json - description: 删除计划任务 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobBatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete cronjob - tags: - - Cronjob - x-panel-log: - 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: - post: - consumes: - - application/json - description: 下载计划任务记录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobDownload' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download cronjob records - tags: - - Cronjob - x-panel-log: - BeforeFunctions: - - db: job_records - input_column: id - input_value: recordID - isList: false - output_column: file - output_value: file - bodyKeys: - - recordID - formatEN: download the cronjob record [file] - formatZH: 下载计划任务记录 [file] - paramKeys: [] - /cronjobs/handle: - post: - consumes: - - application/json - description: 手动执行计划任务 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Handle cronjob once - tags: - - Cronjob - x-panel-log: - BeforeFunctions: - - db: cronjobs - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: manually execute the cronjob [name] - formatZH: 手动执行计划任务 [name] - paramKeys: [] - /cronjobs/records/clean: - post: - consumes: - - application/json - description: 清空计划任务记录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobClean' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Clean job records - tags: - - Cronjob - x-panel-log: - BeforeFunctions: - - db: cronjobs - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: clean cronjob [name] records - formatZH: 清空计划任务记录 [name] - paramKeys: [] - /cronjobs/records/log: - post: - consumes: - - application/json - description: 获取计划任务记录日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load Cronjob record log - tags: - - Cronjob - /cronjobs/search: - post: - consumes: - - application/json - description: 获取计划任务分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageCronjob' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page cronjobs - tags: - - Cronjob - /cronjobs/search/records: - post: - consumes: - - application/json - description: 获取计划任务记录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchRecord' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page job records - tags: - - Cronjob - /cronjobs/status: - post: - consumes: - - application/json - description: 更新计划任务状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobUpdateStatus' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update cronjob status - tags: - - Cronjob - x-panel-log: - BeforeFunctions: - - db: cronjobs - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - - status - formatEN: change the status of cronjob [name] to [status]. - formatZH: 修改计划任务 [name] 状态为 [status] - paramKeys: [] - /cronjobs/update: - post: - consumes: - - application/json - description: 更新计划任务 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CronjobUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update cronjob - tags: - - Cronjob - x-panel-log: - BeforeFunctions: - - db: cronjobs - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: update cronjob [name] - formatZH: 更新计划任务 [name] - paramKeys: [] - /dashboard/base/:ioOption/:netOption: - get: - consumes: - - application/json - description: 获取首页基础数据 - parameters: - - description: request - in: path - name: ioOption - required: true - type: string - - description: request - in: path - name: netOption - required: true - type: string - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DashboardBase' - security: - - ApiKeyAuth: [] - summary: Load dashboard base info - tags: - - Dashboard - /dashboard/base/os: - get: - consumes: - - application/json - description: 获取服务器基础数据 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.OsInfo' - security: - - ApiKeyAuth: [] - summary: Load os info - tags: - - Dashboard - /dashboard/current/:ioOption/:netOption: - get: - consumes: - - application/json - description: 获取首页实时数据 - parameters: - - description: request - in: path - name: ioOption - required: true - type: string - - description: request - in: path - name: netOption - required: true - type: string - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DashboardCurrent' - security: - - ApiKeyAuth: [] - summary: Load dashboard current info - tags: - - Dashboard - /dashboard/system/restart/:operation: - post: - consumes: - - application/json - description: 重启服务器/面板 - parameters: - - description: request - in: path - name: operation - required: true - type: string - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: System restart - tags: - - Dashboard - /databases: - post: - consumes: - - application/json - description: 创建 mysql 数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlDBCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create mysql database - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create mysql database [name] - formatZH: 创建 mysql 数据库 [name] - paramKeys: [] - /databases/bind: - post: - consumes: - - application/json - description: 绑定 mysql 数据库用户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BindUser' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Bind user of mysql database - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - database - - username - formatEN: bind mysql database [database] [username] - formatZH: 绑定 mysql 数据库名 [database] [username] - paramKeys: [] - /databases/change/access: - post: - consumes: - - application/json - description: 修改 mysql 访问权限 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeDBInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change mysql access - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: - - db: database_mysqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Update database [name] access - formatZH: 更新数据库 [name] 访问权限 - paramKeys: [] - /databases/change/password: - post: - consumes: - - application/json - description: 修改 mysql 密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeDBInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change mysql password - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: - - db: database_mysqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Update database [name] password - formatZH: 更新数据库 [name] 密码 - paramKeys: [] - /databases/common/info: - post: - consumes: - - application/json - description: 获取数据库基础信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DBBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load base info - tags: - - Database Common - /databases/common/load/file: - post: - consumes: - - application/json - description: 获取数据库配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load Database conf - tags: - - Database Common - /databases/common/update/conf: - post: - consumes: - - application/json - description: 上传替换配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DBConfUpdateByFile' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update conf by upload file - tags: - - Database Common - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - - database - formatEN: update the [type] [database] database configuration information - formatZH: 更新 [type] 数据库 [database] 配置信息 - paramKeys: [] - /databases/db: - post: - consumes: - - application/json - description: 创建远程数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DatabaseCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create database - tags: - - Database - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - type - formatEN: create database [name][type] - formatZH: 创建远程数据库 [name][type] - paramKeys: [] - /databases/db/:name: - get: - description: 获取远程数据库 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DatabaseInfo' - security: - - ApiKeyAuth: [] - summary: Get databases - tags: - - Database - /databases/db/check: - post: - consumes: - - application/json - description: 检测远程数据库连接性 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DatabaseCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Check database - tags: - - Database - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - type - formatEN: check if database [name][type] is connectable - formatZH: 检测远程数据库 [name][type] 连接性 - paramKeys: [] - /databases/db/del: - post: - consumes: - - application/json - description: 删除远程数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DatabaseDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete database - tags: - - Database - x-panel-log: - BeforeFunctions: - - db: databases - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete database [names] - formatZH: 删除远程数据库 [names] - paramKeys: [] - /databases/db/item/:type: - get: - description: 获取数据库列表 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.DatabaseItem' - type: array - security: - - ApiKeyAuth: [] - summary: List databases - tags: - - Database - /databases/db/list/:type: - get: - description: 获取远程数据库列表 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.DatabaseOption' - type: array - security: - - ApiKeyAuth: [] - summary: List databases - tags: - - Database - /databases/db/search: - post: - consumes: - - application/json - description: 获取远程数据库列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DatabaseSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page databases - tags: - - Database - /databases/db/update: - post: - consumes: - - application/json - description: 更新远程数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DatabaseUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update database - tags: - - Database - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: update database [name] - formatZH: 更新远程数据库 [name] - paramKeys: [] - /databases/del: - post: - consumes: - - application/json - description: 删除 mysql 数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlDBDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete mysql database - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: - - db: database_mysqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: delete mysql database [name] - formatZH: 删除 mysql 数据库 [name] - paramKeys: [] - /databases/del/check: - post: - consumes: - - application/json - description: Mysql 数据库删除前检查 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlDBDeleteCheck' - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: Check before delete mysql database - tags: - - Database Mysql - /databases/description/update: - post: - consumes: - - application/json - description: 更新 mysql 数据库库描述信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateDescription' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update mysql database description - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: - - db: database_mysqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - - description - formatEN: The description of the mysql database [name] is modified => [description] - formatZH: mysql 数据库 [name] 描述信息修改 [description] - paramKeys: [] - /databases/load: - post: - consumes: - - application/json - description: 从服务器获取 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlLoadDB' - responses: {} - security: - - ApiKeyAuth: [] - summary: Load mysql database from remote - tags: - - Database Mysql - /databases/options: - get: - consumes: - - application/json - description: 获取 mysql 数据库列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageInfo' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.MysqlOption' - type: array - security: - - ApiKeyAuth: [] - summary: List mysql database names - tags: - - Database Mysql - /databases/pg: - post: - consumes: - - application/json - description: 创建 postgresql 数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlDBCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create postgresql database - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: create postgresql database [name] - formatZH: 创建 postgresql 数据库 [name] - paramKeys: [] - /databases/pg/:database/load: - post: - consumes: - - application/json - description: 从服务器获取 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlLoadDB' - responses: {} - security: - - ApiKeyAuth: [] - summary: Load postgresql database from remote - tags: - - Database Postgresql - /databases/pg/bind: - post: - consumes: - - application/json - description: 绑定 postgresql 数据库用户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlBindUser' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Bind postgresql user - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - username - formatEN: bind postgresql database [name] user [username] - formatZH: 绑定 postgresql 数据库 [name] 用户 [username] - paramKeys: [] - /databases/pg/del: - post: - consumes: - - application/json - description: 删除 postgresql 数据库 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlDBDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete postgresql database - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: - - db: database_postgresqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: delete postgresql database [name] - formatZH: 删除 postgresql 数据库 [name] - paramKeys: [] - /databases/pg/del/check: - post: - consumes: - - application/json - description: Postgresql 数据库删除前检查 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlDBDeleteCheck' - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: Check before delete postgresql database - tags: - - Database Postgresql - /databases/pg/description: - post: - consumes: - - application/json - description: 更新 postgresql 数据库库描述信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateDescription' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update postgresql database description - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: - - db: database_postgresqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - - description - formatEN: The description of the postgresql database [name] is modified => - [description] - formatZH: postgresql 数据库 [name] 描述信息修改 [description] - paramKeys: [] - /databases/pg/password: - post: - consumes: - - application/json - description: 修改 postgresql 密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeDBInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change postgresql password - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: - - db: database_postgresqls - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Update database [name] password - formatZH: 更新数据库 [name] 密码 - paramKeys: [] - /databases/pg/privileges: - post: - consumes: - - application/json - description: 修改 postgresql 用户权限 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeDBInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change postgresql privileges - tags: - - Database Postgresql - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - database - - username - formatEN: Update [user] privileges of database [database] - formatZH: 更新数据库 [database] 用户 [username] 权限 - paramKeys: [] - /databases/pg/search: - post: - consumes: - - application/json - description: 获取 postgresql 数据库列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PostgresqlDBSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page postgresql databases - tags: - - Database Postgresql - /databases/redis/conf: - post: - consumes: - - application/json - description: 获取 redis 配置信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.RedisConf' - security: - - ApiKeyAuth: [] - summary: Load redis conf - tags: - - Database Redis - /databases/redis/conf/update: - post: - consumes: - - application/json - description: 更新 redis 配置信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RedisConfUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update redis conf - tags: - - Database Redis - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: update the redis database configuration information - formatZH: 更新 redis 数据库配置信息 - paramKeys: [] - /databases/redis/install/cli: - post: - description: 安装 redis cli - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Install redis-cli - tags: - - Database Redis - /databases/redis/password: - post: - consumes: - - application/json - description: 更新 redis 密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeRedisPass' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change redis password - tags: - - Database Redis - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: change the password of the redis database - formatZH: 修改 redis 数据库密码 - paramKeys: [] - /databases/redis/persistence/conf: - post: - consumes: - - application/json - description: 获取 redis 持久化配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.RedisPersistence' - security: - - ApiKeyAuth: [] - summary: Load redis persistence conf - tags: - - Database Redis - /databases/redis/persistence/update: - post: - consumes: - - application/json - description: 更新 redis 持久化配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RedisConfPersistenceUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update redis persistence conf - tags: - - Database Redis - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: redis database persistence configuration update - formatZH: redis 数据库持久化配置更新 - paramKeys: [] - /databases/redis/status: - post: - consumes: - - application/json - description: 获取 redis 状态信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.RedisStatus' - security: - - ApiKeyAuth: [] - summary: Load redis status info - tags: - - Database Redis - /databases/remote: - post: - consumes: - - application/json - description: 获取 mysql 远程访问权限 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - type: boolean - security: - - ApiKeyAuth: [] - summary: Load mysql remote access - tags: - - Database Mysql - /databases/search: - post: - consumes: - - application/json - description: 获取 mysql 数据库列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlDBSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page mysql databases - tags: - - Database Mysql - /databases/status: - post: - consumes: - - application/json - description: 获取 mysql 状态信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.MysqlStatus' - security: - - ApiKeyAuth: [] - summary: Load mysql status info - tags: - - Database Mysql - /databases/variables: - post: - consumes: - - application/json - description: 获取 mysql 性能参数信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithNameAndType' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.MysqlVariables' - security: - - ApiKeyAuth: [] - summary: Load mysql variables info - tags: - - Database Mysql - /databases/variables/update: - post: - consumes: - - application/json - description: mysql 性能调优 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MysqlVariablesUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update mysql variables - tags: - - Database Mysql - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: adjust mysql database performance parameters - formatZH: 调整 mysql 数据库性能参数 - paramKeys: [] - /db/remote/del/check: - post: - consumes: - - application/json - description: Mysql 远程数据库删除前检查 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: Check before delete remote database - tags: - - Database - /files: - post: - consumes: - - application/json - description: 创建文件/文件夹 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Create dir or file [path] - formatZH: 创建文件/文件夹 [path] - paramKeys: [] - /files/batch/del: - post: - consumes: - - application/json - description: 批量删除文件/文件夹 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileBatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Batch delete file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - paths - formatEN: Batch delete dir or file [paths] - formatZH: 批量删除文件/文件夹 [paths] - paramKeys: [] - /files/batch/role: - post: - consumes: - - application/json - description: 批量修改文件权限和用户/组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileRoleReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Batch change file mode and owner - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - paths - - mode - - user - - group - formatEN: Batch change file mode and owner [paths] => [mode]/[user]/[group] - formatZH: 批量修改文件权限和用户/组 [paths] => [mode]/[user]/[group] - paramKeys: [] - /files/check: - post: - consumes: - - application/json - description: 检测文件是否存在 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FilePathCheck' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Check file exist - tags: - - File - /files/chunkdownload: - post: - consumes: - - application/json - description: 分片下载下载文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileDownload' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Chunk Download file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Download file [name] - formatZH: 下载文件 [name] - paramKeys: [] - /files/chunkupload: - post: - description: 分片上传文件 - parameters: - - description: request - in: formData - name: file - required: true - type: file - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: ChunkUpload file - tags: - - File - /files/compress: - post: - consumes: - - application/json - description: 压缩文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileCompress' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Compress file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Compress file [name] - formatZH: 压缩文件 [name] - paramKeys: [] - /files/content: - post: - consumes: - - application/json - description: 获取文件内容 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileContentReq' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.FileInfo' - security: - - ApiKeyAuth: [] - summary: Load file content - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Load file content [path] - formatZH: 获取文件内容 [path] - paramKeys: [] - /files/decompress: - post: - consumes: - - application/json - description: 解压文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileDeCompress' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Decompress file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Decompress file [path] - formatZH: 解压 [path] - paramKeys: [] - /files/del: - post: - consumes: - - application/json - description: 删除文件/文件夹 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Delete dir or file [path] - formatZH: 删除文件/文件夹 [path] - paramKeys: [] - /files/download: - get: - consumes: - - application/json - description: 下载文件 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download file - tags: - - File - /files/favorite: - post: - consumes: - - application/json - description: 创建收藏 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FavoriteCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create favorite - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: 收藏文件/文件夹 [path] - formatZH: 收藏文件/文件夹 [path] - paramKeys: [] - /files/favorite/del: - post: - consumes: - - application/json - description: 删除收藏 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FavoriteDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete favorite - tags: - - File - x-panel-log: - BeforeFunctions: - - db: favorites - input_column: id - input_value: id - isList: false - output_column: path - output_value: path - bodyKeys: - - id - formatEN: delete avorite [path] - formatZH: 删除收藏 [path] - paramKeys: [] - /files/favorite/search: - post: - consumes: - - application/json - description: 获取收藏列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: List favorites - tags: - - File - /files/mode: - post: - consumes: - - application/json - description: 修改文件权限 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change file mode - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - - mode - formatEN: Change mode [paths] => [mode] - formatZH: 修改权限 [paths] => [mode] - paramKeys: [] - /files/move: - post: - consumes: - - application/json - description: 移动文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileMove' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Move file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - oldPaths - - newPath - formatEN: Move [oldPaths] => [newPath] - formatZH: 移动文件 [oldPaths] => [newPath] - paramKeys: [] - /files/owner: - post: - consumes: - - application/json - description: 修改文件用户/组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileRoleUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change file owner - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - - user - - group - formatEN: Change owner [paths] => [user]/[group] - formatZH: 修改用户/组 [paths] => [user]/[group] - paramKeys: [] - /files/read: - post: - description: 按行读取日志文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileReadByLineReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Read file by Line - tags: - - File - /files/recycle/clear: - post: - consumes: - - application/json - description: 清空回收站文件 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Clear RecycleBin files - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: 清空回收站 - formatZH: 清空回收站 - paramKeys: [] - /files/recycle/reduce: - post: - consumes: - - application/json - description: 还原回收站文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RecycleBinReduce' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Reduce RecycleBin files - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Reduce RecycleBin file [name] - formatZH: 还原回收站文件 [name] - paramKeys: [] - /files/recycle/search: - post: - consumes: - - application/json - description: 获取回收站文件列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: List RecycleBin files - tags: - - File - /files/recycle/status: - get: - consumes: - - application/json - description: 获取回收站状态 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get RecycleBin status - tags: - - File - /files/rename: - post: - consumes: - - application/json - description: 修改文件名称 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileRename' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change file name - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - oldName - - newName - formatEN: Rename [oldName] => [newName] - formatZH: 重命名 [oldName] => [newName] - paramKeys: [] - /files/save: - post: - consumes: - - application/json - description: 更新文件内容 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileEdit' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update file content - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Update file content [path] - formatZH: 更新文件内容 [path] - paramKeys: [] - /files/search: - post: - consumes: - - application/json - description: 获取文件列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileOption' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.FileInfo' - security: - - ApiKeyAuth: [] - summary: List files - tags: - - File - /files/size: - post: - consumes: - - application/json - description: 获取文件夹大小 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.DirSizeReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load file size - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Load file size [path] - formatZH: 获取文件夹大小 [path] - paramKeys: [] - /files/tree: - post: - consumes: - - application/json - description: 加载文件树 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileOption' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.FileTree' - type: array - security: - - ApiKeyAuth: [] - summary: Load files tree - tags: - - File - /files/upload: - post: - description: 上传文件 - parameters: - - description: request - in: formData - name: file - required: true - type: file - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Upload file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - path - formatEN: Upload file [path] - formatZH: 上传文件 [path] - paramKeys: [] - /files/upload/search: - post: - consumes: - - application/json - description: 分页获取上传文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.SearchUploadWithPage' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.FileInfo' - type: array - security: - - ApiKeyAuth: [] - summary: Page file - tags: - - File - /files/wget: - post: - consumes: - - application/json - description: 下载远端文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.FileWget' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Wget file - tags: - - File - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - url - - path - - name - formatEN: Download url => [path]/[name] - formatZH: 下载 url => [path]/[name] - paramKeys: [] - /groups: - post: - consumes: - - application/json - description: 创建系统组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.GroupCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - System Group - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - type - formatEN: create group [name][type] - formatZH: 创建组 [name][type] - paramKeys: [] - /groups/del: - post: - consumes: - - application/json - description: 删除系统组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete group - tags: - - System Group - x-panel-log: - 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: [] - /groups/search: - post: - consumes: - - application/json - description: 查询系统组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.GroupSearch' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.GroupInfo' - type: array - security: - - ApiKeyAuth: [] - summary: List groups - tags: - - System Group - /groups/update: - post: - consumes: - - application/json - description: 更新系统组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.GroupUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update group - tags: - - System Group - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - type - formatEN: update group [name][type] - formatZH: 更新组 [name][type] - paramKeys: [] - /host/conffile/update: - post: - consumes: - - application/json - description: 上传文件更新 SSH 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SSHConf' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update host SSH setting by file - tags: - - SSH - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: update SSH conf - formatZH: 修改 SSH 配置文件 - paramKeys: [] - /host/ssh/conf: - get: - description: 获取 SSH 配置文件 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load host SSH conf - tags: - - SSH - /host/ssh/generate: - post: - consumes: - - application/json - description: 生成 SSH 密钥 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.GenerateSSH' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Generate host SSH secret - tags: - - SSH - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: generate SSH secret - formatZH: '生成 SSH 密钥 ' - paramKeys: [] - /host/ssh/log: - post: - consumes: - - application/json - description: 获取 SSH 登录日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchSSHLog' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.SSHLog' - security: - - ApiKeyAuth: [] - summary: Load host SSH logs - tags: - - SSH - /host/ssh/operate: - post: - consumes: - - application/json - description: 修改 SSH 服务状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Operate' - responses: {} - security: - - ApiKeyAuth: [] - summary: Operate SSH - tags: - - SSH - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] SSH' - formatZH: '[operation] SSH ' - paramKeys: [] - /host/ssh/search: - post: - description: 加载 SSH 配置信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.SSHInfo' - security: - - ApiKeyAuth: [] - summary: Load host SSH setting info - tags: - - SSH - /host/ssh/secret: - post: - consumes: - - application/json - description: 获取 SSH 密钥 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.GenerateLoad' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load host SSH secret - tags: - - SSH - /host/ssh/update: - post: - consumes: - - application/json - description: 更新 SSH 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SSHUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update host SSH setting - tags: - - SSH - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: update SSH setting [key] => [value] - formatZH: 修改 SSH 配置 [key] => [value] - paramKeys: [] - /host/tool: - post: - consumes: - - application/json - description: 获取主机工具状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.HostToolReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get tool - tags: - - Host tool - /host/tool/config: - post: - consumes: - - application/json - description: 操作主机工具配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.HostToolConfig' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get tool config - tags: - - Host tool - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operate - formatEN: '[operate] tool config' - formatZH: '[operate] 主机工具配置文件 ' - paramKeys: [] - /host/tool/create: - post: - consumes: - - application/json - description: 创建主机工具配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.HostToolCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create Host tool Config - tags: - - Host tool - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - formatEN: create [type] config - formatZH: 创建 [type] 配置 - paramKeys: [] - /host/tool/log: - post: - consumes: - - application/json - description: 获取主机工具日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.HostToolLogReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get tool - tags: - - Host tool - /host/tool/operate: - post: - consumes: - - application/json - description: 操作主机工具 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.HostToolReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate tool - tags: - - Host tool - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operate - - type - formatEN: '[operate] [type]' - formatZH: '[operate] [type] ' - paramKeys: [] - /host/tool/supervisor/process: - get: - consumes: - - application/json - description: 获取 Supervisor 进程配置 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get Supervisor process config - tags: - - Host tool - post: - consumes: - - application/json - description: 操作守护进程 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.SupervisorProcessConfig' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create Supervisor process - tags: - - Host tool - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operate - formatEN: '[operate] process' - formatZH: '[operate] 守护进程 ' - paramKeys: [] - /host/tool/supervisor/process/file: - post: - consumes: - - application/json - description: 操作 Supervisor 进程文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.SupervisorProcessFileReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get Supervisor process config - tags: - - Host tool - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operate - formatEN: '[operate] Supervisor Process Config file' - formatZH: '[operate] Supervisor 进程文件 ' - paramKeys: [] - /hosts: - post: - consumes: - - application/json - description: 创建主机 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.HostOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create host - tags: - - Host - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - addr - formatEN: create host [name][addr] - formatZH: 创建主机 [name][addr] - paramKeys: [] - /hosts/command: - get: - description: 获取快速命令列表 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.CommandInfo' - security: - - ApiKeyAuth: [] - summary: List commands - tags: - - Command - post: - consumes: - - application/json - description: 创建快速命令 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CommandOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create command - tags: - - Command - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - command - formatEN: create quick command [name][command] - formatZH: 创建快捷命令 [name][command] - paramKeys: [] - /hosts/command/del: - post: - consumes: - - application/json - description: 删除快速命令 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete command - tags: - - Command - x-panel-log: - BeforeFunctions: - - db: commands - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete quick command [names] - formatZH: 删除快捷命令 [names] - paramKeys: [] - /hosts/command/redis: - get: - description: 获取 redis 快速命令列表 - responses: - "200": - description: OK - schema: - type: Array - security: - - ApiKeyAuth: [] - summary: List redis commands - tags: - - Redis Command - post: - consumes: - - application/json - description: 保存 Redis 快速命令 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RedisCommand' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Save redis command - tags: - - Redis Command - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - command - formatEN: save quick command for redis [name][command] - formatZH: 保存 redis 快捷命令 [name][command] - paramKeys: [] - /hosts/command/redis/del: - post: - consumes: - - application/json - description: 删除 redis 快速命令 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete redis command - tags: - - Redis Command - x-panel-log: - BeforeFunctions: - - db: redis_commands - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete quick command of redis [names] - formatZH: 删除 redis 快捷命令 [names] - paramKeys: [] - /hosts/command/redis/search: - post: - consumes: - - application/json - description: 获取 redis 快速命令列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page redis commands - tags: - - Redis Command - /hosts/command/search: - post: - consumes: - - application/json - description: 获取快速命令列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page commands - tags: - - Command - /hosts/command/tree: - get: - consumes: - - application/json - description: 获取快速命令树 - responses: - "200": - description: OK - schema: - type: Array - security: - - ApiKeyAuth: [] - summary: Tree commands - tags: - - Command - /hosts/command/update: - post: - consumes: - - application/json - description: 更新快速命令 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CommandOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update command - tags: - - Command - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: update quick command [name] - formatZH: 更新快捷命令 [name] - paramKeys: [] - /hosts/del: - post: - consumes: - - application/json - description: 删除主机 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete host - tags: - - Host - x-panel-log: - 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: [] - /hosts/firewall/base: - get: - description: 获取防火墙基础信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.FirewallBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load firewall base info - tags: - - Firewall - /hosts/firewall/batch: - post: - consumes: - - application/json - description: 批量删除防火墙规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchRuleOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - /hosts/firewall/forward: - post: - consumes: - - application/json - description: 更新防火墙端口转发规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ForwardRuleOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - source_port - formatEN: update port forward rules [source_port] - formatZH: 更新端口转发规则 [source_port] - paramKeys: [] - /hosts/firewall/ip: - post: - consumes: - - application/json - description: 创建防火墙 IP 规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.AddrRuleOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - strategy - - address - formatEN: create address rules [strategy][address] - formatZH: 添加 ip 规则 [strategy] [address] - paramKeys: [] - /hosts/firewall/operate: - post: - consumes: - - application/json - description: 修改防火墙状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.FirewallOperation' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page firewall status - tags: - - Firewall - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] firewall' - formatZH: '[operation] 防火墙' - paramKeys: [] - /hosts/firewall/port: - post: - consumes: - - application/json - description: 创建防火墙端口规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PortRuleOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - port - - strategy - formatEN: create port rules [strategy][port] - formatZH: 添加端口规则 [strategy] [port] - paramKeys: [] - /hosts/firewall/search: - post: - consumes: - - application/json - description: 获取防火墙规则列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RuleSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page firewall rules - tags: - - Firewall - /hosts/firewall/update/addr: - post: - consumes: - - application/json - description: 更新 ip 防火墙规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.AddrRuleUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - /hosts/firewall/update/description: - post: - consumes: - - application/json - description: 更新防火墙描述 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateFirewallDescription' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update rule description - tags: - - Firewall - /hosts/firewall/update/port: - post: - consumes: - - application/json - description: 更新端口防火墙规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PortRuleUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create group - tags: - - Firewall - /hosts/monitor/clean: - post: - description: 清空监控数据 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Clean monitor datas - tags: - - Monitor - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: clean monitor datas - formatZH: 清空监控数据 - paramKeys: [] - /hosts/monitor/search: - post: - description: 获取监控数据 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MonitorSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load monitor datas - tags: - - Monitor - /hosts/search: - post: - consumes: - - application/json - description: 获取主机列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchHostWithPage' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.HostTree' - type: array - security: - - ApiKeyAuth: [] - summary: Page host - tags: - - Host - /hosts/test/byid/:id: - post: - consumes: - - application/json - description: 测试主机连接 - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - type: boolean - security: - - ApiKeyAuth: [] - summary: Test host conn by host id - tags: - - Host - /hosts/test/byinfo: - post: - consumes: - - application/json - description: 测试主机连接 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.HostConnTest' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Test host conn by info - tags: - - Host - /hosts/tree: - post: - consumes: - - application/json - description: 加载主机树 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchForTree' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.HostTree' - type: array - security: - - ApiKeyAuth: [] - summary: Load host tree - tags: - - Host - /hosts/update: - post: - consumes: - - application/json - description: 更新主机 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.HostOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update host - tags: - - Host - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - addr - formatEN: update host [name][addr] - formatZH: 更新主机信息 [name][addr] - paramKeys: [] - /hosts/update/group: - post: - consumes: - - application/json - description: 切换分组 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangeHostGroup' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update host group - tags: - - Host - x-panel-log: - 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 => [group] - formatZH: 切换主机[addr]分组 => [group] - paramKeys: [] - /logs/clean: - post: - consumes: - - application/json - description: 清空操作日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CleanLog' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Clean operation logs - tags: - - Logs - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - logType - formatEN: Clean the [logType] log information - formatZH: 清空 [logType] 日志信息 - paramKeys: [] - /logs/login: - post: - consumes: - - application/json - description: 获取系统登录日志列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchLgLogWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page login logs - tags: - - Logs - /logs/operation: - post: - consumes: - - application/json - description: 获取系统操作日志列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchOpLogWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page operation logs - tags: - - Logs - /logs/system: - post: - description: 获取系统日志 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load system logs - tags: - - Logs - /logs/system/files: - get: - description: 获取系统日志文件列表 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load system log files - tags: - - Logs - /openresty: - get: - description: 获取 OpenResty 配置信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.FileInfo' - security: - - ApiKeyAuth: [] - summary: Load OpenResty conf - tags: - - OpenResty - /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 - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxConfigFileUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update OpenResty conf by upload file - tags: - - OpenResty - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Update nginx conf - formatZH: 更新 nginx 配置 - paramKeys: [] - /openresty/scope: - post: - consumes: - - application/json - description: 获取部分 OpenResty 配置信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxScopeReq' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.NginxParam' - type: array - security: - - ApiKeyAuth: [] - summary: Load partial OpenResty conf - tags: - - OpenResty - /openresty/status: - get: - description: 获取 OpenResty 状态信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.NginxStatus' - security: - - ApiKeyAuth: [] - summary: Load OpenResty status info - tags: - - OpenResty - /openresty/update: - post: - consumes: - - application/json - description: 更新 OpenResty 配置信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxConfigUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update OpenResty conf - tags: - - OpenResty - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteId - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteId - formatEN: Update nginx conf [domain] - formatZH: 更新 nginx 配置 [domain] - paramKeys: [] - /process/stop: - post: - description: 停止进程 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.ProcessReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Stop Process - tags: - - Process - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - PID - formatEN: 结束进程 [PID] - formatZH: 结束进程 [PID] - paramKeys: [] - /runtimes: - post: - consumes: - - application/json - description: 创建运行环境 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RuntimeCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create runtime - tags: - - Runtime - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Create runtime [name] - formatZH: 创建运行环境 [name] - paramKeys: [] - /runtimes/:id: - get: - consumes: - - application/json - description: 获取运行环境 - parameters: - - description: request - in: path - name: id - required: true - type: string - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get runtime - tags: - - Runtime - /runtimes/del: - post: - consumes: - - application/json - description: 删除运行环境 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RuntimeDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete runtime - tags: - - Website - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - id - formatEN: Delete website [name] - formatZH: 删除网站 [name] - paramKeys: [] - /runtimes/node/modules: - post: - consumes: - - application/json - description: 获取 Node 项目的 modules - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NodeModuleReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get Node modules - tags: - - Runtime - /runtimes/node/modules/operate: - post: - consumes: - - application/json - description: 操作 Node 项目 modules - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NodeModuleReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate Node modules - tags: - - Runtime - /runtimes/node/package: - post: - consumes: - - application/json - description: 获取 Node 项目的 scripts - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NodePackageReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get Node package scripts - tags: - - Runtime - /runtimes/operate: - post: - consumes: - - application/json - description: 操作运行环境 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RuntimeOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate runtime - tags: - - Runtime - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - id - formatEN: Operate runtime [name] - formatZH: 操作运行环境 [name] - paramKeys: [] - /runtimes/php/extensions: - post: - consumes: - - application/json - description: Create Extensions - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.PHPExtensionsCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create Extensions - tags: - - PHP Extensions - /runtimes/php/extensions/del: - post: - consumes: - - application/json - description: Delete Extensions - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.PHPExtensionsDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete Extensions - tags: - - PHP Extensions - /runtimes/php/extensions/search: - post: - consumes: - - application/json - description: Page Extensions - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.PHPExtensionsSearch' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.PHPExtensionsDTO' - type: array - security: - - ApiKeyAuth: [] - summary: Page Extensions - tags: - - PHP Extensions - /runtimes/php/extensions/update: - post: - consumes: - - application/json - description: Update Extensions - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.PHPExtensionsUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update Extensions - tags: - - PHP Extensions - /runtimes/search: - post: - consumes: - - application/json - description: 获取运行环境列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RuntimeSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: List runtimes - tags: - - Runtime - /runtimes/sync: - post: - consumes: - - application/json - description: 同步运行环境状态 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Sync runtime status - tags: - - Runtime - /runtimes/update: - post: - consumes: - - application/json - description: 更新运行环境 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.RuntimeUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update runtime - tags: - - Runtime - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Update runtime [name] - formatZH: 更新运行环境 [name] - paramKeys: [] - /settings/backup: - post: - consumes: - - application/json - description: 创建备份账号 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BackupOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create backup account - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - formatEN: create backup account [type] - formatZH: 创建备份账号 [type] - paramKeys: [] - /settings/backup/backup: - post: - consumes: - - application/json - description: 备份系统数据 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CommonBackup' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Backup system data - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - - name - - detailName - formatEN: backup [type] data [name][detailName] - formatZH: 备份 [type] 数据 [name][detailName] - paramKeys: [] - /settings/backup/del: - post: - consumes: - - application/json - description: 删除备份账号 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - 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: [] - /settings/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 - /settings/backup/record/del: - post: - consumes: - - application/json - description: 删除备份记录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete backup record - tags: - - Backup Account - x-panel-log: - BeforeFunctions: - - db: backup_records - input_column: id - input_value: ids - isList: true - output_column: file_name - output_value: files - bodyKeys: - - ids - formatEN: delete backup records [files] - formatZH: 删除备份记录 [files] - paramKeys: [] - /settings/backup/record/download: - post: - consumes: - - application/json - description: 下载备份记录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.DownloadRecord' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download backup record - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - source - - fileName - formatEN: download backup records [source][fileName] - formatZH: 下载备份记录 [source][fileName] - paramKeys: [] - /settings/backup/record/search: - post: - consumes: - - application/json - description: 获取备份记录列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RecordSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Page backup records - tags: - - Backup Account - /settings/backup/record/search/bycronjob: - post: - consumes: - - application/json - description: 通过计划任务获取备份记录列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.RecordSearchByCronjob' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Page backup records by cronjob - tags: - - Backup Account - /settings/backup/recover: - post: - consumes: - - application/json - description: 恢复系统数据 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CommonRecover' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Recover system data - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - - name - - detailName - - file - formatEN: recover [type] data [name][detailName] from [file] - formatZH: 从 [file] 恢复 [type] 数据 [name][detailName] - paramKeys: [] - /settings/backup/recover/byupload: - post: - consumes: - - application/json - description: 从上传恢复系统数据 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.CommonRecover' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Recover system data by upload - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - - name - - detailName - - file - formatEN: recover [type] data [name][detailName] from [file] - formatZH: 从 [file] 恢复 [type] 数据 [name][detailName] - paramKeys: [] - /settings/backup/refresh/onedrive: - post: - description: 刷新 OneDrive token - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Refresh OneDrive token - tags: - - Backup Account - /settings/backup/search: - get: - description: 获取备份账号列表 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/dto.BackupInfo' - type: array - security: - - ApiKeyAuth: [] - summary: List backup accounts - tags: - - Backup Account - post: - consumes: - - application/json - description: 获取 bucket 列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ForBuckets' - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: List buckets - tags: - - Backup Account - /settings/backup/search/files: - post: - consumes: - - application/json - description: 获取备份账号内文件列表 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BackupSearchFile' - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: List files from backup accounts - tags: - - Backup Account - /settings/backup/update: - post: - consumes: - - application/json - description: 更新备份账号信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BackupOperate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update backup account - tags: - - Backup Account - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - formatEN: update backup account [types] - formatZH: 更新备份账号 [types] - paramKeys: [] - /settings/basedir: - get: - description: 获取安装根目录 - responses: - "200": - description: OK - schema: - type: string - security: - - ApiKeyAuth: [] - summary: Load local backup dir - tags: - - System Setting - /settings/bind/update: - post: - consumes: - - application/json - description: 更新系统监听信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BindInfo' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system bind info - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - ipv6 - - bindAddress - formatEN: 'update system bind info => ipv6: [ipv6], 监听 IP: [bindAddress]' - formatZH: '修改系统监听信息 => ipv6: [ipv6], 监听 IP: [bindAddress]' - paramKeys: [] - /settings/expired/handle: - post: - consumes: - - application/json - description: 重置过期系统登录密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PasswordUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Reset system password expired - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: reset an expired Password - formatZH: 重置过期密码 - paramKeys: [] - /settings/interface: - get: - consumes: - - application/json - description: 获取系统地址信息 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load system address - tags: - - System Setting - /settings/menu/update: - post: - consumes: - - application/json - description: 隐藏高级功能菜单 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SettingUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system setting - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Hide advanced feature menu. - formatZH: 隐藏高级功能菜单 - paramKeys: [] - /settings/mfa: - post: - consumes: - - application/json - description: 获取 mfa 信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MfaCredential' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/mfa.Otp' - security: - - ApiKeyAuth: [] - summary: Load mfa info - tags: - - System Setting - /settings/mfa/bind: - post: - consumes: - - application/json - description: Mfa 绑定 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.MfaCredential' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Bind mfa - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: bind mfa - formatZH: mfa 绑定 - paramKeys: [] - /settings/password/update: - post: - consumes: - - application/json - description: 更新系统登录密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PasswordUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system password - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: update system password - formatZH: 修改系统密码 - paramKeys: [] - /settings/port/update: - post: - consumes: - - application/json - description: 更新系统端口 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PortUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system port - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - serverPort - formatEN: update system port => [serverPort] - formatZH: 修改系统端口 => [serverPort] - paramKeys: [] - /settings/proxy/update: - post: - consumes: - - application/json - description: 服务器代理配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ProxyUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update proxy setting - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - proxyUrl - - proxyPort - formatEN: set proxy [proxyPort]:[proxyPort]. - formatZH: 服务器代理配置 [proxyPort]:[proxyPort] - paramKeys: [] - /settings/search: - post: - description: 加载系统配置信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.SettingInfo' - security: - - ApiKeyAuth: [] - summary: Load system setting info - tags: - - System Setting - /settings/search/available: - get: - description: 获取系统可用状态 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load system available status - tags: - - System Setting - /settings/snapshot: - post: - consumes: - - application/json - description: 创建系统快照 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SnapshotCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create system snapshot - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - from - - description - formatEN: Create system backup [description] to [from] - formatZH: 创建系统快照 [description] 到 [from] - paramKeys: [] - /settings/snapshot/del: - post: - consumes: - - application/json - description: 删除系统快照 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SnapshotBatchDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete system backup - tags: - - System Setting - x-panel-log: - BeforeFunctions: - - db: snapshots - input_column: id - input_value: ids - isList: true - output_column: name - output_value: name - bodyKeys: - - ids - formatEN: Delete system backup [name] - formatZH: 删除系统快照 [name] - paramKeys: [] - /settings/snapshot/description/update: - post: - consumes: - - application/json - description: 更新快照描述信息 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateDescription' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update snapshot description - tags: - - System Setting - x-panel-log: - BeforeFunctions: - - db: snapshots - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - - description - formatEN: The description of the snapshot [name] is modified => [description] - formatZH: 快照 [name] 描述信息修改 [description] - paramKeys: [] - /settings/snapshot/import: - post: - consumes: - - application/json - description: 导入已有快照 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SnapshotImport' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Import system snapshot - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - from - - names - formatEN: Sync system snapshots [names] from [from] - formatZH: 从 [from] 同步系统快照 [names] - paramKeys: [] - /settings/snapshot/recover: - post: - consumes: - - application/json - description: 从系统快照恢复 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SnapshotRecover' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Recover system backup - tags: - - System Setting - x-panel-log: - BeforeFunctions: - - db: snapshots - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Recover from system backup [name] - formatZH: 从系统快照 [name] 恢复 - paramKeys: [] - /settings/snapshot/rollback: - post: - consumes: - - application/json - description: 从系统快照回滚 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SnapshotRecover' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Rollback system backup - tags: - - System Setting - x-panel-log: - BeforeFunctions: - - db: snapshots - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Rollback from system backup [name] - formatZH: 从系统快照 [name] 回滚 - paramKeys: [] - /settings/snapshot/search: - post: - consumes: - - application/json - description: 获取系统快照列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page system snapshot - tags: - - System Setting - /settings/snapshot/status: - post: - consumes: - - application/json - description: 获取快照状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load Snapshot status - tags: - - System Setting - /settings/ssl/download: - post: - description: 下载证书 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download system cert - tags: - - System Setting - /settings/ssl/info: - get: - description: 获取证书信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.SettingInfo' - security: - - ApiKeyAuth: [] - summary: Load system cert info - tags: - - System Setting - /settings/ssl/update: - post: - consumes: - - application/json - description: 修改系统 ssl 登录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SSLUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system ssl - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - ssl - formatEN: update system ssl => [ssl] - formatZH: 修改系统 ssl => [ssl] - paramKeys: [] - /settings/update: - post: - consumes: - - application/json - description: 更新系统配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SettingUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update system setting - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: update system setting [key] => [value] - formatZH: 修改系统配置 [key] => [value] - paramKeys: [] - /settings/upgrade: - get: - consumes: - - application/json - description: 获取版本 release notes - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Upgrade' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load release notes by version - tags: - - System Setting - post: - consumes: - - application/json - description: 系统更新 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Upgrade' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Upgrade - tags: - - System Setting - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - version - formatEN: upgrade system => [version] - formatZH: 更新系统 => [version] - paramKeys: [] - /toolbox/clam: - post: - consumes: - - application/json - description: 创建扫描规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create clam - tags: - - Clam - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - path - formatEN: create clam [name][path] - formatZH: 创建扫描规则 [name][path] - paramKeys: [] - /toolbox/clam/base: - get: - consumes: - - application/json - description: 获取 Clam 基础信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.ClamBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load clam base info - tags: - - Clam - /toolbox/clam/del: - post: - consumes: - - application/json - description: 删除扫描规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete clam - tags: - - Clam - x-panel-log: - BeforeFunctions: - - db: clams - input_column: id - input_value: ids - isList: true - output_column: name - output_value: names - bodyKeys: - - ids - formatEN: delete clam [names] - formatZH: 删除扫描规则 [names] - paramKeys: [] - /toolbox/clam/file/search: - post: - consumes: - - application/json - description: 获取扫描文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamFileReq' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Load clam file - tags: - - Clam - /toolbox/clam/file/update: - post: - consumes: - - application/json - description: 更新病毒扫描配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateByNameAndFile' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update clam file - tags: - - Clam - /toolbox/clam/handle: - post: - consumes: - - application/json - description: 执行病毒扫描 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Handle clam scan - tags: - - Clam - x-panel-log: - BeforeFunctions: - - db: clams - input_column: id - input_value: id - isList: true - output_column: name - output_value: name - bodyKeys: - - id - formatEN: handle clam scan [name] - formatZH: 执行病毒扫描 [name] - paramKeys: [] - /toolbox/clam/operate: - post: - consumes: - - application/json - description: 修改 Clam 状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Operate' - responses: {} - security: - - ApiKeyAuth: [] - summary: Operate Clam - tags: - - Clam - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] FTP' - formatZH: '[operation] Clam' - paramKeys: [] - /toolbox/clam/record/clean: - post: - consumes: - - application/json - description: 清空扫描报告 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperateByID' - responses: {} - security: - - ApiKeyAuth: [] - summary: Clean clam record - tags: - - Clam - x-panel-log: - BeforeFunctions: - - db: clams - input_column: id - input_value: id - isList: true - output_column: name - output_value: name - bodyKeys: - - id - formatEN: clean clam record [name] - formatZH: 清空扫描报告 [name] - paramKeys: [] - /toolbox/clam/record/log: - post: - consumes: - - application/json - description: 获取扫描结果详情 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamLogReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load clam record detail - tags: - - Clam - /toolbox/clam/record/search: - post: - consumes: - - application/json - description: 获取扫描结果列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamLogSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page clam record - tags: - - Clam - /toolbox/clam/search: - post: - consumes: - - application/json - description: 获取扫描规则列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page clam - tags: - - Clam - /toolbox/clam/status/update: - post: - consumes: - - application/json - description: 修改扫描规则状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamUpdateStatus' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update clam status - tags: - - Clam - x-panel-log: - BeforeFunctions: - - db: clams - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - - status - formatEN: change the status of clam [name] to [status]. - formatZH: 修改扫描规则 [name] 状态为 [status] - paramKeys: [] - /toolbox/clam/update: - post: - consumes: - - application/json - description: 修改扫描规则 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ClamUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update clam - tags: - - Clam - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - - path - formatEN: update clam [name][path] - formatZH: 修改扫描规则 [name][path] - paramKeys: [] - /toolbox/clean: - post: - consumes: - - application/json - description: 清理系统垃圾文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - items: - $ref: '#/definitions/dto.Clean' - type: array - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Clean system - tags: - - Device - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: Clean system junk files - formatZH: 清理系统垃圾文件 - paramKeys: [] - /toolbox/device/base: - post: - description: 获取设备基础信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.DeviceBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load device base info - tags: - - Device - /toolbox/device/check/dns: - post: - consumes: - - application/json - description: 检查系统 DNS 配置可用性 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SettingUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Check device DNS conf - tags: - - Device - /toolbox/device/conf: - post: - consumes: - - application/json - description: 获取系统配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.OperationWithName' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: load conf - tags: - - Device - /toolbox/device/update/byconf: - post: - consumes: - - application/json - description: 通过文件修改配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateByNameAndFile' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update device conf by file - tags: - - Device - /toolbox/device/update/conf: - post: - consumes: - - application/json - description: 修改系统参数 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SettingUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update device - tags: - - Device - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: update device conf [key] => [value] - formatZH: 修改主机参数 [key] => [value] - paramKeys: [] - /toolbox/device/update/host: - post: - description: 修改系统 hosts - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update device hosts - tags: - - Device - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: update device host [key] => [value] - formatZH: 修改主机 Host [key] => [value] - paramKeys: [] - /toolbox/device/update/passwd: - post: - consumes: - - application/json - description: 修改系统密码 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.ChangePasswd' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update device passwd - tags: - - Device - /toolbox/device/update/swap: - post: - consumes: - - application/json - description: 修改系统 Swap - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SwapHelper' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update device swap - tags: - - Device - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operate - - path - formatEN: '[operate] device swap [path]' - formatZH: '[operate] 主机 swap [path]' - paramKeys: [] - /toolbox/device/zone/options: - get: - consumes: - - application/json - description: 获取系统可用时区选项 - responses: - "200": - description: OK - schema: - type: Array - security: - - ApiKeyAuth: [] - summary: list time zone options - tags: - - Device - /toolbox/fail2ban/base: - get: - description: 获取 Fail2ban 基础信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.Fail2BanBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load fail2ban base info - tags: - - Fail2ban - /toolbox/fail2ban/load/conf: - get: - consumes: - - application/json - description: 获取 fail2ban 配置文件 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Load fail2ban conf - tags: - - Fail2ban - /toolbox/fail2ban/operate: - post: - consumes: - - application/json - description: 修改 Fail2ban 状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Operate' - responses: {} - security: - - ApiKeyAuth: [] - summary: Operate fail2ban - tags: - - Fail2ban - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] Fail2ban' - formatZH: '[operation] Fail2ban' - paramKeys: [] - /toolbox/fail2ban/operate/sshd: - post: - consumes: - - application/json - description: 配置 sshd - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Operate' - responses: {} - security: - - ApiKeyAuth: [] - summary: Operate sshd of fail2ban - tags: - - Fail2ban - /toolbox/fail2ban/search: - post: - consumes: - - application/json - description: 获取 Fail2ban ip - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Fail2BanSearch' - responses: - "200": - description: OK - schema: - type: Array - security: - - ApiKeyAuth: [] - summary: Page fail2ban ip list - tags: - - Fail2ban - /toolbox/fail2ban/update: - post: - consumes: - - application/json - description: 修改 Fail2ban 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Fail2BanUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update fail2ban conf - tags: - - Fail2ban - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - key - - value - formatEN: update fail2ban conf [key] => [value] - formatZH: 修改 Fail2ban 配置 [key] => [value] - paramKeys: [] - /toolbox/fail2ban/update/byconf: - post: - consumes: - - application/json - description: 通过文件修改 fail2ban 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.UpdateByFile' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update fail2ban conf by file - tags: - - Fail2ban - /toolbox/ftp: - post: - consumes: - - application/json - description: 创建 FTP 账户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.FtpCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create FTP user - tags: - - FTP - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - user - - path - formatEN: create FTP [user][path] - formatZH: 创建 FTP 账户 [user][path] - paramKeys: [] - /toolbox/ftp/base: - get: - description: 获取 FTP 基础信息 - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.FtpBaseInfo' - security: - - ApiKeyAuth: [] - summary: Load FTP base info - tags: - - FTP - /toolbox/ftp/del: - post: - consumes: - - application/json - description: 删除 FTP 账户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete FTP user - tags: - - FTP - x-panel-log: - BeforeFunctions: - - db: ftps - input_column: id - input_value: ids - isList: true - output_column: user - output_value: users - bodyKeys: - - ids - formatEN: delete FTP users [users] - formatZH: 删除 FTP 账户 [users] - paramKeys: [] - /toolbox/ftp/log/search: - post: - consumes: - - application/json - description: 获取 FTP 操作日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.FtpLogSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Load FTP operation log - tags: - - FTP - /toolbox/ftp/operate: - post: - consumes: - - application/json - description: 修改 FTP 状态 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.Operate' - responses: {} - security: - - ApiKeyAuth: [] - summary: Operate FTP - tags: - - FTP - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - operation - formatEN: '[operation] FTP' - formatZH: '[operation] FTP' - paramKeys: [] - /toolbox/ftp/search: - post: - consumes: - - application/json - description: 获取 FTP 账户列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.SearchWithPage' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page FTP user - tags: - - FTP - /toolbox/ftp/sync: - post: - consumes: - - application/json - description: 同步 FTP 账户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.BatchDeleteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Sync FTP user - tags: - - FTP - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: sync FTP users - formatZH: 同步 FTP 账户 - paramKeys: [] - /toolbox/ftp/update: - post: - consumes: - - application/json - description: 修改 FTP 账户 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.FtpUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update FTP user - tags: - - FTP - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - user - - path - formatEN: update FTP [user][path] - formatZH: 修改 FTP 账户 [user][path] - paramKeys: [] - /toolbox/scan: - post: - description: 扫描系统垃圾文件 - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Scan system - tags: - - Device - x-panel-log: - BeforeFunctions: [] - bodyKeys: [] - formatEN: scan System Junk Files - formatZH: 扫描系统垃圾文件 - paramKeys: [] - /websites: - post: - consumes: - - application/json - description: 创建网站 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create website - tags: - - Website - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - primaryDomain - formatEN: Create website [primaryDomain] - formatZH: 创建网站 [primaryDomain] - paramKeys: [] - /websites/:id: - get: - consumes: - - application/json - description: 通过 id 查询网站 - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteDTO' - security: - - ApiKeyAuth: [] - summary: Search website by id - tags: - - Website - /websites/:id/config/:type: - get: - consumes: - - application/json - description: 通过 id 查询网站 nginx - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.FileInfo' - security: - - ApiKeyAuth: [] - summary: Search website nginx by id - tags: - - Website Nginx - /websites/:id/https: - get: - consumes: - - application/json - description: 获取 https 配置 - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteHTTPS' - security: - - ApiKeyAuth: [] - summary: Load https conf - tags: - - Website HTTPS - post: - consumes: - - application/json - description: 更新 https 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteHTTPSOp' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteHTTPS' - security: - - ApiKeyAuth: [] - summary: Update https conf - tags: - - Website HTTPS - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteId - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteId - formatEN: Update website https [domain] conf - formatZH: 更新网站 [domain] https 配置 - paramKeys: [] - /websites/acme: - post: - consumes: - - application/json - description: 创建网站 acme - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteAcmeAccountCreate' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteAcmeAccountDTO' - security: - - ApiKeyAuth: [] - summary: Create website acme account - tags: - - Website Acme - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - email - formatEN: Create website acme [email] - formatZH: 创建网站 acme [email] - paramKeys: [] - /websites/acme/del: - post: - consumes: - - application/json - description: 删除网站 acme - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteResourceReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website acme account - tags: - - Website Acme - x-panel-log: - BeforeFunctions: - - db: website_acme_accounts - input_column: id - input_value: id - isList: false - output_column: email - output_value: email - bodyKeys: - - id - formatEN: Delete website acme [email] - formatZH: 删除网站 acme [email] - paramKeys: [] - /websites/acme/search: - post: - consumes: - - application/json - description: 获取网站 acme 列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageInfo' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page website acme accounts - tags: - - Website Acme - /websites/auths: - post: - consumes: - - application/json - description: 获取密码访问配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxAuthReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get AuthBasic conf - tags: - - Website - /websites/auths/update: - post: - consumes: - - application/json - description: 更新密码访问配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxAuthUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get AuthBasic conf - tags: - - Website - /websites/ca: - post: - consumes: - - application/json - description: 创建网站 ca - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCACreate' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/request.WebsiteCACreate' - security: - - ApiKeyAuth: [] - summary: Create website ca - tags: - - Website CA - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Create website ca [name] - formatZH: 创建网站 ca [name] - paramKeys: [] - /websites/ca/{id}: - get: - consumes: - - application/json - description: 获取网站 ca - parameters: - - description: id - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteCADTO' - security: - - ApiKeyAuth: [] - summary: Get website ca - tags: - - Website CA - /websites/ca/del: - post: - consumes: - - application/json - description: 删除网站 ca - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCommonReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website ca - tags: - - Website CA - x-panel-log: - BeforeFunctions: - - db: website_cas - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Delete website ca [name] - formatZH: 删除网站 ca [name] - paramKeys: [] - /websites/ca/download: - post: - consumes: - - application/json - description: 下载 CA 证书文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteResourceReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download CA file - tags: - - Website CA - x-panel-log: - BeforeFunctions: - - db: website_cas - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: download ca file [name] - formatZH: 下载 CA 证书文件 [name] - paramKeys: [] - /websites/ca/obtain: - post: - consumes: - - application/json - description: 自签 SSL 证书 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCAObtain' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Obtain SSL - tags: - - Website CA - x-panel-log: - BeforeFunctions: - - db: website_cas - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Obtain SSL [name] - formatZH: 自签 SSL 证书 [name] - paramKeys: [] - /websites/ca/renew: - post: - consumes: - - application/json - description: 续签 SSL 证书 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCAObtain' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Obtain SSL - tags: - - Website CA - x-panel-log: - BeforeFunctions: - - db: website_cas - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Obtain SSL [name] - formatZH: 自签 SSL 证书 [name] - paramKeys: [] - /websites/ca/search: - post: - consumes: - - application/json - description: 获取网站 ca 列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCASearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page website ca - tags: - - Website CA - /websites/check: - post: - consumes: - - application/json - description: 网站创建前检查 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteInstallCheckReq' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.WebsitePreInstallCheck' - type: array - security: - - ApiKeyAuth: [] - summary: Check before create website - tags: - - Website - /websites/config: - post: - consumes: - - application/json - description: 获取 nginx 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxScopeReq' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteNginxConfig' - security: - - ApiKeyAuth: [] - summary: Load nginx conf - tags: - - Website Nginx - /websites/config/update: - post: - consumes: - - application/json - description: 更新 nginx 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxConfigUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update nginx conf - tags: - - Website Nginx - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteId - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteId - formatEN: Nginx conf update [domain] - formatZH: nginx 配置修改 [domain] - paramKeys: [] - /websites/default/html/:type: - get: - consumes: - - application/json - description: 获取默认 html - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.FileInfo' - security: - - ApiKeyAuth: [] - summary: Get default html - tags: - - Website - /websites/default/html/update: - post: - consumes: - - application/json - description: 更新默认 html - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteHtmlUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update default html - tags: - - Website - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - formatEN: Update default html - formatZH: 更新默认 html - paramKeys: [] - /websites/default/server: - post: - consumes: - - application/json - description: 操作网站日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDefaultUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Change default server - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - - operate - formatEN: Change default server => [domain] - formatZH: 修改默认 server => [domain] - paramKeys: [] - /websites/del: - post: - consumes: - - application/json - description: 删除网站 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: Delete website [domain] - formatZH: 删除网站 [domain] - paramKeys: [] - /websites/dir: - post: - consumes: - - application/json - description: 获取网站目录配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteCommonReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get website dir - tags: - - Website - /websites/dir/permission: - post: - consumes: - - application/json - description: 更新网站目录权限 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteUpdateDirPermission' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update Site Dir permission - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: Update domain [domain] dir permission - formatZH: 更新网站 [domain] 目录权限 - paramKeys: [] - /websites/dir/update: - post: - consumes: - - application/json - description: 更新网站目录 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteUpdateDir' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update Site Dir - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: Update domain [domain] dir - formatZH: 更新网站 [domain] 目录 - paramKeys: [] - /websites/dns: - post: - consumes: - - application/json - description: 创建网站 dns - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDnsAccountCreate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Create website dns account - tags: - - Website DNS - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Create website dns [name] - formatZH: 创建网站 dns [name] - paramKeys: [] - /websites/dns/del: - post: - consumes: - - application/json - description: 删除网站 dns - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteResourceReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website dns account - tags: - - Website DNS - x-panel-log: - BeforeFunctions: - - db: website_dns_accounts - input_column: id - input_value: id - isList: false - output_column: name - output_value: name - bodyKeys: - - id - formatEN: Delete website dns [name] - formatZH: 删除网站 dns [name] - paramKeys: [] - /websites/dns/search: - post: - consumes: - - application/json - description: 获取网站 dns 列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/dto.PageInfo' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page website dns accounts - tags: - - Website DNS - /websites/dns/update: - post: - consumes: - - application/json - description: 更新网站 dns - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDnsAccountUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update website dns account - tags: - - Website DNS - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - name - formatEN: Update website dns [name] - formatZH: 更新网站 dns [name] - paramKeys: [] - /websites/domains: - post: - consumes: - - application/json - description: 创建网站域名 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDomainCreate' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/model.WebsiteDomain' - security: - - ApiKeyAuth: [] - summary: Create website domain - tags: - - Website Domain - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - domain - formatEN: Create domain [domain] - formatZH: 创建域名 [domain] - paramKeys: [] - /websites/domains/:websiteId: - get: - consumes: - - application/json - description: 通过网站 id 查询域名 - parameters: - - description: request - in: path - name: websiteId - required: true - type: integer - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/model.WebsiteDomain' - type: array - security: - - ApiKeyAuth: [] - summary: Search website domains by websiteId - tags: - - Website Domain - /websites/domains/del: - post: - consumes: - - application/json - description: 删除网站域名 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDomainDelete' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website domain - tags: - - Website Domain - x-panel-log: - BeforeFunctions: - - db: website_domains - input_column: id - input_value: id - isList: false - output_column: domain - output_value: domain - bodyKeys: - - id - formatEN: Delete domain [domain] - formatZH: 删除域名 [domain] - paramKeys: [] - /websites/leech: - post: - consumes: - - application/json - description: 获取防盗链配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxCommonReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get AntiLeech conf - tags: - - Website - /websites/leech/update: - post: - consumes: - - application/json - description: 更新防盗链配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxAntiLeechUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update AntiLeech - tags: - - Website - /websites/list: - get: - description: 获取网站列表 - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.WebsiteDTO' - type: array - security: - - ApiKeyAuth: [] - summary: List websites - tags: - - Website - /websites/log: - post: - consumes: - - application/json - description: 操作网站日志 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteLogReq' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.WebsiteLog' - security: - - ApiKeyAuth: [] - summary: Operate website log - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - - operate - formatEN: '[domain][operate] logs' - formatZH: '[domain][operate] 日志' - paramKeys: [] - /websites/nginx/update: - post: - consumes: - - application/json - description: 更新 网站 nginx 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteNginxUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update website nginx conf - tags: - - Website Nginx - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: '[domain] Nginx conf update' - formatZH: '[domain] Nginx 配置修改' - paramKeys: [] - /websites/operate: - post: - consumes: - - application/json - description: 操作网站 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteOp' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Operate website - tags: - - Website - x-panel-log: - 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/options: - get: - description: 获取网站列表 - responses: - "200": - description: OK - schema: - items: - type: string - type: array - security: - - ApiKeyAuth: [] - summary: List website names - tags: - - Website - /websites/php/config: - post: - consumes: - - application/json - description: 更新 网站 PHP 配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsitePHPConfigUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update website php conf - tags: - - Website PHP - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: '[domain] PHP conf update' - formatZH: '[domain] PHP 配置修改' - paramKeys: [] - /websites/php/config/:id: - get: - consumes: - - application/json - description: 获取网站 php 配置 - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - schema: - $ref: '#/definitions/response.PHPConfig' - security: - - ApiKeyAuth: [] - summary: Load website php conf - tags: - - Website - /websites/php/update: - post: - consumes: - - application/json - description: 更新 php 配置文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsitePHPFileUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update php conf - tags: - - Website PHP - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteId - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteId - formatEN: Nginx conf update [domain] - formatZH: php 配置修改 [domain] - paramKeys: [] - /websites/php/version: - post: - consumes: - - application/json - description: 变更 php 版本 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsitePHPVersionReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update php version - tags: - - Website PHP - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteId - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteId - formatEN: php version update [domain] - formatZH: php 版本变更 [domain] - paramKeys: [] - /websites/proxies: - post: - consumes: - - application/json - description: 获取反向代理配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteProxyReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get proxy conf - tags: - - Website - /websites/proxies/update: - post: - consumes: - - application/json - description: 修改反向代理配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteProxyConfig' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update proxy conf - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: Update domain [domain] proxy config - formatZH: '修改网站 [domain] 反向代理配置 ' - paramKeys: [] - /websites/proxy/file: - post: - consumes: - - application/json - description: 更新反向代理文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxProxyUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update proxy file - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteID - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteID - formatEN: Nginx conf proxy file update [domain] - formatZH: 更新反向代理文件 [domain] - paramKeys: [] - /websites/redirect: - post: - consumes: - - application/json - description: 获取重定向配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteProxyReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get redirect conf - tags: - - Website - /websites/redirect/file: - post: - consumes: - - application/json - description: 更新重定向文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxRedirectUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update redirect file - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteID - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteID - formatEN: Nginx conf redirect file update [domain] - formatZH: 更新重定向文件 [domain] - paramKeys: [] - /websites/redirect/update: - post: - consumes: - - application/json - description: 修改重定向配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxRedirectReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update redirect conf - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteID - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteID - formatEN: Update domain [domain] redirect config - formatZH: '修改网站 [domain] 重定向理配置 ' - paramKeys: [] - /websites/rewrite: - post: - consumes: - - application/json - description: 获取伪静态配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxRewriteReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Get rewrite conf - tags: - - Website - /websites/rewrite/update: - post: - consumes: - - application/json - description: 更新伪静态配置 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.NginxRewriteUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update rewrite conf - tags: - - Website - x-panel-log: - BeforeFunctions: - - db: websites - input_column: id - input_value: websiteID - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - websiteID - formatEN: Nginx conf rewrite update [domain] - formatZH: 伪静态配置修改 [domain] - paramKeys: [] - /websites/search: - post: - consumes: - - application/json - description: 获取网站列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSearch' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/dto.PageResult' - security: - - ApiKeyAuth: [] - summary: Page websites - tags: - - Website - /websites/ssl: - post: - consumes: - - application/json - description: 创建网站 ssl - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSSLCreate' - responses: - "200": - description: OK - schema: - $ref: '#/definitions/request.WebsiteSSLCreate' - security: - - ApiKeyAuth: [] - summary: Create website ssl - tags: - - Website SSL - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - primaryDomain - formatEN: Create website ssl [primaryDomain] - formatZH: 创建网站 ssl [primaryDomain] - paramKeys: [] - /websites/ssl/:id: - get: - consumes: - - application/json - description: 通过 id 查询 ssl - parameters: - - description: request - in: path - name: id - required: true - type: integer - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Search website ssl by id - tags: - - Website SSL - /websites/ssl/del: - post: - consumes: - - application/json - description: 删除网站 ssl - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteBatchDelReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Delete website ssl - tags: - - Website SSL - x-panel-log: - BeforeFunctions: - - db: website_ssls - input_column: id - input_value: ids - isList: true - output_column: primary_domain - output_value: domain - bodyKeys: - - ids - formatEN: Delete ssl [domain] - formatZH: 删除 ssl [domain] - paramKeys: [] - /websites/ssl/download: - post: - consumes: - - application/json - description: 下载证书文件 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteResourceReq' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Download SSL file - tags: - - Website SSL - x-panel-log: - BeforeFunctions: - - db: website_ssls - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: download ssl file [domain] - formatZH: 下载证书文件 [domain] - paramKeys: [] - /websites/ssl/obtain: - post: - consumes: - - application/json - description: 申请证书 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSSLApply' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Apply ssl - tags: - - Website SSL - x-panel-log: - BeforeFunctions: - - db: website_ssls - input_column: id - input_value: ID - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - ID - formatEN: apply ssl [domain] - formatZH: 申请证书 [domain] - paramKeys: [] - /websites/ssl/resolve: - post: - consumes: - - application/json - description: 解析网站 ssl - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteDNSReq' - responses: - "200": - description: OK - schema: - items: - $ref: '#/definitions/response.WebsiteDNSRes' - type: array - security: - - ApiKeyAuth: [] - summary: Resolve website ssl - tags: - - Website SSL - /websites/ssl/search: - post: - consumes: - - application/json - description: 获取网站 ssl 列表分页 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSSLSearch' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Page website ssl - tags: - - Website SSL - /websites/ssl/update: - post: - consumes: - - application/json - description: 更新 ssl - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSSLUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update ssl - tags: - - Website SSL - x-panel-log: - BeforeFunctions: - - db: website_ssls - input_column: id - input_value: id - isList: false - output_column: primary_domain - output_value: domain - bodyKeys: - - id - formatEN: Update ssl config [domain] - formatZH: 更新证书设置 [domain] - paramKeys: [] - /websites/ssl/upload: - post: - consumes: - - application/json - description: 上传 ssl - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteSSLUpload' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Upload ssl - tags: - - Website SSL - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - type - formatEN: Upload ssl [type] - formatZH: 上传 ssl [type] - paramKeys: [] - /websites/ssl/website/:websiteId: - get: - consumes: - - application/json - description: 通过网站 id 查询 ssl - parameters: - - description: request - in: path - name: websiteId - required: true - type: integer - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Search website ssl by website id - tags: - - Website SSL - /websites/update: - post: - consumes: - - application/json - description: 更新网站 - parameters: - - description: request - in: body - name: request - required: true - schema: - $ref: '#/definitions/request.WebsiteUpdate' - responses: - "200": - description: OK - security: - - ApiKeyAuth: [] - summary: Update website - tags: - - Website - x-panel-log: - BeforeFunctions: [] - bodyKeys: - - primaryDomain - formatEN: Update website [primaryDomain] - formatZH: 更新网站 [primaryDomain] - paramKeys: [] -swagger: "2.0" diff --git a/cmd/server/docs/swagger_test.go b/cmd/server/docs/swagger_test.go new file mode 100644 index 000000000..316548b76 --- /dev/null +++ b/cmd/server/docs/swagger_test.go @@ -0,0 +1,152 @@ +package docs + +import ( + "encoding/json" + "fmt" + "os" + "os/exec" + "strings" + "testing" +) + +func TestGenerateSwaggerDoc(t *testing.T) { + workDir := "/Users/slooop/Documents/mycode/1Panel" + swagBin := "/Users/slooop/.gvm/pkgsets/go1.22.4/global/bin/swag" + + cmd1 := exec.Command(swagBin, "init", "-o", workDir+"/cmd/server/docs/docs_agent", "-d", workDir+"/agent", "-g", "./cmd/server/main.go") + cmd1.Dir = workDir + std1, err := cmd1.CombinedOutput() + if err != nil { + 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.Dir = workDir + std2, err := cmd2.CombinedOutput() + if err != nil { + fmt.Printf("generate swagger doc of core failed, std1: %v, err: %v", string(std2), err) + return + } + + agentJson := workDir + "/cmd/server/docs/docs_agent/swagger.json" + agentFile, err := os.ReadFile(agentJson) + if err != nil { + fmt.Printf("read file docs_agent failed, err: %v", err) + return + } + var agentSwagger Swagger + if err := json.Unmarshal(agentFile, &agentSwagger); err != nil { + fmt.Printf("agent json unmarshal failed, err: %v", err) + return + } + + coreJson := workDir + "/cmd/server/docs/docs_core/swagger.json" + coreFile, err := os.ReadFile(coreJson) + if err != nil { + fmt.Printf("read file docs_core failed, err: %v", err) + return + } + var coreSwagger Swagger + if err := json.Unmarshal(coreFile, &coreSwagger); err != nil { + fmt.Printf("core json unmarshal failed, err: %v", err) + return + } + + newSwagger := Swagger{ + Swagger: agentSwagger.Swagger, + Info: agentSwagger.Info, + Host: agentSwagger.Host, + BasePath: agentSwagger.BasePath, + Paths: agentSwagger.Paths, + Definitions: agentSwagger.Definitions, + } + + for key, val := range coreSwagger.Paths { + if _, ok := newSwagger.Paths[key]; ok { + fmt.Printf("duplicate interfaces were found: %s \n", key) + } + newSwagger.Paths[key] = val + } + + newXLog := make(map[string]interface{}) + for key, val := range newSwagger.Paths { + methodMap, isMethodMap := val.(map[string]interface{}) + if !isMethodMap { + continue + } + dataMap, hasPost := methodMap["post"] + if !hasPost { + continue + } + data, isDataMap := dataMap.(map[string]interface{}) + if !isDataMap { + continue + } + xLog, hasXLog := data["x-panel-log"] + if !hasXLog { + continue + } + newXLog[key] = xLog + } + newJson, err := json.MarshalIndent(newSwagger, "", "\t") + if err != nil { + fmt.Printf("json marshal for new file failed, err: %v", err) + return + } + if err := os.WriteFile("swagger.json", newJson, 0640); err != nil { + fmt.Printf("write new swagger.json failed, err: %v", err) + 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 { + fmt.Printf("write new docs.go failed, err: %v", err) + return + } + + newXLogFile, err := json.MarshalIndent(newXLog, "", "\t") + if err != nil { + fmt.Printf("json marshal for new x-log file failed, err: %v", err) + return + } + if err := os.WriteFile("x-log.json", newXLogFile, 0640); err != nil { + fmt.Printf("write new x-log.json failed, err: %v", err) + return + } + + _ = os.RemoveAll(workDir + "/cmd/server/docs/docs_agent") + _ = os.RemoveAll(workDir + "/cmd/server/docs/docs_core") +} + +type Swagger struct { + Swagger string `json:"swagger"` + Info interface{} `json:"info"` + Host string `json:"host"` + BasePath string `json:"basePath"` + Paths map[string]interface{} `json:"paths"` + Definitions interface{} `json:"definitions"` +} + +func loadDefaultDocs() string { + return `package docs + +import "github.com/swaggo/swag" + +const docTemplate = "aa" + +var SwaggerInfo = &swag.Spec{ + Version: "2.0", + Host: "localhost", + BasePath: "/api/v2", + Schemes: []string{}, + Title: "1Panel", + Description: "开源Linux面板", + InfoInstanceName: "swagger", + SwaggerTemplate: docTemplate, + LeftDelim: "{{", + RightDelim: "}}", +} + +func init() { + swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) +}` +} diff --git a/cmd/server/docs/x-log.json b/cmd/server/docs/x-log.json new file mode 100644 index 000000000..9be70a428 --- /dev/null +++ b/cmd/server/docs/x-log.json @@ -0,0 +1,2530 @@ +{ + "/apps/install": { + "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" + } + ], + "bodyKeys": [ + "name" + ], + "formatEN": "Install app [appKey]-[name]", + "formatZH": "安装应用 [appKey]-[name]", + "paramKeys": [] + }, + "/apps/installed/ignore": { + "BeforeFunctions": [], + "bodyKeys": [ + "installId" + ], + "formatEN": "Application param update [installId]", + "formatZH": "忽略应用 [installId] 版本升级", + "paramKeys": [] + }, + "/apps/installed/op": { + "BeforeFunctions": [ + { + "db": "app_installs", + "input_column": "id", + "input_value": "installId", + "isList": false, + "output_column": "app_id", + "output_value": "appId" + }, + { + "db": "app_installs", + "input_column": "id", + "input_value": "installId", + "isList": false, + "output_column": "name", + "output_value": "appName" + }, + { + "db": "apps", + "input_column": "id", + "input_value": "appId", + "isList": false, + "output_column": "key", + "output_value": "appKey" + } + ], + "bodyKeys": [ + "installId", + "operate" + ], + "formatEN": "[operate] App [appKey][appName]", + "formatZH": "[operate] 应用 [appKey][appName]", + "paramKeys": [] + }, + "/apps/installed/params/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "installId" + ], + "formatEN": "Application param update [installId]", + "formatZH": "应用参数修改 [installId]", + "paramKeys": [] + }, + "/apps/installed/port/change": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "name", + "port" + ], + "formatEN": "Application port update [key]-[name] =\u003e [port]", + "formatZH": "应用端口修改 [key]-[name] =\u003e [port]", + "paramKeys": [] + }, + "/apps/installed/sync": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Sync the list of installed apps", + "formatZH": "同步已安装应用列表", + "paramKeys": [] + }, + "/apps/sync": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "App store synchronization", + "formatZH": "应用商店同步", + "paramKeys": [] + }, + "/containers": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "image" + ], + "formatEN": "create container [name][image]", + "formatZH": "创建容器 [name][image]", + "paramKeys": [] + }, + "/containers/clean/log": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "clean container [name] logs", + "formatZH": "清理容器 [name] 日志", + "paramKeys": [] + }, + "/containers/compose": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create compose [name]", + "formatZH": "创建 compose [name]", + "paramKeys": [] + }, + "/containers/compose/operate": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "operation" + ], + "formatEN": "compose [operation] [name]", + "formatZH": "compose [operation] [name]", + "paramKeys": [] + }, + "/containers/compose/test": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "check compose [name]", + "formatZH": "检测 compose [name] 格式", + "paramKeys": [] + }, + "/containers/compose/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "update compose information [name]", + "formatZH": "更新 compose [name]", + "paramKeys": [] + }, + "/containers/daemonjson/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "Updated configuration [key]", + "formatZH": "更新配置 [key]", + "paramKeys": [] + }, + "/containers/daemonjson/update/byfile": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Updated configuration file", + "formatZH": "更新配置文件", + "paramKeys": [] + }, + "/containers/docker/operate": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] docker service", + "formatZH": "docker 服务 [operation]", + "paramKeys": [] + }, + "/containers/image/build": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "build image [name]", + "formatZH": "构建镜像 [name]", + "paramKeys": [] + }, + "/containers/image/load": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "load image from [path]", + "formatZH": "从 [path] 加载镜像", + "paramKeys": [] + }, + "/containers/image/pull": { + "BeforeFunctions": [ + { + "db": "image_repos", + "input_column": "id", + "input_value": "repoID", + "isList": false, + "output_column": "name", + "output_value": "reponame" + } + ], + "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" + ], + "formatEN": "push [tagName] to [reponame][name]", + "formatZH": "[tagName] 推送到 [reponame][name]", + "paramKeys": [] + }, + "/containers/image/remove": { + "BeforeFunctions": [], + "bodyKeys": [ + "names" + ], + "formatEN": "remove image [names]", + "formatZH": "移除镜像 [names]", + "paramKeys": [] + }, + "/containers/image/save": { + "BeforeFunctions": [], + "bodyKeys": [ + "tagName", + "path", + "name" + ], + "formatEN": "save [tagName] as [path]/[name]", + "formatZH": "保留 [tagName] 为 [path]/[name]", + "paramKeys": [] + }, + "/containers/image/tag": { + "BeforeFunctions": [ + { + "db": "image_repos", + "input_column": "id", + "input_value": "repoID", + "isList": false, + "output_column": "name", + "output_value": "reponame" + } + ], + "bodyKeys": [ + "repoID", + "targetName" + ], + "formatEN": "tag image [reponame][targetName]", + "formatZH": "tag 镜像 [reponame][targetName]", + "paramKeys": [] + }, + "/containers/ipv6option/update": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Updated the ipv6 option", + "formatZH": "更新 ipv6 配置", + "paramKeys": [] + }, + "/containers/logoption/update": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Updated the log option", + "formatZH": "更新日志配置", + "paramKeys": [] + }, + "/containers/network": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create container network [name]", + "formatZH": "创建容器网络 name", + "paramKeys": [] + }, + "/containers/network/del": { + "BeforeFunctions": [], + "bodyKeys": [ + "names" + ], + "formatEN": "delete container network [names]", + "formatZH": "删除容器网络 [names]", + "paramKeys": [] + }, + "/containers/operate": { + "BeforeFunctions": [], + "bodyKeys": [ + "names", + "operation" + ], + "formatEN": "container [operation] [names]", + "formatZH": "容器 [names] 执行 [operation]", + "paramKeys": [] + }, + "/containers/prune": { + "BeforeFunctions": [], + "bodyKeys": [ + "pruneType" + ], + "formatEN": "clean container [pruneType]", + "formatZH": "清理容器 [pruneType]", + "paramKeys": [] + }, + "/containers/rename": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "newName" + ], + "formatEN": "rename container [name] =\u003e [newName]", + "formatZH": "容器重命名 [name] =\u003e [newName]", + "paramKeys": [] + }, + "/containers/repo": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create image repo [name]", + "formatZH": "创建镜像仓库 [name]", + "paramKeys": [] + }, + "/containers/repo/del": { + "BeforeFunctions": [ + { + "db": "image_repos", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete image repo [names]", + "formatZH": "删除镜像仓库 [names]", + "paramKeys": [] + }, + "/containers/repo/update": { + "BeforeFunctions": [ + { + "db": "image_repos", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "update image repo information [name]", + "formatZH": "更新镜像仓库 [name]", + "paramKeys": [] + }, + "/containers/template": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create compose template [name]", + "formatZH": "创建 compose 模版 [name]", + "paramKeys": [] + }, + "/containers/template/del": { + "BeforeFunctions": [ + { + "db": "compose_templates", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete compose template [names]", + "formatZH": "删除 compose 模版 [names]", + "paramKeys": [] + }, + "/containers/template/update": { + "BeforeFunctions": [ + { + "db": "compose_templates", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "update compose template information [name]", + "formatZH": "更新 compose 模版 [name]", + "paramKeys": [] + }, + "/containers/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "image" + ], + "formatEN": "update container [name][image]", + "formatZH": "更新容器 [name][image]", + "paramKeys": [] + }, + "/containers/upgrade": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "image" + ], + "formatEN": "upgrade container image [name][image]", + "formatZH": "更新容器镜像 [name][image]", + "paramKeys": [] + }, + "/containers/volume": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create container volume [name]", + "formatZH": "创建容器存储卷 [name]", + "paramKeys": [] + }, + "/containers/volume/del": { + "BeforeFunctions": [], + "bodyKeys": [ + "names" + ], + "formatEN": "delete container volume [names]", + "formatZH": "删除容器存储卷 [names]", + "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/ssl/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "ssl" + ], + "formatEN": "update system ssl =\u003e [ssl]", + "formatZH": "修改系统 ssl =\u003e [ssl]", + "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": { + "BeforeFunctions": [ + { + "db": "job_records", + "input_column": "id", + "input_value": "recordID", + "isList": false, + "output_column": "file", + "output_value": "file" + } + ], + "bodyKeys": [ + "recordID" + ], + "formatEN": "download the cronjob record [file]", + "formatZH": "下载计划任务记录 [file]", + "paramKeys": [] + }, + "/cronjobs/handle": { + "BeforeFunctions": [ + { + "db": "cronjobs", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "manually execute the cronjob [name]", + "formatZH": "手动执行计划任务 [name]", + "paramKeys": [] + }, + "/cronjobs/records/clean": { + "BeforeFunctions": [ + { + "db": "cronjobs", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "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" + ], + "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, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "update cronjob [name]", + "formatZH": "更新计划任务 [name]", + "paramKeys": [] + }, + "/databases": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create mysql database [name]", + "formatZH": "创建 mysql 数据库 [name]", + "paramKeys": [] + }, + "/databases/bind": { + "BeforeFunctions": [], + "bodyKeys": [ + "database", + "username" + ], + "formatEN": "bind mysql database [database] [username]", + "formatZH": "绑定 mysql 数据库名 [database] [username]", + "paramKeys": [] + }, + "/databases/change/access": { + "BeforeFunctions": [ + { + "db": "database_mysqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update database [name] access", + "formatZH": "更新数据库 [name] 访问权限", + "paramKeys": [] + }, + "/databases/change/password": { + "BeforeFunctions": [ + { + "db": "database_mysqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update database [name] password", + "formatZH": "更新数据库 [name] 密码", + "paramKeys": [] + }, + "/databases/common/update/conf": { + "BeforeFunctions": [], + "bodyKeys": [ + "type", + "database" + ], + "formatEN": "update the [type] [database] database configuration information", + "formatZH": "更新 [type] 数据库 [database] 配置信息", + "paramKeys": [] + }, + "/databases/db": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "type" + ], + "formatEN": "create database [name][type]", + "formatZH": "创建远程数据库 [name][type]", + "paramKeys": [] + }, + "/databases/db/check": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "type" + ], + "formatEN": "check if database [name][type] is connectable", + "formatZH": "检测远程数据库 [name][type] 连接性", + "paramKeys": [] + }, + "/databases/db/del": { + "BeforeFunctions": [ + { + "db": "databases", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete database [names]", + "formatZH": "删除远程数据库 [names]", + "paramKeys": [] + }, + "/databases/db/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "update database [name]", + "formatZH": "更新远程数据库 [name]", + "paramKeys": [] + }, + "/databases/del": { + "BeforeFunctions": [ + { + "db": "database_mysqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "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" + ], + "formatEN": "The description of the mysql database [name] is modified =\u003e [description]", + "formatZH": "mysql 数据库 [name] 描述信息修改 [description]", + "paramKeys": [] + }, + "/databases/pg": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "create postgresql database [name]", + "formatZH": "创建 postgresql 数据库 [name]", + "paramKeys": [] + }, + "/databases/pg/bind": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "username" + ], + "formatEN": "bind postgresql database [name] user [username]", + "formatZH": "绑定 postgresql 数据库 [name] 用户 [username]", + "paramKeys": [] + }, + "/databases/pg/del": { + "BeforeFunctions": [ + { + "db": "database_postgresqls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "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" + ], + "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, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update database [name] password", + "formatZH": "更新数据库 [name] 密码", + "paramKeys": [] + }, + "/databases/pg/privileges": { + "BeforeFunctions": [], + "bodyKeys": [ + "database", + "username" + ], + "formatEN": "Update [user] privileges of database [database]", + "formatZH": "更新数据库 [database] 用户 [username] 权限", + "paramKeys": [] + }, + "/databases/redis/conf/update": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "update the redis database configuration information", + "formatZH": "更新 redis 数据库配置信息", + "paramKeys": [] + }, + "/databases/redis/password": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "change the password of the redis database", + "formatZH": "修改 redis 数据库密码", + "paramKeys": [] + }, + "/databases/redis/persistence/update": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "redis database persistence configuration update", + "formatZH": "redis 数据库持久化配置更新", + "paramKeys": [] + }, + "/databases/variables/update": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "adjust mysql database performance parameters", + "formatZH": "调整 mysql 数据库性能参数", + "paramKeys": [] + }, + "/files": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Create dir or file [path]", + "formatZH": "创建文件/文件夹 [path]", + "paramKeys": [] + }, + "/files/batch/del": { + "BeforeFunctions": [], + "bodyKeys": [ + "paths" + ], + "formatEN": "Batch delete dir or file [paths]", + "formatZH": "批量删除文件/文件夹 [paths]", + "paramKeys": [] + }, + "/files/batch/role": { + "BeforeFunctions": [], + "bodyKeys": [ + "paths", + "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" + ], + "formatEN": "Download file [name]", + "formatZH": "下载文件 [name]", + "paramKeys": [] + }, + "/files/compress": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Compress file [name]", + "formatZH": "压缩文件 [name]", + "paramKeys": [] + }, + "/files/content": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Load file content [path]", + "formatZH": "获取文件内容 [path]", + "paramKeys": [] + }, + "/files/decompress": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Decompress file [path]", + "formatZH": "解压 [path]", + "paramKeys": [] + }, + "/files/del": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Delete dir or file [path]", + "formatZH": "删除文件/文件夹 [path]", + "paramKeys": [] + }, + "/files/favorite": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "收藏文件/文件夹 [path]", + "formatZH": "收藏文件/文件夹 [path]", + "paramKeys": [] + }, + "/files/favorite/del": { + "BeforeFunctions": [ + { + "db": "favorites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "path", + "output_value": "path" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "delete avorite [path]", + "formatZH": "删除收藏 [path]", + "paramKeys": [] + }, + "/files/mode": { + "BeforeFunctions": [], + "bodyKeys": [ + "path", + "mode" + ], + "formatEN": "Change mode [paths] =\u003e [mode]", + "formatZH": "修改权限 [paths] =\u003e [mode]", + "paramKeys": [] + }, + "/files/move": { + "BeforeFunctions": [], + "bodyKeys": [ + "oldPaths", + "newPath" + ], + "formatEN": "Move [oldPaths] =\u003e [newPath]", + "formatZH": "移动文件 [oldPaths] =\u003e [newPath]", + "paramKeys": [] + }, + "/files/owner": { + "BeforeFunctions": [], + "bodyKeys": [ + "path", + "user", + "group" + ], + "formatEN": "Change owner [paths] =\u003e [user]/[group]", + "formatZH": "修改用户/组 [paths] =\u003e [user]/[group]", + "paramKeys": [] + }, + "/files/recycle/clear": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "清空回收站", + "formatZH": "清空回收站", + "paramKeys": [] + }, + "/files/recycle/reduce": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Reduce RecycleBin file [name]", + "formatZH": "还原回收站文件 [name]", + "paramKeys": [] + }, + "/files/rename": { + "BeforeFunctions": [], + "bodyKeys": [ + "oldName", + "newName" + ], + "formatEN": "Rename [oldName] =\u003e [newName]", + "formatZH": "重命名 [oldName] =\u003e [newName]", + "paramKeys": [] + }, + "/files/save": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Update file content [path]", + "formatZH": "更新文件内容 [path]", + "paramKeys": [] + }, + "/files/size": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Load file size [path]", + "formatZH": "获取文件夹大小 [path]", + "paramKeys": [] + }, + "/files/upload": { + "BeforeFunctions": [], + "bodyKeys": [ + "path" + ], + "formatEN": "Upload file [path]", + "formatZH": "上传文件 [path]", + "paramKeys": [] + }, + "/files/wget": { + "BeforeFunctions": [], + "bodyKeys": [ + "url", + "path", + "name" + ], + "formatEN": "Download url =\u003e [path]/[name]", + "formatZH": "下载 url =\u003e [path]/[name]", + "paramKeys": [] + }, + "/groups": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "type" + ], + "formatEN": "create group [name][type]", + "formatZH": "创建组 [name][type]", + "paramKeys": [] + }, + "/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": [] + }, + "/groups/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "type" + ], + "formatEN": "update group [name][type]", + "formatZH": "更新组 [name][type]", + "paramKeys": [] + }, + "/host/conffile/update": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "update SSH conf", + "formatZH": "修改 SSH 配置文件", + "paramKeys": [] + }, + "/host/ssh/generate": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "generate SSH secret", + "formatZH": "生成 SSH 密钥 ", + "paramKeys": [] + }, + "/host/ssh/operate": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] SSH", + "formatZH": "[operation] SSH ", + "paramKeys": [] + }, + "/host/ssh/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update SSH setting [key] =\u003e [value]", + "formatZH": "修改 SSH 配置 [key] =\u003e [value]", + "paramKeys": [] + }, + "/host/tool/config": { + "BeforeFunctions": [], + "bodyKeys": [ + "operate" + ], + "formatEN": "[operate] tool config", + "formatZH": "[operate] 主机工具配置文件 ", + "paramKeys": [] + }, + "/host/tool/create": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "create [type] config", + "formatZH": "创建 [type] 配置", + "paramKeys": [] + }, + "/host/tool/operate": { + "BeforeFunctions": [], + "bodyKeys": [ + "operate", + "type" + ], + "formatEN": "[operate] [type]", + "formatZH": "[operate] [type] ", + "paramKeys": [] + }, + "/host/tool/supervisor/process": { + "BeforeFunctions": [], + "bodyKeys": [ + "operate" + ], + "formatEN": "[operate] process", + "formatZH": "[operate] 守护进程 ", + "paramKeys": [] + }, + "/host/tool/supervisor/process/file": { + "BeforeFunctions": [], + "bodyKeys": [ + "operate" + ], + "formatEN": "[operate] Supervisor Process Config file", + "formatZH": "[operate] Supervisor 进程文件 ", + "paramKeys": [] + }, + "/hosts": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "addr" + ], + "formatEN": "create host [name][addr]", + "formatZH": "创建主机 [name][addr]", + "paramKeys": [] + }, + "/hosts/command": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "command" + ], + "formatEN": "create quick command [name][command]", + "formatZH": "创建快捷命令 [name][command]", + "paramKeys": [] + }, + "/hosts/command/del": { + "BeforeFunctions": [ + { + "db": "commands", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete quick command [names]", + "formatZH": "删除快捷命令 [names]", + "paramKeys": [] + }, + "/hosts/command/redis": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "command" + ], + "formatEN": "save quick command for redis [name][command]", + "formatZH": "保存 redis 快捷命令 [name][command]", + "paramKeys": [] + }, + "/hosts/command/redis/del": { + "BeforeFunctions": [ + { + "db": "redis_commands", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete quick command of redis [names]", + "formatZH": "删除 redis 快捷命令 [names]", + "paramKeys": [] + }, + "/hosts/command/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "update quick command [name]", + "formatZH": "更新快捷命令 [name]", + "paramKeys": [] + }, + "/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": [] + }, + "/hosts/firewall/forward": { + "BeforeFunctions": [], + "bodyKeys": [ + "source_port" + ], + "formatEN": "update port forward rules [source_port]", + "formatZH": "更新端口转发规则 [source_port]", + "paramKeys": [] + }, + "/hosts/firewall/ip": { + "BeforeFunctions": [], + "bodyKeys": [ + "strategy", + "address" + ], + "formatEN": "create address rules [strategy][address]", + "formatZH": "添加 ip 规则 [strategy] [address]", + "paramKeys": [] + }, + "/hosts/firewall/operate": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] firewall", + "formatZH": "[operation] 防火墙", + "paramKeys": [] + }, + "/hosts/firewall/port": { + "BeforeFunctions": [], + "bodyKeys": [ + "port", + "strategy" + ], + "formatEN": "create port rules [strategy][port]", + "formatZH": "添加端口规则 [strategy] [port]", + "paramKeys": [] + }, + "/hosts/monitor/clean": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "clean monitor datas", + "formatZH": "清空监控数据", + "paramKeys": [] + }, + "/hosts/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "addr" + ], + "formatEN": "update host [name][addr]", + "formatZH": "更新主机信息 [name][addr]", + "paramKeys": [] + }, + "/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": [] + }, + "/openresty/clear": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Clear nginx proxy cache", + "formatZH": "清理 Openresty 代理缓存", + "paramKeys": [] + }, + "/openresty/file": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Update nginx conf", + "formatZH": "更新 nginx 配置", + "paramKeys": [] + }, + "/openresty/update": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteId", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Update nginx conf [domain]", + "formatZH": "更新 nginx 配置 [domain]", + "paramKeys": [] + }, + "/process/stop": { + "BeforeFunctions": [], + "bodyKeys": [ + "PID" + ], + "formatEN": "结束进程 [PID]", + "formatZH": "结束进程 [PID]", + "paramKeys": [] + }, + "/runtimes": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Create runtime [name]", + "formatZH": "创建运行环境 [name]", + "paramKeys": [] + }, + "/runtimes/del": { + "BeforeFunctions": [], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website [name]", + "formatZH": "删除网站 [name]", + "paramKeys": [] + }, + "/runtimes/operate": { + "BeforeFunctions": [], + "bodyKeys": [ + "id" + ], + "formatEN": "Operate runtime [name]", + "formatZH": "操作运行环境 [name]", + "paramKeys": [] + }, + "/runtimes/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Update runtime [name]", + "formatZH": "更新运行环境 [name]", + "paramKeys": [] + }, + "/settings/backup": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "create backup account [type]", + "formatZH": "创建备份账号 [type]", + "paramKeys": [] + }, + "/settings/backup/backup": { + "BeforeFunctions": [], + "bodyKeys": [ + "type", + "name", + "detailName" + ], + "formatEN": "backup [type] data [name][detailName]", + "formatZH": "备份 [type] 数据 [name][detailName]", + "paramKeys": [] + }, + "/settings/backup/del": { + "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": [] + }, + "/settings/backup/record/del": { + "BeforeFunctions": [ + { + "db": "backup_records", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "file_name", + "output_value": "files" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete backup records [files]", + "formatZH": "删除备份记录 [files]", + "paramKeys": [] + }, + "/settings/backup/record/download": { + "BeforeFunctions": [], + "bodyKeys": [ + "source", + "fileName" + ], + "formatEN": "download backup records [source][fileName]", + "formatZH": "下载备份记录 [source][fileName]", + "paramKeys": [] + }, + "/settings/backup/recover": { + "BeforeFunctions": [], + "bodyKeys": [ + "type", + "name", + "detailName", + "file" + ], + "formatEN": "recover [type] data [name][detailName] from [file]", + "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", + "paramKeys": [] + }, + "/settings/backup/recover/byupload": { + "BeforeFunctions": [], + "bodyKeys": [ + "type", + "name", + "detailName", + "file" + ], + "formatEN": "recover [type] data [name][detailName] from [file]", + "formatZH": "从 [file] 恢复 [type] 数据 [name][detailName]", + "paramKeys": [] + }, + "/settings/backup/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "update backup account [types]", + "formatZH": "更新备份账号 [types]", + "paramKeys": [] + }, + "/settings/snapshot": { + "BeforeFunctions": [], + "bodyKeys": [ + "from", + "description" + ], + "formatEN": "Create system backup [description] to [from]", + "formatZH": "创建系统快照 [description] 到 [from]", + "paramKeys": [] + }, + "/settings/snapshot/del": { + "BeforeFunctions": [ + { + "db": "snapshots", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "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" + ], + "formatEN": "The description of the snapshot [name] is modified =\u003e [description]", + "formatZH": "快照 [name] 描述信息修改 [description]", + "paramKeys": [] + }, + "/settings/snapshot/import": { + "BeforeFunctions": [], + "bodyKeys": [ + "from", + "names" + ], + "formatEN": "Sync system snapshots [names] from [from]", + "formatZH": "从 [from] 同步系统快照 [names]", + "paramKeys": [] + }, + "/settings/snapshot/recover": { + "BeforeFunctions": [ + { + "db": "snapshots", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Recover from system backup [name]", + "formatZH": "从系统快照 [name] 恢复", + "paramKeys": [] + }, + "/settings/snapshot/rollback": { + "BeforeFunctions": [ + { + "db": "snapshots", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Rollback from system backup [name]", + "formatZH": "从系统快照 [name] 回滚", + "paramKeys": [] + }, + "/settings/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update system setting [key] =\u003e [value]", + "formatZH": "修改系统配置 [key] =\u003e [value]", + "paramKeys": [] + }, + "/toolbox/clam": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "path" + ], + "formatEN": "create clam [name][path]", + "formatZH": "创建扫描规则 [name][path]", + "paramKeys": [] + }, + "/toolbox/clam/del": { + "BeforeFunctions": [ + { + "db": "clams", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "name", + "output_value": "names" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete clam [names]", + "formatZH": "删除扫描规则 [names]", + "paramKeys": [] + }, + "/toolbox/clam/handle": { + "BeforeFunctions": [ + { + "db": "clams", + "input_column": "id", + "input_value": "id", + "isList": true, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "handle clam scan [name]", + "formatZH": "执行病毒扫描 [name]", + "paramKeys": [] + }, + "/toolbox/clam/operate": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] FTP", + "formatZH": "[operation] Clam", + "paramKeys": [] + }, + "/toolbox/clam/record/clean": { + "BeforeFunctions": [ + { + "db": "clams", + "input_column": "id", + "input_value": "id", + "isList": true, + "output_column": "name", + "output_value": "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" + ], + "formatEN": "change the status of clam [name] to [status].", + "formatZH": "修改扫描规则 [name] 状态为 [status]", + "paramKeys": [] + }, + "/toolbox/clam/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name", + "path" + ], + "formatEN": "update clam [name][path]", + "formatZH": "修改扫描规则 [name][path]", + "paramKeys": [] + }, + "/toolbox/clean": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "Clean system junk files", + "formatZH": "清理系统垃圾文件", + "paramKeys": [] + }, + "/toolbox/device/update/conf": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update device conf [key] =\u003e [value]", + "formatZH": "修改主机参数 [key] =\u003e [value]", + "paramKeys": [] + }, + "/toolbox/device/update/host": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update device host [key] =\u003e [value]", + "formatZH": "修改主机 Host [key] =\u003e [value]", + "paramKeys": [] + }, + "/toolbox/device/update/swap": { + "BeforeFunctions": [], + "bodyKeys": [ + "operate", + "path" + ], + "formatEN": "[operate] device swap [path]", + "formatZH": "[operate] 主机 swap [path]", + "paramKeys": [] + }, + "/toolbox/fail2ban/operate": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] Fail2ban", + "formatZH": "[operation] Fail2ban", + "paramKeys": [] + }, + "/toolbox/fail2ban/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "key", + "value" + ], + "formatEN": "update fail2ban conf [key] =\u003e [value]", + "formatZH": "修改 Fail2ban 配置 [key] =\u003e [value]", + "paramKeys": [] + }, + "/toolbox/ftp": { + "BeforeFunctions": [], + "bodyKeys": [ + "user", + "path" + ], + "formatEN": "create FTP [user][path]", + "formatZH": "创建 FTP 账户 [user][path]", + "paramKeys": [] + }, + "/toolbox/ftp/del": { + "BeforeFunctions": [ + { + "db": "ftps", + "input_column": "id", + "input_value": "ids", + "isList": true, + "output_column": "user", + "output_value": "users" + } + ], + "bodyKeys": [ + "ids" + ], + "formatEN": "delete FTP users [users]", + "formatZH": "删除 FTP 账户 [users]", + "paramKeys": [] + }, + "/toolbox/ftp/operate": { + "BeforeFunctions": [], + "bodyKeys": [ + "operation" + ], + "formatEN": "[operation] FTP", + "formatZH": "[operation] FTP", + "paramKeys": [] + }, + "/toolbox/ftp/sync": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "sync FTP users", + "formatZH": "同步 FTP 账户", + "paramKeys": [] + }, + "/toolbox/ftp/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "user", + "path" + ], + "formatEN": "update FTP [user][path]", + "formatZH": "修改 FTP 账户 [user][path]", + "paramKeys": [] + }, + "/toolbox/scan": { + "BeforeFunctions": [], + "bodyKeys": [], + "formatEN": "scan System Junk Files", + "formatZH": "扫描系统垃圾文件", + "paramKeys": [] + }, + "/websites": { + "BeforeFunctions": [], + "bodyKeys": [ + "primaryDomain" + ], + "formatEN": "Create website [primaryDomain]", + "formatZH": "创建网站 [primaryDomain]", + "paramKeys": [] + }, + "/websites/:id/https": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteId", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Update website https [domain] conf", + "formatZH": "更新网站 [domain] https 配置", + "paramKeys": [] + }, + "/websites/acme": { + "BeforeFunctions": [], + "bodyKeys": [ + "email" + ], + "formatEN": "Create website acme [email]", + "formatZH": "创建网站 acme [email]", + "paramKeys": [] + }, + "/websites/acme/del": { + "BeforeFunctions": [ + { + "db": "website_acme_accounts", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "email", + "output_value": "email" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website acme [email]", + "formatZH": "删除网站 acme [email]", + "paramKeys": [] + }, + "/websites/ca": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Create website ca [name]", + "formatZH": "创建网站 ca [name]", + "paramKeys": [] + }, + "/websites/ca/del": { + "BeforeFunctions": [ + { + "db": "website_cas", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website ca [name]", + "formatZH": "删除网站 ca [name]", + "paramKeys": [] + }, + "/websites/ca/download": { + "BeforeFunctions": [ + { + "db": "website_cas", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "download ca file [name]", + "formatZH": "下载 CA 证书文件 [name]", + "paramKeys": [] + }, + "/websites/ca/obtain": { + "BeforeFunctions": [ + { + "db": "website_cas", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Obtain SSL [name]", + "formatZH": "自签 SSL 证书 [name]", + "paramKeys": [] + }, + "/websites/ca/renew": { + "BeforeFunctions": [ + { + "db": "website_cas", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Obtain SSL [name]", + "formatZH": "自签 SSL 证书 [name]", + "paramKeys": [] + }, + "/websites/config/update": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteId", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Nginx conf update [domain]", + "formatZH": "nginx 配置修改 [domain]", + "paramKeys": [] + }, + "/websites/default/html/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "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" + ], + "formatEN": "Change default server =\u003e [domain]", + "formatZH": "修改默认 server =\u003e [domain]", + "paramKeys": [] + }, + "/websites/del": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website [domain]", + "formatZH": "删除网站 [domain]", + "paramKeys": [] + }, + "/websites/dir/permission": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update domain [domain] dir permission", + "formatZH": "更新网站 [domain] 目录权限", + "paramKeys": [] + }, + "/websites/dir/update": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update domain [domain] dir", + "formatZH": "更新网站 [domain] 目录", + "paramKeys": [] + }, + "/websites/dns": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Create website dns [name]", + "formatZH": "创建网站 dns [name]", + "paramKeys": [] + }, + "/websites/dns/del": { + "BeforeFunctions": [ + { + "db": "website_dns_accounts", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "name", + "output_value": "name" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete website dns [name]", + "formatZH": "删除网站 dns [name]", + "paramKeys": [] + }, + "/websites/dns/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "name" + ], + "formatEN": "Update website dns [name]", + "formatZH": "更新网站 dns [name]", + "paramKeys": [] + }, + "/websites/domains": { + "BeforeFunctions": [], + "bodyKeys": [ + "domain" + ], + "formatEN": "Create domain [domain]", + "formatZH": "创建域名 [domain]", + "paramKeys": [] + }, + "/websites/domains/del": { + "BeforeFunctions": [ + { + "db": "website_domains", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Delete domain [domain]", + "formatZH": "删除域名 [domain]", + "paramKeys": [] + }, + "/websites/log": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id", + "operate" + ], + "formatEN": "[domain][operate] logs", + "formatZH": "[domain][operate] 日志", + "paramKeys": [] + }, + "/websites/nginx/update": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "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/config": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "[domain] PHP conf update", + "formatZH": "[domain] PHP 配置修改", + "paramKeys": [] + }, + "/websites/php/update": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteId", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteId" + ], + "formatEN": "Nginx conf update [domain]", + "formatZH": "php 配置修改 [domain]", + "paramKeys": [] + }, + "/websites/php/version": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteId", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteId" + ], + "formatEN": "php version update [domain]", + "formatZH": "php 版本变更 [domain]", + "paramKeys": [] + }, + "/websites/proxies/update": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update domain [domain] proxy config", + "formatZH": "修改网站 [domain] 反向代理配置 ", + "paramKeys": [] + }, + "/websites/proxy/file": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteID", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Nginx conf proxy file update [domain]", + "formatZH": "更新反向代理文件 [domain]", + "paramKeys": [] + }, + "/websites/redirect/file": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteID", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Nginx conf redirect file update [domain]", + "formatZH": "更新重定向文件 [domain]", + "paramKeys": [] + }, + "/websites/redirect/update": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteID", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Update domain [domain] redirect config", + "formatZH": "修改网站 [domain] 重定向理配置 ", + "paramKeys": [] + }, + "/websites/rewrite/update": { + "BeforeFunctions": [ + { + "db": "websites", + "input_column": "id", + "input_value": "websiteID", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "websiteID" + ], + "formatEN": "Nginx conf rewrite update [domain]", + "formatZH": "伪静态配置修改 [domain]", + "paramKeys": [] + }, + "/websites/ssl": { + "BeforeFunctions": [], + "bodyKeys": [ + "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" + ], + "formatEN": "Delete ssl [domain]", + "formatZH": "删除 ssl [domain]", + "paramKeys": [] + }, + "/websites/ssl/download": { + "BeforeFunctions": [ + { + "db": "website_ssls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "download ssl file [domain]", + "formatZH": "下载证书文件 [domain]", + "paramKeys": [] + }, + "/websites/ssl/obtain": { + "BeforeFunctions": [ + { + "db": "website_ssls", + "input_column": "id", + "input_value": "ID", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "ID" + ], + "formatEN": "apply ssl [domain]", + "formatZH": "申请证书 [domain]", + "paramKeys": [] + }, + "/websites/ssl/update": { + "BeforeFunctions": [ + { + "db": "website_ssls", + "input_column": "id", + "input_value": "id", + "isList": false, + "output_column": "primary_domain", + "output_value": "domain" + } + ], + "bodyKeys": [ + "id" + ], + "formatEN": "Update ssl config [domain]", + "formatZH": "更新证书设置 [domain]", + "paramKeys": [] + }, + "/websites/ssl/upload": { + "BeforeFunctions": [], + "bodyKeys": [ + "type" + ], + "formatEN": "Upload ssl [type]", + "formatZH": "上传 ssl [type]", + "paramKeys": [] + }, + "/websites/update": { + "BeforeFunctions": [], + "bodyKeys": [ + "primaryDomain" + ], + "formatEN": "Update website [primaryDomain]", + "formatZH": "更新网站 [primaryDomain]", + "paramKeys": [] + } +} \ No newline at end of file diff --git a/cmd/server/main.go b/cmd/server/main.go index 0876387f3..395abff3e 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -11,15 +11,14 @@ import ( ) // @title 1Panel -// @version 1.0 +// @version 2.0 // @description 开源Linux面板 // @termsOfService http://swagger.io/terms/ // @license.name Apache 2.0 // @license.url http://www.apache.org/licenses/LICENSE-2.0.html // @host localhost -// @BasePath /api/v1 +// @BasePath /api/v2 -//go:generate swag init -o ./docs -g main.go -d ../../backend -g ../cmd/server/main.go func main() { if err := cmd.RootCmd.Execute(); err != nil { fmt.Fprintln(os.Stderr, err) diff --git a/core/app/api/v1/auth.go b/core/app/api/v1/auth.go index 9f4c2ba38..2688d0f9a 100644 --- a/core/app/api/v1/auth.go +++ b/core/app/api/v1/auth.go @@ -23,7 +23,7 @@ type BaseApi struct{} // @Param EntranceCode header string true "安全入口 base64 加密串" // @Param request body dto.Login true "request" // @Success 200 {object} dto.UserLoginInfo -// @Router /auth/login [post] +// @Router /core/auth/login [post] func (b *BaseApi) Login(c *gin.Context) { var req dto.Login if err := helper.CheckBindAndValidate(&req, c); err != nil { @@ -57,7 +57,7 @@ func (b *BaseApi) Login(c *gin.Context) { // @Accept json // @Param request body dto.MFALogin true "request" // @Success 200 {object} dto.UserLoginInfo -// @Router /auth/mfalogin [post] +// @Router /core/auth/mfalogin [post] // @Header 200 {string} EntranceCode "安全入口" func (b *BaseApi) MFALogin(c *gin.Context) { var req dto.MFALogin @@ -84,7 +84,7 @@ func (b *BaseApi) MFALogin(c *gin.Context) { // @Description 用户登出 // @Success 200 // @Security ApiKeyAuth -// @Router /auth/logout [post] +// @Router /core/auth/logout [post] func (b *BaseApi) LogOut(c *gin.Context) { if err := authService.LogOut(c); err != nil { helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err) @@ -97,7 +97,7 @@ func (b *BaseApi) LogOut(c *gin.Context) { // @Summary Load captcha // @Description 加载验证码 // @Success 200 {object} dto.CaptchaResponse -// @Router /auth/captcha [get] +// @Router /core/auth/captcha [get] func (b *BaseApi) Captcha(c *gin.Context) { captcha, err := captcha.CreateCaptcha() if err != nil { @@ -111,7 +111,7 @@ func (b *BaseApi) Captcha(c *gin.Context) { // @Summary Load safety status // @Description 获取系统安全登录状态 // @Success 200 -// @Router /auth/issafety [get] +// @Router /core/auth/issafety [get] func (b *BaseApi) CheckIsSafety(c *gin.Context) { code := c.DefaultQuery("code", "") status, err := authService.CheckIsSafety(code) @@ -147,7 +147,7 @@ func (b *BaseApi) GetResponsePage(c *gin.Context) { // @Summary Check System isDemo // @Description 判断是否为demo环境 // @Success 200 -// @Router /auth/demo [get] +// @Router /core/auth/demo [get] func (b *BaseApi) CheckIsDemo(c *gin.Context) { helper.SuccessWithData(c, global.CONF.System.IsDemo) } @@ -156,7 +156,7 @@ func (b *BaseApi) CheckIsDemo(c *gin.Context) { // @Summary Load System Language // @Description 获取系统语言设置 // @Success 200 -// @Router /auth/language [get] +// @Router /core/auth/language [get] func (b *BaseApi) GetLanguage(c *gin.Context) { settingInfo, err := settingService.GetSettingInfo() if err != nil { diff --git a/core/app/api/v1/logs.go b/core/app/api/v1/logs.go index f88da7bac..841c969d4 100644 --- a/core/app/api/v1/logs.go +++ b/core/app/api/v1/logs.go @@ -14,7 +14,7 @@ import ( // @Param request body dto.SearchLgLogWithPage true "request" // @Success 200 {object} dto.PageResult // @Security ApiKeyAuth -// @Router /logs/login [post] +// @Router /core/logs/login [post] func (b *BaseApi) GetLoginLogs(c *gin.Context) { var req dto.SearchLgLogWithPage if err := helper.CheckBindAndValidate(&req, c); err != nil { @@ -40,7 +40,7 @@ func (b *BaseApi) GetLoginLogs(c *gin.Context) { // @Param request body dto.SearchOpLogWithPage true "request" // @Success 200 {object} dto.PageResult // @Security ApiKeyAuth -// @Router /logs/operation [post] +// @Router /core/logs/operation [post] func (b *BaseApi) GetOperationLogs(c *gin.Context) { var req dto.SearchOpLogWithPage if err := helper.CheckBindAndValidate(&req, c); err != nil { @@ -66,7 +66,7 @@ func (b *BaseApi) GetOperationLogs(c *gin.Context) { // @Param request body dto.CleanLog true "request" // @Success 200 {object} dto.PageResult // @Security ApiKeyAuth -// @Router /logs/clean [post] +// @Router /core/logs/clean [post] // @x-panel-log {"bodyKeys":["logType"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"清空 [logType] 日志信息","formatEN":"Clean the [logType] log information"} func (b *BaseApi) CleanLogs(c *gin.Context) { var req dto.CleanLog diff --git a/core/app/api/v1/setting.go b/core/app/api/v1/setting.go index d38878214..6f16c9b18 100644 --- a/core/app/api/v1/setting.go +++ b/core/app/api/v1/setting.go @@ -19,7 +19,7 @@ import ( // @Description 加载系统配置信息 // @Success 200 {object} dto.SettingInfo // @Security ApiKeyAuth -// @Router /settings/search [post] +// @Router /core/settings/search [post] func (b *BaseApi) GetSettingInfo(c *gin.Context) { setting, err := settingService.GetSettingInfo() if err != nil { @@ -34,7 +34,7 @@ func (b *BaseApi) GetSettingInfo(c *gin.Context) { // @Description 获取系统可用状态 // @Success 200 // @Security ApiKeyAuth -// @Router /settings/search/available [get] +// @Router /core/settings/search/available [get] func (b *BaseApi) GetSystemAvailable(c *gin.Context) { helper.SuccessWithData(c, nil) } @@ -46,7 +46,7 @@ func (b *BaseApi) GetSystemAvailable(c *gin.Context) { // @Param request body dto.SettingUpdate true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/update [post] +// @Router /core/settings/update [post] // @x-panel-log {"bodyKeys":["key","value"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"修改系统配置 [key] => [value]","formatEN":"update system setting [key] => [value]"} func (b *BaseApi) UpdateSetting(c *gin.Context) { var req dto.SettingUpdate @@ -68,7 +68,7 @@ func (b *BaseApi) UpdateSetting(c *gin.Context) { // @Param request body dto.ProxyUpdate true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/proxy/update [post] +// @Router /core/settings/proxy/update [post] // @x-panel-log {"bodyKeys":["proxyUrl","proxyPort"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"服务器代理配置 [proxyPort]:[proxyPort]","formatEN":"set proxy [proxyPort]:[proxyPort]."} func (b *BaseApi) UpdateProxy(c *gin.Context) { var req dto.ProxyUpdate @@ -99,7 +99,7 @@ func (b *BaseApi) UpdateProxy(c *gin.Context) { // @Param request body dto.SettingUpdate true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/menu/update [post] +// @Router /core/settings/menu/update [post] // @x-panel-log {"bodyKeys":[],"paramKeys":[],"BeforeFunctions":[],"formatZH":"隐藏高级功能菜单","formatEN":"Hide advanced feature menu."} func (b *BaseApi) UpdateMenu(c *gin.Context) { var req dto.SettingUpdate @@ -121,7 +121,7 @@ func (b *BaseApi) UpdateMenu(c *gin.Context) { // @Param request body dto.PasswordUpdate true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/password/update [post] +// @Router /core/settings/password/update [post] // @x-panel-log {"bodyKeys":[],"paramKeys":[],"BeforeFunctions":[],"formatZH":"修改系统密码","formatEN":"update system password"} func (b *BaseApi) UpdatePassword(c *gin.Context) { var req dto.PasswordUpdate @@ -143,7 +143,7 @@ func (b *BaseApi) UpdatePassword(c *gin.Context) { // @Param request body dto.SSLUpdate true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/ssl/update [post] +// @Router /core/settings/ssl/update [post] // @x-panel-log {"bodyKeys":["ssl"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"修改系统 ssl => [ssl]","formatEN":"update system ssl => [ssl]"} func (b *BaseApi) UpdateSSL(c *gin.Context) { var req dto.SSLUpdate @@ -163,7 +163,7 @@ func (b *BaseApi) UpdateSSL(c *gin.Context) { // @Description 获取证书信息 // @Success 200 {object} dto.SettingInfo // @Security ApiKeyAuth -// @Router /settings/ssl/info [get] +// @Router /core/settings/ssl/info [get] func (b *BaseApi) LoadFromCert(c *gin.Context) { info, err := settingService.LoadFromCert() if err != nil { @@ -178,7 +178,7 @@ func (b *BaseApi) LoadFromCert(c *gin.Context) { // @Description 下载证书 // @Success 200 // @Security ApiKeyAuth -// @Router /settings/ssl/download [post] +// @Router /core/settings/ssl/download [post] func (b *BaseApi) DownloadSSL(c *gin.Context) { pathItem := path.Join(global.CONF.System.BaseDir, "1panel/secret/server.crt") if _, err := os.Stat(pathItem); err != nil { @@ -195,7 +195,7 @@ func (b *BaseApi) DownloadSSL(c *gin.Context) { // @Accept json // @Success 200 // @Security ApiKeyAuth -// @Router /settings/interface [get] +// @Router /core/settings/interface [get] func (b *BaseApi) LoadInterfaceAddr(c *gin.Context) { data, err := settingService.LoadInterfaceAddr() if err != nil { @@ -212,7 +212,7 @@ func (b *BaseApi) LoadInterfaceAddr(c *gin.Context) { // @Param request body dto.BindInfo true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/bind/update [post] +// @Router /core/settings/bind/update [post] // @x-panel-log {"bodyKeys":["ipv6", "bindAddress"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"修改系统监听信息 => ipv6: [ipv6], 监听 IP: [bindAddress]","formatEN":"update system bind info => ipv6: [ipv6], 监听 IP: [bindAddress]"} func (b *BaseApi) UpdateBindInfo(c *gin.Context) { var req dto.BindInfo @@ -234,7 +234,7 @@ func (b *BaseApi) UpdateBindInfo(c *gin.Context) { // @Param request body dto.PortUpdate true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/port/update [post] +// @Router /core/settings/port/update [post] // @x-panel-log {"bodyKeys":["serverPort"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"修改系统端口 => [serverPort]","formatEN":"update system port => [serverPort]"} func (b *BaseApi) UpdatePort(c *gin.Context) { var req dto.PortUpdate @@ -256,7 +256,7 @@ func (b *BaseApi) UpdatePort(c *gin.Context) { // @Param request body dto.PasswordUpdate true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/expired/handle [post] +// @Router /core/settings/expired/handle [post] // @x-panel-log {"bodyKeys":[],"paramKeys":[],"BeforeFunctions":[],"formatZH":"重置过期密码","formatEN":"reset an expired Password"} func (b *BaseApi) HandlePasswordExpired(c *gin.Context) { var req dto.PasswordUpdate @@ -278,7 +278,7 @@ func (b *BaseApi) HandlePasswordExpired(c *gin.Context) { // @Param request body dto.MfaCredential true "request" // @Success 200 {object} mfa.Otp // @Security ApiKeyAuth -// @Router /settings/mfa [post] +// @Router /core/settings/mfa [post] func (b *BaseApi) LoadMFA(c *gin.Context) { var req dto.MfaRequest if err := helper.CheckBindAndValidate(&req, c); err != nil { @@ -301,7 +301,7 @@ func (b *BaseApi) LoadMFA(c *gin.Context) { // @Param request body dto.MfaCredential true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/mfa/bind [post] +// @Router /core/settings/mfa/bind [post] // @x-panel-log {"bodyKeys":[],"paramKeys":[],"BeforeFunctions":[],"formatZH":"mfa 绑定","formatEN":"bind mfa"} func (b *BaseApi) MFABind(c *gin.Context) { var req dto.MfaCredential diff --git a/core/app/api/v1/upgrade.go b/core/app/api/v1/upgrade.go index 62d5fe30e..1420c7ca9 100644 --- a/core/app/api/v1/upgrade.go +++ b/core/app/api/v1/upgrade.go @@ -12,7 +12,7 @@ import ( // @Description 系统更新信息 // @Success 200 {object} dto.UpgradeInfo // @Security ApiKeyAuth -// @Router /settings/upgrade [get] +// @Router /core/settings/upgrade [get] func (b *BaseApi) GetUpgradeInfo(c *gin.Context) { info, err := upgradeService.SearchUpgrade() if err != nil { @@ -29,7 +29,7 @@ func (b *BaseApi) GetUpgradeInfo(c *gin.Context) { // @Param request body dto.Upgrade true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/upgrade [get] +// @Router /core/settings/upgrade [get] func (b *BaseApi) GetNotesByVersion(c *gin.Context) { var req dto.Upgrade if err := helper.CheckBindAndValidate(&req, c); err != nil { @@ -51,7 +51,7 @@ func (b *BaseApi) GetNotesByVersion(c *gin.Context) { // @Param request body dto.Upgrade true "request" // @Success 200 // @Security ApiKeyAuth -// @Router /settings/upgrade [post] +// @Router /core/settings/upgrade [post] // @x-panel-log {"bodyKeys":["version"],"paramKeys":[],"BeforeFunctions":[],"formatZH":"更新系统 => [version]","formatEN":"upgrade system => [version]"} func (b *BaseApi) Upgrade(c *gin.Context) { var req dto.Upgrade diff --git a/core/init/router/router.go b/core/init/router/router.go index 58771b955..2f9ed4c19 100644 --- a/core/init/router/router.go +++ b/core/init/router/router.go @@ -42,8 +42,8 @@ func Routers() *gin.Engine { Router.Use(i18n.UseI18n()) swaggerRouter := Router.Group("1panel") - docs.SwaggerInfo.BasePath = "/api/v1" - swaggerRouter.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerfiles.Handler)) + docs.SwaggerInfo.BasePath = "/api/v2" + swaggerRouter.Use(middleware.JwtAuth()).Use(middleware.SessionAuth()).GET("/swagger/*any", ginSwagger.WrapHandler(swaggerfiles.Handler)) PublicGroup := Router.Group("") { PublicGroup.GET("/health", func(c *gin.Context) { diff --git a/core/middleware/demo_handle.go b/core/middleware/demo_handle.go index 943f23491..11ec0aa27 100644 --- a/core/middleware/demo_handle.go +++ b/core/middleware/demo_handle.go @@ -11,30 +11,30 @@ import ( ) var whiteUrlList = map[string]struct{}{ - "/api/v1/auth/login": {}, - "/api/v1/websites/config": {}, - "/api/v1/websites/waf/config": {}, - "/api/v1/files/loadfile": {}, - "/api/v1/files/size": {}, - "/api/v1/logs/operation": {}, - "/api/v1/logs/login": {}, - "/api/v1/auth/logout": {}, + "/core/api/v2/auth/login": {}, + "/api/v2/websites/config": {}, + "/api/v2/websites/waf/config": {}, + "/api/v2/files/loadfile": {}, + "/api/v2/files/size": {}, + "/api/v2/logs/operation": {}, + "/api/v2/logs/login": {}, + "/core/api/v2/auth/logout": {}, - "/api/v1/apps/installed/loadport": {}, - "/api/v1/apps/installed/check": {}, - "/api/v1/apps/installed/conninfo": {}, - "/api/v1/databases/load/file": {}, - "/api/v1/databases/variables": {}, - "/api/v1/databases/status": {}, - "/api/v1/databases/baseinfo": {}, + "/api/v2/apps/installed/loadport": {}, + "/api/v2/apps/installed/check": {}, + "/api/v2/apps/installed/conninfo": {}, + "/api/v2/databases/load/file": {}, + "/api/v2/databases/variables": {}, + "/api/v2/databases/status": {}, + "/api/v2/databases/baseinfo": {}, - "/api/v1/waf/attack/stat": {}, - "/api/v1/waf/config/website": {}, + "/api/v2/waf/attack/stat": {}, + "/api/v2/waf/config/website": {}, - "/api/v1/monitor/stat": {}, - "/api/v1/monitor/visitors": {}, - "/api/v1/monitor/visitors/loc": {}, - "/api/v1/monitor/qps": {}, + "/api/v2/monitor/stat": {}, + "/api/v2/monitor/visitors": {}, + "/api/v2/monitor/visitors/loc": {}, + "/api/v2/monitor/qps": {}, } func DemoHandle() gin.HandlerFunc { diff --git a/core/middleware/operation.go b/core/middleware/operation.go index 74f4f3269..bf96e63fe 100644 --- a/core/middleware/operation.go +++ b/core/middleware/operation.go @@ -27,18 +27,20 @@ func OperationLog() gin.HandlerFunc { } source := loadLogInfo(c.Request.URL.Path) + pathItem := strings.TrimPrefix(c.Request.URL.Path, "/api/v2") + pathItem = strings.TrimPrefix(pathItem, "/api/v2/core") record := &model.OperationLog{ Source: source, IP: c.ClientIP(), Method: strings.ToLower(c.Request.Method), - Path: strings.ReplaceAll(c.Request.URL.Path, "/api/v1", ""), + Path: pathItem, UserAgent: c.Request.UserAgent(), } var ( swagger swaggerJson operationDic operationJson ) - if err := json.Unmarshal(docs.SwaggerJson, &swagger); err != nil { + if err := json.Unmarshal(docs.XLogJson, &swagger); err != nil { c.Next() return } @@ -204,7 +206,7 @@ func (r responseBodyWriter) Write(b []byte) (int, error) { } func loadLogInfo(path string) string { - path = strings.ReplaceAll(path, "/api/v1", "") + path = strings.ReplaceAll(path, "/api/v2", "") if !strings.Contains(path, "/") { return "" } diff --git a/core/middleware/proxy.go b/core/middleware/proxy.go index 7e2dc1388..7c8b425ef 100644 --- a/core/middleware/proxy.go +++ b/core/middleware/proxy.go @@ -16,7 +16,7 @@ import ( func Proxy() gin.HandlerFunc { return func(c *gin.Context) { - if strings.HasPrefix(c.Request.URL.Path, "/api/v2/core") { + if strings.HasPrefix(c.Request.URL.Path, "/api/v2/core") || strings.HasPrefix(c.Request.URL.Path, "/1panel/swagger") { c.Next() return }