prostgles-server 2.0.282 → 2.0.284

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.
@@ -30,8 +30,8 @@ async function runSQL(query, params, options, localParams) {
30
30
  }
31
31
  else if (db) {
32
32
  let finalQuery = query + "";
33
- if (returnType === "arrayMode" && !["listen ", "notify "].find(c => query.toLowerCase().trim().startsWith(c)) && hasParams) {
34
- finalQuery = new PQ({ text: DboBuilder_1.pgp.as.format(query, params), rowMode: "array" });
33
+ if (returnType === "arrayMode" && !["listen ", "notify "].find(c => query.toLowerCase().trim().startsWith(c))) {
34
+ finalQuery = new PQ({ text: hasParams ? DboBuilder_1.pgp.as.format(query, params) : query, rowMode: "array" });
35
35
  }
36
36
  let _qres = await db.result(finalQuery, hasParams ? params : undefined);
37
37
  const { fields, rows, command } = _qres;
@@ -1 +1 @@
1
- {"version":3,"file":"runSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/runSQL.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/runSQL.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,9 @@ declare type BaseTableDefinition<LANG_IDS = AnyObject> = {
24
24
  dropIfExists?: boolean;
25
25
  triggers?: {
26
26
  [triggerName: string]: {
27
+ /**
28
+ * Use "before" when you need to change the data before the action
29
+ */
27
30
  type: "before" | "after" | "instead of";
28
31
  actions: ("insert" | "update" | "delete")[];
29
32
  forEach: "statement" | "row";
@@ -1 +1 @@
1
- {"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["../lib/TableConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["../lib/TableConfig.ts"],"names":[],"mappings":"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"}
@@ -125,10 +125,10 @@ class TableConfigurator {
125
125
  if (!this.config || !this.prostgles.pgp)
126
126
  throw "config or pgp missing";
127
127
  /* Create lookup tables */
128
- Object.keys(this.config).map(async (tableNameRaw) => {
128
+ (0, prostgles_types_1.getKeys)(this.config).map(async (tableNameRaw) => {
129
129
  const tableName = (0, prostgles_types_1.asName)(tableNameRaw);
130
130
  const tableConf = this.config[tableNameRaw];
131
- const { dropIfExists = false, dropIfExistsCascade = false, triggers } = tableConf;
131
+ const { dropIfExists = false, dropIfExistsCascade = false } = tableConf;
132
132
  const isDropped = dropIfExists || dropIfExistsCascade;
133
133
  if (dropIfExistsCascade) {
134
134
  queries.push(`DROP TABLE IF EXISTS ${tableName} CASCADE;`);
@@ -151,47 +151,6 @@ class TableConfigurator {
151
151
  // console.log("Created lookup table " + tableName)
152
152
  }
153
153
  }
154
- if (triggers) {
155
- const existingTriggers = await this.dbo.sql(`
156
- SELECT event_object_table
157
- ,trigger_name
158
- FROM information_schema.triggers
159
- WHERE event_object_table = ` + "${tableName}" + `
160
- ORDER BY event_object_table
161
- `, { tableName: tableNameRaw }, { returnType: "rows" });
162
- (0, prostgles_types_1.getKeys)(triggers).forEach(triggerName => {
163
- const trigger = triggers[triggerName];
164
- if (isDropped) {
165
- queries.push(`DROP TRIGGER IF EXISTS ${(0, prostgles_types_1.asName)(triggerName)} ON ${tableName};`);
166
- }
167
- const funcNameParsed = (0, prostgles_types_1.asName)(triggerName);
168
- if (isDropped || !existingTriggers.some(t => t.trigger_name === triggerName)) {
169
- queries.push(`
170
- CREATE OR REPLACE FUNCTION ${funcNameParsed}()
171
- RETURNS trigger
172
- LANGUAGE plpgsql
173
- AS
174
- $$
175
- ${trigger.query}
176
- $$;
177
- `);
178
- }
179
- trigger.actions.forEach(action => {
180
- const triggerActionName = triggerName + "_" + action;
181
- const triggerActionNameParsed = (0, prostgles_types_1.asName)(triggerActionName);
182
- if (dropIfExists || dropIfExistsCascade) {
183
- queries.push(`DROP TRIGGER IF EXISTS ${triggerActionNameParsed} ON ${tableName};`);
184
- }
185
- queries.push(`
186
- CREATE TRIGGER ${triggerActionNameParsed}
187
- ${trigger.type} ${action} ON ${tableName}
188
- REFERENCING NEW TABLE AS new_table
189
- FOR EACH ${trigger.forEach}
190
- EXECUTE PROCEDURE ${funcNameParsed}();
191
- `);
192
- });
193
- });
194
- }
195
154
  });
196
155
  if (queries.length) {
197
156
  const q = queries.join("\n");
@@ -200,7 +159,7 @@ class TableConfigurator {
200
159
  await this.prostgles.refreshDBO();
201
160
  }
202
161
  queries = [];
203
- /* Create referenced columns */
162
+ /* Create columns */
204
163
  await Promise.all((0, prostgles_types_1.getKeys)(this.config).map(async (tableName) => {
205
164
  const tableConf = this.config[tableName];
206
165
  if ("columns" in tableConf) {
@@ -306,6 +265,56 @@ class TableConfigurator {
306
265
  queries.push(`CREATE ${unique ? "UNIQUE" : ""} ${!concurrently ? "" : "CONCURRENTLY"} INDEX ${(0, prostgles_types_1.asName)(indexName)} ON ${(0, prostgles_types_1.asName)(tableName)} ${!using ? "" : ("USING " + using)} (${definition}) ;`);
307
266
  });
308
267
  }
268
+ const { triggers, dropIfExists, dropIfExistsCascade } = tableConf;
269
+ if (triggers) {
270
+ const isDropped = dropIfExists || dropIfExistsCascade;
271
+ const existingTriggers = await this.dbo.sql(`
272
+ SELECT event_object_table
273
+ ,trigger_name
274
+ FROM information_schema.triggers
275
+ WHERE event_object_table = ` + "${tableName}" + `
276
+ ORDER BY event_object_table
277
+ `, { tableName }, { returnType: "rows" });
278
+ // const existingTriggerFuncs = await this.dbo.sql!(`
279
+ // SELECT p.oid,proname,prosrc,u.usename
280
+ // FROM pg_proc p
281
+ // JOIN pg_user u ON u.usesysid = p.proowner
282
+ // WHERE prorettype = 2279;
283
+ // `, {}, { returnType: "rows" }) as { proname: string }[];
284
+ (0, prostgles_types_1.getKeys)(triggers).forEach(triggerFuncName => {
285
+ const trigger = triggers[triggerFuncName];
286
+ const funcNameParsed = (0, prostgles_types_1.asName)(triggerFuncName);
287
+ queries.push(`
288
+ CREATE OR REPLACE FUNCTION ${funcNameParsed}()
289
+ RETURNS trigger
290
+ LANGUAGE plpgsql
291
+ AS
292
+ $$
293
+
294
+ ${trigger.query}
295
+
296
+ $$;
297
+ `);
298
+ trigger.actions.forEach(action => {
299
+ const triggerActionName = triggerFuncName + "_" + action;
300
+ const triggerActionNameParsed = (0, prostgles_types_1.asName)(triggerActionName);
301
+ if (isDropped) {
302
+ queries.push(`DROP TRIGGER IF EXISTS ${triggerActionNameParsed} ON ${tableName};`);
303
+ }
304
+ if (isDropped || !existingTriggers.some(t => t.trigger_name === triggerActionName)) {
305
+ const newTableName = action !== "delete" ? "NEW TABLE AS new_table" : "";
306
+ const oldTableName = action !== "insert" ? "OLD TABLE AS old_table" : "";
307
+ queries.push(`
308
+ CREATE TRIGGER ${triggerActionNameParsed}
309
+ ${trigger.type} ${action} ON ${tableName}
310
+ REFERENCING ${newTableName} ${oldTableName}
311
+ FOR EACH ${trigger.forEach}
312
+ EXECUTE PROCEDURE ${funcNameParsed}();
313
+ `);
314
+ }
315
+ });
316
+ });
317
+ }
309
318
  }));
310
319
  if (queries.length) {
311
320
  const q = queries.join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"TableConfig.js","sourceRoot":"","sources":["../lib/TableConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableConfig.js","sourceRoot":"","sources":["../lib/TableConfig.ts"],"names":[],"mappings":"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"}
@@ -30,8 +30,8 @@ async function runSQL(query, params, options, localParams) {
30
30
  }
31
31
  else if (db) {
32
32
  let finalQuery = query + "";
33
- if (returnType === "arrayMode" && !["listen ", "notify "].find(c => query.toLowerCase().trim().startsWith(c)) && hasParams) {
34
- finalQuery = new PQ({ text: DboBuilder_1.pgp.as.format(query, params), rowMode: "array" });
33
+ if (returnType === "arrayMode" && !["listen ", "notify "].find(c => query.toLowerCase().trim().startsWith(c))) {
34
+ finalQuery = new PQ({ text: hasParams ? DboBuilder_1.pgp.as.format(query, params) : query, rowMode: "array" });
35
35
  }
36
36
  let _qres = await db.result(finalQuery, hasParams ? params : undefined);
37
37
  const { fields, rows, command } = _qres;
@@ -31,8 +31,8 @@ export async function runSQL(this: DboBuilder, query: string, params: any, optio
31
31
  } else if(db) {
32
32
 
33
33
  let finalQuery = query + "";
34
- if(returnType === "arrayMode" && !["listen ", "notify "].find(c => query.toLowerCase().trim().startsWith(c)) && hasParams){
35
- finalQuery = new PQ({ text: pgp.as.format(query, params), rowMode: "array" });
34
+ if(returnType === "arrayMode" && !["listen ", "notify "].find(c => query.toLowerCase().trim().startsWith(c))){
35
+ finalQuery = new PQ({ text: hasParams? pgp.as.format(query, params) : query, rowMode: "array" });
36
36
  }
37
37
 
38
38
  let _qres = await db.result(finalQuery, hasParams? params : undefined)
@@ -24,6 +24,9 @@ declare type BaseTableDefinition<LANG_IDS = AnyObject> = {
24
24
  dropIfExists?: boolean;
25
25
  triggers?: {
26
26
  [triggerName: string]: {
27
+ /**
28
+ * Use "before" when you need to change the data before the action
29
+ */
27
30
  type: "before" | "after" | "instead of";
28
31
  actions: ("insert" | "update" | "delete")[];
29
32
  forEach: "statement" | "row";
@@ -1 +1 @@
1
- {"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["TableConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["TableConfig.ts"],"names":[],"mappings":"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"}
@@ -125,10 +125,10 @@ class TableConfigurator {
125
125
  if (!this.config || !this.prostgles.pgp)
126
126
  throw "config or pgp missing";
127
127
  /* Create lookup tables */
128
- Object.keys(this.config).map(async (tableNameRaw) => {
128
+ (0, prostgles_types_1.getKeys)(this.config).map(async (tableNameRaw) => {
129
129
  const tableName = (0, prostgles_types_1.asName)(tableNameRaw);
130
130
  const tableConf = this.config[tableNameRaw];
131
- const { dropIfExists = false, dropIfExistsCascade = false, triggers } = tableConf;
131
+ const { dropIfExists = false, dropIfExistsCascade = false } = tableConf;
132
132
  const isDropped = dropIfExists || dropIfExistsCascade;
133
133
  if (dropIfExistsCascade) {
134
134
  queries.push(`DROP TABLE IF EXISTS ${tableName} CASCADE;`);
@@ -151,47 +151,6 @@ class TableConfigurator {
151
151
  // console.log("Created lookup table " + tableName)
152
152
  }
153
153
  }
154
- if (triggers) {
155
- const existingTriggers = await this.dbo.sql(`
156
- SELECT event_object_table
157
- ,trigger_name
158
- FROM information_schema.triggers
159
- WHERE event_object_table = ` + "${tableName}" + `
160
- ORDER BY event_object_table
161
- `, { tableName: tableNameRaw }, { returnType: "rows" });
162
- (0, prostgles_types_1.getKeys)(triggers).forEach(triggerName => {
163
- const trigger = triggers[triggerName];
164
- if (isDropped) {
165
- queries.push(`DROP TRIGGER IF EXISTS ${(0, prostgles_types_1.asName)(triggerName)} ON ${tableName};`);
166
- }
167
- const funcNameParsed = (0, prostgles_types_1.asName)(triggerName);
168
- if (isDropped || !existingTriggers.some(t => t.trigger_name === triggerName)) {
169
- queries.push(`
170
- CREATE OR REPLACE FUNCTION ${funcNameParsed}()
171
- RETURNS trigger
172
- LANGUAGE plpgsql
173
- AS
174
- $$
175
- ${trigger.query}
176
- $$;
177
- `);
178
- }
179
- trigger.actions.forEach(action => {
180
- const triggerActionName = triggerName + "_" + action;
181
- const triggerActionNameParsed = (0, prostgles_types_1.asName)(triggerActionName);
182
- if (dropIfExists || dropIfExistsCascade) {
183
- queries.push(`DROP TRIGGER IF EXISTS ${triggerActionNameParsed} ON ${tableName};`);
184
- }
185
- queries.push(`
186
- CREATE TRIGGER ${triggerActionNameParsed}
187
- ${trigger.type} ${action} ON ${tableName}
188
- REFERENCING NEW TABLE AS new_table
189
- FOR EACH ${trigger.forEach}
190
- EXECUTE PROCEDURE ${funcNameParsed}();
191
- `);
192
- });
193
- });
194
- }
195
154
  });
196
155
  if (queries.length) {
197
156
  const q = queries.join("\n");
@@ -200,7 +159,7 @@ class TableConfigurator {
200
159
  await this.prostgles.refreshDBO();
201
160
  }
202
161
  queries = [];
203
- /* Create referenced columns */
162
+ /* Create columns */
204
163
  await Promise.all((0, prostgles_types_1.getKeys)(this.config).map(async (tableName) => {
205
164
  const tableConf = this.config[tableName];
206
165
  if ("columns" in tableConf) {
@@ -306,6 +265,56 @@ class TableConfigurator {
306
265
  queries.push(`CREATE ${unique ? "UNIQUE" : ""} ${!concurrently ? "" : "CONCURRENTLY"} INDEX ${(0, prostgles_types_1.asName)(indexName)} ON ${(0, prostgles_types_1.asName)(tableName)} ${!using ? "" : ("USING " + using)} (${definition}) ;`);
307
266
  });
308
267
  }
268
+ const { triggers, dropIfExists, dropIfExistsCascade } = tableConf;
269
+ if (triggers) {
270
+ const isDropped = dropIfExists || dropIfExistsCascade;
271
+ const existingTriggers = await this.dbo.sql(`
272
+ SELECT event_object_table
273
+ ,trigger_name
274
+ FROM information_schema.triggers
275
+ WHERE event_object_table = ` + "${tableName}" + `
276
+ ORDER BY event_object_table
277
+ `, { tableName }, { returnType: "rows" });
278
+ // const existingTriggerFuncs = await this.dbo.sql!(`
279
+ // SELECT p.oid,proname,prosrc,u.usename
280
+ // FROM pg_proc p
281
+ // JOIN pg_user u ON u.usesysid = p.proowner
282
+ // WHERE prorettype = 2279;
283
+ // `, {}, { returnType: "rows" }) as { proname: string }[];
284
+ (0, prostgles_types_1.getKeys)(triggers).forEach(triggerFuncName => {
285
+ const trigger = triggers[triggerFuncName];
286
+ const funcNameParsed = (0, prostgles_types_1.asName)(triggerFuncName);
287
+ queries.push(`
288
+ CREATE OR REPLACE FUNCTION ${funcNameParsed}()
289
+ RETURNS trigger
290
+ LANGUAGE plpgsql
291
+ AS
292
+ $$
293
+
294
+ ${trigger.query}
295
+
296
+ $$;
297
+ `);
298
+ trigger.actions.forEach(action => {
299
+ const triggerActionName = triggerFuncName + "_" + action;
300
+ const triggerActionNameParsed = (0, prostgles_types_1.asName)(triggerActionName);
301
+ if (isDropped) {
302
+ queries.push(`DROP TRIGGER IF EXISTS ${triggerActionNameParsed} ON ${tableName};`);
303
+ }
304
+ if (isDropped || !existingTriggers.some(t => t.trigger_name === triggerActionName)) {
305
+ const newTableName = action !== "delete" ? "NEW TABLE AS new_table" : "";
306
+ const oldTableName = action !== "insert" ? "OLD TABLE AS old_table" : "";
307
+ queries.push(`
308
+ CREATE TRIGGER ${triggerActionNameParsed}
309
+ ${trigger.type} ${action} ON ${tableName}
310
+ REFERENCING ${newTableName} ${oldTableName}
311
+ FOR EACH ${trigger.forEach}
312
+ EXECUTE PROCEDURE ${funcNameParsed}();
313
+ `);
314
+ }
315
+ });
316
+ });
317
+ }
309
318
  }));
310
319
  if (queries.length) {
311
320
  const q = queries.join("\n");
@@ -41,6 +41,9 @@ type BaseTableDefinition<LANG_IDS = AnyObject> = {
41
41
  dropIfExists?: boolean;
42
42
  triggers?: {
43
43
  [triggerName: string]: {
44
+ /**
45
+ * Use "before" when you need to change the data before the action
46
+ */
44
47
  type: "before" | "after" | "instead of";
45
48
  actions: ("insert" | "update" | "delete")[];
46
49
  forEach: "statement" | "row";
@@ -365,10 +368,10 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
365
368
 
366
369
  if (!this.config || !this.prostgles.pgp) throw "config or pgp missing"
367
370
  /* Create lookup tables */
368
- Object.keys(this.config).map(async tableNameRaw => {
371
+ getKeys(this.config).map(async tableNameRaw => {
369
372
  const tableName = asName(tableNameRaw);
370
373
  const tableConf = this.config![tableNameRaw];
371
- const { dropIfExists = false, dropIfExistsCascade = false, triggers } = tableConf;
374
+ const { dropIfExists = false, dropIfExistsCascade = false } = tableConf;
372
375
  const isDropped = dropIfExists || dropIfExistsCascade;
373
376
 
374
377
  if (dropIfExistsCascade) {
@@ -376,6 +379,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
376
379
  } else if (dropIfExists) {
377
380
  queries.push(`DROP TABLE IF EXISTS ${tableName} ;`);
378
381
  }
382
+
379
383
  if ("isLookupTable" in tableConf && Object.keys(tableConf.isLookupTable?.values).length) {
380
384
  const rows = Object.keys(tableConf.isLookupTable?.values).map(id => ({ id, ...(tableConf.isLookupTable?.values[id]) }));
381
385
  if (isDropped || !this.dbo?.[tableNameRaw]) {
@@ -391,56 +395,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
391
395
  });
392
396
  // console.log("Created lookup table " + tableName)
393
397
  }
394
- }
395
-
396
- if(triggers){
397
-
398
- const existingTriggers = await this.dbo.sql!(`
399
- SELECT event_object_table
400
- ,trigger_name
401
- FROM information_schema.triggers
402
- WHERE event_object_table = `+ "${tableName}" + `
403
- ORDER BY event_object_table
404
- `,
405
- { tableName: tableNameRaw },
406
- { returnType: "rows" }
407
- ) as { trigger_name: string }[];
408
-
409
- getKeys(triggers).forEach(triggerName => {
410
- const trigger = triggers[triggerName];
411
- if(isDropped){
412
- queries.push(`DROP TRIGGER IF EXISTS ${asName(triggerName)} ON ${tableName};`)
413
- }
414
-
415
- const funcNameParsed = asName(triggerName);
416
- if(isDropped || !existingTriggers.some(t => t.trigger_name === triggerName)){
417
- queries.push(`
418
- CREATE OR REPLACE FUNCTION ${funcNameParsed}()
419
- RETURNS trigger
420
- LANGUAGE plpgsql
421
- AS
422
- $$
423
- ${trigger.query}
424
- $$;
425
- `);
426
- }
427
- trigger.actions.forEach(action => {
428
- const triggerActionName = triggerName+"_"+action;
429
-
430
- const triggerActionNameParsed = asName(triggerActionName)
431
- if(dropIfExists || dropIfExistsCascade){
432
- queries.push(`DROP TRIGGER IF EXISTS ${triggerActionNameParsed} ON ${tableName};`)
433
- }
434
- queries.push(`
435
- CREATE TRIGGER ${triggerActionNameParsed}
436
- ${trigger.type} ${action} ON ${tableName}
437
- REFERENCING NEW TABLE AS new_table
438
- FOR EACH ${trigger.forEach}
439
- EXECUTE PROCEDURE ${funcNameParsed}();
440
- `);
441
- })
442
- })
443
- }
398
+ }
444
399
  });
445
400
 
446
401
  if (queries.length) {
@@ -451,7 +406,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
451
406
  }
452
407
  queries = [];
453
408
 
454
- /* Create referenced columns */
409
+ /* Create columns */
455
410
  await Promise.all(getKeys(this.config).map(async tableName => {
456
411
  const tableConf = this.config![tableName];
457
412
  if ("columns" in tableConf) {
@@ -564,6 +519,68 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
564
519
  queries.push(`CREATE ${unique ? "UNIQUE" : ""} ${!concurrently ? "" : "CONCURRENTLY"} INDEX ${asName(indexName)} ON ${asName(tableName)} ${!using ? "" : ("USING " + using)} (${definition}) ;`);
565
520
  });
566
521
  }
522
+
523
+ const { triggers, dropIfExists, dropIfExistsCascade } = tableConf;
524
+ if(triggers){
525
+ const isDropped = dropIfExists || dropIfExistsCascade;
526
+
527
+ const existingTriggers = await this.dbo.sql!(`
528
+ SELECT event_object_table
529
+ ,trigger_name
530
+ FROM information_schema.triggers
531
+ WHERE event_object_table = `+ "${tableName}" + `
532
+ ORDER BY event_object_table
533
+ `,
534
+ { tableName },
535
+ { returnType: "rows" }
536
+ ) as { trigger_name: string }[];
537
+
538
+ // const existingTriggerFuncs = await this.dbo.sql!(`
539
+ // SELECT p.oid,proname,prosrc,u.usename
540
+ // FROM pg_proc p
541
+ // JOIN pg_user u ON u.usesysid = p.proowner
542
+ // WHERE prorettype = 2279;
543
+ // `, {}, { returnType: "rows" }) as { proname: string }[];
544
+
545
+ getKeys(triggers).forEach(triggerFuncName => {
546
+ const trigger = triggers[triggerFuncName];
547
+
548
+ const funcNameParsed = asName(triggerFuncName);
549
+
550
+ queries.push(`
551
+ CREATE OR REPLACE FUNCTION ${funcNameParsed}()
552
+ RETURNS trigger
553
+ LANGUAGE plpgsql
554
+ AS
555
+ $$
556
+
557
+ ${trigger.query}
558
+
559
+ $$;
560
+ `);
561
+
562
+ trigger.actions.forEach(action => {
563
+ const triggerActionName = triggerFuncName+"_"+action;
564
+
565
+ const triggerActionNameParsed = asName(triggerActionName)
566
+ if(isDropped){
567
+ queries.push(`DROP TRIGGER IF EXISTS ${triggerActionNameParsed} ON ${tableName};`)
568
+ }
569
+
570
+ if(isDropped || !existingTriggers.some(t => t.trigger_name === triggerActionName)){
571
+ const newTableName = action !== "delete"? "NEW TABLE AS new_table" : "";
572
+ const oldTableName = action !== "insert"? "OLD TABLE AS old_table" : "";
573
+ queries.push(`
574
+ CREATE TRIGGER ${triggerActionNameParsed}
575
+ ${trigger.type} ${action} ON ${tableName}
576
+ REFERENCING ${newTableName} ${oldTableName}
577
+ FOR EACH ${trigger.forEach}
578
+ EXECUTE PROCEDURE ${funcNameParsed}();
579
+ `);
580
+ }
581
+ })
582
+ })
583
+ }
567
584
  }));
568
585
 
569
586
  if (queries.length) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "2.0.282",
3
+ "version": "2.0.284",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 41856
1
+ 79901
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC"}
@@ -3,6 +3,8 @@ import io from "socket.io-client";
3
3
 
4
4
  import isomorphic from "../isomorphic_queries";
5
5
  import client_only from "../client_only_queries";
6
+ import { DBHandler } from "prostgles-types";
7
+ import { DBHandlerClient } from "prostgles-client/dist/prostgles";
6
8
  export { DBHandlerClient, Auth } from "prostgles-client/dist/prostgles";
7
9
 
8
10
  const start = Date.now();
@@ -55,14 +57,14 @@ try {
55
57
  try {
56
58
  log("Starting Client isomorphic tests")
57
59
  // try {
58
- await isomorphic(db);
60
+ await isomorphic(db as any);
59
61
  // } catch(e){
60
62
  // throw { isoErr: e }
61
63
  // }
62
64
  log("Client isomorphic tests successful")
63
65
 
64
66
  // try {
65
- await client_only(db, auth, log, methods, tableSchema);
67
+ await client_only(db as any, auth, log, methods, tableSchema);
66
68
  // } catch(e){
67
69
  // throw { ClientErr: e }
68
70
  // }
@@ -1 +1 @@
1
- {"version":3,"file":"isomorphic_queries.d.ts","sourceRoot":"","sources":["isomorphic_queries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,iBAYzE;AACD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,oBAW7F;AAED,wBAA8B,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,iBA6zBjG"}
1
+ {"version":3,"file":"isomorphic_queries.d.ts","sourceRoot":"","sources":["isomorphic_queries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,iBAYzE;AACD,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,oBAW7F;AAED,wBAA8B,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,iBAi1BjG"}
@@ -189,6 +189,25 @@ async function isomorphic(db) {
189
189
  const resDynamic = await db.tr2.getColumns("fr", { rule: "update", filter: {}, data: { t2: "a" } });
190
190
  assert_1.strict.deepStrictEqual(resDynamic, expected);
191
191
  });
192
+ await tryRun("Table config triggers", async () => {
193
+ const tr1 = await db.tr1.insert({});
194
+ const tr2 = await db.tr2.insert({
195
+ tr1_id: 1,
196
+ t1: "a",
197
+ t2: "b"
198
+ });
199
+ try {
200
+ await db.tr2.delete();
201
+ }
202
+ catch (e) {
203
+ }
204
+ const one = await db.tr2.findOne({
205
+ t1: "a",
206
+ t2: "b"
207
+ });
208
+ if (!one)
209
+ throw "Row missing";
210
+ });
192
211
  await tryRun("$unnest_words", async () => {
193
212
  const res = await db.various.find({}, { returnType: "values", select: { name: "$unnest_words" } });
194
213
  assert_1.strict.deepStrictEqual(res, [
@@ -183,6 +183,26 @@ export default async function isomorphic(db: Required<DBHandlerServer> | Require
183
183
  );
184
184
  });
185
185
 
186
+
187
+ await tryRun("Table config triggers", async () => {
188
+ const tr1 = await db.tr1.insert({ })
189
+ const tr2 = await db.tr2.insert({
190
+ tr1_id: 1,
191
+ t1: "a",
192
+ t2: "b"
193
+ });
194
+ try {
195
+ await db.tr2.delete();
196
+ } catch(e){
197
+
198
+ }
199
+ const one = await db.tr2.findOne({
200
+ t1: "a",
201
+ t2: "b"
202
+ });
203
+ if(!one) throw "Row missing"
204
+ });
205
+
186
206
  await tryRun("$unnest_words", async () => {
187
207
  const res = await db.various.find!({}, { returnType: "values", select: { name: "$unnest_words" } });
188
208
 
@@ -59,9 +59,29 @@ function dd() {
59
59
  log("created prostgles");
60
60
  const tableConfig = {
61
61
  tr2: {
62
+ // dropIfExists: true,
62
63
  columns: {
63
64
  t1: { label: { fr: "fr_t1" }, info: { hint: "hint...", min: "a", max: "b" } },
64
65
  t2: { label: { en: "en_t2" } },
66
+ },
67
+ triggers: {
68
+ atLeastOneA: {
69
+ actions: ["delete", "update"],
70
+ forEach: "statement",
71
+ type: "after",
72
+ query: `
73
+ DECLARE
74
+ x_rec record;
75
+ BEGIN
76
+
77
+ IF NOT EXISTS(SELECT * FROM tr2 WHERE t1 = 'a' AND t2 = 'b') THEN
78
+ RAISE EXCEPTION 'Must have at least one row with t1 = a AND t2 = b';
79
+ END IF;
80
+
81
+ RETURN NULL;
82
+ END;
83
+ `
84
+ }
65
85
  }
66
86
  },
67
87
  users: {
@@ -80,9 +80,29 @@ function dd(){
80
80
  const tableConfig: TableConfig<{ en: 1, fr: 1 }> = {
81
81
 
82
82
  tr2: {
83
+ // dropIfExists: true,
83
84
  columns: {
84
85
  t1: { label: { fr: "fr_t1" }, info: { hint: "hint...", min: "a", max: "b" } },
85
86
  t2: { label: { en: "en_t2" } },
87
+ },
88
+ triggers: {
89
+ atLeastOneA: {
90
+ actions: ["delete", "update"],
91
+ forEach: "statement",
92
+ type: "after",
93
+ query: `
94
+ DECLARE
95
+ x_rec record;
96
+ BEGIN
97
+
98
+ IF NOT EXISTS(SELECT * FROM tr2 WHERE t1 = 'a' AND t2 = 'b') THEN
99
+ RAISE EXCEPTION 'Must have at least one row with t1 = a AND t2 = b';
100
+ END IF;
101
+
102
+ RETURN NULL;
103
+ END;
104
+ `
105
+ }
86
106
  }
87
107
  },
88
108
  users: {
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "2.0.281",
24
+ "version": "2.0.283",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.121.0",