@webda/postgres 3.3.3 → 3.4.0

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.
@@ -4,9 +4,9 @@ import { SQLResult, SQLStore, SQLStoreParameters } from "./sqlstore.js";
4
4
  /**
5
5
  *
6
6
  */
7
- declare class PostgresParameters extends SQLStoreParameters {
7
+ export declare class PostgresParameters extends SQLStoreParameters {
8
8
  /**
9
- * @default false
9
+ * @default true
10
10
  */
11
11
  usePool?: boolean;
12
12
  /**
@@ -15,8 +15,20 @@ declare class PostgresParameters extends SQLStoreParameters {
15
15
  postgresqlServer?: ClientConfig | PoolConfig;
16
16
  /**
17
17
  * Auto create table if not exists
18
+ * @default true
18
19
  */
19
20
  autoCreateTable?: boolean;
21
+ /**
22
+ * View name prefix
23
+ */
24
+ viewPrefix?: string;
25
+ /**
26
+ * Regexp of models to include
27
+ *
28
+ * @default [".*"]
29
+ */
30
+ views?: string[];
31
+ constructor(params: any, store: PostgresStore);
20
32
  }
21
33
  /**
22
34
  * Store data within PostgreSQL with JSONB
@@ -34,12 +46,12 @@ declare class PostgresParameters extends SQLStoreParameters {
34
46
  *
35
47
  * @WebdaModda
36
48
  */
37
- export default class PostgresStore<T extends CoreModel = CoreModel, K extends PostgresParameters = PostgresParameters> extends SQLStore<T, K> {
49
+ export declare class PostgresStore<T extends CoreModel = CoreModel, K extends PostgresParameters = PostgresParameters> extends SQLStore<T, K> {
38
50
  client: pg.Client | pg.Pool;
39
51
  /**
40
52
  * @override
41
53
  */
42
- loadParameters(params: any): any;
54
+ loadParameters(params: any): PostgresParameters;
43
55
  /**
44
56
  * @override
45
57
  */
@@ -60,6 +72,13 @@ export default class PostgresStore<T extends CoreModel = CoreModel, K extends Po
60
72
  * @returns
61
73
  */
62
74
  executeQuery(query: string, values?: any[]): Promise<SQLResult<T>>;
75
+ /**
76
+ * Create views for each models
77
+ *
78
+ * @param [prefix=""] prefix to add to the view name
79
+ * @param [skips=[]] list of models to skip
80
+ */
81
+ createViews(): Promise<void>;
63
82
  /**
64
83
  * @override
65
84
  */
@@ -92,4 +111,4 @@ export default class PostgresStore<T extends CoreModel = CoreModel, K extends Po
92
111
  */
93
112
  _deleteItemFromCollection(uuid: string, attribute: string, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<any>;
94
113
  }
95
- export {};
114
+ export default PostgresStore;
@@ -1,4 +1,4 @@
1
- import { StoreNotFoundError, UpdateConditionFailError } from "@webda/core";
1
+ import { RegExpStringValidator, StoreNotFoundError, UpdateConditionFailError } from "@webda/core";
2
2
  import pg from "pg";
3
3
  import { SQLStore, SQLStoreParameters } from "./sqlstore.js";
4
4
  /*
@@ -14,7 +14,14 @@ import { SQLStore, SQLStoreParameters } from "./sqlstore.js";
14
14
  /**
15
15
  *
16
16
  */
17
- class PostgresParameters extends SQLStoreParameters {
17
+ export class PostgresParameters extends SQLStoreParameters {
18
+ constructor(params, store) {
19
+ super(params, store);
20
+ this.autoCreateTable ?? (this.autoCreateTable = true);
21
+ this.usePool ?? (this.usePool = false);
22
+ this.viewPrefix ?? (this.viewPrefix = "");
23
+ this.views ?? (this.views = ["regex:.*"]);
24
+ }
18
25
  }
19
26
  /**
20
27
  * Store data within PostgreSQL with JSONB
@@ -32,7 +39,7 @@ class PostgresParameters extends SQLStoreParameters {
32
39
  *
33
40
  * @WebdaModda
34
41
  */
35
- export default class PostgresStore extends SQLStore {
42
+ export class PostgresStore extends SQLStore {
36
43
  /**
37
44
  * @override
38
45
  */
@@ -61,6 +68,7 @@ export default class PostgresStore extends SQLStore {
61
68
  if (!this.parameters.autoCreateTable) {
62
69
  return;
63
70
  }
71
+ this.log("DEBUG", `CREATE TABLE IF NOT EXISTS ${this.parameters.table} (uuid VARCHAR(255) NOT NULL, data jsonb, CONSTRAINT ${this.parameters.table}_pkey PRIMARY KEY (uuid))`);
64
72
  await this.client.query(`CREATE TABLE IF NOT EXISTS ${this.parameters.table} (uuid VARCHAR(255) NOT NULL, data jsonb, CONSTRAINT ${this.parameters.table}_pkey PRIMARY KEY (uuid))`);
65
73
  }
66
74
  /**
@@ -84,6 +92,68 @@ export default class PostgresStore extends SQLStore {
84
92
  rowCount: res.rowCount
85
93
  };
86
94
  }
95
+ /**
96
+ * Create views for each models
97
+ *
98
+ * @param [prefix=""] prefix to add to the view name
99
+ * @param [skips=[]] list of models to skip
100
+ */
101
+ async createViews() {
102
+ // CREATE VIEW my_view AS SELECT uuid,data->>'status' as status from table;
103
+ const webda = this.getWebda();
104
+ const models = webda.getModels();
105
+ const app = webda.getApplication();
106
+ const validator = new RegExpStringValidator(this.parameters.views);
107
+ for (let model of Object.values(models)) {
108
+ const store = webda.getModelStore(model);
109
+ if (!(store instanceof PostgresStore)) {
110
+ continue;
111
+ }
112
+ const fields = ["uuid"];
113
+ const schema = model.getSchema();
114
+ console.log("SCHEMA", schema, model.getIdentifier(false), validator.validate(model.getIdentifier(false)), this.parameters.views);
115
+ if (!schema || !validator.validate(model.getIdentifier(false))) {
116
+ continue;
117
+ }
118
+ const plural = webda.getApplication().getModelPlural(model.getIdentifier());
119
+ for (let field of Object.keys(schema.properties)) {
120
+ if (field === "uuid" || !field.match(/^[0-9a-zA-Z-_$]+$/)) {
121
+ continue;
122
+ }
123
+ let cast = "";
124
+ let type = schema.properties[field].type;
125
+ if (type === "number") {
126
+ cast = "::bigint";
127
+ }
128
+ else if (type === "boolean") {
129
+ cast = "::boolean";
130
+ }
131
+ else if (type === "string") {
132
+ cast = "::text";
133
+ }
134
+ else if (type === "array") {
135
+ cast = "::jsonb";
136
+ }
137
+ else if (type === "object") {
138
+ cast = "::jsonb";
139
+ }
140
+ fields.push(`(data->>'${field}')${cast} as ${field}`);
141
+ }
142
+ let query = `CREATE OR REPLACE VIEW ${this.parameters.viewPrefix}${plural} AS SELECT ${fields.join(",")} FROM ${store.getParameters().table}`;
143
+ if (store.handleModel(model) > 0) {
144
+ query += ` WHERE (data#>>'{__types}')::jsonb ? '${app.getShortId(app.getModelName(model))}'`;
145
+ }
146
+ try {
147
+ this.log("INFO", "Dropping view");
148
+ await store.getClient().query(`DROP VIEW IF EXISTS ${this.parameters.viewPrefix}${plural}`);
149
+ this.log("INFO", query);
150
+ await store.getClient().query(query);
151
+ }
152
+ catch (err) {
153
+ this.log("ERROR", err);
154
+ }
155
+ }
156
+ }
87
157
  /**
88
158
  * @override
89
159
  */
@@ -197,4 +267,5 @@ export default class PostgresStore extends SQLStore {
197
267
  }
198
268
  }
199
269
  }
270
+ export default PostgresStore;
200
271
  //# 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.js CHANGED
@@ -14,7 +14,7 @@ export class SQLComparisonExpression extends WebdaQL.ComparisonExpression {
14
14
  return `CAST(${this.attribute[0]} AS boolean)`;
15
15
  case "number":
16
16
  // coalesce(data#>>'{${this.attribute[0]}}', '0') ?
17
- return `CAST(${this.attribute[0]} AS integer)`;
17
+ return `CAST(${this.attribute[0]} AS bigint)`;
18
18
  default:
19
19
  return this.attribute[0];
20
20
  }
@@ -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": "3.3.3",
3
+ "version": "3.4.0",
4
4
  "description": "Implements Postgres on webda",
5
5
  "keywords": [
6
6
  "postgres",
@@ -19,7 +19,7 @@
19
19
  "test": "c8 mocha --recursive --exit --timeout=100000 src/**/*.spec.ts src/*.spec.ts"
20
20
  },
21
21
  "dependencies": {
22
- "@webda/core": "^3.13.2",
22
+ "@webda/core": "^3.14.0",
23
23
  "pg": "^8.7.1"
24
24
  },
25
25
  "files": [
@@ -48,7 +48,7 @@
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/node": "18.11.13",
51
- "@webda/shell": "^3.9.3"
51
+ "@webda/shell": "^3.9.4"
52
52
  },
53
53
  "type": "module",
54
54
  "engines": {
@@ -60,5 +60,5 @@
60
60
  "@webda/shell"
61
61
  ]
62
62
  },
63
- "gitHead": "fde3c874a2850f646b6c1a8a134b9aa62e6de7e6"
63
+ "gitHead": "d23a4a120623420f2e9169d5ca0a3eb073c80013"
64
64
  }
package/test/config.json CHANGED
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "asyncDelete": true,
39
39
  "type": "PostgresStore",
40
- "table": "public.idents",
40
+ "table": "idents",
41
41
  "model": "Webda/Ident"
42
42
  },
43
43
  "users": {
@@ -49,7 +49,7 @@
49
49
  }
50
50
  },
51
51
  "type": "PostgresStore",
52
- "table": "public.users",
52
+ "table": "users",
53
53
  "model": "Webda/User"
54
54
  }
55
55
  }
package/webda.module.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "beans": {},
3
3
  "deployers": {},
4
4
  "moddas": {
5
- "Webda/PostgresStore": "lib/postgresstore:default"
5
+ "Webda/PostgresStore": "lib/postgresstore:PostgresStore"
6
6
  },
7
7
  "models": {
8
8
  "graph": {},
@@ -132,7 +132,7 @@
132
132
  },
133
133
  "usePool": {
134
134
  "type": "boolean",
135
- "default": false
135
+ "default": true
136
136
  },
137
137
  "postgresqlServer": {
138
138
  "anyOf": [
@@ -2346,7 +2346,22 @@
2346
2346
  },
2347
2347
  "autoCreateTable": {
2348
2348
  "type": "boolean",
2349
- "description": "Auto create table if not exists"
2349
+ "description": "Auto create table if not exists",
2350
+ "default": true
2351
+ },
2352
+ "viewPrefix": {
2353
+ "type": "string",
2354
+ "description": "View name prefix"
2355
+ },
2356
+ "views": {
2357
+ "type": "array",
2358
+ "items": {
2359
+ "type": "string"
2360
+ },
2361
+ "description": "Regexp of models to include",
2362
+ "default": [
2363
+ ".*"
2364
+ ]
2350
2365
  },
2351
2366
  "openapi": {
2352
2367
  "type": "object",