-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdataboard.yaml
72 lines (69 loc) · 1.44 KB
/
databoard.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
db:
driver: postgres
# Connection details could be specified either using
# db.connection parameter or DB_CONN environment variable.
queries:
suppliers:
query: |
SELECT "id", "name"
FROM "Supplier"
{{if .Req.Vars.id}}WHERE "id" = $1{{end}}
parameters:
- name: id
type: int
optional: true
mutations:
addSupplier:
query: |
INSERT INTO "Supplier" ("name")
VALUES ($1)
parameters:
- name: name
type: string
removeSupplier:
query: |
DELETE FROM "Supplier"
WHERE "id" = $1
parameters:
- name: id
type: int
routes:
- path: /suppliers
methods:
GET:
type: query
query:
name: suppliers
POST:
type: mutation
mutation:
name: addSupplier
parameters:
name:
value: "{{.Req.Body.name}}"
validation:
string:
minLength: 1
- path: /suppliers/{id}
methods:
GET:
type: query
query:
name: suppliers
first: true
parameters:
id:
value: "{{.Req.Vars.id}}"
validation:
number:
min: 1
DELETE:
type: mutation
mutation:
name: removeSupplier
parameters:
id:
value: "{{.Req.Vars.id}}"
validation:
number:
min: 1