-
Notifications
You must be signed in to change notification settings - Fork 1
/
group.go
130 lines (104 loc) · 2.55 KB
/
group.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
129
130
package db
import (
"database/sql"
"fmt"
)
//groupdata
func AddDBGroup(data Group) bool {
db := connectdb()
addDb, err := db.Prepare(`INSERT INTO "groupdata" ("name","admin","user","maxvm","maxcpu","maxmem","maxstorage","net") VALUES (?,?,?,?,?,?,?,?)`)
if err != nil {
panic(err)
return false
}
if _, err := addDb.Exec(data.Name, data.Admin, data.User, data.MaxVM, data.MaxCPU, data.MaxMem, data.MaxStorage, data.Net); err != nil {
panic(err)
return false
}
return true
}
func RemoveDBGroup(id int) bool {
db := connectdb()
deletedb := "DELETE FROM groupdata WHERE id = ?"
_, err := db.Exec(deletedb, id)
if err != nil {
fmt.Println(err)
return false
}
return true
}
func GetDBAllGroup() []Group {
db := *connectdb()
rows, err := db.Query("SELECT * FROM groupdata")
if err != nil {
fmt.Println(err)
}
defer rows.Close()
var bg []Group
for rows.Next() {
var b Group
err := rows.Scan(&b.ID, &b.Name, &b.Admin, &b.User, &b.MaxVM, &b.MaxCPU, &b.MaxMem, &b.MaxStorage, &b.Net)
if err != nil {
fmt.Println(err)
}
bg = append(bg, b)
}
return bg
}
func GetDBGroup(id int) (Group, bool) {
db := connectdb()
rows := db.QueryRow("SELECT * FROM groupdata WHERE id = ?", id)
var b Group
err := rows.Scan(&b.ID, &b.Name, &b.Admin, &b.User, &b.MaxVM, &b.MaxCPU, &b.MaxMem, &b.MaxStorage, &b.Net)
switch {
case err == sql.ErrNoRows:
fmt.Printf("Not found")
return b, false
case err != nil:
fmt.Println(err)
fmt.Println("Error: DBError")
return b, false
default:
return b, true
}
}
func GetDBGroupID(name string) (int, bool) {
db := connectdb()
var id int
fmt.Println(name)
if err := db.QueryRow("SELECT id FROM groupdata WHERE name = ?", name).Scan(&id); err != nil {
fmt.Println(err)
return -1, false
}
return id, true
}
func ChangeDBGroupName(id int, data string) bool {
db := connectdb()
dbdata := "UPDATE groupdata SET name = ? WHERE id = ?"
_, err := db.Exec(dbdata, data, id)
if err != nil {
fmt.Println("Error: DBUpdate Error (Group Name)")
return false
}
return true
}
func ChangeDBGroupAdmin(id int, data string) bool {
db := connectdb()
dbdata := "UPDATE groupdata SET admin = ? WHERE id = ?"
_, err := db.Exec(dbdata, data, id)
if err != nil {
fmt.Println("Error: DBUpdate Error (Group Admin)")
return false
}
return true
}
func ChangeDBGroupUser(id int, data string) bool {
db := connectdb()
dbdata := "UPDATE groupdata SET user = ? WHERE id = ?"
_, err := db.Exec(dbdata, data, id)
if err != nil {
fmt.Println("Error: DBUpdate Error (Group User)")
return false
}
return true
}