/
configuration.go
105 lines (98 loc) · 3.72 KB
/
configuration.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
package apis
import (
"github.com/johnpoint/ControlCenter-Server/src/database"
"github.com/johnpoint/ControlCenter-Server/src/model"
"github.com/labstack/echo"
"net/http"
"strconv"
)
func GetConfigurationInfo(c echo.Context) error {
user := CheckAuth(c)
conf := model.Configuration{}
if err := c.Bind(&conf); err != nil {
panic(err)
}
if user.Level <= 1 {
conf.UID = database.GetUser(model.User{Mail: user.Mail})[0].ID
return c.JSON(http.StatusOK, database.GetConfiguration(conf))
}
return c.JSON(http.StatusUnauthorized, model.Callback{Code: 0, Info: "Unauthorized"})
}
func AddConfigurationInfo(c echo.Context) error {
user := CheckAuth(c)
conf := model.Configuration{}
if err := c.Bind(&conf); err != nil {
panic(err)
}
if user.Level <= 1 {
if len(database.GetConfiguration(model.Configuration{UID: database.GetUser(model.User{Mail: user.Mail})[0].ID, Name: conf.Name})) != 0 {
return c.JSON(http.StatusOK, model.Callback{Code: 0, Info: "The configuration already exists"})
}
conf.UID = database.GetUser(model.User{Mail: user.Mail})[0].ID
if database.AddConfiguration(conf) {
return c.JSON(http.StatusOK, model.Callback{Code: 200, Info: "OK"})
}
return c.JSON(http.StatusInternalServerError, model.Callback{Code: 0, Info: "Database error"})
}
return c.JSON(http.StatusUnauthorized, model.Callback{Code: 0, Info: "Unauthorized"})
}
func UpdataConfigurationInfo(c echo.Context) error {
user := CheckAuth(c)
conf := model.Configuration{}
conf.ID, _ = strconv.ParseInt(c.Param("id"), 10, 64)
if err := c.Bind(&conf); err != nil {
panic(err)
}
if user.Level <= 1 {
if len(database.GetConfiguration(model.Configuration{UID: database.GetUser(model.User{Mail: user.Mail})[0].ID, ID: conf.ID})) == 0 {
return c.JSON(http.StatusOK, model.Callback{Code: 0, Info: "This configuration not exists"})
}
if database.UpdateConfiguration(conf, model.Configuration{ID: conf.ID}) {
return c.JSON(http.StatusOK, model.Callback{Code: 200, Info: "OK"})
}
return c.JSON(http.StatusInternalServerError, model.Callback{Code: 0, Info: "Database error"})
}
return c.JSON(http.StatusUnauthorized, model.Callback{Code: 0, Info: "Unauthorized"})
}
func DeleteConfigurationInfo(c echo.Context) error {
//TODO
return c.JSON(http.StatusUnauthorized, model.Callback{Code: 0, Info: "Unauthorized"})
}
func LinkServerConf(c echo.Context) error {
user := CheckAuth(c)
if user.Level <= 1 {
sid := c.Param("ServerID")
cid := c.Param("FileID")
Isid, _ := strconv.ParseInt(sid, 10, 64)
Icid, _ := strconv.ParseInt(cid, 10, 64)
payload := model.ServerLink{ServerID: Isid, ItemID: Icid, Type: "File"}
data := database.GetServerLinkedItem(payload)
if len(data) == 0 {
if (database.LinkServer(model.ServerLink{ServerID: Isid, ItemID: Icid, Type: "File"})) {
return c.JSON(http.StatusOK, model.Callback{Code: 200, Info: "OK"})
}
return c.JSON(http.StatusOK, model.Callback{Code: 0, Info: "ERROR"})
} else {
return c.JSON(http.StatusOK, model.Callback{Code: 0, Info: "already linked"})
}
}
return c.JSON(http.StatusUnauthorized, model.Callback{Code: 0, Info: "Unauthorized"})
}
func UnLinkServerConf(c echo.Context) error {
user := CheckAuth(c)
if user.Level <= 1 {
sid := c.Param("ServerID")
cid := c.Param("FileID")
Isid, _ := strconv.ParseInt(sid, 10, 64)
Icid, _ := strconv.ParseInt(cid, 10, 64)
payload := model.ServerLink{ServerID: Isid, ItemID: Icid, Type: "File"}
data := database.UnLinkServer(payload)
if data {
if len(database.GetServerLinkedItem(payload)) == 0 {
return c.JSON(http.StatusOK, model.Callback{Code: 200, Info: "OK"})
}
}
return c.JSON(http.StatusOK, model.Callback{Code: 0, Info: "ERROR"})
}
return c.JSON(http.StatusUnauthorized, model.Callback{Code: 0, Info: "Unauthorized"})
}