/
ApiGroupDao.go
117 lines (101 loc) · 2.53 KB
/
ApiGroupDao.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
package dao
import (
"goku-ce/server/conf"
"gopkg.in/yaml.v2"
)
// 新增分组
func AddApiGroup(groupConfPath,groupName string) (bool,int) {
_,group,cancelDefaultGroup := conf.ParseApiGroupInfo(groupConfPath)
maxID := 0
for id,_ := range group {
if id > maxID {
maxID = id
}
}
groupID := maxID + 1
group[groupID] = &conf.GroupInfo{
GroupID : groupID,
GroupName : groupName,
}
groupList := make([]*conf.GroupInfo,0)
for _,value := range group {
groupList = append(groupList,value)
}
groupConf := conf.Group{}
groupConf.CancelDefaultGroup = cancelDefaultGroup
groupConf.GroupList = groupList
content, err := yaml.Marshal(groupConf)
if err != nil {
panic(err);
}
conf.WriteConfigToFile(groupConfPath,content)
return true,groupID
}
// 修改分组
func EditApiGroup(groupConfPath,groupName string,groupID int) (bool) {
_,group,cancelDefaultGroup := conf.ParseApiGroupInfo(groupConfPath)
value,ok := group[groupID]
if !ok {
return false
} else {
value.GroupName = groupName
}
groupList := make([]*conf.GroupInfo,0)
for _,v := range group {
groupList = append(groupList,v)
}
groupConf := conf.Group{}
groupConf.CancelDefaultGroup = cancelDefaultGroup
groupConf.GroupList = groupList
content, err := yaml.Marshal(groupConf)
if err != nil {
return false
}
conf.WriteConfigToFile(groupConfPath,content)
return true
}
// 删除分组
func DeleteApiGroup(groupConfPath string,groupID int) (bool) {
_,group,cancelDefaultGroup := conf.ParseApiGroupInfo(groupConfPath)
_,ok := group[groupID]
if !ok {
return false
} else {
delete(group,groupID)
}
if groupID == 0 {
cancelDefaultGroup = true
}
groupList := make([]*conf.GroupInfo,0)
for _,v := range group {
groupList = append(groupList,v)
}
groupConf := conf.Group{}
groupConf.CancelDefaultGroup = cancelDefaultGroup
groupConf.GroupList = groupList
content, err := yaml.Marshal(groupConf)
if err != nil {
return false
}
conf.WriteConfigToFile(groupConfPath,content)
return true
}
// 获取分组列表
func GetApiGroupList(groupConfPath string) []*conf.GroupInfo{
groupList,_,_ := conf.ParseApiGroupInfo(groupConfPath)
return groupList
}
// 获取api分组信息
func GetApiGroupInfo(groupConfPath string,groupID int) (bool,*conf.GroupInfo){
_,group,_ := conf.ParseApiGroupInfo(groupConfPath)
value,ok := group[groupID]
if !ok {
return false,&conf.GroupInfo{}
}
return true,value
}
// 获取接口数量
func GetApiGroupCount(groupConfPath string) int {
groupList,_,_ := conf.ParseApiGroupInfo(groupConfPath)
return len(groupList)
}