@webda/postgres 1.6.0-beta.3 → 2.0.0-beta.2

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/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAgC;AAChC,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,6CAA2B"}
@@ -1,6 +1,6 @@
1
- import { CoreModel, ModdaDefinition } from "@webda/core";
1
+ import { CoreModel } from "@webda/core";
2
+ import { Client, ClientConfig, Pool, PoolConfig } from "pg";
2
3
  import { SQLResult, SQLStore, SQLStoreParameters } from "./sqlstore";
3
- import { Pool, Client, ClientConfig, PoolConfig } from "pg";
4
4
  declare class PostgresParameters extends SQLStoreParameters {
5
5
  /**
6
6
  * @default false
@@ -25,6 +25,7 @@ declare class PostgresParameters extends SQLStoreParameters {
25
25
  * );
26
26
  * ```
27
27
  *
28
+ * @WebdaModda
28
29
  */
29
30
  export default class PostgresStore<T extends CoreModel = CoreModel, K extends PostgresParameters = PostgresParameters> extends SQLStore<T, K> {
30
31
  client: Client | Pool;
@@ -48,6 +49,10 @@ export default class PostgresStore<T extends CoreModel = CoreModel, K extends Po
48
49
  * @returns
49
50
  */
50
51
  executeQuery(query: string): Promise<SQLResult<T>>;
52
+ /**
53
+ * @override
54
+ */
55
+ mapExpressionAttribute(attribute: string[]): string;
51
56
  /**
52
57
  * @override
53
58
  */
@@ -72,9 +77,5 @@ export default class PostgresStore<T extends CoreModel = CoreModel, K extends Po
72
77
  * @override
73
78
  */
74
79
  _deleteItemFromCollection(uuid: string, attribute: string, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<any>;
75
- /**
76
- * @override
77
- */
78
- static getModda(): ModdaDefinition;
79
80
  }
80
81
  export {};
@@ -10,8 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const core_1 = require("@webda/core");
13
- const sqlstore_1 = require("./sqlstore");
14
13
  const pg_1 = require("pg");
14
+ const sqlstore_1 = require("./sqlstore");
15
15
  class PostgresParameters extends sqlstore_1.SQLStoreParameters {
16
16
  }
17
17
  /**
@@ -28,6 +28,7 @@ class PostgresParameters extends sqlstore_1.SQLStoreParameters {
28
28
  * );
29
29
  * ```
30
30
  *
31
+ * @WebdaModda
31
32
  */
32
33
  class PostgresStore extends sqlstore_1.SQLStore {
33
34
  /**
@@ -77,6 +78,12 @@ class PostgresStore extends sqlstore_1.SQLStore {
77
78
  };
78
79
  });
79
80
  }
81
+ /**
82
+ * @override
83
+ */
84
+ mapExpressionAttribute(attribute) {
85
+ return `data#>>'{${attribute.join(",")}}'`;
86
+ }
80
87
  /**
81
88
  * @override
82
89
  */
@@ -86,7 +93,7 @@ class PostgresStore extends sqlstore_1.SQLStore {
86
93
  if (itemWriteCondition) {
87
94
  query += this.getQueryCondition(itemWriteCondition, itemWriteConditionField);
88
95
  }
89
- let res = yield this.query(query);
96
+ let res = yield this.sqlQuery(query);
90
97
  if (res.rowCount === 0) {
91
98
  throw new core_1.UpdateConditionFailError(uid, itemWriteConditionField, itemWriteCondition);
92
99
  }
@@ -101,7 +108,7 @@ class PostgresStore extends sqlstore_1.SQLStore {
101
108
  if (itemWriteCondition) {
102
109
  query += this.getQueryCondition(itemWriteCondition, itemWriteConditionField);
103
110
  }
104
- let res = yield this.query(query);
111
+ let res = yield this.sqlQuery(query);
105
112
  if (res.rowCount === 0) {
106
113
  if (itemWriteCondition) {
107
114
  throw new core_1.UpdateConditionFailError(uuid, itemWriteConditionField, itemWriteCondition);
@@ -124,7 +131,7 @@ class PostgresStore extends sqlstore_1.SQLStore {
124
131
  _incrementAttribute(uid, attribute, value, updateDate) {
125
132
  return __awaiter(this, void 0, void 0, function* () {
126
133
  let query = `UPDATE ${this.parameters.table} SET data = jsonb_set(jsonb_set(data, '{${attribute}}', (COALESCE(data->>'${attribute}','0')::int + ${value})::text::jsonb)::jsonb, '{_lastUpdate}', '"${updateDate.toISOString()}"'::jsonb) WHERE uuid = '${this.getUuid(uid)}'`;
127
- let res = yield this.query(query);
134
+ let res = yield this.sqlQuery(query);
128
135
  if (res.rowCount === 0) {
129
136
  throw new core_1.StoreNotFoundError(uid, this.getName());
130
137
  }
@@ -146,7 +153,7 @@ class PostgresStore extends sqlstore_1.SQLStore {
146
153
  if (itemWriteCondition) {
147
154
  query += ` AND (data#>>'{${attribute}, ${index}}')::jsonb->>'${itemWriteConditionField}'='${itemWriteCondition}'`;
148
155
  }
149
- let res = yield this.query(query);
156
+ let res = yield this.sqlQuery(query);
150
157
  if (res.rowCount === 0) {
151
158
  if (itemWriteCondition) {
152
159
  throw new core_1.UpdateConditionFailError(uuid, itemWriteConditionField, itemWriteCondition);
@@ -168,7 +175,7 @@ class PostgresStore extends sqlstore_1.SQLStore {
168
175
  if (itemWriteCondition) {
169
176
  query += ` AND (data#>>'{${attribute}, ${index}}')::jsonb->>'${itemWriteConditionField}'='${itemWriteCondition}'`;
170
177
  }
171
- let res = yield this.query(query);
178
+ let res = yield this.sqlQuery(query);
172
179
  if (res.rowCount === 0) {
173
180
  if (itemWriteCondition) {
174
181
  throw new core_1.UpdateConditionFailError(uuid, itemWriteConditionField, itemWriteCondition);
@@ -179,16 +186,6 @@ class PostgresStore extends sqlstore_1.SQLStore {
179
186
  }
180
187
  });
181
188
  }
182
- /**
183
- * @override
184
- */
185
- static getModda() {
186
- return {
187
- uuid: "Webda/PostgresStore",
188
- label: "PostgresStore",
189
- description: "Implements PostgreSQL storage"
190
- };
191
- }
192
189
  }
193
190
  exports.default = PostgresStore;
194
191
  //# sourceMappingURL=postgresstore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgresstore.js","sourceRoot":"","sources":["../src/postgresstore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgresstore.js","sourceRoot":"","sources":["../src/postgresstore.ts"],"names":[],"mappings":"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"}
package/lib/sqlstore.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CoreModel, Store, StoreParameters } from "@webda/core";
1
+ import { CoreModel, Store, StoreParameters, WebdaQL } from "@webda/core";
2
2
  export interface SQLDatabase {
3
3
  name: string;
4
4
  }
@@ -13,18 +13,28 @@ export interface SQLResult<T> {
13
13
  rows: T[];
14
14
  rowCount: number;
15
15
  }
16
+ export declare class SQLComparisonExpression extends WebdaQL.ComparisonExpression {
17
+ toStringValue(value: (string | number | boolean) | (string | number | boolean)[]): string;
18
+ toStringAttribute(): string;
19
+ }
16
20
  export declare abstract class SQLStore<T extends CoreModel, K extends SQLStoreParameters = SQLStoreParameters> extends Store<T, K> {
17
- query(q: string): Promise<SQLResult<T>>;
21
+ sqlQuery(q: string): Promise<SQLResult<T>>;
18
22
  abstract executeQuery(q: string): Promise<SQLResult<T>>;
19
23
  completeQuery(q: string): string;
20
24
  /**
21
25
  * @override
22
26
  */
23
27
  _delete(uid: string, writeCondition: any, writeConditionField: string): Promise<void>;
28
+ abstract mapExpressionAttribute(attribute: string[]): string;
29
+ duplicateExpression(expression: WebdaQL.Expression): WebdaQL.Expression;
24
30
  /**
25
31
  * @override
26
32
  */
27
- _find(request: any, offset?: any, limit?: any): Promise<T[]>;
33
+ find(query: WebdaQL.Query): Promise<{
34
+ results: T[];
35
+ continuationToken: string;
36
+ filter: WebdaQL.Expression;
37
+ }>;
28
38
  /**
29
39
  * @override
30
40
  */
package/lib/sqlstore.js CHANGED
@@ -9,13 +9,29 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SQLStore = exports.SQLStoreParameters = void 0;
12
+ exports.SQLStore = exports.SQLComparisonExpression = exports.SQLStoreParameters = void 0;
13
13
  const core_1 = require("@webda/core");
14
14
  class SQLStoreParameters extends core_1.StoreParameters {
15
15
  }
16
16
  exports.SQLStoreParameters = SQLStoreParameters;
17
+ class SQLComparisonExpression extends core_1.WebdaQL.ComparisonExpression {
18
+ toStringValue(value) {
19
+ if (typeof value === "string") {
20
+ return `'${value}'`;
21
+ }
22
+ return super.toStringValue(value);
23
+ }
24
+ toStringAttribute() {
25
+ if ([">", "<", "<=", ">="].includes(this.operator)) {
26
+ // coalesce(data#>>'{${this.attribute[0]}}', '0') ?
27
+ return `CAST(${this.attribute[0]} AS integer)`;
28
+ }
29
+ return this.attribute[0];
30
+ }
31
+ }
32
+ exports.SQLComparisonExpression = SQLComparisonExpression;
17
33
  class SQLStore extends core_1.Store {
18
- query(q) {
34
+ sqlQuery(q) {
19
35
  q = this.completeQuery(q);
20
36
  return this.executeQuery(q);
21
37
  }
@@ -38,24 +54,51 @@ class SQLStore extends core_1.Store {
38
54
  if (writeCondition) {
39
55
  query += this.getQueryCondition(writeCondition, writeConditionField);
40
56
  }
41
- let res = yield this.query(query);
57
+ let res = yield this.sqlQuery(query);
42
58
  if (res.rowCount === 0 && writeCondition) {
43
59
  throw new core_1.UpdateConditionFailError(uid, writeConditionField, writeCondition);
44
60
  }
45
61
  });
46
62
  }
63
+ duplicateExpression(expression) {
64
+ if (expression instanceof core_1.WebdaQL.AndExpression) {
65
+ return new core_1.WebdaQL.AndExpression(expression.children.map(exp => this.duplicateExpression(exp)));
66
+ }
67
+ else if (expression instanceof core_1.WebdaQL.OrExpression) {
68
+ return new core_1.WebdaQL.OrExpression(expression.children.map(exp => this.duplicateExpression(exp)));
69
+ }
70
+ else if (expression instanceof core_1.WebdaQL.ComparisonExpression) {
71
+ if (expression.operator === "IN") {
72
+ const attr = this.mapExpressionAttribute(expression.attribute);
73
+ return new core_1.WebdaQL.OrExpression(expression.value.map(v => new SQLComparisonExpression("=", attr, v)));
74
+ }
75
+ return new SQLComparisonExpression(expression.operator, this.mapExpressionAttribute(expression.attribute), expression.value);
76
+ }
77
+ }
47
78
  /**
48
79
  * @override
49
80
  */
50
- _find(request, offset, limit) {
81
+ find(query) {
51
82
  return __awaiter(this, void 0, void 0, function* () {
52
- request !== null && request !== void 0 ? request : (request = "TRUE");
53
- limit !== null && limit !== void 0 ? limit : (limit = 1000);
54
- if (typeof request !== "string") {
55
- throw new Error("Query should be a string");
83
+ // Update condition
84
+ let sql = this.duplicateExpression(query.filter).toString() || "TRUE";
85
+ let offset = 0;
86
+ offset = parseInt(query.continuationToken || "0", 10);
87
+ if (query.orderBy && query.orderBy.length) {
88
+ sql +=
89
+ " ORDER BY " +
90
+ query.orderBy.map(c => `${this.mapExpressionAttribute(c.field.split("."))} ${c.direction}`).join(", ");
91
+ }
92
+ sql += ` LIMIT ${query.limit || "1000"}`;
93
+ if (offset) {
94
+ sql += ` OFFSET ${offset}`;
56
95
  }
57
- request += ` LIMIT ${limit}`;
58
- return (yield this.query(request)).rows;
96
+ const results = (yield this.sqlQuery(sql)).rows.map(c => this.initModel(c));
97
+ return {
98
+ results,
99
+ continuationToken: query.limit <= results.length ? (offset + query.limit).toString() : undefined,
100
+ filter: new core_1.WebdaQL.AndExpression([])
101
+ };
59
102
  });
60
103
  }
61
104
  /**
@@ -63,7 +106,7 @@ class SQLStore extends core_1.Store {
63
106
  */
64
107
  exists(uid) {
65
108
  return __awaiter(this, void 0, void 0, function* () {
66
- let res = yield this.query(`SELECT uuid FROM ${this.parameters.table} WHERE ${this.getModel().getUuidField()} = '${this.getUuid(uid)}'`);
109
+ let res = yield this.sqlQuery(`SELECT uuid FROM ${this.parameters.table} WHERE ${this.getModel().getUuidField()} = '${this.getUuid(uid)}'`);
67
110
  return res.rowCount === 1;
68
111
  });
69
112
  }
@@ -72,7 +115,7 @@ class SQLStore extends core_1.Store {
72
115
  */
73
116
  _get(uid, raiseIfNotFound) {
74
117
  return __awaiter(this, void 0, void 0, function* () {
75
- let res = yield this.query(`${this.getModel().getUuidField()} = '${this.getUuid(uid)}'`);
118
+ let res = yield this.sqlQuery(`${this.getModel().getUuidField()} = '${this.getUuid(uid)}'`);
76
119
  if (res.rowCount === 0 && raiseIfNotFound) {
77
120
  throw new core_1.StoreNotFoundError(uid, this.getName());
78
121
  }
@@ -85,9 +128,9 @@ class SQLStore extends core_1.Store {
85
128
  getAll(list) {
86
129
  return __awaiter(this, void 0, void 0, function* () {
87
130
  if (list) {
88
- return (yield this.query(list.map(uuid => `uuid='${this.getUuid(uuid)}'`).join(" OR "))).rows;
131
+ return (yield this.sqlQuery(list.map(uuid => `uuid='${this.getUuid(uuid)}'`).join(" OR "))).rows;
89
132
  }
90
- return (yield this.query("TRUE")).rows;
133
+ return (yield this.sqlQuery("TRUE")).rows;
91
134
  });
92
135
  }
93
136
  /**
@@ -99,7 +142,7 @@ class SQLStore extends core_1.Store {
99
142
  if (itemWriteCondition) {
100
143
  q += this.getQueryCondition(itemWriteCondition, itemWriteConditionField);
101
144
  }
102
- let res = yield this.query(q);
145
+ let res = yield this.sqlQuery(q);
103
146
  if (res.rowCount === 0) {
104
147
  throw new core_1.UpdateConditionFailError(uid, itemWriteConditionField, itemWriteCondition);
105
148
  }
@@ -121,13 +164,13 @@ class SQLStore extends core_1.Store {
121
164
  */
122
165
  _save(object) {
123
166
  return __awaiter(this, void 0, void 0, function* () {
124
- yield this.query(`INSERT INTO ${this.parameters.table}(uuid,data) VALUES('${this.getUuid(object)}', '${object.toStoredJSON(true)}')`);
167
+ yield this.sqlQuery(`INSERT INTO ${this.parameters.table}(uuid,data) VALUES('${this.getUuid(object)}', '${object.toStoredJSON(true)}')`);
125
168
  return object;
126
169
  });
127
170
  }
128
171
  __clean() {
129
172
  return __awaiter(this, void 0, void 0, function* () {
130
- yield this.query(`DELETE FROM ${this.parameters.table}`);
173
+ yield this.sqlQuery(`DELETE FROM ${this.parameters.table}`);
131
174
  });
132
175
  }
133
176
  }
@@ -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": "1.6.0-beta.3",
3
+ "version": "2.0.0-beta.2",
4
4
  "description": "Implements Postgres on webda",
5
5
  "keywords": [
6
6
  "postgres",
@@ -11,14 +11,14 @@
11
11
  "main": "lib/index.js",
12
12
  "typings": "lib/index.d.ts",
13
13
  "scripts": {
14
- "build": "tsc",
14
+ "build": "webda build",
15
15
  "pretest": "npm run build",
16
16
  "lint": "prettier --check src/**/*",
17
17
  "lint:fix": "prettier --write src/**/*",
18
18
  "test": "nyc mocha --recursive --exit --timeout=100000 -r ../../node_modules/ts-node/register src/**/*.spec.ts src/*.spec.ts"
19
19
  },
20
20
  "dependencies": {
21
- "@webda/core": "^1.6.0-beta.3",
21
+ "@webda/core": "^2.0.0-beta.2",
22
22
  "pg": "^8.7.1"
23
23
  },
24
24
  "files": [
@@ -47,7 +47,8 @@
47
47
  "namespace": "Webda"
48
48
  },
49
49
  "devDependencies": {
50
- "@types/node": "14.0.0"
50
+ "@types/node": "14.0.0",
51
+ "@webda/shell": "^2.0.0-beta.2"
51
52
  },
52
- "gitHead": "81e1c4249e565e719784c0bbdf09f0a858416034"
53
+ "gitHead": "4928e6830cd4164166d00195ff2fef0d52bf0ba6"
53
54
  }
package/test/config.json CHANGED
@@ -6,8 +6,10 @@
6
6
  "host": "localhost",
7
7
  "user": "webda.io",
8
8
  "database": "webda.io",
9
- "password": "webda.io"
9
+ "password": "webda.io",
10
+ "statement_timeout": 60000
10
11
  },
12
+ "usePool": true,
11
13
  "sessionSecret": "Lp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5EN"
12
14
  },
13
15
  "services": {