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, created) values (?, ?, ?, ?)` 7 _, err := d.db.Exec(query, did, name, key, time.Now()) 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 DID string 21 Created time.Time 22} 23 24func (pk *PublicKey) JSON() map[string]interface{} { 25 return map[string]interface{}{ 26 pk.DID: map[string]interface{}{ 27 "key": pk.Key, 28 "name": pk.Name, 29 "created": pk.Created, 30 }, 31 } 32} 33 34func (d *DB) GetAllPublicKeys() ([]PublicKey, error) { 35 var keys []PublicKey 36 37 rows, err := d.db.Query(`select key, name, did, created from public_keys`) 38 if err != nil { 39 return nil, err 40 } 41 defer rows.Close() 42 43 for rows.Next() { 44 var publicKey PublicKey 45 if err := rows.Scan(&publicKey.Key, &publicKey.Name, &publicKey.DID, &publicKey.Created); err != nil { 46 return nil, err 47 } 48 keys = append(keys, publicKey) 49 } 50 51 if err := rows.Err(); err != nil { 52 return nil, err 53 } 54 55 return keys, nil 56} 57 58func (d *DB) GetPublicKeys(did string) ([]PublicKey, error) { 59 var keys []PublicKey 60 61 rows, err := d.db.Query(`select did, key, name, created from public_keys where did = ?`, did) 62 if err != nil { 63 return nil, err 64 } 65 defer rows.Close() 66 67 for rows.Next() { 68 var publicKey PublicKey 69 if err := rows.Scan(&publicKey.DID, &publicKey.Key, &publicKey.Name, &publicKey.Created); err != nil { 70 return nil, err 71 } 72 keys = append(keys, publicKey) 73 } 74 75 if err := rows.Err(); err != nil { 76 return nil, err 77 } 78 79 return keys, nil 80}