@webda/postgres 4.0.0-beta.1 → 4.0.0-beta.3
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 +125 -0
- package/lib/index.d.ts +4 -1
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/pgpool.d.ts +40 -0
- package/lib/pgpool.d.ts.map +1 -0
- package/lib/pgpool.js +101 -0
- package/lib/pgpool.js.map +1 -0
- package/lib/postgrespubsub.service.d.ts +131 -0
- package/lib/postgrespubsub.service.d.ts.map +1 -0
- package/lib/postgrespubsub.service.js +208 -0
- package/lib/postgrespubsub.service.js.map +1 -0
- package/lib/postgresqueue.service.d.ts +144 -0
- package/lib/postgresqueue.service.d.ts.map +1 -0
- package/lib/postgresqueue.service.js +210 -0
- package/lib/postgresqueue.service.js.map +1 -0
- package/lib/postgresstore.service.d.ts +132 -0
- package/lib/postgresstore.service.d.ts.map +1 -0
- package/lib/postgresstore.service.js +327 -0
- package/lib/postgresstore.service.js.map +1 -0
- package/lib/sqlstore.d.ts +122 -40
- package/lib/sqlstore.d.ts.map +1 -0
- package/lib/sqlstore.js +313 -103
- package/lib/sqlstore.js.map +1 -1
- package/package.json +33 -30
- package/test/config.json +2 -53
- package/webda.module.json +2386 -2414
- package/lib/postgresstore.d.ts +0 -114
- package/lib/postgresstore.js +0 -271
- package/lib/postgresstore.js.map +0 -1
package/lib/sqlstore.js
CHANGED
|
@@ -1,61 +1,310 @@
|
|
|
1
|
-
import { Store, StoreNotFoundError, StoreParameters, UpdateConditionFailError } from "@webda/core";
|
|
1
|
+
import { MemoryRepository, Store, StoreNotFoundError, StoreParameters, UpdateConditionFailError } from "@webda/core";
|
|
2
2
|
import * as WebdaQL from "@webda/ql";
|
|
3
|
+
/** Base parameters for SQL-backed stores */
|
|
3
4
|
export class SQLStoreParameters extends StoreParameters {
|
|
5
|
+
/**
|
|
6
|
+
* @override
|
|
7
|
+
* @param params - raw parameters
|
|
8
|
+
* @returns this
|
|
9
|
+
*/
|
|
10
|
+
load(params) {
|
|
11
|
+
super.load(params);
|
|
12
|
+
return this;
|
|
13
|
+
}
|
|
4
14
|
}
|
|
15
|
+
/** Extends ComparisonExpression to emit SQL-compatible string literals for JSONB comparisons */
|
|
5
16
|
export class SQLComparisonExpression extends WebdaQL.ComparisonExpression {
|
|
17
|
+
/**
|
|
18
|
+
* Single quotes are doubled so a value can never close the literal. Backslashes stay
|
|
19
|
+
* literal: with `standard_conforming_strings` (PostgreSQL default) `\\` is not an
|
|
20
|
+
* escape character in '...' strings — only LIKE gives it a meaning.
|
|
21
|
+
*
|
|
22
|
+
* @override
|
|
23
|
+
* @param value - the value to stringify
|
|
24
|
+
* @returns SQL-compatible string literal
|
|
25
|
+
*/
|
|
6
26
|
toStringValue(value) {
|
|
7
27
|
if (typeof value === "string") {
|
|
8
|
-
return `'${value}'`;
|
|
28
|
+
return `'${value.replace(/'/g, "''")}'`;
|
|
9
29
|
}
|
|
10
30
|
return super.toStringValue(value);
|
|
11
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* @override
|
|
34
|
+
* @returns SQL attribute expression with type cast
|
|
35
|
+
*/
|
|
12
36
|
toStringAttribute() {
|
|
13
37
|
switch (typeof this.value) {
|
|
14
38
|
case "boolean":
|
|
15
|
-
return `
|
|
39
|
+
return `COALESCE(${this.attribute[0]}, false) AS boolean`;
|
|
16
40
|
case "number":
|
|
17
|
-
|
|
18
|
-
return `CAST(${this.attribute[0]} AS bigint)`;
|
|
41
|
+
return `COALESCE(${this.attribute[0]}, 0) AS bigint`;
|
|
19
42
|
default:
|
|
20
43
|
return this.attribute[0];
|
|
21
44
|
}
|
|
22
45
|
}
|
|
23
46
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
47
|
+
/**
|
|
48
|
+
* PostgreSQL-backed repository for a single model class.
|
|
49
|
+
*
|
|
50
|
+
* Stores every object as a JSONB `data` column alongside a `uuid` primary-key
|
|
51
|
+
* column. All CRUD operations hit the pg client; the inherited MemoryRepository
|
|
52
|
+
* serialize/deserialize helpers are reused for JSON ↔ model-instance
|
|
53
|
+
* conversion.
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* PostgreSQL-backed repository for a single model class.
|
|
57
|
+
*
|
|
58
|
+
* Stores every object as a JSONB `data` column alongside a `uuid` primary-key
|
|
59
|
+
* column. All CRUD operations hit the pg client; the inherited MemoryRepository
|
|
60
|
+
* serialize/deserialize helpers are reused for JSON to model-instance conversion.
|
|
61
|
+
*/
|
|
62
|
+
export class PostgresRepository extends MemoryRepository {
|
|
63
|
+
/**
|
|
64
|
+
* Create a new PostgresRepository.
|
|
65
|
+
* @param model - the model class
|
|
66
|
+
* @param pks - primary key field names
|
|
67
|
+
* @param client - the pg client or pool
|
|
68
|
+
* @param table - the table name
|
|
69
|
+
* @param separator - composite key separator
|
|
70
|
+
*/
|
|
71
|
+
constructor(model, pks, client, table, separator) {
|
|
72
|
+
// Pass an empty Map — we do NOT use in-memory storage
|
|
73
|
+
super(model, pks, separator, new Map());
|
|
74
|
+
this.client = client;
|
|
75
|
+
this.table = table;
|
|
28
76
|
}
|
|
29
77
|
/**
|
|
30
|
-
*
|
|
31
|
-
* @
|
|
32
|
-
* @
|
|
78
|
+
* The backing table name for this repository's model.
|
|
79
|
+
* @returns the table name
|
|
80
|
+
* @internal Not part of the @webda/models Repository interface.
|
|
33
81
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
82
|
+
getTable() {
|
|
83
|
+
return this.table;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Ensure the backing table for this repository's model exists.
|
|
87
|
+
* Owns the per-model DDL previously held by PostgresStore.checkTable().
|
|
88
|
+
* @internal Not part of the @webda/models Repository interface.
|
|
89
|
+
*/
|
|
90
|
+
async setupTable() {
|
|
91
|
+
await this.client.query(`CREATE TABLE IF NOT EXISTS ${this.table} (uuid VARCHAR(255) NOT NULL, data jsonb, CONSTRAINT ${this.table}_pkey PRIMARY KEY (uuid))`);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Map an expression attribute path array to a JSONB path expression.
|
|
95
|
+
* @param attribute - the attribute path
|
|
96
|
+
* @returns the JSONB path expression
|
|
97
|
+
*/
|
|
98
|
+
mapExpressionAttribute(attribute) {
|
|
99
|
+
return `data#>>'{${attribute.join(",")}}'`;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Build a SQL WHERE sub-expression from a write-condition.
|
|
103
|
+
* @param writeCondition - the expected value
|
|
104
|
+
* @param writeConditionField - the field to check
|
|
105
|
+
* @param params - the existing params array (will be extended in place)
|
|
106
|
+
* @returns the SQL AND clause
|
|
107
|
+
*/
|
|
108
|
+
getQueryCondition(writeCondition, writeConditionField, params) {
|
|
109
|
+
const condition = writeCondition instanceof Date ? writeCondition.toISOString() : writeCondition;
|
|
110
|
+
params.push(condition);
|
|
111
|
+
return ` AND data->>'${writeConditionField}'=$${params.length}`;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Run a raw SQL query and return typed results.
|
|
115
|
+
* @param q - the SQL query (WHERE clause or full query)
|
|
116
|
+
* @param values - the query parameters
|
|
117
|
+
* @returns the raw pg query result
|
|
118
|
+
*/
|
|
119
|
+
async sqlQuery(q, values = []) {
|
|
39
120
|
if (!q.startsWith("DELETE") && !q.startsWith("INSERT") && !q.startsWith("SELECT") && !q.startsWith("UPDATE")) {
|
|
40
|
-
|
|
121
|
+
q = `SELECT * FROM ${this.table} WHERE ${q}`;
|
|
41
122
|
}
|
|
42
|
-
return q;
|
|
123
|
+
return this.client.query(q, values);
|
|
43
124
|
}
|
|
44
125
|
/**
|
|
45
|
-
*
|
|
126
|
+
* Deserialize a raw JSON object from the database into a model instance.
|
|
127
|
+
* @param data - the raw JSON object from the JSONB column
|
|
128
|
+
* @returns the model instance
|
|
46
129
|
*/
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
130
|
+
fromJSON(data) {
|
|
131
|
+
const instance = new this.model({});
|
|
132
|
+
if (typeof instance.load === "function") {
|
|
133
|
+
instance.load(data);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
Object.assign(instance, data);
|
|
137
|
+
}
|
|
138
|
+
return instance;
|
|
139
|
+
}
|
|
140
|
+
/** @override */
|
|
141
|
+
async get(primaryKey) {
|
|
142
|
+
const key = this.getPrimaryKey(primaryKey).toString();
|
|
143
|
+
const res = await this.sqlQuery(`SELECT data FROM ${this.table} WHERE uuid=$1`, [key]);
|
|
144
|
+
if (res.rowCount === 0) {
|
|
145
|
+
throw new Error(`Not found: ${key}`);
|
|
146
|
+
}
|
|
147
|
+
return this.fromJSON(res.rows[0].data);
|
|
148
|
+
}
|
|
149
|
+
/** @override */
|
|
150
|
+
async create(data, _save = true) {
|
|
151
|
+
// Persist the built item: a primary key generated by the model (e.g. UuidModel)
|
|
152
|
+
// must be the one stored in the row, not only the one used as key
|
|
153
|
+
const item = this.buildItem(data);
|
|
154
|
+
const key = this.getPrimaryKey(item).toString();
|
|
155
|
+
await this.client.query(`INSERT INTO ${this.table}(uuid,data) VALUES($1, $2)`, [key, JSON.stringify(item)]);
|
|
156
|
+
return item;
|
|
157
|
+
}
|
|
158
|
+
/** @override */
|
|
159
|
+
async update(data, conditionField, condition) {
|
|
160
|
+
const key = this.getPrimaryKey(data).toString();
|
|
161
|
+
const args = [JSON.stringify(data), key];
|
|
162
|
+
let q = `UPDATE ${this.table} SET data=$1 WHERE uuid=$2`;
|
|
163
|
+
if (conditionField) {
|
|
164
|
+
q += this.getQueryCondition(condition, conditionField, args);
|
|
165
|
+
}
|
|
166
|
+
const res = await this.client.query(q, args);
|
|
167
|
+
if (res.rowCount === 0) {
|
|
168
|
+
throw new UpdateConditionFailError(key, conditionField, condition);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/** @override */
|
|
172
|
+
async patch(primaryKey, data, conditionField, condition) {
|
|
173
|
+
const key = this.getPrimaryKey(primaryKey).toString();
|
|
174
|
+
const args = [JSON.stringify(data), key];
|
|
175
|
+
let q = `UPDATE ${this.table} SET data = data || $1::jsonb WHERE uuid=$2`;
|
|
176
|
+
if (conditionField) {
|
|
177
|
+
q += this.getQueryCondition(condition, conditionField, args);
|
|
178
|
+
}
|
|
179
|
+
const res = await this.client.query(q, args);
|
|
180
|
+
if (res.rowCount === 0) {
|
|
181
|
+
throw new UpdateConditionFailError(key, conditionField, condition);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/** @override */
|
|
185
|
+
async delete(primaryKey, conditionField, condition) {
|
|
186
|
+
const key = this.getPrimaryKey(primaryKey).toString();
|
|
187
|
+
const args = [key];
|
|
188
|
+
let q = `DELETE FROM ${this.table} WHERE uuid=$1`;
|
|
189
|
+
if (conditionField) {
|
|
190
|
+
q += this.getQueryCondition(condition, conditionField, args);
|
|
191
|
+
const res = await this.client.query(q, args);
|
|
192
|
+
if (res.rowCount === 0) {
|
|
193
|
+
throw new UpdateConditionFailError(key, conditionField, condition);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
await this.client.query(q, args);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/** @override */
|
|
201
|
+
async exists(primaryKey) {
|
|
202
|
+
const key = this.getPrimaryKey(primaryKey).toString();
|
|
203
|
+
const res = await this.client.query(`SELECT uuid FROM ${this.table} WHERE uuid=$1`, [key]);
|
|
204
|
+
return res.rowCount === 1;
|
|
205
|
+
}
|
|
206
|
+
/** @override */
|
|
207
|
+
async removeAttribute(primaryKey, attribute, conditionField, condition) {
|
|
208
|
+
const key = this.getPrimaryKey(primaryKey).toString();
|
|
209
|
+
const args = [String(attribute), key];
|
|
210
|
+
let q = `UPDATE ${this.table} SET data = data - $1 WHERE uuid=$2`;
|
|
211
|
+
if (conditionField) {
|
|
212
|
+
q += this.getQueryCondition(condition, conditionField, args);
|
|
213
|
+
}
|
|
214
|
+
const res = await this.client.query(q, args);
|
|
215
|
+
if (res.rowCount === 0) {
|
|
216
|
+
if (conditionField) {
|
|
217
|
+
throw new UpdateConditionFailError(key, conditionField, condition);
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
throw new StoreNotFoundError(key, this.table);
|
|
221
|
+
}
|
|
52
222
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
223
|
+
}
|
|
224
|
+
/** @override */
|
|
225
|
+
async incrementAttributes(primaryKey, info, _conditionField, _condition) {
|
|
226
|
+
const key = this.getPrimaryKey(primaryKey).toString();
|
|
227
|
+
const updateDate = new Date();
|
|
228
|
+
const args = [key];
|
|
229
|
+
let data = "data";
|
|
230
|
+
const entries = Array.isArray(info)
|
|
231
|
+
? info.map((e) => typeof e === "string" ? { property: e, value: 1 } : { property: e.property, value: e.value ?? 1 })
|
|
232
|
+
: Object.entries(info).map(([property, value]) => ({ property: String(property), value: value }));
|
|
233
|
+
entries.forEach((p, index) => {
|
|
234
|
+
args.push(p.value);
|
|
235
|
+
data = `jsonb_set(${data}, '{${p.property}}', (COALESCE(data->>'${p.property}','0')::int + $${index + 2})::text::jsonb)::jsonb`;
|
|
236
|
+
});
|
|
237
|
+
const q = `UPDATE ${this.table} SET data = jsonb_set(${data}, '{_lastUpdate}', '"${updateDate.toISOString()}"'::jsonb) WHERE uuid=$1`;
|
|
238
|
+
const res = await this.client.query(q, args);
|
|
239
|
+
if (res.rowCount === 0) {
|
|
240
|
+
throw new StoreNotFoundError(key, this.table);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/** @override */
|
|
244
|
+
async upsertItemToCollection(primaryKey, collection, item, index, itemWriteConditionField, itemWriteCondition) {
|
|
245
|
+
const key = this.getPrimaryKey(primaryKey).toString();
|
|
246
|
+
const attr = String(collection);
|
|
247
|
+
const updateDate = new Date();
|
|
248
|
+
const args = [key];
|
|
249
|
+
let q = `UPDATE ${this.table} SET data = jsonb_set(jsonb_set(data::jsonb, array['${attr}'],`;
|
|
250
|
+
if (index === undefined) {
|
|
251
|
+
q += `COALESCE((data->'${attr}')::jsonb, '[]'::jsonb) || '[${JSON.stringify(item)}]'::jsonb)::jsonb`;
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
q += `jsonb_set(COALESCE((data->'${attr}')::jsonb, '[]'::jsonb), '{${index}}', '${JSON.stringify(item)}'::jsonb)::jsonb)`;
|
|
255
|
+
}
|
|
256
|
+
q += `, '{_lastUpdate}', '"${updateDate.toISOString()}"'::jsonb) WHERE uuid=$1`;
|
|
257
|
+
if (itemWriteCondition !== undefined) {
|
|
258
|
+
args.push(itemWriteCondition);
|
|
259
|
+
q += ` AND (data#>>'{${attr}, ${index}}')::jsonb->>'${String(itemWriteConditionField)}'=$${args.length}`;
|
|
260
|
+
}
|
|
261
|
+
const res = await this.client.query(q, args);
|
|
262
|
+
if (res.rowCount === 0) {
|
|
263
|
+
if (itemWriteCondition !== undefined) {
|
|
264
|
+
throw new UpdateConditionFailError(key, String(itemWriteConditionField), itemWriteCondition);
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
throw new StoreNotFoundError(key, this.table);
|
|
268
|
+
}
|
|
56
269
|
}
|
|
57
270
|
}
|
|
271
|
+
/** @override */
|
|
272
|
+
async deleteItemFromCollection(primaryKey, collection, index, itemWriteConditionField, itemWriteCondition) {
|
|
273
|
+
const key = this.getPrimaryKey(primaryKey).toString();
|
|
274
|
+
const attr = String(collection);
|
|
275
|
+
const updateDate = new Date();
|
|
276
|
+
const args = [key];
|
|
277
|
+
let q = `UPDATE ${this.table} SET data = jsonb_set(jsonb_set(data::jsonb, array['${attr}'], COALESCE(`;
|
|
278
|
+
q += `((data->'${attr}')::jsonb - ${index})`;
|
|
279
|
+
q += `, '[]'::jsonb))::jsonb, '{_lastUpdate}', '"${updateDate.toISOString()}"'::jsonb) WHERE uuid=$1`;
|
|
280
|
+
if (itemWriteCondition !== undefined) {
|
|
281
|
+
args.push(itemWriteCondition);
|
|
282
|
+
q += ` AND (data#>>'{${attr}, ${index}}')::jsonb->>'${String(itemWriteConditionField)}'=$2`;
|
|
283
|
+
}
|
|
284
|
+
const res = await this.client.query(q, args);
|
|
285
|
+
if (res.rowCount === 0) {
|
|
286
|
+
if (itemWriteCondition !== undefined) {
|
|
287
|
+
throw new UpdateConditionFailError(key, String(itemWriteConditionField), itemWriteCondition);
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
throw new StoreNotFoundError(key, this.table);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Duplicate and translate a WebdaQL expression into SQL-friendly JSONB path expressions.
|
|
296
|
+
* @param expression - the WebdaQL expression
|
|
297
|
+
* @returns the translated expression
|
|
298
|
+
*/
|
|
58
299
|
duplicateExpression(expression) {
|
|
300
|
+
if (expression instanceof WebdaQL.LogicalExpression && expression.children.length === 0) {
|
|
301
|
+
// An empty AND / OR matches everything: emit an explicit SQL TRUE (not "( )")
|
|
302
|
+
return new WebdaQL.BooleanExpression(true);
|
|
303
|
+
}
|
|
304
|
+
if (expression instanceof WebdaQL.BooleanExpression) {
|
|
305
|
+
// TRUE / FALSE are valid SQL booleans
|
|
306
|
+
return new WebdaQL.BooleanExpression(expression.value);
|
|
307
|
+
}
|
|
59
308
|
if (expression instanceof WebdaQL.AndExpression) {
|
|
60
309
|
return new WebdaQL.AndExpression(expression.children.map(exp => this.duplicateExpression(exp)));
|
|
61
310
|
}
|
|
@@ -68,100 +317,61 @@ export class SQLStore extends Store {
|
|
|
68
317
|
return new WebdaQL.OrExpression(expression.value.map(v => new SQLComparisonExpression("=", attr, v)));
|
|
69
318
|
}
|
|
70
319
|
if (expression.operator === "CONTAINS") {
|
|
71
|
-
return new SQLComparisonExpression(
|
|
72
|
-
// Small hack
|
|
73
|
-
"?", "(" + this.mapExpressionAttribute(expression.attribute) + ")::jsonb", expression.value);
|
|
320
|
+
return new SQLComparisonExpression("?", "(" + this.mapExpressionAttribute(expression.attribute) + ")::jsonb", expression.value);
|
|
74
321
|
}
|
|
322
|
+
// IS NULL / IS NOT NULL map natively: `data#>>'{a}'` is NULL for a missing key and a JSON null
|
|
75
323
|
return new SQLComparisonExpression(expression.operator, this.mapExpressionAttribute(expression.attribute), expression.value);
|
|
76
324
|
}
|
|
325
|
+
return expression;
|
|
77
326
|
}
|
|
78
|
-
/**
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
offset = parseInt(query.continuationToken || "0", 10);
|
|
86
|
-
if (query.orderBy && query.orderBy.length) {
|
|
327
|
+
/** @override — use SQL WHERE clause instead of in-memory scan */
|
|
328
|
+
async query(queryStr) {
|
|
329
|
+
const WebdaQLMod = await import("@webda/ql");
|
|
330
|
+
const parsed = WebdaQLMod.parse(queryStr);
|
|
331
|
+
let sql = this.duplicateExpression(parsed.filter).toString();
|
|
332
|
+
const offset = parseInt(parsed.continuationToken || "0", 10);
|
|
333
|
+
if (parsed.orderBy && parsed.orderBy.length) {
|
|
87
334
|
sql +=
|
|
88
335
|
" ORDER BY " +
|
|
89
|
-
|
|
336
|
+
parsed.orderBy
|
|
337
|
+
.map((c) => `${this.mapExpressionAttribute(c.field.split("."))} ${c.direction}`)
|
|
338
|
+
.join(", ");
|
|
90
339
|
}
|
|
91
|
-
|
|
340
|
+
const limit = parsed.limit || 1000;
|
|
341
|
+
sql += ` LIMIT ${limit}`;
|
|
92
342
|
if (offset) {
|
|
93
343
|
sql += ` OFFSET ${offset}`;
|
|
94
344
|
}
|
|
95
|
-
const
|
|
345
|
+
const res = await this.sqlQuery(sql, []);
|
|
346
|
+
const results = res.rows.map(r => this.fromJSON(r.data));
|
|
96
347
|
return {
|
|
97
348
|
results,
|
|
98
|
-
continuationToken:
|
|
99
|
-
filter: new WebdaQL.AndExpression([])
|
|
349
|
+
continuationToken: limit <= results.length ? (offset + limit).toString() : undefined
|
|
100
350
|
};
|
|
101
351
|
}
|
|
102
|
-
/**
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* @override
|
|
111
|
-
*/
|
|
112
|
-
async _get(uid, raiseIfNotFound) {
|
|
113
|
-
let res = await this.sqlQuery(`${this.getModel().getUuidField()} = $1`, [this.getUuid(uid)]);
|
|
114
|
-
if (res.rowCount === 0 && raiseIfNotFound) {
|
|
115
|
-
throw new StoreNotFoundError(uid, this.getName());
|
|
116
|
-
}
|
|
117
|
-
return res.rows.shift();
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* @override
|
|
121
|
-
*/
|
|
122
|
-
async getAll(list) {
|
|
123
|
-
if (list) {
|
|
124
|
-
return (await this.sqlQuery(list.map((_, index) => `uuid=$${index + 1}`).join(" OR "), list)).rows;
|
|
125
|
-
}
|
|
126
|
-
return (await this.sqlQuery("TRUE", [])).rows;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* @override
|
|
130
|
-
*/
|
|
131
|
-
async _update(object, uid, itemWriteCondition, itemWriteConditionField) {
|
|
132
|
-
let q = `UPDATE ${this.parameters.table} SET data=$1 WHERE uuid=$2`;
|
|
133
|
-
const args = [object.toStoredJSON(true), this.getUuid(uid)];
|
|
134
|
-
if (itemWriteCondition) {
|
|
135
|
-
q += this.getQueryCondition(itemWriteCondition, itemWriteConditionField, args);
|
|
136
|
-
}
|
|
137
|
-
let res = await this.sqlQuery(q, args);
|
|
138
|
-
if (res.rowCount === 0) {
|
|
139
|
-
throw new UpdateConditionFailError(uid, itemWriteConditionField, itemWriteCondition);
|
|
352
|
+
/** @override — iterate via paginated SQL queries */
|
|
353
|
+
async *iterate(queryStr) {
|
|
354
|
+
const WebdaQLMod = await import("@webda/ql");
|
|
355
|
+
const parsed = WebdaQLMod.parse(queryStr);
|
|
356
|
+
if (!parsed.limit) {
|
|
357
|
+
parsed.limit = 100;
|
|
140
358
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
id = object.getUuid();
|
|
150
|
-
}
|
|
151
|
-
return id;
|
|
359
|
+
do {
|
|
360
|
+
const res = await this.query(parsed.toString?.() ?? queryStr);
|
|
361
|
+
for (const item of res.results) {
|
|
362
|
+
yield item;
|
|
363
|
+
}
|
|
364
|
+
parsed.continuationToken = res.continuationToken;
|
|
365
|
+
} while (parsed.continuationToken);
|
|
152
366
|
}
|
|
153
367
|
/**
|
|
154
|
-
*
|
|
368
|
+
* Delete all rows from the table (used in tests).
|
|
155
369
|
*/
|
|
156
|
-
async _save(object) {
|
|
157
|
-
await this.sqlQuery(`INSERT INTO ${this.parameters.table}(uuid,data) VALUES($1, $2)`, [
|
|
158
|
-
this.getUuid(object),
|
|
159
|
-
object.toStoredJSON(true)
|
|
160
|
-
]);
|
|
161
|
-
return object;
|
|
162
|
-
}
|
|
163
370
|
async __clean() {
|
|
164
|
-
await this.
|
|
371
|
+
await this.client.query(`DELETE FROM ${this.table}`, []);
|
|
165
372
|
}
|
|
166
373
|
}
|
|
374
|
+
/** Abstract base class for SQL-backed stores */
|
|
375
|
+
export class SQLStore extends Store {
|
|
376
|
+
}
|
|
167
377
|
//# sourceMappingURL=sqlstore.js.map
|
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.3",
|
|
4
4
|
"description": "Implements Postgres on webda",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"postgres",
|
|
@@ -10,35 +10,18 @@
|
|
|
10
10
|
"repository": "git://github.com/loopingz/webda.io.git",
|
|
11
11
|
"main": "lib/index.js",
|
|
12
12
|
"typings": "lib/index.d.ts",
|
|
13
|
-
"scripts": {
|
|
14
|
-
"build": "webda build",
|
|
15
|
-
"build:watch": "webda build --watch",
|
|
16
|
-
"pretest": "npm run build",
|
|
17
|
-
"lint": "prettier --check src/**/*",
|
|
18
|
-
"lint:fix": "prettier --write src/**/*",
|
|
19
|
-
"test": "c8 mocha"
|
|
20
|
-
},
|
|
21
13
|
"dependencies": {
|
|
22
|
-
"
|
|
23
|
-
"
|
|
14
|
+
"pg": "^8.20.0",
|
|
15
|
+
"@webda/core": "4.0.0-beta.3",
|
|
16
|
+
"@webda/ql": "4.0.0-beta.3",
|
|
17
|
+
"@webda/utils": "4.0.0-beta.3",
|
|
18
|
+
"@webda/workout": "4.0.0-beta.3"
|
|
24
19
|
},
|
|
25
20
|
"files": [
|
|
26
21
|
"lib",
|
|
27
22
|
"test",
|
|
28
23
|
"webda.module.json"
|
|
29
24
|
],
|
|
30
|
-
"c8": {
|
|
31
|
-
"report-dir": "./reports",
|
|
32
|
-
"reporter": [
|
|
33
|
-
"html",
|
|
34
|
-
"lcov",
|
|
35
|
-
"json",
|
|
36
|
-
"text"
|
|
37
|
-
],
|
|
38
|
-
"exclude": [
|
|
39
|
-
"**/*.spec.ts"
|
|
40
|
-
]
|
|
41
|
-
},
|
|
42
25
|
"homepage": "https://webda.io",
|
|
43
26
|
"publishConfig": {
|
|
44
27
|
"access": "public"
|
|
@@ -47,18 +30,38 @@
|
|
|
47
30
|
"namespace": "Webda"
|
|
48
31
|
},
|
|
49
32
|
"devDependencies": {
|
|
50
|
-
"@types/node": "
|
|
51
|
-
"@
|
|
33
|
+
"@types/node": "25.5.0",
|
|
34
|
+
"@types/pg": "^8.11.10",
|
|
35
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
36
|
+
"jscodeshift": "^17.3.0",
|
|
37
|
+
"skott": "^0.35.8",
|
|
38
|
+
"tsx": "^4.21.0",
|
|
39
|
+
"typescript": "7.1.0-dev.20260929.1",
|
|
40
|
+
"vite": "^6.0.0",
|
|
41
|
+
"vitest": "^4.1.2",
|
|
42
|
+
"@webda/test": "4.0.0-beta.3",
|
|
43
|
+
"@webda/compiler": "^4.0.0-beta.3"
|
|
52
44
|
},
|
|
53
45
|
"type": "module",
|
|
54
46
|
"engines": {
|
|
55
|
-
"node": ">=
|
|
47
|
+
"node": ">=22.0.0"
|
|
56
48
|
},
|
|
57
49
|
"nx": {
|
|
58
50
|
"implicitDependencies": [
|
|
59
|
-
"@webda/core"
|
|
60
|
-
"@webda/shell"
|
|
51
|
+
"@webda/core"
|
|
61
52
|
]
|
|
62
53
|
},
|
|
63
|
-
"
|
|
64
|
-
|
|
54
|
+
"license": "LGPL-3.0-only",
|
|
55
|
+
"scripts": {
|
|
56
|
+
"build": "webdac build",
|
|
57
|
+
"build:watch": "webdac build --watch",
|
|
58
|
+
"pretest": "npm run build",
|
|
59
|
+
"lint": "eslint",
|
|
60
|
+
"lint:fix": "eslint --fix",
|
|
61
|
+
"test": "vitest run",
|
|
62
|
+
"format": "prettier --check src/**/*",
|
|
63
|
+
"format:fix": "prettier --write src/**/*",
|
|
64
|
+
"deps:graph": "skott --showCircularDependencies --no-trackTypeOnlyDependencies --displayMode=raw -e .ts",
|
|
65
|
+
"codemod": "jscodeshift --parser=ts --extensions=tsx,ts -t ../codemod/current.mjs src"
|
|
66
|
+
}
|
|
67
|
+
}
|