/
servicekeys.go
86 lines (71 loc) · 1.87 KB
/
servicekeys.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 database
import (
"database/sql"
"errors"
token "github.com/Festivals-App/festivals-identity-server/jwt"
)
func GetAllServiceKeys(db *sql.DB) ([]token.ServiceKey, error) {
query := "SELECT * FROM service_keys;"
vars := []interface{}{}
rows, err := executeRowQuery(db, query, vars)
if err != nil {
return nil, err
}
keys := []token.ServiceKey{}
for rows.Next() {
key, err := serviceKeyScan(rows)
if err != nil {
return nil, err
}
keys = append(keys, key)
}
return keys, nil
}
func AddServiceKey(db *sql.DB, key token.ServiceKey) error {
query := "INSERT INTO service_keys(`service_key`, `service_key_comment`) VALUES (?, ?);"
vars := []interface{}{key.Key, key.Comment}
result, err := executeQuery(db, query, vars)
if err != nil {
return err
}
insertID, err := result.LastInsertId()
if err != nil {
return err
}
if insertID == 0 {
return errors.New("Failed to insert new service key without mysql error.")
}
return nil
}
func UpdateServiceKey(db *sql.DB, key token.ServiceKey) error {
query := "UPDATE service_keys SET `service_key`=?, `service_key_comment`=? WHERE `service_key_id`=?;"
vars := []interface{}{key.Key, key.Comment, key.ID}
result, err := executeQuery(db, query, vars)
if err != nil {
return err
}
numOfAffectedRows, err := result.RowsAffected()
if err != nil {
return err
}
if numOfAffectedRows != 1 {
return errors.New("Failed to update service key without mysql error.")
}
return nil
}
func RemoveServiceKey(db *sql.DB, keyID string) error {
query := "DELETE FROM service_keys WHERE `service_key_id`=?;"
vars := []interface{}{keyID}
result, err := executeQuery(db, query, vars)
if err != nil {
return err
}
numOfAffectedRows, err := result.RowsAffected()
if err != nil {
return err
}
if numOfAffectedRows != 1 {
return errors.New("Failed to delete service key without mysql error.")
}
return nil
}