cruddl 3.1.4 → 3.2.0-0.deploy-test.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/.github/workflows/ci.yml +4 -3
- package/.nvmrc +1 -1
- package/README.md +8 -0
- package/dist/spec/{schema/ast-validation-modules/flex-search.spec.d.ts → database/arangodb/ttl.spec.d.ts} +0 -0
- package/dist/spec/database/arangodb/ttl.spec.js +346 -0
- package/dist/spec/database/arangodb/ttl.spec.js.map +1 -0
- package/dist/spec/model/create-model.spec.js +26 -0
- package/dist/spec/model/create-model.spec.js.map +1 -1
- package/dist/spec/model/implementation/field.spec.js +8 -0
- package/dist/spec/model/implementation/field.spec.js.map +1 -1
- package/dist/spec/model/implementation/flex-search-validation.spec.js +70 -5
- package/dist/spec/model/implementation/flex-search-validation.spec.js.map +1 -1
- package/dist/spec/performance/query-pipeline.perf.js +3 -2
- package/dist/spec/performance/query-pipeline.perf.js.map +1 -1
- package/dist/spec/regression/initialization.js +2 -1
- package/dist/spec/regression/initialization.js.map +1 -1
- package/dist/spec/schema/ast-validation-modules/helpers.d.ts +10 -8
- package/dist/spec/schema/ast-validation-modules/helpers.js +28 -24
- package/dist/spec/schema/ast-validation-modules/helpers.js.map +1 -1
- package/dist/spec/schema/ast-validation-modules/ttl.spec.d.ts +1 -0
- package/dist/spec/schema/ast-validation-modules/ttl.spec.js +362 -0
- package/dist/spec/schema/ast-validation-modules/ttl.spec.js.map +1 -0
- package/dist/spec/schema/schema-builder.spec.js +22 -0
- package/dist/spec/schema/schema-builder.spec.js.map +1 -1
- package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js +14 -0
- package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js.map +1 -1
- package/dist/spec/schema-generation/create-input-type-generator.spec.js +1 -5
- package/dist/spec/schema-generation/create-input-type-generator.spec.js.map +1 -1
- package/dist/src/database/arangodb/aql-generator.d.ts +8 -1
- package/dist/src/database/arangodb/aql-generator.js +18 -9
- package/dist/src/database/arangodb/aql-generator.js.map +1 -1
- package/dist/src/database/arangodb/arangodb-adapter.js +3 -1
- package/dist/src/database/arangodb/arangodb-adapter.js.map +1 -1
- package/dist/src/database/arangodb/arangojs-instrumentation/custom-connection.d.ts +2 -2
- package/dist/src/database/arangodb/arangojs-instrumentation/custom-connection.js +8 -58
- package/dist/src/database/arangodb/arangojs-instrumentation/custom-connection.js.map +1 -1
- package/dist/src/database/arangodb/arangojs-instrumentation/custom-request.d.ts +18 -8
- package/dist/src/database/arangodb/arangojs-instrumentation/custom-request.js +14 -2
- package/dist/src/database/arangodb/arangojs-instrumentation/custom-request.js.map +1 -1
- package/dist/src/database/arangodb/schema-migration/analyzer.js +4 -4
- package/dist/src/database/arangodb/schema-migration/analyzer.js.map +1 -1
- package/dist/src/database/arangodb/schema-migration/arango-search-helpers.d.ts +9 -9
- package/dist/src/database/arangodb/schema-migration/arango-search-helpers.js +17 -9
- package/dist/src/database/arangodb/schema-migration/arango-search-helpers.js.map +1 -1
- package/dist/src/database/arangodb/schema-migration/migrations.d.ts +9 -5
- package/dist/src/database/arangodb/schema-migration/migrations.js.map +1 -1
- package/dist/src/database/arangodb/schema-migration/performer.js +6 -6
- package/dist/src/database/arangodb/schema-migration/performer.js.map +1 -1
- package/dist/src/database/inmemory/inmemory-adapter.d.ts +2 -1
- package/dist/src/database/inmemory/inmemory-adapter.js +16 -2
- package/dist/src/database/inmemory/inmemory-adapter.js.map +1 -1
- package/dist/src/database/inmemory/js-generator.d.ts +8 -1
- package/dist/src/database/inmemory/js-generator.js +16 -7
- package/dist/src/database/inmemory/js-generator.js.map +1 -1
- package/dist/src/execution/execution-options.d.ts +16 -0
- package/dist/src/execution/execution-options.js +10 -0
- package/dist/src/execution/execution-options.js.map +1 -1
- package/dist/src/execution/operation-resolver.js +4 -2
- package/dist/src/execution/operation-resolver.js.map +1 -1
- package/dist/src/model/config/indices.d.ts +3 -1
- package/dist/src/model/config/time-to-live.d.ts +8 -3
- package/dist/src/model/create-model.js +54 -25
- package/dist/src/model/create-model.js.map +1 -1
- package/dist/src/model/implementation/field-path.d.ts +19 -3
- package/dist/src/model/implementation/field-path.js +37 -3
- package/dist/src/model/implementation/field-path.js.map +1 -1
- package/dist/src/model/implementation/field.js +37 -2
- package/dist/src/model/implementation/field.js.map +1 -1
- package/dist/src/model/implementation/flex-search.d.ts +7 -2
- package/dist/src/model/implementation/flex-search.js +37 -3
- package/dist/src/model/implementation/flex-search.js.map +1 -1
- package/dist/src/model/implementation/relation.d.ts +22 -0
- package/dist/src/model/implementation/relation.js +6 -0
- package/dist/src/model/implementation/relation.js.map +1 -1
- package/dist/src/model/implementation/root-entity-type.js +3 -28
- package/dist/src/model/implementation/root-entity-type.js.map +1 -1
- package/dist/src/model/implementation/time-to-live.d.ts +5 -1
- package/dist/src/model/implementation/time-to-live.js +91 -5
- package/dist/src/model/implementation/time-to-live.js.map +1 -1
- package/dist/src/model/parse-ttl.js +10 -6
- package/dist/src/model/parse-ttl.js.map +1 -1
- package/dist/src/model/validation/message.d.ts +2 -2
- package/dist/src/model/validation/message.js +19 -6
- package/dist/src/model/validation/message.js.map +1 -1
- package/dist/src/project/project.js +16 -7
- package/dist/src/project/project.js.map +1 -1
- package/dist/src/project/time-to-live.d.ts +14 -6
- package/dist/src/project/time-to-live.js +35 -23
- package/dist/src/project/time-to-live.js.map +1 -1
- package/dist/src/schema/graphql-base.js +1 -1
- package/dist/src/schema/preparation/source-validation-modules/schema/schema.json +7 -0
- package/dist/src/schema/preparation/source-validation-modules/schema/validate-schema.js +1 -1
- package/dist/src/schema/schema-builder.js +5 -5
- package/dist/src/schema/schema-builder.js.map +1 -1
- package/dist/src/schema-generation/create-input-types/input-types.d.ts +3 -3
- package/dist/src/schema-generation/create-input-types/input-types.js +6 -9
- package/dist/src/schema-generation/create-input-types/input-types.js.map +1 -1
- package/dist/src/schema-generation/delete-all-generator.d.ts +9 -2
- package/dist/src/schema-generation/delete-all-generator.js +4 -2
- package/dist/src/schema-generation/delete-all-generator.js.map +1 -1
- package/dist/src/schema-generation/flex-search-generator.d.ts +2 -2
- package/dist/src/schema-generation/flex-search-generator.js +5 -5
- package/dist/src/schema-generation/flex-search-generator.js.map +1 -1
- package/dist/src/schema-generation/query-node-object-type/context.d.ts +5 -0
- package/dist/src/schema-generation/query-node-object-type/context.js.map +1 -1
- package/dist/src/schema-generation/query-node-object-type/query-node-generator.d.ts +2 -1
- package/dist/src/schema-generation/query-node-object-type/query-node-generator.js +14 -6
- package/dist/src/schema-generation/query-node-object-type/query-node-generator.js.map +1 -1
- package/dist/src/schema-generation/utils/relations.d.ts +9 -1
- package/dist/src/schema-generation/utils/relations.js +46 -14
- package/dist/src/schema-generation/utils/relations.js.map +1 -1
- package/docs/flexSearch.md +9 -6
- package/docs/modelling.md +2 -2
- package/docs/time-to-live.md +25 -0
- package/package.json +3 -3
- package/dist/spec/schema/ast-validation-modules/flex-search.spec.js +0 -15
- package/dist/spec/schema/ast-validation-modules/flex-search.spec.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-entity-type.js","sourceRoot":"","sources":["../../../../src/model/implementation/root-entity-type.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"root-entity-type.js","sourceRoot":"","sources":["../../../../src/model/implementation/root-entity-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,16 @@ import { Field } from './field';
|
|
|
4
4
|
import { Model } from './model';
|
|
5
5
|
import { RootEntityType } from './root-entity-type';
|
|
6
6
|
import { ScalarType } from './scalar-type';
|
|
7
|
+
import { FieldPath } from './field-path';
|
|
7
8
|
export declare class TimeToLiveType implements ModelComponent {
|
|
8
9
|
readonly input: TimeToLiveConfig;
|
|
9
10
|
readonly model: Model;
|
|
11
|
+
readonly cascadeFields: ReadonlyArray<FieldPath>;
|
|
12
|
+
readonly rootEntityType: RootEntityType | undefined;
|
|
10
13
|
constructor(input: TimeToLiveConfig, model: Model);
|
|
11
14
|
validate(context: ValidationContext): void;
|
|
12
|
-
|
|
15
|
+
private validateCascadeFields;
|
|
16
|
+
private validateCascadeField;
|
|
13
17
|
get path(): ReadonlyArray<Field> | undefined;
|
|
14
18
|
get fieldType(): ScalarType | undefined;
|
|
15
19
|
get expireAfterDays(): number;
|
|
@@ -8,19 +8,107 @@ const local_date_1 = require("../../schema/scalars/local-date");
|
|
|
8
8
|
const offset_date_time_1 = require("../../schema/scalars/offset-date-time");
|
|
9
9
|
const config_1 = require("../config");
|
|
10
10
|
const validation_1 = require("../validation");
|
|
11
|
+
const field_path_1 = require("./field-path");
|
|
11
12
|
class TimeToLiveType {
|
|
12
13
|
constructor(input, model) {
|
|
14
|
+
var _a;
|
|
13
15
|
this.input = input;
|
|
14
16
|
this.model = model;
|
|
17
|
+
this.cascadeFields = [];
|
|
18
|
+
this.rootEntityType = model.getRootEntityType(input.typeName);
|
|
19
|
+
if (this.rootEntityType && ((_a = input.cascadeFields) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
20
|
+
const baseType = this.rootEntityType;
|
|
21
|
+
this.cascadeFields = input.cascadeFields.map((path, index) => {
|
|
22
|
+
var _a;
|
|
23
|
+
return new field_path_1.FieldPath({
|
|
24
|
+
path,
|
|
25
|
+
baseType,
|
|
26
|
+
location: (_a = input.cascadeFieldsLocs) === null || _a === void 0 ? void 0 : _a[index],
|
|
27
|
+
canTraverseRootEntities: true,
|
|
28
|
+
canUseCollectFields: false,
|
|
29
|
+
canFollowReferences: false,
|
|
30
|
+
canNavigateIntoLists: true,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}
|
|
15
34
|
}
|
|
16
35
|
validate(context) {
|
|
17
36
|
this.traversePath((mess) => context.addMessage(mess));
|
|
18
37
|
if (!this.rootEntityType) {
|
|
19
38
|
context.addMessage(validation_1.ValidationMessage.error(`No rootEntity with the name "${this.input.typeName}" is defined.`, this.input.typeNameLoc));
|
|
20
39
|
}
|
|
40
|
+
this.validateCascadeFields(context);
|
|
41
|
+
}
|
|
42
|
+
validateCascadeFields(context) {
|
|
43
|
+
const existingPaths = new Set();
|
|
44
|
+
for (const cascadeField of this.cascadeFields) {
|
|
45
|
+
if (existingPaths.has(cascadeField.path)) {
|
|
46
|
+
validation_1.ValidationMessage.error(`Field "${cascadeField.path}" is included multiple times`, cascadeField.location);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
existingPaths.add(cascadeField.path);
|
|
50
|
+
this.validateCascadeField(cascadeField, context);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
21
53
|
}
|
|
22
|
-
|
|
23
|
-
|
|
54
|
+
validateCascadeField(cascadeField, context) {
|
|
55
|
+
cascadeField.validate(context);
|
|
56
|
+
if (!cascadeField.lastField || !cascadeField.fields) {
|
|
57
|
+
// FieldPath has validation error
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const lastFieldDesc = `"${cascadeField.lastField.declaringType.name}.${cascadeField.lastField.name}"`;
|
|
61
|
+
if (!cascadeField.lastField.isRelation) {
|
|
62
|
+
context.addMessage(validation_1.ValidationMessage.error(`Field ${lastFieldDesc} is not a relation and therefore cannot be configured for cascading deletion.`, cascadeField.location));
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// ensure that all relations that are traversed *also* are cascading
|
|
66
|
+
// (either because of onDelete=CASCADE or because they are included in cascadeFields)
|
|
67
|
+
// in other words: ensure that no relation has been skipped
|
|
68
|
+
let currentPath = '';
|
|
69
|
+
let fieldCount = 0;
|
|
70
|
+
for (const field of cascadeField.fields) {
|
|
71
|
+
if (currentPath) {
|
|
72
|
+
currentPath += '.';
|
|
73
|
+
}
|
|
74
|
+
currentPath += field.name;
|
|
75
|
+
fieldCount++;
|
|
76
|
+
if (field.isRelation &&
|
|
77
|
+
field.relationDeleteAction !== config_1.RelationDeleteAction.CASCADE &&
|
|
78
|
+
!this.cascadeFields.some((f) => f.path === currentPath)) {
|
|
79
|
+
context.addMessage(validation_1.ValidationMessage.error(`Sub-path "${currentPath}" needs to be included in the cascadeFields or annotated with @relation(onDelete=CASCADE).`, cascadeField.getSubLocation(0, fieldCount)));
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (!field.isRelation) {
|
|
83
|
+
// would only occur if there are other validation errors
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
// same restriction as in model declaration
|
|
87
|
+
if (field.inverseOf) {
|
|
88
|
+
context.addMessage(validation_1.ValidationMessage.error(`Field ${lastFieldDesc} is an inverse relation and cannot be used in the cascadeFields.`, cascadeField.getSubLocation(0, fieldCount)));
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
// only allow cascade on forward relations. See Field#validateRelation() for details.
|
|
92
|
+
if (!field.type.isObjectType) {
|
|
93
|
+
throw new Error(`Expected ${field.type.name} to be an object type`);
|
|
94
|
+
}
|
|
95
|
+
const inverseField = field.type.fields.find((f) => f.inverseOf === field);
|
|
96
|
+
if (!inverseField) {
|
|
97
|
+
context.addMessage(validation_1.ValidationMessage.error(`cascadeFields only support 1-to-n and 1-to-1 relations. You can change ${lastFieldDesc} to a 1-to-${field.isList ? 'n' : '1'} relation by adding a field with the @relation(inverseOf: "${field.name}") directive to the target type "${field.type.name}".`, cascadeField.getSubLocation(0, fieldCount)));
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
else if (inverseField.isList) {
|
|
101
|
+
context.addMessage(validation_1.ValidationMessage.error(`cascadeFields only support 1-to-n and 1-to-1 relations. You can change ${lastFieldDesc} to a 1-to-${field.isList ? 'n' : '1'} relation by changing the type of "${field.type.name}.${inverseField.name}" to "${inverseField.type.name}".`, cascadeField.getSubLocation(0, fieldCount)));
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (cascadeField.lastField.relationDeleteAction === config_1.RelationDeleteAction.CASCADE) {
|
|
106
|
+
context.addMessage(validation_1.ValidationMessage.warn(`Field ${lastFieldDesc} is already annotated with @relation(onDelete=CASCADE) and listing it here does not have an effect.`, cascadeField.location));
|
|
107
|
+
}
|
|
108
|
+
// note that unlike with onDelete=CASCADE, we do not need to check for recursion
|
|
109
|
+
// the reason is that here, field paths are configured instead of type fields
|
|
110
|
+
// it's totally ok to e.g. include "parentHandlingUnit.parentHandlingUnit" - it would just
|
|
111
|
+
// cascade two layers deep and no deeper.
|
|
24
112
|
}
|
|
25
113
|
get path() {
|
|
26
114
|
const traversedPath = this.traversePath(() => undefined);
|
|
@@ -33,6 +121,7 @@ class TimeToLiveType {
|
|
|
33
121
|
get expireAfterDays() {
|
|
34
122
|
return this.input.expireAfterDays;
|
|
35
123
|
}
|
|
124
|
+
// TODO refactor this to use FieldPath
|
|
36
125
|
traversePath(addMessage) {
|
|
37
126
|
if (!this.input.dateField.match(/^([\w]+\.)*[\w]+$/)) {
|
|
38
127
|
addMessage(validation_1.ValidationMessage.error(`The dateField should be a path, defined as field names separated by dots.`, this.input.dateFieldLoc));
|
|
@@ -86,9 +175,6 @@ class TimeToLiveType {
|
|
|
86
175
|
return { field, fieldsInPath };
|
|
87
176
|
}
|
|
88
177
|
}
|
|
89
|
-
tslib_1.__decorate([
|
|
90
|
-
(0, memorize_decorator_1.default)()
|
|
91
|
-
], TimeToLiveType.prototype, "rootEntityType", null);
|
|
92
178
|
tslib_1.__decorate([
|
|
93
179
|
(0, memorize_decorator_1.default)()
|
|
94
180
|
], TimeToLiveType.prototype, "path", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-to-live.js","sourceRoot":"","sources":["../../../../src/model/implementation/time-to-live.ts"],"names":[],"mappings":";;;;AAAA,oFAA0C;AAC1C,8DAAiE;AACjE,gEAAmE;AACnE,4EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"time-to-live.js","sourceRoot":"","sources":["../../../../src/model/implementation/time-to-live.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,16 @@ function parseTTLConfigs(source) {
|
|
|
6
6
|
return [];
|
|
7
7
|
}
|
|
8
8
|
const ttlConfigs = source.object.timeToLive;
|
|
9
|
-
return ttlConfigs.map((ttlConfig, index) =>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
return ttlConfigs.map((ttlConfig, index) => {
|
|
10
|
+
var _a;
|
|
11
|
+
return ({
|
|
12
|
+
...ttlConfig,
|
|
13
|
+
typeNameLoc: source.pathLocationMap[`/timeToLive/${index}/typeName`],
|
|
14
|
+
dateFieldLoc: source.pathLocationMap[`/timeToLive/${index}/dateField`],
|
|
15
|
+
expireAfterDaysLoc: source.pathLocationMap[`/timeToLive/${index}/expireAfterDays`],
|
|
16
|
+
cascadeFieldsLocs: ((_a = ttlConfig.cascadeFields) !== null && _a !== void 0 ? _a : []).map((_, fieldIndex) => source.pathLocationMap[`/timeToLive/${index}/cascadeFields/${fieldIndex}`]),
|
|
17
|
+
});
|
|
18
|
+
});
|
|
15
19
|
}
|
|
16
20
|
exports.parseTTLConfigs = parseTTLConfigs;
|
|
17
21
|
//# sourceMappingURL=parse-ttl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-ttl.js","sourceRoot":"","sources":["../../../src/model/parse-ttl.ts"],"names":[],"mappings":";;;AAGA,SAAgB,eAAe,CAAC,MAAiC;IAC7D,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACzF,OAAO,EAAE,CAAC;KACb;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAgC,CAAC;IAClE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"parse-ttl.js","sourceRoot":"","sources":["../../../src/model/parse-ttl.ts"],"names":[],"mappings":";;;AAGA,SAAgB,eAAe,CAAC,MAAiC;IAC7D,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACzF,OAAO,EAAE,CAAC;KACb;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAgC,CAAC;IAClE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;;QAAC,OAAA,CAAC;YACzC,GAAG,SAAS;YACZ,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,eAAe,KAAK,WAAW,CAAC;YACpE,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,eAAe,KAAK,YAAY,CAAC;YACtE,kBAAkB,EAAE,MAAM,CAAC,eAAe,CAAC,eAAe,KAAK,kBAAkB,CAAC;YAClF,iBAAiB,EAAE,CAAC,MAAA,SAAS,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC,GAAG,CAClD,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CACd,MAAM,CAAC,eAAe,CAAC,eAAe,KAAK,kBAAkB,UAAU,EAAE,CAAC,CACjF;SACJ,CAAC,CAAA;KAAA,CAAC,CAAC;AACR,CAAC;AAfD,0CAeC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ASTNode, Location
|
|
1
|
+
import { ASTNode, Location } from 'graphql';
|
|
2
2
|
import { ProjectSource } from '../../project/source';
|
|
3
3
|
export declare enum Severity {
|
|
4
4
|
Error = "ERROR",
|
|
@@ -39,4 +39,4 @@ export declare class ValidationMessage {
|
|
|
39
39
|
static info(message: string, location: LocationLike | undefined): ValidationMessage;
|
|
40
40
|
toString(): string;
|
|
41
41
|
}
|
|
42
|
-
export declare function locationWithinStringArgument(node:
|
|
42
|
+
export declare function locationWithinStringArgument(node: LocationLike, offset: number, length: number): MessageLocation | undefined;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.locationWithinStringArgument = exports.ValidationMessage = exports.MessageLocation = exports.SourcePosition = exports.Severity = void 0;
|
|
4
|
+
const graphql_1 = require("graphql");
|
|
4
5
|
const source_1 = require("../../project/source");
|
|
5
6
|
const schema_utils_1 = require("../../schema/schema-utils");
|
|
6
7
|
var Severity;
|
|
@@ -121,15 +122,27 @@ function isASTNode(obj) {
|
|
|
121
122
|
return 'kind' in obj;
|
|
122
123
|
}
|
|
123
124
|
function locationWithinStringArgument(node, offset, length) {
|
|
125
|
+
if (isASTNode(node) && node.kind === graphql_1.Kind.STRING && node.loc) {
|
|
126
|
+
const loc = node.loc;
|
|
127
|
+
// add 1 because of "
|
|
128
|
+
return new MessageLocation(source_1.ProjectSource.fromGraphQLSource(loc.source) || loc.source.name, new SourcePosition(loc.start + 1 + offset, loc.startToken.line, loc.startToken.column + 1 + offset), new SourcePosition(loc.start + 1 + offset + length, loc.endToken.line, loc.startToken.column + 1 + offset + length));
|
|
129
|
+
}
|
|
130
|
+
let ml;
|
|
124
131
|
if (node instanceof MessageLocation) {
|
|
125
|
-
|
|
132
|
+
ml = node;
|
|
133
|
+
}
|
|
134
|
+
else if (isASTNode(node)) {
|
|
135
|
+
if (node.loc) {
|
|
136
|
+
ml = MessageLocation.fromGraphQLLocation(node.loc);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
|
126
141
|
}
|
|
127
|
-
|
|
128
|
-
|
|
142
|
+
else {
|
|
143
|
+
ml = MessageLocation.fromGraphQLLocation(node);
|
|
129
144
|
}
|
|
130
|
-
|
|
131
|
-
// add 1 because of "
|
|
132
|
-
return new MessageLocation(source_1.ProjectSource.fromGraphQLSource(loc.source) || loc.source.name, new SourcePosition(loc.start + 1 + offset, loc.startToken.line, loc.startToken.column + 1 + offset), new SourcePosition(loc.start + 1 + offset + length, loc.endToken.line, loc.startToken.column + 1 + offset + length));
|
|
145
|
+
return locationWithinStringArgumentML(ml, offset, length);
|
|
133
146
|
}
|
|
134
147
|
exports.locationWithinStringArgument = locationWithinStringArgument;
|
|
135
148
|
function locationWithinStringArgumentML(loc, offset, length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../src/model/validation/message.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../src/model/validation/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.Project = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const memorize_decorator_1 = tslib_1.__importDefault(require("memorize-decorator"));
|
|
6
6
|
const logging_1 = require("../config/logging");
|
|
7
|
+
const execution_options_1 = require("../execution/execution-options");
|
|
7
8
|
const runtime_errors_1 = require("../execution/runtime-errors");
|
|
8
9
|
const schema_executor_1 = require("../execution/schema-executor");
|
|
9
10
|
const transaction_error_1 = require("../execution/transaction-error");
|
|
@@ -100,12 +101,16 @@ class Project {
|
|
|
100
101
|
};
|
|
101
102
|
}
|
|
102
103
|
async executeTTLCleanupForType(type, databaseAdapter, executionOptions) {
|
|
103
|
-
var _a, _b, _c;
|
|
104
|
+
var _a, _b, _c, _d;
|
|
104
105
|
let limit = (_b = (_a = executionOptions.timeToLiveOptions) === null || _a === void 0 ? void 0 : _a.cleanupLimit) !== null && _b !== void 0 ? _b : executionOptions.timeToLiveCleanupLimit;
|
|
105
106
|
let hasReducedLimit = false;
|
|
106
107
|
let lastLimitReductionCause = undefined;
|
|
107
108
|
while (true) {
|
|
108
|
-
const queryTree = (0, time_to_live_1.getQueryNodeForTTLType)(
|
|
109
|
+
const queryTree = (0, time_to_live_1.getQueryNodeForTTLType)({
|
|
110
|
+
ttlType: type,
|
|
111
|
+
maxCount: limit,
|
|
112
|
+
clock: (_c = executionOptions.clock) !== null && _c !== void 0 ? _c : new execution_options_1.DefaultClock(),
|
|
113
|
+
});
|
|
109
114
|
try {
|
|
110
115
|
const deletedObjectsCount = await this.execute(databaseAdapter, queryTree, executionOptions);
|
|
111
116
|
return {
|
|
@@ -120,7 +125,7 @@ class Project {
|
|
|
120
125
|
};
|
|
121
126
|
}
|
|
122
127
|
catch (error) {
|
|
123
|
-
if (((
|
|
128
|
+
if (((_d = executionOptions.timeToLiveOptions) === null || _d === void 0 ? void 0 : _d.reduceLimitOnResourceLimits) &&
|
|
124
129
|
limit !== undefined &&
|
|
125
130
|
limit > 1) {
|
|
126
131
|
const isResourceLimitError = error instanceof runtime_errors_1.TransactionTimeoutError ||
|
|
@@ -149,10 +154,14 @@ class Project {
|
|
|
149
154
|
async getTTLInfo(databaseAdapter, executionOptions) {
|
|
150
155
|
const ttlTypes = this.getModel().rootEntityTypes.flatMap((rootEntityType) => rootEntityType.timeToLiveTypes);
|
|
151
156
|
const queryTree = new query_tree_1.ListQueryNode(ttlTypes.map((ttlType) => {
|
|
152
|
-
var _a;
|
|
153
|
-
return (0, time_to_live_1.getTTLInfoQueryNode)(
|
|
154
|
-
|
|
155
|
-
|
|
157
|
+
var _a, _b;
|
|
158
|
+
return (0, time_to_live_1.getTTLInfoQueryNode)({
|
|
159
|
+
ttlType: ttlType,
|
|
160
|
+
overdueDelta: ((_a = executionOptions.timeToLiveOptions) === null || _a === void 0 ? void 0 : _a.overdueDelta) ||
|
|
161
|
+
executionOptions.timeToLiveOverdueDelta ||
|
|
162
|
+
3,
|
|
163
|
+
clock: (_b = executionOptions.clock) !== null && _b !== void 0 ? _b : new execution_options_1.DefaultClock(),
|
|
164
|
+
});
|
|
156
165
|
}));
|
|
157
166
|
return await this.execute(databaseAdapter, queryTree, executionOptions);
|
|
158
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/project/project.ts"],"names":[],"mappings":";;;;AACA,oFAA0C;AAE1C,+CAA4E;
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/project/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Clock } from '../execution/execution-options';
|
|
2
2
|
import { TimeToLiveType } from '../model/implementation/time-to-live';
|
|
3
|
-
import {
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import { ObjectQueryNode, QueryNode } from '../query-tree';
|
|
4
|
+
export interface GetQueryNodeArgs {
|
|
5
|
+
readonly ttlType: TimeToLiveType;
|
|
6
|
+
readonly clock: Clock;
|
|
7
|
+
readonly maxCount?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface TTLInfoQueryNodeArgs {
|
|
10
|
+
readonly ttlType: TimeToLiveType;
|
|
11
|
+
readonly overdueDelta: number;
|
|
12
|
+
readonly clock: Clock;
|
|
13
|
+
}
|
|
8
14
|
export interface TTLInfo {
|
|
9
15
|
readonly typeName: string;
|
|
10
16
|
readonly dateField: string;
|
|
@@ -12,3 +18,5 @@ export interface TTLInfo {
|
|
|
12
18
|
readonly expiredObjectCount: number;
|
|
13
19
|
readonly overdueObjectCount: number;
|
|
14
20
|
}
|
|
21
|
+
export declare function getQueryNodeForTTLType({ ttlType, maxCount, clock }: GetQueryNodeArgs): QueryNode;
|
|
22
|
+
export declare function getTTLInfoQueryNode({ ttlType, overdueDelta, clock }: TTLInfoQueryNodeArgs): ObjectQueryNode;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTTLInfoQueryNode = exports.
|
|
3
|
+
exports.getTTLInfoQueryNode = exports.getQueryNodeForTTLType = void 0;
|
|
4
4
|
const core_1 = require("@js-joda/core");
|
|
5
5
|
const query_tree_1 = require("../query-tree");
|
|
6
6
|
const schema_generation_1 = require("../schema-generation");
|
|
7
7
|
const filter_fields_1 = require("../schema-generation/filter-input-types/filter-fields");
|
|
8
8
|
const local_date_1 = require("../schema/scalars/local-date");
|
|
9
9
|
const utils_1 = require("../utils/utils");
|
|
10
|
-
function getQueryNodeForTTLType(ttlType, maxCount) {
|
|
10
|
+
function getQueryNodeForTTLType({ ttlType, maxCount, clock }) {
|
|
11
11
|
if (!ttlType.rootEntityType) {
|
|
12
12
|
throw new Error(`The ttlType does not specify a valid rootEntityType.`);
|
|
13
13
|
}
|
|
@@ -17,7 +17,11 @@ function getQueryNodeForTTLType(ttlType, maxCount) {
|
|
|
17
17
|
if (!ttlType.fieldType) {
|
|
18
18
|
throw new Error(`The ttlType does not have a valid fieldType.`);
|
|
19
19
|
}
|
|
20
|
-
const deleteFrom = calcDeleteFrom(
|
|
20
|
+
const deleteFrom = calcDeleteFrom({
|
|
21
|
+
expireAfterDays: ttlType.expireAfterDays,
|
|
22
|
+
fieldType: ttlType.fieldType,
|
|
23
|
+
clock,
|
|
24
|
+
});
|
|
21
25
|
const listItemVar = new query_tree_1.VariableQueryNode((0, utils_1.decapitalize)(ttlType.rootEntityType.name));
|
|
22
26
|
const listQueryNode = new query_tree_1.TransformListQueryNode({
|
|
23
27
|
listNode: new query_tree_1.EntitiesQueryNode(ttlType.rootEntityType),
|
|
@@ -27,27 +31,11 @@ function getQueryNodeForTTLType(ttlType, maxCount) {
|
|
|
27
31
|
});
|
|
28
32
|
return (0, schema_generation_1.generateDeleteAllQueryNode)(ttlType.rootEntityType, listQueryNode, {
|
|
29
33
|
resultValue: query_tree_1.DeleteEntitiesResultValue.COUNT,
|
|
34
|
+
additionalCascadeFields: ttlType.cascadeFields,
|
|
30
35
|
});
|
|
31
36
|
}
|
|
32
37
|
exports.getQueryNodeForTTLType = getQueryNodeForTTLType;
|
|
33
|
-
function
|
|
34
|
-
const filterNode = new query_tree_1.BinaryOperationQueryNode((0, filter_fields_1.getScalarFilterValueNode)(new query_tree_1.FieldPathQueryNode(listItemVar, path), fieldType), query_tree_1.BinaryOperator.LESS_THAN, new query_tree_1.LiteralQueryNode(deleteFrom));
|
|
35
|
-
const nullFilterNode = new query_tree_1.BinaryOperationQueryNode((0, filter_fields_1.getScalarFilterValueNode)(new query_tree_1.FieldPathQueryNode(listItemVar, path), fieldType), query_tree_1.BinaryOperator.GREATER_THAN, new query_tree_1.NullQueryNode());
|
|
36
|
-
return new query_tree_1.BinaryOperationQueryNode(filterNode, query_tree_1.BinaryOperator.AND, nullFilterNode);
|
|
37
|
-
}
|
|
38
|
-
exports.getTTLFilter = getTTLFilter;
|
|
39
|
-
function calcDeleteFrom(expireAfterDays, fieldType) {
|
|
40
|
-
if (!fieldType) {
|
|
41
|
-
throw new Error(`The ttl-type dateField does not have a valid type.`);
|
|
42
|
-
}
|
|
43
|
-
// Use westernmost timezone for LocalDate so objects are only deleted when they are expired everywhere in the world
|
|
44
|
-
const currentTime = fieldType.name === local_date_1.GraphQLLocalDate.name
|
|
45
|
-
? core_1.ZonedDateTime.now(core_1.ZoneId.of('UTC+12:00'))
|
|
46
|
-
: core_1.ZonedDateTime.now(core_1.ZoneId.UTC);
|
|
47
|
-
return currentTime.minusDays(expireAfterDays).format(core_1.DateTimeFormatter.ISO_INSTANT);
|
|
48
|
-
}
|
|
49
|
-
exports.calcDeleteFrom = calcDeleteFrom;
|
|
50
|
-
function getTTLInfoQueryNode(ttlType, overdueDelta) {
|
|
38
|
+
function getTTLInfoQueryNode({ ttlType, overdueDelta, clock }) {
|
|
51
39
|
if (!ttlType.rootEntityType) {
|
|
52
40
|
throw new Error(`The ttlType does not specify a valid rootEntityType.`);
|
|
53
41
|
}
|
|
@@ -66,14 +54,38 @@ function getTTLInfoQueryNode(ttlType, overdueDelta) {
|
|
|
66
54
|
new query_tree_1.PropertySpecification('expiredObjectCount', new query_tree_1.CountQueryNode(new query_tree_1.TransformListQueryNode({
|
|
67
55
|
listNode: new query_tree_1.EntitiesQueryNode(ttlType.rootEntityType),
|
|
68
56
|
itemVariable: expiredVariableNode,
|
|
69
|
-
filterNode: getTTLFilter(ttlType.fieldType, ttlType.path, calcDeleteFrom(
|
|
57
|
+
filterNode: getTTLFilter(ttlType.fieldType, ttlType.path, calcDeleteFrom({
|
|
58
|
+
expireAfterDays: ttlType.expireAfterDays,
|
|
59
|
+
fieldType: ttlType.fieldType,
|
|
60
|
+
clock,
|
|
61
|
+
}), expiredVariableNode),
|
|
70
62
|
}))),
|
|
71
63
|
new query_tree_1.PropertySpecification('overdueObjectCount', new query_tree_1.CountQueryNode(new query_tree_1.TransformListQueryNode({
|
|
72
64
|
listNode: new query_tree_1.EntitiesQueryNode(ttlType.rootEntityType),
|
|
73
65
|
itemVariable: overdueVariableNode,
|
|
74
|
-
filterNode: getTTLFilter(ttlType.fieldType, ttlType.path, calcDeleteFrom(
|
|
66
|
+
filterNode: getTTLFilter(ttlType.fieldType, ttlType.path, calcDeleteFrom({
|
|
67
|
+
expireAfterDays: ttlType.expireAfterDays + overdueDelta,
|
|
68
|
+
fieldType: ttlType.fieldType,
|
|
69
|
+
clock,
|
|
70
|
+
}), overdueVariableNode),
|
|
75
71
|
}))),
|
|
76
72
|
]);
|
|
77
73
|
}
|
|
78
74
|
exports.getTTLInfoQueryNode = getTTLInfoQueryNode;
|
|
75
|
+
function getTTLFilter(fieldType, path, deleteFrom, listItemVar) {
|
|
76
|
+
const filterNode = new query_tree_1.BinaryOperationQueryNode((0, filter_fields_1.getScalarFilterValueNode)(new query_tree_1.FieldPathQueryNode(listItemVar, path), fieldType), query_tree_1.BinaryOperator.LESS_THAN, new query_tree_1.LiteralQueryNode(deleteFrom));
|
|
77
|
+
const nullFilterNode = new query_tree_1.BinaryOperationQueryNode((0, filter_fields_1.getScalarFilterValueNode)(new query_tree_1.FieldPathQueryNode(listItemVar, path), fieldType), query_tree_1.BinaryOperator.GREATER_THAN, new query_tree_1.NullQueryNode());
|
|
78
|
+
return new query_tree_1.BinaryOperationQueryNode(filterNode, query_tree_1.BinaryOperator.AND, nullFilterNode);
|
|
79
|
+
}
|
|
80
|
+
function calcDeleteFrom({ expireAfterDays, fieldType, clock }) {
|
|
81
|
+
if (!fieldType) {
|
|
82
|
+
throw new Error(`The ttl-type dateField does not have a valid type.`);
|
|
83
|
+
}
|
|
84
|
+
const now = core_1.Instant.parse(clock.getCurrentTimestamp());
|
|
85
|
+
// Use westernmost timezone for LocalDate so objects are only deleted when they are expired everywhere in the world
|
|
86
|
+
const currentTime = fieldType.name === local_date_1.GraphQLLocalDate.name
|
|
87
|
+
? now.atZone(core_1.ZoneId.of('UTC+12:00'))
|
|
88
|
+
: now.atZone(core_1.ZoneId.UTC);
|
|
89
|
+
return currentTime.minusDays(expireAfterDays).format(core_1.DateTimeFormatter.ISO_INSTANT);
|
|
90
|
+
}
|
|
79
91
|
//# sourceMappingURL=time-to-live.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-to-live.js","sourceRoot":"","sources":["../../../src/project/time-to-live.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"time-to-live.js","sourceRoot":"","sources":["../../../src/project/time-to-live.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,6 +89,13 @@
|
|
|
89
89
|
"expireAfterDays": {
|
|
90
90
|
"type": "integer",
|
|
91
91
|
"minimum": 1
|
|
92
|
+
},
|
|
93
|
+
"cascadeFields:": {
|
|
94
|
+
"type": "array",
|
|
95
|
+
"items": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"pattern": "^([a-zA-Z0-9_-]|\\.)+$"
|
|
98
|
+
}
|
|
92
99
|
}
|
|
93
100
|
},
|
|
94
101
|
"required": ["typeName", "dateField", "expireAfterDays"]
|