prostgles-server 4.2.183 → 4.2.184

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 (430) 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.map +1 -1
  5. package/dist/Auth/AuthHandler.js +71 -33
  6. package/dist/Auth/AuthHandler.js.map +1 -1
  7. package/dist/Auth/AuthTypes.d.ts.map +1 -1
  8. package/dist/Auth/getSafeReturnURL.d.ts.map +1 -1
  9. package/dist/Auth/getSafeReturnURL.js.map +1 -1
  10. package/dist/Auth/sendEmail.d.ts.map +1 -1
  11. package/dist/Auth/sendEmail.js +6 -6
  12. package/dist/Auth/sendEmail.js.map +1 -1
  13. package/dist/Auth/setAuthProviders.d.ts +1 -1
  14. package/dist/Auth/setAuthProviders.d.ts.map +1 -1
  15. package/dist/Auth/setAuthProviders.js +15 -8
  16. package/dist/Auth/setAuthProviders.js.map +1 -1
  17. package/dist/Auth/setEmailProvider.d.ts.map +1 -1
  18. package/dist/Auth/setEmailProvider.js +21 -6
  19. package/dist/Auth/setEmailProvider.js.map +1 -1
  20. package/dist/Auth/setupAuthRoutes.d.ts.map +1 -1
  21. package/dist/Auth/setupAuthRoutes.js +27 -9
  22. package/dist/Auth/setupAuthRoutes.js.map +1 -1
  23. package/dist/DBEventsManager.d.ts.map +1 -1
  24. package/dist/DBEventsManager.js +24 -19
  25. package/dist/DBEventsManager.js.map +1 -1
  26. package/dist/DBSchemaBuilder.d.ts.map +1 -1
  27. package/dist/DBSchemaBuilder.js +18 -5
  28. package/dist/DBSchemaBuilder.js.map +1 -1
  29. package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
  30. package/dist/DboBuilder/DboBuilder.js +7 -2
  31. package/dist/DboBuilder/DboBuilder.js.map +1 -1
  32. package/dist/DboBuilder/DboBuilderTypes.d.ts +4 -4
  33. package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
  34. package/dist/DboBuilder/DboBuilderTypes.js.map +1 -1
  35. package/dist/DboBuilder/QueryBuilder/Functions.d.ts +2 -2
  36. package/dist/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
  37. package/dist/DboBuilder/QueryBuilder/Functions.js +293 -173
  38. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  39. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts +2 -2
  40. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
  41. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +52 -29
  42. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
  43. package/dist/DboBuilder/QueryBuilder/getJoinQuery.d.ts.map +1 -1
  44. package/dist/DboBuilder/QueryBuilder/getJoinQuery.js +51 -32
  45. package/dist/DboBuilder/QueryBuilder/getJoinQuery.js.map +1 -1
  46. package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
  47. package/dist/DboBuilder/QueryBuilder/getNewQuery.js +48 -25
  48. package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
  49. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts +1 -1
  50. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts.map +1 -1
  51. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js +32 -23
  52. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
  53. package/dist/DboBuilder/QueryStreamer.d.ts +2 -2
  54. package/dist/DboBuilder/QueryStreamer.d.ts.map +1 -1
  55. package/dist/DboBuilder/QueryStreamer.js +68 -23
  56. package/dist/DboBuilder/QueryStreamer.js.map +1 -1
  57. package/dist/DboBuilder/TableHandler/DataValidator.d.ts +1 -1
  58. package/dist/DboBuilder/TableHandler/DataValidator.d.ts.map +1 -1
  59. package/dist/DboBuilder/TableHandler/DataValidator.js +79 -43
  60. package/dist/DboBuilder/TableHandler/DataValidator.js.map +1 -1
  61. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  62. package/dist/DboBuilder/TableHandler/TableHandler.js +39 -15
  63. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  64. package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
  65. package/dist/DboBuilder/TableHandler/delete.js +44 -13
  66. package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
  67. package/dist/DboBuilder/TableHandler/insert.d.ts.map +1 -1
  68. package/dist/DboBuilder/TableHandler/insert.js +81 -22
  69. package/dist/DboBuilder/TableHandler/insert.js.map +1 -1
  70. package/dist/DboBuilder/TableHandler/insertTest.d.ts.map +1 -1
  71. package/dist/DboBuilder/TableHandler/insertTest.js.map +1 -1
  72. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts +1 -1
  73. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts.map +1 -1
  74. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js +7 -4
  75. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js.map +1 -1
  76. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
  77. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +24 -5
  78. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
  79. package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
  80. package/dist/DboBuilder/TableHandler/update.js +16 -4
  81. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  82. package/dist/DboBuilder/TableHandler/updateBatch.d.ts.map +1 -1
  83. package/dist/DboBuilder/TableHandler/updateBatch.js +33 -10
  84. package/dist/DboBuilder/TableHandler/updateBatch.js.map +1 -1
  85. package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
  86. package/dist/DboBuilder/TableHandler/updateFile.js +24 -6
  87. package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
  88. package/dist/DboBuilder/TableHandler/upsert.d.ts.map +1 -1
  89. package/dist/DboBuilder/TableHandler/upsert.js +22 -6
  90. package/dist/DboBuilder/TableHandler/upsert.js.map +1 -1
  91. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +5 -5
  92. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
  93. package/dist/DboBuilder/ViewHandler/ViewHandler.js +64 -36
  94. package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
  95. package/dist/DboBuilder/ViewHandler/count.d.ts.map +1 -1
  96. package/dist/DboBuilder/ViewHandler/count.js +21 -7
  97. package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
  98. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  99. package/dist/DboBuilder/ViewHandler/find.js +76 -22
  100. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  101. package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts.map +1 -1
  102. package/dist/DboBuilder/ViewHandler/getExistsCondition.js +19 -10
  103. package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
  104. package/dist/DboBuilder/ViewHandler/getExistsFilters.d.ts.map +1 -1
  105. package/dist/DboBuilder/ViewHandler/getExistsFilters.js +12 -5
  106. package/dist/DboBuilder/ViewHandler/getExistsFilters.js.map +1 -1
  107. package/dist/DboBuilder/ViewHandler/getInfo.d.ts.map +1 -1
  108. package/dist/DboBuilder/ViewHandler/getInfo.js +27 -9
  109. package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
  110. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts +2 -2
  111. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
  112. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +42 -23
  113. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
  114. package/dist/DboBuilder/ViewHandler/parseComplexFilter.d.ts.map +1 -1
  115. package/dist/DboBuilder/ViewHandler/parseComplexFilter.js +22 -9
  116. package/dist/DboBuilder/ViewHandler/parseComplexFilter.js.map +1 -1
  117. package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts +4 -4
  118. package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts.map +1 -1
  119. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js +13 -11
  120. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js.map +1 -1
  121. package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts +1 -1
  122. package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts.map +1 -1
  123. package/dist/DboBuilder/ViewHandler/parseJoinPath.js +44 -29
  124. package/dist/DboBuilder/ViewHandler/parseJoinPath.js.map +1 -1
  125. package/dist/DboBuilder/ViewHandler/prepareSortItems.d.ts.map +1 -1
  126. package/dist/DboBuilder/ViewHandler/prepareSortItems.js +36 -27
  127. package/dist/DboBuilder/ViewHandler/prepareSortItems.js.map +1 -1
  128. package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts.map +1 -1
  129. package/dist/DboBuilder/ViewHandler/prepareWhere.js +16 -12
  130. package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
  131. package/dist/DboBuilder/ViewHandler/size.d.ts.map +1 -1
  132. package/dist/DboBuilder/ViewHandler/size.js +24 -7
  133. package/dist/DboBuilder/ViewHandler/size.js.map +1 -1
  134. package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
  135. package/dist/DboBuilder/ViewHandler/subscribe.js +40 -12
  136. package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
  137. package/dist/DboBuilder/ViewHandler/validateViewRules.d.ts.map +1 -1
  138. package/dist/DboBuilder/ViewHandler/validateViewRules.js +20 -5
  139. package/dist/DboBuilder/ViewHandler/validateViewRules.js.map +1 -1
  140. package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
  141. package/dist/DboBuilder/dboBuilderUtils.js +18 -7
  142. package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
  143. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  144. package/dist/DboBuilder/getColumns.js +22 -7
  145. package/dist/DboBuilder/getColumns.js.map +1 -1
  146. package/dist/DboBuilder/getCondition.d.ts.map +1 -1
  147. package/dist/DboBuilder/getCondition.js +43 -30
  148. package/dist/DboBuilder/getCondition.js.map +1 -1
  149. package/dist/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
  150. package/dist/DboBuilder/getSubscribeRelatedTables.js +38 -27
  151. package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
  152. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +1 -1
  153. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js +9 -9
  154. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js.map +1 -1
  155. package/dist/DboBuilder/insertNestedRecords.d.ts +3 -3
  156. package/dist/DboBuilder/insertNestedRecords.d.ts.map +1 -1
  157. package/dist/DboBuilder/insertNestedRecords.js +79 -44
  158. package/dist/DboBuilder/insertNestedRecords.js.map +1 -1
  159. package/dist/DboBuilder/parseUpdateRules.d.ts.map +1 -1
  160. package/dist/DboBuilder/parseUpdateRules.js +38 -14
  161. package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
  162. package/dist/DboBuilder/prepareShortestJoinPaths.d.ts.map +1 -1
  163. package/dist/DboBuilder/prepareShortestJoinPaths.js +56 -31
  164. package/dist/DboBuilder/prepareShortestJoinPaths.js.map +1 -1
  165. package/dist/DboBuilder/runSQL.d.ts.map +1 -1
  166. package/dist/DboBuilder/runSQL.js +41 -21
  167. package/dist/DboBuilder/runSQL.js.map +1 -1
  168. package/dist/DboBuilder/runTransaction.d.ts +1 -1
  169. package/dist/DboBuilder/runTransaction.d.ts.map +1 -1
  170. package/dist/DboBuilder/runTransaction.js +2 -2
  171. package/dist/DboBuilder/runTransaction.js.map +1 -1
  172. package/dist/DboBuilder/sqlErrCodeToMsg.d.ts.map +1 -1
  173. package/dist/DboBuilder/sqlErrCodeToMsg.js +297 -38
  174. package/dist/DboBuilder/sqlErrCodeToMsg.js.map +1 -1
  175. package/dist/DboBuilder/uploadFile.d.ts.map +1 -1
  176. package/dist/DboBuilder/uploadFile.js +33 -9
  177. package/dist/DboBuilder/uploadFile.js.map +1 -1
  178. package/dist/Event_Trigger_Tags.d.ts +1 -1
  179. package/dist/Event_Trigger_Tags.d.ts.map +1 -1
  180. package/dist/Event_Trigger_Tags.js +1 -1
  181. package/dist/Event_Trigger_Tags.js.map +1 -1
  182. package/dist/FileManager/FileManager.d.ts.map +1 -1
  183. package/dist/FileManager/FileManager.js +6 -3
  184. package/dist/FileManager/FileManager.js.map +1 -1
  185. package/dist/FileManager/getValidatedFileType.d.ts.map +1 -1
  186. package/dist/FileManager/getValidatedFileType.js +18 -16
  187. package/dist/FileManager/getValidatedFileType.js.map +1 -1
  188. package/dist/FileManager/initFileManager.d.ts.map +1 -1
  189. package/dist/FileManager/initFileManager.js +7 -1
  190. package/dist/FileManager/initFileManager.js.map +1 -1
  191. package/dist/FileManager/upload.d.ts +1 -1
  192. package/dist/FileManager/upload.d.ts.map +1 -1
  193. package/dist/FileManager/upload.js +3 -3
  194. package/dist/FileManager/upload.js.map +1 -1
  195. package/dist/FileManager/uploadStream.d.ts +1 -1
  196. package/dist/FileManager/uploadStream.d.ts.map +1 -1
  197. package/dist/FileManager/uploadStream.js +6 -7
  198. package/dist/FileManager/uploadStream.js.map +1 -1
  199. package/dist/Filtering.d.ts +3 -3
  200. package/dist/Filtering.d.ts.map +1 -1
  201. package/dist/Filtering.js +70 -37
  202. package/dist/Filtering.js.map +1 -1
  203. package/dist/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +1 -1
  204. package/dist/JSONBValidation/validate_jsonb_schema_sql.js +1 -4
  205. package/dist/JSONBValidation/validate_jsonb_schema_sql.js.map +1 -1
  206. package/dist/JSONBValidation/validation.d.ts.map +1 -1
  207. package/dist/JSONBValidation/validation.js +46 -24
  208. package/dist/JSONBValidation/validation.js.map +1 -1
  209. package/dist/Logging.d.ts +2 -2
  210. package/dist/Logging.d.ts.map +1 -1
  211. package/dist/PostgresNotifListenManager.d.ts.map +1 -1
  212. package/dist/PostgresNotifListenManager.js +20 -22
  213. package/dist/PostgresNotifListenManager.js.map +1 -1
  214. package/dist/Prostgles.d.ts +1 -1
  215. package/dist/Prostgles.d.ts.map +1 -1
  216. package/dist/Prostgles.js +37 -11
  217. package/dist/Prostgles.js.map +1 -1
  218. package/dist/ProstglesTypes.d.ts.map +1 -1
  219. package/dist/ProstglesTypes.js +6 -1
  220. package/dist/ProstglesTypes.js.map +1 -1
  221. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  222. package/dist/PubSubManager/PubSubManager.js +10 -5
  223. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  224. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  225. package/dist/PubSubManager/addSub.js +4 -6
  226. package/dist/PubSubManager/addSub.js.map +1 -1
  227. package/dist/PubSubManager/addSync.d.ts.map +1 -1
  228. package/dist/PubSubManager/addSync.js +10 -6
  229. package/dist/PubSubManager/addSync.js.map +1 -1
  230. package/dist/PubSubManager/getCreatePubSubManagerError.d.ts.map +1 -1
  231. package/dist/PubSubManager/getCreatePubSubManagerError.js +3 -1
  232. package/dist/PubSubManager/getCreatePubSubManagerError.js.map +1 -1
  233. package/dist/PubSubManager/getPubSubManagerInitQuery.d.ts.map +1 -1
  234. package/dist/PubSubManager/getPubSubManagerInitQuery.js +8 -8
  235. package/dist/PubSubManager/getPubSubManagerInitQuery.js.map +1 -1
  236. package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
  237. package/dist/PubSubManager/initPubSubManager.js +7 -9
  238. package/dist/PubSubManager/initPubSubManager.js.map +1 -1
  239. package/dist/PubSubManager/notifListener.d.ts.map +1 -1
  240. package/dist/PubSubManager/notifListener.js +23 -12
  241. package/dist/PubSubManager/notifListener.js.map +1 -1
  242. package/dist/PubSubManager/orphanTriggerCheck.d.ts.map +1 -1
  243. package/dist/PubSubManager/orphanTriggerCheck.js.map +1 -1
  244. package/dist/PubSubManager/pushSubData.d.ts.map +1 -1
  245. package/dist/PubSubManager/pushSubData.js +1 -1
  246. package/dist/PubSubManager/pushSubData.js.map +1 -1
  247. package/dist/PublishParser/PublishParser.d.ts +1 -1
  248. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  249. package/dist/PublishParser/PublishParser.js +25 -14
  250. package/dist/PublishParser/PublishParser.js.map +1 -1
  251. package/dist/PublishParser/getFileTableRules.d.ts.map +1 -1
  252. package/dist/PublishParser/getFileTableRules.js +23 -16
  253. package/dist/PublishParser/getFileTableRules.js.map +1 -1
  254. package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
  255. package/dist/PublishParser/getSchemaFromPublish.js +39 -16
  256. package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
  257. package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +1 -1
  258. package/dist/PublishParser/getTableRulesWithoutFileTable.js +42 -22
  259. package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +1 -1
  260. package/dist/PublishParser/publishTypesAndUtils.d.ts.map +1 -1
  261. package/dist/PublishParser/publishTypesAndUtils.js +5 -1
  262. package/dist/PublishParser/publishTypesAndUtils.js.map +1 -1
  263. package/dist/RestApi.d.ts +1 -1
  264. package/dist/RestApi.d.ts.map +1 -1
  265. package/dist/RestApi.js +1 -1
  266. package/dist/RestApi.js.map +1 -1
  267. package/dist/SchemaWatch/SchemaWatch.d.ts +2 -2
  268. package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -1
  269. package/dist/SchemaWatch/SchemaWatch.js +11 -9
  270. package/dist/SchemaWatch/SchemaWatch.js.map +1 -1
  271. package/dist/SchemaWatch/getValidatedWatchSchemaType.d.ts.map +1 -1
  272. package/dist/SchemaWatch/getValidatedWatchSchemaType.js +3 -3
  273. package/dist/SchemaWatch/getValidatedWatchSchemaType.js.map +1 -1
  274. package/dist/SchemaWatch/getWatchSchemaTagList.d.ts.map +1 -1
  275. package/dist/SchemaWatch/getWatchSchemaTagList.js +12 -6
  276. package/dist/SchemaWatch/getWatchSchemaTagList.js.map +1 -1
  277. package/dist/SyncReplication.d.ts.map +1 -1
  278. package/dist/SyncReplication.js +84 -42
  279. package/dist/SyncReplication.js.map +1 -1
  280. package/dist/TableConfig/TableConfig.d.ts +5 -5
  281. package/dist/TableConfig/TableConfig.d.ts.map +1 -1
  282. package/dist/TableConfig/TableConfig.js +18 -5
  283. package/dist/TableConfig/TableConfig.js.map +1 -1
  284. package/dist/TableConfig/getColumnDefinitionQuery.d.ts +2 -2
  285. package/dist/TableConfig/getColumnDefinitionQuery.d.ts.map +1 -1
  286. package/dist/TableConfig/getColumnDefinitionQuery.js +20 -9
  287. package/dist/TableConfig/getColumnDefinitionQuery.js.map +1 -1
  288. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts +3 -3
  289. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
  290. package/dist/TableConfig/getConstraintDefinitionQueries.js +12 -7
  291. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  292. package/dist/TableConfig/getFutureTableSchema.d.ts +1 -1
  293. package/dist/TableConfig/getFutureTableSchema.d.ts.map +1 -1
  294. package/dist/TableConfig/getFutureTableSchema.js +6 -4
  295. package/dist/TableConfig/getFutureTableSchema.js.map +1 -1
  296. package/dist/TableConfig/getPGIndexes.d.ts.map +1 -1
  297. package/dist/TableConfig/getPGIndexes.js.map +1 -1
  298. package/dist/TableConfig/getTableColumnQueries.d.ts +1 -1
  299. package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -1
  300. package/dist/TableConfig/getTableColumnQueries.js +38 -19
  301. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  302. package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
  303. package/dist/TableConfig/initTableConfig.js +91 -43
  304. package/dist/TableConfig/initTableConfig.js.map +1 -1
  305. package/dist/index.d.ts.map +1 -1
  306. package/dist/index.js.map +1 -1
  307. package/dist/initProstgles.d.ts.map +1 -1
  308. package/dist/initProstgles.js +14 -10
  309. package/dist/initProstgles.js.map +1 -1
  310. package/dist/onSocketConnected.d.ts.map +1 -1
  311. package/dist/onSocketConnected.js +38 -16
  312. package/dist/onSocketConnected.js.map +1 -1
  313. package/dist/runClientRequest.d.ts.map +1 -1
  314. package/dist/runClientRequest.js +33 -14
  315. package/dist/runClientRequest.js.map +1 -1
  316. package/dist/shortestPath.d.ts.map +1 -1
  317. package/dist/shortestPath.js +1 -1
  318. package/dist/shortestPath.js.map +1 -1
  319. package/dist/typeTests/dboTypeCheck.js.map +1 -1
  320. package/examples/full-example-typescript/DBoGenerated.d.ts +112 -54
  321. package/examples/full-example-typescript/DBoGenerated.js +3 -3
  322. package/examples/full-example-typescript/home.html +28 -26
  323. package/examples/full-example-typescript/index.d.ts +1 -1
  324. package/examples/full-example-typescript/index.js +80 -53
  325. package/examples/full-example-vanilla/home.html +151 -125
  326. package/examples/server/javascript/index.js +17 -19
  327. package/lib/Auth/AuthHandler.ts +285 -167
  328. package/lib/Auth/AuthTypes.ts +43 -12
  329. package/lib/Auth/getSafeReturnURL.ts +35 -21
  330. package/lib/Auth/sendEmail.ts +34 -31
  331. package/lib/Auth/setAuthProviders.ts +94 -71
  332. package/lib/Auth/setEmailProvider.ts +53 -36
  333. package/lib/Auth/setupAuthRoutes.ts +164 -100
  334. package/lib/DBEventsManager.ts +87 -65
  335. package/lib/DBSchemaBuilder.ts +62 -28
  336. package/lib/DboBuilder/DboBuilder.ts +45 -21
  337. package/lib/DboBuilder/DboBuilderTypes.ts +99 -95
  338. package/lib/DboBuilder/QueryBuilder/Functions.ts +862 -580
  339. package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +202 -141
  340. package/lib/DboBuilder/QueryBuilder/getJoinQuery.ts +199 -124
  341. package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +209 -148
  342. package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +101 -75
  343. package/lib/DboBuilder/QueryBuilder/prepareHaving.ts +10 -5
  344. package/lib/DboBuilder/QueryStreamer.ts +207 -100
  345. package/lib/DboBuilder/TableHandler/DataValidator.ts +253 -148
  346. package/lib/DboBuilder/TableHandler/TableHandler.ts +155 -60
  347. package/lib/DboBuilder/TableHandler/delete.ts +82 -29
  348. package/lib/DboBuilder/TableHandler/insert.ts +177 -81
  349. package/lib/DboBuilder/TableHandler/insertTest.ts +13 -7
  350. package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +35 -21
  351. package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +95 -45
  352. package/lib/DboBuilder/TableHandler/update.ts +54 -14
  353. package/lib/DboBuilder/TableHandler/updateBatch.ts +59 -21
  354. package/lib/DboBuilder/TableHandler/updateFile.ts +57 -26
  355. package/lib/DboBuilder/TableHandler/upsert.ts +58 -13
  356. package/lib/DboBuilder/ViewHandler/ViewHandler.ts +264 -121
  357. package/lib/DboBuilder/ViewHandler/count.ts +56 -25
  358. package/lib/DboBuilder/ViewHandler/find.ts +153 -68
  359. package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +59 -32
  360. package/lib/DboBuilder/ViewHandler/getExistsFilters.ts +31 -19
  361. package/lib/DboBuilder/ViewHandler/getInfo.ts +47 -16
  362. package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +91 -57
  363. package/lib/DboBuilder/ViewHandler/parseComplexFilter.ts +51 -29
  364. package/lib/DboBuilder/ViewHandler/parseFieldFilter.ts +35 -29
  365. package/lib/DboBuilder/ViewHandler/parseJoinPath.ts +130 -76
  366. package/lib/DboBuilder/ViewHandler/prepareSortItems.ts +140 -92
  367. package/lib/DboBuilder/ViewHandler/prepareWhere.ts +66 -26
  368. package/lib/DboBuilder/ViewHandler/size.ts +56 -22
  369. package/lib/DboBuilder/ViewHandler/subscribe.ts +122 -46
  370. package/lib/DboBuilder/ViewHandler/validateViewRules.ts +39 -14
  371. package/lib/DboBuilder/dboBuilderUtils.ts +41 -18
  372. package/lib/DboBuilder/getColumns.ts +44 -12
  373. package/lib/DboBuilder/getCondition.ts +120 -79
  374. package/lib/DboBuilder/getSubscribeRelatedTables.ts +144 -83
  375. package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +61 -44
  376. package/lib/DboBuilder/insertNestedRecords.ts +370 -235
  377. package/lib/DboBuilder/parseUpdateRules.ts +117 -61
  378. package/lib/DboBuilder/prepareShortestJoinPaths.ts +115 -56
  379. package/lib/DboBuilder/runSQL.ts +135 -74
  380. package/lib/DboBuilder/runTransaction.ts +27 -16
  381. package/lib/DboBuilder/sqlErrCodeToMsg.ts +502 -244
  382. package/lib/DboBuilder/uploadFile.ts +67 -31
  383. package/lib/Event_Trigger_Tags.ts +6 -4
  384. package/lib/FileManager/FileManager.ts +53 -21
  385. package/lib/FileManager/getValidatedFileType.ts +79 -35
  386. package/lib/FileManager/initFileManager.ts +21 -9
  387. package/lib/FileManager/upload.ts +21 -19
  388. package/lib/FileManager/uploadStream.ts +33 -34
  389. package/lib/Filtering.ts +249 -197
  390. package/lib/JSONBValidation/validate_jsonb_schema_sql.ts +2 -7
  391. package/lib/JSONBValidation/validation.ts +147 -82
  392. package/lib/Logging.ts +107 -97
  393. package/lib/PostgresNotifListenManager.ts +96 -63
  394. package/lib/Prostgles.ts +106 -35
  395. package/lib/ProstglesTypes.ts +31 -9
  396. package/lib/PubSubManager/PubSubManager.ts +62 -27
  397. package/lib/PubSubManager/addSub.ts +56 -37
  398. package/lib/PubSubManager/addSync.ts +50 -33
  399. package/lib/PubSubManager/getCreatePubSubManagerError.ts +29 -21
  400. package/lib/PubSubManager/getPubSubManagerInitQuery.ts +45 -27
  401. package/lib/PubSubManager/initPubSubManager.ts +27 -18
  402. package/lib/PubSubManager/notifListener.ts +77 -59
  403. package/lib/PubSubManager/orphanTriggerCheck.ts +5 -4
  404. package/lib/PubSubManager/pushSubData.ts +11 -9
  405. package/lib/PublishParser/PublishParser.ts +102 -44
  406. package/lib/PublishParser/getFileTableRules.ts +97 -54
  407. package/lib/PublishParser/getSchemaFromPublish.ts +146 -74
  408. package/lib/PublishParser/getTableRulesWithoutFileTable.ts +101 -51
  409. package/lib/PublishParser/publishTypesAndUtils.ts +74 -23
  410. package/lib/RestApi.ts +10 -2
  411. package/lib/SchemaWatch/SchemaWatch.ts +52 -34
  412. package/lib/SchemaWatch/createSchemaWatchEventTrigger.ts +1 -1
  413. package/lib/SchemaWatch/getValidatedWatchSchemaType.ts +32 -22
  414. package/lib/SchemaWatch/getWatchSchemaTagList.ts +24 -16
  415. package/lib/SyncReplication.ts +376 -190
  416. package/lib/TableConfig/TableConfig.ts +200 -136
  417. package/lib/TableConfig/getColumnDefinitionQuery.ts +65 -44
  418. package/lib/TableConfig/getConstraintDefinitionQueries.ts +41 -25
  419. package/lib/TableConfig/getFutureTableSchema.ts +31 -21
  420. package/lib/TableConfig/getPGIndexes.ts +7 -4
  421. package/lib/TableConfig/getTableColumnQueries.ts +101 -54
  422. package/lib/TableConfig/initTableConfig.ts +192 -101
  423. package/lib/index.ts +6 -5
  424. package/lib/initProstgles.ts +57 -51
  425. package/lib/onSocketConnected.ts +75 -40
  426. package/lib/runClientRequest.ts +148 -79
  427. package/lib/shortestPath.ts +80 -76
  428. package/lib/typeTests/DBoGenerated.d.ts +5 -1
  429. package/lib/typeTests/dboTypeCheck.ts +8 -8
  430. package/package.json +1 -1
@@ -1,17 +1,19 @@
1
- import { PostgresNotifListenManager, PrglNotifListener } from "./PostgresNotifListenManager";
1
+ import {
2
+ PostgresNotifListenManager,
3
+ PrglNotifListener,
4
+ } from "./PostgresNotifListenManager";
2
5
  import { DB, PGP } from "./Prostgles";
3
6
  import { getKeys, CHANNELS } from "prostgles-types";
4
7
  import { PRGLIOSocket } from "./DboBuilder/DboBuilder";
5
8
 
6
9
  export class DBEventsManager {
7
-
8
- notifies: {
10
+ notifies: {
9
11
  [key: string]: {
10
12
  socketChannel: string;
11
- sockets: any[];
13
+ sockets: any[];
12
14
  localFuncs: ((payload: string) => void)[];
13
15
  notifMgr: PostgresNotifListenManager;
14
- }
16
+ };
15
17
  } = {};
16
18
 
17
19
  notice: {
@@ -21,73 +23,82 @@ export class DBEventsManager {
21
23
  } = {
22
24
  socketChannel: CHANNELS.NOTICE_EV,
23
25
  socketUnsubChannel: CHANNELS.NOTICE_EV + "unsubscribe",
24
- sockets: []
26
+ sockets: [],
25
27
  };
26
28
 
27
29
  notifManager?: PostgresNotifListenManager;
28
30
 
29
31
  db_pg: DB;
30
- pgp: PGP
31
- constructor(db_pg: DB, pgp: PGP){
32
+ pgp: PGP;
33
+ constructor(db_pg: DB, pgp: PGP) {
32
34
  this.db_pg = db_pg;
33
35
  this.pgp = pgp;
34
36
  }
35
37
 
36
38
  private onNotif: PrglNotifListener = ({ channel, payload }) => {
37
-
38
39
  // console.log(36, { channel, payload }, Object.keys(this.notifies));
39
40
 
40
41
  getKeys(this.notifies)
41
- .filter(ch => ch === channel)
42
- .map(ch => {
42
+ .filter((ch) => ch === channel)
43
+ .map((ch) => {
43
44
  const sub = this.notifies[ch]!;
44
-
45
- sub.sockets.map(s => {
46
- s.emit(sub.socketChannel, payload)
45
+
46
+ sub.sockets.map((s) => {
47
+ s.emit(sub.socketChannel, payload);
47
48
  });
48
- sub.localFuncs.map(lf => {
49
+ sub.localFuncs.map((lf) => {
49
50
  lf(payload);
50
- })
51
+ });
51
52
  });
52
- }
53
+ };
53
54
 
54
55
  onNotice = (notice: any) => {
55
- if(this.notice && this.notice.sockets.length){
56
- this.notice.sockets.map(s => {
56
+ if (this.notice && this.notice.sockets.length) {
57
+ this.notice.sockets.map((s) => {
57
58
  s.emit(this.notice.socketChannel, notice);
58
- })
59
+ });
59
60
  }
60
- }
61
+ };
61
62
 
62
63
  getNotifChannelName = async (channel: string) => {
63
64
  const c = await this.db_pg.one("SELECT quote_ident($1) as c", channel);
64
65
  return c.c;
65
- }
66
+ };
66
67
 
67
- async addNotify(query: string, socket?: PRGLIOSocket, func?: any): Promise<{
68
+ async addNotify(
69
+ query: string,
70
+ socket?: PRGLIOSocket,
71
+ func?: any,
72
+ ): Promise<{
68
73
  socketChannel: string;
69
74
  socketUnsubChannel: string;
70
75
  notifChannel: string;
71
76
  unsubscribe?: () => void;
72
77
  }> {
73
- if(typeof query !== "string" || (!socket && !func)){
74
- throw "Expecting (query: string, socket?, localFunc?) But received: " + JSON.stringify({ query, socket, func });
78
+ if (typeof query !== "string" || (!socket && !func)) {
79
+ throw (
80
+ "Expecting (query: string, socket?, localFunc?) But received: " +
81
+ JSON.stringify({ query, socket, func })
82
+ );
75
83
  }
76
84
 
77
85
  /* Remove comments */
78
- let q = query.trim()
79
- .replace(/\/\*[\s\S]*?\*\/|\/\/.*/g,'\n')
80
- .split("\n").map(v => v.trim()).filter(v => v && !v.startsWith("--"))
86
+ let q = query
87
+ .trim()
88
+ .replace(/\/\*[\s\S]*?\*\/|\/\/.*/g, "\n")
89
+ .split("\n")
90
+ .map((v) => v.trim())
91
+ .filter((v) => v && !v.startsWith("--"))
81
92
  .join("\n");
82
93
 
83
94
  /* Find the notify channel name */
84
- if(!q.toLowerCase().startsWith("listen")){
95
+ if (!q.toLowerCase().startsWith("listen")) {
85
96
  throw "Expecting a LISTEN query but got: " + query;
86
97
  }
87
98
  q = q.slice(7).trim(); // Remove listen
88
- if(q.endsWith(";")) q = q.slice(0, -1);
99
+ if (q.endsWith(";")) q = q.slice(0, -1);
89
100
 
90
- if(q.startsWith('"') && q.endsWith('"')) {
101
+ if (q.startsWith('"') && q.endsWith('"')) {
91
102
  q = q.slice(1, -1);
92
103
  } else {
93
104
  /* Replicate PG by lowercasing identifier if not quoted */
@@ -95,35 +106,40 @@ export class DBEventsManager {
95
106
  }
96
107
  q = q.replace(/""/g, `"`);
97
108
 
98
- const channel = q;
99
- let notifChannel = await this.getNotifChannelName(channel)
109
+ const channel = q;
110
+ let notifChannel = await this.getNotifChannelName(channel);
100
111
 
101
112
  notifChannel = notifChannel.replace(/""/g, `"`);
102
- if(notifChannel.startsWith('"')) notifChannel = notifChannel.slice(1, -1);
113
+ if (notifChannel.startsWith('"')) notifChannel = notifChannel.slice(1, -1);
103
114
 
104
115
  const socketChannel = CHANNELS.LISTEN_EV + notifChannel,
105
116
  socketUnsubChannel = socketChannel + "unsubscribe";
106
117
 
107
- if(!this.notifies[notifChannel]){
118
+ if (!this.notifies[notifChannel]) {
108
119
  this.notifies[notifChannel] = {
109
120
  socketChannel,
110
- sockets: socket? [socket] : [],
111
- localFuncs: func? [func] : [],
112
- notifMgr: await PostgresNotifListenManager.create(this.db_pg, this.onNotif, channel)
113
- }
114
-
121
+ sockets: socket ? [socket] : [],
122
+ localFuncs: func ? [func] : [],
123
+ notifMgr: await PostgresNotifListenManager.create(
124
+ this.db_pg,
125
+ this.onNotif,
126
+ channel,
127
+ ),
128
+ };
115
129
  } else {
116
- if(socket && !this.notifies[notifChannel]!.sockets.find(s => s.id === socket.id)) {
130
+ if (
131
+ socket &&
132
+ !this.notifies[notifChannel]!.sockets.find((s) => s.id === socket.id)
133
+ ) {
117
134
  this.notifies[notifChannel]!.sockets.push(socket);
118
-
119
- } else if(func) {
135
+ } else if (func) {
120
136
  this.notifies[notifChannel]!.localFuncs.push(func);
121
137
  }
122
138
  }
123
139
 
124
- if(socket){
140
+ if (socket) {
125
141
  socket.removeAllListeners(socketUnsubChannel);
126
- socket.on(socketUnsubChannel, ()=>{
142
+ socket.on(socketUnsubChannel, () => {
127
143
  this.removeNotify(notifChannel, socket);
128
144
  });
129
145
  }
@@ -132,32 +148,38 @@ export class DBEventsManager {
132
148
  socketChannel,
133
149
  socketUnsubChannel,
134
150
  notifChannel,
135
- }
151
+ };
136
152
  }
137
153
 
138
- removeNotify(channel?: string, socket?: PRGLIOSocket, func?: any){
139
- const notifChannel = channel && this.notifies[channel]
140
- if(notifChannel){
141
- if(socket){
142
- notifChannel.sockets = notifChannel.sockets.filter(s => s.id !== socket.id);
143
- } else if(func){
144
- notifChannel.localFuncs = notifChannel.localFuncs.filter(f => f !== func);
154
+ removeNotify(channel?: string, socket?: PRGLIOSocket, func?: any) {
155
+ const notifChannel = channel && this.notifies[channel];
156
+ if (notifChannel) {
157
+ if (socket) {
158
+ notifChannel.sockets = notifChannel.sockets.filter(
159
+ (s) => s.id !== socket.id,
160
+ );
161
+ } else if (func) {
162
+ notifChannel.localFuncs = notifChannel.localFuncs.filter(
163
+ (f) => f !== func,
164
+ );
145
165
  }
146
166
 
147
167
  /* UNLISTEN if no listeners ?? */
148
168
  }
149
169
 
150
- if(socket){
151
- getKeys(this.notifies).forEach(channel => {
152
- this.notifies[channel]!.sockets = this.notifies[channel]!.sockets.filter(s => s.id !== socket.id);
153
- })
170
+ if (socket) {
171
+ getKeys(this.notifies).forEach((channel) => {
172
+ this.notifies[channel]!.sockets = this.notifies[
173
+ channel
174
+ ]!.sockets.filter((s) => s.id !== socket.id);
175
+ });
154
176
  }
155
177
  }
156
178
 
157
- addNotice(socket: PRGLIOSocket){
158
- if(!socket || !socket.id) throw "Expecting a socket obj with id";
179
+ addNotice(socket: PRGLIOSocket) {
180
+ if (!socket || !socket.id) throw "Expecting a socket obj with id";
159
181
 
160
- if(!this.notice.sockets.find(s => s.id === socket.id)){
182
+ if (!this.notice.sockets.find((s) => s.id === socket.id)) {
161
183
  this.notice.sockets.push(socket);
162
184
  }
163
185
 
@@ -168,11 +190,11 @@ export class DBEventsManager {
168
190
  this.removeNotice(socket);
169
191
  });
170
192
 
171
- return { socketChannel, socketUnsubChannel, }
193
+ return { socketChannel, socketUnsubChannel };
172
194
  }
173
195
 
174
- removeNotice(socket: PRGLIOSocket){
175
- if(!socket || !socket.id) throw "Expecting a socket obj with id";
176
- this.notice.sockets = this.notice.sockets.filter(s => s.id !== socket.id)
196
+ removeNotice(socket: PRGLIOSocket) {
197
+ if (!socket || !socket.id) throw "Expecting a socket obj with id";
198
+ this.notice.sockets = this.notice.sockets.filter((s) => s.id !== socket.id);
177
199
  }
178
- }
200
+ }
@@ -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
  }