@objectstack/spec 0.1.1 → 0.2.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 +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/filter.zod.d.ts +295 -0
- package/dist/data/filter.zod.d.ts.map +1 -0
- package/dist/data/filter.zod.js +226 -0
- 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 +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -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/auth.zod.d.ts +2287 -0
- package/dist/system/auth.zod.d.ts.map +1 -0
- package/dist/system/auth.zod.js +365 -0
- package/dist/system/datasource.zod.d.ts +193 -30
- package/dist/system/datasource.zod.d.ts.map +1 -1
- package/dist/system/datasource.zod.js +58 -11
- 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 +1631 -0
- package/dist/system/driver.zod.d.ts.map +1 -0
- package/dist/system/driver.zod.js +337 -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/policy.zod.d.ts +10 -10
- 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 +19 -13
- package/dist/ui/dashboard.zod.d.ts.map +1 -1
- package/dist/ui/dashboard.zod.js +10 -3
- package/dist/ui/page.zod.d.ts +6 -6
- package/dist/ui/report.zod.d.ts +13 -32
- package/dist/ui/report.zod.d.ts.map +1 -1
- package/dist/ui/report.zod.js +10 -9
- 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/AccountLinkingConfig.json +27 -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/AuthConfig.json +606 -0
- package/json-schema/AuthPluginConfig.json +28 -0
- package/json-schema/AuthStrategy.json +17 -0
- package/json-schema/AuthenticationConfig.json +601 -0
- package/json-schema/AuthenticationProvider.json +617 -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/CSRFConfig.json +31 -0
- package/json-schema/ColorPalette.json +83 -0
- package/json-schema/ComparisonOperator.json +56 -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/Dashboard.json +20 -0
- package/json-schema/DashboardWidget.json +20 -0
- package/json-schema/DatabaseAdapter.json +38 -0
- package/json-schema/Datasource.json +25 -23
- package/json-schema/DatasourceCapabilities.json +25 -5
- package/json-schema/DeleteResponse.json +68 -0
- package/json-schema/Discovery.json +114 -0
- package/json-schema/DriverCapabilities.json +69 -0
- package/json-schema/DriverDefinition.json +86 -0
- package/json-schema/DriverInterface.json +88 -0
- package/json-schema/DriverOptions.json +23 -0
- package/json-schema/DriverType.json +1 -18
- package/json-schema/EmailPasswordConfig.json +43 -0
- package/json-schema/EqualityOperator.json +14 -0
- package/json-schema/ExportRequest.json +786 -0
- package/json-schema/Field.json +75 -4
- package/json-schema/FieldOperators.json +108 -0
- package/json-schema/FieldType.json +8 -2
- package/json-schema/FieldWidgetProps.json +327 -0
- package/json-schema/FilterCondition.json +28 -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/MagicLinkConfig.json +21 -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/NormalizedFilter.json +348 -0
- package/json-schema/OAuthProvider.json +66 -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/PasskeyConfig.json +54 -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/QueryFilter.json +34 -0
- package/json-schema/RangeOperator.json +41 -0
- package/json-schema/RateLimitConfig.json +36 -0
- package/json-schema/RecordData.json +11 -0
- package/json-schema/Report.json +20 -26
- package/json-schema/Router.json +12 -0
- package/json-schema/Scheduler.json +12 -0
- package/json-schema/ScopedStorage.json +12 -0
- package/json-schema/SessionConfig.json +56 -0
- package/json-schema/SetOperator.json +18 -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/SpecialOperator.json +18 -0
- package/json-schema/StandardAuthProvider.json +622 -0
- package/json-schema/StringOperator.json +21 -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/TwoFactorConfig.json +40 -0
- package/json-schema/Typography.json +142 -0
- package/json-schema/UpdateRequest.json +20 -0
- package/json-schema/UserFieldMapping.json +47 -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
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/CreateRequest",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"CreateRequest": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"data": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"additionalProperties": {},
|
|
10
|
+
"description": "Record data to insert"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"required": [
|
|
14
|
+
"data"
|
|
15
|
+
],
|
|
16
|
+
"additionalProperties": false
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
20
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/CrossFieldValidation",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"CrossFieldValidation": {
|
|
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": "cross_field"
|
|
32
|
+
},
|
|
33
|
+
"condition": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Formula expression comparing fields (e.g. \"end_date > start_date\")"
|
|
36
|
+
},
|
|
37
|
+
"fields": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {
|
|
40
|
+
"type": "string"
|
|
41
|
+
},
|
|
42
|
+
"description": "Fields involved in the validation"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"required": [
|
|
46
|
+
"name",
|
|
47
|
+
"message",
|
|
48
|
+
"type",
|
|
49
|
+
"condition",
|
|
50
|
+
"fields"
|
|
51
|
+
],
|
|
52
|
+
"additionalProperties": false
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
56
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/CustomValidator",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"CustomValidator": {
|
|
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": "custom"
|
|
32
|
+
},
|
|
33
|
+
"field": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Field to validate (optional for record-level validation)"
|
|
36
|
+
},
|
|
37
|
+
"validatorFunction": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Function name or reference to custom validator"
|
|
40
|
+
},
|
|
41
|
+
"params": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"additionalProperties": {},
|
|
44
|
+
"description": "Additional parameters for the validator"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"required": [
|
|
48
|
+
"name",
|
|
49
|
+
"message",
|
|
50
|
+
"type",
|
|
51
|
+
"validatorFunction"
|
|
52
|
+
],
|
|
53
|
+
"additionalProperties": false
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
57
|
+
}
|
|
@@ -46,6 +46,26 @@
|
|
|
46
46
|
"description": "Data source object name"
|
|
47
47
|
},
|
|
48
48
|
"filter": {
|
|
49
|
+
"allOf": [
|
|
50
|
+
{
|
|
51
|
+
"type": "object",
|
|
52
|
+
"additionalProperties": {}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"type": "object",
|
|
56
|
+
"properties": {
|
|
57
|
+
"$and": {
|
|
58
|
+
"type": "array",
|
|
59
|
+
"items": {}
|
|
60
|
+
},
|
|
61
|
+
"$or": {
|
|
62
|
+
"type": "array",
|
|
63
|
+
"items": {}
|
|
64
|
+
},
|
|
65
|
+
"$not": {}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
],
|
|
49
69
|
"description": "Data filter criteria"
|
|
50
70
|
},
|
|
51
71
|
"categoryField": {
|
|
@@ -28,6 +28,26 @@
|
|
|
28
28
|
"description": "Data source object name"
|
|
29
29
|
},
|
|
30
30
|
"filter": {
|
|
31
|
+
"allOf": [
|
|
32
|
+
{
|
|
33
|
+
"type": "object",
|
|
34
|
+
"additionalProperties": {}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"type": "object",
|
|
38
|
+
"properties": {
|
|
39
|
+
"$and": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": {}
|
|
42
|
+
},
|
|
43
|
+
"$or": {
|
|
44
|
+
"type": "array",
|
|
45
|
+
"items": {}
|
|
46
|
+
},
|
|
47
|
+
"$not": {}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
],
|
|
31
51
|
"description": "Data filter criteria"
|
|
32
52
|
},
|
|
33
53
|
"categoryField": {
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/DatabaseAdapter",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"DatabaseAdapter": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"type": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"enum": [
|
|
10
|
+
"prisma",
|
|
11
|
+
"drizzle",
|
|
12
|
+
"kysely",
|
|
13
|
+
"custom"
|
|
14
|
+
],
|
|
15
|
+
"description": "Database adapter type"
|
|
16
|
+
},
|
|
17
|
+
"connectionString": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Database connection string"
|
|
20
|
+
},
|
|
21
|
+
"tablePrefix": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"default": "auth_",
|
|
24
|
+
"description": "Prefix for auth tables"
|
|
25
|
+
},
|
|
26
|
+
"schema": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "Database schema name"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"required": [
|
|
32
|
+
"type"
|
|
33
|
+
],
|
|
34
|
+
"additionalProperties": false
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
38
|
+
}
|
|
@@ -15,24 +15,6 @@
|
|
|
15
15
|
},
|
|
16
16
|
"driver": {
|
|
17
17
|
"type": "string",
|
|
18
|
-
"enum": [
|
|
19
|
-
"postgres",
|
|
20
|
-
"mysql",
|
|
21
|
-
"sqlserver",
|
|
22
|
-
"oracle",
|
|
23
|
-
"sqlite",
|
|
24
|
-
"mongo",
|
|
25
|
-
"redis",
|
|
26
|
-
"excel",
|
|
27
|
-
"csv",
|
|
28
|
-
"airtable",
|
|
29
|
-
"rest_api",
|
|
30
|
-
"graphql",
|
|
31
|
-
"odata",
|
|
32
|
-
"salesforce",
|
|
33
|
-
"sap",
|
|
34
|
-
"workday"
|
|
35
|
-
],
|
|
36
18
|
"description": "Underlying driver type"
|
|
37
19
|
},
|
|
38
20
|
"config": {
|
|
@@ -43,29 +25,49 @@
|
|
|
43
25
|
"capabilities": {
|
|
44
26
|
"type": "object",
|
|
45
27
|
"properties": {
|
|
46
|
-
"
|
|
28
|
+
"transactions": {
|
|
47
29
|
"type": "boolean",
|
|
48
30
|
"default": false
|
|
49
31
|
},
|
|
50
|
-
"
|
|
32
|
+
"queryFilters": {
|
|
51
33
|
"type": "boolean",
|
|
52
34
|
"default": false
|
|
53
35
|
},
|
|
54
|
-
"
|
|
36
|
+
"queryAggregations": {
|
|
55
37
|
"type": "boolean",
|
|
56
38
|
"default": false
|
|
57
39
|
},
|
|
58
|
-
"
|
|
40
|
+
"querySorting": {
|
|
59
41
|
"type": "boolean",
|
|
60
42
|
"default": false
|
|
61
43
|
},
|
|
62
|
-
"
|
|
44
|
+
"queryPagination": {
|
|
45
|
+
"type": "boolean",
|
|
46
|
+
"default": false
|
|
47
|
+
},
|
|
48
|
+
"queryWindowFunctions": {
|
|
49
|
+
"type": "boolean",
|
|
50
|
+
"default": false
|
|
51
|
+
},
|
|
52
|
+
"querySubqueries": {
|
|
53
|
+
"type": "boolean",
|
|
54
|
+
"default": false
|
|
55
|
+
},
|
|
56
|
+
"joins": {
|
|
57
|
+
"type": "boolean",
|
|
58
|
+
"default": false
|
|
59
|
+
},
|
|
60
|
+
"fullTextSearch": {
|
|
63
61
|
"type": "boolean",
|
|
64
62
|
"default": false
|
|
65
63
|
},
|
|
66
64
|
"readOnly": {
|
|
67
65
|
"type": "boolean",
|
|
68
66
|
"default": false
|
|
67
|
+
},
|
|
68
|
+
"dynamicSchema": {
|
|
69
|
+
"type": "boolean",
|
|
70
|
+
"default": false
|
|
69
71
|
}
|
|
70
72
|
},
|
|
71
73
|
"additionalProperties": false,
|
|
@@ -4,29 +4,49 @@
|
|
|
4
4
|
"DatasourceCapabilities": {
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
|
-
"
|
|
7
|
+
"transactions": {
|
|
8
8
|
"type": "boolean",
|
|
9
9
|
"default": false
|
|
10
10
|
},
|
|
11
|
-
"
|
|
11
|
+
"queryFilters": {
|
|
12
12
|
"type": "boolean",
|
|
13
13
|
"default": false
|
|
14
14
|
},
|
|
15
|
-
"
|
|
15
|
+
"queryAggregations": {
|
|
16
16
|
"type": "boolean",
|
|
17
17
|
"default": false
|
|
18
18
|
},
|
|
19
|
-
"
|
|
19
|
+
"querySorting": {
|
|
20
20
|
"type": "boolean",
|
|
21
21
|
"default": false
|
|
22
22
|
},
|
|
23
|
-
"
|
|
23
|
+
"queryPagination": {
|
|
24
|
+
"type": "boolean",
|
|
25
|
+
"default": false
|
|
26
|
+
},
|
|
27
|
+
"queryWindowFunctions": {
|
|
28
|
+
"type": "boolean",
|
|
29
|
+
"default": false
|
|
30
|
+
},
|
|
31
|
+
"querySubqueries": {
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"default": false
|
|
34
|
+
},
|
|
35
|
+
"joins": {
|
|
36
|
+
"type": "boolean",
|
|
37
|
+
"default": false
|
|
38
|
+
},
|
|
39
|
+
"fullTextSearch": {
|
|
24
40
|
"type": "boolean",
|
|
25
41
|
"default": false
|
|
26
42
|
},
|
|
27
43
|
"readOnly": {
|
|
28
44
|
"type": "boolean",
|
|
29
45
|
"default": false
|
|
46
|
+
},
|
|
47
|
+
"dynamicSchema": {
|
|
48
|
+
"type": "boolean",
|
|
49
|
+
"default": false
|
|
30
50
|
}
|
|
31
51
|
},
|
|
32
52
|
"additionalProperties": false
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/DeleteResponse",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"DeleteResponse": {
|
|
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
|
+
"id": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"description": "ID of the deleted record"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": [
|
|
61
|
+
"success",
|
|
62
|
+
"id"
|
|
63
|
+
],
|
|
64
|
+
"additionalProperties": false
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
68
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/Discovery",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"Discovery": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"name": {
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"version": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"environment": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"enum": [
|
|
16
|
+
"production",
|
|
17
|
+
"sandbox",
|
|
18
|
+
"development"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"routes": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"properties": {
|
|
24
|
+
"data": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "e.g. /api/v1/data"
|
|
27
|
+
},
|
|
28
|
+
"metadata": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "e.g. /api/v1/meta"
|
|
31
|
+
},
|
|
32
|
+
"auth": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "e.g. /api/v1/auth"
|
|
35
|
+
},
|
|
36
|
+
"actions": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "e.g. /api/v1/p"
|
|
39
|
+
},
|
|
40
|
+
"storage": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "e.g. /api/v1/storage"
|
|
43
|
+
},
|
|
44
|
+
"graphql": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "e.g. /api/v1/graphql"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"required": [
|
|
50
|
+
"data",
|
|
51
|
+
"metadata",
|
|
52
|
+
"auth"
|
|
53
|
+
],
|
|
54
|
+
"additionalProperties": false
|
|
55
|
+
},
|
|
56
|
+
"features": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"properties": {
|
|
59
|
+
"graphql": {
|
|
60
|
+
"type": "boolean",
|
|
61
|
+
"default": false
|
|
62
|
+
},
|
|
63
|
+
"search": {
|
|
64
|
+
"type": "boolean",
|
|
65
|
+
"default": false
|
|
66
|
+
},
|
|
67
|
+
"websockets": {
|
|
68
|
+
"type": "boolean",
|
|
69
|
+
"default": false
|
|
70
|
+
},
|
|
71
|
+
"files": {
|
|
72
|
+
"type": "boolean",
|
|
73
|
+
"default": true
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"additionalProperties": false
|
|
77
|
+
},
|
|
78
|
+
"locale": {
|
|
79
|
+
"type": "object",
|
|
80
|
+
"properties": {
|
|
81
|
+
"default": {
|
|
82
|
+
"type": "string"
|
|
83
|
+
},
|
|
84
|
+
"supported": {
|
|
85
|
+
"type": "array",
|
|
86
|
+
"items": {
|
|
87
|
+
"type": "string"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"timezone": {
|
|
91
|
+
"type": "string"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"required": [
|
|
95
|
+
"default",
|
|
96
|
+
"supported",
|
|
97
|
+
"timezone"
|
|
98
|
+
],
|
|
99
|
+
"additionalProperties": false
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"required": [
|
|
103
|
+
"name",
|
|
104
|
+
"version",
|
|
105
|
+
"environment",
|
|
106
|
+
"routes",
|
|
107
|
+
"features",
|
|
108
|
+
"locale"
|
|
109
|
+
],
|
|
110
|
+
"additionalProperties": false
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
114
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/DriverCapabilities",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"DriverCapabilities": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"transactions": {
|
|
8
|
+
"type": "boolean",
|
|
9
|
+
"description": "Supports transactions"
|
|
10
|
+
},
|
|
11
|
+
"queryFilters": {
|
|
12
|
+
"type": "boolean",
|
|
13
|
+
"description": "Supports WHERE clause filtering"
|
|
14
|
+
},
|
|
15
|
+
"queryAggregations": {
|
|
16
|
+
"type": "boolean",
|
|
17
|
+
"description": "Supports GROUP BY and aggregation functions"
|
|
18
|
+
},
|
|
19
|
+
"querySorting": {
|
|
20
|
+
"type": "boolean",
|
|
21
|
+
"description": "Supports ORDER BY sorting"
|
|
22
|
+
},
|
|
23
|
+
"queryPagination": {
|
|
24
|
+
"type": "boolean",
|
|
25
|
+
"description": "Supports LIMIT/OFFSET pagination"
|
|
26
|
+
},
|
|
27
|
+
"queryWindowFunctions": {
|
|
28
|
+
"type": "boolean",
|
|
29
|
+
"description": "Supports window functions with OVER clause"
|
|
30
|
+
},
|
|
31
|
+
"querySubqueries": {
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"description": "Supports subqueries"
|
|
34
|
+
},
|
|
35
|
+
"joins": {
|
|
36
|
+
"type": "boolean",
|
|
37
|
+
"description": "Supports SQL joins"
|
|
38
|
+
},
|
|
39
|
+
"fullTextSearch": {
|
|
40
|
+
"type": "boolean",
|
|
41
|
+
"description": "Supports full-text search"
|
|
42
|
+
},
|
|
43
|
+
"jsonFields": {
|
|
44
|
+
"type": "boolean",
|
|
45
|
+
"description": "Supports JSON field types"
|
|
46
|
+
},
|
|
47
|
+
"arrayFields": {
|
|
48
|
+
"type": "boolean",
|
|
49
|
+
"description": "Supports array field types"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"required": [
|
|
53
|
+
"transactions",
|
|
54
|
+
"queryFilters",
|
|
55
|
+
"queryAggregations",
|
|
56
|
+
"querySorting",
|
|
57
|
+
"queryPagination",
|
|
58
|
+
"queryWindowFunctions",
|
|
59
|
+
"querySubqueries",
|
|
60
|
+
"joins",
|
|
61
|
+
"fullTextSearch",
|
|
62
|
+
"jsonFields",
|
|
63
|
+
"arrayFields"
|
|
64
|
+
],
|
|
65
|
+
"additionalProperties": false
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
69
|
+
}
|