This repository has been archived by the owner on May 18, 2023. It is now read-only.
/
api.go
executable file
·128 lines (111 loc) · 3.42 KB
/
api.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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package system
import (
"github.com/gin-gonic/gin"
"github.com/go-playground/validator/v10"
"github.com/pddzl/kubeops/server/global"
"github.com/pddzl/kubeops/server/model/common/request"
"github.com/pddzl/kubeops/server/model/common/response"
systemModel "github.com/pddzl/kubeops/server/model/system"
systemReq "github.com/pddzl/kubeops/server/model/system/request"
systemRep "github.com/pddzl/kubeops/server/model/system/response"
"go.uber.org/zap"
)
type ApiApi struct{}
// AddApi 添加api
func (a *ApiApi) AddApi(c *gin.Context) {
var apiReq systemModel.ApiModel
_ = c.ShouldBindJSON(&apiReq)
// 参数校验
validate := validator.New()
if err := validate.Struct(&apiReq); err != nil {
response.FailWithMessage("请求参数错误", c)
global.KOP_LOG.Error("请求参数错误", zap.Error(err))
return
}
if instance, err := apiService.AddApi(apiReq); err != nil {
response.FailWithMessage("添加失败", c)
global.KOP_LOG.Error("添加失败", zap.Error(err))
} else {
response.OkWithDetailed(instance, "添加成功", c)
}
}
// GetApis 列出所有api
func (a *ApiApi) GetApis(c *gin.Context) {
var apiSp systemReq.ApiSearchParams
_ = c.ShouldBindJSON(&apiSp)
// 参数校验
validate := validator.New()
if err := validate.Struct(&apiSp); err != nil {
response.FailWithMessage("请求参数错误", c)
global.KOP_LOG.Error("请求参数错误", zap.Error(err))
return
}
if list, total, err := apiService.GetApis(apiSp); err != nil {
response.FailWithMessage("获取失败", c)
global.KOP_LOG.Error("获取失败", zap.Error(err))
} else {
response.OkWithDetailed(response.PageResult{
List: list,
Total: total,
Page: apiSp.Page,
PageSize: apiSp.PageSize,
}, "获取成功", c)
}
}
// DeleteApi 删除指定api
func (a *ApiApi) DeleteApi(c *gin.Context) {
var cId request.CId
_ = c.ShouldBindJSON(&cId)
// 参数校验
validate := validator.New()
if err := validate.Struct(&cId); err != nil {
response.FailWithMessage("请求参数错误", c)
global.KOP_LOG.Error("请求参数错误", zap.Error(err))
return
}
if err := apiService.DeleteApi(cId.ID); err != nil {
response.FailWithMessage("删除失败", c)
global.KOP_LOG.Error("删除失败", zap.Error(err))
} else {
response.OkWithMessage("删除成功", c)
}
}
// EditApi 编辑api
func (a *ApiApi) EditApi(c *gin.Context) {
var eApi systemReq.EditApi
_ = c.ShouldBindJSON(&eApi)
// 参数校验
validate := validator.New()
if err := validate.Struct(&eApi); err != nil {
response.FailWithMessage("请求参数错误", c)
global.KOP_LOG.Error("请求参数错误", zap.Error(err))
return
}
if err := apiService.EditApi(eApi); err != nil {
response.FailWithMessage("编辑失败", c)
global.KOP_LOG.Error("编辑失败", zap.Error(err))
} else {
response.OkWithMessage("编辑成功", c)
}
}
// GetElTreeApis 格式化列出所有api
func (a *ApiApi) GetElTreeApis(c *gin.Context) {
var cId request.CId
_ = c.ShouldBindJSON(&cId)
// 参数校验
validate := validator.New()
if err := validate.Struct(&cId); err != nil {
response.FailWithMessage("请求参数错误", c)
global.KOP_LOG.Error("请求参数错误", zap.Error(err))
return
}
list, checkedKey, err := apiService.GetElTreeApis(cId.ID)
if err != nil {
response.FailWithMessage("获取失败", c)
} else {
response.OkWithDetailed(systemRep.ApiTree{
List: list,
CheckedKey: checkedKey,
}, "获取成功", c)
}
}