forked from
tangled.org/core
fork
Configure Feed
Select the types of activity you want to include in your feed.
Monorepo for Tangled
fork
Configure Feed
Select the types of activity you want to include in your feed.
1package db
2
3import (
4 "tangled.org/core/appview/models"
5 "time"
6)
7
8func AddPublicKey(e Execer, did, name, key, rkey string) error {
9 _, err := e.Exec(
10 `insert or ignore into public_keys (did, name, key, rkey)
11 values (?, ?, ?, ?)`,
12 did, name, key, rkey)
13 return err
14}
15
16func DeletePublicKey(e Execer, did, name, key string) error {
17 _, err := e.Exec(`
18 delete from public_keys
19 where did = ? and name = ? and key = ?`,
20 did, name, key)
21 return err
22}
23
24func DeletePublicKeyByRkey(e Execer, did, rkey string) error {
25 _, err := e.Exec(`
26 delete from public_keys
27 where did = ? and rkey = ?`,
28 did, rkey)
29 return err
30}
31
32func GetAllPublicKeys(e Execer) ([]models.PublicKey, error) {
33 var keys []models.PublicKey
34
35 rows, err := e.Query(`select key, name, did, rkey, created from public_keys`)
36 if err != nil {
37 return nil, err
38 }
39 defer rows.Close()
40
41 for rows.Next() {
42 var publicKey models.PublicKey
43 var createdAt string
44 if err := rows.Scan(&publicKey.Key, &publicKey.Name, &publicKey.Did, &publicKey.Rkey, &createdAt); err != nil {
45 return nil, err
46 }
47 createdAtTime, _ := time.Parse(time.RFC3339, createdAt)
48 publicKey.Created = &createdAtTime
49 keys = append(keys, publicKey)
50 }
51
52 if err := rows.Err(); err != nil {
53 return nil, err
54 }
55
56 return keys, nil
57}
58
59func GetPublicKeysForDid(e Execer, did string) ([]models.PublicKey, error) {
60 var keys []models.PublicKey
61
62 rows, err := e.Query(`select did, key, name, rkey, created from public_keys where did = ?`, did)
63 if err != nil {
64 return nil, err
65 }
66 defer rows.Close()
67
68 for rows.Next() {
69 var publicKey models.PublicKey
70 var createdAt string
71 if err := rows.Scan(&publicKey.Did, &publicKey.Key, &publicKey.Name, &publicKey.Rkey, &createdAt); err != nil {
72 return nil, err
73 }
74 createdAtTime, _ := time.Parse(time.RFC3339, createdAt)
75 publicKey.Created = &createdAtTime
76 keys = append(keys, publicKey)
77 }
78
79 if err := rows.Err(); err != nil {
80 return nil, err
81 }
82
83 return keys, nil
84}