forked from tangled.org/core
this repo has no description
1package db 2 3type Repo struct { 4 Knot string 5 Owner string 6 Name string 7} 8 9func (d *DB) AddRepo(knot, owner, name string) error { 10 _, err := d.Exec(`insert or ignore into repos (knot, owner, name) values (?, ?, ?)`, knot, owner, name) 11 return err 12} 13 14func (d *DB) Knots() ([]string, error) { 15 rows, err := d.Query(`select knot from repos`) 16 if err != nil { 17 return nil, err 18 } 19 20 var knots []string 21 for rows.Next() { 22 var knot string 23 if err := rows.Scan(&knot); err != nil { 24 return nil, err 25 } 26 knots = append(knots, knot) 27 } 28 29 if err = rows.Err(); err != nil { 30 return nil, err 31 } 32 33 return knots, nil 34} 35 36func (d *DB) GetRepo(knot, owner, name string) (*Repo, error) { 37 var repo Repo 38 39 query := "select knot, owner, name from repos where knot = ? and owner = ? and name = ?" 40 err := d.DB.QueryRow(query, knot, owner, name). 41 Scan(&repo.Knot, &repo.Owner, &repo.Name) 42 43 if err != nil { 44 return nil, err 45 } 46 47 return &repo, nil 48}