prostgles-server 4.2.187 → 4.2.189

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 (338) hide show
  1. package/.eslintignore +2 -1
  2. package/.eslintrc.json +2 -0
  3. package/dist/Auth/AuthHandler.d.ts +20 -11
  4. package/dist/Auth/AuthHandler.d.ts.map +1 -1
  5. package/dist/Auth/AuthHandler.js +98 -120
  6. package/dist/Auth/AuthHandler.js.map +1 -1
  7. package/dist/Auth/AuthTypes.d.ts +69 -71
  8. package/dist/Auth/AuthTypes.d.ts.map +1 -1
  9. package/dist/Auth/{setEmailProvider.d.ts → authProviders/setEmailProvider.d.ts} +1 -1
  10. package/dist/Auth/authProviders/setEmailProvider.d.ts.map +1 -0
  11. package/dist/Auth/authProviders/setEmailProvider.js +27 -0
  12. package/dist/Auth/authProviders/setEmailProvider.js.map +1 -0
  13. package/dist/Auth/authProviders/setOAuthProviders.d.ts +5 -0
  14. package/dist/Auth/authProviders/setOAuthProviders.d.ts.map +1 -0
  15. package/dist/Auth/authProviders/setOAuthProviders.js +78 -0
  16. package/dist/Auth/authProviders/setOAuthProviders.js.map +1 -0
  17. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.d.ts +7 -0
  18. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.d.ts.map +1 -0
  19. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.js +29 -0
  20. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.js.map +1 -0
  21. package/dist/Auth/endpoints/getRegisterRequestHandler.d.ts +7 -0
  22. package/dist/Auth/endpoints/getRegisterRequestHandler.d.ts.map +1 -0
  23. package/dist/Auth/endpoints/getRegisterRequestHandler.js +77 -0
  24. package/dist/Auth/endpoints/getRegisterRequestHandler.js.map +1 -0
  25. package/dist/Auth/setAuthProviders.d.ts.map +1 -1
  26. package/dist/Auth/setAuthProviders.js +4 -74
  27. package/dist/Auth/setAuthProviders.js.map +1 -1
  28. package/dist/Auth/setupAuthRoutes.d.ts.map +1 -1
  29. package/dist/Auth/setupAuthRoutes.js +23 -33
  30. package/dist/Auth/setupAuthRoutes.js.map +1 -1
  31. package/dist/Auth/utils/checkDmarc.d.ts +2 -0
  32. package/dist/Auth/utils/checkDmarc.d.ts.map +1 -0
  33. package/dist/Auth/utils/checkDmarc.js +22 -0
  34. package/dist/Auth/utils/checkDmarc.js.map +1 -0
  35. package/dist/Auth/utils/getClientRequestIPsInfo.d.ts +3 -0
  36. package/dist/Auth/utils/getClientRequestIPsInfo.d.ts.map +1 -0
  37. package/dist/Auth/utils/getClientRequestIPsInfo.js +29 -0
  38. package/dist/Auth/utils/getClientRequestIPsInfo.js.map +1 -0
  39. package/dist/Auth/utils/getReturnUrl.d.ts +3 -0
  40. package/dist/Auth/utils/getReturnUrl.d.ts.map +1 -0
  41. package/dist/Auth/utils/getReturnUrl.js +15 -0
  42. package/dist/Auth/utils/getReturnUrl.js.map +1 -0
  43. package/dist/Auth/utils/getSafeReturnURL.d.ts.map +1 -0
  44. package/dist/Auth/utils/getSafeReturnURL.js.map +1 -0
  45. package/dist/DBEventsManager.d.ts.map +1 -1
  46. package/dist/DBEventsManager.js +4 -5
  47. package/dist/DBEventsManager.js.map +1 -1
  48. package/dist/DBSchemaBuilder.js +1 -1
  49. package/dist/DBSchemaBuilder.js.map +1 -1
  50. package/dist/DboBuilder/DboBuilder.d.ts +0 -1
  51. package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
  52. package/dist/DboBuilder/DboBuilder.js +3 -12
  53. package/dist/DboBuilder/DboBuilder.js.map +1 -1
  54. package/dist/DboBuilder/DboBuilderTypes.d.ts +4 -4
  55. package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
  56. package/dist/DboBuilder/DboBuilderTypes.js.map +1 -1
  57. package/dist/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
  58. package/dist/DboBuilder/QueryBuilder/Functions.js +38 -76
  59. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  60. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
  61. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +4 -12
  62. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
  63. package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
  64. package/dist/DboBuilder/QueryBuilder/getNewQuery.js +23 -33
  65. package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
  66. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts +1 -1
  67. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts.map +1 -1
  68. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js +6 -6
  69. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
  70. package/dist/DboBuilder/QueryStreamer.d.ts.map +1 -1
  71. package/dist/DboBuilder/QueryStreamer.js +13 -19
  72. package/dist/DboBuilder/QueryStreamer.js.map +1 -1
  73. package/dist/DboBuilder/TableHandler/DataValidator.d.ts +1 -1
  74. package/dist/DboBuilder/TableHandler/DataValidator.d.ts.map +1 -1
  75. package/dist/DboBuilder/TableHandler/DataValidator.js +7 -16
  76. package/dist/DboBuilder/TableHandler/DataValidator.js.map +1 -1
  77. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  78. package/dist/DboBuilder/TableHandler/TableHandler.js +7 -5
  79. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  80. package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
  81. package/dist/DboBuilder/TableHandler/delete.js +5 -8
  82. package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
  83. package/dist/DboBuilder/TableHandler/insert.d.ts.map +1 -1
  84. package/dist/DboBuilder/TableHandler/insert.js +10 -15
  85. package/dist/DboBuilder/TableHandler/insert.js.map +1 -1
  86. package/dist/DboBuilder/TableHandler/insertTest.js +1 -1
  87. package/dist/DboBuilder/TableHandler/insertTest.js.map +1 -1
  88. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
  89. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +1 -1
  90. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
  91. package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
  92. package/dist/DboBuilder/TableHandler/update.js +5 -9
  93. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  94. package/dist/DboBuilder/TableHandler/updateFile.d.ts +1 -1
  95. package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
  96. package/dist/DboBuilder/TableHandler/updateFile.js +7 -9
  97. package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
  98. package/dist/DboBuilder/TableHandler/upsert.d.ts.map +1 -1
  99. package/dist/DboBuilder/TableHandler/upsert.js +1 -1
  100. package/dist/DboBuilder/TableHandler/upsert.js.map +1 -1
  101. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
  102. package/dist/DboBuilder/ViewHandler/ViewHandler.js +11 -13
  103. package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
  104. package/dist/DboBuilder/ViewHandler/count.js +1 -1
  105. package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
  106. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  107. package/dist/DboBuilder/ViewHandler/find.js +20 -27
  108. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  109. package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts.map +1 -1
  110. package/dist/DboBuilder/ViewHandler/getExistsCondition.js +4 -10
  111. package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
  112. package/dist/DboBuilder/ViewHandler/getInfo.js +2 -2
  113. package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
  114. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
  115. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +6 -22
  116. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
  117. package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts.map +1 -1
  118. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js +6 -10
  119. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js.map +1 -1
  120. package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts.map +1 -1
  121. package/dist/DboBuilder/ViewHandler/parseJoinPath.js +8 -11
  122. package/dist/DboBuilder/ViewHandler/parseJoinPath.js.map +1 -1
  123. package/dist/DboBuilder/ViewHandler/prepareSortItems.d.ts.map +1 -1
  124. package/dist/DboBuilder/ViewHandler/prepareSortItems.js +7 -12
  125. package/dist/DboBuilder/ViewHandler/prepareSortItems.js.map +1 -1
  126. package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts.map +1 -1
  127. package/dist/DboBuilder/ViewHandler/prepareWhere.js +6 -10
  128. package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
  129. package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
  130. package/dist/DboBuilder/dboBuilderUtils.js +8 -23
  131. package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
  132. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  133. package/dist/DboBuilder/getColumns.js +19 -26
  134. package/dist/DboBuilder/getColumns.js.map +1 -1
  135. package/dist/DboBuilder/getCondition.d.ts.map +1 -1
  136. package/dist/DboBuilder/getCondition.js +7 -9
  137. package/dist/DboBuilder/getCondition.js.map +1 -1
  138. package/dist/DboBuilder/getSubscribeRelatedTables.js +2 -2
  139. package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
  140. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +1 -1
  141. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js +14 -15
  142. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js.map +1 -1
  143. package/dist/DboBuilder/insertNestedRecords.d.ts.map +1 -1
  144. package/dist/DboBuilder/insertNestedRecords.js +26 -40
  145. package/dist/DboBuilder/insertNestedRecords.js.map +1 -1
  146. package/dist/DboBuilder/parseUpdateRules.js +1 -1
  147. package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
  148. package/dist/DboBuilder/prepareShortestJoinPaths.d.ts.map +1 -1
  149. package/dist/DboBuilder/prepareShortestJoinPaths.js +12 -18
  150. package/dist/DboBuilder/prepareShortestJoinPaths.js.map +1 -1
  151. package/dist/DboBuilder/runSQL.d.ts +1 -1
  152. package/dist/DboBuilder/runSQL.d.ts.map +1 -1
  153. package/dist/DboBuilder/runSQL.js +14 -27
  154. package/dist/DboBuilder/runSQL.js.map +1 -1
  155. package/dist/DboBuilder/uploadFile.d.ts +1 -1
  156. package/dist/DboBuilder/uploadFile.d.ts.map +1 -1
  157. package/dist/DboBuilder/uploadFile.js +4 -11
  158. package/dist/DboBuilder/uploadFile.js.map +1 -1
  159. package/dist/FileManager/FileManager.d.ts.map +1 -1
  160. package/dist/FileManager/FileManager.js +11 -13
  161. package/dist/FileManager/FileManager.js.map +1 -1
  162. package/dist/FileManager/initFileManager.d.ts.map +1 -1
  163. package/dist/FileManager/initFileManager.js +60 -62
  164. package/dist/FileManager/initFileManager.js.map +1 -1
  165. package/dist/FileManager/uploadStream.js +2 -2
  166. package/dist/FileManager/uploadStream.js.map +1 -1
  167. package/dist/Filtering.d.ts +1 -1
  168. package/dist/Filtering.d.ts.map +1 -1
  169. package/dist/Filtering.js +12 -35
  170. package/dist/Filtering.js.map +1 -1
  171. package/dist/JSONBValidation/validation.d.ts.map +1 -1
  172. package/dist/JSONBValidation/validation.js +20 -26
  173. package/dist/JSONBValidation/validation.js.map +1 -1
  174. package/dist/Logging.d.ts +1 -0
  175. package/dist/Logging.d.ts.map +1 -1
  176. package/dist/PostgresNotifListenManager.d.ts.map +1 -1
  177. package/dist/PostgresNotifListenManager.js +1 -5
  178. package/dist/PostgresNotifListenManager.js.map +1 -1
  179. package/dist/Prostgles.d.ts +1 -1
  180. package/dist/Prostgles.d.ts.map +1 -1
  181. package/dist/Prostgles.js +18 -33
  182. package/dist/Prostgles.js.map +1 -1
  183. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  184. package/dist/PubSubManager/PubSubManager.js +8 -13
  185. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  186. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  187. package/dist/PubSubManager/addSub.js +1 -1
  188. package/dist/PubSubManager/addSub.js.map +1 -1
  189. package/dist/PubSubManager/addSync.d.ts.map +1 -1
  190. package/dist/PubSubManager/addSync.js +4 -7
  191. package/dist/PubSubManager/addSync.js.map +1 -1
  192. package/dist/PubSubManager/getCreatePubSubManagerError.js +6 -6
  193. package/dist/PubSubManager/getCreatePubSubManagerError.js.map +1 -1
  194. package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
  195. package/dist/PubSubManager/initPubSubManager.js +2 -3
  196. package/dist/PubSubManager/initPubSubManager.js.map +1 -1
  197. package/dist/PubSubManager/pushSubData.d.ts.map +1 -1
  198. package/dist/PubSubManager/pushSubData.js +0 -2
  199. package/dist/PubSubManager/pushSubData.js.map +1 -1
  200. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  201. package/dist/PublishParser/PublishParser.js +8 -13
  202. package/dist/PublishParser/PublishParser.js.map +1 -1
  203. package/dist/PublishParser/getFileTableRules.js +1 -1
  204. package/dist/PublishParser/getFileTableRules.js.map +1 -1
  205. package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
  206. package/dist/PublishParser/getSchemaFromPublish.js +6 -13
  207. package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
  208. package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +1 -1
  209. package/dist/PublishParser/getTableRulesWithoutFileTable.js +14 -19
  210. package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +1 -1
  211. package/dist/RestApi.d.ts +1 -1
  212. package/dist/RestApi.d.ts.map +1 -1
  213. package/dist/RestApi.js +2 -2
  214. package/dist/RestApi.js.map +1 -1
  215. package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -1
  216. package/dist/SchemaWatch/SchemaWatch.js +2 -2
  217. package/dist/SchemaWatch/SchemaWatch.js.map +1 -1
  218. package/dist/SyncReplication.d.ts.map +1 -1
  219. package/dist/SyncReplication.js +31 -41
  220. package/dist/SyncReplication.js.map +1 -1
  221. package/dist/TableConfig/TableConfig.d.ts.map +1 -1
  222. package/dist/TableConfig/TableConfig.js +7 -9
  223. package/dist/TableConfig/TableConfig.js.map +1 -1
  224. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
  225. package/dist/TableConfig/getConstraintDefinitionQueries.js +1 -6
  226. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  227. package/dist/TableConfig/getFutureTableSchema.d.ts.map +1 -1
  228. package/dist/TableConfig/getFutureTableSchema.js +16 -28
  229. package/dist/TableConfig/getFutureTableSchema.js.map +1 -1
  230. package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -1
  231. package/dist/TableConfig/getTableColumnQueries.js +5 -9
  232. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  233. package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
  234. package/dist/TableConfig/initTableConfig.js +22 -25
  235. package/dist/TableConfig/initTableConfig.js.map +1 -1
  236. package/dist/initProstgles.js +1 -1
  237. package/dist/initProstgles.js.map +1 -1
  238. package/dist/onSocketConnected.d.ts.map +1 -1
  239. package/dist/onSocketConnected.js +2 -4
  240. package/dist/onSocketConnected.js.map +1 -1
  241. package/dist/runClientRequest.d.ts.map +1 -1
  242. package/dist/runClientRequest.js +14 -13
  243. package/dist/runClientRequest.js.map +1 -1
  244. package/lib/Auth/AuthHandler.ts +114 -135
  245. package/lib/Auth/AuthTypes.ts +96 -81
  246. package/lib/Auth/authProviders/setEmailProvider.ts +29 -0
  247. package/lib/Auth/authProviders/setOAuthProviders.ts +97 -0
  248. package/lib/Auth/endpoints/getConfirmEmailRequestHandler.ts +39 -0
  249. package/lib/Auth/endpoints/getRegisterRequestHandler.ts +88 -0
  250. package/lib/Auth/setAuthProviders.ts +8 -111
  251. package/lib/Auth/setupAuthRoutes.ts +105 -148
  252. package/lib/Auth/utils/checkDmarc.ts +19 -0
  253. package/lib/Auth/utils/getClientRequestIPsInfo.ts +25 -0
  254. package/lib/Auth/utils/getReturnUrl.ts +13 -0
  255. package/lib/DBEventsManager.ts +12 -26
  256. package/lib/DBSchemaBuilder.ts +1 -1
  257. package/lib/DboBuilder/DboBuilder.ts +23 -52
  258. package/lib/DboBuilder/DboBuilderTypes.ts +9 -23
  259. package/lib/DboBuilder/QueryBuilder/Functions.ts +86 -188
  260. package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +11 -36
  261. package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +102 -129
  262. package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +14 -27
  263. package/lib/DboBuilder/QueryStreamer.ts +26 -57
  264. package/lib/DboBuilder/TableHandler/DataValidator.ts +58 -90
  265. package/lib/DboBuilder/TableHandler/TableHandler.ts +19 -45
  266. package/lib/DboBuilder/TableHandler/delete.ts +9 -18
  267. package/lib/DboBuilder/TableHandler/insert.ts +18 -31
  268. package/lib/DboBuilder/TableHandler/insertTest.ts +1 -1
  269. package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +8 -19
  270. package/lib/DboBuilder/TableHandler/update.ts +17 -46
  271. package/lib/DboBuilder/TableHandler/updateFile.ts +18 -21
  272. package/lib/DboBuilder/TableHandler/upsert.ts +7 -24
  273. package/lib/DboBuilder/ViewHandler/ViewHandler.ts +13 -15
  274. package/lib/DboBuilder/ViewHandler/count.ts +1 -1
  275. package/lib/DboBuilder/ViewHandler/find.ts +28 -35
  276. package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +8 -30
  277. package/lib/DboBuilder/ViewHandler/getInfo.ts +2 -2
  278. package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +16 -32
  279. package/lib/DboBuilder/ViewHandler/parseFieldFilter.ts +9 -16
  280. package/lib/DboBuilder/ViewHandler/parseJoinPath.ts +26 -44
  281. package/lib/DboBuilder/ViewHandler/prepareSortItems.ts +58 -82
  282. package/lib/DboBuilder/ViewHandler/prepareWhere.ts +14 -27
  283. package/lib/DboBuilder/dboBuilderUtils.ts +19 -46
  284. package/lib/DboBuilder/getColumns.ts +24 -46
  285. package/lib/DboBuilder/getCondition.ts +18 -30
  286. package/lib/DboBuilder/getSubscribeRelatedTables.ts +2 -2
  287. package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +44 -62
  288. package/lib/DboBuilder/insertNestedRecords.ts +67 -135
  289. package/lib/DboBuilder/parseUpdateRules.ts +1 -1
  290. package/lib/DboBuilder/prepareShortestJoinPaths.ts +23 -58
  291. package/lib/DboBuilder/runSQL.ts +41 -76
  292. package/lib/DboBuilder/uploadFile.ts +26 -37
  293. package/lib/FileManager/FileManager.ts +27 -58
  294. package/lib/FileManager/initFileManager.ts +68 -76
  295. package/lib/FileManager/uploadStream.ts +2 -2
  296. package/lib/Filtering.ts +30 -87
  297. package/lib/JSONBValidation/validation.ts +36 -75
  298. package/lib/Logging.ts +1 -1
  299. package/lib/PostgresNotifListenManager.ts +11 -35
  300. package/lib/Prostgles.ts +42 -100
  301. package/lib/PubSubManager/PubSubManager.ts +30 -66
  302. package/lib/PubSubManager/addSub.ts +11 -18
  303. package/lib/PubSubManager/addSync.ts +5 -12
  304. package/lib/PubSubManager/getCreatePubSubManagerError.ts +9 -9
  305. package/lib/PubSubManager/initPubSubManager.ts +7 -13
  306. package/lib/PubSubManager/pushSubData.ts +1 -7
  307. package/lib/PublishParser/PublishParser.ts +8 -12
  308. package/lib/PublishParser/getFileTableRules.ts +1 -1
  309. package/lib/PublishParser/getSchemaFromPublish.ts +26 -42
  310. package/lib/PublishParser/getTableRulesWithoutFileTable.ts +22 -37
  311. package/lib/RestApi.ts +4 -12
  312. package/lib/SchemaWatch/SchemaWatch.ts +11 -24
  313. package/lib/SyncReplication.ts +96 -190
  314. package/lib/TableConfig/TableConfig.ts +16 -38
  315. package/lib/TableConfig/getConstraintDefinitionQueries.ts +2 -8
  316. package/lib/TableConfig/getFutureTableSchema.ts +20 -34
  317. package/lib/TableConfig/getTableColumnQueries.ts +13 -35
  318. package/lib/TableConfig/initTableConfig.ts +40 -64
  319. package/lib/initProstgles.ts +1 -1
  320. package/lib/onSocketConnected.ts +8 -12
  321. package/lib/runClientRequest.ts +31 -54
  322. package/package.json +2 -2
  323. package/dist/Auth/getSafeReturnURL.d.ts.map +0 -1
  324. package/dist/Auth/getSafeReturnURL.js.map +0 -1
  325. package/dist/Auth/setEmailProvider.d.ts.map +0 -1
  326. package/dist/Auth/setEmailProvider.js +0 -133
  327. package/dist/Auth/setEmailProvider.js.map +0 -1
  328. package/dist/DboBuilder/runTransaction.d.ts +0 -9
  329. package/dist/DboBuilder/runTransaction.d.ts.map +0 -1
  330. package/dist/DboBuilder/runTransaction.js +0 -49
  331. package/dist/DboBuilder/runTransaction.js.map +0 -1
  332. package/lib/Auth/setEmailProvider.ts +0 -132
  333. package/lib/DboBuilder/QueryBuilder/prepareHaving.ts +0 -27
  334. package/lib/DboBuilder/runTransaction.ts +0 -61
  335. package/lib/SchemaWatch/createSchemaWatchEventTrigger.ts +0 -3
  336. /package/dist/Auth/{getSafeReturnURL.d.ts → utils/getSafeReturnURL.d.ts} +0 -0
  337. /package/dist/Auth/{getSafeReturnURL.js → utils/getSafeReturnURL.js} +0 -0
  338. /package/lib/Auth/{getSafeReturnURL.ts → utils/getSafeReturnURL.ts} +0 -0
@@ -18,12 +18,7 @@ import { isPlainObject, postgresToTsType, SortItem } from "../DboBuilder";
18
18
 
19
19
  import { ParsedJoinPath } from "../ViewHandler/parseJoinPath";
20
20
  import { ViewHandler } from "../ViewHandler/ViewHandler";
21
- import {
22
- COMPUTED_FIELDS,
23
- FieldSpec,
24
- FunctionSpec,
25
- parseFunction,
26
- } from "./Functions";
21
+ import { COMPUTED_FIELDS, FieldSpec, FunctionSpec, parseFunction } from "./Functions";
27
22
 
28
23
  export type SelectItem = {
29
24
  getFields: (args?: any[]) => string[] | "*";
@@ -81,9 +76,7 @@ export const asNameAlias = (field: string, tableAlias?: string) => {
81
76
  return result;
82
77
  };
83
78
 
84
- export const parseFunctionObject = (
85
- funcData: any,
86
- ): { funcName: string; args: any[] } => {
79
+ export const parseFunctionObject = (funcData: any): { funcName: string; args: any[] } => {
87
80
  const makeErr = (msg: string) =>
88
81
  `Function not specified correctly. Expecting { $funcName: ["columnName" | <value>, ...args] } object but got: ${JSON.stringify(funcData)} \n ${msg}`;
89
82
  if (!isObject(funcData)) throw makeErr("");
@@ -127,7 +120,7 @@ export class SelectItemBuilder {
127
120
  this.functions = params.functions;
128
121
  this.columns = params.columns;
129
122
  this.allowedFieldsIncludingComputed = this.allowedFields.concat(
130
- this.computedFields ? this.computedFields.map((cf) => cf.name) : [],
123
+ this.computedFields.map((cf) => cf.name)
131
124
  );
132
125
  if (!this.allowedFields.length) {
133
126
  if (!this.columns.length) {
@@ -138,7 +131,7 @@ export class SelectItemBuilder {
138
131
 
139
132
  /* Check for conflicting computed column names */
140
133
  const conflictingCol = this.allFields.find((fieldName) =>
141
- this.computedFields.find((cf) => cf.name === fieldName),
134
+ this.computedFields.find((cf) => cf.name === fieldName)
142
135
  );
143
136
  if (conflictingCol) {
144
137
  throw (
@@ -157,15 +150,10 @@ export class SelectItemBuilder {
157
150
  ];
158
151
 
159
152
  /** Not selected items can be part of the orderBy fields */
160
- const allowedFields = isSelected
161
- ? allowedSelectedFields
162
- : allowedNonSelectedFields;
153
+ const allowedFields = isSelected ? allowedSelectedFields : allowedNonSelectedFields;
163
154
  if (!allowedFields.includes(f)) {
164
155
  throw (
165
- "Field " +
166
- f +
167
- " is invalid or dissallowed. \nAllowed fields: " +
168
- allowedFields.join(", ")
156
+ "Field " + f + " is invalid or dissallowed. \nAllowed fields: " + allowedFields.join(", ")
169
157
  );
170
158
  }
171
159
  return f;
@@ -183,11 +171,7 @@ export class SelectItemBuilder {
183
171
  this.select.push({ ...item, fields });
184
172
  };
185
173
 
186
- private addFunction = (
187
- func: FunctionSpec | string,
188
- args: any[],
189
- alias: string,
190
- ) => {
174
+ private addFunction = (func: FunctionSpec | string, args: any[], alias: string) => {
191
175
  const funcDef = parseFunction({
192
176
  func,
193
177
  args,
@@ -248,11 +232,7 @@ export class SelectItemBuilder {
248
232
 
249
233
  parseUserSelect = async (
250
234
  userSelect: Select,
251
- joinParse?: (
252
- key: string,
253
- val: JoinSelect,
254
- throwErr: (msg: string) => any,
255
- ) => any,
235
+ joinParse?: (key: string, val: JoinSelect, throwErr: (msg: string) => any) => any
256
236
  ) => {
257
237
  /* [col1, col2, col3] */
258
238
  if (Array.isArray(userSelect)) {
@@ -286,12 +266,7 @@ export class SelectItemBuilder {
286
266
  const val: any = userSelect[key as keyof typeof userSelect],
287
267
  throwErr = (extraErr = "") => {
288
268
  console.trace(extraErr);
289
- throw (
290
- "Unexpected select -> " +
291
- JSON.stringify({ [key]: val }) +
292
- "\n" +
293
- extraErr
294
- );
269
+ throw "Unexpected select -> " + JSON.stringify({ [key]: val }) + "\n" + extraErr;
295
270
  };
296
271
 
297
272
  /* Included fields */
@@ -320,7 +295,7 @@ export class SelectItemBuilder {
320
295
  this.checkField(key, true);
321
296
  } catch (err) {
322
297
  throwErr(
323
- ` Shorthand function notation error: the specifield column ( ${key} ) is invalid or dissallowed. \n Use correct column name or full aliased function notation, e.g.: -> { alias: { $func_name: ["column_name"] } } `,
298
+ ` Shorthand function notation error: the specifield column ( ${key} ) is invalid or dissallowed. \n Use correct column name or full aliased function notation, e.g.: -> { alias: { $func_name: ["column_name"] } } `
324
299
  );
325
300
  }
326
301
  funcName = val;
@@ -341,7 +316,7 @@ export class SelectItemBuilder {
341
316
  await joinParse(key, val as JoinSelect, throwErr);
342
317
  }
343
318
  } else throwErr();
344
- }),
319
+ })
345
320
  );
346
321
  }
347
322
  } else throw "Unexpected select -> " + JSON.stringify(userSelect);
@@ -27,10 +27,7 @@ const JOIN_PARAM_KEYS = getKeys({
27
27
  offset: 1,
28
28
  orderBy: 1,
29
29
  select: 1,
30
- } satisfies Record<
31
- keyof Omit<DetailedJoinSelect, (typeof JOIN_KEYS)[number]>,
32
- 1
33
- >);
30
+ } satisfies Record<keyof Omit<DetailedJoinSelect, (typeof JOIN_KEYS)[number]>, 1>);
34
31
 
35
32
  type ParsedJoin =
36
33
  | {
@@ -58,18 +55,15 @@ const parseJoinSelect = (joinParams: string | JoinSelect): ParsedJoin => {
58
55
  params: joinParams,
59
56
  };
60
57
  }
61
- const [joinKey, ...otherKeys] = getKeys(joinParams).filter((k) =>
62
- JOIN_KEYS.includes(k as any),
63
- );
58
+ const [joinKey, ...otherKeys] = getKeys(joinParams).filter((k) => JOIN_KEYS.includes(k as any));
64
59
  if (otherKeys.length) {
65
60
  return {
66
- error:
67
- "Cannot specify more than one join type ( $innerJoin OR $leftJoin )",
61
+ error: "Cannot specify more than one join type ( $innerJoin OR $leftJoin )",
68
62
  };
69
63
  } else if (joinKey) {
70
64
  /* Full option join { field_name: db.innerJoin.table_name(filter, select) } */
71
65
  const invalidParams = Object.keys(joinParams).filter(
72
- (k) => ![...JOIN_PARAM_KEYS, ...JOIN_KEYS].includes(k as any),
66
+ (k) => ![...JOIN_PARAM_KEYS, ...JOIN_KEYS].includes(k as any)
73
67
  );
74
68
  if (invalidParams.length) {
75
69
  throw "Invalid join params: " + invalidParams.join(", ");
@@ -100,7 +94,7 @@ export async function getNewQuery(
100
94
  selectParams: SelectParams & { alias?: string } = {},
101
95
  param3_unused = null,
102
96
  tableRules: TableRule | undefined,
103
- localParams: LocalParams | undefined,
97
+ localParams: LocalParams | undefined
104
98
  ): Promise<NewQuery> {
105
99
  const { columns } = _this;
106
100
 
@@ -108,14 +102,12 @@ export async function getNewQuery(
108
102
  throw `INTERNAL ERROR: publish.${_this.name}.select.fields rule missing`;
109
103
  }
110
104
 
111
- const allowedOrderByFields = !tableRules
112
- ? _this.column_names.slice(0)
113
- : _this.parseFieldFilter(
114
- tableRules?.select?.orderByFields ?? tableRules?.select?.fields,
115
- );
116
- const allowedSelectFields = !tableRules
117
- ? _this.column_names.slice(0)
118
- : _this.parseFieldFilter(tableRules?.select?.fields);
105
+ const allowedOrderByFields =
106
+ !tableRules ?
107
+ _this.column_names.slice(0)
108
+ : _this.parseFieldFilter(tableRules.select?.orderByFields ?? tableRules.select?.fields);
109
+ const allowedSelectFields =
110
+ !tableRules ? _this.column_names.slice(0) : _this.parseFieldFilter(tableRules.select?.fields);
119
111
 
120
112
  const joinQueries: NewQueryJoin[] = [];
121
113
 
@@ -130,106 +122,96 @@ export async function getNewQuery(
130
122
  columns,
131
123
  });
132
124
 
133
- await sBuilder.parseUserSelect(
134
- userSelect,
135
- async (fTable, _joinParams, throwErr) => {
136
- const j_selectParams: SelectParams = {};
137
- let j_filter: Filter = {},
138
- j_isLeftJoin = true,
139
- j_tableRules: TableRule | undefined;
140
- const j_alias = fTable;
125
+ await sBuilder.parseUserSelect(userSelect, async (fTable, _joinParams, throwErr) => {
126
+ const j_selectParams: SelectParams = {};
127
+ let j_filter: Filter = {},
128
+ j_isLeftJoin = true,
129
+ j_tableRules: TableRule | undefined;
130
+ const j_alias = fTable;
141
131
 
142
- const parsedJoin = parseJoinSelect(_joinParams);
132
+ const parsedJoin = parseJoinSelect(_joinParams);
143
133
 
144
- if (!parsedJoin.type) {
145
- throwErr(parsedJoin.error);
146
- return;
147
- }
148
- const j_path = parseJoinPath({
149
- rawPath: parsedJoin.type === "simple" ? fTable : parsedJoin.params.path,
150
- rootTable: _this.name,
151
- viewHandler: _this,
152
- allowMultiOrJoin: true,
153
- addShortestJoinIfMissing: true,
154
- });
134
+ if (!parsedJoin.type) {
135
+ throwErr(parsedJoin.error);
136
+ return;
137
+ }
138
+ const j_path = parseJoinPath({
139
+ rawPath: parsedJoin.type === "simple" ? fTable : parsedJoin.params.path,
140
+ rootTable: _this.name,
141
+ viewHandler: _this,
142
+ allowMultiOrJoin: true,
143
+ addShortestJoinIfMissing: true,
144
+ });
155
145
 
156
- if (parsedJoin.params === "*") {
157
- j_selectParams.select = "*";
158
- } else if (parsedJoin.type === "detailed") {
159
- const joinParams = parsedJoin.params;
146
+ if (parsedJoin.params === "*") {
147
+ j_selectParams.select = "*";
148
+ } else if (parsedJoin.type === "detailed") {
149
+ const joinParams = parsedJoin.params;
160
150
 
161
- j_isLeftJoin = !!joinParams.$leftJoin;
151
+ j_isLeftJoin = !!joinParams.$leftJoin;
162
152
 
163
- j_selectParams.select = joinParams.select || "*";
164
- j_filter = joinParams.filter || {};
165
- j_selectParams.limit = joinParams.limit;
166
- j_selectParams.offset = joinParams.offset;
167
- j_selectParams.orderBy = joinParams.orderBy;
168
- j_selectParams.having = joinParams.having;
169
- } else {
170
- j_selectParams.select = parsedJoin.params;
171
- }
153
+ j_selectParams.select = joinParams.select || "*";
154
+ j_filter = joinParams.filter || {};
155
+ j_selectParams.limit = joinParams.limit;
156
+ j_selectParams.offset = joinParams.offset;
157
+ j_selectParams.orderBy = joinParams.orderBy;
158
+ j_selectParams.having = joinParams.having;
159
+ } else {
160
+ j_selectParams.select = parsedJoin.params;
161
+ }
172
162
 
173
- const jTable =
174
- parsedJoin.type === "simple"
175
- ? fTable
176
- : typeof j_path === "string"
177
- ? j_path
178
- : j_path?.at(-1)?.table;
179
- if (!jTable) {
180
- throw "jTable missing";
181
- }
182
- const _thisJoinedTable: any = _this.dboBuilder.dbo[jTable];
183
- if (!_thisJoinedTable) {
184
- throw `Joined table ${JSON.stringify(jTable)} is disallowed or inexistent \nOr you've forgot to put the function arguments into an array`;
185
- }
163
+ const jTable =
164
+ parsedJoin.type === "simple" ? fTable
165
+ : typeof j_path === "string" ? j_path
166
+ : j_path.at(-1)?.table;
167
+ if (!jTable) {
168
+ throw "jTable missing";
169
+ }
170
+ const _thisJoinedTable: any = _this.dboBuilder.dbo[jTable];
171
+ if (!_thisJoinedTable) {
172
+ throw `Joined table ${JSON.stringify(jTable)} is disallowed or inexistent \nOr you've forgot to put the function arguments into an array`;
173
+ }
186
174
 
187
- let isLocal = true;
188
- if (localParams && (localParams.socket || localParams.httpReq)) {
189
- isLocal = false;
190
- j_tableRules =
191
- await _this.dboBuilder.publishParser?.getValidatedRequestRuleWusr({
192
- tableName: jTable,
193
- command: "find",
194
- localParams,
195
- });
196
- }
175
+ let isLocal = true;
176
+ if (localParams && (localParams.socket || localParams.httpReq)) {
177
+ isLocal = false;
178
+ j_tableRules = await _this.dboBuilder.publishParser?.getValidatedRequestRuleWusr({
179
+ tableName: jTable,
180
+ command: "find",
181
+ localParams,
182
+ });
183
+ }
197
184
 
198
- const isAllowedAccessToTable = isLocal || j_tableRules;
199
- if (isAllowedAccessToTable) {
200
- const joinQuery: NewQuery = await getNewQuery(
201
- _thisJoinedTable,
202
- j_filter,
203
- { ...j_selectParams, alias: j_alias },
204
- param3_unused,
205
- j_tableRules,
206
- localParams,
207
- );
208
- joinQuery.isLeftJoin = j_isLeftJoin;
209
- joinQuery.tableAlias = j_alias;
210
- joinQueries.push({
211
- ...joinQuery,
212
- joinPath: j_path,
213
- joinAlias: joinQuery.tableAlias ?? joinQuery.table,
214
- });
215
- }
216
- },
217
- );
185
+ const isAllowedAccessToTable = isLocal || j_tableRules;
186
+ if (isAllowedAccessToTable) {
187
+ const joinQuery: NewQuery = await getNewQuery(
188
+ _thisJoinedTable,
189
+ j_filter,
190
+ { ...j_selectParams, alias: j_alias },
191
+ param3_unused,
192
+ j_tableRules,
193
+ localParams
194
+ );
195
+ joinQuery.isLeftJoin = j_isLeftJoin;
196
+ joinQuery.tableAlias = j_alias;
197
+ joinQueries.push({
198
+ ...joinQuery,
199
+ joinPath: j_path,
200
+ joinAlias: joinQuery.tableAlias ?? joinQuery.table,
201
+ });
202
+ }
203
+ });
218
204
 
219
205
  /**
220
206
  * Is this still needed?!!!
221
207
  * Add non selected columns
222
208
  * This ensures all fields are available for orderBy in case of nested select
223
209
  * */
224
- Array.from(new Set([...allowedSelectFields, ...allowedOrderByFields])).map(
225
- (key) => {
226
- if (
227
- !sBuilder.select.find((s) => s.alias === key && s.type === "column")
228
- ) {
229
- sBuilder.addColumn(key, false);
230
- }
231
- },
232
- );
210
+ Array.from(new Set([...allowedSelectFields, ...allowedOrderByFields])).map((key) => {
211
+ if (!sBuilder.select.find((s) => s.alias === key && s.type === "column")) {
212
+ sBuilder.addColumn(key, false);
213
+ }
214
+ });
233
215
 
234
216
  const select = sBuilder.select;
235
217
 
@@ -248,8 +230,9 @@ export async function getNewQuery(
248
230
  ...commonWhereParams,
249
231
  isHaving: false,
250
232
  });
251
- const havingOpts = !isEmpty(selectParams.having)
252
- ? await _this.prepareWhere({
233
+ const havingOpts =
234
+ !isEmpty(selectParams.having) ?
235
+ await _this.prepareWhere({
253
236
  ...omitKeys(commonWhereParams, ["forcedFilter"]),
254
237
  filter: selectParams.having,
255
238
  isHaving: true,
@@ -273,15 +256,12 @@ export async function getNewQuery(
273
256
  allowedOrderByFields,
274
257
  selectParams.alias,
275
258
  select,
276
- joinQueries,
259
+ joinQueries
277
260
  ),
278
261
  offset: prepareOffsetQuery(selectParams.offset),
279
262
  };
280
263
 
281
- if (
282
- resQuery.select.some((s) => s.type === "aggregation") &&
283
- resQuery.joins?.length
284
- ) {
264
+ if (resQuery.select.some((s) => s.type === "aggregation") && resQuery.joins?.length) {
285
265
  throw new Error(`Root query aggregation AND nested joins not allowed`);
286
266
  }
287
267
 
@@ -298,32 +278,25 @@ const prepareOffsetQuery = (offset?: number) => {
298
278
 
299
279
  const prepareLimitQuery = (
300
280
  limit: number | null | undefined = null,
301
- p: ValidatedTableRules,
281
+ p: ValidatedTableRules
302
282
  ): number | null => {
303
- if (limit !== undefined && limit !== null && !Number.isInteger(limit)) {
283
+ if (limit !== null && !Number.isInteger(limit)) {
304
284
  throw "Unexpected LIMIT. Must be null or an integer";
305
285
  }
306
286
 
287
+ if (!p.select) {
288
+ throw "select missing";
289
+ }
290
+
307
291
  let _limit = limit;
308
292
  /* If no limit then set as the lesser of (100, maxLimit) */
309
- if (
310
- _limit !== null &&
311
- !Number.isInteger(_limit) &&
312
- p.select.maxLimit !== null
313
- ) {
314
- _limit = [100, p.select.maxLimit]
315
- .filter(Number.isInteger)
316
- .sort((a, b) => a - b)[0]!;
293
+ if (_limit !== null && !Number.isInteger(_limit) && p.select.maxLimit !== null) {
294
+ _limit = [100, p.select.maxLimit].filter(Number.isInteger).sort((a, b) => a - b)[0]!;
317
295
  } else {
318
296
  /* If a limit higher than maxLimit specified throw error */
319
- if (
320
- Number.isInteger(p.select.maxLimit) &&
321
- _limit !== null &&
322
- _limit > p.select.maxLimit!
323
- ) {
297
+ if (Number.isInteger(p.select.maxLimit) && _limit !== null && _limit > p.select.maxLimit!) {
324
298
  throw (
325
- `Unexpected LIMIT ${_limit}. Must be less than the published maxLimit: ` +
326
- p.select.maxLimit
299
+ `Unexpected LIMIT ${_limit}. Must be less than the published maxLimit: ` + p.select.maxLimit
327
300
  );
328
301
  }
329
302
  }
@@ -18,13 +18,11 @@ export function getSelectQuery(
18
18
  viewHandler: ViewHandler,
19
19
  q: NewQuery,
20
20
  depth = 0,
21
- selectParamsGroupBy: boolean,
21
+ selectParamsGroupBy: boolean
22
22
  ): string {
23
23
  const rootSelect = q.select
24
24
  .filter((s) => s.selected)
25
- .map((s) =>
26
- [s.getQuery(ROOT_TABLE_ALIAS), " AS ", asName(s.alias)].join(""),
27
- );
25
+ .map((s) => [s.getQuery(ROOT_TABLE_ALIAS), " AS ", asName(s.alias)].join(""));
28
26
 
29
27
  const parsedJoins =
30
28
  q.joins?.flatMap((q2) => {
@@ -40,21 +38,21 @@ export function getSelectQuery(
40
38
  }) ?? [];
41
39
 
42
40
  const selectItems = rootSelect.concat(
43
- parsedJoins?.map((join) => {
41
+ parsedJoins.map((join) => {
44
42
  const { joinAlias } = join;
45
43
  return `COALESCE(${asName(joinAlias)}.${join.resultAlias}, '[]') as ${asName(joinAlias)}`;
46
- }) ?? [],
44
+ })
47
45
  );
48
46
 
49
47
  /** OR joins cannot be easily aggregated to one-many with the root table. Must group by root table id */
50
48
  const hasOrJoins = parsedJoins.some((j) => j.isOrJoin);
51
49
 
52
- let joinCtes = !parsedJoins.length
53
- ? []
50
+ let joinCtes =
51
+ !parsedJoins.length ?
52
+ []
54
53
  : [
55
54
  ...parsedJoins.flatMap((j, i) => {
56
- const needsComma =
57
- parsedJoins.length > 1 && i < parsedJoins.length - 1;
55
+ const needsComma = parsedJoins.length > 1 && i < parsedJoins.length - 1;
58
56
  return j.cteLines.concat(needsComma ? [","] : []);
59
57
  }),
60
58
  ];
@@ -94,11 +92,8 @@ export function getSelectQuery(
94
92
  return indentLinesToString(query);
95
93
  }
96
94
 
97
- const indentLine = (
98
- numberOfSpaces: number,
99
- str: string,
100
- indentStr = " ",
101
- ): string => new Array(numberOfSpaces).fill(indentStr).join("") + str;
95
+ const indentLine = (numberOfSpaces: number, str: string, indentStr = " "): string =>
96
+ new Array(numberOfSpaces).fill(indentStr).join("") + str;
102
97
  type IndentLinesOpts = {
103
98
  numberOfSpaces?: number;
104
99
  indentStr?: string;
@@ -106,11 +101,7 @@ type IndentLinesOpts = {
106
101
  };
107
102
  export const indentLines = (
108
103
  strArr: (string | undefined | null)[],
109
- {
110
- numberOfSpaces = 2,
111
- indentStr = " ",
112
- appendCommas = false,
113
- }: IndentLinesOpts = {},
104
+ { numberOfSpaces = 2, indentStr = " ", appendCommas = false }: IndentLinesOpts = {}
114
105
  ): string[] => {
115
106
  const nonEmptyLines = strArr.filter((v) => v);
116
107
 
@@ -126,7 +117,7 @@ const indentLinesToString = (
126
117
  strArr: (string | undefined | null)[],
127
118
  numberOfSpaces = 0,
128
119
  separator = " \n ",
129
- indentStr = " ",
120
+ indentStr = " "
130
121
  ) => indentLines(strArr, { numberOfSpaces, indentStr }).join(separator);
131
122
  const getTableAlias = (q: NewQuery) =>
132
123
  !q.tableAlias ? q.table : `${q.tableAlias || ""}_${q.table}`;
@@ -134,9 +125,7 @@ export const getTableAliasAsName = (q: NewQuery) => asName(getTableAlias(q));
134
125
 
135
126
  export const getRootGroupBy = (q: NewQuery, selectParamsGroupBy?: boolean) => {
136
127
  const aggs = q.select.filter((s) => s.selected && s.type === "aggregation");
137
- const nonAggs = q.select.filter(
138
- (s) => s.selected && s.type !== "aggregation",
139
- );
128
+ const nonAggs = q.select.filter((s) => s.selected && s.type !== "aggregation");
140
129
 
141
130
  if ((selectParamsGroupBy || aggs.length) && nonAggs.length) {
142
131
  /** Add ORDER BY items not included in root select */
@@ -149,9 +138,7 @@ export const getRootGroupBy = (q: NewQuery, selectParamsGroupBy?: boolean) => {
149
138
 
150
139
  return [
151
140
  `GROUP BY ${q.select
152
- .map((s, i) =>
153
- s.selected && s.type !== "aggregation" ? `${i + 1}` : undefined,
154
- )
141
+ .map((s, i) => (s.selected && s.type !== "aggregation" ? `${i + 1}` : undefined))
155
142
  .concat(orderByItems)
156
143
  .filter(isDefined)
157
144
  .join(", ")} `,