From 6f250e63dbb8ab05b874c182b9c8bc48b1eb3fa6 Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Wed, 13 Sep 2023 14:10:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=20redis=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=AF=86=E7=A0=81=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20(#2271)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/api/v1/database_redis.go | 4 ++-- backend/app/dto/database.go | 4 ++++ backend/app/service/database_redis.go | 4 ++-- cmd/server/docs/docs.go | 13 ++++++++++++- cmd/server/docs/swagger.json | 13 ++++++++++++- cmd/server/docs/swagger.yaml | 9 ++++++++- frontend/src/api/modules/database.ts | 9 ++++----- .../src/views/database/redis/password/index.vue | 9 +-------- 8 files changed, 45 insertions(+), 20 deletions(-) diff --git a/backend/app/api/v1/database_redis.go b/backend/app/api/v1/database_redis.go index 8a45d19c5..076b00855 100644 --- a/backend/app/api/v1/database_redis.go +++ b/backend/app/api/v1/database_redis.go @@ -92,13 +92,13 @@ func (b *BaseApi) UpdateRedisConf(c *gin.Context) { // @Summary Change redis password // @Description 更新 redis 密码 // @Accept json -// @Param request body dto.ChangeDBInfo true "request" +// @Param request body dto.ChangeRedisPass true "request" // @Success 200 // @Security ApiKeyAuth // @Router /databases/redis/password [post] // @x-panel-log {"bodyKeys":[],"paramKeys":[],"BeforeFuntions":[],"formatZH":"修改 redis 数据库密码","formatEN":"change the password of the redis database"} func (b *BaseApi) ChangeRedisPassword(c *gin.Context) { - var req dto.ChangeDBInfo + var req dto.ChangeRedisPass if err := c.ShouldBindJSON(&req); err != nil { helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err) return diff --git a/backend/app/dto/database.go b/backend/app/dto/database.go index ac7c5cb97..11a7defb5 100644 --- a/backend/app/dto/database.go +++ b/backend/app/dto/database.go @@ -172,6 +172,10 @@ type UploadRecover struct { } // redis +type ChangeRedisPass struct { + Value string `json:"value" validate:"required"` +} + type RedisConfUpdate struct { Timeout string `json:"timeout"` Maxclients string `json:"maxclients"` diff --git a/backend/app/service/database_redis.go b/backend/app/service/database_redis.go index 9bf0b7f06..91ca335fc 100644 --- a/backend/app/service/database_redis.go +++ b/backend/app/service/database_redis.go @@ -21,7 +21,7 @@ type RedisService struct{} type IRedisService interface { UpdateConf(req dto.RedisConfUpdate) error UpdatePersistenceConf(req dto.RedisConfPersistenceUpdate) error - ChangePassword(info dto.ChangeDBInfo) error + ChangePassword(info dto.ChangeRedisPass) error LoadStatus() (*dto.RedisStatus, error) LoadConf() (*dto.RedisConf, error) @@ -54,7 +54,7 @@ func (u *RedisService) UpdateConf(req dto.RedisConfUpdate) error { return nil } -func (u *RedisService) ChangePassword(req dto.ChangeDBInfo) error { +func (u *RedisService) ChangePassword(req dto.ChangeRedisPass) error { if err := updateInstallInfoInDB("redis", "", "password", true, req.Value); err != nil { return err } diff --git a/cmd/server/docs/docs.go b/cmd/server/docs/docs.go index 59ea1f35b..cd820d515 100644 --- a/cmd/server/docs/docs.go +++ b/cmd/server/docs/docs.go @@ -4561,7 +4561,7 @@ const docTemplate = `{ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" + "$ref": "#/definitions/dto.ChangeRedisPass" } } ], @@ -11946,6 +11946,17 @@ const docTemplate = `{ } } }, + "dto.ChangeRedisPass": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string" + } + } + }, "dto.CleanLog": { "type": "object", "required": [ diff --git a/cmd/server/docs/swagger.json b/cmd/server/docs/swagger.json index aba0c2b99..abe74420e 100644 --- a/cmd/server/docs/swagger.json +++ b/cmd/server/docs/swagger.json @@ -4554,7 +4554,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/dto.ChangeDBInfo" + "$ref": "#/definitions/dto.ChangeRedisPass" } } ], @@ -11939,6 +11939,17 @@ } } }, + "dto.ChangeRedisPass": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string" + } + } + }, "dto.CleanLog": { "type": "object", "required": [ diff --git a/cmd/server/docs/swagger.yaml b/cmd/server/docs/swagger.yaml index 5c8cbd348..93f9c38f7 100644 --- a/cmd/server/docs/swagger.yaml +++ b/cmd/server/docs/swagger.yaml @@ -163,6 +163,13 @@ definitions: - groupID - id type: object + dto.ChangeRedisPass: + properties: + value: + type: string + required: + - value + type: object dto.CleanLog: properties: logType: @@ -6925,7 +6932,7 @@ paths: name: request required: true schema: - $ref: '#/definitions/dto.ChangeDBInfo' + $ref: '#/definitions/dto.ChangeRedisPass' responses: "200": description: OK diff --git a/frontend/src/api/modules/database.ts b/frontend/src/api/modules/database.ts index 38489fa85..16afa4a2f 100644 --- a/frontend/src/api/modules/database.ts +++ b/frontend/src/api/modules/database.ts @@ -74,12 +74,11 @@ export const loadRedisConf = () => { export const redisPersistenceConf = () => { return http.get(`/databases/redis/persistence/conf`); }; -export const changeRedisPassword = (params: Database.ChangeInfo) => { - let reqest = deepCopy(params) as Database.ChangeInfo; - if (reqest.value) { - reqest.value = Base64.encode(reqest.value); +export const changeRedisPassword = (value: string) => { + if (value) { + value = Base64.encode(value); } - return http.post(`/databases/redis/password`, reqest); + return http.post(`/databases/redis/password`, { value: value }); }; export const updateRedisPersistenceConf = (params: Database.RedisConfPersistenceUpdate) => { return http.post(`/databases/redis/persistence/update`, params); diff --git a/frontend/src/views/database/redis/password/index.vue b/frontend/src/views/database/redis/password/index.vue index 25fa413c3..0f857bd08 100644 --- a/frontend/src/views/database/redis/password/index.vue +++ b/frontend/src/views/database/redis/password/index.vue @@ -114,16 +114,9 @@ const loadPassword = async () => { }; const onSubmit = async () => { - let param = { - id: 0, - from: 'local', - type: 'redis', - database: '', - value: form.value.password, - }; loading.value = true; emit('closeTerminal'); - await changeRedisPassword(param) + await changeRedisPassword(form.value.password) .then(() => { loading.value = false; MsgSuccess(i18n.global.t('commons.msg.operationSuccess'));