-
Notifications
You must be signed in to change notification settings - Fork 96
/
app.go
80 lines (71 loc) · 2.09 KB
/
app.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
72
73
74
75
76
77
78
79
80
package app
import (
"strings"
"github.com/douyu/juno/internal/pkg/service/resource"
"github.com/douyu/juno/internal/pkg/packages/contrib/output"
"github.com/labstack/echo/v4"
)
// 添加lang约束查询
func FilterList(c echo.Context) error {
langs := c.QueryString()
langsList := make([]string, 0)
if len(langs) > 0 {
langsList = strings.Split(strings.ToLower(langs), ",")
}
// 写死 project a
// bizDomain := []string{"项目A"}
result, err := resource.Resource.FilterListInLangs(langsList)
if err != nil {
return output.JSON(c, output.MsgErr, err.Error())
}
return output.JSON(c, output.MsgOk, "", result)
}
// DetailV2 新版应用详情
func Info(c echo.Context) error {
appName := c.QueryParam("appName")
if appName == "" {
return output.JSON(c, output.MsgErr, "params appname error")
}
// 基础信息
appInfo, err := resource.Resource.GetApp(appName)
if err != nil {
// return output.JSON(c, output.MsgErr, err.Error())
}
// 机房信息
idcInfo, err := resource.Resource.GetAppIDCList(appName)
if err != nil {
// return output.JSON(c, output.MsgErr, err.Error())
}
// 日志机房信息,要做映射
// jupiter版本
jupiterVersion, err := resource.Resource.GetMinervaVersion(appName)
if err != nil {
// return output.JSON(c, output.MsgErr, err.Error())
}
return output.JSON(c, output.MsgOk, "", map[string]interface{}{
"appInfo": appInfo,
"idcList": idcInfo,
"jupiterVersion": jupiterVersion,
})
}
// DetailV2 新版应用详情
func Env(c echo.Context) error {
// 机房信息
idcInfo, err := resource.Resource.GetIDCList()
if err != nil {
// return output.JSON(c, output.MsgErr, err.Error())
}
return output.JSON(c, output.MsgOk, "", map[string]interface{}{
"idcList": idcInfo,
})
}
// ReqAppsQuery ...
type ReqAppsQuery struct {
Langs []string `json:"langs" form:"langs"`
BizDomain []string `json:"tags" form:"tags"`
Qs string `json:"qs" form:"qs"`
SortBy string `json:"sortBy" form:"sortBy"`
Page int `json:"page" form:"page"`
CustomBy string `json:"custom"`
PageSize uint `json:"pageSize"`
}