prostgles-server 4.2.607 → 4.2.609

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 (81) hide show
  1. package/README.md +0 -29
  2. package/dist/Audit/AuditTable.d.ts +5 -4
  3. package/dist/Audit/AuditTable.d.ts.map +1 -1
  4. package/dist/Audit/AuditTable.js +1 -1
  5. package/dist/Audit/AuditTable.js.map +1 -1
  6. package/dist/Audit/AuditTypes.d.ts +5 -0
  7. package/dist/Audit/AuditTypes.d.ts.map +1 -1
  8. package/dist/Audit/getAuditTableConfig.d.ts +1 -6
  9. package/dist/Audit/getAuditTableConfig.d.ts.map +1 -1
  10. package/dist/Audit/getAuditTableConfig.js +21 -29
  11. package/dist/Audit/getAuditTableConfig.js.map +1 -1
  12. package/dist/Audit/getAuditTriggerConfig.d.ts +4 -0
  13. package/dist/Audit/getAuditTriggerConfig.d.ts.map +1 -0
  14. package/dist/Audit/getAuditTriggerConfig.js +47 -0
  15. package/dist/Audit/getAuditTriggerConfig.js.map +1 -0
  16. package/dist/Audit/parseAuditConfig.d.ts +3 -3
  17. package/dist/Audit/parseAuditConfig.d.ts.map +1 -1
  18. package/dist/Audit/parseAuditConfig.js +38 -93
  19. package/dist/Audit/parseAuditConfig.js.map +1 -1
  20. package/dist/DboBuilder/TableHandler/updateFile.d.ts +37 -2
  21. package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
  22. package/dist/DboBuilder/ViewHandler/getInfo.d.ts.map +1 -1
  23. package/dist/DboBuilder/ViewHandler/getInfo.js +1 -1
  24. package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
  25. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  26. package/dist/DboBuilder/getColumns.js +1 -1
  27. package/dist/DboBuilder/getColumns.js.map +1 -1
  28. package/dist/DboBuilder/schema/getTablesForSchemaPostgresSQL.d.ts +2 -2
  29. package/dist/Prostgles.d.ts +1 -2
  30. package/dist/Prostgles.d.ts.map +1 -1
  31. package/dist/Prostgles.js +19 -3
  32. package/dist/Prostgles.js.map +1 -1
  33. package/dist/ProstglesTypes.d.ts +2 -2
  34. package/dist/ProstglesTypes.d.ts.map +1 -1
  35. package/dist/StorageClient/getFileTableConfig.d.ts +2 -4
  36. package/dist/StorageClient/getFileTableConfig.d.ts.map +1 -1
  37. package/dist/StorageClient/getFileTableConfig.js.map +1 -1
  38. package/dist/TableConfig/TableConfigTypes.d.ts +1 -1
  39. package/dist/TableConfig/TableConfigTypes.d.ts.map +1 -1
  40. package/dist/TableConfig/TableRowFromColumnDefinitions.d.ts +12 -0
  41. package/dist/TableConfig/TableRowFromColumnDefinitions.d.ts.map +1 -0
  42. package/dist/TableConfig/TableRowFromColumnDefinitions.js +3 -0
  43. package/dist/TableConfig/TableRowFromColumnDefinitions.js.map +1 -0
  44. package/dist/TableConfig/getTableTriggerQueries.d.ts +2 -2
  45. package/dist/TableConfig/getTableTriggerQueries.d.ts.map +1 -1
  46. package/dist/TableConfig/getTableTriggerQueries.js +8 -14
  47. package/dist/TableConfig/getTableTriggerQueries.js.map +1 -1
  48. package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
  49. package/dist/TableConfig/initTableConfig.js +0 -4
  50. package/dist/TableConfig/initTableConfig.js.map +1 -1
  51. package/dist/TableConfig/managedTriggerNames.d.ts.map +1 -1
  52. package/dist/TableConfig/managedTriggerNames.js +0 -1
  53. package/dist/TableConfig/managedTriggerNames.js.map +1 -1
  54. package/dist/TableConfig/syncTableTriggers.d.ts.map +1 -1
  55. package/dist/TableConfig/syncTableTriggers.js +10 -20
  56. package/dist/TableConfig/syncTableTriggers.js.map +1 -1
  57. package/dist/WebsocketAPI/getClientSchema.d.ts.map +1 -1
  58. package/dist/WebsocketAPI/getClientSchema.js +2 -1
  59. package/dist/WebsocketAPI/getClientSchema.js.map +1 -1
  60. package/dist/initProstgles.d.ts.map +1 -1
  61. package/dist/initProstgles.js +3 -0
  62. package/dist/initProstgles.js.map +1 -1
  63. package/lib/Audit/AuditTable.ts +4 -9
  64. package/lib/Audit/AuditTypes.ts +6 -0
  65. package/lib/Audit/getAuditTableConfig.ts +21 -41
  66. package/lib/Audit/getAuditTriggerConfig.ts +45 -0
  67. package/lib/Audit/parseAuditConfig.ts +44 -131
  68. package/lib/DboBuilder/ViewHandler/getInfo.ts +1 -0
  69. package/lib/DboBuilder/getColumns.ts +1 -0
  70. package/lib/Prostgles.ts +20 -4
  71. package/lib/ProstglesTypes.ts +2 -1
  72. package/lib/StorageClient/getFileTableConfig.ts +2 -13
  73. package/lib/TableConfig/TableConfigTypes.ts +1 -1
  74. package/lib/TableConfig/TableRowFromColumnDefinitions.ts +19 -0
  75. package/lib/TableConfig/getTableTriggerQueries.ts +16 -31
  76. package/lib/TableConfig/initTableConfig.ts +0 -3
  77. package/lib/TableConfig/managedTriggerNames.ts +0 -1
  78. package/lib/TableConfig/syncTableTriggers.ts +19 -33
  79. package/lib/WebsocketAPI/getClientSchema.ts +7 -1
  80. package/lib/initProstgles.ts +2 -0
  81. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"getClientSchema.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,gCAAgC,CAAC;AAGrF,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,eAAe,GAAG,SAAS,yBA6GnC"}
1
+ {"version":3,"file":"getClientSchema.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,gCAAgC,CAAC;AAGrF,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,eAAe,GAAG,SAAS,yBAmHnC"}
@@ -33,8 +33,9 @@ async function getClientSchema(clientReq, scope) {
33
33
  const { tables: rawTables = [] } = fullSchema ?? {};
34
34
  const { tableSchemaErrors = {} } = fullSchema ?? {};
35
35
  const { modifyClientSchema } = this.opts;
36
+ const resolvedAuditConfig = modifyClientSchema ? this.resolvedAuditConfig : undefined;
36
37
  const tables = modifyClientSchema ?
37
- await Promise.all(rawTables.map(async (t) => modifyClientSchema(t, this.dboBuilder.dboMap.get(t.name)?.config, userData)))
38
+ await Promise.all(rawTables.map(async (t) => modifyClientSchema(t, this.dboBuilder.dboMap.get(t.name)?.config, userData, resolvedAuditConfig)))
38
39
  : rawTables;
39
40
  const joinTables2 = [];
40
41
  if (this.opts.joins) {
@@ -1 +1 @@
1
- {"version":3,"file":"getClientSchema.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getClientSchema.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientSchema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"initProstgles.d.ts","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initProstgles.d.ts","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,9 @@ const initProstgles = async function (onReady, reason) {
97
97
  finally {
98
98
  this.preparingTableConfig = false;
99
99
  }
100
+ await (0, syncTableTriggers_1.syncTableTriggers)(this);
101
+ if (this.opts.audit)
102
+ await this.rebuildDBO();
100
103
  });
101
104
  await this.tableConfigurator?.setTableOnMounts();
102
105
  // onMount may create additional targets; validate joins against the completed schema.
@@ -1 +1 @@
1
- {"version":3,"file":"initProstgles.js","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,qDAAkD;AAKlD,wEAA0E;AAC1E,uDAAoD;AAGpD,uDAAoD;AAEpD,2CAA6C;AAE7C,iEAAoF;AACpF,2DAAwD;AACxD,yDAAsD;AACtD,+DAAuF;AACvF,yCAAsC;AACtC,wEAAqE;AACrE,uEAAoE;AAwH7D,MAAM,aAAa,GAAG,KAAK,WAEhC,OAA6B,EAC7B,MAAoB;IAEpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACpB,MAAM,UAAU,GACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC;IAEzC,2EAA2E;IAC3E,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAA,4CAAuB,EAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC/C,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YACnD,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAClE,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChC,eAAe;oBACb,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC9F,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC;YAC1C,EAAE,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3B,MAAM,gBAAgB,GAAG,aAAa,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;QAEtE,sBAAsB;QACtB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAA,iCAAe,EAAC;YAClC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAC9C,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,YAAY,EAAE,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE;YAC7C,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;gBACnB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,MAAM,IAAA,+BAAc,EAAC,EAAE,CAAC,CAAC;QAE5C,0BAA0B;QAC1B,MAAM,EAAE;aACL,GAAG,CACF;;;;;;;;;OASD,EACC,CAAC,IAAI,CAAC,KAAK,CAAC,CACb;aACA,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,IAAA,+BAAc,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,MAAM,IAAA,0BAAc,EAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;IAEf,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAI,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,yCAAyC;YACzC,MAAM,IAAA,uBAAU,EAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;QACjD,sFAAsF;QACtF,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAA,qCAAiB,EAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,MAAM,yBAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAC1E,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAEnD,uCAAuC;YACvC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,2CAA2C,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,2CAA2C;QAC3C,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACpD,CAAC;YACD,KAAK,OAAO,CACV;gBACE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;gBACxB,GAAG,EAAE,IAAI,CAAC,GAAI;gBACd,EAAE;gBACF,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBAC9B,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,EACD,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;gBAChB,MAAM,IAAA,yCAAmB,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACpD,CAAC,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;QACtC,MAAM,UAAU,GAAuC;YACrD,EAAE,EAAE,IAAI,CAAC,GAAoB;YAC7B,IAAI,OAAO;gBACT,OAAO,UAAU,EAAE,CAAC;YACtB,CAAC;YACD,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;YACxB,GAAG,EAAE,EAAE;YACP,GAAG;YACH,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;YAC7C,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;YACpC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAC/C,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;gBACxB,MAAM,IAAA,yCAAmB,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACpD,CAAC;YACD,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB;YACxD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAC3D,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACjB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;wBACjC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBAEH,mDAAmD;oBACnD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC1D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;4BAC3D,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACtD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;gBACrB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;gBACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC7B,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC7B,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,mBAAmB,EAAE,CAAC,SAA4B,EAAE,KAAkC,EAAE,EAAE,CACxF,IAAA,qCAAiB,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC;SAC5C,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,eAAe,GAAI,CAAW,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC;AACH,CAAC,CAAC;AAtNW,QAAA,aAAa,iBAsNxB"}
1
+ {"version":3,"file":"initProstgles.js","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,qDAAkD;AAKlD,wEAA0E;AAC1E,uDAAoD;AAGpD,uDAAoD;AAEpD,2CAA6C;AAE7C,iEAAoF;AACpF,2DAAwD;AACxD,yDAAsD;AACtD,+DAAuF;AACvF,yCAAsC;AACtC,wEAAqE;AACrE,uEAAoE;AAwH7D,MAAM,aAAa,GAAG,KAAK,WAEhC,OAA6B,EAC7B,MAAoB;IAEpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACpB,MAAM,UAAU,GACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC;IAEzC,2EAA2E;IAC3E,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAA,4CAAuB,EAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC/C,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YACnD,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAClE,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChC,eAAe;oBACb,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC9F,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC;YAC1C,EAAE,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC9C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3B,MAAM,gBAAgB,GAAG,aAAa,IAAI,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;QAEtE,sBAAsB;QACtB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAA,iCAAe,EAAC;YAClC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAC9C,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;YAChC,YAAY,EAAE,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE;YAC7C,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;gBACnB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,MAAM,IAAA,+BAAc,EAAC,EAAE,CAAC,CAAC;QAE5C,0BAA0B;QAC1B,MAAM,EAAE;aACL,GAAG,CACF;;;;;;;;;OASD,EACC,CAAC,IAAI,CAAC,KAAK,CAAC,CACb;aACA,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,IAAA,+BAAc,EAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,MAAM,IAAA,0BAAc,EAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;IAEf,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAI,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,yCAAyC;YACzC,MAAM,IAAA,uBAAU,EAAC,IAAI,CAAC,CAAC;YACvB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YACpC,CAAC;YACD,MAAM,IAAA,qCAAiB,EAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;QACjD,sFAAsF;QACtF,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAA,qCAAiB,EAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,MAAM,yBAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAC1E,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;YAEnD,uCAAuC;YACvC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,2CAA2C,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAEpD,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,2CAA2C;QAC3C,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACpD,CAAC;YACD,KAAK,OAAO,CACV;gBACE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;gBACxB,GAAG,EAAE,IAAI,CAAC,GAAI;gBACd,EAAE;gBACF,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM;gBAC9B,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,EACD,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;gBAChB,MAAM,IAAA,yCAAmB,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACpD,CAAC,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;QACtC,MAAM,UAAU,GAAuC;YACrD,EAAE,EAAE,IAAI,CAAC,GAAoB;YAC7B,IAAI,OAAO;gBACT,OAAO,UAAU,EAAE,CAAC;YACtB,CAAC;YACD,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;YACxB,GAAG,EAAE,EAAE;YACP,GAAG;YACH,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YAChB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;YAC7C,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;YACpC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAC/C,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;gBACxB,MAAM,IAAA,yCAAmB,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACpD,CAAC;YACD,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB;YACxD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YAC3D,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACjB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;wBACjC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBAEH,mDAAmD;oBACnD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC1D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;4BAC3D,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACtD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC3B,MAAM,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;gBACrB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;gBACpB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC7B,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC7B,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,mBAAmB,EAAE,CAAC,SAA4B,EAAE,KAAkC,EAAE,EAAE,CACxF,IAAA,qCAAiB,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC;SAC5C,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,eAAe,GAAI,CAAW,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC;AACH,CAAC,CAAC;AAxNW,QAAA,aAAa,iBAwNxB"}
@@ -1,11 +1,12 @@
1
+ import type { TableRowFromColumnDefinitions } from "../TableConfig/TableRowFromColumnDefinitions";
2
+
1
3
  export const AUDIT_TABLE_COLUMN_DEFINITIONS = {
2
4
  id: "BIGSERIAL PRIMARY KEY",
3
5
  created_at: "TIMESTAMPTZ NOT NULL DEFAULT clock_timestamp()",
4
6
  schema_name: "TEXT NOT NULL",
5
7
  table_name: "TEXT NOT NULL",
6
8
  entity_type: "TEXT NOT NULL",
7
- operation:
8
- "TEXT NOT NULL CHECK (operation IN ('INSERT', 'UPDATE', 'DELETE'))",
9
+ operation: { enum: ["INSERT", "UPDATE", "DELETE"] },
9
10
  old_id: "JSONB",
10
11
  new_id: "JSONB",
11
12
  old_row: "JSONB",
@@ -13,13 +14,7 @@ export const AUDIT_TABLE_COLUMN_DEFINITIONS = {
13
14
  actor: "JSONB",
14
15
  } as const;
15
16
 
16
- export type AuditTableRow = {
17
- [K in keyof typeof AUDIT_TABLE_COLUMN_DEFINITIONS]: K extends "operation"
18
- ? "INSERT" | "UPDATE" | "DELETE"
19
- : (typeof AUDIT_TABLE_COLUMN_DEFINITIONS)[K] extends "JSONB"
20
- ? Record<string, unknown> | null
21
- : string;
22
- };
17
+ export type AuditTableRow = TableRowFromColumnDefinitions<typeof AUDIT_TABLE_COLUMN_DEFINITIONS>;
23
18
  export const AUDIT_TABLE_COLUMNS = Object.keys(
24
19
  AUDIT_TABLE_COLUMN_DEFINITIONS,
25
20
  ) as (keyof AuditTableRow)[];
@@ -33,3 +33,9 @@ export type SchemaConfigAudit<S = void> = {
33
33
  tables?:
34
34
  SchemaConfigAuditIncludedTables<S> | SchemaConfigAuditExcludedTables<S>;
35
35
  };
36
+
37
+ /** Validated audit targets with all column and entity defaults resolved. */
38
+ export type ResolvedAuditConfig = {
39
+ tableName: string;
40
+ tables: Record<string, Required<SchemaConfigAuditTableOptions<void, string>>>;
41
+ };
@@ -1,9 +1,6 @@
1
1
  import { md5 } from "prostgles-types/dist/md5";
2
2
  import type { Prostgles } from "../Prostgles";
3
- import type {
4
- TableConfig,
5
- TableDefinition,
6
- } from "../TableConfig/TableConfigTypes";
3
+ import type { TableConfig, TableDefinition } from "../TableConfig/TableConfigTypes";
7
4
 
8
5
  import { AUDIT_TABLE_COLUMN_DEFINITIONS } from "./AuditTable";
9
6
  import {
@@ -12,20 +9,14 @@ import {
12
9
  AUDIT_WRITER_PREFIX,
13
10
  } from "../TableConfig/managedTriggerNames";
14
11
 
15
- export type ParsedAuditConfig = {
16
- /** Includes previously configured history tables, whose protection is retained. */
17
- auditTableNames: string[];
18
- tableConfigs: TableConfig;
19
- };
20
-
21
12
  export function getAuditProtection(
22
13
  tableName: string,
23
14
  actions: NonNullable<TableDefinition["triggers"]>[string]["actions"],
24
15
  ): NonNullable<TableDefinition["triggers"]> {
25
16
  return {
26
- [(actions.includes("update")
27
- ? AUDIT_HISTORY_PROTECTION_PREFIX
28
- : AUDIT_TRUNCATE_PROTECTION_PREFIX) + md5(tableName)]: {
17
+ [(actions.includes("update") ?
18
+ AUDIT_HISTORY_PROTECTION_PREFIX
19
+ : AUDIT_TRUNCATE_PROTECTION_PREFIX) + md5(tableName)]: {
29
20
  type: "before",
30
21
  actions,
31
22
  forEach: "statement",
@@ -36,40 +27,29 @@ export function getAuditProtection(
36
27
  }
37
28
 
38
29
  /** Adds audit definitions to the same config used for file tables and application tables. */
39
- export function getAuditTableConfig(
30
+ export const getAuditTableConfig = (
40
31
  prgl: Prostgles,
41
32
  tableConfig: TableConfig | undefined,
42
- ): TableConfig | undefined {
33
+ ): TableConfig | undefined => {
43
34
  const { audit } = prgl.opts;
44
- let result = { ...tableConfig };
45
- if (audit) {
46
- const { tableName } = audit;
47
- if (typeof tableName !== "string" || !tableName)
48
- throw new Error("audit.tableName is required");
49
- if (tableConfig?.[tableName]) {
50
- throw new Error("The audit table cannot also be defined in tableConfig");
51
- }
52
- result = {
53
- [tableName]: {
54
- columns: AUDIT_TABLE_COLUMN_DEFINITIONS,
55
- triggers: getAuditProtection(tableName, ["update", "delete", "truncate"]),
56
- },
57
- ...result,
58
- };
59
- }
60
- for (const [name, config] of Object.entries(
61
- prgl.parsedAuditConfig?.tableConfigs ?? {},
62
- )) {
63
- result[name] = {
64
- ...result[name],
65
- triggers: { ...result[name]?.triggers, ...config.triggers },
66
- };
35
+ if (!audit) return tableConfig;
36
+
37
+ const { tableName } = audit;
38
+ if (!tableName) throw new Error("audit.tableName is required");
39
+ if (tableConfig?.[tableName]) {
40
+ throw new Error("The audit table cannot also be defined in tableConfig");
67
41
  }
68
- return Object.keys(result).length ? result : undefined;
69
- }
42
+ return {
43
+ [tableName]: {
44
+ columns: AUDIT_TABLE_COLUMN_DEFINITIONS,
45
+ triggers: getAuditProtection(tableName, ["update", "delete", "truncate"]),
46
+ },
47
+ ...tableConfig,
48
+ };
49
+ };
70
50
 
71
51
  export function isAuditTable(prgl: Prostgles, tableName: string): boolean {
72
- return prgl.parsedAuditConfig?.auditTableNames.includes(tableName) ?? false;
52
+ return prgl.opts.audit?.tableName === tableName;
73
53
  }
74
54
 
75
55
  export const getAuditWriterName = (auditTable: string, sourceTable: string) =>
@@ -0,0 +1,45 @@
1
+ import { as } from "pg-promise";
2
+ import { asName } from "prostgles-types";
3
+ import type { TableConfig } from "../TableConfig/TableConfigTypes";
4
+ import type { ResolvedAuditConfig } from "./AuditTypes";
5
+ import { getAuditProtection, getAuditWriterName } from "./getAuditTableConfig";
6
+
7
+ export const getAuditTriggerConfig = (audit: ResolvedAuditConfig): TableConfig => {
8
+ const result: TableConfig = {};
9
+ for (const [name, options] of Object.entries(audit.tables)) {
10
+ const { entityType, idColumns: ids, excludeColumns: excluded } = options;
11
+ const functionName = getAuditWriterName(audit.tableName, name);
12
+ result[name] = {
13
+ triggers: {
14
+ ...getAuditProtection(audit.tableName, ["truncate"]),
15
+ [functionName]: {
16
+ type: "after",
17
+ actions: ["insert", "update", "delete"],
18
+ forEach: "row",
19
+ query: `DECLARE
20
+ before_row jsonb; after_row jsonb; before_id jsonb; after_id jsonb;
21
+ ids text[] := ARRAY[${ids.map((c) => as.text(c)).join(", ")}]::text[];
22
+ excluded text[] := ARRAY[${excluded.map((c) => as.text(c)).join(", ")}]::text[];
23
+ BEGIN
24
+ IF TG_OP <> 'INSERT' THEN
25
+ before_row := to_jsonb(OLD);
26
+ SELECT jsonb_object_agg(k, before_row -> k) INTO before_id FROM unnest(ids) k;
27
+ before_row := before_row - excluded;
28
+ END IF;
29
+ IF TG_OP <> 'DELETE' THEN
30
+ after_row := to_jsonb(NEW);
31
+ SELECT jsonb_object_agg(k, after_row -> k) INTO after_id FROM unnest(ids) k;
32
+ after_row := after_row - excluded;
33
+ END IF;
34
+ IF TG_OP = 'UPDATE' AND before_row IS NOT DISTINCT FROM after_row THEN RETURN NULL; END IF;
35
+ INSERT INTO ${asName(audit.tableName)} (schema_name, table_name, entity_type, operation, old_id, new_id, old_row, new_row, actor)
36
+ VALUES (TG_TABLE_SCHEMA, TG_TABLE_NAME, ${as.text(entityType)}, TG_OP, before_id, after_id, before_row, after_row,
37
+ nullif(current_setting('prostgles.user', true), '')::jsonb);
38
+ RETURN NULL;
39
+ END;`,
40
+ },
41
+ },
42
+ };
43
+ }
44
+ return result;
45
+ };
@@ -1,158 +1,71 @@
1
- import { as } from "pg-promise";
2
- import { asName } from "prostgles-types";
1
+ import { getEntries, isObject } from "prostgles-types";
3
2
  import type { Prostgles } from "../Prostgles";
4
- import type { SchemaConfigAuditTableOptions } from "./AuditTypes";
5
- import {
6
- getAuditProtection,
7
- getAuditWriterName,
8
- type ParsedAuditConfig,
9
- } from "./getAuditTableConfig";
3
+ import type { ResolvedAuditConfig } from "./AuditTypes";
4
+ import { isArray } from "../utils/utils";
10
5
 
11
- /** Resolve column defaults against the completed schema; generate tableConfig entries only. */
12
- export async function parseAuditConfig(
13
- prgl: Prostgles,
14
- ): Promise<ParsedAuditConfig> {
6
+ /** Resolve audit targets and column defaults against the completed schema. */
7
+ export const parseAuditConfig = (prgl: Prostgles): ResolvedAuditConfig | undefined => {
15
8
  const { audit } = prgl.opts;
9
+ if (!audit) return undefined;
10
+
16
11
  const tables = prgl.dboBuilder.tables;
17
- const auditTableNames = [
18
- ...new Set([
19
- ...(prgl.parsedAuditConfig?.auditTableNames ?? []),
20
- ...(audit ? [audit.tableName] : []),
21
- ]),
22
- ];
23
- const result: ParsedAuditConfig = {
24
- auditTableNames,
25
- tableConfigs: {},
26
- };
27
- for (const name of auditTableNames) {
28
- if (!tables.some((t) => t.name === name)) {
29
- throw new Error(
30
- `Audit table name must exactly match a schema table name: ${name}`,
31
- );
32
- }
33
- result.tableConfigs[name] = {
34
- triggers: getAuditProtection(name, ["update", "delete", "truncate"]),
35
- };
12
+ if (!tables.some((t) => t.name === audit.tableName)) {
13
+ throw new Error(`Audit table name must exactly match a schema table name: ${audit.tableName}`);
36
14
  }
37
- if (!audit) return result;
38
- const tableOptions: unknown = audit.tables;
39
- if (
40
- tableOptions !== undefined &&
41
- (!tableOptions ||
42
- typeof tableOptions !== "object" ||
43
- Array.isArray(tableOptions))
44
- ) {
45
- throw new Error("audit.tables must be a table map");
46
- }
47
- const entries = Object.entries(audit.tables ?? {}).filter(
48
- ([, value]) => value !== undefined,
49
- );
15
+ const result: ResolvedAuditConfig["tables"] = {};
16
+
17
+ const entries = getEntries(audit.tables ?? {}).filter(([, value]) => value !== undefined);
50
18
  const exclusion = entries.some(([, value]) => value === 0);
51
- if (exclusion && entries.some(([, value]) => value !== 0))
19
+ if (exclusion && entries.some(([, value]) => value !== 0)) {
52
20
  throw new Error("audit.tables cannot mix enabled and disabled entries");
21
+ }
53
22
  for (const [name, value] of entries) {
54
- if (!tables.some((t) => t.name === name))
23
+ if (!tables.some((t) => t.name === name)) {
55
24
  throw new Error(`Unknown audit table: ${name}`);
56
- if (
57
- value !== 0 &&
58
- value !== 1 &&
59
- (!value || typeof value !== "object" || Array.isArray(value))
60
- )
25
+ }
26
+ if (value !== 0 && value !== 1 && !isObject(value)) {
61
27
  throw new Error(`Invalid audit options for ${name}`);
28
+ }
62
29
  }
63
- const relations = await prgl.dbForSchema!.any<{
64
- oid: number;
65
- relkind: string;
66
- relispartition: boolean;
67
- }>(
68
- "SELECT oid, relkind, relispartition FROM pg_class WHERE oid = ANY($1::oid[])",
69
- [tables.map((t) => t.oid)],
70
- );
30
+
71
31
  for (const table of tables) {
72
32
  const entry = entries.find(([name]) => name === table.name);
73
33
  if (entries.length && (exclusion ? entry?.[1] === 0 : !entry)) continue;
74
- const relation = relations.find((r) => r.oid === table.oid);
75
- const isHistory = auditTableNames.includes(table.name);
76
- const eligible =
77
- !isHistory &&
78
- table.schema !== "prostgles" &&
79
- !table.is_view &&
80
- !table.isHyperTable &&
81
- relation &&
82
- relation.relkind === "r" &&
83
- !relation.relispartition;
34
+
35
+ const isHistory = table.name === audit.tableName;
36
+ const eligible = !isHistory && !table.is_view && !table.isHyperTable;
84
37
  if (!eligible) {
85
- if (entry && entry[1] !== 0)
86
- throw new Error(
87
- `Unsupported audit target: ${table.name}. Select ordinary, non-partitioned tables.`,
88
- );
38
+ if (entry && entry[1] !== 0) {
39
+ throw new Error(`Unsupported audit target: ${table.name}`);
40
+ }
89
41
  continue;
90
42
  }
91
- const options: SchemaConfigAuditTableOptions<void, string> =
92
- typeof entry?.[1] === "object" ? entry[1] : {};
93
- if (
94
- Object.keys(options).some(
95
- (k) => !["entityType", "idColumns", "excludeColumns"].includes(k),
96
- )
97
- )
98
- throw new Error(`Unknown audit option for ${table.name}`);
99
- const ids =
100
- options.idColumns ??
101
- table.columns.filter((c) => c.is_pkey).map((c) => c.name);
43
+ const options = typeof entry?.[1] === "object" ? entry[1] : {};
44
+ const ids = options.idColumns ?? table.columns.filter((c) => c.is_pkey).map((c) => c.name);
102
45
  const excluded = options.excludeColumns ?? [];
103
- if (!Array.isArray(ids) || !ids.length)
104
- throw new Error(
105
- `audit.idColumns is required for ${table.name} without a primary key`,
106
- );
46
+ if (!isArray(ids) || !ids.length) {
47
+ throw new Error(`audit.idColumns is required for ${table.name} without a primary key`);
48
+ }
49
+
107
50
  for (const list of [ids, excluded]) {
108
51
  if (
109
- !Array.isArray(list) ||
110
52
  new Set(list).size !== list.length ||
111
53
  list.some((c) => !table.columns.some((col) => col.name === c))
112
- )
54
+ ) {
113
55
  throw new Error(`Invalid audit columns for ${table.name}`);
56
+ }
114
57
  }
115
- if (ids.some((c) => excluded.includes(c)))
116
- throw new Error(
117
- `Audit identity columns cannot be excluded: ${table.name}`,
118
- );
119
- if (
120
- options.entityType !== undefined &&
121
- (typeof options.entityType !== "string" || !options.entityType)
122
- )
58
+ if (ids.some((c) => excluded.includes(c))) {
59
+ throw new Error(`Audit identity columns cannot be excluded: ${table.name}`);
60
+ }
61
+ if (options.entityType !== undefined && !options.entityType) {
123
62
  throw new Error(`Invalid audit entityType for ${table.name}`);
124
- const functionName = getAuditWriterName(audit.tableName, table.name);
125
- result.tableConfigs[table.name] = {
126
- triggers: {
127
- ...getAuditProtection(audit.tableName, ["truncate"]),
128
- [functionName]: {
129
- type: "after",
130
- actions: ["insert", "update", "delete"],
131
- forEach: "row",
132
- query: `DECLARE
133
- before_row jsonb; after_row jsonb; before_id jsonb; after_id jsonb;
134
- ids text[] := ARRAY[${ids.map((c) => as.text(c)).join(", ")}]::text[];
135
- excluded text[] := ARRAY[${excluded.map((c) => as.text(c)).join(", ")}]::text[];
136
- BEGIN
137
- IF TG_OP <> 'INSERT' THEN
138
- before_row := to_jsonb(OLD);
139
- SELECT jsonb_object_agg(k, before_row -> k) INTO before_id FROM unnest(ids) k;
140
- before_row := before_row - excluded;
141
- END IF;
142
- IF TG_OP <> 'DELETE' THEN
143
- after_row := to_jsonb(NEW);
144
- SELECT jsonb_object_agg(k, after_row -> k) INTO after_id FROM unnest(ids) k;
145
- after_row := after_row - excluded;
146
- END IF;
147
- IF TG_OP = 'UPDATE' AND before_row IS NOT DISTINCT FROM after_row THEN RETURN NULL; END IF;
148
- INSERT INTO ${asName(audit.tableName)} (schema_name, table_name, entity_type, operation, old_id, new_id, old_row, new_row, actor)
149
- VALUES (TG_TABLE_SCHEMA, TG_TABLE_NAME, ${as.text(options.entityType ?? table.name)}, TG_OP, before_id, after_id, before_row, after_row,
150
- nullif(current_setting('prostgles.user', true), '')::jsonb);
151
- RETURN NULL;
152
- END;`,
153
- },
154
- },
63
+ }
64
+ result[table.name] = {
65
+ entityType: options.entityType ?? table.name,
66
+ idColumns: [...ids],
67
+ excludeColumns: [...excluded],
155
68
  };
156
69
  }
157
- return result;
158
- }
70
+ return { tableName: audit.tableName, tables: result };
71
+ };
@@ -31,6 +31,7 @@ export async function getInfo(
31
31
  },
32
32
  this.config,
33
33
  localParams?.isRemoteRequest?.clientInfo,
34
+ this.dboBuilder.prostgles.resolvedAuditConfig,
34
35
  );
35
36
  const { columns, name, ...rest } = modifiedTableSchema;
36
37
  return rest;
@@ -29,6 +29,7 @@ export async function getColumns(
29
29
  },
30
30
  this.config,
31
31
  localParams?.isRemoteRequest?.clientInfo,
32
+ this.dboBuilder.prostgles.resolvedAuditConfig,
32
33
  );
33
34
 
34
35
  const columns = modifiedTableSchema?.columns ?? rawColumns;
package/lib/Prostgles.ts CHANGED
@@ -63,7 +63,9 @@ import type { getAdminClient } from "./DboBuilder/runSql/getAdminClient";
63
63
  import type { TableHandler } from "./DboBuilder/TableHandler/TableHandler";
64
64
  import { getFileTableConfig } from "./StorageClient/getFileTableConfig";
65
65
  import { dirname } from "path";
66
- import { getAuditTableConfig, type ParsedAuditConfig } from "./Audit/getAuditTableConfig";
66
+ import { getAuditTableConfig } from "./Audit/getAuditTableConfig";
67
+ import { parseAuditConfig } from "./Audit/parseAuditConfig";
68
+ import { getAuditTriggerConfig } from "./Audit/getAuditTriggerConfig";
67
69
  import { syncTableTriggers } from "./TableConfig/syncTableTriggers";
68
70
  import { isManagedTriggerName } from "./TableConfig/managedTriggerNames";
69
71
 
@@ -118,7 +120,6 @@ export class Prostgles {
118
120
  void this.schemaReady.catch(() => {});
119
121
  return this.schemaReady;
120
122
  };
121
- parsedAuditConfig?: ParsedAuditConfig;
122
123
  preparingTableConfig = false;
123
124
 
124
125
  dbEventsManager?: DBEventsManager;
@@ -128,6 +129,11 @@ export class Prostgles {
128
129
 
129
130
  tableConfigurator?: TableConfigurator;
130
131
 
132
+ get resolvedAuditConfig() {
133
+ if (!this._dboBuilder || this.preparingTableConfig) return undefined;
134
+ return parseAuditConfig(this);
135
+ }
136
+
131
137
  get mergedTableConfig() {
132
138
  for (const [tableName, table] of Object.entries(this.opts.tableConfig ?? {})) {
133
139
  for (const name of Object.keys(table.triggers ?? {})) {
@@ -137,7 +143,17 @@ export class Prostgles {
137
143
  }
138
144
  }
139
145
  const config = getFileTableConfig(this);
140
- return { ...config, tableConfig: getAuditTableConfig(this, config.tableConfig) };
146
+ const tableConfig = getAuditTableConfig(this, config.tableConfig);
147
+ const audit = this.resolvedAuditConfig;
148
+ if (tableConfig && audit) {
149
+ for (const [name, auditConfig] of Object.entries(getAuditTriggerConfig(audit))) {
150
+ tableConfig[name] = {
151
+ ...tableConfig[name],
152
+ triggers: { ...tableConfig[name]?.triggers, ...auditConfig.triggers },
153
+ };
154
+ }
155
+ }
156
+ return { ...config, tableConfig };
141
157
  }
142
158
 
143
159
  isMedia(tableName: string) {
@@ -312,7 +328,7 @@ export class Prostgles {
312
328
  await this.cleanupContext();
313
329
  await this.runSchemaQueries(async () => {
314
330
  await this.rebuildDBO();
315
- if (this.opts.audit || this.parsedAuditConfig) {
331
+ if (this.opts.audit) {
316
332
  await syncTableTriggers(this);
317
333
  await this.rebuildDBO();
318
334
  }
@@ -14,7 +14,7 @@ import type { StorageClient } from "./StorageClient/StorageClientTypes";
14
14
  import type { PGConstraint } from "./TableConfig/fetchTableConstraints";
15
15
  import type { TableConfig } from "./TableConfig/TableConfigTypes";
16
16
  import type { TableHooks } from "./TableHooks/TableHooks";
17
- import type { SchemaConfigAudit } from "./Audit/AuditTypes";
17
+ import type { ResolvedAuditConfig, SchemaConfigAudit } from "./Audit/AuditTypes";
18
18
 
19
19
  import type { PRGLIOSocket } from "./DboBuilder/DboBuilder";
20
20
 
@@ -101,6 +101,7 @@ type ModifyClientSchema<SUser extends SessionUser = SessionUser> = (
101
101
  table: DBSchemaTable,
102
102
  tableConfig: TableConfig[string] | undefined,
103
103
  userData: AuthResultWithSID<SUser> | undefined,
104
+ resolvedAuditConfig: ResolvedAuditConfig | undefined,
104
105
  ) => MaybePromise<DBSchemaTable>;
105
106
 
106
107
  export type ProstglesInitOptions<
@@ -5,6 +5,7 @@ import { assertFileObjectValid, uploadFile } from "../DboBuilder/TableHandler/up
5
5
  import type { Prostgles } from "../Prostgles";
6
6
  import type { BeforeEachTsTrigger } from "../PublishParser/publishTypesAndUtils";
7
7
  import type { TableConfig } from "../TableConfig/TableConfigTypes";
8
+ import type { TableRowFromColumnDefinitions } from "../TableConfig/TableRowFromColumnDefinitions";
8
9
  import type { TableHooks } from "../TableHooks/TableHooks";
9
10
  import { setupFileServeHandler } from "./setupFileServeHandler";
10
11
 
@@ -28,19 +29,7 @@ const FILE_TABLE_COLUMN_DEFINITIONS = {
28
29
  data: `BYTEA NOT NULL CHECK (data = decode('01', 'hex'))`, // Used as a placeholder to ensure insert types are correct. Actual data is uploaded to storageClient and not stored in the DB
29
30
  } as const;
30
31
 
31
- type FileTableColumnDefinitions = typeof FILE_TABLE_COLUMN_DEFINITIONS;
32
-
33
- export type FileTableRow = {
34
- [K in keyof FileTableColumnDefinitions as K]: FileTableColumnDefinitions[K] extends (
35
- `BYTEA NOT NULL${string}`
36
- ) ?
37
- Buffer
38
- : FileTableColumnDefinitions[K] extends (
39
- `${string} NOT NULL${string}` | `${string}PRIMARY KEY${string}`
40
- ) ?
41
- string
42
- : string | null;
43
- };
32
+ export type FileTableRow = TableRowFromColumnDefinitions<typeof FILE_TABLE_COLUMN_DEFINITIONS>;
44
33
 
45
34
  export const getFileTableConfig = (
46
35
  prg: Prostgles,
@@ -17,7 +17,7 @@ export type ColExtraInfo = {
17
17
 
18
18
  export type LangToTranslation = Record<string, string>;
19
19
 
20
- type BaseTableDefinition = {
20
+ export type BaseTableDefinition = {
21
21
  info?: {
22
22
  label?: string | LangToTranslation;
23
23
  };
@@ -0,0 +1,19 @@
1
+ /** Row types for the column definitions used by managed tables. */
2
+ export type TableRowFromColumnDefinitions<
3
+ T extends Record<
4
+ string,
5
+ string | { enum: readonly (string | number)[]; nullable?: boolean }
6
+ >,
7
+ > = {
8
+ [K in keyof T]: T[K] extends { enum: readonly (infer V)[] }
9
+ ? V | (T[K] extends { nullable: true } ? null : never)
10
+ : | (T[K] extends `BYTEA${string}`
11
+ ? Buffer
12
+ : T[K] extends `JSONB${string}`
13
+ ? Record<string, unknown>
14
+ : string)
15
+ | (T[K] extends
16
+ `${string} NOT NULL${string}` | `${string}PRIMARY KEY${string}`
17
+ ? never
18
+ : null);
19
+ };