Files
mayfly-go/server/internal/sys/api/config.go

53 lines
1.3 KiB
Go
Raw Normal View History

package api
import (
"mayfly-go/internal/sys/api/form"
"mayfly-go/internal/sys/application"
"mayfly-go/internal/sys/domain/entity"
"mayfly-go/pkg/biz"
"mayfly-go/pkg/ginx"
2023-01-14 16:29:52 +08:00
"mayfly-go/pkg/req"
)
type Config struct {
ConfigApp application.Config
}
2023-01-14 16:29:52 +08:00
func (c *Config) Configs(rc *req.Ctx) {
g := rc.GinCtx
condition := &entity.Config{Key: g.Query("key")}
2023-08-25 19:41:52 +08:00
condition.Permission = rc.LoginAccount.Username
rc.ResData = c.ConfigApp.GetPageList(condition, ginx.GetPageParam(g), new([]entity.Config))
}
2023-01-14 16:29:52 +08:00
func (c *Config) GetConfigValueByKey(rc *req.Ctx) {
key := rc.GinCtx.Query("key")
biz.NotEmpty(key, "key不能为空")
2023-08-25 19:41:52 +08:00
config := c.ConfigApp.GetConfig(key)
// 判断是否为公开配置
if config.Permission != "all" {
rc.ResData = ""
return
}
2023-08-25 19:41:52 +08:00
rc.ResData = config.Value
}
2023-01-14 16:29:52 +08:00
func (c *Config) SaveConfig(rc *req.Ctx) {
form := &form.ConfigForm{}
config := ginx.BindJsonAndCopyTo(rc.GinCtx, form, new(entity.Config))
rc.ReqParam = form
config.SetBaseInfo(rc.LoginAccount)
c.ConfigApp.Save(config)
}
2023-07-22 20:51:46 +08:00
// 获取oauth2登录配置信息因为有些字段是敏感字段故单独使用接口获取
func (c *Config) Oauth2Config(rc *req.Ctx) {
oauth2LoginConfig := c.ConfigApp.GetConfig(entity.ConfigKeyOauth2Login).ToOauth2Login()
rc.ResData = map[string]any{
"enable": oauth2LoginConfig.Enable,
2023-07-26 10:24:32 +08:00
"name": oauth2LoginConfig.Name,
}
}