/
sys-config.go
71 lines (60 loc) · 1.85 KB
/
sys-config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package handler
import (
"github.com/aaronchen2k/deeptest/internal/server/modules/model"
"github.com/aaronchen2k/deeptest/internal/server/modules/service"
_domain "github.com/aaronchen2k/deeptest/pkg/domain"
"github.com/kataras/iris/v12"
"os"
)
type ConfigCtrl struct {
BaseCtrl
ConfigService *service.ConfigService `inject:""`
}
const token = "a1bc**2d&&423qvdw"
// Get
// @Tags 配置
// @summary 获取服务端配置
// @accept application/json
// @Produce application/json
// @success 200 {object} _domain.Response{data=object{demoTestSite=string}}
// @Router /api/v1/configs [get]
func (c *ConfigCtrl) Get(ctx iris.Context) {
data := iris.Map{
"demoTestSite": os.Getenv("DEMO_TEST_SITE"),
}
ctx.JSON(_domain.Response{Code: _domain.NoErr.Code, Data: data})
}
func (c *ConfigCtrl) GetValue(ctx iris.Context) {
tenantId := c.getTenantId(ctx)
key := ctx.URLParam("key")
if key == "" {
ctx.JSON(_domain.Response{Code: _domain.ParamErr.Code, Msg: _domain.ParamErr.Msg})
return
}
value, err := c.ConfigService.Get(tenantId, key)
if err != nil {
ctx.JSON(_domain.Response{Code: _domain.SystemErr.Code, Msg: err.Error()})
return
}
ctx.JSON(_domain.Response{Code: _domain.NoErr.Code, Data: value})
}
func (c *ConfigCtrl) Save(ctx iris.Context) {
tenantId := c.getTenantId(ctx)
headerToken := ctx.Request().Header.Get("token")
if headerToken != token {
ctx.JSON(_domain.Response{Code: _domain.AuthActionErr.Code, Msg: _domain.AuthActionErr.Msg})
return
}
req := model.SysConfig{}
err := ctx.ReadJSON(&req)
if err != nil {
ctx.JSON(_domain.Response{Code: _domain.ParamErr.Code, Msg: _domain.ParamErr.Msg})
return
}
err = c.ConfigService.Save(tenantId, req)
if err != nil {
ctx.JSON(_domain.Response{Code: _domain.SystemErr.Code, Msg: err.Error()})
return
}
ctx.JSON(_domain.Response{Code: _domain.NoErr.Code, Msg: _domain.NoErr.Msg})
}