Skip to content

Commit f64d2b2

Browse files
author
zhangchenhao
committed
1.新增eab列表
2.申请证书新增http代理、新增ca选择(zerossl、google)、新增证书算法选择 3.修复数据库连接内存泄漏
1 parent eb30277 commit f64d2b2

File tree

19 files changed

+489
-210
lines changed

19 files changed

+489
-210
lines changed

backend/app/api/access.go

Lines changed: 145 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,148 @@ func DelAccess(c *gin.Context) {
135135
return
136136
}
137137

138+
func GetAllEAB(c *gin.Context) {
139+
var form struct {
140+
CA string `form:"ca"`
141+
}
142+
err := c.Bind(&form)
143+
if err != nil {
144+
public.FailMsg(c, err.Error())
145+
return
146+
}
147+
eabList, err := access.GetAllEAB(form.CA)
148+
if err != nil {
149+
public.FailMsg(c, err.Error())
150+
return
151+
}
152+
public.SuccessData(c, eabList, 0)
153+
return
154+
}
155+
156+
func GetEABList(c *gin.Context) {
157+
var form struct {
158+
Search string `form:"search"`
159+
Page int64 `form:"p"`
160+
Limit int64 `form:"limit"`
161+
}
162+
err := c.Bind(&form)
163+
if err != nil {
164+
public.FailMsg(c, err.Error())
165+
return
166+
}
167+
eabList, count, err := access.GetEABList(form.Search, form.Page, form.Limit)
168+
if err != nil {
169+
public.FailMsg(c, err.Error())
170+
return
171+
}
172+
public.SuccessData(c, eabList, count)
173+
return
174+
}
175+
176+
func AddEAB(c *gin.Context) {
177+
var form struct {
178+
Name string `form:"name"`
179+
Kid string `form:"Kid"`
180+
HmacEncoded string `form:"HmacEncoded"`
181+
CA string `form:"ca"`
182+
}
183+
err := c.Bind(&form)
184+
if err != nil {
185+
public.FailMsg(c, err.Error())
186+
return
187+
}
188+
form.Name = strings.TrimSpace(form.Name)
189+
form.Kid = strings.TrimSpace(form.Kid)
190+
form.HmacEncoded = strings.TrimSpace(form.HmacEncoded)
191+
form.CA = strings.TrimSpace(form.CA)
192+
if form.Name == "" {
193+
public.FailMsg(c, "名称不能为空")
194+
return
195+
}
196+
if form.Kid == "" {
197+
public.FailMsg(c, "ID不能为空")
198+
return
199+
}
200+
if form.HmacEncoded == "" {
201+
public.FailMsg(c, "HmacEncoded不能为空")
202+
return
203+
}
204+
if form.CA == "" {
205+
public.FailMsg(c, "CA不能为空")
206+
return
207+
}
208+
err = access.AddEAB(form.Name, form.Kid, form.HmacEncoded, form.CA)
209+
if err != nil {
210+
public.FailMsg(c, err.Error())
211+
}
212+
public.SuccessMsg(c, "添加成功")
213+
return
214+
}
215+
216+
func UpdEAB(c *gin.Context) {
217+
var form struct {
218+
ID string `form:"id"`
219+
Name string `form:"name"`
220+
Kid string `form:"Kid"`
221+
HmacEncoded string `form:"HmacEncoded"`
222+
CA string `form:"ca"`
223+
}
224+
err := c.Bind(&form)
225+
if err != nil {
226+
public.FailMsg(c, err.Error())
227+
return
228+
}
229+
form.Name = strings.TrimSpace(form.Name)
230+
form.Kid = strings.TrimSpace(form.Kid)
231+
form.HmacEncoded = strings.TrimSpace(form.HmacEncoded)
232+
form.CA = strings.TrimSpace(form.CA)
233+
if form.Name == "" {
234+
public.FailMsg(c, "名称不能为空")
235+
return
236+
}
237+
if form.Kid == "" {
238+
public.FailMsg(c, "ID不能为空")
239+
return
240+
}
241+
if form.HmacEncoded == "" {
242+
public.FailMsg(c, "HmacEncoded不能为空")
243+
return
244+
}
245+
if form.CA == "" {
246+
public.FailMsg(c, "CA不能为空")
247+
return
248+
}
249+
err = access.UpdEAB(form.ID, form.Name, form.Kid, form.HmacEncoded, form.CA)
250+
if err != nil {
251+
public.FailMsg(c, err.Error())
252+
}
253+
public.SuccessMsg(c, "修改成功")
254+
return
255+
}
256+
257+
func DelEAB(c *gin.Context) {
258+
var form struct {
259+
ID string `form:"id"`
260+
}
261+
err := c.Bind(&form)
262+
if err != nil {
263+
public.FailMsg(c, err.Error())
264+
return
265+
}
266+
form.ID = strings.TrimSpace(form.ID)
267+
if form.ID == "" {
268+
public.FailMsg(c, "ID不能为空")
269+
return
270+
}
271+
err = access.DelEAB(form.ID)
272+
if err != nil {
273+
public.FailMsg(c, err.Error())
274+
return
275+
}
276+
public.SuccessMsg(c, "删除成功")
277+
return
278+
}
279+
138280
func TestAccess(c *gin.Context) {
139281
var form struct {
140282
ID string `form:"id"`
@@ -149,7 +291,7 @@ func TestAccess(c *gin.Context) {
149291
public.FailMsg(c, "类型不能为空")
150292
return
151293
}
152-
294+
153295
var result error
154296
switch form.Type {
155297
case "btwaf":
@@ -171,12 +313,12 @@ func TestAccess(c *gin.Context) {
171313
default:
172314
public.FailMsg(c, "不支持测试的提供商")
173315
}
174-
316+
175317
if result != nil {
176318
public.FailMsg(c, result.Error())
177319
return
178320
}
179-
321+
180322
public.SuccessMsg(c, "请求测试成功!")
181323
return
182324
}

backend/app/api/login.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ func Sign(c *gin.Context) {
3232
public.FailMsg(c, err.Error())
3333
return
3434
}
35-
s.Connect()
3635
defer s.Close()
3736
s.TableName = "users"
3837
res, err := s.Where("username=?", []interface{}{form.Username}).Select()

backend/internal/access/access.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ func GetSqlite() (*public.Sqlite, error) {
1212
if err != nil {
1313
return nil, err
1414
}
15-
s.Connect()
1615
s.TableName = "access"
1716
return s, nil
1817
}

backend/internal/access/accessType.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ func GetSqliteAT() (*public.Sqlite, error) {
99
if err != nil {
1010
return nil, err
1111
}
12-
s.Connect()
1312
s.TableName = "access_type"
1413
return s, nil
1514
}

backend/internal/cert/apply/account.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func (u *MyUser) GetPrivateKey() crypto.PrivateKey {
2929
return u.key
3030
}
3131

32-
func SaveUserToDB(db *public.Sqlite, user *MyUser) error {
32+
func SaveUserToDB(db *public.Sqlite, user *MyUser, Type string) error {
3333
keyBytes, err := x509.MarshalPKCS8PrivateKey(user.key)
3434
if err != nil {
3535
return err
@@ -53,13 +53,13 @@ func SaveUserToDB(db *public.Sqlite, user *MyUser) error {
5353
"reg": regBytes,
5454
"create_time": now,
5555
"update_time": now,
56-
"type": "Let's Encrypt",
56+
"type": Type,
5757
})
5858
return err
5959
}
6060

61-
func LoadUserFromDB(db *public.Sqlite, email string) (*MyUser, error) {
62-
data, err := db.Where(`email=?`, []interface{}{email}).Select()
61+
func LoadUserFromDB(db *public.Sqlite, email string, Type string) (*MyUser, error) {
62+
data, err := db.Where(`email=? and type=?`, []interface{}{email, Type}).Select()
6363
if err != nil {
6464
return nil, err
6565
}

0 commit comments

Comments
 (0)