@data-fair/catalog-data-fair 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/index.ts +36 -0
- package/lib/capabilities.ts +18 -0
- package/lib/download.ts +226 -0
- package/lib/imports.ts +58 -0
- package/lib/prepare.ts +23 -0
- package/lib/resources/thumbnail.svg +19 -0
- package/package.json +54 -0
- package/types/catalogConfig/.type/index.d.ts +20 -0
- package/types/catalogConfig/.type/index.js +53 -0
- package/types/catalogConfig/.type/validate.js +102 -0
- package/types/catalogConfig/index.ts +1 -0
- package/types/catalogConfig/schema.json +30 -0
- package/types/datafairSchemas/.type/index.d.ts +231 -0
- package/types/datafairSchemas/.type/index.js +7 -0
- package/types/datafairSchemas/index.ts +1 -0
- package/types/datafairSchemas/schema.json +378 -0
- package/types/importConfig/.type/index.d.ts +107 -0
- package/types/importConfig/.type/index.js +273 -0
- package/types/importConfig/.type/validate.js +806 -0
- package/types/importConfig/index.ts +1 -0
- package/types/importConfig/schema.json +252 -0
- package/types/index.ts +3 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
|
|
2
|
+
export const schemaExports: string[]
|
|
3
|
+
|
|
4
|
+
// see https://github.com/bcherny/json-schema-to-typescript/issues/439 if some types are not exported
|
|
5
|
+
/**
|
|
6
|
+
* La liste des colonnes à importer. Si ce champ est vide, toutes les colonnes seront importées.
|
|
7
|
+
*/
|
|
8
|
+
export type ColonnesDuJeuDeDonnees = {
|
|
9
|
+
key?: string;
|
|
10
|
+
label?: string;
|
|
11
|
+
type?: string;
|
|
12
|
+
[k: string]: unknown;
|
|
13
|
+
}[];
|
|
14
|
+
/**
|
|
15
|
+
* Importe seulement des lignes où la valeur du champ indiqué est égale à l'une des valeurs renseignées.<br>*Toutes les valeurs peuvent ne pas être affichées, écrivez pour rechercher un champ particulier.*
|
|
16
|
+
*/
|
|
17
|
+
export type Valeurs = string[];
|
|
18
|
+
/**
|
|
19
|
+
* Importe seulement des lignes où la valeur du champ indiqué est différente des valeurs renseignées.<br>*Toutes les valeurs peuvent ne pas être affichées, écrivez pour rechercher un champ particulier.*
|
|
20
|
+
*/
|
|
21
|
+
export type ValeursAExclure = string[];
|
|
22
|
+
/**
|
|
23
|
+
* Importe seulement des lignes où la valeur du champ indiqué est supérieur ou égale à la valeur renseignée. La valeur peut être un nombre, une chaîne de caractère (*ordre alphanumérique*), une date.<br>*Toutes les valeurs peuvent ne pas être affichées, écrivez pour rechercher un champ particulier.*
|
|
24
|
+
*/
|
|
25
|
+
export type ValeurMinimale = string;
|
|
26
|
+
/**
|
|
27
|
+
* Importe seulement les lignes où la valeur du champ indiqué est inférieur à la valeur renseignée. La valeur peut être un nombre, une chaîne de caractère (*ordre alphanumérique*), une date.<br>*Toutes les valeurs peuvent ne pas être affichées, écrivez pour rechercher un champ particulier.*
|
|
28
|
+
*/
|
|
29
|
+
export type ValeurMaximale = string;
|
|
30
|
+
/**
|
|
31
|
+
* Importe seulement les lignes où le champ (colonne) indiqué commence par une chaîne de caractères précise. La chaîne de caractères est sensible à la casse.<br>Seuls les champs (colonnes) ayant pour valeurs des chaînes de caractères sont acceptées.<br>*Toutes les valeurs peuvent ne pas être affichées, écrivez pour rechercher un champ particulier.*
|
|
32
|
+
*/
|
|
33
|
+
export type CommenceParLesCaracteres1 = string;
|
|
34
|
+
/**
|
|
35
|
+
* This interface was referenced by `ConfigurationDeLImport`'s JSON-Schema
|
|
36
|
+
* via the `definition` "filters".
|
|
37
|
+
*/
|
|
38
|
+
export type FiltresPredefinis = (
|
|
39
|
+
| RestreindreADesValeursPrecises
|
|
40
|
+
| ExclureDesValeurs
|
|
41
|
+
| SuperieurAUneValeur
|
|
42
|
+
| InferieurAUneValeur
|
|
43
|
+
| CommenceParLesCaracteres
|
|
44
|
+
)[];
|
|
45
|
+
|
|
46
|
+
export type ConfigurationDeLImport = {
|
|
47
|
+
fields?: ColonnesDuJeuDeDonnees;
|
|
48
|
+
filters?: FiltresPredefinis;
|
|
49
|
+
}
|
|
50
|
+
export type RestreindreADesValeursPrecises = {
|
|
51
|
+
type: "in";
|
|
52
|
+
field: ColonneDeFiltre;
|
|
53
|
+
values: Valeurs;
|
|
54
|
+
[k: string]: unknown;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* This interface was referenced by `ConfigurationDeLImport`'s JSON-Schema
|
|
58
|
+
* via the `definition` "filterField".
|
|
59
|
+
*/
|
|
60
|
+
export type ColonneDeFiltre = {
|
|
61
|
+
key?: string;
|
|
62
|
+
label?: string;
|
|
63
|
+
type?: string;
|
|
64
|
+
[k: string]: unknown;
|
|
65
|
+
}
|
|
66
|
+
export type ExclureDesValeurs = {
|
|
67
|
+
type: "nin";
|
|
68
|
+
field: ColonneDeFiltre;
|
|
69
|
+
values: ValeursAExclure;
|
|
70
|
+
[k: string]: unknown;
|
|
71
|
+
}
|
|
72
|
+
export type SuperieurAUneValeur = {
|
|
73
|
+
type: "gte";
|
|
74
|
+
field: ColonneDeFiltre;
|
|
75
|
+
value: ValeurMinimale;
|
|
76
|
+
[k: string]: unknown;
|
|
77
|
+
}
|
|
78
|
+
export type InferieurAUneValeur = {
|
|
79
|
+
type: "lte";
|
|
80
|
+
field: ColonneDeFiltre;
|
|
81
|
+
value: ValeurMaximale;
|
|
82
|
+
[k: string]: unknown;
|
|
83
|
+
}
|
|
84
|
+
export type CommenceParLesCaracteres = {
|
|
85
|
+
type: "starts";
|
|
86
|
+
field: ColonneDeFiltre1;
|
|
87
|
+
value: CommenceParLesCaracteres1;
|
|
88
|
+
[k: string]: unknown;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* This interface was referenced by `ConfigurationDeLImport`'s JSON-Schema
|
|
92
|
+
* via the `definition` "filterFieldString".
|
|
93
|
+
*/
|
|
94
|
+
export type ColonneDeFiltre1 = {
|
|
95
|
+
key?: string;
|
|
96
|
+
label?: string;
|
|
97
|
+
type?: string;
|
|
98
|
+
[k: string]: unknown;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
export declare function validate(data: any): data is ConfigurationDeLImport
|
|
103
|
+
export declare function assertValid(data: any, options?: import('@data-fair/lib-validation').AssertValidOptions): asserts data is ConfigurationDeLImport
|
|
104
|
+
export declare function returnValid(data: any, options?: import('@data-fair/lib-validation').AssertValidOptions): ConfigurationDeLImport
|
|
105
|
+
|
|
106
|
+
export declare const schema: any
|
|
107
|
+
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import validate from './validate.js'
|
|
5
|
+
import { assertValid as assertValidGeneric } from '@data-fair/lib-validation'
|
|
6
|
+
|
|
7
|
+
export const schemaExports = [
|
|
8
|
+
"types",
|
|
9
|
+
"validate",
|
|
10
|
+
"schema"
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
export { validate } from './validate.js'
|
|
14
|
+
export function assertValid(data, options) {
|
|
15
|
+
assertValidGeneric(validate, data, options)
|
|
16
|
+
}
|
|
17
|
+
export function returnValid(data, options) {
|
|
18
|
+
assertValid(data, options)
|
|
19
|
+
return data
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const schema = {
|
|
23
|
+
"$id": "https://github.com/data-fair/catalog-data-fair/import-config",
|
|
24
|
+
"x-exports": [
|
|
25
|
+
"types",
|
|
26
|
+
"validate",
|
|
27
|
+
"schema"
|
|
28
|
+
],
|
|
29
|
+
"title": "Configuration de l'import",
|
|
30
|
+
"type": "object",
|
|
31
|
+
"additionalProperties": false,
|
|
32
|
+
"properties": {
|
|
33
|
+
"fields": {
|
|
34
|
+
"type": "array",
|
|
35
|
+
"default": [],
|
|
36
|
+
"title": "Colonnes du jeu de données",
|
|
37
|
+
"description": "La liste des colonnes à importer. Si ce champ est vide, toutes les colonnes seront importées.",
|
|
38
|
+
"items": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"properties": {
|
|
41
|
+
"key": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
},
|
|
44
|
+
"label": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
},
|
|
47
|
+
"type": {
|
|
48
|
+
"type": "string"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"layout": {
|
|
53
|
+
"getItems": {
|
|
54
|
+
"url": "${context.catalogConfig.url}/data-fair/api/v1/datasets/${context.resourceId}/schema?calculated=false",
|
|
55
|
+
"itemTitle": "item.label",
|
|
56
|
+
"itemKey": "item.key"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"filters": {
|
|
61
|
+
"$ref": "#/$defs/filters"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"$defs": {
|
|
65
|
+
"filters": {
|
|
66
|
+
"title": "Filtres prédéfinis",
|
|
67
|
+
"type": "array",
|
|
68
|
+
"default": [],
|
|
69
|
+
"items": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"default": {
|
|
72
|
+
"type": "in"
|
|
73
|
+
},
|
|
74
|
+
"required": [
|
|
75
|
+
"type"
|
|
76
|
+
],
|
|
77
|
+
"oneOf": [
|
|
78
|
+
{
|
|
79
|
+
"title": "Restreindre à des valeurs précises",
|
|
80
|
+
"required": [
|
|
81
|
+
"field",
|
|
82
|
+
"values",
|
|
83
|
+
"type"
|
|
84
|
+
],
|
|
85
|
+
"properties": {
|
|
86
|
+
"type": {
|
|
87
|
+
"const": "in"
|
|
88
|
+
},
|
|
89
|
+
"field": {
|
|
90
|
+
"$ref": "#/$defs/filterField"
|
|
91
|
+
},
|
|
92
|
+
"values": {
|
|
93
|
+
"type": "array",
|
|
94
|
+
"title": "Valeurs",
|
|
95
|
+
"description": "Importe seulement des lignes où la valeur du champ indiqué est égale à l'une des valeurs renseignées.<br>*Toutes les valeurs peuvent ne pas être affichées, écrivez pour rechercher un champ particulier.*",
|
|
96
|
+
"items": {
|
|
97
|
+
"type": "string"
|
|
98
|
+
},
|
|
99
|
+
"layout": {
|
|
100
|
+
"getItems": {
|
|
101
|
+
"url": "${context.catalogConfig.url}/data-fair/api/v1/datasets/${context.resourceId}/values/${parent.data.field.key}?q={q}&q_mode=complete&size=100&stringify=true"
|
|
102
|
+
},
|
|
103
|
+
"props": {
|
|
104
|
+
"clearable": true
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"default": []
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"title": "Exclure des valeurs",
|
|
113
|
+
"required": [
|
|
114
|
+
"field",
|
|
115
|
+
"values",
|
|
116
|
+
"type"
|
|
117
|
+
],
|
|
118
|
+
"properties": {
|
|
119
|
+
"type": {
|
|
120
|
+
"const": "nin"
|
|
121
|
+
},
|
|
122
|
+
"field": {
|
|
123
|
+
"$ref": "#/$defs/filterField"
|
|
124
|
+
},
|
|
125
|
+
"values": {
|
|
126
|
+
"type": "array",
|
|
127
|
+
"title": "Valeurs à exclure",
|
|
128
|
+
"description": "Importe seulement des lignes où la valeur du champ indiqué est différente des valeurs renseignées.<br>*Toutes les valeurs peuvent ne pas être affichées, écrivez pour rechercher un champ particulier.*",
|
|
129
|
+
"items": {
|
|
130
|
+
"type": "string"
|
|
131
|
+
},
|
|
132
|
+
"layout": {
|
|
133
|
+
"getItems": {
|
|
134
|
+
"url": "${context.catalogConfig.url}/data-fair/api/v1/datasets/${context.resourceId}/values/${parent.data.field.key}?q={q}&q_mode=complete&size=100&stringify=true"
|
|
135
|
+
},
|
|
136
|
+
"props": {
|
|
137
|
+
"clearable": true
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"default": []
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"title": "Supérieur à une valeur",
|
|
146
|
+
"required": [
|
|
147
|
+
"field",
|
|
148
|
+
"value",
|
|
149
|
+
"type"
|
|
150
|
+
],
|
|
151
|
+
"properties": {
|
|
152
|
+
"type": {
|
|
153
|
+
"const": "gte"
|
|
154
|
+
},
|
|
155
|
+
"field": {
|
|
156
|
+
"$ref": "#/$defs/filterField"
|
|
157
|
+
},
|
|
158
|
+
"value": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"title": "Valeur minimale",
|
|
161
|
+
"description": "Importe seulement des lignes où la valeur du champ indiqué est supérieur ou égale à la valeur renseignée. La valeur peut être un nombre, une chaîne de caractère (*ordre alphanumérique*), une date.<br>*Toutes les valeurs peuvent ne pas être affichées, écrivez pour rechercher un champ particulier.*",
|
|
162
|
+
"layout": {
|
|
163
|
+
"comp": "combobox",
|
|
164
|
+
"getItems": {
|
|
165
|
+
"url": "${context.catalogConfig.url}/data-fair/api/v1/datasets/${context.resourceId}/values/${parent.data.field.key}?q={q}&q_mode=complete&size=100&stringify=true&sort=asc"
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"title": "Inférieur à une valeur",
|
|
173
|
+
"required": [
|
|
174
|
+
"field",
|
|
175
|
+
"value",
|
|
176
|
+
"type"
|
|
177
|
+
],
|
|
178
|
+
"properties": {
|
|
179
|
+
"type": {
|
|
180
|
+
"const": "lte"
|
|
181
|
+
},
|
|
182
|
+
"field": {
|
|
183
|
+
"$ref": "#/$defs/filterField"
|
|
184
|
+
},
|
|
185
|
+
"value": {
|
|
186
|
+
"type": "string",
|
|
187
|
+
"title": "Valeur maximale",
|
|
188
|
+
"description": "Importe seulement les lignes où la valeur du champ indiqué est inférieur à la valeur renseignée. La valeur peut être un nombre, une chaîne de caractère (*ordre alphanumérique*), une date.<br>*Toutes les valeurs peuvent ne pas être affichées, écrivez pour rechercher un champ particulier.*",
|
|
189
|
+
"layout": {
|
|
190
|
+
"comp": "combobox",
|
|
191
|
+
"getItems": {
|
|
192
|
+
"url": "${context.catalogConfig.url}/data-fair/api/v1/datasets/${context.resourceId}/values/${parent.data.field.key}?q={q}&q_mode=complete&size=100&stringify=true&sort=asc"
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"title": "Commence par les caractères",
|
|
200
|
+
"required": [
|
|
201
|
+
"field",
|
|
202
|
+
"value",
|
|
203
|
+
"type"
|
|
204
|
+
],
|
|
205
|
+
"properties": {
|
|
206
|
+
"type": {
|
|
207
|
+
"const": "starts"
|
|
208
|
+
},
|
|
209
|
+
"field": {
|
|
210
|
+
"$ref": "#/$defs/filterFieldString"
|
|
211
|
+
},
|
|
212
|
+
"value": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"description": "Importe seulement les lignes où le champ (colonne) indiqué commence par une chaîne de caractères précise. La chaîne de caractères est sensible à la casse.<br>Seuls les champs (colonnes) ayant pour valeurs des chaînes de caractères sont acceptées.<br>*Toutes les valeurs peuvent ne pas être affichées, écrivez pour rechercher un champ particulier.*",
|
|
215
|
+
"title": "Commence par les caractères",
|
|
216
|
+
"layout": {
|
|
217
|
+
"comp": "combobox",
|
|
218
|
+
"getItems": {
|
|
219
|
+
"url": "${context.catalogConfig.url}/data-fair/api/v1/datasets/${context.resourceId}/values/${parent.data.field.key}?q={q}&q_mode=complete&size=100&stringify=true"
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
]
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
"filterField": {
|
|
229
|
+
"type": "object",
|
|
230
|
+
"title": "Colonne de filtre",
|
|
231
|
+
"properties": {
|
|
232
|
+
"key": {
|
|
233
|
+
"type": "string"
|
|
234
|
+
},
|
|
235
|
+
"label": {
|
|
236
|
+
"type": "string"
|
|
237
|
+
},
|
|
238
|
+
"type": {
|
|
239
|
+
"type": "string"
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
"layout": {
|
|
243
|
+
"getItems": {
|
|
244
|
+
"url": "${context.catalogConfig.url}/data-fair/api/v1/datasets/${context.resourceId}/schema?calculated=false",
|
|
245
|
+
"itemTitle": "item.label",
|
|
246
|
+
"itemKey": "item.key"
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
"filterFieldString": {
|
|
251
|
+
"type": "object",
|
|
252
|
+
"title": "Colonne de filtre",
|
|
253
|
+
"properties": {
|
|
254
|
+
"key": {
|
|
255
|
+
"type": "string"
|
|
256
|
+
},
|
|
257
|
+
"label": {
|
|
258
|
+
"type": "string"
|
|
259
|
+
},
|
|
260
|
+
"type": {
|
|
261
|
+
"type": "string"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"layout": {
|
|
265
|
+
"getItems": {
|
|
266
|
+
"url": "${context.catalogConfig.url}/data-fair/api/v1/datasets/${context.resourceId}/schema?calculated=false&type=string",
|
|
267
|
+
"itemTitle": "item.label",
|
|
268
|
+
"itemKey": "item.key"
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|