prostgles-server 2.0.185 → 2.0.188

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.
Files changed (91) hide show
  1. package/dist/DboBuilder/insert.d.ts +5 -0
  2. package/dist/DboBuilder/insert.d.ts.map +1 -0
  3. package/dist/DboBuilder/insert.js +129 -0
  4. package/dist/DboBuilder/insert.js.map +1 -0
  5. package/dist/DboBuilder/insertDataParse.d.ts +11 -0
  6. package/dist/DboBuilder/insertDataParse.d.ts.map +1 -0
  7. package/dist/DboBuilder/insertDataParse.js +283 -0
  8. package/dist/DboBuilder/insertDataParse.js.map +1 -0
  9. package/dist/DboBuilder.d.ts +10 -5
  10. package/dist/DboBuilder.d.ts.map +1 -1
  11. package/dist/DboBuilder.js +121 -374
  12. package/dist/DboBuilder.js.map +1 -1
  13. package/dist/FileManager.d.ts.map +1 -1
  14. package/dist/FileManager.js +17 -12
  15. package/dist/FileManager.js.map +1 -1
  16. package/dist/Prostgles.d.ts +16 -14
  17. package/dist/Prostgles.d.ts.map +1 -1
  18. package/dist/Prostgles.js +7 -7
  19. package/dist/Prostgles.js.map +1 -1
  20. package/dist/PubSubManager.d.ts +1 -0
  21. package/dist/PubSubManager.d.ts.map +1 -1
  22. package/dist/PubSubManager.js +2 -1
  23. package/dist/PubSubManager.js.map +1 -1
  24. package/dist/QueryBuilder.d.ts +7 -3
  25. package/dist/QueryBuilder.d.ts.map +1 -1
  26. package/dist/QueryBuilder.js +7 -2
  27. package/dist/QueryBuilder.js.map +1 -1
  28. package/dist/TableConfig.d.ts +1 -4
  29. package/dist/TableConfig.d.ts.map +1 -1
  30. package/dist/TableConfig.js +16 -1
  31. package/dist/TableConfig.js.map +1 -1
  32. package/lib/DboBuilder/insert.d.ts +5 -0
  33. package/lib/DboBuilder/insert.d.ts.map +1 -0
  34. package/lib/DboBuilder/insert.js +128 -0
  35. package/lib/DboBuilder/insert.ts +138 -0
  36. package/lib/DboBuilder/insertDataParse.d.ts +11 -0
  37. package/lib/DboBuilder/insertDataParse.d.ts.map +1 -0
  38. package/lib/DboBuilder/insertDataParse.js +282 -0
  39. package/lib/DboBuilder/insertDataParse.ts +355 -0
  40. package/lib/DboBuilder.d.ts +10 -5
  41. package/lib/DboBuilder.d.ts.map +1 -1
  42. package/lib/DboBuilder.js +121 -374
  43. package/lib/DboBuilder.ts +138 -453
  44. package/lib/FileManager.d.ts.map +1 -1
  45. package/lib/FileManager.js +17 -12
  46. package/lib/FileManager.ts +18 -13
  47. package/lib/Prostgles.d.ts +16 -14
  48. package/lib/Prostgles.d.ts.map +1 -1
  49. package/lib/Prostgles.js +7 -7
  50. package/lib/Prostgles.ts +664 -650
  51. package/lib/PubSubManager.d.ts +1 -0
  52. package/lib/PubSubManager.d.ts.map +1 -1
  53. package/lib/PubSubManager.js +2 -1
  54. package/lib/PubSubManager.ts +3 -1
  55. package/lib/QueryBuilder.d.ts.map +1 -1
  56. package/lib/QueryBuilder.js +7 -2
  57. package/lib/QueryBuilder.ts +12 -7
  58. package/lib/SchemaWatchManager.ts +72 -0
  59. package/lib/TableConfig.d.ts +1 -4
  60. package/lib/TableConfig.d.ts.map +1 -1
  61. package/lib/TableConfig.js +16 -1
  62. package/lib/TableConfig.ts +21 -8
  63. package/package.json +3 -3
  64. package/tests/client/PID.txt +1 -1
  65. package/tests/client/package-lock.json +15 -15
  66. package/tests/client/package.json +1 -1
  67. package/tests/client/tsconfig.json +1 -1
  68. package/tests/client_only_queries.d.ts +1 -1
  69. package/tests/client_only_queries.d.ts.map +1 -1
  70. package/tests/client_only_queries.ts +1 -1
  71. package/tests/isomorphic_queries.d.ts +1 -1
  72. package/tests/isomorphic_queries.d.ts.map +1 -1
  73. package/tests/isomorphic_queries.js +49 -1
  74. package/tests/isomorphic_queries.ts +66 -4
  75. package/tests/manual_test/DBoGenerated.d.ts +398 -0
  76. package/tests/manual_test/index.d.ts +2 -0
  77. package/tests/manual_test/index.d.ts.map +1 -0
  78. package/tests/{config_test2 → manual_test}/index.html +14 -23
  79. package/tests/{config_test2 → manual_test}/index.js +21 -15
  80. package/tests/{config_test2 → manual_test}/index.ts +22 -17
  81. package/tests/{config_test2 → manual_test}/init.sql +36 -5
  82. package/tests/manual_test/package-lock.json +2483 -0
  83. package/tests/{config_test2 → manual_test}/package.json +6 -7
  84. package/tests/manual_test/tsconfig.json +21 -0
  85. package/tests/server/DBoGenerated.d.ts +70 -0
  86. package/tests/server/index.js +29 -2
  87. package/tests/server/index.ts +30 -4
  88. package/tests/server/init.sql +25 -0
  89. package/tests/server/package-lock.json +5 -5
  90. package/tests/config_test2/DBoGenerated.d.ts +0 -135
  91. package/tests/config_test2/tsconfig.json +0 -21
@@ -6,26 +6,25 @@
6
6
  "scripts": {
7
7
  "build": "npm i && tsc",
8
8
  "run": "npm run build && node index.js",
9
- "start": "tsc-watch --onSuccess \"node index.js\""
9
+ "start": "tsc-watch --onSuccess \"node --inspect index.js\""
10
10
  },
11
11
  "author": "",
12
12
  "license": "ISC",
13
13
  "dependencies": {
14
- "@types/express": "^4.17.11",
15
- "@types/socket.io": "^2.1.13",
16
- "@types/socket.io-client": "^1.4.35",
17
- "@types/ws": "^7.4.0",
18
- "chokidar": "^3.5.1",
14
+ "@types/express": "latest",
15
+ "@types/ws": "latest",
16
+ "chokidar": "latest",
19
17
  "express": "latest",
20
18
  "prostgles-client": "latest",
21
19
  "prostgles-server": "file:../..",
22
- "prostgles-types": "^1.5.66",
20
+ "prostgles-types": "latest",
23
21
  "socket.io": "latest",
24
22
  "socket.io-client": "latest",
25
23
  "ws": "latest"
26
24
  },
27
25
  "devDependencies": {
28
26
  "@types/node": "latest",
27
+ "tsc-watch": "^5.0.3",
29
28
  "typescript": "latest"
30
29
  }
31
30
  }
@@ -0,0 +1,21 @@
1
+ {
2
+ "files": ["./index.ts"],
3
+ "compilerOptions": {
4
+ "target": "es2020",
5
+ "lib": [ "es2020" ],
6
+ "esModuleInterop" : true,
7
+ "allowSyntheticDefaultImports": true,
8
+ "resolveJsonModule": true,
9
+ "allowJs": true,
10
+ "module": "commonjs",
11
+ "moduleResolution": "node",
12
+ "declaration": true,
13
+ "declarationMap": true,
14
+ "keyofStringsOnly": true,
15
+ "skipLibCheck": true
16
+ },
17
+ "exclude": [
18
+ "dist",
19
+ "DBoGenerated.ts"
20
+ ]
21
+ }
@@ -84,6 +84,19 @@ export type DBSchemaGenerated = {
84
84
  name?: string | null
85
85
  };
86
86
  };
87
+ item_children: {
88
+ is_view: false;
89
+ select: true;
90
+ insert: true;
91
+ update: true;
92
+ delete: true;
93
+ columns: {
94
+ id?: number;
95
+ item_id?: number | null;
96
+ name?: string | null;
97
+ tst?: Date | null
98
+ };
99
+ };
87
100
  items: {
88
101
  is_view: false;
89
102
  select: true;
@@ -96,6 +109,21 @@ export type DBSchemaGenerated = {
96
109
  name?: string | null
97
110
  };
98
111
  };
112
+ items_multi: {
113
+ is_view: false;
114
+ select: true;
115
+ insert: true;
116
+ update: true;
117
+ delete: true;
118
+ columns: {
119
+ id?: number;
120
+ items0_id?: number | null;
121
+ items1_id?: number | null;
122
+ items2_id?: number | null;
123
+ items3_id?: number | null;
124
+ name?: string | null
125
+ };
126
+ };
99
127
  items_with_media: {
100
128
  is_view: false;
101
129
  select: true;
@@ -169,6 +197,19 @@ export type DBSchemaGenerated = {
169
197
  public?: string | null
170
198
  };
171
199
  };
200
+ items4a: {
201
+ is_view: false;
202
+ select: true;
203
+ insert: true;
204
+ update: true;
205
+ delete: true;
206
+ columns: {
207
+ id?: number;
208
+ items_id?: number | null;
209
+ items2_id?: number | null;
210
+ name?: string | null
211
+ };
212
+ };
172
213
  lookup_col1: {
173
214
  is_view: false;
174
215
  select: true;
@@ -179,6 +220,18 @@ export type DBSchemaGenerated = {
179
220
  id: string
180
221
  };
181
222
  };
223
+ lookup_status: {
224
+ is_view: false;
225
+ select: true;
226
+ insert: true;
227
+ update: true;
228
+ delete: true;
229
+ columns: {
230
+ en?: string | null;
231
+ fr?: string | null;
232
+ id: string
233
+ };
234
+ };
182
235
  media: {
183
236
  is_view: false;
184
237
  select: true;
@@ -187,6 +240,8 @@ export type DBSchemaGenerated = {
187
240
  delete: true;
188
241
  columns: {
189
242
  content_type: string;
243
+ deleted?: number | null;
244
+ deleted_from_storage?: number | null;
190
245
  description?: string | null;
191
246
  etag?: string | null;
192
247
  extension: string;
@@ -296,6 +351,21 @@ export type DBSchemaGenerated = {
296
351
  tr1_id?: number | null
297
352
  };
298
353
  };
354
+ usr: {
355
+ is_view: false;
356
+ select: true;
357
+ insert: true;
358
+ update: true;
359
+ delete: true;
360
+ columns: {
361
+ added?: Date | null;
362
+ age?: number | null;
363
+ id?: number;
364
+ is_active?: boolean | null;
365
+ msg?: string | null;
366
+ status?: string | null
367
+ };
368
+ };
299
369
  uuid_text: {
300
370
  is_view: false;
301
371
  select: true;
@@ -9,6 +9,10 @@ const prostgles_server_1 = __importDefault(require("prostgles-server"));
9
9
  const app = (0, express_1.default)();
10
10
  const http = require('http').createServer(app);
11
11
  const { exec } = require('child_process');
12
+ const publishTypeCheck_1 = require("./publishTypeCheck");
13
+ const dboTypeCheck_1 = require("./dboTypeCheck");
14
+ (0, dboTypeCheck_1.testDboTypes)();
15
+ (0, publishTypeCheck_1.testPublishTypes)();
12
16
  const clientTest = (process.env.TEST_TYPE === "client");
13
17
  const io = !clientTest ? undefined : require("socket.io")(http, { path: "/teztz/s" });
14
18
  http.listen(3001);
@@ -201,6 +205,9 @@ function dd() {
201
205
  items: "*",
202
206
  items2: "*",
203
207
  items3: "*",
208
+ items4a: "*",
209
+ // items_with_media_cols: "*",
210
+ items_multi: "*",
204
211
  v_items: "*",
205
212
  various: "*",
206
213
  tr1: "*",
@@ -276,12 +283,32 @@ function dd() {
276
283
  joins: [
277
284
  {
278
285
  tables: ["items", "items2"],
279
- on: { name: "name" },
286
+ on: [{ name: "name" }],
280
287
  type: "many-many"
281
288
  },
282
289
  {
283
290
  tables: ["items2", "items3"],
284
- on: { name: "name" },
291
+ on: [{ name: "name" }],
292
+ type: "many-many"
293
+ },
294
+ {
295
+ tables: ["items4a", "items"],
296
+ on: [{ items_id: "id" }],
297
+ type: "many-many"
298
+ },
299
+ {
300
+ tables: ["items4a", "items2"],
301
+ on: [{ items2_id: "id" }],
302
+ type: "many-many"
303
+ },
304
+ {
305
+ tables: ["items_multi", "items"],
306
+ on: [
307
+ { items0_id: "id" },
308
+ { items1_id: "id" },
309
+ { items2_id: "id" },
310
+ { items3_id: "id" },
311
+ ],
285
312
  type: "many-many"
286
313
  }
287
314
  ],
@@ -7,7 +7,9 @@ const http = require('http').createServer(app);
7
7
  const { exec } = require('child_process');
8
8
  import { testPublishTypes } from "./publishTypeCheck";
9
9
 
10
- import { testDboTypes } from "./dboTypeCheck"
10
+ import { testDboTypes } from "./dboTypeCheck";
11
+ testDboTypes();
12
+ testPublishTypes();
11
13
 
12
14
  const clientTest = (process.env.TEST_TYPE === "client");
13
15
  const io = !clientTest? undefined : require("socket.io")(http, { path: "/teztz/s" });
@@ -22,7 +24,6 @@ import { DBSchemaGenerated } from "./DBoGenerated";
22
24
 
23
25
  import { TableConfig } from '../../dist/TableConfig';
24
26
  import { DBOFullyTyped } from "../../lib/DBSchemaBuilder";
25
- import { ProstglesInitOptions } from "../../dist/Prostgles";
26
27
  import { PublishFullyTyped } from "../../dist/DBSchemaBuilder";
27
28
 
28
29
  const log = (msg: string, extra?: any, trace?: boolean) => {
@@ -231,6 +232,9 @@ function dd(){
231
232
  items: "*",
232
233
  items2: "*",
233
234
  items3: "*",
235
+ items4a: "*",
236
+ // items_with_media_cols: "*",
237
+ items_multi: "*",
234
238
  v_items: "*",
235
239
  various: "*",
236
240
  tr1: "*",
@@ -308,14 +312,36 @@ function dd(){
308
312
  joins: [
309
313
  {
310
314
  tables: ["items", "items2"],
311
- on: { name: "name" },
315
+ on: [{ name: "name" }],
312
316
  type: "many-many"
313
317
  },
314
318
  {
315
319
  tables: ["items2", "items3"],
316
- on: { name: "name" },
320
+ on: [{ name: "name" }],
321
+ type: "many-many"
322
+ },
323
+ {
324
+ tables: ["items4a", "items"],
325
+ on: [{ items_id: "id" }],
326
+ type: "many-many"
327
+ },
328
+ {
329
+ tables: ["items4a", "items2"],
330
+ on: [{ items2_id: "id" }],
331
+ type: "many-many"
332
+ },
333
+ {
334
+ tables: ["items_multi", "items"],
335
+ on: [
336
+ { items0_id: "id" },
337
+ { items1_id: "id" },
338
+ { items2_id: "id" },
339
+ { items3_id: "id" },
340
+ ],
317
341
  type: "many-many"
318
342
  }
343
+
344
+
319
345
  ],
320
346
  onReady: async (db, _db) => {
321
347
  log("prostgles onReady")
@@ -40,6 +40,14 @@ CREATE TABLE IF NOT EXISTS items_with_media (
40
40
  name TEXT
41
41
  );
42
42
 
43
+ -- DROP TABLE IF EXISTS items_with_media_cols CASCADE;
44
+ -- CREATE TABLE IF NOT EXISTS items_with_media_cols (
45
+ -- id SERIAL PRIMARY KEY,
46
+ -- "desc" TEXT,
47
+ -- file_id UUID REFERENCES media(id)
48
+ -- );
49
+
50
+
43
51
  DROP TABLE IF EXISTS various CASCADE;
44
52
  CREATE TABLE IF NOT EXISTS various (
45
53
  id SERIAL PRIMARY KEY,
@@ -73,6 +81,23 @@ CREATE TABLE IF NOT EXISTS items3 (
73
81
  name TEXT
74
82
  );
75
83
 
84
+ DROP TABLE IF EXISTS items4a CASCADE;
85
+ CREATE TABLE IF NOT EXISTS items4a (
86
+ id SERIAL PRIMARY KEY,
87
+ items_id INTEGER REFERENCES items(id),
88
+ items2_id INTEGER REFERENCES items2(id),
89
+ name TEXT
90
+ );
91
+
92
+ DROP TABLE IF EXISTS items_multi CASCADE;
93
+ CREATE TABLE IF NOT EXISTS items_multi (
94
+ id SERIAL PRIMARY KEY,
95
+ items0_id INTEGER REFERENCES items(id),
96
+ items1_id INTEGER REFERENCES items(id),
97
+ items2_id INTEGER REFERENCES items(id),
98
+ items3_id INTEGER REFERENCES items(id),
99
+ name TEXT
100
+ );
76
101
 
77
102
  DROP TABLE IF EXISTS items4 CASCADE;
78
103
  CREATE TABLE IF NOT EXISTS items4 (
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "2.0.184",
24
+ "version": "2.0.187",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.95.0",
@@ -29,7 +29,7 @@
29
29
  "bluebird": "^3.7.2",
30
30
  "file-type": "^16.5.3",
31
31
  "pg-promise": "^10.11.1",
32
- "prostgles-types": "^1.5.158",
32
+ "prostgles-types": "^1.5.160",
33
33
  "sharp": "^0.30.5"
34
34
  },
35
35
  "devDependencies": {
@@ -37,7 +37,7 @@
37
37
  "@types/bluebird": "^3.5.36",
38
38
  "@types/node": "^14.14.35",
39
39
  "@types/sharp": "^0.30.2",
40
- "typescript": "^4.7.3"
40
+ "typescript": "^4.7.4"
41
41
  }
42
42
  },
43
43
  "node_modules/@types/component-emitter": {
@@ -1371,9 +1371,9 @@
1371
1371
  "bluebird": "^3.7.2",
1372
1372
  "file-type": "^16.5.3",
1373
1373
  "pg-promise": "^10.11.1",
1374
- "prostgles-types": "^1.5.158",
1374
+ "prostgles-types": "^1.5.160",
1375
1375
  "sharp": "^0.30.5",
1376
- "typescript": "^4.7.3"
1376
+ "typescript": "^4.7.4"
1377
1377
  }
1378
1378
  },
1379
1379
  "proxy-addr": {
@@ -1,135 +0,0 @@
1
- /* This file was generated by Prostgles
2
- */
3
-
4
-
5
-
6
- import { ViewHandler, TableHandler, JoinMaker } from "prostgles-types";
7
-
8
- export type TxCB = {
9
- (t: DBObj): (any | void | Promise<(any | void)>)
10
- };
11
-
12
-
13
- /* SCHEMA DEFINITON. Table names have been altered to work with Typescript */
14
- export type D_34_42_34 = {
15
- "id"?: number;
16
- "\"*\""?: string;
17
- }
18
- export type D_42 = {
19
- "id"?: number;
20
- "*"?: string;
21
- }
22
- export type Ex_j_ins = {
23
- "id"?: number;
24
- "public"?: string;
25
- "name"?: string;
26
- "added"?: Date;
27
- }
28
- export type Item_children = {
29
- "id"?: number;
30
- "item_id"?: number;
31
- "name"?: string;
32
- "tst"?: Date;
33
- }
34
- export type Items = {
35
- "id"?: number;
36
- "name"?: string;
37
- "tst"?: Date;
38
- }
39
- export type Items2 = {
40
- "id"?: number;
41
- "items_id"?: number;
42
- "hh"?: Array<string>;
43
- "name"?: string;
44
- }
45
- export type Items3 = {
46
- "id"?: number;
47
- "h"?: Array<string>;
48
- "name"?: string;
49
- }
50
- export type Items4 = {
51
- "id"?: number;
52
- "public"?: string;
53
- "name"?: string;
54
- "added"?: Date;
55
- }
56
- export type Items4_pub = {
57
- "id"?: number;
58
- "public"?: string;
59
- "name"?: string;
60
- "added"?: Date;
61
- }
62
- export type Lookup_status = {
63
- "id"?: string;
64
- "en"?: string;
65
- "fr"?: string;
66
- }
67
- export type Planes = {
68
- "id"?: number;
69
- "x"?: number;
70
- "y"?: number;
71
- "flight_number"?: string;
72
- "last_updated"?: number;
73
- }
74
- export type Tr1 = {
75
- "id"?: number;
76
- "t1"?: string;
77
- }
78
- export type Tr2 = {
79
- "id"?: number;
80
- "tr1_id"?: number;
81
- "t1"?: string;
82
- "t2"?: string;
83
- }
84
- export type Tt = {
85
- "id"?: number;
86
- }
87
- export type Usr = {
88
- "id"?: number;
89
- "status"?: string;
90
- "msg"?: string;
91
- "added"?: Date;
92
- "is_active"?: boolean;
93
- "age"?: number;
94
- }
95
- export type Various = {
96
- "id"?: number;
97
- "h"?: Array<string>;
98
- "name"?: string;
99
- "tsv"?: any;
100
- "jsn"?: Object;
101
- "added"?: Date;
102
- }
103
-
104
- export type JoinMakerTables = {
105
- "item_children": JoinMaker<Item_children>;
106
- "items": JoinMaker<Items>;
107
- "lookup_status": JoinMaker<Lookup_status>;
108
- "tr1": JoinMaker<Tr1>;
109
- "tr2": JoinMaker<Tr2>;
110
- "usr": JoinMaker<Usr>;
111
- };
112
-
113
- /* DBO Definition. Isomorphic */
114
- export type DBObj = {
115
- "\"*\"": TableHandler<D_34_42_34>
116
- "*": TableHandler<D_42>
117
- "ex_j_ins": TableHandler<Ex_j_ins>
118
- "item_children": TableHandler<Item_children>
119
- "items": TableHandler<Items>
120
- "items2": TableHandler<Items2>
121
- "items3": TableHandler<Items3>
122
- "items4": TableHandler<Items4>
123
- "items4_pub": TableHandler<Items4_pub>
124
- "lookup_status": TableHandler<Lookup_status>
125
- "planes": TableHandler<Planes>
126
- "tr1": TableHandler<Tr1>
127
- "tr2": TableHandler<Tr2>
128
- "tt": TableHandler<Tt>
129
- "usr": TableHandler<Usr>
130
- "various": TableHandler<Various>
131
- leftJoin: JoinMakerTables;
132
- innerJoin: JoinMakerTables;
133
- leftJoinOne: JoinMakerTables;
134
- innerJoinOne: JoinMakerTables;
135
- };
@@ -1,21 +0,0 @@
1
- {
2
- "files": ["index.ts"],
3
- "compilerOptions": {
4
- // "outDir": "dist",
5
- "target": "es2019",
6
- "lib": [ "es2019" ],
7
- "esModuleInterop" : true,
8
- "allowSyntheticDefaultImports": true,
9
- "allowJs": true,
10
- "module": "commonjs",
11
- // "sourceMap": true,
12
- // "rootDir": ".",
13
- // "declaration": true,
14
- // "declarationMap": true,
15
- },
16
- "exclude": [
17
- "dist",
18
- "server",
19
- "DBoGenerated.ts"
20
- ]
21
- }