@objectstack/spec 0.1.1 → 0.1.2
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 +73 -1
- package/dist/api/contract.zod.d.ts +1733 -0
- package/dist/api/contract.zod.d.ts.map +1 -0
- package/dist/api/contract.zod.js +138 -0
- package/dist/data/dataset.zod.d.ts +2 -2
- package/dist/data/field.zod.d.ts +1648 -10
- package/dist/data/field.zod.d.ts.map +1 -1
- package/dist/data/field.zod.js +149 -8
- package/dist/data/mapping.zod.d.ts +215 -2
- package/dist/data/mapping.zod.d.ts.map +1 -1
- package/dist/data/object.zod.d.ts +505 -25
- package/dist/data/object.zod.d.ts.map +1 -1
- package/dist/data/object.zod.js +32 -5
- package/dist/data/query.zod.d.ts +349 -0
- package/dist/data/query.zod.d.ts.map +1 -1
- package/dist/data/query.zod.js +77 -1
- package/dist/data/trigger.zod.d.ts +354 -0
- package/dist/data/trigger.zod.d.ts.map +1 -0
- package/dist/data/trigger.zod.js +195 -0
- package/dist/data/validation.zod.d.ts +83 -43
- package/dist/data/validation.zod.d.ts.map +1 -1
- package/dist/data/validation.zod.js +51 -5
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/system/api.zod.d.ts +130 -4
- package/dist/system/api.zod.d.ts.map +1 -1
- package/dist/system/api.zod.js +4 -1
- package/dist/system/datasource.zod.d.ts +89 -6
- package/dist/system/datasource.zod.d.ts.map +1 -1
- package/dist/system/datasource.zod.js +33 -5
- package/dist/system/discovery.zod.d.ts +174 -0
- package/dist/system/discovery.zod.d.ts.map +1 -0
- package/dist/system/discovery.zod.js +53 -0
- package/dist/system/driver.zod.d.ts +1525 -0
- package/dist/system/driver.zod.d.ts.map +1 -0
- package/dist/system/driver.zod.js +290 -0
- package/dist/system/license.zod.d.ts +2 -2
- package/dist/system/manifest.zod.d.ts +323 -52
- package/dist/system/manifest.zod.d.ts.map +1 -1
- package/dist/system/manifest.zod.js +91 -17
- package/dist/system/plugin.zod.d.ts +3516 -0
- package/dist/system/plugin.zod.d.ts.map +1 -0
- package/dist/system/plugin.zod.js +226 -0
- package/dist/system/territory.zod.d.ts +1 -1
- package/dist/system/webhook.zod.d.ts +3 -3
- package/dist/ui/action.zod.d.ts +19 -12
- package/dist/ui/action.zod.d.ts.map +1 -1
- package/dist/ui/action.zod.js +7 -1
- package/dist/ui/app.zod.d.ts +109 -3
- package/dist/ui/app.zod.d.ts.map +1 -1
- package/dist/ui/app.zod.js +13 -2
- package/dist/ui/dashboard.zod.d.ts +9 -3
- package/dist/ui/dashboard.zod.d.ts.map +1 -1
- package/dist/ui/dashboard.zod.js +7 -1
- package/dist/ui/page.zod.d.ts +6 -6
- package/dist/ui/report.zod.d.ts +9 -0
- package/dist/ui/report.zod.d.ts.map +1 -1
- package/dist/ui/report.zod.js +7 -1
- package/dist/ui/theme.zod.d.ts +1221 -0
- package/dist/ui/theme.zod.d.ts.map +1 -0
- package/dist/ui/theme.zod.js +202 -0
- package/dist/ui/widget.zod.d.ts +350 -0
- package/dist/ui/widget.zod.d.ts.map +1 -0
- package/dist/ui/widget.zod.js +66 -0
- package/json-schema/Action.json +8 -2
- package/json-schema/ActionParam.json +8 -2
- package/json-schema/Address.json +40 -0
- package/json-schema/AggregationFunction.json +19 -0
- package/json-schema/AggregationNode.json +42 -0
- package/json-schema/Animation.json +56 -0
- package/json-schema/ApiCapabilities.json +28 -0
- package/json-schema/ApiError.json +27 -0
- package/json-schema/ApiRoutes.json +41 -0
- package/json-schema/App.json +13 -2
- package/json-schema/AsyncValidation.json +70 -0
- package/json-schema/BaseResponse.json +63 -0
- package/json-schema/BorderRadius.json +44 -0
- package/json-schema/Breakpoints.json +36 -0
- package/json-schema/BulkRequest.json +29 -0
- package/json-schema/BulkResponse.json +108 -0
- package/json-schema/ColorPalette.json +83 -0
- package/json-schema/ConditionalValidation.json +793 -0
- package/json-schema/CreateRequest.json +20 -0
- package/json-schema/CrossFieldValidation.json +56 -0
- package/json-schema/CustomValidator.json +57 -0
- package/json-schema/Datasource.json +0 -18
- package/json-schema/DeleteResponse.json +68 -0
- package/json-schema/Discovery.json +114 -0
- package/json-schema/DriverCapabilities.json +39 -0
- package/json-schema/DriverDefinition.json +66 -0
- package/json-schema/DriverInterface.json +58 -0
- package/json-schema/DriverOptions.json +23 -0
- package/json-schema/DriverType.json +1 -18
- package/json-schema/ExportRequest.json +786 -0
- package/json-schema/Field.json +75 -4
- package/json-schema/FieldType.json +8 -2
- package/json-schema/FieldWidgetProps.json +327 -0
- package/json-schema/I18nContext.json +12 -0
- package/json-schema/JoinNode.json +455 -0
- package/json-schema/JoinType.json +15 -0
- package/json-schema/ListRecordResponse.json +103 -0
- package/json-schema/LocationCoordinates.json +36 -0
- package/json-schema/Logger.json +25 -0
- package/json-schema/Manifest.json +243 -18
- package/json-schema/Mapping.json +328 -0
- package/json-schema/ModificationResult.json +46 -0
- package/json-schema/Object.json +103 -6
- package/json-schema/ObjectCapabilities.json +26 -0
- package/json-schema/ObjectQLClient.json +12 -0
- package/json-schema/Plugin.json +20 -0
- package/json-schema/PluginContext.json +91 -0
- package/json-schema/PluginLifecycle.json +11 -0
- package/json-schema/Query.json +328 -0
- package/json-schema/RecordData.json +11 -0
- package/json-schema/Router.json +12 -0
- package/json-schema/Scheduler.json +12 -0
- package/json-schema/ScopedStorage.json +12 -0
- package/json-schema/Shadow.json +44 -0
- package/json-schema/SingleRecordResponse.json +69 -0
- package/json-schema/Spacing.json +64 -0
- package/json-schema/SystemAPI.json +12 -0
- package/json-schema/Theme.json +543 -0
- package/json-schema/ThemeMode.json +14 -0
- package/json-schema/Trigger.json +73 -0
- package/json-schema/TriggerAction.json +14 -0
- package/json-schema/TriggerContext.json +61 -0
- package/json-schema/TriggerTiming.json +13 -0
- package/json-schema/Typography.json +142 -0
- package/json-schema/UpdateRequest.json +20 -0
- package/json-schema/ValidationRule.json +583 -0
- package/json-schema/WindowFunction.json +24 -0
- package/json-schema/WindowFunctionNode.json +104 -0
- package/json-schema/WindowSpec.json +65 -0
- package/json-schema/ZIndex.json +44 -0
- package/package.json +8 -3
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"password",
|
|
22
22
|
"markdown",
|
|
23
23
|
"html",
|
|
24
|
+
"richtext",
|
|
24
25
|
"number",
|
|
25
26
|
"currency",
|
|
26
27
|
"percent",
|
|
@@ -29,7 +30,6 @@
|
|
|
29
30
|
"time",
|
|
30
31
|
"boolean",
|
|
31
32
|
"select",
|
|
32
|
-
"multiselect",
|
|
33
33
|
"lookup",
|
|
34
34
|
"master_detail",
|
|
35
35
|
"image",
|
|
@@ -37,7 +37,13 @@
|
|
|
37
37
|
"avatar",
|
|
38
38
|
"formula",
|
|
39
39
|
"summary",
|
|
40
|
-
"autonumber"
|
|
40
|
+
"autonumber",
|
|
41
|
+
"location",
|
|
42
|
+
"address",
|
|
43
|
+
"code",
|
|
44
|
+
"color",
|
|
45
|
+
"rating",
|
|
46
|
+
"signature"
|
|
41
47
|
]
|
|
42
48
|
},
|
|
43
49
|
"required": {
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/Address",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"Address": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"street": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Street address"
|
|
10
|
+
},
|
|
11
|
+
"city": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "City name"
|
|
14
|
+
},
|
|
15
|
+
"state": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "State/Province"
|
|
18
|
+
},
|
|
19
|
+
"postalCode": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Postal/ZIP code"
|
|
22
|
+
},
|
|
23
|
+
"country": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Country name or code"
|
|
26
|
+
},
|
|
27
|
+
"countryCode": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "ISO country code (e.g., US, GB)"
|
|
30
|
+
},
|
|
31
|
+
"formatted": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "Formatted address string"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"additionalProperties": false
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
40
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/AggregationFunction",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"AggregationFunction": {
|
|
5
|
+
"type": "string",
|
|
6
|
+
"enum": [
|
|
7
|
+
"count",
|
|
8
|
+
"sum",
|
|
9
|
+
"avg",
|
|
10
|
+
"min",
|
|
11
|
+
"max",
|
|
12
|
+
"count_distinct",
|
|
13
|
+
"array_agg",
|
|
14
|
+
"string_agg"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
19
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/AggregationNode",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"AggregationNode": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"function": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"enum": [
|
|
10
|
+
"count",
|
|
11
|
+
"sum",
|
|
12
|
+
"avg",
|
|
13
|
+
"min",
|
|
14
|
+
"max",
|
|
15
|
+
"count_distinct",
|
|
16
|
+
"array_agg",
|
|
17
|
+
"string_agg"
|
|
18
|
+
],
|
|
19
|
+
"description": "Aggregation function"
|
|
20
|
+
},
|
|
21
|
+
"field": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "Field to aggregate (optional for COUNT(*))"
|
|
24
|
+
},
|
|
25
|
+
"alias": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "Result column alias"
|
|
28
|
+
},
|
|
29
|
+
"distinct": {
|
|
30
|
+
"type": "boolean",
|
|
31
|
+
"description": "Apply DISTINCT before aggregation"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"required": [
|
|
35
|
+
"function",
|
|
36
|
+
"alias"
|
|
37
|
+
],
|
|
38
|
+
"additionalProperties": false
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
42
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/Animation",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"Animation": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"duration": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"fast": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "Fast animation (e.g., 150ms)"
|
|
13
|
+
},
|
|
14
|
+
"base": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Base animation (e.g., 300ms)"
|
|
17
|
+
},
|
|
18
|
+
"slow": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Slow animation (e.g., 500ms)"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"additionalProperties": false
|
|
24
|
+
},
|
|
25
|
+
"timing": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"properties": {
|
|
28
|
+
"linear": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Linear timing function"
|
|
31
|
+
},
|
|
32
|
+
"ease": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Ease timing function"
|
|
35
|
+
},
|
|
36
|
+
"easeIn": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "Ease-in timing function"
|
|
39
|
+
},
|
|
40
|
+
"easeOut": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "Ease-out timing function"
|
|
43
|
+
},
|
|
44
|
+
"easeInOut": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "Ease-in-out timing function"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"additionalProperties": false
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"additionalProperties": false
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
56
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/ApiCapabilities",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"ApiCapabilities": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"graphql": {
|
|
8
|
+
"type": "boolean",
|
|
9
|
+
"default": false
|
|
10
|
+
},
|
|
11
|
+
"search": {
|
|
12
|
+
"type": "boolean",
|
|
13
|
+
"default": false
|
|
14
|
+
},
|
|
15
|
+
"websockets": {
|
|
16
|
+
"type": "boolean",
|
|
17
|
+
"default": false
|
|
18
|
+
},
|
|
19
|
+
"files": {
|
|
20
|
+
"type": "boolean",
|
|
21
|
+
"default": true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"additionalProperties": false
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
28
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/ApiError",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"ApiError": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"code": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Error code (e.g. validation_error)"
|
|
10
|
+
},
|
|
11
|
+
"message": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Readable error message"
|
|
14
|
+
},
|
|
15
|
+
"details": {
|
|
16
|
+
"description": "Additional error context (e.g. field validation errors)"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": [
|
|
20
|
+
"code",
|
|
21
|
+
"message"
|
|
22
|
+
],
|
|
23
|
+
"additionalProperties": false
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
27
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/ApiRoutes",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"ApiRoutes": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"data": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "e.g. /api/v1/data"
|
|
10
|
+
},
|
|
11
|
+
"metadata": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "e.g. /api/v1/meta"
|
|
14
|
+
},
|
|
15
|
+
"auth": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "e.g. /api/v1/auth"
|
|
18
|
+
},
|
|
19
|
+
"actions": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "e.g. /api/v1/p"
|
|
22
|
+
},
|
|
23
|
+
"storage": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "e.g. /api/v1/storage"
|
|
26
|
+
},
|
|
27
|
+
"graphql": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "e.g. /api/v1/graphql"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"required": [
|
|
33
|
+
"data",
|
|
34
|
+
"metadata",
|
|
35
|
+
"auth"
|
|
36
|
+
],
|
|
37
|
+
"additionalProperties": false
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
41
|
+
}
|
package/json-schema/App.json
CHANGED
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
"type": "string",
|
|
14
14
|
"description": "App display label"
|
|
15
15
|
},
|
|
16
|
+
"version": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "App version"
|
|
19
|
+
},
|
|
16
20
|
"description": {
|
|
17
21
|
"type": "string",
|
|
18
22
|
"description": "App description"
|
|
@@ -272,12 +276,19 @@
|
|
|
272
276
|
"type": "string"
|
|
273
277
|
},
|
|
274
278
|
"description": "Permissions required to access this app"
|
|
279
|
+
},
|
|
280
|
+
"objects": {
|
|
281
|
+
"type": "array",
|
|
282
|
+
"description": "Objects belonging to this app"
|
|
283
|
+
},
|
|
284
|
+
"apis": {
|
|
285
|
+
"type": "array",
|
|
286
|
+
"description": "Custom APIs belonging to this app"
|
|
275
287
|
}
|
|
276
288
|
},
|
|
277
289
|
"required": [
|
|
278
290
|
"name",
|
|
279
|
-
"label"
|
|
280
|
-
"navigation"
|
|
291
|
+
"label"
|
|
281
292
|
],
|
|
282
293
|
"additionalProperties": false
|
|
283
294
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/AsyncValidation",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"AsyncValidation": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"name": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"pattern": "^[a-z_][a-z0-9_]*$",
|
|
10
|
+
"description": "Unique rule name"
|
|
11
|
+
},
|
|
12
|
+
"active": {
|
|
13
|
+
"type": "boolean",
|
|
14
|
+
"default": true
|
|
15
|
+
},
|
|
16
|
+
"severity": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"enum": [
|
|
19
|
+
"error",
|
|
20
|
+
"warning",
|
|
21
|
+
"info"
|
|
22
|
+
],
|
|
23
|
+
"default": "error"
|
|
24
|
+
},
|
|
25
|
+
"message": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "Error message to display"
|
|
28
|
+
},
|
|
29
|
+
"type": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"const": "async"
|
|
32
|
+
},
|
|
33
|
+
"field": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Field to validate"
|
|
36
|
+
},
|
|
37
|
+
"validatorUrl": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "External API endpoint for validation"
|
|
40
|
+
},
|
|
41
|
+
"validatorFunction": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "Reference to custom validator function"
|
|
44
|
+
},
|
|
45
|
+
"timeout": {
|
|
46
|
+
"type": "number",
|
|
47
|
+
"default": 5000,
|
|
48
|
+
"description": "Timeout in milliseconds"
|
|
49
|
+
},
|
|
50
|
+
"debounce": {
|
|
51
|
+
"type": "number",
|
|
52
|
+
"description": "Debounce delay in milliseconds"
|
|
53
|
+
},
|
|
54
|
+
"params": {
|
|
55
|
+
"type": "object",
|
|
56
|
+
"additionalProperties": {},
|
|
57
|
+
"description": "Additional parameters to pass to validator"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": [
|
|
61
|
+
"name",
|
|
62
|
+
"message",
|
|
63
|
+
"type",
|
|
64
|
+
"field"
|
|
65
|
+
],
|
|
66
|
+
"additionalProperties": false
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
70
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/BaseResponse",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"BaseResponse": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"success": {
|
|
8
|
+
"type": "boolean",
|
|
9
|
+
"description": "Operation success status"
|
|
10
|
+
},
|
|
11
|
+
"error": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"code": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Error code (e.g. validation_error)"
|
|
17
|
+
},
|
|
18
|
+
"message": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Readable error message"
|
|
21
|
+
},
|
|
22
|
+
"details": {
|
|
23
|
+
"description": "Additional error context (e.g. field validation errors)"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": [
|
|
27
|
+
"code",
|
|
28
|
+
"message"
|
|
29
|
+
],
|
|
30
|
+
"additionalProperties": false,
|
|
31
|
+
"description": "Error details if success is false"
|
|
32
|
+
},
|
|
33
|
+
"meta": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"properties": {
|
|
36
|
+
"timestamp": {
|
|
37
|
+
"type": "string"
|
|
38
|
+
},
|
|
39
|
+
"duration": {
|
|
40
|
+
"type": "number"
|
|
41
|
+
},
|
|
42
|
+
"requestId": {
|
|
43
|
+
"type": "string"
|
|
44
|
+
},
|
|
45
|
+
"traceId": {
|
|
46
|
+
"type": "string"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"required": [
|
|
50
|
+
"timestamp"
|
|
51
|
+
],
|
|
52
|
+
"additionalProperties": false,
|
|
53
|
+
"description": "Response metadata"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"required": [
|
|
57
|
+
"success"
|
|
58
|
+
],
|
|
59
|
+
"additionalProperties": false
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
63
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/BorderRadius",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"BorderRadius": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"none": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "No border radius (0)"
|
|
10
|
+
},
|
|
11
|
+
"sm": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Small border radius (e.g., 0.125rem)"
|
|
14
|
+
},
|
|
15
|
+
"base": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Base border radius (e.g., 0.25rem)"
|
|
18
|
+
},
|
|
19
|
+
"md": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Medium border radius (e.g., 0.375rem)"
|
|
22
|
+
},
|
|
23
|
+
"lg": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Large border radius (e.g., 0.5rem)"
|
|
26
|
+
},
|
|
27
|
+
"xl": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "Extra large border radius (e.g., 0.75rem)"
|
|
30
|
+
},
|
|
31
|
+
"2xl": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "2X large border radius (e.g., 1rem)"
|
|
34
|
+
},
|
|
35
|
+
"full": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"description": "Full border radius (50%)"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"additionalProperties": false
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
44
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/Breakpoints",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"Breakpoints": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"xs": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Extra small breakpoint (e.g., 480px)"
|
|
10
|
+
},
|
|
11
|
+
"sm": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Small breakpoint (e.g., 640px)"
|
|
14
|
+
},
|
|
15
|
+
"md": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Medium breakpoint (e.g., 768px)"
|
|
18
|
+
},
|
|
19
|
+
"lg": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Large breakpoint (e.g., 1024px)"
|
|
22
|
+
},
|
|
23
|
+
"xl": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "Extra large breakpoint (e.g., 1280px)"
|
|
26
|
+
},
|
|
27
|
+
"2xl": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "2X large breakpoint (e.g., 1536px)"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"additionalProperties": false
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
36
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/BulkRequest",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"BulkRequest": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"records": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"additionalProperties": {},
|
|
12
|
+
"description": "Key-value map of record data"
|
|
13
|
+
},
|
|
14
|
+
"description": "Array of records to process"
|
|
15
|
+
},
|
|
16
|
+
"allOrNone": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"default": true,
|
|
19
|
+
"description": "If true, rollback entire transaction on any failure"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"required": [
|
|
23
|
+
"records"
|
|
24
|
+
],
|
|
25
|
+
"additionalProperties": false
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
29
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/BulkResponse",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"BulkResponse": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"success": {
|
|
8
|
+
"type": "boolean",
|
|
9
|
+
"description": "Operation success status"
|
|
10
|
+
},
|
|
11
|
+
"error": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"code": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "Error code (e.g. validation_error)"
|
|
17
|
+
},
|
|
18
|
+
"message": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Readable error message"
|
|
21
|
+
},
|
|
22
|
+
"details": {
|
|
23
|
+
"description": "Additional error context (e.g. field validation errors)"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": [
|
|
27
|
+
"code",
|
|
28
|
+
"message"
|
|
29
|
+
],
|
|
30
|
+
"additionalProperties": false,
|
|
31
|
+
"description": "Error details if success is false"
|
|
32
|
+
},
|
|
33
|
+
"meta": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"properties": {
|
|
36
|
+
"timestamp": {
|
|
37
|
+
"type": "string"
|
|
38
|
+
},
|
|
39
|
+
"duration": {
|
|
40
|
+
"type": "number"
|
|
41
|
+
},
|
|
42
|
+
"requestId": {
|
|
43
|
+
"type": "string"
|
|
44
|
+
},
|
|
45
|
+
"traceId": {
|
|
46
|
+
"type": "string"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"required": [
|
|
50
|
+
"timestamp"
|
|
51
|
+
],
|
|
52
|
+
"additionalProperties": false,
|
|
53
|
+
"description": "Response metadata"
|
|
54
|
+
},
|
|
55
|
+
"data": {
|
|
56
|
+
"type": "array",
|
|
57
|
+
"items": {
|
|
58
|
+
"type": "object",
|
|
59
|
+
"properties": {
|
|
60
|
+
"id": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"description": "Record ID if processed"
|
|
63
|
+
},
|
|
64
|
+
"success": {
|
|
65
|
+
"type": "boolean"
|
|
66
|
+
},
|
|
67
|
+
"errors": {
|
|
68
|
+
"type": "array",
|
|
69
|
+
"items": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"properties": {
|
|
72
|
+
"code": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "Error code (e.g. validation_error)"
|
|
75
|
+
},
|
|
76
|
+
"message": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"description": "Readable error message"
|
|
79
|
+
},
|
|
80
|
+
"details": {
|
|
81
|
+
"description": "Additional error context (e.g. field validation errors)"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"required": [
|
|
85
|
+
"code",
|
|
86
|
+
"message"
|
|
87
|
+
],
|
|
88
|
+
"additionalProperties": false
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"required": [
|
|
93
|
+
"success"
|
|
94
|
+
],
|
|
95
|
+
"additionalProperties": false
|
|
96
|
+
},
|
|
97
|
+
"description": "Results for each item in the batch"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"required": [
|
|
101
|
+
"success",
|
|
102
|
+
"data"
|
|
103
|
+
],
|
|
104
|
+
"additionalProperties": false
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
108
|
+
}
|