prostgles-server 4.2.625 → 4.2.627

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 (172) hide show
  1. package/debug/prostgles-types-4.0.285.tgz +0 -0
  2. package/dist/Audit/AuditTable.d.ts +2 -1
  3. package/dist/Audit/AuditTable.d.ts.map +1 -1
  4. package/dist/Audit/AuditTable.js.map +1 -1
  5. package/dist/Audit/getAuditTableRules.d.ts.map +1 -1
  6. package/dist/Audit/getAuditTableRules.js +4 -4
  7. package/dist/Audit/getAuditTableRules.js.map +1 -1
  8. package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.d.ts.map +1 -1
  9. package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.js +7 -1
  10. package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.js.map +1 -1
  11. package/dist/DboBuilder/QueryBuilder/Functions/Functions.d.ts +3 -1
  12. package/dist/DboBuilder/QueryBuilder/Functions/Functions.d.ts.map +1 -1
  13. package/dist/DboBuilder/QueryBuilder/Functions/Functions.js +18 -11
  14. package/dist/DboBuilder/QueryBuilder/Functions/Functions.js.map +1 -1
  15. package/dist/DboBuilder/QueryBuilder/Functions/HASHING_FUNCTIONS.d.ts.map +1 -1
  16. package/dist/DboBuilder/QueryBuilder/Functions/HASHING_FUNCTIONS.js +16 -21
  17. package/dist/DboBuilder/QueryBuilder/Functions/HASHING_FUNCTIONS.js.map +1 -1
  18. package/dist/DboBuilder/QueryBuilder/Functions/utils.d.ts +1 -0
  19. package/dist/DboBuilder/QueryBuilder/Functions/utils.d.ts.map +1 -1
  20. package/dist/DboBuilder/QueryBuilder/Functions/utils.js +3 -1
  21. package/dist/DboBuilder/QueryBuilder/Functions/utils.js.map +1 -1
  22. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts +18 -2
  23. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
  24. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +54 -16
  25. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
  26. package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts +1 -1
  27. package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
  28. package/dist/DboBuilder/QueryBuilder/getNewQuery.js +40 -6
  29. package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
  30. package/dist/DboBuilder/QueryBuilder/parseJoinSelect.d.ts.map +1 -1
  31. package/dist/DboBuilder/QueryBuilder/parseJoinSelect.js +2 -12
  32. package/dist/DboBuilder/QueryBuilder/parseJoinSelect.js.map +1 -1
  33. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts +3 -1
  34. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts.map +1 -1
  35. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js +21 -6
  36. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js.map +1 -1
  37. package/dist/DboBuilder/TableHandler/updateFile.d.ts +2 -39
  38. package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
  39. package/dist/DboBuilder/TableHandler/updateFile.js +1 -0
  40. package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
  41. package/dist/DboBuilder/TableHandler/uploadFile.d.ts +2 -1
  42. package/dist/DboBuilder/TableHandler/uploadFile.d.ts.map +1 -1
  43. package/dist/DboBuilder/TableHandler/uploadFile.js +2 -1
  44. package/dist/DboBuilder/TableHandler/uploadFile.js.map +1 -1
  45. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  46. package/dist/DboBuilder/ViewHandler/find.js +2 -29
  47. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  48. package/dist/DboBuilder/ViewHandler/getRawInfo.d.ts.map +1 -1
  49. package/dist/DboBuilder/ViewHandler/getRawInfo.js +6 -2
  50. package/dist/DboBuilder/ViewHandler/getRawInfo.js.map +1 -1
  51. package/dist/DboBuilder/ViewHandler/parseComplexFilter.d.ts +4 -1
  52. package/dist/DboBuilder/ViewHandler/parseComplexFilter.d.ts.map +1 -1
  53. package/dist/DboBuilder/ViewHandler/parseComplexFilter.js +9 -2
  54. package/dist/DboBuilder/ViewHandler/parseComplexFilter.js.map +1 -1
  55. package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
  56. package/dist/DboBuilder/ViewHandler/subscribe.js +8 -3
  57. package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
  58. package/dist/DboBuilder/ViewHandler/validateSelectParams.d.ts +3 -0
  59. package/dist/DboBuilder/ViewHandler/validateSelectParams.d.ts.map +1 -0
  60. package/dist/DboBuilder/ViewHandler/validateSelectParams.js +48 -0
  61. package/dist/DboBuilder/ViewHandler/validateSelectParams.js.map +1 -0
  62. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  63. package/dist/DboBuilder/getColumns.js +3 -0
  64. package/dist/DboBuilder/getColumns.js.map +1 -1
  65. package/dist/DboBuilder/getCondition.d.ts.map +1 -1
  66. package/dist/DboBuilder/getCondition.js +9 -3
  67. package/dist/DboBuilder/getCondition.js.map +1 -1
  68. package/dist/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
  69. package/dist/DboBuilder/getSubscribeRelatedTables.js +7 -2
  70. package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
  71. package/dist/ProstglesTypes.d.ts +10 -0
  72. package/dist/ProstglesTypes.d.ts.map +1 -1
  73. package/dist/ProstglesTypes.js.map +1 -1
  74. package/dist/PubSubManager/PubSubManager.d.ts +1 -1
  75. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  76. package/dist/PubSubManager/PubSubManager.js +1 -1
  77. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  78. package/dist/PubSubManager/addSub.js +1 -1
  79. package/dist/PubSubManager/addSub.js.map +1 -1
  80. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  81. package/dist/PublishParser/PublishParser.js +7 -0
  82. package/dist/PublishParser/PublishParser.js.map +1 -1
  83. package/dist/PublishParser/getFileTableRules.d.ts.map +1 -1
  84. package/dist/PublishParser/getFileTableRules.js +4 -1
  85. package/dist/PublishParser/getFileTableRules.js.map +1 -1
  86. package/dist/PublishParser/getFileVersionTableRules.d.ts +7 -0
  87. package/dist/PublishParser/getFileVersionTableRules.d.ts.map +1 -0
  88. package/dist/PublishParser/getFileVersionTableRules.js +77 -0
  89. package/dist/PublishParser/getFileVersionTableRules.js.map +1 -0
  90. package/dist/PublishParser/getFileVersionTableRules.spec.d.ts +2 -0
  91. package/dist/PublishParser/getFileVersionTableRules.spec.d.ts.map +1 -0
  92. package/dist/PublishParser/getFileVersionTableRules.spec.js +50 -0
  93. package/dist/PublishParser/getFileVersionTableRules.spec.js.map +1 -0
  94. package/dist/PublishParser/getPublishedTableNames.d.ts.map +1 -1
  95. package/dist/PublishParser/getPublishedTableNames.js +11 -4
  96. package/dist/PublishParser/getPublishedTableNames.js.map +1 -1
  97. package/dist/StorageClient/deleteUnreferencedFile.d.ts.map +1 -1
  98. package/dist/StorageClient/deleteUnreferencedFile.js +17 -1
  99. package/dist/StorageClient/deleteUnreferencedFile.js.map +1 -1
  100. package/dist/StorageClient/fileTableDefinitions.d.ts +54 -0
  101. package/dist/StorageClient/fileTableDefinitions.d.ts.map +1 -0
  102. package/dist/StorageClient/fileTableDefinitions.js +38 -0
  103. package/dist/StorageClient/fileTableDefinitions.js.map +1 -0
  104. package/dist/StorageClient/fileVersionUtils.d.ts +18 -0
  105. package/dist/StorageClient/fileVersionUtils.d.ts.map +1 -0
  106. package/dist/StorageClient/fileVersionUtils.js +22 -0
  107. package/dist/StorageClient/fileVersionUtils.js.map +1 -0
  108. package/dist/StorageClient/getFileStorageKey.d.ts +3 -1
  109. package/dist/StorageClient/getFileStorageKey.d.ts.map +1 -1
  110. package/dist/StorageClient/getFileStorageKey.js +9 -1
  111. package/dist/StorageClient/getFileStorageKey.js.map +1 -1
  112. package/dist/StorageClient/getFileTableConfig.d.ts +1 -23
  113. package/dist/StorageClient/getFileTableConfig.d.ts.map +1 -1
  114. package/dist/StorageClient/getFileTableConfig.js +63 -25
  115. package/dist/StorageClient/getFileTableConfig.js.map +1 -1
  116. package/dist/StorageClient/getFileTableConfig.spec.js +6 -1
  117. package/dist/StorageClient/getFileTableConfig.spec.js.map +1 -1
  118. package/dist/StorageClient/saveFileVersion.d.ts +7 -0
  119. package/dist/StorageClient/saveFileVersion.d.ts.map +1 -0
  120. package/dist/StorageClient/saveFileVersion.js +71 -0
  121. package/dist/StorageClient/saveFileVersion.js.map +1 -0
  122. package/dist/StorageClient/setupFileServeHandler.d.ts.map +1 -1
  123. package/dist/StorageClient/setupFileServeHandler.js +38 -21
  124. package/dist/StorageClient/setupFileServeHandler.js.map +1 -1
  125. package/dist/TableConfig/TableRowFromColumnDefinitions.d.ts +11 -4
  126. package/dist/TableConfig/TableRowFromColumnDefinitions.d.ts.map +1 -1
  127. package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
  128. package/dist/TableConfig/initTableConfig.js +6 -6
  129. package/dist/TableConfig/initTableConfig.js.map +1 -1
  130. package/dist/index.d.ts +2 -2
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js.map +1 -1
  133. package/lib/Audit/AuditTable.ts +4 -1
  134. package/lib/Audit/getAuditTableRules.ts +6 -2
  135. package/lib/DBSchemaBuilder/getClientDBGeneratedSchemas.ts +9 -1
  136. package/lib/DboBuilder/QueryBuilder/Functions/Functions.ts +38 -13
  137. package/lib/DboBuilder/QueryBuilder/Functions/HASHING_FUNCTIONS.ts +28 -24
  138. package/lib/DboBuilder/QueryBuilder/Functions/utils.ts +10 -0
  139. package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +95 -18
  140. package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +58 -10
  141. package/lib/DboBuilder/QueryBuilder/parseJoinSelect.ts +2 -13
  142. package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +34 -7
  143. package/lib/DboBuilder/TableHandler/updateFile.ts +1 -0
  144. package/lib/DboBuilder/TableHandler/uploadFile.ts +3 -0
  145. package/lib/DboBuilder/ViewHandler/find.ts +2 -32
  146. package/lib/DboBuilder/ViewHandler/getRawInfo.ts +6 -2
  147. package/lib/DboBuilder/ViewHandler/parseComplexFilter.ts +10 -2
  148. package/lib/DboBuilder/ViewHandler/subscribe.ts +10 -3
  149. package/lib/DboBuilder/ViewHandler/validateSelectParams.ts +51 -0
  150. package/lib/DboBuilder/getColumns.ts +2 -0
  151. package/lib/DboBuilder/getCondition.ts +11 -3
  152. package/lib/DboBuilder/getSubscribeRelatedTables.ts +10 -3
  153. package/lib/ProstglesTypes.ts +11 -0
  154. package/lib/PubSubManager/PubSubManager.ts +1 -1
  155. package/lib/PubSubManager/addSub.ts +1 -1
  156. package/lib/PublishParser/PublishParser.ts +25 -7
  157. package/lib/PublishParser/getFileTableRules.ts +7 -1
  158. package/lib/PublishParser/getFileVersionTableRules.spec.ts +57 -0
  159. package/lib/PublishParser/getFileVersionTableRules.ts +106 -0
  160. package/lib/PublishParser/getPublishedTableNames.ts +14 -5
  161. package/lib/StorageClient/deleteUnreferencedFile.ts +20 -2
  162. package/lib/StorageClient/fileTableDefinitions.ts +52 -0
  163. package/lib/StorageClient/fileVersionUtils.ts +37 -0
  164. package/lib/StorageClient/getFileStorageKey.ts +11 -2
  165. package/lib/StorageClient/getFileTableConfig.spec.ts +6 -1
  166. package/lib/StorageClient/getFileTableConfig.ts +85 -30
  167. package/lib/StorageClient/saveFileVersion.ts +82 -0
  168. package/lib/StorageClient/setupFileServeHandler.ts +51 -28
  169. package/lib/TableConfig/TableRowFromColumnDefinitions.ts +37 -13
  170. package/lib/TableConfig/initTableConfig.ts +5 -6
  171. package/lib/index.ts +2 -1
  172. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"initTableConfig.js","sourceRoot":"","sources":["../../lib/TableConfig/initTableConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initTableConfig.js","sourceRoot":"","sources":["../../lib/TableConfig/initTableConfig.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -20,7 +20,7 @@ export type * from "./TableHooks/TableHooks";
20
20
  export * from "./Auth/utils/upsertNamedExpressMiddleware";
21
21
  export type { RequestWithUser } from "./Auth/middleware/userContextMiddleware";
22
22
  export default prostgles;
23
- export type { FileTableRow } from "./StorageClient/getFileTableConfig";
23
+ export type { FileTableInsertRow, FileTableRow } from "./StorageClient/getFileTableConfig";
24
24
  export { defineJoin };
25
- export { AUDIT_TABLE_COLUMN_DEFINITIONS, AUDIT_TABLE_COLUMN_NAMES, AUDIT_TABLE_COLUMNS, type AuditTableRow, } from "./Audit/AuditTable";
25
+ export { AUDIT_TABLE_COLUMN_DEFINITIONS, AUDIT_TABLE_COLUMN_NAMES, AUDIT_TABLE_COLUMNS, type AuditTableInsertRow, type AuditTableRow, } from "./Audit/AuditTable";
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,iBAAS,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,GAAG,SAAS,EACvF,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAK9B,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CACxD;AAED,qFAAqF;AACrF,eAAO,MAAM,eAAe,GAAI,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,QACvE,OAAO,GAAG,SAAS,EAAE,QAAQ,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,2CAE7E,CAAC;AACF,cAAc,sCAAsC,CAAC;AACrD,cAAc,kBAAkB,CAAC;AAEjC,YAAY,EACV,mBAAmB,EACnB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvF,cAAc,uCAAuC,CAAC;AACtD,YAAY,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,EAAE,EACF,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,yBAAyB,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,eAAe,SAAS,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,iBAAS,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,GAAG,SAAS,EACvF,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAK9B,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CACxD;AAED,qFAAqF;AACrF,eAAO,MAAM,eAAe,GAAI,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,QACvE,OAAO,GAAG,SAAS,EAAE,QAAQ,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,2CAE7E,CAAC;AACF,cAAc,sCAAsC,CAAC;AACrD,cAAc,kBAAkB,CAAC;AAEjC,YAAY,EACV,mBAAmB,EACnB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvF,cAAc,uCAAuC,CAAC;AACtD,YAAY,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,EAAE,EACF,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,yBAAyB,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,eAAe,SAAS,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA6C;AAuDpC,2FAvDA,4BAAU,OAuDA;AApDnB,2CAAwC;AAGxC,SAAS,SAAS,CAChB,MAA+C;IAE/C,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAiE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAA0C,EAAE;QAClE,IAAI,EAAE,MAAM;KACb,CAAsD,CAAC;AAC1D,CAAC;AAED,qFAAqF;AAC9E,MAAM,eAAe,GAAG,GAAsD,EAAE;IACrF,OAAO,CAAsB,MAA+C,EAAE,EAAE,CAC9E,SAAS,CAAoB,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B;AACF,uEAAqD;AACrD,mDAAiC;AAiBjC,wEAAsD;AAatD,4EAA0D;AAE1D,kBAAe,SAAS,CAAC;AAGzB,iDAK4B;AAJ1B,4HAAA,8BAA8B,OAAA;AAC9B,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA6C;AAuDpC,2FAvDA,4BAAU,OAuDA;AApDnB,2CAAwC;AAGxC,SAAS,SAAS,CAChB,MAA+C;IAE/C,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAiE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAA0C,EAAE;QAClE,IAAI,EAAE,MAAM;KACb,CAAsD,CAAC;AAC1D,CAAC;AAED,qFAAqF;AAC9E,MAAM,eAAe,GAAG,GAAsD,EAAE;IACrF,OAAO,CAAsB,MAA+C,EAAE,EAAE,CAC9E,SAAS,CAAoB,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B;AACF,uEAAqD;AACrD,mDAAiC;AAiBjC,wEAAsD;AAatD,4EAA0D;AAE1D,kBAAe,SAAS,CAAC;AAGzB,iDAM4B;AAL1B,4HAAA,8BAA8B,OAAA;AAC9B,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA"}
@@ -25,7 +25,10 @@ export const AUDIT_TABLE_COLUMN_DEFINITIONS = {
25
25
  },
26
26
  } as const;
27
27
 
28
- export type AuditTableRow = TableRowFromColumnDefinitions<typeof AUDIT_TABLE_COLUMN_DEFINITIONS>;
28
+ export type AuditTableInsertRow = TableRowFromColumnDefinitions<
29
+ typeof AUDIT_TABLE_COLUMN_DEFINITIONS
30
+ >;
31
+ export type AuditTableRow = Required<AuditTableInsertRow>;
29
32
  export const AUDIT_TABLE_COLUMN_NAMES = Object.fromEntries(
30
33
  Object.keys(AUDIT_TABLE_COLUMN_DEFINITIONS).map((columnName) => [columnName, columnName]),
31
34
  ) as { [K in keyof AuditTableRow]: K };
@@ -59,6 +59,7 @@ export const getAuditTableRules = async function (
59
59
  additionalForcedCondition: await getSourceAuditCondition(
60
60
  tableHandler,
61
61
  rules.select.forcedFilter,
62
+ audit.tables[tableName]!.excludeColumns,
62
63
  ),
63
64
  tableColumnOverrides: getAuditRowColumnOverrides(
64
65
  tableHandler.parseFieldFilter(rules.select.fields),
@@ -155,6 +156,7 @@ const getAuditRowColumnOverrides = (allowedColumns: string[], idColumns: readonl
155
156
  const getSourceAuditCondition = async (
156
157
  sourceHandler: ViewHandler,
157
158
  forcedFilter: Filter | undefined,
159
+ excludedColumns: readonly string[],
158
160
  ) => {
159
161
  const { schema, name } = sourceHandler.tableOrViewInfo.qualifiedNameParts;
160
162
  const auditColumn = (columnName: keyof AuditTableRow) => asName(columnName);
@@ -162,7 +164,7 @@ const getSourceAuditCondition = async (
162
164
  `${auditColumn(AUDIT_TABLE_COLUMN_NAMES.schema_name)} = ${as.text(schema)}`,
163
165
  `${auditColumn(AUDIT_TABLE_COLUMN_NAMES.table_name)} = ${as.text(name)}`,
164
166
  ].join(" AND ");
165
- if (!forcedFilter || !Object.keys(forcedFilter).length) {
167
+ if (!forcedFilter || isEmpty(forcedFilter)) {
166
168
  return sourceCondition;
167
169
  }
168
170
 
@@ -175,7 +177,9 @@ const getSourceAuditCondition = async (
175
177
  const { condition } = await prepareWhere(sourceHandler, {
176
178
  filter: forcedFilter,
177
179
  select: undefined,
178
- filterFields: "*",
180
+ filterFields: sourceHandler.column_names.filter(
181
+ (columnName) => !excludedColumns.includes(columnName),
182
+ ),
179
183
  addWhere: false,
180
184
  tableAlias: { raw: alias, escaped: asName(alias) },
181
185
  localParams: undefined,
@@ -86,6 +86,9 @@ export const getClientDBGeneratedSchemas = (
86
86
  ` ${JSON.stringify(table.name)}: ${tableType} & { insertColumns: ${input}; updateColumns: ${updateInput};${optionalTable} };`,
87
87
  ];
88
88
  });
89
+ if (!definitions.length) {
90
+ return `export type ${name} = Record<string, never>;`;
91
+ }
89
92
  return `export type ${name} = {\n${definitions.join("\n")}\n};`;
90
93
  };
91
94
 
@@ -105,9 +108,14 @@ const reservedNames = new Set(Object.values(DB_GENERATED_NAMES) as string[]);
105
108
 
106
109
  export const validateClientSchemaName = (name: string) => {
107
110
  // Requiring a Schema suffix also avoids TypeScript keywords and primitive type names.
108
- if (!/^[A-Za-z_$][\w$]*Schema$/.test(name) || reservedNames.has(name)) {
111
+ if (!/^[A-Za-z_$][\w$]*Schema$/.test(name)) {
109
112
  throw new Error(
110
113
  `Invalid client schema name: ${JSON.stringify(name)}. Use a unique name ending in Schema.`,
111
114
  );
112
115
  }
116
+ if (reservedNames.has(name)) {
117
+ throw new Error(
118
+ `Invalid client schema name: ${JSON.stringify(name)}. Use a unique name ending in Schema that does not conflict with reserved names (${Array.from(reservedNames).join(", ")}).`,
119
+ );
120
+ }
113
121
  };
@@ -4,7 +4,7 @@ import { asName, includes, isObject, TextFilter_FullTextSearchFilterKeys } from
4
4
  import { asNameAlias } from "../../../utils/asNameAlias";
5
5
  import { HASHING_FUNCTIONS } from "./HASHING_FUNCTIONS";
6
6
  import { TEXT_FUNCTIONS } from "./TEXT_FUNCTIONS";
7
- import { asFunction } from "./utils";
7
+ import { asFunction, getAggregateQuery } from "./utils";
8
8
  const pgp = pgPromise();
9
9
 
10
10
  type GetQueryArgs = {
@@ -13,13 +13,15 @@ type GetQueryArgs = {
13
13
  args: any[];
14
14
  tableAliasRaw?: string;
15
15
  ctidField?: string;
16
+ aggregateFilter?: string;
17
+ aggregateOrderBy?: string;
16
18
  };
17
19
 
18
20
  export type FieldSpec = {
19
21
  name: string;
20
22
  type: "column" | "computed";
21
23
  /**
22
- * allowedFields passed for multicol functions (e.g.: $rowhash)
24
+ * allowedFields passed for multicolumn functions (e.g.: $rowhash)
23
25
  */
24
26
  getQuery: (params: Omit<GetQueryArgs, "args">) => string;
25
27
  };
@@ -454,12 +456,18 @@ PostGIS_Funcs = PostGIS_Funcs.concat(
454
456
  singleColArg: true,
455
457
  numArgs: 1,
456
458
  getFields: (args: any[]) => [args[0]],
457
- getQuery: ({ args, tableAliasRaw: tableAlias }) => {
458
- const escTabelName = asNameAlias(args[0], tableAlias) + "::geometry";
459
+ getQuery: ({ args, tableAliasRaw: tableAlias, aggregateFilter, aggregateOrderBy }) => {
460
+ const escapeTableName = asNameAlias(args[0], tableAlias) + "::geometry";
459
461
  if (fname.includes("Extent")) {
460
- return `${fname}(${escTabelName})`;
462
+ return getAggregateQuery(fname, escapeTableName, aggregateFilter, aggregateOrderBy);
461
463
  }
462
- return `${fname.endsWith("_Agg") ? fname.slice(0, -4) : fname}(ST_Collect(${escTabelName}))`;
464
+ const collectedGeometry = getAggregateQuery(
465
+ "ST_Collect",
466
+ escapeTableName,
467
+ aggregateFilter,
468
+ aggregateOrderBy,
469
+ );
470
+ return `${fname.endsWith("_Agg") ? fname.slice(0, -4) : fname}(${collectedGeometry})`;
463
471
  },
464
472
  };
465
473
  return res;
@@ -753,13 +761,23 @@ export const FUNCTIONS: FunctionSpec[] = [
753
761
  type: "aggregation",
754
762
  numArgs: 1,
755
763
  singleColArg: true,
756
- getFields: (args: any[]) => [args[0]],
757
- getQuery: ({ args, tableAliasRaw: tableAlias }) => {
764
+ minCols: aggName === "count" ? 0 : undefined,
765
+ getFields: (args: any[]) => (aggName === "count" && !args.length ? [] : [args[0]]),
766
+ getQuery: ({ args, tableAliasRaw: tableAlias, aggregateFilter, aggregateOrderBy }) => {
758
767
  let extraArgs = "";
759
768
  if (args.length > 1) {
760
769
  extraArgs = pgp.as.format(", $1:csv", args.slice(1));
761
770
  }
762
- return aggName + "(" + asNameAlias(args[0], tableAlias) + `${extraArgs})`;
771
+ const firstArg =
772
+ args.length ? asNameAlias(args[0], tableAlias)
773
+ : aggregateOrderBy ? "1"
774
+ : "*";
775
+ return getAggregateQuery(
776
+ aggName,
777
+ `${firstArg}${extraArgs}`,
778
+ aggregateFilter,
779
+ aggregateOrderBy,
780
+ );
763
781
  },
764
782
  }),
765
783
  ),
@@ -784,8 +802,13 @@ export const FUNCTIONS: FunctionSpec[] = [
784
802
  singleColArg: true,
785
803
  numArgs: 0,
786
804
  getFields: (args: any[]) => [],
787
- getQuery: ({ allowedFields, args, tableAliasRaw: tableAlias }) => {
788
- return "COUNT(*)";
805
+ getQuery: ({ aggregateFilter, aggregateOrderBy }) => {
806
+ return getAggregateQuery(
807
+ "COUNT",
808
+ aggregateOrderBy ? "1" : "*",
809
+ aggregateFilter,
810
+ aggregateOrderBy,
811
+ );
789
812
  },
790
813
  }),
791
814
  asFunction({
@@ -794,9 +817,11 @@ export const FUNCTIONS: FunctionSpec[] = [
794
817
  numArgs: 1,
795
818
  singleColArg: true,
796
819
  getFields: (args: any[]) => [args[0]],
797
- getQuery: ({ allowedFields, args, tableAliasRaw: tableAlias }) => {
820
+ getQuery: ({ args, tableAliasRaw: tableAlias, aggregateFilter, aggregateOrderBy }) => {
798
821
  const col = asNameAlias(args[0], tableAlias);
799
- return `round( ( ( MAX(${col}) - MIN(${col}) )::float/MIN(${col}) ) * 100, 2)`;
822
+ const max = getAggregateQuery("MAX", col, aggregateFilter, aggregateOrderBy);
823
+ const min = getAggregateQuery("MIN", col, aggregateFilter, aggregateOrderBy);
824
+ return `round( ( ( ${max} - ${min} )::float/${min} ) * 100, 2)`;
800
825
  },
801
826
  }),
802
827
  ];
@@ -1,6 +1,7 @@
1
1
  import pgPromise from "pg-promise";
2
2
  import { asNameAlias } from "../../../utils/asNameAlias";
3
3
  import type { FunctionSpec } from "./Functions";
4
+ import { getAggregateQuery } from "./utils";
4
5
 
5
6
  const pgp = pgPromise();
6
7
 
@@ -33,15 +34,16 @@ export const HASHING_FUNCTIONS: FunctionSpec[] = [
33
34
  singleColArg: false,
34
35
  numArgs: MAX_COL_NUM,
35
36
  getFields: (args: any[]) => args,
36
- getQuery: ({ args, tableAliasRaw: tableAlias }) => {
37
- const q = pgp.as.format(
38
- "md5(string_agg(" +
39
- args
40
- .map((fname) => "COALESCE( " + asNameAlias(fname, tableAlias) + "::text, '' )")
41
- .join(" || ") +
42
- ", ','))",
37
+ getQuery: ({ args, tableAliasRaw: tableAlias, aggregateFilter, aggregateOrderBy }) => {
38
+ const stringAgg = getAggregateQuery(
39
+ "string_agg",
40
+ args
41
+ .map((fname) => "COALESCE( " + asNameAlias(fname, tableAlias) + "::text, '' )")
42
+ .join(" || ") + ", ','",
43
+ aggregateFilter,
44
+ aggregateOrderBy,
43
45
  );
44
- return q;
46
+ return pgp.as.format(`md5(${stringAgg})`);
45
47
  },
46
48
  },
47
49
 
@@ -70,15 +72,16 @@ export const HASHING_FUNCTIONS: FunctionSpec[] = [
70
72
  singleColArg: false,
71
73
  numArgs: MAX_COL_NUM,
72
74
  getFields: (args: any[]) => args,
73
- getQuery: ({ args, tableAliasRaw: tableAlias }) => {
74
- const q = pgp.as.format(
75
- "encode(sha256(string_agg(" +
76
- args
77
- .map((fname) => "COALESCE( " + asNameAlias(fname, tableAlias) + ", '' )")
78
- .join(" || ") +
79
- ", ',')::text::bytea), 'hex')",
75
+ getQuery: ({ args, tableAliasRaw: tableAlias, aggregateFilter, aggregateOrderBy }) => {
76
+ const stringAgg = getAggregateQuery(
77
+ "string_agg",
78
+ args
79
+ .map((fname) => "COALESCE( " + asNameAlias(fname, tableAlias) + ", '' )")
80
+ .join(" || ") + ", ','",
81
+ aggregateFilter,
82
+ aggregateOrderBy,
80
83
  );
81
- return q;
84
+ return pgp.as.format(`encode(sha256(${stringAgg}::text::bytea), 'hex')`);
82
85
  },
83
86
  },
84
87
  {
@@ -106,15 +109,16 @@ export const HASHING_FUNCTIONS: FunctionSpec[] = [
106
109
  singleColArg: false,
107
110
  numArgs: MAX_COL_NUM,
108
111
  getFields: (args: any[]) => args,
109
- getQuery: ({ args, tableAliasRaw: tableAlias }) => {
110
- const q = pgp.as.format(
111
- "encode(sha512(string_agg(" +
112
- args
113
- .map((fname) => "COALESCE( " + asNameAlias(fname, tableAlias) + ", '' )")
114
- .join(" || ") +
115
- ", ',')::text::bytea), 'hex')",
112
+ getQuery: ({ args, tableAliasRaw: tableAlias, aggregateFilter, aggregateOrderBy }) => {
113
+ const stringAgg = getAggregateQuery(
114
+ "string_agg",
115
+ args
116
+ .map((fname) => "COALESCE( " + asNameAlias(fname, tableAlias) + ", '' )")
117
+ .join(" || ") + ", ','",
118
+ aggregateFilter,
119
+ aggregateOrderBy,
116
120
  );
117
- return q;
121
+ return pgp.as.format(`encode(sha512(${stringAgg}::text::bytea), 'hex')`);
118
122
  },
119
123
  },
120
124
  ];
@@ -1,3 +1,13 @@
1
1
  import type { FunctionSpec } from "./Functions";
2
2
 
3
3
  export const asFunction = (def: FunctionSpec) => def;
4
+
5
+ export const getAggregateQuery = (
6
+ name: string,
7
+ args: string,
8
+ aggregateFilter?: string,
9
+ aggregateOrderBy?: string,
10
+ ) =>
11
+ `${name}(${args}${aggregateOrderBy ? ` ${aggregateOrderBy}` : ""})${
12
+ aggregateFilter ? ` FILTER (WHERE ${aggregateFilter})` : ""
13
+ }`;
@@ -4,13 +4,15 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
 
6
6
  import type {
7
+ AnyObject,
7
8
  ColumnInfo,
9
+ OrderBy,
8
10
  PG_COLUMN_UDT_DATA_TYPE,
9
11
  Select,
10
12
  ValidatedColumnInfo,
11
13
  } from "prostgles-types";
12
- import { getKeys, isEmpty, isObject, postgresToTsType } from "prostgles-types";
13
- import type { PGIdentifier, SortItem } from "../DboBuilder";
14
+ import { getKeys, includes, isEmpty, isObject, postgresToTsType } from "prostgles-types";
15
+ import type { ExistsFilterConfig, PGIdentifier, SortItem } from "../DboBuilder";
14
16
 
15
17
  import type { Awaitable } from "../../PublishParser/publishTypesAndUtils";
16
18
  import { asNameAlias } from "../../utils/asNameAlias";
@@ -30,6 +32,8 @@ export type SelectItem = {
30
32
  tsDataType?: ValidatedColumnInfo["tsDataType"];
31
33
  alias: string;
32
34
  selected: boolean;
35
+ dependencyFields?: string[];
36
+ dependencyExists?: ExistsFilterConfig[];
33
37
  } & (
34
38
  | {
35
39
  type: "column";
@@ -87,6 +91,36 @@ export const parseFunctionObject = (funcData: unknown): { funcName: string; args
87
91
  return { funcName, args };
88
92
  };
89
93
 
94
+ type AggregateOptions = {
95
+ $filter?: AnyObject;
96
+ $orderBy?: OrderBy;
97
+ };
98
+
99
+ type ParsedAggregateOptions = {
100
+ filter?: string;
101
+ orderBy?: string;
102
+ dependencyFields: string[];
103
+ dependencyExists: ExistsFilterConfig[];
104
+ };
105
+
106
+ const aggregateOptionKeys = ["$filter", "$orderBy"] as const;
107
+ const parseSelectFunctionObject = (funcData: Record<string, unknown>) => {
108
+ const functionData = Object.fromEntries(
109
+ Object.entries(funcData).filter(([key]) => !includes(aggregateOptionKeys, key)),
110
+ );
111
+ return {
112
+ ...parseFunctionObject(functionData),
113
+ aggregateOptions: {
114
+ ...(funcData.$filter !== undefined && {
115
+ $filter: funcData.$filter as AnyObject,
116
+ }),
117
+ ...(funcData.$orderBy !== undefined && {
118
+ $orderBy: funcData.$orderBy as OrderBy,
119
+ }),
120
+ } satisfies AggregateOptions,
121
+ };
122
+ };
123
+
90
124
  export class SelectItemBuilder {
91
125
  select: SelectItemValidated[] = [];
92
126
  private allFields: string[];
@@ -97,6 +131,7 @@ export class SelectItemBuilder {
97
131
  private functions: FunctionSpec[];
98
132
  private allowedFieldsIncludingComputed: string[];
99
133
  private columns: ColumnInfo[];
134
+ private parseAggregateOptions?: (options: AggregateOptions) => Promise<ParsedAggregateOptions>;
100
135
 
101
136
  constructor(params: {
102
137
  allowedFields: string[];
@@ -106,6 +141,7 @@ export class SelectItemBuilder {
106
141
  allFields: string[];
107
142
  isView: boolean;
108
143
  columns: ColumnInfo[];
144
+ parseAggregateOptions?: (options: AggregateOptions) => Promise<ParsedAggregateOptions>;
109
145
  }) {
110
146
  this.allFields = params.allFields;
111
147
  this.allowedFields = params.allowedFields;
@@ -113,6 +149,7 @@ export class SelectItemBuilder {
113
149
  this.computedFields = params.computedFields;
114
150
  this.functions = params.functions;
115
151
  this.columns = params.columns;
152
+ this.parseAggregateOptions = params.parseAggregateOptions;
116
153
  this.allowedFieldsIncludingComputed = this.allowedFields.concat(
117
154
  this.computedFields.map((cf) => cf.name),
118
155
  );
@@ -164,7 +201,12 @@ export class SelectItemBuilder {
164
201
  this.select.push({ ...item, fields });
165
202
  };
166
203
 
167
- private addFunction = (func: FunctionSpec | string, args: any[], alias: string) => {
204
+ private addFunction = (
205
+ func: FunctionSpec | string,
206
+ args: any[],
207
+ alias: string,
208
+ aggregateOptions: AggregateOptions = {},
209
+ ): void | Promise<void> => {
168
210
  const funcDef = parseFunction({
169
211
  func,
170
212
  args,
@@ -172,6 +214,27 @@ export class SelectItemBuilder {
172
214
  allowedFields: this.allowedFieldsIncludingComputed,
173
215
  });
174
216
 
217
+ if (Object.keys(aggregateOptions).length) {
218
+ if (funcDef.type !== "aggregation") {
219
+ throw `Aggregate options $filter and $orderBy are only allowed on aggregate functions`;
220
+ }
221
+ if (!this.parseAggregateOptions) {
222
+ throw "Aggregate options are not supported in this query";
223
+ }
224
+ return this.parseAggregateOptions(aggregateOptions).then((parsedOptions) => {
225
+ this.addFunctionItem(funcDef, args, alias, parsedOptions);
226
+ });
227
+ }
228
+
229
+ this.addFunctionItem(funcDef, args, alias);
230
+ };
231
+
232
+ private addFunctionItem = (
233
+ funcDef: FunctionSpec,
234
+ args: any[],
235
+ alias: string,
236
+ aggregateOptions?: ParsedAggregateOptions,
237
+ ) => {
175
238
  const fieldFilter = funcDef.getFields(args);
176
239
  this.addItem({
177
240
  type: funcDef.type,
@@ -184,11 +247,15 @@ export class SelectItemBuilder {
184
247
  args,
185
248
  tableAliasRaw: tableAlias,
186
249
  ctidField: undefined,
250
+ aggregateFilter: aggregateOptions?.filter,
251
+ aggregateOrderBy: aggregateOptions?.orderBy,
187
252
 
188
253
  /* CTID not available in AFTER trigger */
189
254
  // ctidField: this.isView? undefined : "ctid"
190
255
  }),
191
256
  selected: true,
257
+ dependencyFields: aggregateOptions?.dependencyFields,
258
+ dependencyExists: aggregateOptions?.dependencyExists,
192
259
  });
193
260
  };
194
261
 
@@ -204,7 +271,7 @@ export class SelectItemBuilder {
204
271
  singleColArg: false,
205
272
  getFields: (_args: any[]) => [],
206
273
  };
207
- this.addFunction(cf, [], compCol.name);
274
+ void this.addFunction(cf, [], compCol.name);
208
275
  return;
209
276
  }
210
277
  }
@@ -271,14 +338,16 @@ export class SelectItemBuilder {
271
338
  } else {
272
339
  await Promise.all(
273
340
  selectKeys.map(async (key) => {
274
- const val: unknown = userSelect[key as keyof typeof userSelect];
341
+ const userSelectValue: unknown = userSelect[key as keyof typeof userSelect];
275
342
  const throwErr: (message: string) => never = (message) => {
276
343
  console.trace(message);
277
- throw "Unexpected select -> " + JSON.stringify({ [key]: val }) + "\n" + message;
344
+ throw (
345
+ "Unexpected select -> " + JSON.stringify({ [key]: userSelectValue }) + "\n" + message
346
+ );
278
347
  };
279
348
 
280
349
  /* Included fields */
281
- if ([1, true].includes(val as number | boolean)) {
350
+ if (userSelectValue === 1 || userSelectValue === true) {
282
351
  if (key === "*") {
283
352
  this.allowedFields.map((key) => this.addColumn(key, true));
284
353
  } else {
@@ -286,18 +355,26 @@ export class SelectItemBuilder {
286
355
  }
287
356
 
288
357
  /* Aggregations and functions */
289
- } else if (typeof val === "string" || isObject(val)) {
358
+ } else if (typeof userSelectValue === "string" || isObject(userSelectValue)) {
359
+ const functionEntries =
360
+ isObject(userSelectValue) ?
361
+ Object.entries(userSelectValue).filter(
362
+ ([key]) => !includes(aggregateOptionKeys, key),
363
+ )
364
+ : [];
290
365
  /* Function shorthand notation
291
366
  { id: "$max" } === { id: { $max: ["id"] } } === SELECT MAX(id) AS id
292
367
  */
293
368
  if (
294
- (typeof val === "string" && val !== "*") ||
295
- (isObject(val) &&
296
- Object.keys(val).length === 1 &&
297
- Array.isArray(Object.values(val)[0]))
369
+ (typeof userSelectValue === "string" && userSelectValue !== "*") ||
370
+ (isObject(userSelectValue) &&
371
+ functionEntries.length === 1 &&
372
+ Array.isArray(functionEntries[0]![1]))
298
373
  ) {
299
- let funcName: string | undefined, args: any[] | undefined;
300
- if (typeof val === "string") {
374
+ let funcName: string | undefined,
375
+ args: any[] | undefined,
376
+ aggregateOptions: AggregateOptions = {};
377
+ if (typeof userSelectValue === "string") {
301
378
  /* Shorthand notation -> it is expected that the key is the column name used as the only argument */
302
379
  try {
303
380
  this.checkField(key, true);
@@ -306,22 +383,22 @@ export class SelectItemBuilder {
306
383
  ` Shorthand function notation error: the specified column ( ${key} ) is invalid or disallowed. \n Use correct column name or full aliased function notation, e.g.: -> { alias: { $func_name: ["column_name"] } } `,
307
384
  );
308
385
  }
309
- funcName = val;
386
+ funcName = userSelectValue;
310
387
  args = [key];
311
388
 
312
389
  /** Function full notation { $funcName: ["colName", ...args] } */
313
390
  } else {
314
- ({ funcName, args } = parseFunctionObject(val));
391
+ ({ funcName, args, aggregateOptions } = parseSelectFunctionObject(userSelectValue));
315
392
  }
316
393
 
317
- this.addFunction(funcName, args, key);
394
+ await this.addFunction(funcName, args, key, aggregateOptions);
318
395
 
319
396
  /* Join */
320
397
  } else {
321
398
  if (!joinParse) {
322
399
  throw "Joins disallowed";
323
400
  }
324
- const joinSelect = val;
401
+ const joinSelect = userSelectValue;
325
402
 
326
403
  const parsedJoin = parseJoinSelect(joinSelect);
327
404