forked from mojocn/felix
/
h_ssh.go
86 lines (82 loc) · 1.45 KB
/
h_ssh.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
package internal
import (
"github.com/gin-gonic/gin"
"github.com/libragen/felix/flx"
"github.com/libragen/felix/model"
)
func SshAll(c *gin.Context) {
mdl := model.Machine{}
query := &model.PaginationQ{}
err := c.ShouldBindQuery(query)
if handleError(c, err) {
return
}
list, total, err := mdl.All(query)
if handleError(c, err) {
return
}
var mcs []model.Machine
for _, vv := range *list {
vv.Password = ""
vv.Key = ""
mcs = append(mcs, vv)
}
jsonPagination(c, mcs, total, query)
}
func SshOne(c *gin.Context) {
id, err := parseParamID(c)
if handleError(c, err) {
return
}
mac := model.Machine{}
mac.Id = id
err = mac.One()
if handleError(c, err) {
return
}
mac.Password = ""
mac.Key = ""
info, err := flx.FetchHardwareInfo(&mac)
if handleError(c, err) {
return
}
//data := gin.H{"mac":mac,"info":info}
jsonData(c, info)
}
func SshCreate(c *gin.Context) {
var mdl model.Machine
err := c.ShouldBind(&mdl)
if handleError(c, err) {
return
}
err = mdl.Create()
if handleError(c, err) {
return
}
jsonData(c, mdl)
}
func SshUpdate(c *gin.Context) {
var mdl model.Machine
err := c.ShouldBind(&mdl)
if handleError(c, err) {
return
}
err = mdl.Update()
if handleError(c, err) {
return
}
jsonSuccess(c)
}
func SshDelete(c *gin.Context) {
var mdl model.Machine
id, err := parseParamID(c)
if handleError(c, err) {
return
}
mdl.Id = id
err = mdl.Delete()
if handleError(c, err) {
return
}
jsonSuccess(c)
}