@webda/postgres 3.3.4 → 3.4.1
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/postgresstore.d.ts +24 -5
- package/lib/postgresstore.js +74 -3
- package/lib/postgresstore.js.map +1 -1
- package/package.json +4 -4
- package/test/config.json +2 -2
- package/webda.module.json +18 -3
package/lib/postgresstore.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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):
|
|
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;
|
package/lib/postgresstore.js
CHANGED
|
@@ -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
|
|
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
|
package/lib/postgresstore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresstore.js","sourceRoot":"","sources":["../src/postgresstore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"postgresstore.js","sourceRoot":"","sources":["../src/postgresstore.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
|
+
"version": "3.4.1",
|
|
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.
|
|
22
|
+
"@webda/core": "^3.15.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.
|
|
51
|
+
"@webda/shell": "^3.10.0"
|
|
52
52
|
},
|
|
53
53
|
"type": "module",
|
|
54
54
|
"engines": {
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"@webda/shell"
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "17df8665107ab92b599cd8f5707b32690e3470a0"
|
|
64
64
|
}
|
package/test/config.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
"asyncDelete": true,
|
|
39
39
|
"type": "PostgresStore",
|
|
40
|
-
"table": "
|
|
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": "
|
|
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:
|
|
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":
|
|
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",
|