prostgles-server 4.2.183 → 4.2.185

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 (432) hide show
  1. package/.github/workflows/main.yml +15 -15
  2. package/.prettierignore +2 -0
  3. package/README.md +1 -1
  4. package/dist/Auth/AuthHandler.d.ts +1 -1
  5. package/dist/Auth/AuthHandler.d.ts.map +1 -1
  6. package/dist/Auth/AuthHandler.js +64 -32
  7. package/dist/Auth/AuthHandler.js.map +1 -1
  8. package/dist/Auth/AuthTypes.d.ts +15 -1
  9. package/dist/Auth/AuthTypes.d.ts.map +1 -1
  10. package/dist/Auth/getSafeReturnURL.d.ts.map +1 -1
  11. package/dist/Auth/getSafeReturnURL.js.map +1 -1
  12. package/dist/Auth/sendEmail.d.ts.map +1 -1
  13. package/dist/Auth/sendEmail.js +6 -6
  14. package/dist/Auth/sendEmail.js.map +1 -1
  15. package/dist/Auth/setAuthProviders.d.ts +1 -1
  16. package/dist/Auth/setAuthProviders.d.ts.map +1 -1
  17. package/dist/Auth/setAuthProviders.js +15 -8
  18. package/dist/Auth/setAuthProviders.js.map +1 -1
  19. package/dist/Auth/setEmailProvider.d.ts.map +1 -1
  20. package/dist/Auth/setEmailProvider.js +23 -4
  21. package/dist/Auth/setEmailProvider.js.map +1 -1
  22. package/dist/Auth/setupAuthRoutes.d.ts.map +1 -1
  23. package/dist/Auth/setupAuthRoutes.js +27 -9
  24. package/dist/Auth/setupAuthRoutes.js.map +1 -1
  25. package/dist/DBEventsManager.d.ts.map +1 -1
  26. package/dist/DBEventsManager.js +24 -19
  27. package/dist/DBEventsManager.js.map +1 -1
  28. package/dist/DBSchemaBuilder.d.ts.map +1 -1
  29. package/dist/DBSchemaBuilder.js +18 -5
  30. package/dist/DBSchemaBuilder.js.map +1 -1
  31. package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
  32. package/dist/DboBuilder/DboBuilder.js +7 -2
  33. package/dist/DboBuilder/DboBuilder.js.map +1 -1
  34. package/dist/DboBuilder/DboBuilderTypes.d.ts +4 -4
  35. package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
  36. package/dist/DboBuilder/DboBuilderTypes.js.map +1 -1
  37. package/dist/DboBuilder/QueryBuilder/Functions.d.ts +2 -2
  38. package/dist/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
  39. package/dist/DboBuilder/QueryBuilder/Functions.js +293 -173
  40. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  41. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts +2 -2
  42. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
  43. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +52 -29
  44. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
  45. package/dist/DboBuilder/QueryBuilder/getJoinQuery.d.ts.map +1 -1
  46. package/dist/DboBuilder/QueryBuilder/getJoinQuery.js +51 -32
  47. package/dist/DboBuilder/QueryBuilder/getJoinQuery.js.map +1 -1
  48. package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
  49. package/dist/DboBuilder/QueryBuilder/getNewQuery.js +48 -25
  50. package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
  51. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts +1 -1
  52. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts.map +1 -1
  53. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js +32 -23
  54. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
  55. package/dist/DboBuilder/QueryStreamer.d.ts +2 -2
  56. package/dist/DboBuilder/QueryStreamer.d.ts.map +1 -1
  57. package/dist/DboBuilder/QueryStreamer.js +68 -23
  58. package/dist/DboBuilder/QueryStreamer.js.map +1 -1
  59. package/dist/DboBuilder/TableHandler/DataValidator.d.ts +1 -1
  60. package/dist/DboBuilder/TableHandler/DataValidator.d.ts.map +1 -1
  61. package/dist/DboBuilder/TableHandler/DataValidator.js +79 -43
  62. package/dist/DboBuilder/TableHandler/DataValidator.js.map +1 -1
  63. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  64. package/dist/DboBuilder/TableHandler/TableHandler.js +39 -15
  65. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  66. package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
  67. package/dist/DboBuilder/TableHandler/delete.js +44 -13
  68. package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
  69. package/dist/DboBuilder/TableHandler/insert.d.ts.map +1 -1
  70. package/dist/DboBuilder/TableHandler/insert.js +81 -22
  71. package/dist/DboBuilder/TableHandler/insert.js.map +1 -1
  72. package/dist/DboBuilder/TableHandler/insertTest.d.ts.map +1 -1
  73. package/dist/DboBuilder/TableHandler/insertTest.js.map +1 -1
  74. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts +1 -1
  75. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts.map +1 -1
  76. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js +7 -4
  77. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js.map +1 -1
  78. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
  79. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +24 -5
  80. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
  81. package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
  82. package/dist/DboBuilder/TableHandler/update.js +16 -4
  83. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  84. package/dist/DboBuilder/TableHandler/updateBatch.d.ts.map +1 -1
  85. package/dist/DboBuilder/TableHandler/updateBatch.js +33 -10
  86. package/dist/DboBuilder/TableHandler/updateBatch.js.map +1 -1
  87. package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
  88. package/dist/DboBuilder/TableHandler/updateFile.js +24 -6
  89. package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
  90. package/dist/DboBuilder/TableHandler/upsert.d.ts.map +1 -1
  91. package/dist/DboBuilder/TableHandler/upsert.js +22 -6
  92. package/dist/DboBuilder/TableHandler/upsert.js.map +1 -1
  93. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +5 -5
  94. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
  95. package/dist/DboBuilder/ViewHandler/ViewHandler.js +64 -36
  96. package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
  97. package/dist/DboBuilder/ViewHandler/count.d.ts.map +1 -1
  98. package/dist/DboBuilder/ViewHandler/count.js +21 -7
  99. package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
  100. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  101. package/dist/DboBuilder/ViewHandler/find.js +76 -22
  102. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  103. package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts.map +1 -1
  104. package/dist/DboBuilder/ViewHandler/getExistsCondition.js +19 -10
  105. package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
  106. package/dist/DboBuilder/ViewHandler/getExistsFilters.d.ts.map +1 -1
  107. package/dist/DboBuilder/ViewHandler/getExistsFilters.js +12 -5
  108. package/dist/DboBuilder/ViewHandler/getExistsFilters.js.map +1 -1
  109. package/dist/DboBuilder/ViewHandler/getInfo.d.ts.map +1 -1
  110. package/dist/DboBuilder/ViewHandler/getInfo.js +27 -9
  111. package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
  112. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts +2 -2
  113. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
  114. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +42 -23
  115. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
  116. package/dist/DboBuilder/ViewHandler/parseComplexFilter.d.ts.map +1 -1
  117. package/dist/DboBuilder/ViewHandler/parseComplexFilter.js +22 -9
  118. package/dist/DboBuilder/ViewHandler/parseComplexFilter.js.map +1 -1
  119. package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts +4 -4
  120. package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts.map +1 -1
  121. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js +13 -11
  122. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js.map +1 -1
  123. package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts +1 -1
  124. package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts.map +1 -1
  125. package/dist/DboBuilder/ViewHandler/parseJoinPath.js +44 -29
  126. package/dist/DboBuilder/ViewHandler/parseJoinPath.js.map +1 -1
  127. package/dist/DboBuilder/ViewHandler/prepareSortItems.d.ts.map +1 -1
  128. package/dist/DboBuilder/ViewHandler/prepareSortItems.js +36 -27
  129. package/dist/DboBuilder/ViewHandler/prepareSortItems.js.map +1 -1
  130. package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts.map +1 -1
  131. package/dist/DboBuilder/ViewHandler/prepareWhere.js +16 -12
  132. package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
  133. package/dist/DboBuilder/ViewHandler/size.d.ts.map +1 -1
  134. package/dist/DboBuilder/ViewHandler/size.js +24 -7
  135. package/dist/DboBuilder/ViewHandler/size.js.map +1 -1
  136. package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
  137. package/dist/DboBuilder/ViewHandler/subscribe.js +40 -12
  138. package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
  139. package/dist/DboBuilder/ViewHandler/validateViewRules.d.ts.map +1 -1
  140. package/dist/DboBuilder/ViewHandler/validateViewRules.js +20 -5
  141. package/dist/DboBuilder/ViewHandler/validateViewRules.js.map +1 -1
  142. package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
  143. package/dist/DboBuilder/dboBuilderUtils.js +18 -7
  144. package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
  145. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  146. package/dist/DboBuilder/getColumns.js +22 -7
  147. package/dist/DboBuilder/getColumns.js.map +1 -1
  148. package/dist/DboBuilder/getCondition.d.ts.map +1 -1
  149. package/dist/DboBuilder/getCondition.js +43 -30
  150. package/dist/DboBuilder/getCondition.js.map +1 -1
  151. package/dist/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
  152. package/dist/DboBuilder/getSubscribeRelatedTables.js +38 -27
  153. package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
  154. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +1 -1
  155. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js +9 -9
  156. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js.map +1 -1
  157. package/dist/DboBuilder/insertNestedRecords.d.ts +3 -3
  158. package/dist/DboBuilder/insertNestedRecords.d.ts.map +1 -1
  159. package/dist/DboBuilder/insertNestedRecords.js +79 -44
  160. package/dist/DboBuilder/insertNestedRecords.js.map +1 -1
  161. package/dist/DboBuilder/parseUpdateRules.d.ts.map +1 -1
  162. package/dist/DboBuilder/parseUpdateRules.js +38 -14
  163. package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
  164. package/dist/DboBuilder/prepareShortestJoinPaths.d.ts.map +1 -1
  165. package/dist/DboBuilder/prepareShortestJoinPaths.js +56 -31
  166. package/dist/DboBuilder/prepareShortestJoinPaths.js.map +1 -1
  167. package/dist/DboBuilder/runSQL.d.ts.map +1 -1
  168. package/dist/DboBuilder/runSQL.js +41 -21
  169. package/dist/DboBuilder/runSQL.js.map +1 -1
  170. package/dist/DboBuilder/runTransaction.d.ts +1 -1
  171. package/dist/DboBuilder/runTransaction.d.ts.map +1 -1
  172. package/dist/DboBuilder/runTransaction.js +2 -2
  173. package/dist/DboBuilder/runTransaction.js.map +1 -1
  174. package/dist/DboBuilder/sqlErrCodeToMsg.d.ts.map +1 -1
  175. package/dist/DboBuilder/sqlErrCodeToMsg.js +297 -38
  176. package/dist/DboBuilder/sqlErrCodeToMsg.js.map +1 -1
  177. package/dist/DboBuilder/uploadFile.d.ts.map +1 -1
  178. package/dist/DboBuilder/uploadFile.js +33 -9
  179. package/dist/DboBuilder/uploadFile.js.map +1 -1
  180. package/dist/Event_Trigger_Tags.d.ts +1 -1
  181. package/dist/Event_Trigger_Tags.d.ts.map +1 -1
  182. package/dist/Event_Trigger_Tags.js +1 -1
  183. package/dist/Event_Trigger_Tags.js.map +1 -1
  184. package/dist/FileManager/FileManager.d.ts.map +1 -1
  185. package/dist/FileManager/FileManager.js +6 -3
  186. package/dist/FileManager/FileManager.js.map +1 -1
  187. package/dist/FileManager/getValidatedFileType.d.ts.map +1 -1
  188. package/dist/FileManager/getValidatedFileType.js +18 -16
  189. package/dist/FileManager/getValidatedFileType.js.map +1 -1
  190. package/dist/FileManager/initFileManager.d.ts.map +1 -1
  191. package/dist/FileManager/initFileManager.js +7 -1
  192. package/dist/FileManager/initFileManager.js.map +1 -1
  193. package/dist/FileManager/upload.d.ts +1 -1
  194. package/dist/FileManager/upload.d.ts.map +1 -1
  195. package/dist/FileManager/upload.js +3 -3
  196. package/dist/FileManager/upload.js.map +1 -1
  197. package/dist/FileManager/uploadStream.d.ts +1 -1
  198. package/dist/FileManager/uploadStream.d.ts.map +1 -1
  199. package/dist/FileManager/uploadStream.js +6 -7
  200. package/dist/FileManager/uploadStream.js.map +1 -1
  201. package/dist/Filtering.d.ts +3 -3
  202. package/dist/Filtering.d.ts.map +1 -1
  203. package/dist/Filtering.js +70 -37
  204. package/dist/Filtering.js.map +1 -1
  205. package/dist/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +1 -1
  206. package/dist/JSONBValidation/validate_jsonb_schema_sql.js +1 -4
  207. package/dist/JSONBValidation/validate_jsonb_schema_sql.js.map +1 -1
  208. package/dist/JSONBValidation/validation.d.ts.map +1 -1
  209. package/dist/JSONBValidation/validation.js +46 -24
  210. package/dist/JSONBValidation/validation.js.map +1 -1
  211. package/dist/Logging.d.ts +2 -2
  212. package/dist/Logging.d.ts.map +1 -1
  213. package/dist/PostgresNotifListenManager.d.ts.map +1 -1
  214. package/dist/PostgresNotifListenManager.js +20 -22
  215. package/dist/PostgresNotifListenManager.js.map +1 -1
  216. package/dist/Prostgles.d.ts +1 -1
  217. package/dist/Prostgles.d.ts.map +1 -1
  218. package/dist/Prostgles.js +37 -11
  219. package/dist/Prostgles.js.map +1 -1
  220. package/dist/ProstglesTypes.d.ts.map +1 -1
  221. package/dist/ProstglesTypes.js +6 -1
  222. package/dist/ProstglesTypes.js.map +1 -1
  223. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  224. package/dist/PubSubManager/PubSubManager.js +10 -5
  225. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  226. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  227. package/dist/PubSubManager/addSub.js +4 -6
  228. package/dist/PubSubManager/addSub.js.map +1 -1
  229. package/dist/PubSubManager/addSync.d.ts.map +1 -1
  230. package/dist/PubSubManager/addSync.js +10 -6
  231. package/dist/PubSubManager/addSync.js.map +1 -1
  232. package/dist/PubSubManager/getCreatePubSubManagerError.d.ts.map +1 -1
  233. package/dist/PubSubManager/getCreatePubSubManagerError.js +3 -1
  234. package/dist/PubSubManager/getCreatePubSubManagerError.js.map +1 -1
  235. package/dist/PubSubManager/getPubSubManagerInitQuery.d.ts.map +1 -1
  236. package/dist/PubSubManager/getPubSubManagerInitQuery.js +8 -8
  237. package/dist/PubSubManager/getPubSubManagerInitQuery.js.map +1 -1
  238. package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
  239. package/dist/PubSubManager/initPubSubManager.js +7 -9
  240. package/dist/PubSubManager/initPubSubManager.js.map +1 -1
  241. package/dist/PubSubManager/notifListener.d.ts.map +1 -1
  242. package/dist/PubSubManager/notifListener.js +23 -12
  243. package/dist/PubSubManager/notifListener.js.map +1 -1
  244. package/dist/PubSubManager/orphanTriggerCheck.d.ts.map +1 -1
  245. package/dist/PubSubManager/orphanTriggerCheck.js.map +1 -1
  246. package/dist/PubSubManager/pushSubData.d.ts.map +1 -1
  247. package/dist/PubSubManager/pushSubData.js +1 -1
  248. package/dist/PubSubManager/pushSubData.js.map +1 -1
  249. package/dist/PublishParser/PublishParser.d.ts +1 -1
  250. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  251. package/dist/PublishParser/PublishParser.js +25 -14
  252. package/dist/PublishParser/PublishParser.js.map +1 -1
  253. package/dist/PublishParser/getFileTableRules.d.ts.map +1 -1
  254. package/dist/PublishParser/getFileTableRules.js +23 -16
  255. package/dist/PublishParser/getFileTableRules.js.map +1 -1
  256. package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
  257. package/dist/PublishParser/getSchemaFromPublish.js +39 -16
  258. package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
  259. package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +1 -1
  260. package/dist/PublishParser/getTableRulesWithoutFileTable.js +42 -22
  261. package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +1 -1
  262. package/dist/PublishParser/publishTypesAndUtils.d.ts.map +1 -1
  263. package/dist/PublishParser/publishTypesAndUtils.js +5 -1
  264. package/dist/PublishParser/publishTypesAndUtils.js.map +1 -1
  265. package/dist/RestApi.d.ts +1 -1
  266. package/dist/RestApi.d.ts.map +1 -1
  267. package/dist/RestApi.js +1 -1
  268. package/dist/RestApi.js.map +1 -1
  269. package/dist/SchemaWatch/SchemaWatch.d.ts +2 -2
  270. package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -1
  271. package/dist/SchemaWatch/SchemaWatch.js +11 -9
  272. package/dist/SchemaWatch/SchemaWatch.js.map +1 -1
  273. package/dist/SchemaWatch/getValidatedWatchSchemaType.d.ts.map +1 -1
  274. package/dist/SchemaWatch/getValidatedWatchSchemaType.js +3 -3
  275. package/dist/SchemaWatch/getValidatedWatchSchemaType.js.map +1 -1
  276. package/dist/SchemaWatch/getWatchSchemaTagList.d.ts.map +1 -1
  277. package/dist/SchemaWatch/getWatchSchemaTagList.js +12 -6
  278. package/dist/SchemaWatch/getWatchSchemaTagList.js.map +1 -1
  279. package/dist/SyncReplication.d.ts.map +1 -1
  280. package/dist/SyncReplication.js +84 -42
  281. package/dist/SyncReplication.js.map +1 -1
  282. package/dist/TableConfig/TableConfig.d.ts +5 -5
  283. package/dist/TableConfig/TableConfig.d.ts.map +1 -1
  284. package/dist/TableConfig/TableConfig.js +18 -5
  285. package/dist/TableConfig/TableConfig.js.map +1 -1
  286. package/dist/TableConfig/getColumnDefinitionQuery.d.ts +2 -2
  287. package/dist/TableConfig/getColumnDefinitionQuery.d.ts.map +1 -1
  288. package/dist/TableConfig/getColumnDefinitionQuery.js +20 -9
  289. package/dist/TableConfig/getColumnDefinitionQuery.js.map +1 -1
  290. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts +3 -3
  291. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
  292. package/dist/TableConfig/getConstraintDefinitionQueries.js +12 -7
  293. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  294. package/dist/TableConfig/getFutureTableSchema.d.ts +1 -1
  295. package/dist/TableConfig/getFutureTableSchema.d.ts.map +1 -1
  296. package/dist/TableConfig/getFutureTableSchema.js +6 -4
  297. package/dist/TableConfig/getFutureTableSchema.js.map +1 -1
  298. package/dist/TableConfig/getPGIndexes.d.ts.map +1 -1
  299. package/dist/TableConfig/getPGIndexes.js.map +1 -1
  300. package/dist/TableConfig/getTableColumnQueries.d.ts +1 -1
  301. package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -1
  302. package/dist/TableConfig/getTableColumnQueries.js +38 -19
  303. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  304. package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
  305. package/dist/TableConfig/initTableConfig.js +91 -43
  306. package/dist/TableConfig/initTableConfig.js.map +1 -1
  307. package/dist/index.d.ts.map +1 -1
  308. package/dist/index.js.map +1 -1
  309. package/dist/initProstgles.d.ts.map +1 -1
  310. package/dist/initProstgles.js +14 -10
  311. package/dist/initProstgles.js.map +1 -1
  312. package/dist/onSocketConnected.d.ts.map +1 -1
  313. package/dist/onSocketConnected.js +38 -16
  314. package/dist/onSocketConnected.js.map +1 -1
  315. package/dist/runClientRequest.d.ts.map +1 -1
  316. package/dist/runClientRequest.js +33 -14
  317. package/dist/runClientRequest.js.map +1 -1
  318. package/dist/shortestPath.d.ts.map +1 -1
  319. package/dist/shortestPath.js +1 -1
  320. package/dist/shortestPath.js.map +1 -1
  321. package/dist/typeTests/dboTypeCheck.js.map +1 -1
  322. package/examples/full-example-typescript/DBoGenerated.d.ts +112 -54
  323. package/examples/full-example-typescript/DBoGenerated.js +3 -3
  324. package/examples/full-example-typescript/home.html +28 -26
  325. package/examples/full-example-typescript/index.d.ts +1 -1
  326. package/examples/full-example-typescript/index.js +80 -53
  327. package/examples/full-example-vanilla/home.html +151 -125
  328. package/examples/server/javascript/index.js +17 -19
  329. package/lib/Auth/AuthHandler.ts +234 -155
  330. package/lib/Auth/AuthTypes.ts +27 -4
  331. package/lib/Auth/getSafeReturnURL.ts +35 -21
  332. package/lib/Auth/sendEmail.ts +34 -31
  333. package/lib/Auth/setAuthProviders.ts +94 -71
  334. package/lib/Auth/setEmailProvider.ts +45 -27
  335. package/lib/Auth/setupAuthRoutes.ts +164 -100
  336. package/lib/DBEventsManager.ts +87 -65
  337. package/lib/DBSchemaBuilder.ts +62 -28
  338. package/lib/DboBuilder/DboBuilder.ts +45 -21
  339. package/lib/DboBuilder/DboBuilderTypes.ts +99 -95
  340. package/lib/DboBuilder/QueryBuilder/Functions.ts +862 -580
  341. package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +202 -141
  342. package/lib/DboBuilder/QueryBuilder/getJoinQuery.ts +199 -124
  343. package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +209 -148
  344. package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +101 -75
  345. package/lib/DboBuilder/QueryBuilder/prepareHaving.ts +10 -5
  346. package/lib/DboBuilder/QueryStreamer.ts +207 -100
  347. package/lib/DboBuilder/TableHandler/DataValidator.ts +253 -148
  348. package/lib/DboBuilder/TableHandler/TableHandler.ts +155 -60
  349. package/lib/DboBuilder/TableHandler/delete.ts +82 -29
  350. package/lib/DboBuilder/TableHandler/insert.ts +177 -81
  351. package/lib/DboBuilder/TableHandler/insertTest.ts +13 -7
  352. package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +35 -21
  353. package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +95 -45
  354. package/lib/DboBuilder/TableHandler/update.ts +54 -14
  355. package/lib/DboBuilder/TableHandler/updateBatch.ts +59 -21
  356. package/lib/DboBuilder/TableHandler/updateFile.ts +57 -26
  357. package/lib/DboBuilder/TableHandler/upsert.ts +58 -13
  358. package/lib/DboBuilder/ViewHandler/ViewHandler.ts +264 -121
  359. package/lib/DboBuilder/ViewHandler/count.ts +56 -25
  360. package/lib/DboBuilder/ViewHandler/find.ts +153 -68
  361. package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +59 -32
  362. package/lib/DboBuilder/ViewHandler/getExistsFilters.ts +31 -19
  363. package/lib/DboBuilder/ViewHandler/getInfo.ts +47 -16
  364. package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +91 -57
  365. package/lib/DboBuilder/ViewHandler/parseComplexFilter.ts +51 -29
  366. package/lib/DboBuilder/ViewHandler/parseFieldFilter.ts +35 -29
  367. package/lib/DboBuilder/ViewHandler/parseJoinPath.ts +130 -76
  368. package/lib/DboBuilder/ViewHandler/prepareSortItems.ts +140 -92
  369. package/lib/DboBuilder/ViewHandler/prepareWhere.ts +66 -26
  370. package/lib/DboBuilder/ViewHandler/size.ts +56 -22
  371. package/lib/DboBuilder/ViewHandler/subscribe.ts +122 -46
  372. package/lib/DboBuilder/ViewHandler/validateViewRules.ts +39 -14
  373. package/lib/DboBuilder/dboBuilderUtils.ts +41 -18
  374. package/lib/DboBuilder/getColumns.ts +44 -12
  375. package/lib/DboBuilder/getCondition.ts +120 -79
  376. package/lib/DboBuilder/getSubscribeRelatedTables.ts +144 -83
  377. package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +61 -44
  378. package/lib/DboBuilder/insertNestedRecords.ts +370 -235
  379. package/lib/DboBuilder/parseUpdateRules.ts +117 -61
  380. package/lib/DboBuilder/prepareShortestJoinPaths.ts +115 -56
  381. package/lib/DboBuilder/runSQL.ts +135 -74
  382. package/lib/DboBuilder/runTransaction.ts +27 -16
  383. package/lib/DboBuilder/sqlErrCodeToMsg.ts +502 -244
  384. package/lib/DboBuilder/uploadFile.ts +67 -31
  385. package/lib/Event_Trigger_Tags.ts +6 -4
  386. package/lib/FileManager/FileManager.ts +53 -21
  387. package/lib/FileManager/getValidatedFileType.ts +79 -35
  388. package/lib/FileManager/initFileManager.ts +21 -9
  389. package/lib/FileManager/upload.ts +21 -19
  390. package/lib/FileManager/uploadStream.ts +33 -34
  391. package/lib/Filtering.ts +249 -197
  392. package/lib/JSONBValidation/validate_jsonb_schema_sql.ts +2 -7
  393. package/lib/JSONBValidation/validation.ts +147 -82
  394. package/lib/Logging.ts +107 -97
  395. package/lib/PostgresNotifListenManager.ts +96 -63
  396. package/lib/Prostgles.ts +106 -35
  397. package/lib/ProstglesTypes.ts +31 -9
  398. package/lib/PubSubManager/PubSubManager.ts +62 -27
  399. package/lib/PubSubManager/addSub.ts +56 -37
  400. package/lib/PubSubManager/addSync.ts +50 -33
  401. package/lib/PubSubManager/getCreatePubSubManagerError.ts +29 -21
  402. package/lib/PubSubManager/getPubSubManagerInitQuery.ts +45 -27
  403. package/lib/PubSubManager/initPubSubManager.ts +27 -18
  404. package/lib/PubSubManager/notifListener.ts +77 -59
  405. package/lib/PubSubManager/orphanTriggerCheck.ts +5 -4
  406. package/lib/PubSubManager/pushSubData.ts +11 -9
  407. package/lib/PublishParser/PublishParser.ts +102 -44
  408. package/lib/PublishParser/getFileTableRules.ts +97 -54
  409. package/lib/PublishParser/getSchemaFromPublish.ts +146 -74
  410. package/lib/PublishParser/getTableRulesWithoutFileTable.ts +101 -51
  411. package/lib/PublishParser/publishTypesAndUtils.ts +74 -23
  412. package/lib/RestApi.ts +10 -2
  413. package/lib/SchemaWatch/SchemaWatch.ts +52 -34
  414. package/lib/SchemaWatch/createSchemaWatchEventTrigger.ts +1 -1
  415. package/lib/SchemaWatch/getValidatedWatchSchemaType.ts +32 -22
  416. package/lib/SchemaWatch/getWatchSchemaTagList.ts +24 -16
  417. package/lib/SyncReplication.ts +376 -190
  418. package/lib/TableConfig/TableConfig.ts +200 -136
  419. package/lib/TableConfig/getColumnDefinitionQuery.ts +65 -44
  420. package/lib/TableConfig/getConstraintDefinitionQueries.ts +41 -25
  421. package/lib/TableConfig/getFutureTableSchema.ts +31 -21
  422. package/lib/TableConfig/getPGIndexes.ts +7 -4
  423. package/lib/TableConfig/getTableColumnQueries.ts +101 -54
  424. package/lib/TableConfig/initTableConfig.ts +192 -101
  425. package/lib/index.ts +6 -5
  426. package/lib/initProstgles.ts +57 -51
  427. package/lib/onSocketConnected.ts +75 -40
  428. package/lib/runClientRequest.ts +148 -79
  429. package/lib/shortestPath.ts +80 -76
  430. package/lib/typeTests/DBoGenerated.d.ts +5 -1
  431. package/lib/typeTests/dboTypeCheck.ts +8 -8
  432. package/package.json +1 -1
@@ -10,7 +10,11 @@ import {
10
10
  } from "prostgles-types";
11
11
  import prostgles from ".";
12
12
  import { Auth } from "./Auth/AuthTypes";
13
- import { DboBuilder, escapeTSNames, postgresToTsType } from "./DboBuilder/DboBuilder";
13
+ import {
14
+ DboBuilder,
15
+ escapeTSNames,
16
+ postgresToTsType,
17
+ } from "./DboBuilder/DboBuilder";
14
18
  import {
15
19
  PublishAllOrNothing,
16
20
  PublishParams,
@@ -18,14 +22,28 @@ import {
18
22
  PublishViewRule,
19
23
  } from "./PublishParser/PublishParser";
20
24
  import { getJSONBSchemaTSTypes } from "./JSONBValidation/validation";
21
- import { DBHandlerServer, TableSchemaColumn, TX } from "./DboBuilder/DboBuilderTypes";
25
+ import {
26
+ DBHandlerServer,
27
+ TableSchemaColumn,
28
+ TX,
29
+ } from "./DboBuilder/DboBuilderTypes";
22
30
 
23
31
  export const getDBSchema = (dboBuilder: DboBuilder): string => {
24
32
  const tables: string[] = [];
25
33
 
26
- const getColTypeForDBSchema = (udt_name: TableSchemaColumn["udt_name"]): string => {
34
+ const getColTypeForDBSchema = (
35
+ udt_name: TableSchemaColumn["udt_name"],
36
+ ): string => {
27
37
  if (udt_name === "interval") {
28
- const units = ["years", "months", "days", "hours", "minutes", "seconds", "milliseconds"];
38
+ const units = [
39
+ "years",
40
+ "months",
41
+ "days",
42
+ "hours",
43
+ "minutes",
44
+ "seconds",
45
+ "milliseconds",
46
+ ];
29
47
 
30
48
  return `{ ${units.map((u) => `${u}?: number;`).join(" ")} }`;
31
49
  }
@@ -38,13 +56,23 @@ export const getDBSchema = (dboBuilder: DboBuilder): string => {
38
56
  ?.slice(0)
39
57
  .sort((a, b) => a.name.localeCompare(b.name))
40
58
  .forEach((tov) => {
41
- const cols = tov.columns.slice(0).sort((a, b) => a.name.localeCompare(b.name));
59
+ const cols = tov.columns
60
+ .slice(0)
61
+ .sort((a, b) => a.name.localeCompare(b.name));
42
62
  const getColType = (c: (typeof cols)[number]) => {
43
63
  let type: string =
44
- (c.is_nullable ? "null | " : "") + getColTypeForDBSchema(c.udt_name) + ";";
45
- const colConf = dboBuilder.prostgles.tableConfigurator?.getColumnConfig(tov.name, c.name);
64
+ (c.is_nullable ? "null | " : "") +
65
+ getColTypeForDBSchema(c.udt_name) +
66
+ ";";
67
+ const colConf = dboBuilder.prostgles.tableConfigurator?.getColumnConfig(
68
+ tov.name,
69
+ c.name,
70
+ );
46
71
  if (colConf) {
47
- if (isObject(colConf) && (colConf.jsonbSchema || colConf.jsonbSchemaType)) {
72
+ if (
73
+ isObject(colConf) &&
74
+ (colConf.jsonbSchema || colConf.jsonbSchemaType)
75
+ ) {
48
76
  const schema: JSONB.JSONBSchema = colConf.jsonbSchema || {
49
77
  ...colConf,
50
78
  type: colConf.jsonbSchemaType,
@@ -54,11 +82,13 @@ export const getDBSchema = (dboBuilder: DboBuilder): string => {
54
82
  schema,
55
83
  { nullable: colConf.nullable },
56
84
  " ",
57
- dboBuilder.tablesOrViews ?? []
85
+ dboBuilder.tablesOrViews ?? [],
58
86
  );
59
87
  } else if (isObject(colConf) && "enum" in colConf) {
60
88
  if (!colConf.enum) throw "colConf.enum missing";
61
- const types = colConf.enum.map((t) => (typeof t === "number" ? t : JSON.stringify(t)));
89
+ const types = colConf.enum.map((t) =>
90
+ typeof t === "number" ? t : JSON.stringify(t),
91
+ );
62
92
  if (colConf.nullable) {
63
93
  types.unshift("null");
64
94
  }
@@ -80,7 +110,7 @@ export const getDBSchema = (dboBuilder: DboBuilder): string => {
80
110
  columns: {${cols
81
111
  .map(
82
112
  (c) => `
83
- ${getColType(c)}`
113
+ ${getColType(c)}`,
84
114
  )
85
115
  .join("")}
86
116
  };
@@ -102,12 +132,11 @@ type ServerTableHandler<
102
132
  Schema extends DBSchema | void = void,
103
133
  > = TableHandler<T, Schema> & { is_view: boolean };
104
134
 
105
- export type DBTableHandlersFromSchema<Schema = void> =
106
- Schema extends DBSchema ?
107
- {
108
- [tov_name in keyof Schema]: Schema[tov_name]["is_view"] extends true ?
109
- ServerViewHandler<Schema[tov_name]["columns"], Schema>
110
- : ServerTableHandler<Schema[tov_name]["columns"], Schema>;
135
+ export type DBTableHandlersFromSchema<Schema = void> = Schema extends DBSchema
136
+ ? {
137
+ [tov_name in keyof Schema]: Schema[tov_name]["is_view"] extends true
138
+ ? ServerViewHandler<Schema[tov_name]["columns"], Schema>
139
+ : ServerTableHandler<Schema[tov_name]["columns"], Schema>;
111
140
  }
112
141
  : Record<string, Partial<ServerTableHandler>>;
113
142
 
@@ -125,17 +154,22 @@ export type DBHandlerServerExtra<
125
154
  export type DBOFullyTyped<Schema = void> = DBTableHandlersFromSchema<Schema> &
126
155
  DBHandlerServerExtra<DBTableHandlersFromSchema<Schema>>;
127
156
 
128
- export type PublishFullyTyped<Schema = void> =
129
- Schema extends DBSchema ?
130
- | PublishAllOrNothing
131
- | {
132
- [tov_name in keyof Partial<Schema>]:
133
- | PublishAllOrNothing
134
- | (Schema[tov_name]["is_view"] extends true ?
135
- PublishViewRule<Schema[tov_name]["columns"], Schema>
136
- : PublishTableRule<Schema[tov_name]["columns"], Schema>);
137
- }
138
- : PublishAllOrNothing | Record<string, PublishViewRule | PublishTableRule | PublishAllOrNothing>;
157
+ export type PublishFullyTyped<Schema = void> = Schema extends DBSchema
158
+ ?
159
+ | PublishAllOrNothing
160
+ | {
161
+ [tov_name in keyof Partial<Schema>]:
162
+ | PublishAllOrNothing
163
+ | (Schema[tov_name]["is_view"] extends true
164
+ ? PublishViewRule<Schema[tov_name]["columns"], Schema>
165
+ : PublishTableRule<Schema[tov_name]["columns"], Schema>);
166
+ }
167
+ :
168
+ | PublishAllOrNothing
169
+ | Record<
170
+ string,
171
+ PublishViewRule | PublishTableRule | PublishAllOrNothing
172
+ >;
139
173
 
140
174
  /** Type checks */
141
175
  () => {
@@ -167,7 +167,9 @@ export class DboBuilder {
167
167
 
168
168
  _joins?: Join[];
169
169
  get joins(): Join[] {
170
- return clone(this._joins ?? []).filter((j) => j.tables[0] !== j.tables[1]) as Join[];
170
+ return clone(this._joins ?? []).filter(
171
+ (j) => j.tables[0] !== j.tables[1],
172
+ ) as Join[];
171
173
  }
172
174
 
173
175
  set joins(j: Join[]) {
@@ -179,7 +181,8 @@ export class DboBuilder {
179
181
  }
180
182
 
181
183
  prepareShortestJoinPaths = async () => {
182
- const { joins, shortestJoinPaths, joinGraph } = await prepareShortestJoinPaths(this);
184
+ const { joins, shortestJoinPaths, joinGraph } =
185
+ await prepareShortestJoinPaths(this);
183
186
  this.joinGraph = joinGraph;
184
187
  this.joins = joins;
185
188
  this.shortestJoinPaths = shortestJoinPaths;
@@ -189,12 +192,17 @@ export class DboBuilder {
189
192
  query: string,
190
193
  params: any,
191
194
  options: SQLOptions | undefined,
192
- localParams?: LocalParams
195
+ localParams?: LocalParams,
193
196
  ) => {
194
197
  return runSQL
195
198
  .bind(this)(query, params, options, localParams)
196
199
  .catch((error) =>
197
- Promise.reject(getSerializedClientErrorFromPGError(error, { type: "sql", localParams }))
200
+ Promise.reject(
201
+ getSerializedClientErrorFromPGError(error, {
202
+ type: "sql",
203
+ localParams,
204
+ }),
205
+ ),
198
206
  );
199
207
  };
200
208
 
@@ -207,7 +215,7 @@ export class DboBuilder {
207
215
  if (subscribeError) {
208
216
  console.error(
209
217
  "Could not initiate PubSubManager. Realtime data/Subscriptions will not work. Error: ",
210
- subscribeError
218
+ subscribeError,
211
219
  );
212
220
  this.canSubscribe = false;
213
221
  } else {
@@ -218,7 +226,7 @@ export class DboBuilder {
218
226
  const start = Date.now();
219
227
  const tablesOrViewsReq = await getTablesForSchemaPostgresSQL(
220
228
  this,
221
- this.prostgles.opts.schemaFilter
229
+ this.prostgles.opts.schemaFilter,
222
230
  );
223
231
  await this.prostgles.opts.onLog?.({
224
232
  type: "debug",
@@ -228,28 +236,31 @@ export class DboBuilder {
228
236
  });
229
237
  this.tablesOrViews = tablesOrViewsReq.result;
230
238
 
231
- this.constraints = await getConstraints(this.db, this.prostgles.opts.schemaFilter);
239
+ this.constraints = await getConstraints(
240
+ this.db,
241
+ this.prostgles.opts.schemaFilter,
242
+ );
232
243
  await this.prepareShortestJoinPaths();
233
244
 
234
245
  this.dbo = {};
235
246
  this.tablesOrViews.map((tov) => {
236
- const columnsForTypes = tov.columns.slice(0).sort((a, b) => a.name.localeCompare(b.name));
247
+ const columnsForTypes = tov.columns
248
+ .slice(0)
249
+ .sort((a, b) => a.name.localeCompare(b.name));
237
250
 
238
251
  const filterKeywords = Object.values(this.prostgles.keywords);
239
- const $filterCol = columnsForTypes.find((c) => filterKeywords.includes(c.name));
252
+ const $filterCol = columnsForTypes.find((c) =>
253
+ filterKeywords.includes(c.name),
254
+ );
240
255
  if ($filterCol) {
241
256
  throw `DboBuilder init error: \n\nTable ${JSON.stringify(tov.name)} column ${JSON.stringify($filterCol.name)} is colliding with Prostgles filtering functionality ($filter keyword)
242
257
  Please provide a replacement keyword name using the $filter_keyName init option.
243
258
  Alternatively you can rename the table column\n`;
244
259
  }
245
260
 
246
- this.dbo[tov.escaped_identifier] = new (tov.is_view ? ViewHandler : TableHandler)(
247
- this.db,
248
- tov,
249
- this,
250
- undefined,
251
- this.shortestJoinPaths
252
- );
261
+ this.dbo[tov.escaped_identifier] = new (
262
+ tov.is_view ? ViewHandler : TableHandler
263
+ )(this.db, tov, this, undefined, this.shortestJoinPaths);
253
264
 
254
265
  if (
255
266
  this.shortestJoinPaths &&
@@ -282,7 +293,9 @@ export class DboBuilder {
282
293
  if (!this.dbo.sql) {
283
294
  this.dbo.sql = this.runSQL;
284
295
  } else {
285
- console.warn(`Could not create dbo.sql handler because there is already a table named "sql"`);
296
+ console.warn(
297
+ `Could not create dbo.sql handler because there is already a table named "sql"`,
298
+ );
286
299
  }
287
300
 
288
301
  this.tsTypesDefinition = [
@@ -296,7 +309,7 @@ export class DboBuilder {
296
309
 
297
310
  getShortestJoinPath = (
298
311
  viewHandler: ViewHandler,
299
- target: string
312
+ target: string,
300
313
  ): JoinPaths[number] | undefined => {
301
314
  const source = viewHandler.name;
302
315
  if (source === target) {
@@ -315,7 +328,9 @@ export class DboBuilder {
315
328
  };
316
329
  }
317
330
 
318
- const jp = this.shortestJoinPaths.find((jp) => jp.t1 === source && jp.t2 === target);
331
+ const jp = this.shortestJoinPaths.find(
332
+ (jp) => jp.t1 === source && jp.t2 === target,
333
+ );
319
334
  return jp;
320
335
  };
321
336
 
@@ -324,7 +339,13 @@ export class DboBuilder {
324
339
  const dbTX: DbTxTableHandlers & Pick<DBHandlerServer, "sql"> = {};
325
340
  this.tablesOrViews?.map((tov) => {
326
341
  const handlerClass = tov.is_view ? ViewHandler : TableHandler;
327
- dbTX[tov.name] = new handlerClass(this.db, tov, this, { t, dbTX }, this.shortestJoinPaths);
342
+ dbTX[tov.name] = new handlerClass(
343
+ this.db,
344
+ tov,
345
+ this,
346
+ { t, dbTX },
347
+ this.shortestJoinPaths,
348
+ );
328
349
  });
329
350
  dbTX.sql = (q, args, opts, localP) =>
330
351
  this.runSQL(q, args, opts, { tx: { dbTX, t }, ...(localP ?? {}) });
@@ -338,6 +359,9 @@ export class DboBuilder {
338
359
  cacheDBTypes = cacheDBTypes.bind(this);
339
360
 
340
361
  runClientTransactionStatement = (statement: string) => {
341
- return runClientTransactionStatement(statement, this.prostgles.opts.dbConnection as any);
362
+ return runClientTransactionStatement(
363
+ statement,
364
+ this.prostgles.opts.dbConnection as any,
365
+ );
342
366
  };
343
367
  }
@@ -1,10 +1,9 @@
1
-
2
1
  /*---------------------------------------------------------------------------------------------
3
2
  * Copyright (c) Stefan L. All rights reserved.
4
3
  * Licensed under the MIT License. See LICENSE in the project root for license information.
5
4
  *--------------------------------------------------------------------------------------------*/
6
5
 
7
- import * as pgPromise from 'pg-promise';
6
+ import * as pgPromise from "pg-promise";
8
7
  import {
9
8
  AnyObject,
10
9
  ClientSchema,
@@ -14,25 +13,23 @@ import {
14
13
  RawJoinPath,
15
14
  SQLHandler,
16
15
  TableInfo as TInfo,
17
- UserLike
16
+ UserLike,
18
17
  } from "prostgles-types";
19
18
  import { BasicSession, ExpressReq } from "../Auth/AuthTypes";
20
19
  import { BasicCallback } from "../PubSubManager/PubSubManager";
21
- import {
22
- PublishAllOrNothing
23
- } from "../PublishParser/PublishParser";
24
- import { FieldSpec, } from "./QueryBuilder/Functions";
20
+ import { PublishAllOrNothing } from "../PublishParser/PublishParser";
21
+ import { FieldSpec } from "./QueryBuilder/Functions";
25
22
  import { TableHandler } from "./TableHandler/TableHandler";
26
23
  import { ParsedJoinPath } from "./ViewHandler/parseJoinPath";
27
- import pg = require('pg-promise/typescript/pg-subset');
28
-
24
+ import pg = require("pg-promise/typescript/pg-subset");
29
25
 
30
26
  type PGP = pgPromise.IMain<{}, pg.IClient>;
31
27
 
32
-
33
28
  export type TableSchemaColumn = ColumnInfo & {
34
- privileges: Partial<Record<"INSERT" | "REFERENCES" | "SELECT" | "UPDATE", true>>;
35
- }
29
+ privileges: Partial<
30
+ Record<"INSERT" | "REFERENCES" | "SELECT" | "UPDATE", true>
31
+ >;
32
+ };
36
33
 
37
34
  export type TableSchema = Pick<TableInfo, "uniqueColumnGroups"> & {
38
35
  schema: string;
@@ -52,7 +49,7 @@ export type TableSchema = Pick<TableInfo, "uniqueColumnGroups"> & {
52
49
  };
53
50
  /** Cannot add triggers to hyperTables */
54
51
  isHyperTable?: boolean;
55
- }
52
+ };
56
53
 
57
54
  export type SortItem = {
58
55
  asc: boolean;
@@ -66,13 +63,16 @@ export type SortItem = {
66
63
  wrapperQuerySortItem: string;
67
64
  joinAlias: string;
68
65
  };
69
- } & ({
70
- type: "query";
71
- fieldQuery: string;
72
- } | {
73
- type: "position";
74
- fieldPosition: number;
75
- });
66
+ } & (
67
+ | {
68
+ type: "query";
69
+ fieldQuery: string;
70
+ }
71
+ | {
72
+ type: "position";
73
+ fieldPosition: number;
74
+ }
75
+ );
76
76
 
77
77
  export type Media = {
78
78
  id?: string;
@@ -94,26 +94,27 @@ export type Media = {
94
94
  export type ParsedMedia = Required<Pick<Media, "extension" | "content_type">>;
95
95
 
96
96
  export type TxCB<TH = DbTxTableHandlers> = {
97
- (t: TH & Pick<DBHandlerServer, "sql">, _t: pgPromise.ITask<{}>): (any | void);
98
- }
97
+ (t: TH & Pick<DBHandlerServer, "sql">, _t: pgPromise.ITask<{}>): any | void;
98
+ };
99
99
  export type TX<TH = TableHandlers> = {
100
- (t: TxCB<TH>): Promise<(any | void)>;
101
- }
100
+ (t: TxCB<TH>): Promise<any | void>;
101
+ };
102
102
 
103
103
  export type TableHandlers = {
104
104
  [key: string]: Partial<TableHandler>;
105
- }
105
+ };
106
106
  export type DbTxTableHandlers = {
107
- [key: string]: Omit<Partial<TableHandler>, "dbTx"> | Omit<TableHandler, "dbTx">;
108
- }
109
-
107
+ [key: string]:
108
+ | Omit<Partial<TableHandler>, "dbTx">
109
+ | Omit<TableHandler, "dbTx">;
110
+ };
110
111
 
111
- export type DBHandlerServerExtra<TH = TableHandlers, WithTransactions = true> = {
112
+ export type DBHandlerServerExtra<
113
+ TH = TableHandlers,
114
+ WithTransactions = true,
115
+ > = {
112
116
  sql: SQLHandler;
113
- } & (
114
- WithTransactions extends true? { tx: TX<TH> } :
115
- Record<string, never>
116
- );
117
+ } & (WithTransactions extends true ? { tx: TX<TH> } : Record<string, never>);
117
118
 
118
119
  // export type DBHandlerServer<TH = TableHandlers> =
119
120
  // TH &
@@ -123,14 +124,12 @@ export type DBHandlerServerExtra<TH = TableHandlers, WithTransactions = true> =
123
124
  // tx?: TX<TH>
124
125
  // }
125
126
 
126
- export type DBHandlerServer<TH = TableHandlers> =
127
- TH &
127
+ export type DBHandlerServer<TH = TableHandlers> = TH &
128
128
  Partial<DbJoinMaker> & {
129
- sql?: SQLHandler
129
+ sql?: SQLHandler;
130
130
  } & {
131
- tx?: TX<TH>
132
- }
133
-
131
+ tx?: TX<TH>;
132
+ };
134
133
 
135
134
  export const pgp: PGP = pgPromise({
136
135
  // ,query: function (e) { console.log({psql: e.query, params: e.params}); }
@@ -142,15 +141,16 @@ export type TableInfo = TInfo & {
142
141
  oid: number;
143
142
  comment: string;
144
143
  columns: ColumnInfo[];
145
- }
144
+ };
146
145
 
147
146
  export type ViewInfo = TableInfo & {
148
- parent_tables: string[]
149
- }
147
+ parent_tables: string[];
148
+ };
150
149
 
151
- export type TableOrViewInfo = TableInfo & ViewInfo & {
152
- is_view: boolean;
153
- }
150
+ export type TableOrViewInfo = TableInfo &
151
+ ViewInfo & {
152
+ is_view: boolean;
153
+ };
154
154
 
155
155
  export type PRGLIOSocket = {
156
156
  readonly id: string;
@@ -161,15 +161,22 @@ export type PRGLIOSocket = {
161
161
  * IP Address
162
162
  */
163
163
  address: string;
164
- headers?: AnyObject & { cookie?: string; }; // e.g.: "some_arg=dwdaw; otherarg=23232"
164
+ headers?: AnyObject & { cookie?: string }; // e.g.: "some_arg=dwdaw; otherarg=23232"
165
165
  auth?: Record<string, any>;
166
- }
166
+ };
167
167
 
168
- readonly on: (channel: string, params: any, cb?: (err: any, res?: any) => void) => any;// Promise<void>;
168
+ readonly on: (
169
+ channel: string,
170
+ params: any,
171
+ cb?: (err: any, res?: any) => void,
172
+ ) => any; // Promise<void>;
169
173
 
170
174
  readonly emit: (channel: string, message?: any, cb?: BasicCallback) => any;
171
175
 
172
- readonly once: (channel: string, cb: (_data: any, cb: BasicCallback) => void) => void;
176
+ readonly once: (
177
+ channel: string,
178
+ cb: (_data: any, cb: BasicCallback) => void,
179
+ ) => void;
173
180
 
174
181
  readonly removeAllListeners: (channel: string) => void;
175
182
 
@@ -177,17 +184,17 @@ export type PRGLIOSocket = {
177
184
 
178
185
  readonly request: {
179
186
  url?: string;
180
- connection: { remoteAddress?: string; }
181
- }
187
+ connection: { remoteAddress?: string };
188
+ };
182
189
 
183
190
  /** Used for session caching */
184
191
  __prglCache?: {
185
192
  session: BasicSession;
186
193
  user: UserLike;
187
194
  clientUser: UserLike;
188
- }
195
+ };
189
196
 
190
- _user?: AnyObject
197
+ _user?: AnyObject;
191
198
 
192
199
  /** Used for publish error caching */
193
200
  prostgles?: ClientSchema;
@@ -207,7 +214,7 @@ export type LocalParams = {
207
214
  tx?: {
208
215
  dbTX: TableHandlers;
209
216
  t: pgPromise.ITask<{}>;
210
- }
217
+ };
211
218
 
212
219
  /** Used to exclude certain logs */
213
220
  noLog?: boolean;
@@ -222,14 +229,13 @@ export type LocalParams = {
222
229
  previousData: AnyObject;
223
230
  previousTable: string;
224
231
  referencingColumn?: string;
225
- }
226
- }
227
-
232
+ };
233
+ };
228
234
 
229
235
  export type Aggregation = {
230
- field: string,
231
- query: string,
232
- alias: string,
236
+ field: string;
237
+ query: string;
238
+ alias: string;
233
239
  getQuery: (alias: string) => string;
234
240
  };
235
241
 
@@ -239,50 +245,46 @@ export type JoinInfo = {
239
245
  /**
240
246
  * If true then all joins involve unique columns and the result is a 1 to 1 join
241
247
  */
242
- expectOne?: boolean,
248
+ expectOne?: boolean;
243
249
  paths: {
244
-
245
250
  /**
246
251
  * The table that JOIN ON columns refer to.
247
252
  * columns in index = 1 refer to this table. index = 0 columns refer to previous JoinInfo.table
248
253
  */
249
- table: string,
254
+ table: string;
250
255
 
251
256
  /**
252
257
  * Source and target JOIN ON column groups for each existing constraint
253
- * Each inner array group will be combined with AND and outer arrays with OR to allow multiple references to the same table
258
+ * Each inner array group will be combined with AND and outer arrays with OR to allow multiple references to the same table
254
259
  * e.g.: [[source_table_column: string, table_column: string]]
255
260
  */
256
- on: [string, string][][],
261
+ on: [string, string][][];
257
262
 
258
263
  /**
259
264
  * Source table name
260
265
  */
261
- source: string,
266
+ source: string;
262
267
 
263
268
  /**
264
269
  * Target table name
265
270
  */
266
- target: string
267
- }[]
268
- }
269
-
271
+ target: string;
272
+ }[];
273
+ };
270
274
 
271
275
  export type CommonTableRules = {
272
-
273
276
  /**
274
- * True by default. Allows clients to get column information on any columns that are allowed in (select, insert, update) field rules.
277
+ * True by default. Allows clients to get column information on any columns that are allowed in (select, insert, update) field rules.
275
278
  */
276
279
  getColumns?: PublishAllOrNothing;
277
280
 
278
281
  /**
279
- * True by default. Allows clients to get table information (oid, comment, label, has_media).
282
+ * True by default. Allows clients to get table information (oid, comment, label, has_media).
280
283
  */
281
- getInfo?: PublishAllOrNothing
282
- }
284
+ getInfo?: PublishAllOrNothing;
285
+ };
283
286
 
284
287
  export type ValidatedTableRules = CommonTableRules & {
285
-
286
288
  /* All columns of the view/table. Includes computed fields as well */
287
289
  allColumns: FieldSpec[];
288
290
 
@@ -301,7 +303,7 @@ export type ValidatedTableRules = CommonTableRules & {
301
303
 
302
304
  /* Max limit allowed for each select. 1000 by default. If null then an unlimited select is allowed when providing { limit: null } */
303
305
  maxLimit: number | null;
304
- },
306
+ };
305
307
  update: {
306
308
  /* Fields you can update */
307
309
  fields: string[];
@@ -317,7 +319,7 @@ export type ValidatedTableRules = CommonTableRules & {
317
319
 
318
320
  /* Data applied to every update */
319
321
  forcedData: any;
320
- },
322
+ };
321
323
  insert: {
322
324
  /* Fields you can insert */
323
325
  fields: string[];
@@ -327,7 +329,7 @@ export type ValidatedTableRules = CommonTableRules & {
327
329
 
328
330
  /* Data applied to every insert */
329
331
  forcedData: any;
330
- },
332
+ };
331
333
  delete: {
332
334
  /* Fields to filter by when deleting */
333
335
  filterFields: string[];
@@ -337,8 +339,8 @@ export type ValidatedTableRules = CommonTableRules & {
337
339
 
338
340
  /* Fields you can return after deleting */
339
341
  returningFields: string[];
340
- }
341
- }
342
+ };
343
+ };
342
344
 
343
345
  export type ExistsFilterConfig = {
344
346
  existType: EXISTS_KEY;
@@ -346,17 +348,19 @@ export type ExistsFilterConfig = {
346
348
  * Target table filter. target table is the last table from tables
347
349
  */
348
350
  targetTableFilter: Filter;
349
-
350
- } & ({
351
- isJoined: true;
352
- /**
353
- * list of join tables in their order
354
- * If table path starts with "**" then get shortest join to first table
355
- * e.g.: "**.users" means finding the shortest join from root table to users table
356
- */
357
- path: RawJoinPath;
358
- parsedPath: ParsedJoinPath[]
359
- } | {
360
- isJoined: false;
361
- targetTable: string;
362
- });
351
+ } & (
352
+ | {
353
+ isJoined: true;
354
+ /**
355
+ * list of join tables in their order
356
+ * If table path starts with "**" then get shortest join to first table
357
+ * e.g.: "**.users" means finding the shortest join from root table to users table
358
+ */
359
+ path: RawJoinPath;
360
+ parsedPath: ParsedJoinPath[];
361
+ }
362
+ | {
363
+ isJoined: false;
364
+ targetTable: string;
365
+ }
366
+ );