this repo has no description
1package db
2
3type Repo struct {
4 Did string
5 Name string
6 Knot string
7 Created *int64
8}
9
10func (d *DB) GetAllReposByDid(did string) ([]Repo, error) {
11 var repos []Repo
12
13 rows, err := d.db.Query(`select did, name, knot, created from repos where did = ?`, did)
14 if err != nil {
15 return nil, err
16 }
17 defer rows.Close()
18
19 for rows.Next() {
20 var repo Repo
21 var createdAt *int64
22 if err := rows.Scan(&repo.Did, &repo.Name, &repo.Knot, &createdAt); err != nil {
23 return nil, err
24 }
25 repo.Created = createdAt
26 repos = append(repos, repo)
27 }
28
29 if err := rows.Err(); err != nil {
30 return nil, err
31 }
32
33 return repos, nil
34}
35
36func (d *DB) GetRepo(did, name string) (*Repo, error) {
37 var repo Repo
38
39 row := d.db.QueryRow(`select did, name, knot, created from repos where did = ? and name = ?`, did, name)
40 var createdAt *int64
41 if err := row.Scan(&repo.Did, &repo.Name, &repo.Knot, &createdAt); err != nil {
42 return nil, err
43 }
44 repo.Created = createdAt
45
46 return &repo, nil
47}
48
49func (d *DB) AddRepo(repo *Repo) error {
50 _, err := d.db.Exec(`insert into repos (did, name, knot) values (?, ?, ?)`, repo.Did, repo.Name, repo.Knot)
51 return err
52}
53
54func (d *DB) RemoveRepo(did, name, knot string) error {
55 _, err := d.db.Exec(`delete from repos where did = ? and name = ? and knot = ?`, did, name, knot)
56 return err
57}