@webda/core 4.0.0-beta.7 → 4.0.0-beta.9
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/lib/application/application.d.ts +19 -0
- package/lib/application/application.d.ts.map +1 -1
- package/lib/application/application.js +52 -9
- package/lib/application/application.js.map +1 -1
- package/lib/application/model-types.d.ts +63 -0
- package/lib/application/model-types.d.ts.map +1 -0
- package/lib/application/model-types.js +59 -0
- package/lib/application/model-types.js.map +1 -0
- package/lib/application/unpackedapplication.d.ts.map +1 -1
- package/lib/application/unpackedapplication.js +5 -4
- package/lib/application/unpackedapplication.js.map +1 -1
- package/lib/bin/cli.d.ts +18 -0
- package/lib/bin/cli.d.ts.map +1 -1
- package/lib/bin/cli.js +38 -3
- package/lib/bin/cli.js.map +1 -1
- package/lib/core/operations.d.ts +17 -0
- package/lib/core/operations.d.ts.map +1 -1
- package/lib/core/operations.js +1 -1
- package/lib/core/operations.js.map +1 -1
- package/lib/index.d.ts +5 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/models/decorator.d.ts +21 -0
- package/lib/models/decorator.d.ts.map +1 -1
- package/lib/models/decorator.js +18 -0
- package/lib/models/decorator.js.map +1 -1
- package/lib/rest/restoperationstransport.service.d.ts +6 -0
- package/lib/rest/restoperationstransport.service.d.ts.map +1 -1
- package/lib/rest/restoperationstransport.service.js +31 -2
- package/lib/rest/restoperationstransport.service.js.map +1 -1
- package/lib/rest/router.service.d.ts.map +1 -1
- package/lib/rest/router.service.js +5 -2
- package/lib/rest/router.service.js.map +1 -1
- package/lib/services/binary.service.d.ts +1 -1
- package/lib/services/binary.service.d.ts.map +1 -1
- package/lib/services/binary.service.js.map +1 -1
- package/lib/services/httpserver.service.d.ts.map +1 -1
- package/lib/services/httpserver.service.js +5 -0
- package/lib/services/httpserver.service.js.map +1 -1
- package/lib/services/service.d.ts.map +1 -1
- package/lib/services/service.js +4 -1
- package/lib/services/service.js.map +1 -1
- package/lib/services/servicecommands.d.ts.map +1 -1
- package/lib/services/servicecommands.js +14 -1
- package/lib/services/servicecommands.js.map +1 -1
- package/lib/stores/capability.d.ts +16 -0
- package/lib/stores/capability.d.ts.map +1 -0
- package/lib/stores/capability.js +5 -0
- package/lib/stores/capability.js.map +1 -0
- package/lib/stores/memory.service.d.ts +30 -1
- package/lib/stores/memory.service.d.ts.map +1 -1
- package/lib/stores/memory.service.js +47 -1
- package/lib/stores/memory.service.js.map +1 -1
- package/lib/stores/migration.d.ts +306 -0
- package/lib/stores/migration.d.ts.map +1 -0
- package/lib/stores/migration.js +280 -0
- package/lib/stores/migration.js.map +1 -0
- package/lib/stores/store.d.ts +151 -17
- package/lib/stores/store.d.ts.map +1 -1
- package/lib/stores/store.js +421 -21
- package/lib/stores/store.js.map +1 -1
- package/lib/test/index.d.ts +2 -0
- package/lib/test/index.d.ts.map +1 -1
- package/lib/test/index.js +3 -0
- package/lib/test/index.js.map +1 -1
- package/lib/test/legacy-types.d.ts +146 -0
- package/lib/test/legacy-types.d.ts.map +1 -0
- package/lib/test/legacy-types.fixture.model.d.ts +38 -0
- package/lib/test/legacy-types.fixture.model.d.ts.map +1 -0
- package/lib/test/legacy-types.fixture.model.js +38 -0
- package/lib/test/legacy-types.fixture.model.js.map +1 -0
- package/lib/test/legacy-types.js +481 -0
- package/lib/test/legacy-types.js.map +1 -0
- package/package.json +11 -11
- package/webda.module.json +48 -22
package/lib/stores/store.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { Service } from "../services/service.js";
|
|
|
6
6
|
import * as WebdaQL from "@webda/ql";
|
|
7
7
|
import type { WebdaQLString } from "@webda/ql";
|
|
8
8
|
import type { ModelMetadata } from "@webda/compiler";
|
|
9
|
+
import { type MigrationLease, type MigrationOptions, type MigrationPatcher, type MigrationProgress, type MigrationReport, type RawPage, type RawPatch, type RawTable, type StoredTypeCounts, type TypeCheckSummary } from "./migration.js";
|
|
9
10
|
/** Error thrown when an item is not found in a store */
|
|
10
11
|
export declare class StoreNotFoundError extends WebdaError.CodeError {
|
|
11
12
|
/** Create a new StoreNotFoundError
|
|
@@ -209,19 +210,6 @@ export declare class StoreParameters extends ServiceParameters {
|
|
|
209
210
|
* @default false
|
|
210
211
|
*/
|
|
211
212
|
strict?: boolean;
|
|
212
|
-
/**
|
|
213
|
-
* When __type model not found, use the model
|
|
214
|
-
* If strict is setup this parameter is not used
|
|
215
|
-
*
|
|
216
|
-
* @default true
|
|
217
|
-
*/
|
|
218
|
-
defaultModel?: boolean;
|
|
219
|
-
/**
|
|
220
|
-
* If set, Store will ignore the __type
|
|
221
|
-
*
|
|
222
|
-
* @default false
|
|
223
|
-
*/
|
|
224
|
-
forceModel?: boolean;
|
|
225
213
|
/**
|
|
226
214
|
* Slow query threshold
|
|
227
215
|
*
|
|
@@ -243,17 +231,26 @@ export declare class StoreParameters extends ServiceParameters {
|
|
|
243
231
|
*/
|
|
244
232
|
maxGroups?: number;
|
|
245
233
|
/**
|
|
246
|
-
*
|
|
234
|
+
* Startup check of the stored types: one WARN listing the legacy, untyped and unknown types found
|
|
247
235
|
*/
|
|
248
|
-
|
|
249
|
-
|
|
236
|
+
typeCheck?: {
|
|
237
|
+
/**
|
|
238
|
+
* @default true
|
|
239
|
+
*/
|
|
240
|
+
enabled?: boolean;
|
|
241
|
+
/**
|
|
242
|
+
* Rows scanned at most by stores without a native count; beyond, the counts are "at least"
|
|
243
|
+
*
|
|
244
|
+
* @default 10000
|
|
245
|
+
*/
|
|
246
|
+
maxRows?: number;
|
|
250
247
|
};
|
|
251
248
|
/**
|
|
252
249
|
* Disable default memory cache
|
|
253
250
|
*/
|
|
254
251
|
noCache?: boolean;
|
|
255
252
|
/**
|
|
256
|
-
* Load store parameters with defaults for
|
|
253
|
+
* Load store parameters with defaults for models, strict mode and the startup type check
|
|
257
254
|
* @param params - the service parameters
|
|
258
255
|
* @returns the result
|
|
259
256
|
*/
|
|
@@ -361,6 +358,143 @@ declare abstract class Store<K extends StoreParameters = StoreParameters, E exte
|
|
|
361
358
|
* @returns the array of model classes managed by this store
|
|
362
359
|
*/
|
|
363
360
|
getModels(): ModelClass[];
|
|
361
|
+
/**
|
|
362
|
+
* Tables of this store for raw access, each with the model owning its untyped rows
|
|
363
|
+
*
|
|
364
|
+
* Stores without raw access return undefined: `webda migrate` and the startup type check skip them.
|
|
365
|
+
* @returns the tables, or undefined when the store has no raw access
|
|
366
|
+
*/
|
|
367
|
+
getRawTables(): RawTable[] | undefined;
|
|
368
|
+
/**
|
|
369
|
+
* Read a page of raw rows of a table: no type filter, no hydration
|
|
370
|
+
* @param _table - table name, from {@link getRawTables}
|
|
371
|
+
* @param _batchSize - rows per page
|
|
372
|
+
* @param _token - token of the previous page
|
|
373
|
+
* @returns the page
|
|
374
|
+
*/
|
|
375
|
+
rawPages(_table: string, _batchSize: number, _token?: string): Promise<RawPage>;
|
|
376
|
+
/**
|
|
377
|
+
* Set top-level fields of a raw row: no type filter, no hydration, no event
|
|
378
|
+
* @param _table - table name, from {@link getRawTables}
|
|
379
|
+
* @param _key - storage key of the row
|
|
380
|
+
* @param _patch - fields to set
|
|
381
|
+
*/
|
|
382
|
+
rawPatch(_table: string, _key: string, _patch: RawPatch): Promise<void>;
|
|
383
|
+
/**
|
|
384
|
+
* Model owning the untyped rows of a single-table store: the first model of `models`
|
|
385
|
+
* @returns the model, undefined when unknown
|
|
386
|
+
*/
|
|
387
|
+
protected getTableRoot(): ModelClass | undefined;
|
|
388
|
+
/**
|
|
389
|
+
* Refuse a table that is not the single table of this store
|
|
390
|
+
* @param table - the requested table
|
|
391
|
+
*/
|
|
392
|
+
protected checkSingleTable(table: string): void;
|
|
393
|
+
/**
|
|
394
|
+
* @param name - migration name
|
|
395
|
+
* @returns the Registry entry of the migration
|
|
396
|
+
*/
|
|
397
|
+
protected migrationId(name: string): string;
|
|
398
|
+
/**
|
|
399
|
+
* @param name - migration name
|
|
400
|
+
* @returns the stored progress, undefined when the migration never ran
|
|
401
|
+
*/
|
|
402
|
+
getMigrationProgress(name: string): Promise<MigrationProgress | undefined>;
|
|
403
|
+
/**
|
|
404
|
+
* Forget the progress of a migration: the next run starts over
|
|
405
|
+
* @param name - migration name
|
|
406
|
+
*/
|
|
407
|
+
deleteMigrationProgress(name: string): Promise<void>;
|
|
408
|
+
/**
|
|
409
|
+
* Take the lease of a migration: free, or expired (a crashed runner)
|
|
410
|
+
* @param name - migration name
|
|
411
|
+
* @param leaseDuration - lease duration in ms
|
|
412
|
+
* @returns the lease
|
|
413
|
+
* @throws MigrationAlreadyRunning when another runner holds a live lease
|
|
414
|
+
*/
|
|
415
|
+
protected acquireMigrationLease(name: string, leaseDuration?: number): Promise<MigrationLease>;
|
|
416
|
+
/**
|
|
417
|
+
* After a failed conditional patch, tell a competing runner from any other Registry failure
|
|
418
|
+
* @param id - Registry entry of the migration
|
|
419
|
+
* @param owner - lease owner the patch expected
|
|
420
|
+
* @param leaseUntil - lease end the patch expected
|
|
421
|
+
* @param self - owner of this runner: a lease it holds is not a competitor's
|
|
422
|
+
* @returns the lease of another runner when the lease changed under the patch, undefined otherwise (the entry is
|
|
423
|
+
* unchanged, held by this runner, or cannot be read)
|
|
424
|
+
*/
|
|
425
|
+
protected competingMigrationLease(id: string, owner: string | undefined, leaseUntil: number, self: string): Promise<{
|
|
426
|
+
owner?: string;
|
|
427
|
+
leaseUntil: number;
|
|
428
|
+
} | undefined>;
|
|
429
|
+
/**
|
|
430
|
+
* Save the progress and renew the lease, conditionally on the lease this runner holds
|
|
431
|
+
* @param lease - the lease
|
|
432
|
+
* @param update - progress fields to set
|
|
433
|
+
* @throws MigrationAlreadyRunning when the lease was taken over, the Registry error otherwise
|
|
434
|
+
*/
|
|
435
|
+
protected saveMigrationProgress(lease: MigrationLease, update: Partial<MigrationProgress>): Promise<void>;
|
|
436
|
+
/**
|
|
437
|
+
* Renew the lease before writing a page
|
|
438
|
+
* @param lease - the lease
|
|
439
|
+
*/
|
|
440
|
+
protected renewMigrationLease(lease: MigrationLease): Promise<void>;
|
|
441
|
+
/**
|
|
442
|
+
* Release the lease, saving the last progress; a lease lost meanwhile is left to its new owner
|
|
443
|
+
* @param lease - the lease
|
|
444
|
+
* @param update - progress fields to set
|
|
445
|
+
* @throws the Registry error when the release failed while the lease was still this runner's
|
|
446
|
+
*/
|
|
447
|
+
protected releaseMigrationLease(lease: MigrationLease, update?: Partial<MigrationProgress>): Promise<void>;
|
|
448
|
+
/**
|
|
449
|
+
* Run a migration on every raw row of every table of the store, the rows the type filter excludes included
|
|
450
|
+
*
|
|
451
|
+
* Resumable: the progress is saved in the Registry after each page and an interrupted run continues from it.
|
|
452
|
+
* Exclusive: a lease (renewed every page) makes a second runner fail fast with {@link MigrationAlreadyRunning}.
|
|
453
|
+
* Idempotent: patchers return undefined for migrated rows, and a finished migration scans again on the next run.
|
|
454
|
+
* @param name - migration name
|
|
455
|
+
* @param patcher - computes the patch of a row
|
|
456
|
+
* @param options - batch size, dry run, lease duration
|
|
457
|
+
* @returns the report
|
|
458
|
+
*/
|
|
459
|
+
migration(name: string, patcher: MigrationPatcher, options?: MigrationOptions): Promise<MigrationReport>;
|
|
460
|
+
/**
|
|
461
|
+
* Patcher of the built-in `types` migration: untyped rows get the table root identifier, legacy types their
|
|
462
|
+
* current identifier; unknown, ambiguous and unreadable rows are counted and left as they are
|
|
463
|
+
* @returns the patcher
|
|
464
|
+
*/
|
|
465
|
+
protected typesPatcher(): MigrationPatcher;
|
|
466
|
+
/**
|
|
467
|
+
* Rewrite the Webda 3 types of every row to the current identifiers (the built-in `types` migration)
|
|
468
|
+
*
|
|
469
|
+
* Stores with a native bulk update override this method and return the same report.
|
|
470
|
+
* @param options - batch size, dry run, lease duration
|
|
471
|
+
* @returns the report
|
|
472
|
+
*/
|
|
473
|
+
migrateTypes(options?: MigrationOptions): Promise<MigrationReport>;
|
|
474
|
+
/**
|
|
475
|
+
* Count the rows by stored `__type`, scanning at most `maxRows` rows
|
|
476
|
+
*
|
|
477
|
+
* Stores able to `GROUP BY` override it with an exact count.
|
|
478
|
+
* @param maxRows - scan limit
|
|
479
|
+
* @returns the counts
|
|
480
|
+
*/
|
|
481
|
+
countStoredTypes(maxRows: number): Promise<StoredTypeCounts>;
|
|
482
|
+
/**
|
|
483
|
+
* Startup type check: one WARN when rows hold legacy, untyped or unknown types
|
|
484
|
+
* @returns the summary, undefined when disabled or the store has no raw access
|
|
485
|
+
*/
|
|
486
|
+
checkStoredTypes(): Promise<TypeCheckSummary | undefined>;
|
|
487
|
+
/**
|
|
488
|
+
* Body of the `migrate` command of the stores: run the `types` migration and print its report
|
|
489
|
+
*
|
|
490
|
+
* Stores declare `@Command("migrate", { phase: "initialized" }) migrate(dryRun = false, batch = 500,
|
|
491
|
+
* allowUnknown = false)` calling this method: composable commands pass their arguments by position.
|
|
492
|
+
* @param dryRun - count, write nothing
|
|
493
|
+
* @param batch - rows per page
|
|
494
|
+
* @param allowUnknown - exit with 0 even when rows keep an unknown or ambiguous type
|
|
495
|
+
* @returns the exit code
|
|
496
|
+
*/
|
|
497
|
+
migrateCommand(dryRun?: boolean, batch?: number, allowUnknown?: boolean): Promise<number>;
|
|
364
498
|
/**
|
|
365
499
|
* Return if a model is handled by the store
|
|
366
500
|
* @param model - the model to use
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/stores/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAI/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/stores/store.ts"],"names":[],"mappings":"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"}
|