UNPKG

1.76 kBJSONView Raw
1{
2 "$schema": "http://json-schema.org/draft-07/schema",
3 "$id": "BuilderProgressSchema",
4 "title": "Progress schema for builders.",
5 "type": "object",
6 "allOf": [
7 {
8 "type": "object",
9 "oneOf": [
10 {
11 "type": "object",
12 "properties": {
13 "state": {
14 "type": "string",
15 "enum": ["stopped"]
16 }
17 },
18 "required": ["state"]
19 },
20 {
21 "type": "object",
22 "properties": {
23 "state": {
24 "type": "string",
25 "enum": ["waiting"]
26 },
27 "status": {
28 "type": "string"
29 }
30 },
31 "required": ["state"]
32 },
33 {
34 "type": "object",
35 "properties": {
36 "state": {
37 "type": "string",
38 "enum": ["running"]
39 },
40 "current": {
41 "type": "number",
42 "minimum": 0
43 },
44 "total": {
45 "type": "number",
46 "minimum": 0
47 },
48 "status": {
49 "type": "string"
50 }
51 },
52 "required": ["state"]
53 },
54 {
55 "type": "object",
56 "properties": {
57 "state": {
58 "type": "string",
59 "enum": ["error"]
60 },
61 "error": true
62 },
63 "required": ["state"]
64 }
65 ]
66 },
67 {
68 "type": "object",
69 "properties": {
70 "builder": {
71 "type": "object"
72 },
73 "target": {
74 "type": "object"
75 },
76 "id": {
77 "type": "number"
78 }
79 },
80 "required": ["builder", "id"]
81 }
82 ]
83}