Monorepo for Tangled
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

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