this repo has no description
1package db
2
3import "time"
4
5func (d *DB) AddPublicKey(did, name, key string) error {
6 query := `insert into public_keys (did, name, key) values (?, ?, ?)`
7 _, err := d.db.Exec(query, did, name, key)
8 return err
9}
10
11func (d *DB) RemovePublicKey(did string) error {
12 query := `delete from public_keys where did = ?`
13 _, err := d.db.Exec(query, did)
14 return err
15}
16
17type PublicKey struct {
18 Key string
19 Name string
20 Created time.Time
21}
22
23func (d *DB) GetPublicKeys(did string) ([]PublicKey, error) {
24 var keys []PublicKey
25
26 rows, err := d.db.Query(`select key, name, created from public_keys where did = ?`, did)
27 if err != nil {
28 return nil, err
29 }
30 defer rows.Close()
31
32 for rows.Next() {
33 var publicKey PublicKey
34 if err := rows.Scan(&publicKey.Key, &publicKey.Name, &publicKey.Created); err != nil {
35 return nil, err
36 }
37 keys = append(keys, publicKey)
38 }
39
40 if err := rows.Err(); err != nil {
41 return nil, err
42 }
43
44 return keys, nil
45}