@webda/models 4.0.0-beta.5 → 4.0.0-beta.7

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 (37) hide show
  1. package/README.md +5 -4
  2. package/lib/aggregation.d.ts +81 -0
  3. package/lib/aggregation.d.ts.map +1 -0
  4. package/lib/aggregation.js +2 -0
  5. package/lib/aggregation.js.map +1 -0
  6. package/lib/index.d.ts +1 -0
  7. package/lib/index.d.ts.map +1 -1
  8. package/lib/index.js +1 -0
  9. package/lib/index.js.map +1 -1
  10. package/lib/model.model.d.ts +9 -0
  11. package/lib/model.model.d.ts.map +1 -1
  12. package/lib/model.model.js.map +1 -1
  13. package/lib/repositories/abstract.d.ts +121 -1
  14. package/lib/repositories/abstract.d.ts.map +1 -1
  15. package/lib/repositories/abstract.js +293 -0
  16. package/lib/repositories/abstract.js.map +1 -1
  17. package/lib/repositories/conformance.d.ts +27 -0
  18. package/lib/repositories/conformance.d.ts.map +1 -1
  19. package/lib/repositories/conformance.js +285 -0
  20. package/lib/repositories/conformance.js.map +1 -1
  21. package/lib/repositories/event.d.ts +35 -1
  22. package/lib/repositories/event.d.ts.map +1 -1
  23. package/lib/repositories/event.js +48 -0
  24. package/lib/repositories/event.js.map +1 -1
  25. package/lib/repositories/hooks.d.ts +15 -2
  26. package/lib/repositories/hooks.d.ts.map +1 -1
  27. package/lib/repositories/hooks.js +14 -0
  28. package/lib/repositories/hooks.js.map +1 -1
  29. package/lib/repositories/memory.d.ts +34 -1
  30. package/lib/repositories/memory.d.ts.map +1 -1
  31. package/lib/repositories/memory.js +75 -2
  32. package/lib/repositories/memory.js.map +1 -1
  33. package/lib/repositories/repository.d.ts +57 -1
  34. package/lib/repositories/repository.d.ts.map +1 -1
  35. package/lib/repositories/repository.js.map +1 -1
  36. package/package.json +9 -8
  37. package/webda.module.json +120 -0
@@ -21,6 +21,10 @@ export class AbstractRepository {
21
21
  this.separator = separator;
22
22
  /** Registered event listeners keyed by event name */
23
23
  this.events = new Map();
24
+ /** Aggregation fallback policy, set by the owning store through configureAggregation */
25
+ this.aggregationOptions = { fallback: "warn", maxGroups: 10000 };
26
+ /** Fallback shapes already warned about */
27
+ this.warnedAggregations = new Set();
24
28
  /**
25
29
  * Max-listeners hint kept for Node `EventEmitter` API compatibility. Not
26
30
  * enforced — repositories use an unbounded `Set` per event.
@@ -224,6 +228,295 @@ export class AbstractRepository {
224
228
  async incrementAttribute(primaryKey, info, _conditionField, _condition) {
225
229
  await this.incrementAttributes(primaryKey, [info]);
226
230
  }
231
+ /**
232
+ * Field paths of the model, from its metadata (`Reflection` and the stored, input and output schemas)
233
+ *
234
+ * Used to validate UPDATE SET targets.
235
+ * @returns the field names, undefined when the model carries no field metadata (no validation then)
236
+ */
237
+ getAllowedFields() {
238
+ const meta = this.model?.Metadata;
239
+ const fields = new Set([
240
+ ...Object.keys(meta?.Reflection ?? {}),
241
+ ...Object.keys(meta?.Schemas?.Stored?.properties ?? {}),
242
+ ...Object.keys(meta?.Schemas?.Input?.properties ?? {}),
243
+ ...Object.keys(meta?.Schemas?.Output?.properties ?? {})
244
+ ]);
245
+ return fields.size ? [...fields] : undefined;
246
+ }
247
+ /**
248
+ * Parse a bulk statement and check it is of the expected type
249
+ *
250
+ * For an UPDATE, every SET target is checked: no primary key field, no private (`__`) segment, no
251
+ * `constructor`/`prototype` segment, and a field of the model when its metadata lists them.
252
+ * @param type - the expected statement type
253
+ * @param statement - the statement string or its parsed form
254
+ * @param params - values for the placeholders of a statement string
255
+ * @returns the parsed statement
256
+ * @throws WebdaQLError when the statement has another type or a SET target is refused
257
+ * @throws SyntaxError when the statement does not parse, or a SET target is not a field of the model
258
+ */
259
+ async parseStatement(type, statement, params) {
260
+ const WebdaQL = await import("@webda/ql");
261
+ let parsed;
262
+ if (typeof statement === "string") {
263
+ parsed = WebdaQL.parse(params !== undefined ? WebdaQL.bind(statement, params) : statement);
264
+ }
265
+ else {
266
+ if (params !== undefined) {
267
+ throw new WebdaQL.WebdaQLError("Parameters can only be bound to a statement string");
268
+ }
269
+ // A query object built or changed by code goes back through the grammar: no forged path, operator or value
270
+ // reaches a backend
271
+ parsed = WebdaQL.normalizeQuery(statement);
272
+ }
273
+ if (parsed.type !== type) {
274
+ throw new WebdaQL.WebdaQLError(`${type === "DELETE" ? "deleteMany needs a" : "updateMany needs an"} ${type} statement, not ${parsed.type ?? "a filter"}`);
275
+ }
276
+ if (type === "UPDATE") {
277
+ if (!parsed.assignments?.length) {
278
+ throw new WebdaQL.WebdaQLError("UPDATE needs at least one SET assignment");
279
+ }
280
+ const targets = parsed.assignments.map(a => a.field);
281
+ for (const field of targets) {
282
+ const segments = field.split(".");
283
+ if (segments.some(s => !/^[A-Za-z0-9_]+$/.test(s))) {
284
+ throw new WebdaQL.WebdaQLError(`UPDATE cannot set the field '${field}': empty or invalid path segment`);
285
+ }
286
+ if (this.pks.includes(segments[0])) {
287
+ throw new WebdaQL.WebdaQLError(`UPDATE cannot change the primary key field '${field}'`);
288
+ }
289
+ if (segments.some(s => s.startsWith("__") || s in Object.prototype || s === "prototype")) {
290
+ throw new WebdaQL.WebdaQLError(`UPDATE cannot set the private field '${field}'`);
291
+ }
292
+ // The same field twice, or a field and one of its children: the result would depend on the store
293
+ if (targets.some(other => other !== field && other.startsWith(`${field}.`)) ||
294
+ targets.indexOf(field) !== targets.lastIndexOf(field)) {
295
+ throw new WebdaQL.WebdaQLError(`UPDATE sets '${field}' more than once`);
296
+ }
297
+ }
298
+ const allowed = this.getAllowedFields();
299
+ if (allowed) {
300
+ WebdaQL.validateQueryFields(parsed, allowed);
301
+ }
302
+ }
303
+ return parsed;
304
+ }
305
+ /**
306
+ * Set the assignments of an UPDATE on an object, creating the intermediate objects of dotted paths
307
+ *
308
+ * Targets were checked by {@link parseStatement}: letters, digits and `_` only, no `__` segment, no
309
+ * `Object.prototype` member name.
310
+ * @param target - the object to change in place
311
+ * @param assignments - the SET assignments
312
+ * @returns the target
313
+ */
314
+ applyAssignments(target, assignments) {
315
+ for (const { field, value } of assignments) {
316
+ const segments = field.split(".");
317
+ let current = target;
318
+ for (const segment of segments.slice(0, -1)) {
319
+ if (current[segment] === null || typeof current[segment] !== "object") {
320
+ current[segment] = {};
321
+ }
322
+ current = current[segment];
323
+ }
324
+ current[segments[segments.length - 1]] = value;
325
+ }
326
+ return target;
327
+ }
328
+ /**
329
+ * Keys of the objects matching the WHERE of a statement, collected before any change so an update changing a
330
+ * WHERE field cannot meet the same object twice; at most LIMIT keys
331
+ * @param statement - the parsed statement
332
+ * @returns the primary keys
333
+ */
334
+ async collectStatementKeys(statement) {
335
+ const keys = [];
336
+ if (statement.limit !== undefined && statement.limit <= 0) {
337
+ return keys;
338
+ }
339
+ for await (const object of this.iterate(statement.filter.toString())) {
340
+ keys.push(this.getPrimaryKey(object));
341
+ if (statement.limit && keys.length >= statement.limit) {
342
+ break;
343
+ }
344
+ }
345
+ return keys;
346
+ }
347
+ /**
348
+ * Run one write of the generic fallback; an object deleted since the keys were collected is skipped
349
+ * @param key - the primary key
350
+ * @param write - the write
351
+ * @returns true when written, false when the object is gone
352
+ * @throws the write error when the object still exists
353
+ */
354
+ async writeIfPresent(key, write) {
355
+ try {
356
+ await write();
357
+ return true;
358
+ }
359
+ catch (err) {
360
+ if (await this.exists(key)) {
361
+ throw err;
362
+ }
363
+ return false;
364
+ }
365
+ }
366
+ /**
367
+ * Generic `deleteMany`: collect the matching keys (up to LIMIT), then delete them one by one with this
368
+ * repository's `delete` primitive
369
+ *
370
+ * Used by stores without a native bulk delete. On a store repository the primitive emits no event.
371
+ * @param statement - the DELETE statement or its parsed form
372
+ * @param params - values for the placeholders
373
+ * @returns the number of objects deleted
374
+ */
375
+ async deleteManyByKey(statement, params) {
376
+ const parsed = await this.parseStatement("DELETE", statement, params);
377
+ const keys = await this.collectStatementKeys(parsed);
378
+ let count = 0;
379
+ for (const key of keys) {
380
+ if (await this.writeIfPresent(key, () => this.delete(key)))
381
+ count++;
382
+ }
383
+ return count;
384
+ }
385
+ /**
386
+ * Generic `updateMany`: collect the matching keys (up to LIMIT), then patch them one by one with this
387
+ * repository's `patch` primitive. A dotted target reads the object to rewrite its top-level field.
388
+ *
389
+ * Used by stores without a native bulk update. On a store repository the primitive emits no event.
390
+ * @param statement - the UPDATE statement or its parsed form
391
+ * @param params - values for the placeholders
392
+ * @returns the number of objects updated
393
+ */
394
+ async updateManyByKey(statement, params) {
395
+ const parsed = await this.parseStatement("UPDATE", statement, params);
396
+ const keys = await this.collectStatementKeys(parsed);
397
+ const nested = parsed.assignments.some(a => a.field.includes("."));
398
+ let count = 0;
399
+ for (const key of keys) {
400
+ const patch = {};
401
+ if (nested) {
402
+ let current;
403
+ try {
404
+ current = await this.get(key);
405
+ }
406
+ catch (err) {
407
+ if (await this.exists(key))
408
+ throw err;
409
+ // Deleted since the keys were collected
410
+ continue;
411
+ }
412
+ for (const { field } of parsed.assignments) {
413
+ const top = field.split(".")[0];
414
+ // A deep copy of the current value, so the nested assignments keep its other fields
415
+ patch[top] ??= current?.[top] === undefined ? undefined : JSON.parse(JSON.stringify(current[top]));
416
+ }
417
+ }
418
+ if (await this.writeIfPresent(key, () => this.patch(key, this.applyAssignments(patch, parsed.assignments)))) {
419
+ count++;
420
+ }
421
+ }
422
+ return count;
423
+ }
424
+ /**
425
+ * Delete in bulk: see {@link Repository.deleteMany}
426
+ *
427
+ * The generic implementation collects the matching keys then deletes them with `delete`; stores override it
428
+ * with their native batch operation.
429
+ * @override
430
+ */
431
+ async deleteMany(statement, params) {
432
+ return this.deleteManyByKey(statement, params);
433
+ }
434
+ /**
435
+ * Update in bulk: see {@link Repository.updateMany}
436
+ *
437
+ * The generic implementation collects the matching keys then patches them with `patch`; stores override it
438
+ * with their native batch operation.
439
+ * @override
440
+ */
441
+ async updateMany(statement, params) {
442
+ return this.updateManyByKey(statement, params);
443
+ }
444
+ /**
445
+ * Copy the known options (fallback, maxGroups, warn); undefined values keep the current ones
446
+ * @override
447
+ * @throws Error when maxGroups is not a positive integer or fallback is unknown
448
+ */
449
+ configureAggregation(options) {
450
+ const { fallback, maxGroups, warn } = options ?? {};
451
+ if (maxGroups !== undefined && !(Number.isInteger(maxGroups) && maxGroups > 0)) {
452
+ throw new Error(`Invalid aggregation maxGroups '${maxGroups}': expected a positive integer`);
453
+ }
454
+ if (fallback !== undefined && !["allow", "warn", "deny"].includes(fallback)) {
455
+ throw new Error(`Invalid aggregation fallback '${fallback}': expected allow, warn or deny`);
456
+ }
457
+ if (fallback !== undefined)
458
+ this.aggregationOptions.fallback = fallback;
459
+ if (maxGroups !== undefined)
460
+ this.aggregationOptions.maxGroups = maxGroups;
461
+ if (warn !== undefined)
462
+ this.aggregationOptions.warn = warn;
463
+ }
464
+ /**
465
+ * Keep the full generic signature here (not `spec: any`): concrete repositories are used
466
+ * directly in code and tests, and must expose the typed rows.
467
+ * @override
468
+ */
469
+ async aggregate(spec, params) {
470
+ const { toAggregationQuery } = await import("@webda/ql");
471
+ return this.executeAggregation(toAggregationQuery(spec, params));
472
+ }
473
+ /**
474
+ * Run a validated aggregation
475
+ *
476
+ * Backends override it to aggregate natively, and call super for the shapes they cannot translate.
477
+ * The default streams iterate() into the in-memory Aggregator, under the fallback policy.
478
+ * @param query - the validated aggregation
479
+ * @returns the rows
480
+ */
481
+ async executeAggregation(query) {
482
+ await this.checkAggregationFallback(query, "the backend has no native aggregation");
483
+ return { rows: await this.aggregateInMemory(query), native: false };
484
+ }
485
+ /**
486
+ * Apply the fallback policy before aggregating in memory
487
+ * @param query - the aggregation
488
+ * @param reason - why it cannot run natively
489
+ * @throws AggregationError AGGREGATION_NOT_NATIVE when the policy is deny
490
+ */
491
+ async checkAggregationFallback(query, reason) {
492
+ const { fallback, warn } = this.aggregationOptions;
493
+ if (fallback === "allow")
494
+ return;
495
+ const model = this.model?.Metadata?.Identifier ?? this.model?.name;
496
+ const message = `Aggregation on ${model} grouped by [${query.groupBy.join(", ")}] runs in memory: ${reason}`;
497
+ if (fallback === "deny") {
498
+ const { AggregationError } = await import("@webda/ql");
499
+ throw new AggregationError("AGGREGATION_NOT_NATIVE", message);
500
+ }
501
+ const shape = `${query.groupBy.join(",")}|${reason}`;
502
+ if (!this.warnedAggregations.has(shape)) {
503
+ this.warnedAggregations.add(shape);
504
+ warn?.(message);
505
+ }
506
+ }
507
+ /**
508
+ * Aggregate by streaming the filtered items
509
+ * @param query - the aggregation
510
+ * @returns the rows
511
+ */
512
+ async aggregateInMemory(query) {
513
+ const { Aggregator } = await import("@webda/ql");
514
+ const aggregator = new Aggregator(query, this.aggregationOptions.maxGroups);
515
+ for await (const item of this.iterate(query.filter.toString())) {
516
+ aggregator.add(item);
517
+ }
518
+ return aggregator.rows();
519
+ }
227
520
  /** @override */
228
521
  on(event, listener) {
229
522
  if (!this.events.has(event)) {
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../src/repositories/abstract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../src/repositories/abstract.ts"],"names":[],"mappings":"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"}
@@ -37,4 +37,31 @@ export interface CreateWithoutPrimaryKeyOptions {
37
37
  * @param options - data factory and raw backend reader
38
38
  */
39
39
  export declare function checkCreateWithoutPrimaryKey(repos: Repository<any>[], options: CreateWithoutPrimaryKeyOptions): Promise<void>;
40
+ /**
41
+ * Dataset of {@link checkAggregation}: nulls, missing attributes, a non-numeric `points`,
42
+ * nested `team.name`, booleans. The `mixed` field mixes numbers and strings, with upper and lower case, to pin type ranking and code unit order.
43
+ * The `at` field holds `Date` objects: in-memory engines read them as ISO strings, JSON backends store them so.
44
+ */
45
+ export declare const AGGREGATION_DATASET: Record<string, any>[];
46
+ /**
47
+ * Hand-computed expectations over {@link AGGREGATION_DATASET}; every backend must return exactly these rows
48
+ */
49
+ export declare const AGGREGATION_CASES: {
50
+ name: string;
51
+ spec: any;
52
+ rows: Record<string, unknown>[];
53
+ }[];
54
+ /**
55
+ * Check a repository aggregates {@link AGGREGATION_DATASET} exactly like {@link AGGREGATION_CASES}
56
+ *
57
+ * The repository must be empty and keyed by `uuid`; the dataset is created in it.
58
+ * @param repo - the repository to check
59
+ * @param options - expected native flag, and case names to skip with a documented reason
60
+ * @param options.native - the expected `native` flag of every result
61
+ * @param options.skip - names of the cases to skip
62
+ */
63
+ export declare function checkAggregation(repo: Repository<any>, options: {
64
+ native: boolean;
65
+ skip?: string[];
66
+ }): Promise<void>;
40
67
  //# sourceMappingURL=conformance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../src/repositories/conformance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;IAC7B;;;;;OAKG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IACtD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EACxB,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,IAAI,CAAC,CAsBf"}
1
+ {"version":3,"file":"conformance.d.ts","sourceRoot":"","sources":["../../src/repositories/conformance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC;IAC7B;;;;;OAKG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IACtD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EACxB,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAkEpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,EA2L3F,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,EACrB,OAAO,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAWf"}