@snowtop/ent 0.1.0-alpha16 → 0.1.0-alpha160-test2
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/action/action.d.ts +25 -14
- package/action/action.js +22 -7
- package/action/executor.d.ts +16 -3
- package/action/executor.js +89 -28
- package/action/experimental_action.d.ts +25 -16
- package/action/experimental_action.js +34 -14
- package/action/index.d.ts +4 -1
- package/action/index.js +7 -1
- package/action/operations.d.ts +126 -0
- package/action/operations.js +686 -0
- package/action/orchestrator.d.ts +43 -12
- package/action/orchestrator.js +461 -101
- package/action/relative_value.d.ts +47 -0
- package/action/relative_value.js +125 -0
- package/action/transaction.d.ts +10 -0
- package/action/transaction.js +23 -0
- package/auth/auth.d.ts +1 -1
- package/core/base.d.ts +56 -23
- package/core/base.js +7 -1
- package/core/clause.d.ts +103 -39
- package/core/clause.js +430 -66
- package/core/config.d.ts +13 -3
- package/core/config.js +10 -1
- package/core/const.d.ts +3 -0
- package/core/const.js +6 -0
- package/core/context.d.ts +6 -3
- package/core/context.js +22 -3
- package/core/convert.d.ts +1 -1
- package/core/date.js +1 -5
- package/core/db.d.ts +12 -8
- package/core/db.js +21 -9
- package/core/ent.d.ts +99 -95
- package/core/ent.js +550 -602
- package/core/global_schema.d.ts +7 -0
- package/core/global_schema.js +51 -0
- package/core/loaders/assoc_count_loader.d.ts +5 -2
- package/core/loaders/assoc_count_loader.js +19 -3
- package/core/loaders/assoc_edge_loader.d.ts +2 -3
- package/core/loaders/assoc_edge_loader.js +23 -17
- package/core/loaders/index.d.ts +1 -2
- package/core/loaders/index.js +1 -5
- package/core/loaders/loader.d.ts +3 -3
- package/core/loaders/loader.js +4 -21
- package/core/loaders/object_loader.d.ts +30 -9
- package/core/loaders/object_loader.js +226 -79
- package/core/loaders/query_loader.d.ts +7 -13
- package/core/loaders/query_loader.js +60 -24
- package/core/loaders/raw_count_loader.d.ts +1 -0
- package/core/loaders/raw_count_loader.js +8 -3
- package/core/logger.d.ts +1 -1
- package/core/logger.js +1 -0
- package/core/privacy.d.ts +26 -16
- package/core/privacy.js +68 -51
- package/core/query/assoc_query.d.ts +3 -2
- package/core/query/assoc_query.js +10 -2
- package/core/query/custom_clause_query.d.ts +29 -0
- package/core/query/custom_clause_query.js +105 -0
- package/core/query/custom_query.d.ts +19 -2
- package/core/query/custom_query.js +111 -13
- package/core/query/index.d.ts +1 -0
- package/core/query/index.js +3 -1
- package/core/query/query.d.ts +18 -4
- package/core/query/query.js +135 -58
- package/core/query/shared_assoc_test.d.ts +2 -1
- package/core/query/shared_assoc_test.js +186 -55
- package/core/query/shared_test.d.ts +9 -2
- package/core/query/shared_test.js +529 -236
- package/core/query_impl.d.ts +8 -0
- package/core/query_impl.js +28 -0
- package/core/viewer.d.ts +2 -0
- package/core/viewer.js +3 -1
- package/graphql/graphql.d.ts +108 -22
- package/graphql/graphql.js +183 -137
- package/graphql/graphql_field_helpers.d.ts +9 -3
- package/graphql/graphql_field_helpers.js +22 -2
- package/graphql/index.d.ts +2 -2
- package/graphql/index.js +5 -5
- package/graphql/query/connection_type.d.ts +9 -9
- package/graphql/query/shared_assoc_test.js +1 -1
- package/graphql/query/shared_edge_connection.js +1 -19
- package/graphql/scalars/orderby_direction.d.ts +2 -0
- package/graphql/scalars/orderby_direction.js +15 -0
- package/imports/dataz/example1/_auth.js +128 -47
- package/imports/dataz/example1/_viewer.js +87 -39
- package/imports/index.d.ts +7 -2
- package/imports/index.js +20 -5
- package/index.d.ts +23 -5
- package/index.js +35 -10
- package/package.json +20 -19
- package/parse_schema/parse.d.ts +33 -9
- package/parse_schema/parse.js +182 -33
- package/schema/base_schema.d.ts +13 -3
- package/schema/base_schema.js +13 -0
- package/schema/field.d.ts +78 -21
- package/schema/field.js +232 -72
- package/schema/index.d.ts +2 -2
- package/schema/index.js +7 -2
- package/schema/json_field.d.ts +16 -4
- package/schema/json_field.js +32 -2
- package/schema/schema.d.ts +109 -20
- package/schema/schema.js +42 -53
- package/schema/struct_field.d.ts +15 -3
- package/schema/struct_field.js +117 -22
- package/schema/union_field.d.ts +1 -1
- package/scripts/custom_compiler.js +12 -8
- package/scripts/custom_graphql.js +167 -64
- package/scripts/migrate_v0.1.js +36 -0
- package/scripts/move_types.js +120 -0
- package/scripts/read_schema.js +22 -7
- package/testutils/action/complex_schemas.d.ts +69 -0
- package/testutils/action/complex_schemas.js +405 -0
- package/testutils/builder.d.ts +37 -41
- package/testutils/builder.js +66 -46
- package/testutils/db/fixture.d.ts +10 -0
- package/testutils/db/fixture.js +26 -0
- package/testutils/db/{test_db.d.ts → temp_db.d.ts} +32 -8
- package/testutils/db/{test_db.js → temp_db.js} +251 -48
- package/testutils/db/value.d.ts +7 -0
- package/testutils/db/value.js +251 -0
- package/testutils/db_mock.d.ts +16 -4
- package/testutils/db_mock.js +52 -9
- package/testutils/db_time_zone.d.ts +4 -0
- package/testutils/db_time_zone.js +41 -0
- package/testutils/ent-graphql-tests/index.d.ts +7 -1
- package/testutils/ent-graphql-tests/index.js +56 -26
- package/testutils/fake_comms.js +1 -1
- package/testutils/fake_data/const.d.ts +2 -1
- package/testutils/fake_data/const.js +3 -0
- package/testutils/fake_data/fake_contact.d.ts +7 -3
- package/testutils/fake_data/fake_contact.js +13 -7
- package/testutils/fake_data/fake_event.d.ts +4 -1
- package/testutils/fake_data/fake_event.js +7 -6
- package/testutils/fake_data/fake_tag.d.ts +36 -0
- package/testutils/fake_data/fake_tag.js +89 -0
- package/testutils/fake_data/fake_user.d.ts +8 -5
- package/testutils/fake_data/fake_user.js +31 -19
- package/testutils/fake_data/index.js +5 -1
- package/testutils/fake_data/internal.d.ts +2 -0
- package/testutils/fake_data/internal.js +7 -1
- package/testutils/fake_data/tag_query.d.ts +13 -0
- package/testutils/fake_data/tag_query.js +48 -0
- package/testutils/fake_data/test_helpers.d.ts +14 -6
- package/testutils/fake_data/test_helpers.js +31 -15
- package/testutils/fake_data/user_query.d.ts +16 -6
- package/testutils/fake_data/user_query.js +72 -23
- package/testutils/fake_log.js +1 -1
- package/testutils/parse_sql.d.ts +6 -0
- package/testutils/parse_sql.js +16 -2
- package/testutils/test_edge_global_schema.d.ts +15 -0
- package/testutils/test_edge_global_schema.js +62 -0
- package/testutils/write.d.ts +2 -2
- package/testutils/write.js +33 -7
- package/tsc/ast.d.ts +15 -3
- package/tsc/ast.js +114 -23
- package/tsc/compilerOptions.js +5 -1
- package/tsc/move_generated.d.ts +1 -0
- package/tsc/move_generated.js +164 -0
- package/tsc/transform.d.ts +22 -0
- package/tsc/transform.js +182 -0
- package/tsc/transform_action.d.ts +22 -0
- package/tsc/transform_action.js +183 -0
- package/tsc/transform_ent.d.ts +17 -0
- package/tsc/transform_ent.js +60 -0
- package/tsc/transform_schema.d.ts +27 -0
- package/{scripts → tsc}/transform_schema.js +146 -117
- package/core/loaders/index_loader.d.ts +0 -14
- package/core/loaders/index_loader.js +0 -27
- package/graphql/enums.d.ts +0 -3
- package/graphql/enums.js +0 -25
- package/scripts/move_generated.js +0 -141
- package/scripts/transform_actions.js +0 -266
- package/scripts/transform_code.d.ts +0 -1
- package/scripts/transform_code.js +0 -111
- package/scripts/transform_schema.d.ts +0 -1
- /package/scripts/{move_generated.d.ts → migrate_v0.1.d.ts} +0 -0
- /package/scripts/{transform_actions.d.ts → move_types.d.ts} +0 -0
package/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -25,13 +29,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
25
29
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
30
|
};
|
|
27
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.
|
|
29
|
-
exports.setLogLevels = exports.loadConfig = exports.LoggedOutViewer = exports.IDViewer = exports.ContextCache = exports.query = exports.AllowIfViewerHasIdentityPrivacyPolicy = exports.AllowIfViewerPrivacyPolicy = exports.AllowIfSubPolicyAllowsRule = exports.AllowIfConditionAppliesRule = exports.AlwaysDenyPrivacyPolicy = exports.AlwaysAllowPrivacyPolicy = exports.applyPrivacyPolicyX = exports.applyPrivacyPolicy = exports.DelayedResultRule = exports.DenyIfEntIsVisiblePolicy = exports.AllowIfEntIsVisiblePolicy = exports.DenyIfEntIsNotVisibleRule = exports.DenyIfEntIsVisibleRule = exports.AllowIfEntIsNotVisibleRule = exports.AllowIfEntIsVisibleRule = exports.DenyIfViewerOutboundEdgeDoesNotExistRule = void 0;
|
|
32
|
+
exports.DenyIfViewerInboundEdgeExistsRule = exports.DenyIfEdgeExistsRule = exports.AllowIfViewerOutboundEdgeExistsRule = exports.AllowIfViewerInboundEdgeExistsRule = exports.AllowIfEdgeExistsRule = exports.DenyIfViewerEqualsRule = exports.AllowIfViewerEqualsRule = exports.DenyIfEntPropertyIsRule = exports.AllowIfEntPropertyIsRule = exports.AllowIfViewerIsEntPropertyRule = exports.AllowIfViewerIsRule = exports.AllowIfFuncRule = exports.AllowIfViewerRule = exports.AllowIfHasIdentity = exports.DenyIfLoggedOutRule = exports.DenyIfLoggedInRule = exports.AlwaysDenyRule = exports.AlwaysAllowRule = exports.EntPrivacyError = exports.DB = exports.setGlobalSchema = exports.DeleteNodeOperation = exports.EdgeOperation = exports.RawQueryOperation = exports.EditNodeOperation = exports.getEdgeTypeInGroup = exports.loadNodesByEdge = exports.loadEdgeForID2 = exports.loadRawEdgeCountX = exports.loadUniqueNode = exports.loadUniqueEdge = exports.loadEdges = exports.loadEdgeDatas = exports.loadEdgeData = exports.AssocEdgeData = exports.AssocEdge = exports.loadRows = exports.loadRow = exports.loadRowX = exports.performRawQuery = exports.loadEntXViaKey = exports.loadEntViaKey = exports.loadDerivedEntX = exports.loadDerivedEnt = exports.loadEnts = exports.loadEntX = exports.loadCustomCount = exports.loadCustomEnts = exports.loadCustomData = exports.loadEnt = void 0;
|
|
33
|
+
exports.setLogLevels = exports.loadConfig = exports.LoggedOutViewer = exports.IDViewer = exports.ContextCache = exports.query = exports.AllowIfViewerHasIdentityPrivacyPolicy = exports.AllowIfViewerPrivacyPolicy = exports.AllowIfSubPolicyAllowsRule = exports.AllowIfConditionAppliesRule = exports.AlwaysDenyPrivacyPolicy = exports.AlwaysAllowPrivacyPolicy = exports.applyPrivacyPolicyX = exports.applyPrivacyPolicy = exports.DelayedResultRule = exports.DenyIfEntIsVisiblePolicy = exports.AllowIfEntIsVisiblePolicy = exports.DenyIfEntIsNotVisibleRule = exports.DenyIfEntIsVisibleRule = exports.AllowIfEntIsNotVisibleRule = exports.AllowIfEntIsVisibleRule = exports.DenyIfViewerOutboundEdgeDoesNotExistRule = exports.DenyIfViewerInboundEdgeDoesNotExistRule = exports.DenyIfEdgeDoesNotExistRule = exports.DenyIfViewerOutboundEdgeExistsRule = void 0;
|
|
30
34
|
__exportStar(require("./core/base"), exports);
|
|
31
35
|
var ent_1 = require("./core/ent");
|
|
32
36
|
Object.defineProperty(exports, "loadEnt", { enumerable: true, get: function () { return ent_1.loadEnt; } });
|
|
33
37
|
Object.defineProperty(exports, "loadCustomData", { enumerable: true, get: function () { return ent_1.loadCustomData; } });
|
|
34
38
|
Object.defineProperty(exports, "loadCustomEnts", { enumerable: true, get: function () { return ent_1.loadCustomEnts; } });
|
|
39
|
+
Object.defineProperty(exports, "loadCustomCount", { enumerable: true, get: function () { return ent_1.loadCustomCount; } });
|
|
35
40
|
Object.defineProperty(exports, "loadEntX", { enumerable: true, get: function () { return ent_1.loadEntX; } });
|
|
36
41
|
Object.defineProperty(exports, "loadEnts", { enumerable: true, get: function () { return ent_1.loadEnts; } });
|
|
37
42
|
Object.defineProperty(exports, "loadDerivedEnt", { enumerable: true, get: function () { return ent_1.loadDerivedEnt; } });
|
|
@@ -43,9 +48,6 @@ Object.defineProperty(exports, "performRawQuery", { enumerable: true, get: funct
|
|
|
43
48
|
Object.defineProperty(exports, "loadRowX", { enumerable: true, get: function () { return ent_1.loadRowX; } });
|
|
44
49
|
Object.defineProperty(exports, "loadRow", { enumerable: true, get: function () { return ent_1.loadRow; } });
|
|
45
50
|
Object.defineProperty(exports, "loadRows", { enumerable: true, get: function () { return ent_1.loadRows; } });
|
|
46
|
-
Object.defineProperty(exports, "EditNodeOperation", { enumerable: true, get: function () { return ent_1.EditNodeOperation; } });
|
|
47
|
-
Object.defineProperty(exports, "EdgeOperation", { enumerable: true, get: function () { return ent_1.EdgeOperation; } });
|
|
48
|
-
Object.defineProperty(exports, "DeleteNodeOperation", { enumerable: true, get: function () { return ent_1.DeleteNodeOperation; } });
|
|
49
51
|
Object.defineProperty(exports, "AssocEdge", { enumerable: true, get: function () { return ent_1.AssocEdge; } });
|
|
50
52
|
Object.defineProperty(exports, "AssocEdgeData", { enumerable: true, get: function () { return ent_1.AssocEdgeData; } });
|
|
51
53
|
Object.defineProperty(exports, "loadEdgeData", { enumerable: true, get: function () { return ent_1.loadEdgeData; } });
|
|
@@ -57,6 +59,14 @@ Object.defineProperty(exports, "loadRawEdgeCountX", { enumerable: true, get: fun
|
|
|
57
59
|
Object.defineProperty(exports, "loadEdgeForID2", { enumerable: true, get: function () { return ent_1.loadEdgeForID2; } });
|
|
58
60
|
Object.defineProperty(exports, "loadNodesByEdge", { enumerable: true, get: function () { return ent_1.loadNodesByEdge; } });
|
|
59
61
|
Object.defineProperty(exports, "getEdgeTypeInGroup", { enumerable: true, get: function () { return ent_1.getEdgeTypeInGroup; } });
|
|
62
|
+
// TODO should these even be exported from the root?
|
|
63
|
+
var operations_1 = require("./action/operations");
|
|
64
|
+
Object.defineProperty(exports, "EditNodeOperation", { enumerable: true, get: function () { return operations_1.EditNodeOperation; } });
|
|
65
|
+
Object.defineProperty(exports, "RawQueryOperation", { enumerable: true, get: function () { return operations_1.RawQueryOperation; } });
|
|
66
|
+
Object.defineProperty(exports, "EdgeOperation", { enumerable: true, get: function () { return operations_1.EdgeOperation; } });
|
|
67
|
+
Object.defineProperty(exports, "DeleteNodeOperation", { enumerable: true, get: function () { return operations_1.DeleteNodeOperation; } });
|
|
68
|
+
var global_schema_1 = require("./core/global_schema");
|
|
69
|
+
Object.defineProperty(exports, "setGlobalSchema", { enumerable: true, get: function () { return global_schema_1.setGlobalSchema; } });
|
|
60
70
|
const db_1 = __importDefault(require("./core/db"));
|
|
61
71
|
exports.DB = db_1.default;
|
|
62
72
|
__exportStar(require("./core/loaders"), exports);
|
|
@@ -101,6 +111,7 @@ Object.defineProperty(exports, "AllowIfSubPolicyAllowsRule", { enumerable: true,
|
|
|
101
111
|
Object.defineProperty(exports, "AllowIfViewerPrivacyPolicy", { enumerable: true, get: function () { return privacy_1.AllowIfViewerPrivacyPolicy; } });
|
|
102
112
|
Object.defineProperty(exports, "AllowIfViewerHasIdentityPrivacyPolicy", { enumerable: true, get: function () { return privacy_1.AllowIfViewerHasIdentityPrivacyPolicy; } });
|
|
103
113
|
__exportStar(require("./core/query"), exports);
|
|
114
|
+
__exportStar(require("./core/query_impl"), exports);
|
|
104
115
|
__exportStar(require("./schema/"), exports);
|
|
105
116
|
const q = __importStar(require("./core/clause"));
|
|
106
117
|
const query = {
|
|
@@ -109,17 +120,31 @@ const query = {
|
|
|
109
120
|
And: q.And,
|
|
110
121
|
AndOptional: q.AndOptional,
|
|
111
122
|
Or: q.Or,
|
|
123
|
+
OrOptional: q.OrOptional,
|
|
112
124
|
In: q.In,
|
|
125
|
+
UuidIn: q.UuidIn,
|
|
126
|
+
IntegerIn: q.IntegerIn,
|
|
127
|
+
TextIn: q.TextIn,
|
|
128
|
+
DBTypeIn: q.DBTypeIn,
|
|
129
|
+
UuidNotIn: q.UuidNotIn,
|
|
130
|
+
IntegerNotIn: q.IntegerNotIn,
|
|
131
|
+
TextNotIn: q.TextNotIn,
|
|
132
|
+
DBTypeNotIn: q.DBTypeNotIn,
|
|
113
133
|
Greater: q.Greater,
|
|
114
134
|
Less: q.Less,
|
|
115
135
|
GreaterEq: q.GreaterEq,
|
|
116
136
|
LessEq: q.LessEq,
|
|
117
137
|
ArrayEq: q.ArrayEq,
|
|
118
138
|
ArrayNotEq: q.ArrayNotEq,
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
139
|
+
PostgresArrayContainsValue: q.PostgresArrayContainsValue,
|
|
140
|
+
PostgresArrayContains: q.PostgresArrayContains,
|
|
141
|
+
PostgresArrayNotContainsValue: q.PostgresArrayNotContainsValue,
|
|
142
|
+
PostgresArrayNotContains: q.PostgresArrayNotContains,
|
|
143
|
+
PostgresArrayOverlaps: q.PostgresArrayOverlaps,
|
|
144
|
+
PostgresArrayNotOverlaps: q.PostgresArrayNotOverlaps,
|
|
145
|
+
JSONPathValuePredicate: q.JSONPathValuePredicate,
|
|
146
|
+
JSONObjectFieldKeyASJSON: q.JSONObjectFieldKeyASJSON,
|
|
147
|
+
JSONObjectFieldKeyAsText: q.JSONObjectFieldKeyAsText,
|
|
123
148
|
TsQuery: q.TsQuery,
|
|
124
149
|
PlainToTsQuery: q.PlainToTsQuery,
|
|
125
150
|
PhraseToTsQuery: q.PhraseToTsQuery,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snowtop/ent",
|
|
3
|
-
"version": "0.1.0-
|
|
3
|
+
"version": "0.1.0-alpha160-test2",
|
|
4
4
|
"description": "snowtop ent framework",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -8,29 +8,30 @@
|
|
|
8
8
|
"example": "examples"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@types/node": "^
|
|
11
|
+
"@types/node": "^20.2.5",
|
|
12
12
|
"camel-case": "^4.1.2",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
13
|
+
"cosmiconfig": "^8.1.3",
|
|
14
|
+
"dataloader": "^2.2.2",
|
|
15
|
+
"glob": "^10.2.6",
|
|
16
|
+
"graph-data-structure": "^3.3.0",
|
|
16
17
|
"js-yaml": "^4.1.0",
|
|
17
|
-
"json5": "^2.
|
|
18
|
-
"luxon": "^
|
|
18
|
+
"json5": "^2.2.3",
|
|
19
|
+
"luxon": "^3.3.0",
|
|
19
20
|
"memoizee": "^0.4.15",
|
|
20
|
-
"minimist": "^1.2.
|
|
21
|
+
"minimist": "^1.2.8",
|
|
21
22
|
"pascal-case": "^3.1.2",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"snake-case": "^3.0.
|
|
26
|
-
"ts-node": "^10.
|
|
27
|
-
"tsconfig-paths": "^
|
|
28
|
-
"tslib": "^2.
|
|
29
|
-
"typescript": "^
|
|
30
|
-
"uuid": "^
|
|
23
|
+
"patch-package": "^7.0.0",
|
|
24
|
+
"pg": "^8.11.0",
|
|
25
|
+
"prettier": "^2.8.8",
|
|
26
|
+
"snake-case": "^3.0.4",
|
|
27
|
+
"ts-node": "^10.9.1",
|
|
28
|
+
"tsconfig-paths": "^4.2.0",
|
|
29
|
+
"tslib": "^2.5.2",
|
|
30
|
+
"typescript": "^5.0.4",
|
|
31
|
+
"uuid": "^9.0.0"
|
|
31
32
|
},
|
|
32
33
|
"peerDependencies": {
|
|
33
|
-
"better-sqlite3": "^
|
|
34
|
+
"better-sqlite3": "^8.4.0",
|
|
34
35
|
"graphql": "^16.5.0"
|
|
35
36
|
},
|
|
36
37
|
"peerDependenciesMeta": {
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
}
|
|
40
41
|
},
|
|
41
42
|
"engines": {
|
|
42
|
-
"node": ">=
|
|
43
|
+
"node": ">=16.0"
|
|
43
44
|
},
|
|
44
45
|
"devDependencies": {},
|
|
45
46
|
"scripts": {},
|
package/parse_schema/parse.d.ts
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { Schema, Field, AssocEdge, AssocEdgeGroup, Action } from "../schema";
|
|
2
|
-
import { ActionField, Type } from "../schema/schema";
|
|
2
|
+
import { ActionField, Type, FieldMap, GlobalSchema, TransformReadBetaResult, CanViewerDo } from "../schema/schema";
|
|
3
|
+
export declare function processFields(src: FieldMap | Field[], patternName?: string): Promise<ProcessedField[]>;
|
|
3
4
|
declare enum NullableResult {
|
|
4
5
|
CONTENTS = "contents",
|
|
5
6
|
CONTENTS_AND_LIST = "contentsAndList",
|
|
6
7
|
ITEM = "true"
|
|
7
8
|
}
|
|
8
|
-
|
|
9
|
+
type ProcessedActionField = Omit<ActionField, "nullable"> & {
|
|
9
10
|
nullable?: NullableResult;
|
|
10
11
|
};
|
|
11
|
-
|
|
12
|
+
type ProcessedAssocEdge = Omit<AssocEdge, "actionOnlyFields" | "edgeActions"> & {
|
|
12
13
|
patternName?: string;
|
|
13
14
|
edgeActions?: OutputAction[];
|
|
14
15
|
};
|
|
15
16
|
interface TransformFlags {
|
|
16
17
|
transformsSelect?: boolean;
|
|
17
18
|
transformsDelete?: boolean;
|
|
19
|
+
transformsLoaderCodegen?: TransformReadBetaResult;
|
|
18
20
|
transformsInsert?: boolean;
|
|
19
21
|
transformsUpdate?: boolean;
|
|
20
22
|
}
|
|
21
|
-
|
|
23
|
+
type ProcessedSchema = Omit<Schema, "edges" | "actions" | "edgeGroups" | "fields"> & TransformFlags & {
|
|
22
24
|
actions: OutputAction[];
|
|
23
25
|
assocEdges: ProcessedAssocEdge[];
|
|
24
26
|
assocEdgeGroups: ProcessedAssocEdgeGroup[];
|
|
@@ -26,11 +28,12 @@ declare type ProcessedSchema = Omit<Schema, "edges" | "actions" | "edgeGroups" |
|
|
|
26
28
|
schemaPath?: string;
|
|
27
29
|
patternNames?: string[];
|
|
28
30
|
};
|
|
29
|
-
|
|
31
|
+
type ProcessedAssocEdgeGroup = Omit<AssocEdgeGroup, "edgeAction"> & {
|
|
30
32
|
edgeAction?: OutputAction;
|
|
31
33
|
};
|
|
32
|
-
|
|
34
|
+
type OutputAction = Omit<Action, "actionOnlyFields" | "canViewerDo"> & {
|
|
33
35
|
actionOnlyFields?: ProcessedActionField[];
|
|
36
|
+
canViewerDo?: CanViewerDo;
|
|
34
37
|
};
|
|
35
38
|
interface schemasDict {
|
|
36
39
|
[key: string]: ProcessedSchema;
|
|
@@ -41,19 +44,21 @@ interface ProcessedPattern {
|
|
|
41
44
|
fields: ProcessedField[];
|
|
42
45
|
disableMixin?: boolean;
|
|
43
46
|
}
|
|
44
|
-
|
|
47
|
+
type ProcessedType = Omit<Type, "subFields" | "listElemType" | "unionFields"> & {
|
|
45
48
|
subFields?: ProcessedField[];
|
|
46
49
|
listElemType?: ProcessedType;
|
|
47
50
|
unionFields?: ProcessedField[];
|
|
48
51
|
};
|
|
49
|
-
|
|
52
|
+
export type ProcessedField = Omit<Field, "defaultValueOnEdit" | "defaultValueOnCreate" | "privacyPolicy" | "type" | "serverDefault"> & {
|
|
50
53
|
name: string;
|
|
51
54
|
hasDefaultValueOnCreate?: boolean;
|
|
52
55
|
hasDefaultValueOnEdit?: boolean;
|
|
53
56
|
patternName?: string;
|
|
54
57
|
hasFieldPrivacy?: boolean;
|
|
58
|
+
hasEditFieldPrivacy?: boolean;
|
|
55
59
|
derivedFields?: ProcessedField[];
|
|
56
60
|
type: ProcessedType;
|
|
61
|
+
serverDefault?: string;
|
|
57
62
|
};
|
|
58
63
|
interface patternsDict {
|
|
59
64
|
[key: string]: ProcessedPattern;
|
|
@@ -61,9 +66,28 @@ interface patternsDict {
|
|
|
61
66
|
interface Result {
|
|
62
67
|
schemas: schemasDict;
|
|
63
68
|
patterns: patternsDict;
|
|
69
|
+
globalSchema?: ProcessedGlobalSchema;
|
|
70
|
+
config?: {
|
|
71
|
+
rome?: RomeConfig;
|
|
72
|
+
};
|
|
64
73
|
}
|
|
65
74
|
declare type PotentialSchemas = {
|
|
66
75
|
[key: string]: any;
|
|
67
76
|
};
|
|
68
|
-
export declare function parseSchema(potentialSchemas: PotentialSchemas): Result
|
|
77
|
+
export declare function parseSchema(potentialSchemas: PotentialSchemas, globalSchema?: GlobalSchema): Promise<Result>;
|
|
78
|
+
interface RomeConfig {
|
|
79
|
+
indentStyle?: string;
|
|
80
|
+
lineWidth?: number;
|
|
81
|
+
indentSize?: number;
|
|
82
|
+
quoteStyle?: string;
|
|
83
|
+
quoteProperties?: string;
|
|
84
|
+
trailingComma?: string;
|
|
85
|
+
}
|
|
86
|
+
interface ProcessedGlobalSchema {
|
|
87
|
+
globalEdges: ProcessedAssocEdge[];
|
|
88
|
+
extraEdgeFields: ProcessedField[];
|
|
89
|
+
init?: boolean;
|
|
90
|
+
transformsEdges?: boolean;
|
|
91
|
+
globalFields?: ProcessedField[];
|
|
92
|
+
}
|
|
69
93
|
export {};
|
package/parse_schema/parse.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseSchema = void 0;
|
|
4
|
-
|
|
3
|
+
exports.parseSchema = exports.processFields = void 0;
|
|
4
|
+
const cosmiconfig_1 = require("cosmiconfig");
|
|
5
|
+
const const_1 = require("../core/const");
|
|
6
|
+
const global_schema_1 = require("../core/global_schema");
|
|
7
|
+
async function processFields(src, patternName) {
|
|
5
8
|
const ret = [];
|
|
6
9
|
let m = {};
|
|
7
10
|
if (Array.isArray(src)) {
|
|
@@ -19,10 +22,11 @@ function processFields(src, patternName) {
|
|
|
19
22
|
for (const name in m) {
|
|
20
23
|
const field = m[name];
|
|
21
24
|
//@ts-ignore type and other changed fields with different type in ProcessedField vs Field
|
|
22
|
-
let f = {
|
|
25
|
+
let f = { ...field, name };
|
|
23
26
|
f.hasDefaultValueOnCreate = field.defaultValueOnCreate != undefined;
|
|
24
27
|
f.hasDefaultValueOnEdit = field.defaultValueOnEdit != undefined;
|
|
25
28
|
f.hasFieldPrivacy = field.privacyPolicy !== undefined;
|
|
29
|
+
f.hasEditFieldPrivacy = field.editPrivacyPolicy !== undefined;
|
|
26
30
|
if (field.polymorphic) {
|
|
27
31
|
// convert boolean into object
|
|
28
32
|
// we keep boolean as an option to keep API simple
|
|
@@ -36,6 +40,19 @@ function processFields(src, patternName) {
|
|
|
36
40
|
else {
|
|
37
41
|
delete f.polymorphic;
|
|
38
42
|
}
|
|
43
|
+
if (field.private) {
|
|
44
|
+
// convert boolean into object
|
|
45
|
+
// we keep boolean as an option to keep API simple
|
|
46
|
+
if (typeof field.private === "boolean") {
|
|
47
|
+
f.private = {};
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
f.private = field.private;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
delete f.private;
|
|
55
|
+
}
|
|
39
56
|
// convert string to object to make API consumed by go simple
|
|
40
57
|
if (f.fieldEdge && f.fieldEdge.inverseEdge) {
|
|
41
58
|
if (typeof f.fieldEdge.inverseEdge === "string") {
|
|
@@ -47,26 +64,49 @@ function processFields(src, patternName) {
|
|
|
47
64
|
if (patternName) {
|
|
48
65
|
f.patternName = patternName;
|
|
49
66
|
}
|
|
67
|
+
if (field.serverDefault !== undefined) {
|
|
68
|
+
f.serverDefault = await transformServerDefault(name, field, field.serverDefault);
|
|
69
|
+
}
|
|
50
70
|
transformType(field.type);
|
|
51
71
|
if (field.getDerivedFields) {
|
|
52
|
-
f.derivedFields = processFields(field.getDerivedFields(name));
|
|
72
|
+
f.derivedFields = await processFields(field.getDerivedFields(name));
|
|
53
73
|
}
|
|
54
74
|
if (field.type.subFields) {
|
|
55
|
-
f.type.subFields = processFields(field.type.subFields);
|
|
75
|
+
f.type.subFields = await processFields(field.type.subFields);
|
|
56
76
|
}
|
|
57
77
|
if (field.type.unionFields) {
|
|
58
|
-
f.type.unionFields = processFields(field.type.unionFields);
|
|
78
|
+
f.type.unionFields = await processFields(field.type.unionFields);
|
|
59
79
|
}
|
|
60
80
|
if (field.type.listElemType &&
|
|
61
81
|
field.type.listElemType.subFields &&
|
|
62
82
|
// check to avoid ts-ignore below. exists just for tsc
|
|
63
83
|
f.type.listElemType) {
|
|
64
|
-
f.type.listElemType.subFields = processFields(field.type.listElemType.subFields);
|
|
84
|
+
f.type.listElemType.subFields = await processFields(field.type.listElemType.subFields);
|
|
65
85
|
}
|
|
66
86
|
ret.push(f);
|
|
67
87
|
}
|
|
68
88
|
return ret;
|
|
69
89
|
}
|
|
90
|
+
exports.processFields = processFields;
|
|
91
|
+
async function transformServerDefault(name, f, value) {
|
|
92
|
+
if (f.valid) {
|
|
93
|
+
if (!(await f.valid(value))) {
|
|
94
|
+
throw new Error(`invalid value ${value} passed to field ${name}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (f.format) {
|
|
98
|
+
value = await f.format(value);
|
|
99
|
+
}
|
|
100
|
+
switch (typeof value) {
|
|
101
|
+
case "boolean":
|
|
102
|
+
case "number":
|
|
103
|
+
case "bigint":
|
|
104
|
+
case "string":
|
|
105
|
+
return `${value}`;
|
|
106
|
+
default:
|
|
107
|
+
throw new Error(`invalid value ${value} passed to field ${name}`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
70
110
|
function transformImportType(typ) {
|
|
71
111
|
if (!typ.importType) {
|
|
72
112
|
return;
|
|
@@ -108,12 +148,12 @@ function processEdgeGroups(processedSchema, edgeGroups) {
|
|
|
108
148
|
processedSchema.assocEdgeGroups.push(group2);
|
|
109
149
|
}
|
|
110
150
|
}
|
|
111
|
-
function processPattern(patterns, pattern, processedSchema) {
|
|
151
|
+
async function processPattern(patterns, pattern, processedSchema) {
|
|
112
152
|
let ret = {
|
|
113
153
|
...pattern,
|
|
114
154
|
};
|
|
115
155
|
const name = pattern.name;
|
|
116
|
-
const fields = processFields(pattern.fields, pattern.name);
|
|
156
|
+
const fields = await processFields(pattern.fields, pattern.name);
|
|
117
157
|
processedSchema.fields.push(...fields);
|
|
118
158
|
if (pattern.edges) {
|
|
119
159
|
const edges = processEdges(pattern.edges, pattern.name);
|
|
@@ -122,6 +162,23 @@ function processPattern(patterns, pattern, processedSchema) {
|
|
|
122
162
|
// flag transformsSelect
|
|
123
163
|
if (pattern.transformRead) {
|
|
124
164
|
ret.transformsSelect = true;
|
|
165
|
+
if (pattern.transformReadCodegen_BETA) {
|
|
166
|
+
const r = pattern.transformReadCodegen_BETA();
|
|
167
|
+
if (typeof r === "string") {
|
|
168
|
+
ret.transformsLoaderCodegen = {
|
|
169
|
+
code: r,
|
|
170
|
+
imports: [
|
|
171
|
+
{
|
|
172
|
+
importPath: const_1.PACKAGE,
|
|
173
|
+
import: "query",
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
ret.transformsLoaderCodegen = r;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
125
182
|
}
|
|
126
183
|
if (patterns[name] === undefined) {
|
|
127
184
|
// intentionally processing separately and not passing pattern.name
|
|
@@ -146,35 +203,51 @@ var NullableResult;
|
|
|
146
203
|
NullableResult["ITEM"] = "true";
|
|
147
204
|
})(NullableResult || (NullableResult = {}));
|
|
148
205
|
function processAction(action) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if (typeof f.nullable === "boolean") {
|
|
160
|
-
f2.nullable = NullableResult.ITEM;
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
if (f.nullable === "contentsAndList") {
|
|
164
|
-
f2.nullable = NullableResult.CONTENTS_AND_LIST;
|
|
206
|
+
const ret = { ...action };
|
|
207
|
+
if (action.actionOnlyFields !== undefined) {
|
|
208
|
+
let actionOnlyFields = action.actionOnlyFields.map((f) => {
|
|
209
|
+
let f2 = f;
|
|
210
|
+
if (!f.nullable) {
|
|
211
|
+
delete f2.nullable;
|
|
212
|
+
return f2;
|
|
213
|
+
}
|
|
214
|
+
if (typeof f.nullable === "boolean") {
|
|
215
|
+
f2.nullable = NullableResult.ITEM;
|
|
165
216
|
}
|
|
166
217
|
else {
|
|
167
|
-
|
|
218
|
+
if (f.nullable === "contentsAndList") {
|
|
219
|
+
f2.nullable = NullableResult.CONTENTS_AND_LIST;
|
|
220
|
+
}
|
|
221
|
+
else if (f.nullable === "contents") {
|
|
222
|
+
f2.nullable = NullableResult.CONTENTS;
|
|
223
|
+
}
|
|
224
|
+
else if (f.nullable === "true") {
|
|
225
|
+
// shouldn't happen but ran into weirdness where it did...
|
|
226
|
+
f2.nullable = NullableResult.ITEM;
|
|
227
|
+
}
|
|
168
228
|
}
|
|
229
|
+
return f2;
|
|
230
|
+
});
|
|
231
|
+
ret.actionOnlyFields = actionOnlyFields;
|
|
232
|
+
}
|
|
233
|
+
if (action.canViewerDo !== undefined) {
|
|
234
|
+
if (typeof action.canViewerDo !== "object") {
|
|
235
|
+
delete ret.canViewerDo;
|
|
236
|
+
ret.canViewerDo = {};
|
|
169
237
|
}
|
|
170
|
-
|
|
171
|
-
});
|
|
172
|
-
ret.actionOnlyFields = actionOnlyFields;
|
|
238
|
+
}
|
|
173
239
|
return ret;
|
|
174
240
|
}
|
|
175
|
-
function parseSchema(potentialSchemas) {
|
|
241
|
+
async function parseSchema(potentialSchemas, globalSchema) {
|
|
176
242
|
let schemas = {};
|
|
177
243
|
let patterns = {};
|
|
244
|
+
let parsedGlobalSchema;
|
|
245
|
+
if (globalSchema) {
|
|
246
|
+
parsedGlobalSchema = await parseGlobalSchema(globalSchema);
|
|
247
|
+
// set this so that we can use it, if we're trying to process server default or anything
|
|
248
|
+
// that ends up parsing,validating and formatting fields
|
|
249
|
+
(0, global_schema_1.setGlobalSchema)(globalSchema);
|
|
250
|
+
}
|
|
178
251
|
for (const key in potentialSchemas) {
|
|
179
252
|
const value = potentialSchemas[key];
|
|
180
253
|
let schema;
|
|
@@ -190,6 +263,7 @@ function parseSchema(potentialSchemas) {
|
|
|
190
263
|
}
|
|
191
264
|
let processedSchema = {
|
|
192
265
|
fields: [],
|
|
266
|
+
fieldOverrides: schema.fieldOverrides,
|
|
193
267
|
schemaPath: schema.schemaPath,
|
|
194
268
|
tableName: schema.tableName,
|
|
195
269
|
enumTable: schema.enumTable,
|
|
@@ -200,19 +274,27 @@ function parseSchema(potentialSchemas) {
|
|
|
200
274
|
actions: schema.actions?.map((action) => processAction(action)) || [],
|
|
201
275
|
assocEdges: [],
|
|
202
276
|
assocEdgeGroups: [],
|
|
277
|
+
customGraphQLInterfaces: schema.customGraphQLInterfaces,
|
|
278
|
+
supportUpsert: schema.supportUpsert,
|
|
279
|
+
showCanViewerSee: schema.showCanViewerSee,
|
|
280
|
+
showCanViewerEdit: schema.showCanViewerEdit,
|
|
203
281
|
};
|
|
204
282
|
// let's put patterns first just so we have id, created_at, updated_at first
|
|
205
283
|
// ¯\_(ツ)_/¯
|
|
206
284
|
let patternNames = [];
|
|
207
285
|
if (schema.patterns) {
|
|
208
286
|
for (const pattern of schema.patterns) {
|
|
209
|
-
const ret = processPattern(patterns, pattern, processedSchema);
|
|
287
|
+
const ret = await processPattern(patterns, pattern, processedSchema);
|
|
210
288
|
patternNames.push(pattern.name);
|
|
211
289
|
if (ret.transformsSelect) {
|
|
212
290
|
if (processedSchema.transformsSelect) {
|
|
213
291
|
throw new Error(`can only have one pattern which transforms default querying behavior`);
|
|
214
292
|
}
|
|
215
293
|
processedSchema.transformsSelect = true;
|
|
294
|
+
if (ret.transformsLoaderCodegen) {
|
|
295
|
+
processedSchema.transformsLoaderCodegen =
|
|
296
|
+
ret.transformsLoaderCodegen;
|
|
297
|
+
}
|
|
216
298
|
}
|
|
217
299
|
if (ret.transformsDelete) {
|
|
218
300
|
if (processedSchema.transformsDelete) {
|
|
@@ -222,7 +304,7 @@ function parseSchema(potentialSchemas) {
|
|
|
222
304
|
}
|
|
223
305
|
}
|
|
224
306
|
}
|
|
225
|
-
const fields = processFields(schema.fields);
|
|
307
|
+
const fields = await processFields(schema.fields);
|
|
226
308
|
processedSchema.fields.push(...fields);
|
|
227
309
|
processedSchema.patternNames = patternNames;
|
|
228
310
|
if (schema.edges) {
|
|
@@ -234,6 +316,73 @@ function parseSchema(potentialSchemas) {
|
|
|
234
316
|
}
|
|
235
317
|
schemas[key] = processedSchema;
|
|
236
318
|
}
|
|
237
|
-
|
|
319
|
+
const rome = translatePrettier();
|
|
320
|
+
return {
|
|
321
|
+
schemas,
|
|
322
|
+
patterns,
|
|
323
|
+
globalSchema: parsedGlobalSchema,
|
|
324
|
+
config: {
|
|
325
|
+
rome,
|
|
326
|
+
},
|
|
327
|
+
};
|
|
238
328
|
}
|
|
239
329
|
exports.parseSchema = parseSchema;
|
|
330
|
+
function translatePrettier() {
|
|
331
|
+
const r = (0, cosmiconfig_1.cosmiconfigSync)("prettier").search();
|
|
332
|
+
if (!r) {
|
|
333
|
+
return;
|
|
334
|
+
}
|
|
335
|
+
const ret = {};
|
|
336
|
+
if (r.config.printWidth !== undefined) {
|
|
337
|
+
ret.lineWidth = parseInt(r.config.printWidth);
|
|
338
|
+
}
|
|
339
|
+
if (r.config.useTabs) {
|
|
340
|
+
ret.indentStyle = "tab";
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
ret.indentStyle = "space";
|
|
344
|
+
}
|
|
345
|
+
if (r.config.tabWidth !== undefined) {
|
|
346
|
+
ret.indentSize = parseInt(r.config.tabWidth);
|
|
347
|
+
}
|
|
348
|
+
if (r.config.singleQuote) {
|
|
349
|
+
ret.quoteStyle = "single";
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
ret.quoteStyle = "double";
|
|
353
|
+
}
|
|
354
|
+
if (r.config.quoteProps !== undefined) {
|
|
355
|
+
if (r.config.quoteProps === "consistent") {
|
|
356
|
+
// rome doesn't support this
|
|
357
|
+
ret.quoteProperties = "as-needed";
|
|
358
|
+
}
|
|
359
|
+
else {
|
|
360
|
+
ret.quoteProperties = r.config.quoteProps;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
if (r.config.trailingComma !== undefined) {
|
|
364
|
+
ret.trailingComma = r.config.trailingComma;
|
|
365
|
+
}
|
|
366
|
+
return ret;
|
|
367
|
+
}
|
|
368
|
+
async function parseGlobalSchema(s) {
|
|
369
|
+
const ret = {
|
|
370
|
+
globalEdges: [],
|
|
371
|
+
extraEdgeFields: [],
|
|
372
|
+
init: !!s.extraEdgeFields ||
|
|
373
|
+
s.transformEdgeRead !== undefined ||
|
|
374
|
+
s.transformEdgeWrite !== undefined ||
|
|
375
|
+
s.fields !== undefined,
|
|
376
|
+
transformsEdges: !!s.transformEdgeRead || !!s.transformEdgeWrite,
|
|
377
|
+
};
|
|
378
|
+
if (s.extraEdgeFields) {
|
|
379
|
+
ret.extraEdgeFields = await processFields(s.extraEdgeFields);
|
|
380
|
+
}
|
|
381
|
+
if (s.edges) {
|
|
382
|
+
ret.globalEdges = processEdges(s.edges);
|
|
383
|
+
}
|
|
384
|
+
if (s.fields) {
|
|
385
|
+
ret.globalFields = await processFields(s.fields);
|
|
386
|
+
}
|
|
387
|
+
return ret;
|
|
388
|
+
}
|
package/schema/base_schema.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FieldMap, Pattern, FieldOverrideMap } from "./schema";
|
|
2
2
|
import { Action, AssocEdgeGroup, Constraint, Edge, Index, Schema } from ".";
|
|
3
3
|
export declare const Timestamps: Pattern;
|
|
4
4
|
export declare const Node: Pattern;
|
|
5
5
|
export interface SchemaConfig extends Schema {
|
|
6
6
|
}
|
|
7
7
|
export declare class EntSchema implements Schema {
|
|
8
|
-
fields: FieldMap
|
|
8
|
+
fields: FieldMap;
|
|
9
|
+
fieldOverrides: FieldOverrideMap | undefined;
|
|
9
10
|
tableName: string | undefined;
|
|
10
11
|
patterns: Pattern[];
|
|
11
12
|
edges: Edge[] | undefined;
|
|
@@ -18,10 +19,15 @@ export declare class EntSchema implements Schema {
|
|
|
18
19
|
constraints: Constraint[] | undefined;
|
|
19
20
|
indices: Index[] | undefined;
|
|
20
21
|
hideFromGraphQL?: boolean;
|
|
22
|
+
customGraphQLInterfaces?: string[] | undefined;
|
|
23
|
+
supportUpsert?: boolean | undefined;
|
|
24
|
+
showCanViewerSee?: boolean | undefined;
|
|
25
|
+
showCanViewerEdit?: boolean | undefined;
|
|
21
26
|
constructor(cfg: SchemaConfig);
|
|
22
27
|
}
|
|
23
28
|
export declare class EntSchemaWithTZ implements Schema {
|
|
24
|
-
fields: FieldMap
|
|
29
|
+
fields: FieldMap;
|
|
30
|
+
fieldOverrides: FieldOverrideMap | undefined;
|
|
25
31
|
tableName: string | undefined;
|
|
26
32
|
patterns: Pattern[];
|
|
27
33
|
edges: Edge[] | undefined;
|
|
@@ -34,6 +40,10 @@ export declare class EntSchemaWithTZ implements Schema {
|
|
|
34
40
|
constraints: Constraint[] | undefined;
|
|
35
41
|
indices: Index[] | undefined;
|
|
36
42
|
hideFromGraphQL?: boolean;
|
|
43
|
+
customGraphQLInterfaces?: string[] | undefined;
|
|
44
|
+
supportUpsert?: boolean | undefined;
|
|
45
|
+
showCanViewerSee?: boolean | undefined;
|
|
46
|
+
showCanViewerEdit?: boolean | undefined;
|
|
37
47
|
constructor(cfg: SchemaConfig);
|
|
38
48
|
}
|
|
39
49
|
export declare abstract class BaseEntSchema {
|