-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathrecombinant-schema.json
128 lines (128 loc) · 2.88 KB
/
recombinant-schema.json
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
{
"$id": "https://github.com/open-data/ckanext-recombinant/blob/recombinant-schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "json-schema for ckanext-recombinant definition files",
"type": "object",
"required": ["dataset_type", "title", "notes"],
"properties": {
"dataset_type": {
"type": "string",
"pattern": "^[\\w-]+$"
},
"title": {
"type": "string"
},
"notes": {
"type": "string"
},
"upload_warn": {
"type": "string"
},
"upload_info": {
"type": "string"
},
"template_version": {
"type": "integer",
"minimum": 2,
"maximum": 3
},
"datastore_text_types": {
"type": "boolean"
},
"resources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"resource_name": {
"type": "string",
"pattern": "^[\\w-]+$"
},
"fields": {
"type": "array",
"items": {
"$ref": "#/definitions/recombinant-field"
}
}
},
"required": [
"title",
"resource_name",
"fields"
]
}
}
},
"definitions": {
"recombinant-text": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"propertyNames": {
"pattern": "^[\\w-]+$"
},
"additionalProperties": {
"type": "string"
}
}
]
},
"recombinant-field": {
"type": "object",
"required": ["datastore_id", "label", "description", "datastore_type"],
"not": {
"allOf": [
{
"required": ["choices"]
},
{
"required": ["choices_file"]
}
]
},
"properties": {
"datastore_id": {
"type": "string",
"pattern": "^[\\w-]+$"
},
"label": {
"$ref": "#/definitions/recombinant-text"
},
"excel_heading": {
"$ref": "#/definitions/recombinant-text"
},
"description": {
"$ref": "#/definitions/recombinant-text"
},
"excel_required": {
"type": "boolean"
},
"datastore_type": {
"type": "string",
"enum": ["text", "int", "year", "month", "date", "bigint", "numeric", "money", "boolean", "_text", "timestamp"]
},
"choices_file": {
"type": "string"
},
"max_chars": {
"type": "integer"
},
"choices": {
"type": "object",
"propertyNames": {
"pattern": "^[\\w-]+$"
},
"additionalProperties": {
"$ref": "#/definitions/recombinant-text"
}
}
}
}
}
}