@webda/postgres 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/README.md +2 -0
- package/lib/postgresstore.service.d.ts +53 -7
- package/lib/postgresstore.service.d.ts.map +1 -1
- package/lib/postgresstore.service.js +129 -19
- package/lib/postgresstore.service.js.map +1 -1
- package/lib/sqlstore.d.ts +28 -2
- package/lib/sqlstore.d.ts.map +1 -1
- package/lib/sqlstore.js +98 -10
- package/lib/sqlstore.js.map +1 -1
- package/package.json +7 -7
- package/webda.module.json +50 -24
package/README.md
CHANGED
|
@@ -66,6 +66,8 @@ Or rely on libpq environment variables (`PGHOST`, `PGPORT`, `PGDATABASE`, `PGUSE
|
|
|
66
66
|
|---|---|---|---|---|
|
|
67
67
|
| `postgresqlServer` | `ClientConfig` \| `PoolConfig` | libpq env vars | No | PostgreSQL connection config (host, port, database, user, password) |
|
|
68
68
|
| `usePool` | boolean | `false` | No | Use a connection pool (`pg.Pool`) instead of a single client |
|
|
69
|
+
| `table` | string | — | No | Table of every model of the store (subclasses and fallback models included), as in Webda 3 |
|
|
70
|
+
| `tables` | object | `{}` | No | Per-model table overrides: `{ "MyApp/Model": "my_table" }` |
|
|
69
71
|
| `autoCreateTable` | boolean | `true` | No | Automatically create the JSONB table if it does not exist |
|
|
70
72
|
| `viewPrefix` | string | `""` | No | Prefix for auto-generated SQL views |
|
|
71
73
|
| `views` | string[] | `["regex:.*"]` | No | Regexp list of model names to generate views for |
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ModelClass, Repository } from "@webda/core";
|
|
1
|
+
import type { MigratableStore, ModelClass, RawPage, RawPatch, RawTable, Repository, StoredTypeCounts } from "@webda/core";
|
|
2
2
|
import pg, { ClientConfig, PoolConfig } from "pg";
|
|
3
3
|
import { PostgresRepository, SQLStore, SQLStoreParameters } from "./sqlstore.js";
|
|
4
4
|
/**
|
|
@@ -39,7 +39,8 @@ export declare class PostgresParameters extends SQLStoreParameters {
|
|
|
39
39
|
/**
|
|
40
40
|
* Per-model table name overrides.
|
|
41
41
|
* Maps a model identifier (e.g. "Webda/User") to a custom table name.
|
|
42
|
-
* When not specified,
|
|
42
|
+
* When not specified, every model of the store uses `table` (as Webda 3 did), or without `table` its identifier
|
|
43
|
+
* lowercased with "/" → "_".
|
|
43
44
|
*/
|
|
44
45
|
tables?: {
|
|
45
46
|
[modelIdentifier: string]: string;
|
|
@@ -67,7 +68,7 @@ export declare class PostgresParameters extends SQLStoreParameters {
|
|
|
67
68
|
*
|
|
68
69
|
* @WebdaModda
|
|
69
70
|
*/
|
|
70
|
-
export declare class PostgresStore<K extends PostgresParameters = PostgresParameters> extends SQLStore<K> {
|
|
71
|
+
export declare class PostgresStore<K extends PostgresParameters = PostgresParameters> extends SQLStore<K> implements MigratableStore {
|
|
71
72
|
client: pg.Client | pg.Pool;
|
|
72
73
|
/**
|
|
73
74
|
* True when {@link client} is a shared pool acquired from the registry.
|
|
@@ -92,8 +93,8 @@ export declare class PostgresStore<K extends PostgresParameters = PostgresParame
|
|
|
92
93
|
*
|
|
93
94
|
* Resolution order:
|
|
94
95
|
* 1. `parameters.tables[meta.Identifier]` — explicit per-model override
|
|
95
|
-
* 2.
|
|
96
|
-
*
|
|
96
|
+
* 2. `parameters.table` — the table of every model of the store, subclasses and models routed to this store as
|
|
97
|
+
* fallback included: the rows stay where Webda 3 wrote them
|
|
97
98
|
* 3. Default — model identifier lowercased with "/" replaced by "_"
|
|
98
99
|
*
|
|
99
100
|
* @param model - the model class to resolve the table for
|
|
@@ -101,12 +102,18 @@ export declare class PostgresStore<K extends PostgresParameters = PostgresParame
|
|
|
101
102
|
*/
|
|
102
103
|
resolveTable(model: ModelClass): string;
|
|
103
104
|
/**
|
|
104
|
-
* The model a table was declared for, owner of the rows written before `__type` stamping:
|
|
105
|
-
*
|
|
105
|
+
* The model a table was declared for, owner of the rows written before `__type` stamping: the first model of
|
|
106
|
+
* `models` stored in the same table, otherwise the model itself (its own table)
|
|
106
107
|
* @param model - the model class
|
|
107
108
|
* @returns the model identifier
|
|
108
109
|
*/
|
|
109
110
|
resolveTableModel(model: ModelClass): string | undefined;
|
|
111
|
+
/**
|
|
112
|
+
* The first model of `models` stored in a table
|
|
113
|
+
* @param table - the table name
|
|
114
|
+
* @returns the model, undefined when no configured model is stored in it
|
|
115
|
+
*/
|
|
116
|
+
protected tableRootOf(table: string): any;
|
|
110
117
|
/**
|
|
111
118
|
* Stamp `__type` on the rows written before stamping, with the model each table was declared for
|
|
112
119
|
*
|
|
@@ -151,6 +158,45 @@ export declare class PostgresStore<K extends PostgresParameters = PostgresParame
|
|
|
151
158
|
* @returns the per-model PostgresRepository instances
|
|
152
159
|
*/
|
|
153
160
|
getRepositories(): PostgresRepository<any>[];
|
|
161
|
+
/**
|
|
162
|
+
* Every table of the store, each with the model owning its untyped rows
|
|
163
|
+
* @override
|
|
164
|
+
*/
|
|
165
|
+
getRawTables(): RawTable[];
|
|
166
|
+
/**
|
|
167
|
+
* Refuse a table this store does not manage: the name is written in the statements
|
|
168
|
+
* @param table - the table name
|
|
169
|
+
*/
|
|
170
|
+
protected checkRawTable(table: string): void;
|
|
171
|
+
/**
|
|
172
|
+
* Rows ordered by key, the token is the last key of the page
|
|
173
|
+
* @override
|
|
174
|
+
*/
|
|
175
|
+
rawPages(table: string, batchSize: number, token?: string): Promise<RawPage>;
|
|
176
|
+
/**
|
|
177
|
+
* Merge the fields into the row: one statement, no read
|
|
178
|
+
* @override
|
|
179
|
+
*/
|
|
180
|
+
rawPatch(table: string, key: string, patch: RawPatch): Promise<void>;
|
|
181
|
+
/**
|
|
182
|
+
* Exact counts with one `GROUP BY` per table: never truncated
|
|
183
|
+
* @override
|
|
184
|
+
*/
|
|
185
|
+
countStoredTypes(_maxRows: number): Promise<StoredTypeCounts>;
|
|
186
|
+
/**
|
|
187
|
+
* Rewrite the Webda 3 types of the store to their Webda 4 identifiers
|
|
188
|
+
* @param dryRun - only count the rows to migrate, write nothing
|
|
189
|
+
* @param batch - rows per page
|
|
190
|
+
* @param allowUnknown - exit with 0 even when rows keep an unknown or ambiguous type
|
|
191
|
+
* @returns the exit code
|
|
192
|
+
*/
|
|
193
|
+
migrate(
|
|
194
|
+
/** @description Only count the rows to migrate, write nothing */
|
|
195
|
+
dryRun?: boolean,
|
|
196
|
+
/** @description Rows per page */
|
|
197
|
+
batch?: number,
|
|
198
|
+
/** @description Exit with 0 even when rows keep an unknown or ambiguous type */
|
|
199
|
+
allowUnknown?: boolean): Promise<number>;
|
|
154
200
|
/**
|
|
155
201
|
* Create views for each model that is stored in a PostgresStore.
|
|
156
202
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresstore.service.d.ts","sourceRoot":"","sources":["../src/postgresstore.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"postgresstore.service.d.ts","sourceRoot":"","sources":["../src/postgresstore.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,11 +32,10 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
32
32
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
33
|
done = true;
|
|
34
34
|
};
|
|
35
|
-
import { EventRepository, InstanceCache, SecretString, useApplication, useCore, useModel, useModelMetadata } from "@webda/core";
|
|
35
|
+
import { Command, EventRepository, InstanceCache, SecretString, UNREADABLE, UNTYPED, useApplication, useCore, useModel, useModelMetadata } from "@webda/core";
|
|
36
36
|
import pg from "pg";
|
|
37
37
|
import { acquirePool, releasePool } from "./pgpool.js";
|
|
38
38
|
import { PostgresRepository, SQLStore, SQLStoreParameters } from "./sqlstore.js";
|
|
39
|
-
import { useLog } from "@webda/workout";
|
|
40
39
|
/*
|
|
41
40
|
* Ideas:
|
|
42
41
|
* - Make views for each models to have a better query: https://dba.stackexchange.com/questions/151838/postgresql-json-column-to-view
|
|
@@ -87,6 +86,7 @@ let PostgresStore = (() => {
|
|
|
87
86
|
let _classSuper = SQLStore;
|
|
88
87
|
let _instanceExtraInitializers = [];
|
|
89
88
|
let _getRepository_decorators;
|
|
89
|
+
let _migrate_decorators;
|
|
90
90
|
return _a = class PostgresStore extends _classSuper {
|
|
91
91
|
constructor() {
|
|
92
92
|
super(...arguments);
|
|
@@ -106,9 +106,6 @@ let PostgresStore = (() => {
|
|
|
106
106
|
* @override
|
|
107
107
|
*/
|
|
108
108
|
async init() {
|
|
109
|
-
if (this.parameters.table && (this.parameters.models?.length ?? 0) > 1) {
|
|
110
|
-
useLog("WARN", `PostgresStore "${this.getName()}": parameters.table is ignored when more than one model is configured. Use parameters.tables[id] instead.`);
|
|
111
|
-
}
|
|
112
109
|
if (this.parameters.usePool) {
|
|
113
110
|
this.client = acquirePool(this.parameters.postgresqlServer);
|
|
114
111
|
this.ownsPool = true;
|
|
@@ -143,8 +140,8 @@ let PostgresStore = (() => {
|
|
|
143
140
|
*
|
|
144
141
|
* Resolution order:
|
|
145
142
|
* 1. `parameters.tables[meta.Identifier]` — explicit per-model override
|
|
146
|
-
* 2.
|
|
147
|
-
*
|
|
143
|
+
* 2. `parameters.table` — the table of every model of the store, subclasses and models routed to this store as
|
|
144
|
+
* fallback included: the rows stay where Webda 3 wrote them
|
|
148
145
|
* 3. Default — model identifier lowercased with "/" replaced by "_"
|
|
149
146
|
*
|
|
150
147
|
* @param model - the model class to resolve the table for
|
|
@@ -159,18 +156,15 @@ let PostgresStore = (() => {
|
|
|
159
156
|
if (this.parameters.tables?.[meta.Identifier]) {
|
|
160
157
|
return this.parameters.tables[meta.Identifier];
|
|
161
158
|
}
|
|
162
|
-
|
|
163
|
-
if (this.parameters.models?.length === 1 &&
|
|
164
|
-
this.parameters.table &&
|
|
165
|
-
(this.parameters.models[0] === meta.Identifier || this.handleModel(model) >= 0)) {
|
|
159
|
+
if (this.parameters.table) {
|
|
166
160
|
return this.parameters.table;
|
|
167
161
|
}
|
|
168
162
|
// Default derivation
|
|
169
163
|
return meta.Identifier.toLowerCase().replace(/\//g, "_");
|
|
170
164
|
}
|
|
171
165
|
/**
|
|
172
|
-
* The model a table was declared for, owner of the rows written before `__type` stamping:
|
|
173
|
-
*
|
|
166
|
+
* The model a table was declared for, owner of the rows written before `__type` stamping: the first model of
|
|
167
|
+
* `models` stored in the same table, otherwise the model itself (its own table)
|
|
174
168
|
* @param model - the model class
|
|
175
169
|
* @returns the model identifier
|
|
176
170
|
*/
|
|
@@ -179,13 +173,27 @@ let PostgresStore = (() => {
|
|
|
179
173
|
if (!meta) {
|
|
180
174
|
return undefined;
|
|
181
175
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
176
|
+
return this.tableRootOf(this.resolveTable(model))?.Metadata?.Identifier ?? meta.Identifier;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* The first model of `models` stored in a table
|
|
180
|
+
* @param table - the table name
|
|
181
|
+
* @returns the model, undefined when no configured model is stored in it
|
|
182
|
+
*/
|
|
183
|
+
tableRootOf(table) {
|
|
184
|
+
for (const identifier of this.parameters.models ?? []) {
|
|
185
|
+
let model;
|
|
186
|
+
try {
|
|
187
|
+
model = useModel(identifier);
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
if (model && this.resolveTable(model) === table) {
|
|
193
|
+
return model;
|
|
194
|
+
}
|
|
187
195
|
}
|
|
188
|
-
return
|
|
196
|
+
return undefined;
|
|
189
197
|
}
|
|
190
198
|
/**
|
|
191
199
|
* Stamp `__type` on the rows written before stamping, with the model each table was declared for
|
|
@@ -285,6 +293,103 @@ let PostgresStore = (() => {
|
|
|
285
293
|
}
|
|
286
294
|
return repos;
|
|
287
295
|
}
|
|
296
|
+
/**
|
|
297
|
+
* Every table of the store, each with the model owning its untyped rows
|
|
298
|
+
* @override
|
|
299
|
+
*/
|
|
300
|
+
getRawTables() {
|
|
301
|
+
const names = new Set();
|
|
302
|
+
if (this.parameters.table) {
|
|
303
|
+
names.add(this.parameters.table);
|
|
304
|
+
}
|
|
305
|
+
for (const repo of this.getRepositories()) {
|
|
306
|
+
names.add(repo.getTable());
|
|
307
|
+
}
|
|
308
|
+
return [...names].map(name => ({
|
|
309
|
+
name,
|
|
310
|
+
root: this.tableRootOf(name) ??
|
|
311
|
+
this.getRepositories().find(repo => repo.getTable() === name)?.["model"] ??
|
|
312
|
+
this.getTableRoot()
|
|
313
|
+
}));
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Refuse a table this store does not manage: the name is written in the statements
|
|
317
|
+
* @param table - the table name
|
|
318
|
+
*/
|
|
319
|
+
checkRawTable(table) {
|
|
320
|
+
if (!this.getRawTables().some(t => t.name === table)) {
|
|
321
|
+
throw new Error(`Unknown table ${table} in store ${this.getName()}`);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Rows ordered by key, the token is the last key of the page
|
|
326
|
+
* @override
|
|
327
|
+
*/
|
|
328
|
+
async rawPages(table, batchSize, token) {
|
|
329
|
+
this.checkRawTable(table);
|
|
330
|
+
// The key is compared in the column own type (Webda 3 created some `uuid` columns as uuid), with its index
|
|
331
|
+
const res = token === undefined
|
|
332
|
+
? await this.client.query(`SELECT uuid, data FROM ${table} ORDER BY uuid LIMIT $1`, [batchSize + 1])
|
|
333
|
+
: await this.client.query(`SELECT uuid, data FROM ${table} WHERE uuid > $1 ORDER BY uuid LIMIT $2`, [
|
|
334
|
+
token,
|
|
335
|
+
batchSize + 1
|
|
336
|
+
]);
|
|
337
|
+
const rows = res.rows.slice(0, batchSize).map(row => {
|
|
338
|
+
const data = row.data;
|
|
339
|
+
return data && typeof data === "object" && !Array.isArray(data)
|
|
340
|
+
? { table, key: row.uuid, data }
|
|
341
|
+
: { table, key: row.uuid, data: {}, unreadable: true };
|
|
342
|
+
});
|
|
343
|
+
return {
|
|
344
|
+
rows,
|
|
345
|
+
continuationToken: res.rows.length > batchSize ? rows[rows.length - 1].key : undefined
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Merge the fields into the row: one statement, no read
|
|
350
|
+
* @override
|
|
351
|
+
*/
|
|
352
|
+
async rawPatch(table, key, patch) {
|
|
353
|
+
this.checkRawTable(table);
|
|
354
|
+
const res = await this.client.query(`UPDATE ${table} SET data = data || $1::jsonb WHERE uuid = $2 AND jsonb_typeof(data) = 'object'`, [JSON.stringify(patch), key]);
|
|
355
|
+
if (res.rowCount === 0) {
|
|
356
|
+
throw new Error(`Raw row not found or not a JSON object: ${key}`);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Exact counts with one `GROUP BY` per table: never truncated
|
|
361
|
+
* @override
|
|
362
|
+
*/
|
|
363
|
+
async countStoredTypes(_maxRows) {
|
|
364
|
+
const result = { tables: {}, truncated: false };
|
|
365
|
+
for (const { name } of this.getRawTables()) {
|
|
366
|
+
const counts = {};
|
|
367
|
+
const res = await this.client.query(`SELECT CASE WHEN jsonb_typeof(data) IS DISTINCT FROM 'object' THEN $1
|
|
368
|
+
WHEN jsonb_typeof(data->'__type') = 'string' AND data->>'__type' <> '' THEN data->>'__type'
|
|
369
|
+
ELSE $2 END AS type, count(*)::int AS n FROM ${name} GROUP BY 1`, [UNREADABLE, UNTYPED]);
|
|
370
|
+
for (const row of res.rows) {
|
|
371
|
+
counts[row.type] = row.n;
|
|
372
|
+
}
|
|
373
|
+
result.tables[name] = counts;
|
|
374
|
+
}
|
|
375
|
+
return result;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Rewrite the Webda 3 types of the store to their Webda 4 identifiers
|
|
379
|
+
* @param dryRun - only count the rows to migrate, write nothing
|
|
380
|
+
* @param batch - rows per page
|
|
381
|
+
* @param allowUnknown - exit with 0 even when rows keep an unknown or ambiguous type
|
|
382
|
+
* @returns the exit code
|
|
383
|
+
*/
|
|
384
|
+
async migrate(
|
|
385
|
+
/** @description Only count the rows to migrate, write nothing */
|
|
386
|
+
dryRun = false,
|
|
387
|
+
/** @description Rows per page */
|
|
388
|
+
batch = 500,
|
|
389
|
+
/** @description Exit with 0 even when rows keep an unknown or ambiguous type */
|
|
390
|
+
allowUnknown = false) {
|
|
391
|
+
return this.migrateCommand(dryRun, batch, allowUnknown);
|
|
392
|
+
}
|
|
288
393
|
/**
|
|
289
394
|
* Create views for each model that is stored in a PostgresStore.
|
|
290
395
|
*
|
|
@@ -377,7 +482,12 @@ let PostgresStore = (() => {
|
|
|
377
482
|
(() => {
|
|
378
483
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
379
484
|
_getRepository_decorators = [InstanceCache()];
|
|
485
|
+
_migrate_decorators = [Command("migrate", {
|
|
486
|
+
description: "Rewrite the Webda 3 types of the stores to their Webda 4 identifiers",
|
|
487
|
+
phase: "initialized"
|
|
488
|
+
})];
|
|
380
489
|
__esDecorate(_a, 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);
|
|
490
|
+
__esDecorate(_a, 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);
|
|
381
491
|
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
382
492
|
})(),
|
|
383
493
|
_a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresstore.service.js","sourceRoot":"","sources":["../src/postgresstore.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"postgresstore.service.js","sourceRoot":"","sources":["../src/postgresstore.service.ts"],"names":[],"mappings":"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"}
|
package/lib/sqlstore.d.ts
CHANGED
|
@@ -169,11 +169,37 @@ export declare class PostgresRepository<T extends ModelClass> extends MemoryRepo
|
|
|
169
169
|
*/
|
|
170
170
|
protected checkPath(attribute: string[]): string;
|
|
171
171
|
/**
|
|
172
|
-
* SQL condition restricting rows to this model and its subclasses,
|
|
173
|
-
* (written before stamping)
|
|
172
|
+
* SQL condition restricting rows to this model and its subclasses, whatever form their `__type` has (Webda 3 short,
|
|
173
|
+
* lower-case and aliased types included); rows without a stamp (written before stamping) and rows typed as a
|
|
174
|
+
* strict ancestor of the table model belong to the table model and its ancestors
|
|
174
175
|
* @returns the condition, undefined for a model without metadata
|
|
175
176
|
*/
|
|
176
177
|
protected getClassCondition(): string | undefined;
|
|
178
|
+
/**
|
|
179
|
+
* The class of the table model, when it is this model or one of its subclasses
|
|
180
|
+
* @returns the class, undefined when the table model is unknown or outside the model family
|
|
181
|
+
*/
|
|
182
|
+
protected tableModelClass(): any;
|
|
183
|
+
/**
|
|
184
|
+
* Stored types naming a strict ancestor of the table model (e.g. `CoreModel` in a table of an application model):
|
|
185
|
+
* such rows belong to the table model, like unstamped rows
|
|
186
|
+
* @returns the current identifier of the table model by lower-cased stored type, empty when this model does not own
|
|
187
|
+
* the table
|
|
188
|
+
*/
|
|
189
|
+
protected rootAncestorTypes(): Record<string, string>;
|
|
190
|
+
/**
|
|
191
|
+
* Stored types to rewrite when a row of this model family is written: each legacy form (short, lower-case, alias)
|
|
192
|
+
* to its current identifier, and the ancestor types of the table model to the table model
|
|
193
|
+
* @returns the current identifier by lower-cased stored type
|
|
194
|
+
*/
|
|
195
|
+
protected legacyTypeMap(): Record<string, string>;
|
|
196
|
+
/**
|
|
197
|
+
* SQL expression of the `__type` a written row keeps: its stored type, rewritten to the current identifier when it
|
|
198
|
+
* is a legacy form of this model family
|
|
199
|
+
* @param mapParam - position of the bound {@link legacyTypeMap} parameter
|
|
200
|
+
* @returns the jsonb expression
|
|
201
|
+
*/
|
|
202
|
+
protected keptTypeExpression(mapParam: number): string;
|
|
177
203
|
/**
|
|
178
204
|
* The type an object written by the application declares: the `__type` its row was read with (non-enumerable,
|
|
179
205
|
* set by {@link fromJSON}), else the identifier of its class. Plain data declares none, whatever its keys.
|
package/lib/sqlstore.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlstore.d.ts","sourceRoot":"","sources":["../src/sqlstore.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sqlstore.d.ts","sourceRoot":"","sources":["../src/sqlstore.ts"],"names":[],"mappings":"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"}
|
package/lib/sqlstore.js
CHANGED
|
@@ -217,8 +217,9 @@ export class PostgresRepository extends MemoryRepository {
|
|
|
217
217
|
return attribute.join(",");
|
|
218
218
|
}
|
|
219
219
|
/**
|
|
220
|
-
* SQL condition restricting rows to this model and its subclasses,
|
|
221
|
-
* (written before stamping)
|
|
220
|
+
* SQL condition restricting rows to this model and its subclasses, whatever form their `__type` has (Webda 3 short,
|
|
221
|
+
* lower-case and aliased types included); rows without a stamp (written before stamping) and rows typed as a
|
|
222
|
+
* strict ancestor of the table model belong to the table model and its ancestors
|
|
222
223
|
* @returns the condition, undefined for a model without metadata
|
|
223
224
|
*/
|
|
224
225
|
getClassCondition() {
|
|
@@ -226,9 +227,84 @@ export class PostgresRepository extends MemoryRepository {
|
|
|
226
227
|
if (!ids) {
|
|
227
228
|
return undefined;
|
|
228
229
|
}
|
|
229
|
-
|
|
230
|
+
// Stored types resolve case-insensitively (`WEBDA/USER` is `Webda/User`)
|
|
231
|
+
const accepted = [...new Set([...ids, ...this.acceptedTypes()].map(name => name.toLowerCase()))];
|
|
232
|
+
const typed = `lower(data->>'__type') IN (${accepted.map(sqlString).join(", ")})`;
|
|
230
233
|
// Unstamped rows belong to the table model: its repository and its ancestors' see them, a subclass never does
|
|
231
|
-
|
|
234
|
+
if (!this.tableModel || !ids.includes(this.tableModel)) {
|
|
235
|
+
return `(${typed})`;
|
|
236
|
+
}
|
|
237
|
+
const ancestors = Object.keys(this.rootAncestorTypes());
|
|
238
|
+
return `(${typed} OR data->>'__type' IS NULL OR data->>'__type' = ''${ancestors.length ? ` OR lower(data->>'__type') IN (${ancestors.map(sqlString).join(", ")})` : ""})`;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* The class of the table model, when it is this model or one of its subclasses
|
|
242
|
+
* @returns the class, undefined when the table model is unknown or outside the model family
|
|
243
|
+
*/
|
|
244
|
+
tableModelClass() {
|
|
245
|
+
if (!this.tableModel || !this.model?.Metadata?.Identifier) {
|
|
246
|
+
return undefined;
|
|
247
|
+
}
|
|
248
|
+
return this.typeResolver()
|
|
249
|
+
.family(this.model)
|
|
250
|
+
.find(clazz => clazz.Metadata?.Identifier === this.tableModel);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Stored types naming a strict ancestor of the table model (e.g. `CoreModel` in a table of an application model):
|
|
254
|
+
* such rows belong to the table model, like unstamped rows
|
|
255
|
+
* @returns the current identifier of the table model by lower-cased stored type, empty when this model does not own
|
|
256
|
+
* the table
|
|
257
|
+
*/
|
|
258
|
+
rootAncestorTypes() {
|
|
259
|
+
const root = this.tableModelClass();
|
|
260
|
+
const types = {};
|
|
261
|
+
if (!root) {
|
|
262
|
+
return types;
|
|
263
|
+
}
|
|
264
|
+
const resolver = this.typeResolver();
|
|
265
|
+
for (let clazz = Object.getPrototypeOf(root); clazz && clazz !== Function.prototype;) {
|
|
266
|
+
if (Object.prototype.hasOwnProperty.call(clazz, "Metadata") && clazz.Metadata?.Identifier) {
|
|
267
|
+
const names = resolver.knows(clazz) ? resolver.acceptedTypes(clazz) : [clazz.Metadata.Identifier];
|
|
268
|
+
for (const name of names) {
|
|
269
|
+
if (!resolver.knows(clazz) || resolver.resolveStoredType(name) === clazz) {
|
|
270
|
+
types[name.toLowerCase()] = this.tableModel;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
clazz = Object.getPrototypeOf(clazz);
|
|
275
|
+
}
|
|
276
|
+
return types;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Stored types to rewrite when a row of this model family is written: each legacy form (short, lower-case, alias)
|
|
280
|
+
* to its current identifier, and the ancestor types of the table model to the table model
|
|
281
|
+
* @returns the current identifier by lower-cased stored type
|
|
282
|
+
*/
|
|
283
|
+
legacyTypeMap() {
|
|
284
|
+
if (!this.model?.Metadata?.Identifier) {
|
|
285
|
+
return {};
|
|
286
|
+
}
|
|
287
|
+
const resolver = this.typeResolver();
|
|
288
|
+
const map = { ...this.rootAncestorTypes() };
|
|
289
|
+
for (const name of this.acceptedTypes()) {
|
|
290
|
+
const resolved = resolver.resolveStoredType(name);
|
|
291
|
+
const current = resolved
|
|
292
|
+
? (resolver.getIdentifier(resolved) ?? resolved.Metadata?.Identifier)
|
|
293
|
+
: undefined;
|
|
294
|
+
if (current) {
|
|
295
|
+
map[name.toLowerCase()] = current;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
return map;
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* SQL expression of the `__type` a written row keeps: its stored type, rewritten to the current identifier when it
|
|
302
|
+
* is a legacy form of this model family
|
|
303
|
+
* @param mapParam - position of the bound {@link legacyTypeMap} parameter
|
|
304
|
+
* @returns the jsonb expression
|
|
305
|
+
*/
|
|
306
|
+
keptTypeExpression(mapParam) {
|
|
307
|
+
return `COALESCE($${mapParam}::jsonb -> lower(data->>'__type'), data->'__type')`;
|
|
232
308
|
}
|
|
233
309
|
/**
|
|
234
310
|
* The type an object written by the application declares: the `__type` its row was read with (non-enumerable,
|
|
@@ -294,7 +370,10 @@ export class PostgresRepository extends MemoryRepository {
|
|
|
294
370
|
*/
|
|
295
371
|
fromJSON(stored) {
|
|
296
372
|
const { __type, ...data } = stored ?? {};
|
|
297
|
-
const
|
|
373
|
+
const typed = typeof __type === "string" && __type !== "";
|
|
374
|
+
// A row loads as the class its type resolves to (a Webda 3 form included): a subclass row as the subclass
|
|
375
|
+
const clazz = (typed && this.findModelClass(__type)) || this.model;
|
|
376
|
+
const instance = new clazz({});
|
|
298
377
|
if (typeof instance.load === "function") {
|
|
299
378
|
instance.load(data);
|
|
300
379
|
}
|
|
@@ -303,7 +382,8 @@ export class PostgresRepository extends MemoryRepository {
|
|
|
303
382
|
}
|
|
304
383
|
if (__type !== undefined) {
|
|
305
384
|
Object.defineProperty(instance, "__type", {
|
|
306
|
-
value
|
|
385
|
+
// The current identifier of a legacy type, the stored value when it is unknown or ambiguous
|
|
386
|
+
value: typed ? this.currentTypeOf(instance, __type) : __type,
|
|
307
387
|
enumerable: false,
|
|
308
388
|
configurable: true,
|
|
309
389
|
writable: true
|
|
@@ -345,10 +425,13 @@ export class PostgresRepository extends MemoryRepository {
|
|
|
345
425
|
async update(data, conditionField, condition) {
|
|
346
426
|
const key = this.getPrimaryKey(data).toString();
|
|
347
427
|
const args = [this.toStoredJSON(data), key];
|
|
348
|
-
// Plain data keeps the stored type: a write through a parent repository never re-types a subclass row
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
428
|
+
// Plain data keeps the stored type: a write through a parent repository never re-types a subclass row; a legacy
|
|
429
|
+
// form of it is written as the current identifier
|
|
430
|
+
let q = `UPDATE ${this.table} SET data=$1 WHERE uuid=$2`;
|
|
431
|
+
if (!this.declaredType(data)) {
|
|
432
|
+
args.push(JSON.stringify(this.legacyTypeMap()));
|
|
433
|
+
q = `UPDATE ${this.table} SET data = CASE WHEN data ? '__type' THEN $1::jsonb || jsonb_build_object('__type', ${this.keptTypeExpression(3)}) ELSE $1::jsonb END WHERE uuid=$2`;
|
|
434
|
+
}
|
|
352
435
|
if (conditionField) {
|
|
353
436
|
q += this.getQueryCondition(condition, conditionField, args);
|
|
354
437
|
}
|
|
@@ -362,6 +445,11 @@ export class PostgresRepository extends MemoryRepository {
|
|
|
362
445
|
const key = this.getPrimaryKey(primaryKey).toString();
|
|
363
446
|
const args = [JSON.stringify(data), key];
|
|
364
447
|
let q = `UPDATE ${this.table} SET data = data || $1::jsonb WHERE uuid=$2`;
|
|
448
|
+
if (!Object.prototype.hasOwnProperty.call(data ?? {}, "__type")) {
|
|
449
|
+
// A legacy form of the stored type is written as the current identifier
|
|
450
|
+
args.push(JSON.stringify(this.legacyTypeMap()));
|
|
451
|
+
q = `UPDATE ${this.table} SET data = CASE WHEN data ? '__type' THEN (data || $1::jsonb) || jsonb_build_object('__type', ${this.keptTypeExpression(3)}) ELSE data || $1::jsonb END WHERE uuid=$2`;
|
|
452
|
+
}
|
|
365
453
|
if (conditionField) {
|
|
366
454
|
q += this.getQueryCondition(condition, conditionField, args);
|
|
367
455
|
}
|
package/lib/sqlstore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlstore.js","sourceRoot":"","sources":["../src/sqlstore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlstore.js","sourceRoot":"","sources":["../src/sqlstore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webda/postgres",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.9",
|
|
4
4
|
"description": "Implements Postgres on webda",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"postgres",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"typings": "lib/index.d.ts",
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"pg": "^8.20.0",
|
|
19
|
-
"@webda/core": "4.0.0-beta.
|
|
20
|
-
"@webda/
|
|
21
|
-
"@webda/
|
|
22
|
-
"@webda/
|
|
19
|
+
"@webda/core": "4.0.0-beta.9",
|
|
20
|
+
"@webda/utils": "4.0.0-beta.9",
|
|
21
|
+
"@webda/workout": "4.0.0-beta.5",
|
|
22
|
+
"@webda/ql": "4.0.0-beta.8"
|
|
23
23
|
},
|
|
24
24
|
"files": [
|
|
25
25
|
"lib",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"typescript": "7.1.0-dev.20260929.1",
|
|
44
44
|
"vite": "^6.0.0",
|
|
45
45
|
"vitest": "^4.1.2",
|
|
46
|
-
"@webda/
|
|
47
|
-
"@webda/
|
|
46
|
+
"@webda/compiler": "^4.0.0-beta.9",
|
|
47
|
+
"@webda/test": "4.0.0-beta.7"
|
|
48
48
|
},
|
|
49
49
|
"type": "module",
|
|
50
50
|
"engines": {
|
package/webda.module.json
CHANGED
|
@@ -2174,13 +2174,6 @@
|
|
|
2174
2174
|
"additionalProperties": false,
|
|
2175
2175
|
"type": "object"
|
|
2176
2176
|
},
|
|
2177
|
-
"modelAliases#2": {
|
|
2178
|
-
"additionalProperties": {
|
|
2179
|
-
"type": "string"
|
|
2180
|
-
},
|
|
2181
|
-
"description": "Model Aliases to allow easier rename of Model",
|
|
2182
|
-
"type": "object"
|
|
2183
|
-
},
|
|
2184
2177
|
"new () => ClientBase": {
|
|
2185
2178
|
"additionalProperties": false,
|
|
2186
2179
|
"type": "object"
|
|
@@ -2189,7 +2182,23 @@
|
|
|
2189
2182
|
"additionalProperties": {
|
|
2190
2183
|
"type": "string"
|
|
2191
2184
|
},
|
|
2192
|
-
"description": "Per-model table name overrides.\nMaps a model identifier (e.g. \"Webda/User\") to a custom table name.\nWhen not specified,
|
|
2185
|
+
"description": "Per-model table name overrides.\nMaps a model identifier (e.g. \"Webda/User\") to a custom table name.\nWhen not specified, every model of the store uses `table` (as Webda 3 did), or without `table` its identifier\nlowercased with \"/\" → \"_\".",
|
|
2186
|
+
"type": "object"
|
|
2187
|
+
},
|
|
2188
|
+
"typeCheck#2": {
|
|
2189
|
+
"additionalProperties": false,
|
|
2190
|
+
"description": "Startup check of the stored types: one WARN listing the legacy, untyped and unknown types found",
|
|
2191
|
+
"properties": {
|
|
2192
|
+
"enabled": {
|
|
2193
|
+
"default": true,
|
|
2194
|
+
"type": "boolean"
|
|
2195
|
+
},
|
|
2196
|
+
"maxRows": {
|
|
2197
|
+
"default": 10000,
|
|
2198
|
+
"description": "Rows scanned at most by stores without a native count; beyond, the counts are \"at least\"",
|
|
2199
|
+
"type": "number"
|
|
2200
|
+
}
|
|
2201
|
+
},
|
|
2193
2202
|
"type": "object"
|
|
2194
2203
|
}
|
|
2195
2204
|
},
|
|
@@ -2212,26 +2221,12 @@
|
|
|
2212
2221
|
"database": {
|
|
2213
2222
|
"$ref": "#/definitions/SQLDatabase"
|
|
2214
2223
|
},
|
|
2215
|
-
"defaultModel": {
|
|
2216
|
-
"default": true,
|
|
2217
|
-
"description": "When __type model not found, use the model\nIf strict is setup this parameter is not used",
|
|
2218
|
-
"type": "boolean"
|
|
2219
|
-
},
|
|
2220
|
-
"forceModel": {
|
|
2221
|
-
"default": false,
|
|
2222
|
-
"description": "If set, Store will ignore the __type",
|
|
2223
|
-
"type": "boolean"
|
|
2224
|
-
},
|
|
2225
2224
|
"maxGroups": {
|
|
2226
2225
|
"default": 10000,
|
|
2227
2226
|
"description": "Maximum number of groups an aggregation may produce without LIMIT (or in memory)",
|
|
2228
2227
|
"minimum": 1,
|
|
2229
2228
|
"type": "number"
|
|
2230
2229
|
},
|
|
2231
|
-
"modelAliases": {
|
|
2232
|
-
"$ref": "#/definitions/modelAliases%232",
|
|
2233
|
-
"description": "Model Aliases to allow easier rename of Model"
|
|
2234
|
-
},
|
|
2235
2230
|
"models": {
|
|
2236
2231
|
"default": [
|
|
2237
2232
|
"Webda/RegistryEntry"
|
|
@@ -2277,12 +2272,16 @@
|
|
|
2277
2272
|
},
|
|
2278
2273
|
"tables": {
|
|
2279
2274
|
"$ref": "#/definitions/tables%232",
|
|
2280
|
-
"description": "Per-model table name overrides.\nMaps a model identifier (e.g. \"Webda/User\") to a custom table name.\nWhen not specified,
|
|
2275
|
+
"description": "Per-model table name overrides.\nMaps a model identifier (e.g. \"Webda/User\") to a custom table name.\nWhen not specified, every model of the store uses `table` (as Webda 3 did), or without `table` its identifier\nlowercased with \"/\" → \"_\"."
|
|
2281
2276
|
},
|
|
2282
2277
|
"type": {
|
|
2283
2278
|
"description": "Type of the service",
|
|
2284
2279
|
"type": "string"
|
|
2285
2280
|
},
|
|
2281
|
+
"typeCheck": {
|
|
2282
|
+
"$ref": "#/definitions/typeCheck%232",
|
|
2283
|
+
"description": "Startup check of the stored types: one WARN listing the legacy, untyped and unknown types found"
|
|
2284
|
+
},
|
|
2286
2285
|
"usePool": {
|
|
2287
2286
|
"default": false,
|
|
2288
2287
|
"type": "boolean"
|
|
@@ -2321,7 +2320,34 @@
|
|
|
2321
2320
|
"type": "object",
|
|
2322
2321
|
"title": "PostgresStore"
|
|
2323
2322
|
},
|
|
2324
|
-
"Configuration": "lib/postgresstore.service:PostgresParameters"
|
|
2323
|
+
"Configuration": "lib/postgresstore.service:PostgresParameters",
|
|
2324
|
+
"capabilities": [
|
|
2325
|
+
"store"
|
|
2326
|
+
],
|
|
2327
|
+
"commands": {
|
|
2328
|
+
"migrate": {
|
|
2329
|
+
"description": "Rewrite the Webda 3 types of the stores to their Webda 4 identifiers",
|
|
2330
|
+
"method": "migrate",
|
|
2331
|
+
"args": {
|
|
2332
|
+
"dryRun": {
|
|
2333
|
+
"type": "boolean",
|
|
2334
|
+
"default": false,
|
|
2335
|
+
"description": "Only count the rows to migrate, write nothing"
|
|
2336
|
+
},
|
|
2337
|
+
"batch": {
|
|
2338
|
+
"type": "number",
|
|
2339
|
+
"default": 500,
|
|
2340
|
+
"description": "Rows per page"
|
|
2341
|
+
},
|
|
2342
|
+
"allowUnknown": {
|
|
2343
|
+
"type": "boolean",
|
|
2344
|
+
"default": false,
|
|
2345
|
+
"description": "Exit with 0 even when rows keep an unknown or ambiguous type"
|
|
2346
|
+
}
|
|
2347
|
+
},
|
|
2348
|
+
"phase": "initialized"
|
|
2349
|
+
}
|
|
2350
|
+
}
|
|
2325
2351
|
}
|
|
2326
2352
|
},
|
|
2327
2353
|
"models": {},
|