+20
spindle/db/repos.go
+20
spindle/db/repos.go
···
1
1
package db
2
2
3
+
type Repo struct {
4
+
Knot string
5
+
Owner string
6
+
Name string
7
+
}
8
+
3
9
func (d *DB) AddRepo(knot, owner, name string) error {
4
10
_, err := d.Exec(`insert or ignore into repos (knot, owner, name) values (?, ?, ?)`, knot, owner, name)
5
11
return err
···
26
32
27
33
return knots, nil
28
34
}
35
+
36
+
func (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
+
}
+18
spindle/server.go
+18
spindle/server.go
···
159
159
return err
160
160
}
161
161
162
+
if pipeline.TriggerMetadata == nil {
163
+
return fmt.Errorf("no trigger metadata found")
164
+
}
165
+
166
+
if pipeline.TriggerMetadata.Repo == nil {
167
+
return fmt.Errorf("no repo data found")
168
+
}
169
+
170
+
// filter by repos
171
+
_, err = s.db.GetRepo(
172
+
pipeline.TriggerMetadata.Repo.Knot,
173
+
pipeline.TriggerMetadata.Repo.Did,
174
+
pipeline.TriggerMetadata.Repo.Repo,
175
+
)
176
+
if err != nil {
177
+
return err
178
+
}
179
+
162
180
pipelineId := models.PipelineId{
163
181
Knot: src.Knot,
164
182
Rkey: msg.Rkey,