@webda/core 4.0.0-beta.8 → 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 +1 -0
- package/lib/application/application.d.ts.map +1 -1
- package/lib/application/application.js +9 -3
- 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/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 +19 -1
- package/lib/rest/restoperationstransport.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 +8 -8
- package/webda.module.json +48 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"servicecommands.js","sourceRoot":"","sources":["../../src/services/servicecommands.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"servicecommands.js","sourceRoot":"","sources":["../../src/services/servicecommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability of the stores: their commands (`webda migrate`) only run on the configured instances
|
|
3
|
+
*/
|
|
4
|
+
export declare const STORE_CAPABILITY = "store";
|
|
5
|
+
/**
|
|
6
|
+
* A store running the composable `migrate` command
|
|
7
|
+
*
|
|
8
|
+
* The CLI never adds an unconfigured store to run a command. Every store class declares `implements
|
|
9
|
+
* MigratableStore` itself: the compiler reads the capability from the class own heritage clauses, and the
|
|
10
|
+
* `@Command("migrate")` from its own methods.
|
|
11
|
+
*
|
|
12
|
+
* @WebdaCapability store
|
|
13
|
+
*/
|
|
14
|
+
export interface MigratableStore {
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/stores/capability.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC;;;;;;;;GAQG;AAEH,MAAM,WAAW,eAAe;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/stores/capability.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Store, StoreParameters } from "./store.js";
|
|
2
2
|
import { type ModelClass, type Repository } from "@webda/models";
|
|
3
|
+
import type { MigratableStore } from "./capability.js";
|
|
4
|
+
import { type RawPage, type RawPatch, type RawTable } from "./migration.js";
|
|
3
5
|
export interface StorageMap {
|
|
4
6
|
[key: string]: string;
|
|
5
7
|
}
|
|
@@ -61,7 +63,7 @@ declare class MemoryModelMap extends Map<string, string> {
|
|
|
61
63
|
* @category CoreServices
|
|
62
64
|
* @WebdaModda
|
|
63
65
|
*/
|
|
64
|
-
export declare class MemoryStore<K extends MemoryStoreParameters = MemoryStoreParameters> extends Store<K> {
|
|
66
|
+
export declare class MemoryStore<K extends MemoryStoreParameters = MemoryStoreParameters> extends Store<K> implements MigratableStore {
|
|
65
67
|
/**
|
|
66
68
|
* Inmemory storage
|
|
67
69
|
*/
|
|
@@ -109,6 +111,33 @@ export declare class MemoryStore<K extends MemoryStoreParameters = MemoryStorePa
|
|
|
109
111
|
* @returns the result
|
|
110
112
|
*/
|
|
111
113
|
getRepository<T extends ModelClass>(model: T): Repository<T>;
|
|
114
|
+
/**
|
|
115
|
+
* One table: the store storage, named after the store
|
|
116
|
+
* @override
|
|
117
|
+
*/
|
|
118
|
+
getRawTables(): RawTable[];
|
|
119
|
+
/**
|
|
120
|
+
* @override
|
|
121
|
+
*/
|
|
122
|
+
rawPages(table: string, batchSize: number, token?: string): Promise<RawPage>;
|
|
123
|
+
/**
|
|
124
|
+
* @override
|
|
125
|
+
*/
|
|
126
|
+
rawPatch(table: string, key: string, patch: RawPatch): Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* Rewrite the Webda 3 types of the store to their Webda 4 identifiers
|
|
129
|
+
* @param dryRun - only count the rows to migrate, write nothing
|
|
130
|
+
* @param batch - rows per page
|
|
131
|
+
* @param allowUnknown - exit with 0 even when rows keep an unknown or ambiguous type
|
|
132
|
+
* @returns the exit code
|
|
133
|
+
*/
|
|
134
|
+
migrate(
|
|
135
|
+
/** @description Only count the rows to migrate, write nothing */
|
|
136
|
+
dryRun?: boolean,
|
|
137
|
+
/** @description Rows per page */
|
|
138
|
+
batch?: number,
|
|
139
|
+
/** @description Exit with 0 even when rows keep an unknown or ambiguous type */
|
|
140
|
+
allowUnknown?: boolean): Promise<number>;
|
|
112
141
|
}
|
|
113
142
|
export {};
|
|
114
143
|
//# sourceMappingURL=memory.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.service.d.ts","sourceRoot":"","sources":["../../src/stores/memory.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAqC,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAIpG,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IACxD;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC;QACb;;;;WAIG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;;;;WAKG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,GAAQ,GAAG,IAAI,CAU3B;CACF;AA0FD,4DAA4D;AAC5D,cAAM,cAAe,SAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAC9C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAI9B;CACF;AAED;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"memory.service.d.ts","sourceRoot":"","sources":["../../src/stores/memory.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAqC,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAIpG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAA2B,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAErG,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IACxD;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAC;QACb;;;;WAIG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QACf;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;;;;WAKG;QACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,GAAQ,GAAG,IAAI,CAU3B;CACF;AA0FD,4DAA4D;AAC5D,cAAM,cAAe,SAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAC9C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAI9B;CACF;AAED;;;;;GAKG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CAC9E,SAAQ,KAAK,CAAC,CAAC,CACf,YAAW,eAAe;IAE1B;;OAEG;IACH,OAAO,EAAE,cAAc,CAAwB;IAC/C;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAC;IAC3B;;OAEG;IACH,kBAAkB,MAAQ;IAC1B;;OAEG;IACH,OAAO,CAAC,GAAG,CAAS;IAEpB;;;;;;;OAOG;IACG,OAAO,kBAqCZ;IAED;;OAEG;IACG,IAAI,kBA8BT;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAe1B;IAED;;OAEG;IACH,cAAc,SAwBb;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;IAED;;;;OAIG;IAEH,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAW3D;IAED;;;OAGG;IACH,YAAY,IAAI,QAAQ,EAAE,CAEzB;IAED;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjF;IAED;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;IAED;;;;;;OAMG;IAKG,OAAO;IACX,iEAAiE;IACjE,MAAM,GAAE,OAAe;IACvB,iCAAiC;IACjC,KAAK,GAAE,MAAY;IACnB,gFAAgF;IAChF,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;CACF"}
|
|
@@ -42,6 +42,8 @@ import { Store, StoreParameters } from "./store.js";
|
|
|
42
42
|
import { EventRepository, MemoryRepository } from "@webda/models";
|
|
43
43
|
import { InstanceCache } from "../cache/cache.js";
|
|
44
44
|
import { useModelMetadata } from "../core/hooks.js";
|
|
45
|
+
import { Command } from "../services/command.js";
|
|
46
|
+
import { mapRawPage, mapRawPatch } from "./migration.js";
|
|
45
47
|
/**
|
|
46
48
|
* Memory store
|
|
47
49
|
*/
|
|
@@ -176,11 +178,17 @@ let MemoryStore = (() => {
|
|
|
176
178
|
let _classSuper = Store;
|
|
177
179
|
let _instanceExtraInitializers = [];
|
|
178
180
|
let _getRepository_decorators;
|
|
181
|
+
let _migrate_decorators;
|
|
179
182
|
return class MemoryStore extends _classSuper {
|
|
180
183
|
static {
|
|
181
184
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
182
185
|
_getRepository_decorators = [InstanceCache()];
|
|
186
|
+
_migrate_decorators = [Command("migrate", {
|
|
187
|
+
description: "Rewrite the Webda 3 types of the stores to their Webda 4 identifiers",
|
|
188
|
+
phase: "initialized"
|
|
189
|
+
})];
|
|
183
190
|
__esDecorate(this, null, _getRepository_decorators, { kind: "method", name: "getRepository", static: false, private: false, access: { has: obj => "getRepository" in obj, get: obj => obj.getRepository }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
191
|
+
__esDecorate(this, null, _migrate_decorators, { kind: "method", name: "migrate", static: false, private: false, access: { has: obj => "migrate" in obj, get: obj => obj.migrate }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
184
192
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
185
193
|
}
|
|
186
194
|
/**
|
|
@@ -336,7 +344,45 @@ let MemoryStore = (() => {
|
|
|
336
344
|
const inner = new MemoryRepository(model, pks, meta.PrimaryKeySeparator, this.storage);
|
|
337
345
|
// Wrap in EventRepository so typed CRUD events (Created/Updated/...) fire;
|
|
338
346
|
// consumers reach them via useRepository(model).on(...).
|
|
339
|
-
|
|
347
|
+
// Untyped rows of the shared storage belong to the first model of the store
|
|
348
|
+
return new EventRepository(model, pks, inner, meta.PrimaryKeySeparator).setTableRoot(this.getTableRoot());
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* One table: the store storage, named after the store
|
|
352
|
+
* @override
|
|
353
|
+
*/
|
|
354
|
+
getRawTables() {
|
|
355
|
+
return [{ name: this.getName(), root: this.getTableRoot() }];
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* @override
|
|
359
|
+
*/
|
|
360
|
+
async rawPages(table, batchSize, token) {
|
|
361
|
+
this.checkSingleTable(table);
|
|
362
|
+
return mapRawPage(this.storage, table, batchSize, token);
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* @override
|
|
366
|
+
*/
|
|
367
|
+
async rawPatch(table, key, patch) {
|
|
368
|
+
this.checkSingleTable(table);
|
|
369
|
+
mapRawPatch(this.storage, key, patch);
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Rewrite the Webda 3 types of the store to their Webda 4 identifiers
|
|
373
|
+
* @param dryRun - only count the rows to migrate, write nothing
|
|
374
|
+
* @param batch - rows per page
|
|
375
|
+
* @param allowUnknown - exit with 0 even when rows keep an unknown or ambiguous type
|
|
376
|
+
* @returns the exit code
|
|
377
|
+
*/
|
|
378
|
+
async migrate(
|
|
379
|
+
/** @description Only count the rows to migrate, write nothing */
|
|
380
|
+
dryRun = false,
|
|
381
|
+
/** @description Rows per page */
|
|
382
|
+
batch = 500,
|
|
383
|
+
/** @description Exit with 0 even when rows keep an unknown or ambiguous type */
|
|
384
|
+
allowUnknown = false) {
|
|
385
|
+
return this.migrateCommand(dryRun, batch, allowUnknown);
|
|
340
386
|
}
|
|
341
387
|
};
|
|
342
388
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.service.js","sourceRoot":"","sources":["../../src/stores/memory.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAoC,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"memory.service.js","sourceRoot":"","sources":["../../src/stores/memory.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAoC,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,WAAW,EAA8C,MAAM,gBAAgB,CAAC;AAMrG;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IACxD;;OAEG;IACH,WAAW,CA0BT;IAEF;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAQ,EAAE;QACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,aAAa,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,gBAAgB,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,gCAAgC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,8EAA8E;AAC9E,MAAM,wBAAyB,SAAQ,QAAQ;IAOvB,OAAO;IANrB,IAAI,CAAQ;IACZ,KAAK,GAAW,CAAC,CAAC;IAE1B;;OAEG;IACH,YAAsB,OAAuB;QAC3C,KAAK,EAAE,CAAC;uBADY,OAAO;QAE3B,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,2DAA2D;IAC3D,KAAK;QACH,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;CACF;AAED,uFAAuF;AACvF,MAAM,wBAAyB,SAAQ,QAAQ;IAOvB,IAAI;IAN1B,OAAO,GAAW,EAAE,CAAC;IACrB,SAAS,GAAW,SAAS,CAAC;IAC9B,UAAU,GAAY,IAAI,CAAC;IAC3B;;OAEG;IACH,YAAsB,IAAyB;QAC7C,KAAK,EAAE,CAAC;oBADY,IAAI;IAE1B,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAU,EAAE,QAAwB,EAAE,QAAiC;QAC5E,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnC,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,oBAAoB;QACpB,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,0CAA0C;QAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEnC,QAAQ,EAAE,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAiC;QACtC,kCAAkC;QAClC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC;CACF;AAED,4DAA4D;AAC5D,MAAM,cAAe,SAAQ,GAAmB;IAC9C,WAAW,CAAa;IACxB;;;;;OAKG;IACH,GAAG,CAAC,GAAW,EAAE,MAAc;QAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;;GAKG;IACU,WAAW;sBACd,KAAK;;;;iBADF,WACX,SAAQ,WAAQ;;;yCAqKf,aAAa,EAAE;mCA6Cf,OAAO,CAAC,SAAS,EAAE;oBAClB,WAAW,EAAE,sEAAsE;oBACnF,KAAK,EAAE,aAAa;iBACrB,CAAC;YA/CF,0LAAA,aAAa,6DAWZ;YAqCD,wKAAM,OAAO,6DASZ;;;QA5ND;;WAEG;QACH,OAAO,IAPI,mDAAW,EAOI,IAAI,cAAc,EAAE,EAAC;QAC/C;;WAEG;QACK,kBAAkB,CAAC;QAC3B;;WAEG;QACH,kBAAkB,GAAG,IAAI,CAAC;QAC1B;;WAEG;QACK,GAAG,CAAS;QAEpB;;;;;;;WAOG;QACH,KAAK,CAAC,OAAO;YACX,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACjC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,QAAQ,GAAa,MAAM,CAAC;YAChC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACrD,QAAQ,GAAG,QAAQ,CAAC,IAAI,CACtB,UAAU,CAAC;oBACT,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB;iBACpD,CAAC,CACH,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAClC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAClC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,EAClC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EACxB,IAAI,UAAU,CAAC,EAAE,CAAC,CACnB,CAAC;gBACF,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;oBAC3C,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;oBACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,EAAE,GAAG,CAAC,CAAC;oBACrD,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,IAAI;YACR,IAAI,QAAkB,CAAC;YACvB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/B,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvF,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,EAClC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EACxB,IAAI,UAAU,CAAC,EAAE,CAAC,CACnB,CAAC;gBACF,QAAQ,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC;YACD,uBAAuB;YACvB,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;YAElD,MAAM,IAAI,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACrB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBACtC,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;oBACrB,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,IAAI;YACR,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;oBACpC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC1F,CAAC;gBACD,IAAI,CAAC;oBACH,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qCAAqC,EAAE,GAAG,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAED;;WAEG;QACH,cAAc;YACZ,kDAAkD;YAClD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC1C,YAAY;gBACZ,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,EAAE;oBAC9B,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;wBACzB,sDAAsD;wBACtD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BAC5B,IAAI,CAAC,kBAAkB,KAAK,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;4BACnF,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;wBACzC,MAAM,IAAI,CAAC,kBAAkB,CAAC;wBAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBACjC,CAAC,CAAC;oBACF,IAAI,CAAC,kBAAkB,KAAK,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACrF,CAAC,CAAC;gBACF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE;oBACjD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;oBACxD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC3B,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC;YACJ,CAAC;QACH,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,IAAI;YACR,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAED;;;;WAIG;QAEH,aAAa,CAAuB,KAAQ;YAC1C,2CAA2C;YAC3C,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAI,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1F,2EAA2E;YAC3E,yDAAyD;YACzD,4EAA4E;YAC5E,OAAO,IAAI,eAAe,CAAI,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,YAAY,CACrF,IAAI,CAAC,YAAY,EAAE,CACQ,CAAC;QAChC,CAAC;QAED;;;WAGG;QACH,YAAY;YACV,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,SAAiB,EAAE,KAAc;YAC7D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAE,KAAe;YACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QAED;;;;;;WAMG;QAKH,KAAK,CAAC,OAAO;QACX,iEAAiE;QACjE,MAAM,GAAY,KAAK;QACvB,iCAAiC;QACjC,KAAK,GAAW,GAAG;QACnB,gFAAgF;QAChF,YAAY,GAAY,KAAK;YAE7B,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;;;SAhOU,WAAW"}
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { type ModelClass, type ModelTypeResolver } from "@webda/models";
|
|
2
|
+
import * as WebdaError from "../errors/errors.js";
|
|
3
|
+
/**
|
|
4
|
+
* A row as the backend stores it, read without type filter nor hydration
|
|
5
|
+
*/
|
|
6
|
+
export interface RawRow {
|
|
7
|
+
/**
|
|
8
|
+
* Table (collection) holding the row: the store name for single-storage stores (Memory, File)
|
|
9
|
+
*/
|
|
10
|
+
table: string;
|
|
11
|
+
/**
|
|
12
|
+
* Storage key of the row
|
|
13
|
+
*/
|
|
14
|
+
key: string;
|
|
15
|
+
/**
|
|
16
|
+
* Stored data, `__type` as stored. Rows written by Webda 4 Memory and File stores are serializer envelopes
|
|
17
|
+
* `{ $serializer, value, __type }`; Webda 3 rows are plain objects.
|
|
18
|
+
*/
|
|
19
|
+
data: Record<string, any>;
|
|
20
|
+
/**
|
|
21
|
+
* Set when the stored value is not a JSON object: `data` is then empty and the row cannot be patched
|
|
22
|
+
*/
|
|
23
|
+
unreadable?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Top-level fields to set on a raw row
|
|
27
|
+
*/
|
|
28
|
+
export type RawPatch = Record<string, any>;
|
|
29
|
+
/**
|
|
30
|
+
* A page of raw rows
|
|
31
|
+
*/
|
|
32
|
+
export interface RawPage {
|
|
33
|
+
/**
|
|
34
|
+
* Rows of the page
|
|
35
|
+
*/
|
|
36
|
+
rows: RawRow[];
|
|
37
|
+
/**
|
|
38
|
+
* Token of the next page, undefined on the last one
|
|
39
|
+
*/
|
|
40
|
+
continuationToken?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* A table managed by a store
|
|
44
|
+
*/
|
|
45
|
+
export interface RawTable {
|
|
46
|
+
/**
|
|
47
|
+
* Table name, as used in reports
|
|
48
|
+
*/
|
|
49
|
+
name: string;
|
|
50
|
+
/**
|
|
51
|
+
* Model owning the untyped rows of the table (the first model of the store or of the table)
|
|
52
|
+
*/
|
|
53
|
+
root?: ModelClass;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The store has no raw access yet: it cannot run migrations
|
|
57
|
+
*/
|
|
58
|
+
export declare class MigrationUnsupported extends WebdaError.CodeError {
|
|
59
|
+
/**
|
|
60
|
+
* @param store - the store name
|
|
61
|
+
*/
|
|
62
|
+
constructor(store: string);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Parse a value of a key/value storage as a raw row
|
|
66
|
+
* @param table - table name
|
|
67
|
+
* @param key - storage key
|
|
68
|
+
* @param value - stored JSON string (or object, for old persistence files)
|
|
69
|
+
* @returns the row, flagged unreadable when the value is not a JSON object
|
|
70
|
+
*/
|
|
71
|
+
export declare function parseRawValue(table: string, key: string, value: unknown): RawRow;
|
|
72
|
+
/**
|
|
73
|
+
* Read a page of a key/value storage, in key order
|
|
74
|
+
*
|
|
75
|
+
* The token is the last key of the page, so rows added or removed meanwhile do not shift the next page.
|
|
76
|
+
* @param map - the storage
|
|
77
|
+
* @param table - table name of the rows
|
|
78
|
+
* @param batchSize - rows per page
|
|
79
|
+
* @param token - token of the previous page
|
|
80
|
+
* @returns the page
|
|
81
|
+
*/
|
|
82
|
+
export declare function mapRawPage(map: Map<string, any>, table: string, batchSize: number, token?: string): RawPage;
|
|
83
|
+
/**
|
|
84
|
+
* Set top-level fields of a row of a key/value storage
|
|
85
|
+
* @param map - the storage
|
|
86
|
+
* @param key - storage key
|
|
87
|
+
* @param patch - fields to set
|
|
88
|
+
*/
|
|
89
|
+
export declare function mapRawPatch(map: Map<string, any>, key: string, patch: RawPatch): void;
|
|
90
|
+
/**
|
|
91
|
+
* Counters a patcher fills for the report
|
|
92
|
+
*/
|
|
93
|
+
export interface MigrationContext {
|
|
94
|
+
/**
|
|
95
|
+
* Count a rewritten value under `"<from> → <to>"`
|
|
96
|
+
* @param from - the stored value
|
|
97
|
+
* @param to - the new value
|
|
98
|
+
*/
|
|
99
|
+
change(from: string, to: string): void;
|
|
100
|
+
/**
|
|
101
|
+
* Count a row left untouched because its value is unknown or ambiguous
|
|
102
|
+
* @param type - the stored value
|
|
103
|
+
*/
|
|
104
|
+
unknown(type: string): void;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Compute the patch of a raw row: undefined when the row is already migrated
|
|
108
|
+
*/
|
|
109
|
+
export type MigrationPatcher = (row: RawRow, context: MigrationContext) => Promise<RawPatch | undefined> | RawPatch | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Options of a migration run
|
|
112
|
+
*/
|
|
113
|
+
export interface MigrationOptions {
|
|
114
|
+
/**
|
|
115
|
+
* Rows per page
|
|
116
|
+
*
|
|
117
|
+
* @default 500
|
|
118
|
+
*/
|
|
119
|
+
batchSize?: number;
|
|
120
|
+
/**
|
|
121
|
+
* Run the patchers and count, write nothing: no row, no progress, no lease
|
|
122
|
+
*/
|
|
123
|
+
dryRun?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Lease duration in ms, renewed every page
|
|
126
|
+
*
|
|
127
|
+
* @default 300000
|
|
128
|
+
*/
|
|
129
|
+
leaseDuration?: number;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Report of one table
|
|
133
|
+
*/
|
|
134
|
+
export interface MigrationTableReport {
|
|
135
|
+
/** Rows read */
|
|
136
|
+
scanned: number;
|
|
137
|
+
/** Rows patched (to patch, in a dry run) */
|
|
138
|
+
updated: number;
|
|
139
|
+
/** Count by `"<from> → <to>"` */
|
|
140
|
+
byChange: Record<string, number>;
|
|
141
|
+
/** Untouched rows by stored value */
|
|
142
|
+
unknown: Record<string, number>;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Report of a migration run
|
|
146
|
+
*/
|
|
147
|
+
export interface MigrationReport {
|
|
148
|
+
/** Store name */
|
|
149
|
+
store: string;
|
|
150
|
+
/** Migration name */
|
|
151
|
+
name: string;
|
|
152
|
+
/** Report by table */
|
|
153
|
+
tables: Record<string, MigrationTableReport>;
|
|
154
|
+
/** The run continued an interrupted one */
|
|
155
|
+
resumed: boolean;
|
|
156
|
+
/** Nothing was written */
|
|
157
|
+
dryRun: boolean;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Progress of a migration, stored in the Registry entry `storeMigration.<store>.<name>`
|
|
161
|
+
*/
|
|
162
|
+
export interface MigrationProgress {
|
|
163
|
+
/** Token of the next page of `table` */
|
|
164
|
+
continuationToken?: string;
|
|
165
|
+
/** Table of the last saved page */
|
|
166
|
+
table?: string;
|
|
167
|
+
/** Rows read */
|
|
168
|
+
scanned: number;
|
|
169
|
+
/** Rows patched */
|
|
170
|
+
updated: number;
|
|
171
|
+
/** Rows left untouched (unknown or ambiguous) */
|
|
172
|
+
unknown: number;
|
|
173
|
+
/** The last run finished */
|
|
174
|
+
done: boolean;
|
|
175
|
+
/** Start of the run, epoch ms */
|
|
176
|
+
startedAt: number;
|
|
177
|
+
/** Last save, epoch ms */
|
|
178
|
+
updatedAt: number;
|
|
179
|
+
/** End of the lease, epoch ms; 0 when free */
|
|
180
|
+
leaseUntil: number;
|
|
181
|
+
/** Runner holding the lease */
|
|
182
|
+
owner?: string;
|
|
183
|
+
/** Report so far by table, so a resumed run ends with the same totals */
|
|
184
|
+
tables: Record<string, MigrationTableReport>;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* A lease held by a runner
|
|
188
|
+
*/
|
|
189
|
+
export interface MigrationLease {
|
|
190
|
+
/** Registry entry */
|
|
191
|
+
id: string;
|
|
192
|
+
/** Runner id */
|
|
193
|
+
owner: string;
|
|
194
|
+
/** End of the lease, epoch ms, as stored */
|
|
195
|
+
leaseUntil: number;
|
|
196
|
+
/** Lease duration, ms */
|
|
197
|
+
leaseDuration: number;
|
|
198
|
+
/** Progress as stored */
|
|
199
|
+
progress: MigrationProgress;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Default rows per page
|
|
203
|
+
*/
|
|
204
|
+
export declare const DEFAULT_MIGRATION_BATCH = 500;
|
|
205
|
+
/**
|
|
206
|
+
* Default lease duration: 5 minutes
|
|
207
|
+
*/
|
|
208
|
+
export declare const DEFAULT_MIGRATION_LEASE: number;
|
|
209
|
+
/**
|
|
210
|
+
* Another runner holds the lease of the migration
|
|
211
|
+
*/
|
|
212
|
+
export declare class MigrationAlreadyRunning extends WebdaError.CodeError {
|
|
213
|
+
/**
|
|
214
|
+
* @param id - registry entry
|
|
215
|
+
* @param owner - runner holding the lease
|
|
216
|
+
* @param until - end of its lease, epoch ms
|
|
217
|
+
*/
|
|
218
|
+
constructor(id: string, owner: string | undefined, until: number);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Increment a counter
|
|
222
|
+
* @param counts - the counters
|
|
223
|
+
* @param key - the counter
|
|
224
|
+
* @param n - the increment
|
|
225
|
+
*/
|
|
226
|
+
export declare function incrementCount(counts: Record<string, number>, key: string, n?: number): void;
|
|
227
|
+
/**
|
|
228
|
+
* @returns an empty table report
|
|
229
|
+
*/
|
|
230
|
+
export declare function emptyTableReport(): MigrationTableReport;
|
|
231
|
+
/**
|
|
232
|
+
* @returns the progress of a fresh run (the keys set to undefined clear a previous run when saved)
|
|
233
|
+
*/
|
|
234
|
+
export declare function emptyProgress(): MigrationProgress;
|
|
235
|
+
/**
|
|
236
|
+
* Read a Registry entry as a progress
|
|
237
|
+
* @param entry - the entry
|
|
238
|
+
* @returns the progress
|
|
239
|
+
*/
|
|
240
|
+
export declare function toMigrationProgress(entry: any): MigrationProgress;
|
|
241
|
+
/**
|
|
242
|
+
* Totals of a report, for the progress entry
|
|
243
|
+
* @param report - the report
|
|
244
|
+
* @returns the totals and the tables
|
|
245
|
+
*/
|
|
246
|
+
export declare function migrationTotals(report: MigrationReport): {
|
|
247
|
+
scanned: number;
|
|
248
|
+
updated: number;
|
|
249
|
+
unknown: number;
|
|
250
|
+
tables: Record<string, MigrationTableReport>;
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* Human-readable report, one line per table and per change
|
|
254
|
+
* @param report - the report
|
|
255
|
+
* @param resolver - resolver telling unknown from ambiguous types
|
|
256
|
+
* @returns the text
|
|
257
|
+
*/
|
|
258
|
+
export declare function formatMigrationReport(report: MigrationReport, resolver?: ModelTypeResolver): string;
|
|
259
|
+
/**
|
|
260
|
+
* Read the rows of raw tables page by page, in table order, stopping after `maxRows` rows
|
|
261
|
+
* @param pages - reads a page of a table (a store's `rawPages`)
|
|
262
|
+
* @param tables - the tables to read
|
|
263
|
+
* @param maxRows - the row limit
|
|
264
|
+
* @param onRow - called for each row
|
|
265
|
+
* @returns true when rows were left unread because of the limit
|
|
266
|
+
*/
|
|
267
|
+
export declare function scanRawRows(pages: (table: string, batchSize: number, token?: string) => Promise<RawPage>, tables: RawTable[], maxRows: number, onRow: (row: RawRow) => void): Promise<boolean>;
|
|
268
|
+
/**
|
|
269
|
+
* Default rows scanned by the startup type check of stores without a native count
|
|
270
|
+
*/
|
|
271
|
+
export declare const DEFAULT_TYPE_CHECK_ROWS = 10000;
|
|
272
|
+
/**
|
|
273
|
+
* Count of rows by stored type, by table
|
|
274
|
+
*/
|
|
275
|
+
export interface StoredTypeCounts {
|
|
276
|
+
/** Count by stored `__type` (`UNTYPED`, `UNREADABLE` included), by table */
|
|
277
|
+
tables: Record<string, Record<string, number>>;
|
|
278
|
+
/** The scan stopped at its row limit: counts are "at least" */
|
|
279
|
+
truncated: boolean;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Outcome of the startup type check
|
|
283
|
+
*/
|
|
284
|
+
export interface TypeCheckSummary {
|
|
285
|
+
/** Rows with a legacy type */
|
|
286
|
+
legacy: number;
|
|
287
|
+
/** Untyped rows that would be stamped */
|
|
288
|
+
untyped: number;
|
|
289
|
+
/** Rows with an unknown, ambiguous or unreadable type */
|
|
290
|
+
unknown: number;
|
|
291
|
+
/** Counts are "at least" */
|
|
292
|
+
truncated: boolean;
|
|
293
|
+
/** WARN message, undefined when every row is current */
|
|
294
|
+
message?: string;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Summarize stored type counts into the startup WARN
|
|
298
|
+
* @param store - store name
|
|
299
|
+
* @param counts - the counts
|
|
300
|
+
* @param roots - root model of each table
|
|
301
|
+
* @param maxRows - the scan limit, for the message
|
|
302
|
+
* @param resolver - the resolver
|
|
303
|
+
* @returns the summary
|
|
304
|
+
*/
|
|
305
|
+
export declare function summarizeStoredTypes(store: string, counts: StoredTypeCounts, roots: Map<string, ModelClass | undefined>, maxRows: number, resolver?: ModelTypeResolver): TypeCheckSummary;
|
|
306
|
+
//# sourceMappingURL=migration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/stores/migration.ts"],"names":[],"mappings":"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"}
|