Files
mayfly-go/server/internal/redis/api/cmd.go

28 lines
838 B
Go
Raw Normal View History

2024-03-02 19:08:19 +08:00
package api
import (
"mayfly-go/internal/event"
2024-03-02 19:08:19 +08:00
"mayfly-go/internal/redis/api/form"
"mayfly-go/internal/redis/application"
"mayfly-go/pkg/biz"
"mayfly-go/pkg/global"
2024-03-02 19:08:19 +08:00
"mayfly-go/pkg/req"
2024-03-04 20:33:04 +08:00
"mayfly-go/pkg/utils/collx"
2024-03-02 19:08:19 +08:00
)
func (r *Redis) RunCmd(rc *req.Ctx) {
var cmdReq form.RunCmdForm
runCmdParam := req.BindJsonAndCopyTo(rc, &cmdReq, new(application.RunCmdParam))
biz.IsTrue(len(cmdReq.Cmd) > 0, "redis命令不能为空")
2024-03-04 20:33:04 +08:00
redisConn := r.getRedisConn(rc)
biz.ErrIsNilAppendErr(r.TagApp.CanAccess(rc.GetLoginAccount().Id, redisConn.Info.CodePath...), "%s")
2024-03-04 20:33:04 +08:00
rc.ReqParam = collx.Kvs("redis", redisConn.Info, "cmd", cmdReq.Cmd)
global.EventBus.Publish(rc.MetaCtx, event.EventTopicResourceOp, redisConn.Info.CodePath[0])
2024-03-04 20:33:04 +08:00
res, err := r.RedisApp.RunCmd(rc.MetaCtx, redisConn, runCmdParam)
2024-03-02 19:08:19 +08:00
biz.ErrIsNil(err)
rc.ResData = res
}