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.
Files changed (117) hide show
  1. package/.github/workflows/ci.yml +4 -3
  2. package/.nvmrc +1 -1
  3. package/README.md +8 -0
  4. package/dist/spec/{schema/ast-validation-modules/flex-search.spec.d.ts → database/arangodb/ttl.spec.d.ts} +0 -0
  5. package/dist/spec/database/arangodb/ttl.spec.js +346 -0
  6. package/dist/spec/database/arangodb/ttl.spec.js.map +1 -0
  7. package/dist/spec/model/create-model.spec.js +26 -0
  8. package/dist/spec/model/create-model.spec.js.map +1 -1
  9. package/dist/spec/model/implementation/field.spec.js +8 -0
  10. package/dist/spec/model/implementation/field.spec.js.map +1 -1
  11. package/dist/spec/model/implementation/flex-search-validation.spec.js +70 -5
  12. package/dist/spec/model/implementation/flex-search-validation.spec.js.map +1 -1
  13. package/dist/spec/performance/query-pipeline.perf.js +3 -2
  14. package/dist/spec/performance/query-pipeline.perf.js.map +1 -1
  15. package/dist/spec/regression/initialization.js +2 -1
  16. package/dist/spec/regression/initialization.js.map +1 -1
  17. package/dist/spec/schema/ast-validation-modules/helpers.d.ts +10 -8
  18. package/dist/spec/schema/ast-validation-modules/helpers.js +28 -24
  19. package/dist/spec/schema/ast-validation-modules/helpers.js.map +1 -1
  20. package/dist/spec/schema/ast-validation-modules/ttl.spec.d.ts +1 -0
  21. package/dist/spec/schema/ast-validation-modules/ttl.spec.js +362 -0
  22. package/dist/spec/schema/ast-validation-modules/ttl.spec.js.map +1 -0
  23. package/dist/spec/schema/schema-builder.spec.js +22 -0
  24. package/dist/spec/schema/schema-builder.spec.js.map +1 -1
  25. package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js +14 -0
  26. package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js.map +1 -1
  27. package/dist/spec/schema-generation/create-input-type-generator.spec.js +1 -5
  28. package/dist/spec/schema-generation/create-input-type-generator.spec.js.map +1 -1
  29. package/dist/src/database/arangodb/aql-generator.d.ts +8 -1
  30. package/dist/src/database/arangodb/aql-generator.js +18 -9
  31. package/dist/src/database/arangodb/aql-generator.js.map +1 -1
  32. package/dist/src/database/arangodb/arangodb-adapter.js +3 -1
  33. package/dist/src/database/arangodb/arangodb-adapter.js.map +1 -1
  34. package/dist/src/database/arangodb/arangojs-instrumentation/custom-connection.d.ts +2 -2
  35. package/dist/src/database/arangodb/arangojs-instrumentation/custom-connection.js +8 -58
  36. package/dist/src/database/arangodb/arangojs-instrumentation/custom-connection.js.map +1 -1
  37. package/dist/src/database/arangodb/arangojs-instrumentation/custom-request.d.ts +18 -8
  38. package/dist/src/database/arangodb/arangojs-instrumentation/custom-request.js +14 -2
  39. package/dist/src/database/arangodb/arangojs-instrumentation/custom-request.js.map +1 -1
  40. package/dist/src/database/arangodb/schema-migration/analyzer.js +4 -4
  41. package/dist/src/database/arangodb/schema-migration/analyzer.js.map +1 -1
  42. package/dist/src/database/arangodb/schema-migration/arango-search-helpers.d.ts +9 -9
  43. package/dist/src/database/arangodb/schema-migration/arango-search-helpers.js +17 -9
  44. package/dist/src/database/arangodb/schema-migration/arango-search-helpers.js.map +1 -1
  45. package/dist/src/database/arangodb/schema-migration/migrations.d.ts +9 -5
  46. package/dist/src/database/arangodb/schema-migration/migrations.js.map +1 -1
  47. package/dist/src/database/arangodb/schema-migration/performer.js +6 -6
  48. package/dist/src/database/arangodb/schema-migration/performer.js.map +1 -1
  49. package/dist/src/database/inmemory/inmemory-adapter.d.ts +2 -1
  50. package/dist/src/database/inmemory/inmemory-adapter.js +16 -2
  51. package/dist/src/database/inmemory/inmemory-adapter.js.map +1 -1
  52. package/dist/src/database/inmemory/js-generator.d.ts +8 -1
  53. package/dist/src/database/inmemory/js-generator.js +16 -7
  54. package/dist/src/database/inmemory/js-generator.js.map +1 -1
  55. package/dist/src/execution/execution-options.d.ts +16 -0
  56. package/dist/src/execution/execution-options.js +10 -0
  57. package/dist/src/execution/execution-options.js.map +1 -1
  58. package/dist/src/execution/operation-resolver.js +4 -2
  59. package/dist/src/execution/operation-resolver.js.map +1 -1
  60. package/dist/src/model/config/indices.d.ts +3 -1
  61. package/dist/src/model/config/time-to-live.d.ts +8 -3
  62. package/dist/src/model/create-model.js +54 -25
  63. package/dist/src/model/create-model.js.map +1 -1
  64. package/dist/src/model/implementation/field-path.d.ts +19 -3
  65. package/dist/src/model/implementation/field-path.js +37 -3
  66. package/dist/src/model/implementation/field-path.js.map +1 -1
  67. package/dist/src/model/implementation/field.js +37 -2
  68. package/dist/src/model/implementation/field.js.map +1 -1
  69. package/dist/src/model/implementation/flex-search.d.ts +7 -2
  70. package/dist/src/model/implementation/flex-search.js +37 -3
  71. package/dist/src/model/implementation/flex-search.js.map +1 -1
  72. package/dist/src/model/implementation/relation.d.ts +22 -0
  73. package/dist/src/model/implementation/relation.js +6 -0
  74. package/dist/src/model/implementation/relation.js.map +1 -1
  75. package/dist/src/model/implementation/root-entity-type.js +3 -28
  76. package/dist/src/model/implementation/root-entity-type.js.map +1 -1
  77. package/dist/src/model/implementation/time-to-live.d.ts +5 -1
  78. package/dist/src/model/implementation/time-to-live.js +91 -5
  79. package/dist/src/model/implementation/time-to-live.js.map +1 -1
  80. package/dist/src/model/parse-ttl.js +10 -6
  81. package/dist/src/model/parse-ttl.js.map +1 -1
  82. package/dist/src/model/validation/message.d.ts +2 -2
  83. package/dist/src/model/validation/message.js +19 -6
  84. package/dist/src/model/validation/message.js.map +1 -1
  85. package/dist/src/project/project.js +16 -7
  86. package/dist/src/project/project.js.map +1 -1
  87. package/dist/src/project/time-to-live.d.ts +14 -6
  88. package/dist/src/project/time-to-live.js +35 -23
  89. package/dist/src/project/time-to-live.js.map +1 -1
  90. package/dist/src/schema/graphql-base.js +1 -1
  91. package/dist/src/schema/preparation/source-validation-modules/schema/schema.json +7 -0
  92. package/dist/src/schema/preparation/source-validation-modules/schema/validate-schema.js +1 -1
  93. package/dist/src/schema/schema-builder.js +5 -5
  94. package/dist/src/schema/schema-builder.js.map +1 -1
  95. package/dist/src/schema-generation/create-input-types/input-types.d.ts +3 -3
  96. package/dist/src/schema-generation/create-input-types/input-types.js +6 -9
  97. package/dist/src/schema-generation/create-input-types/input-types.js.map +1 -1
  98. package/dist/src/schema-generation/delete-all-generator.d.ts +9 -2
  99. package/dist/src/schema-generation/delete-all-generator.js +4 -2
  100. package/dist/src/schema-generation/delete-all-generator.js.map +1 -1
  101. package/dist/src/schema-generation/flex-search-generator.d.ts +2 -2
  102. package/dist/src/schema-generation/flex-search-generator.js +5 -5
  103. package/dist/src/schema-generation/flex-search-generator.js.map +1 -1
  104. package/dist/src/schema-generation/query-node-object-type/context.d.ts +5 -0
  105. package/dist/src/schema-generation/query-node-object-type/context.js.map +1 -1
  106. package/dist/src/schema-generation/query-node-object-type/query-node-generator.d.ts +2 -1
  107. package/dist/src/schema-generation/query-node-object-type/query-node-generator.js +14 -6
  108. package/dist/src/schema-generation/query-node-object-type/query-node-generator.js.map +1 -1
  109. package/dist/src/schema-generation/utils/relations.d.ts +9 -1
  110. package/dist/src/schema-generation/utils/relations.js +46 -14
  111. package/dist/src/schema-generation/utils/relations.js.map +1 -1
  112. package/docs/flexSearch.md +9 -6
  113. package/docs/modelling.md +2 -2
  114. package/docs/time-to-live.md +25 -0
  115. package/package.json +3 -3
  116. package/dist/spec/schema/ast-validation-modules/flex-search.spec.js +0 -15
  117. 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
- get rootEntityType(): RootEntityType | undefined;
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
- get rootEntityType() {
23
- return this.model.getRootEntityType(this.input.typeName);
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":"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"}
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
- ...ttlConfig,
11
- typeNameLoc: source.pathLocationMap[`/timeToLive/${index}/typeName`],
12
- dateFieldLoc: source.pathLocationMap[`/timeToLive/${index}/dateField`],
13
- expireAfterDaysLoc: source.pathLocationMap[`/timeToLive/${index}/expireAfterDays`],
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,CAAC,CAAC;QACzC,GAAG,SAAS;QACZ,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,eAAe,KAAK,WAAW,CAAC;QACpE,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC,eAAe,KAAK,YAAY,CAAC;QACtE,kBAAkB,EAAE,MAAM,CAAC,eAAe,CAAC,eAAe,KAAK,kBAAkB,CAAC;KACrF,CAAC,CAAC,CAAC;AACR,CAAC;AAXD,0CAWC"}
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, StringValueNode } from 'graphql';
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: StringValueNode | MessageLocation, offset: number, length: number): MessageLocation | undefined;
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
- return locationWithinStringArgumentML(node, offset, length);
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
- if (!node.loc) {
128
- return undefined;
142
+ else {
143
+ ml = MessageLocation.fromGraphQLLocation(node);
129
144
  }
130
- const loc = node.loc;
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":"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"}
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)(type, limit);
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 (((_c = executionOptions.timeToLiveOptions) === null || _c === void 0 ? void 0 : _c.reduceLimitOnResourceLimits) &&
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)(ttlType, ((_a = executionOptions.timeToLiveOptions) === null || _a === void 0 ? void 0 : _a.overdueDelta) ||
154
- executionOptions.timeToLiveOverdueDelta ||
155
- 3);
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":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/project/project.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,16 @@
1
- import { Field, ScalarType } from '../model';
1
+ import { Clock } from '../execution/execution-options';
2
2
  import { TimeToLiveType } from '../model/implementation/time-to-live';
3
- import { BinaryOperationQueryNode, ObjectQueryNode, QueryNode, VariableQueryNode } from '../query-tree';
4
- export declare function getQueryNodeForTTLType(ttlType: TimeToLiveType, maxCount: number | undefined): QueryNode;
5
- export declare function getTTLFilter(fieldType: ScalarType, path: ReadonlyArray<Field>, deleteFrom: string, listItemVar: VariableQueryNode): BinaryOperationQueryNode;
6
- export declare function calcDeleteFrom(expireAfterDays: number, fieldType: ScalarType | undefined): string;
7
- export declare function getTTLInfoQueryNode(ttlType: TimeToLiveType, overdueDelta: number): ObjectQueryNode;
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.calcDeleteFrom = exports.getTTLFilter = exports.getQueryNodeForTTLType = void 0;
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(ttlType.expireAfterDays, ttlType.fieldType);
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 getTTLFilter(fieldType, path, deleteFrom, listItemVar) {
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(ttlType.expireAfterDays, ttlType.fieldType), expiredVariableNode),
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(ttlType.expireAfterDays + overdueDelta, ttlType.fieldType), overdueVariableNode),
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":"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"}
1
+ {"version":3,"file":"time-to-live.js","sourceRoot":"","sources":["../../../src/project/time-to-live.ts"],"names":[],"mappings":"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"}
@@ -167,7 +167,7 @@ exports.DIRECTIVES = (0, graphql_tag_1.default) `
167
167
 
168
168
  "An argument to define the order of a flexSearchIndex"
169
169
  input FlexSearchOrderArgument {
170
- field: String
170
+ field: String!
171
171
  direction: OrderDirection
172
172
  }
173
173
 
@@ -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"]