prostgles-server 4.2.187 → 4.2.188

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/.eslintignore +2 -1
  2. package/.eslintrc.json +2 -0
  3. package/dist/Auth/AuthHandler.d.ts +18 -11
  4. package/dist/Auth/AuthHandler.d.ts.map +1 -1
  5. package/dist/Auth/AuthHandler.js +94 -120
  6. package/dist/Auth/AuthHandler.js.map +1 -1
  7. package/dist/Auth/AuthTypes.d.ts +78 -71
  8. package/dist/Auth/AuthTypes.d.ts.map +1 -1
  9. package/dist/Auth/{setEmailProvider.d.ts → authProviders/setEmailProvider.d.ts} +1 -1
  10. package/dist/Auth/authProviders/setEmailProvider.d.ts.map +1 -0
  11. package/dist/Auth/authProviders/setEmailProvider.js +27 -0
  12. package/dist/Auth/authProviders/setEmailProvider.js.map +1 -0
  13. package/dist/Auth/authProviders/setOAuthProviders.d.ts +5 -0
  14. package/dist/Auth/authProviders/setOAuthProviders.d.ts.map +1 -0
  15. package/dist/Auth/authProviders/setOAuthProviders.js +78 -0
  16. package/dist/Auth/authProviders/setOAuthProviders.js.map +1 -0
  17. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.d.ts +7 -0
  18. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.d.ts.map +1 -0
  19. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.js +29 -0
  20. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.js.map +1 -0
  21. package/dist/Auth/endpoints/getRegisterRequestHandler.d.ts +7 -0
  22. package/dist/Auth/endpoints/getRegisterRequestHandler.d.ts.map +1 -0
  23. package/dist/Auth/endpoints/getRegisterRequestHandler.js +74 -0
  24. package/dist/Auth/endpoints/getRegisterRequestHandler.js.map +1 -0
  25. package/dist/Auth/setAuthProviders.d.ts.map +1 -1
  26. package/dist/Auth/setAuthProviders.js +4 -74
  27. package/dist/Auth/setAuthProviders.js.map +1 -1
  28. package/dist/Auth/setupAuthRoutes.d.ts.map +1 -1
  29. package/dist/Auth/setupAuthRoutes.js +23 -33
  30. package/dist/Auth/setupAuthRoutes.js.map +1 -1
  31. package/dist/Auth/utils/checkDmarc.d.ts +2 -0
  32. package/dist/Auth/utils/checkDmarc.d.ts.map +1 -0
  33. package/dist/Auth/utils/checkDmarc.js +22 -0
  34. package/dist/Auth/utils/checkDmarc.js.map +1 -0
  35. package/dist/Auth/utils/getClientRequestIPsInfo.d.ts +3 -0
  36. package/dist/Auth/utils/getClientRequestIPsInfo.d.ts.map +1 -0
  37. package/dist/Auth/utils/getClientRequestIPsInfo.js +29 -0
  38. package/dist/Auth/utils/getClientRequestIPsInfo.js.map +1 -0
  39. package/dist/Auth/utils/getReturnUrl.d.ts +3 -0
  40. package/dist/Auth/utils/getReturnUrl.d.ts.map +1 -0
  41. package/dist/Auth/utils/getReturnUrl.js +15 -0
  42. package/dist/Auth/utils/getReturnUrl.js.map +1 -0
  43. package/dist/Auth/utils/getSafeReturnURL.d.ts.map +1 -0
  44. package/dist/Auth/utils/getSafeReturnURL.js.map +1 -0
  45. package/dist/DBEventsManager.d.ts.map +1 -1
  46. package/dist/DBEventsManager.js +4 -5
  47. package/dist/DBEventsManager.js.map +1 -1
  48. package/dist/DBSchemaBuilder.js +1 -1
  49. package/dist/DBSchemaBuilder.js.map +1 -1
  50. package/dist/DboBuilder/DboBuilder.d.ts +0 -1
  51. package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
  52. package/dist/DboBuilder/DboBuilder.js +3 -12
  53. package/dist/DboBuilder/DboBuilder.js.map +1 -1
  54. package/dist/DboBuilder/DboBuilderTypes.d.ts +4 -4
  55. package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
  56. package/dist/DboBuilder/DboBuilderTypes.js.map +1 -1
  57. package/dist/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
  58. package/dist/DboBuilder/QueryBuilder/Functions.js +38 -76
  59. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  60. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
  61. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +4 -12
  62. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
  63. package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
  64. package/dist/DboBuilder/QueryBuilder/getNewQuery.js +23 -33
  65. package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
  66. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts +1 -1
  67. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts.map +1 -1
  68. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js +6 -6
  69. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
  70. package/dist/DboBuilder/QueryStreamer.d.ts.map +1 -1
  71. package/dist/DboBuilder/QueryStreamer.js +13 -19
  72. package/dist/DboBuilder/QueryStreamer.js.map +1 -1
  73. package/dist/DboBuilder/TableHandler/DataValidator.d.ts +1 -1
  74. package/dist/DboBuilder/TableHandler/DataValidator.d.ts.map +1 -1
  75. package/dist/DboBuilder/TableHandler/DataValidator.js +7 -16
  76. package/dist/DboBuilder/TableHandler/DataValidator.js.map +1 -1
  77. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  78. package/dist/DboBuilder/TableHandler/TableHandler.js +7 -5
  79. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  80. package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
  81. package/dist/DboBuilder/TableHandler/delete.js +5 -8
  82. package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
  83. package/dist/DboBuilder/TableHandler/insert.d.ts.map +1 -1
  84. package/dist/DboBuilder/TableHandler/insert.js +10 -15
  85. package/dist/DboBuilder/TableHandler/insert.js.map +1 -1
  86. package/dist/DboBuilder/TableHandler/insertTest.js +1 -1
  87. package/dist/DboBuilder/TableHandler/insertTest.js.map +1 -1
  88. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
  89. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +1 -1
  90. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
  91. package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
  92. package/dist/DboBuilder/TableHandler/update.js +5 -9
  93. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  94. package/dist/DboBuilder/TableHandler/updateFile.d.ts +1 -1
  95. package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
  96. package/dist/DboBuilder/TableHandler/updateFile.js +7 -9
  97. package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
  98. package/dist/DboBuilder/TableHandler/upsert.d.ts.map +1 -1
  99. package/dist/DboBuilder/TableHandler/upsert.js +1 -1
  100. package/dist/DboBuilder/TableHandler/upsert.js.map +1 -1
  101. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
  102. package/dist/DboBuilder/ViewHandler/ViewHandler.js +11 -13
  103. package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
  104. package/dist/DboBuilder/ViewHandler/count.js +1 -1
  105. package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
  106. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  107. package/dist/DboBuilder/ViewHandler/find.js +20 -27
  108. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  109. package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts.map +1 -1
  110. package/dist/DboBuilder/ViewHandler/getExistsCondition.js +4 -10
  111. package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
  112. package/dist/DboBuilder/ViewHandler/getInfo.js +2 -2
  113. package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
  114. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
  115. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +6 -22
  116. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
  117. package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts.map +1 -1
  118. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js +6 -10
  119. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js.map +1 -1
  120. package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts.map +1 -1
  121. package/dist/DboBuilder/ViewHandler/parseJoinPath.js +8 -11
  122. package/dist/DboBuilder/ViewHandler/parseJoinPath.js.map +1 -1
  123. package/dist/DboBuilder/ViewHandler/prepareSortItems.d.ts.map +1 -1
  124. package/dist/DboBuilder/ViewHandler/prepareSortItems.js +7 -12
  125. package/dist/DboBuilder/ViewHandler/prepareSortItems.js.map +1 -1
  126. package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts.map +1 -1
  127. package/dist/DboBuilder/ViewHandler/prepareWhere.js +6 -10
  128. package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
  129. package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
  130. package/dist/DboBuilder/dboBuilderUtils.js +8 -23
  131. package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
  132. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  133. package/dist/DboBuilder/getColumns.js +19 -26
  134. package/dist/DboBuilder/getColumns.js.map +1 -1
  135. package/dist/DboBuilder/getCondition.d.ts.map +1 -1
  136. package/dist/DboBuilder/getCondition.js +7 -9
  137. package/dist/DboBuilder/getCondition.js.map +1 -1
  138. package/dist/DboBuilder/getSubscribeRelatedTables.js +2 -2
  139. package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
  140. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +1 -1
  141. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js +14 -15
  142. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js.map +1 -1
  143. package/dist/DboBuilder/insertNestedRecords.d.ts.map +1 -1
  144. package/dist/DboBuilder/insertNestedRecords.js +26 -40
  145. package/dist/DboBuilder/insertNestedRecords.js.map +1 -1
  146. package/dist/DboBuilder/parseUpdateRules.js +1 -1
  147. package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
  148. package/dist/DboBuilder/prepareShortestJoinPaths.d.ts.map +1 -1
  149. package/dist/DboBuilder/prepareShortestJoinPaths.js +12 -18
  150. package/dist/DboBuilder/prepareShortestJoinPaths.js.map +1 -1
  151. package/dist/DboBuilder/runSQL.d.ts +1 -1
  152. package/dist/DboBuilder/runSQL.d.ts.map +1 -1
  153. package/dist/DboBuilder/runSQL.js +14 -27
  154. package/dist/DboBuilder/runSQL.js.map +1 -1
  155. package/dist/DboBuilder/uploadFile.d.ts +1 -1
  156. package/dist/DboBuilder/uploadFile.d.ts.map +1 -1
  157. package/dist/DboBuilder/uploadFile.js +4 -11
  158. package/dist/DboBuilder/uploadFile.js.map +1 -1
  159. package/dist/FileManager/FileManager.d.ts.map +1 -1
  160. package/dist/FileManager/FileManager.js +11 -13
  161. package/dist/FileManager/FileManager.js.map +1 -1
  162. package/dist/FileManager/initFileManager.d.ts.map +1 -1
  163. package/dist/FileManager/initFileManager.js +60 -62
  164. package/dist/FileManager/initFileManager.js.map +1 -1
  165. package/dist/FileManager/uploadStream.js +2 -2
  166. package/dist/FileManager/uploadStream.js.map +1 -1
  167. package/dist/Filtering.d.ts +1 -1
  168. package/dist/Filtering.d.ts.map +1 -1
  169. package/dist/Filtering.js +12 -35
  170. package/dist/Filtering.js.map +1 -1
  171. package/dist/JSONBValidation/validation.d.ts.map +1 -1
  172. package/dist/JSONBValidation/validation.js +20 -26
  173. package/dist/JSONBValidation/validation.js.map +1 -1
  174. package/dist/Logging.d.ts +1 -0
  175. package/dist/Logging.d.ts.map +1 -1
  176. package/dist/PostgresNotifListenManager.d.ts.map +1 -1
  177. package/dist/PostgresNotifListenManager.js +1 -5
  178. package/dist/PostgresNotifListenManager.js.map +1 -1
  179. package/dist/Prostgles.d.ts +1 -1
  180. package/dist/Prostgles.d.ts.map +1 -1
  181. package/dist/Prostgles.js +18 -33
  182. package/dist/Prostgles.js.map +1 -1
  183. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  184. package/dist/PubSubManager/PubSubManager.js +8 -13
  185. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  186. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  187. package/dist/PubSubManager/addSub.js +1 -1
  188. package/dist/PubSubManager/addSub.js.map +1 -1
  189. package/dist/PubSubManager/addSync.d.ts.map +1 -1
  190. package/dist/PubSubManager/addSync.js +4 -7
  191. package/dist/PubSubManager/addSync.js.map +1 -1
  192. package/dist/PubSubManager/getCreatePubSubManagerError.js +6 -6
  193. package/dist/PubSubManager/getCreatePubSubManagerError.js.map +1 -1
  194. package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
  195. package/dist/PubSubManager/initPubSubManager.js +2 -3
  196. package/dist/PubSubManager/initPubSubManager.js.map +1 -1
  197. package/dist/PubSubManager/pushSubData.d.ts.map +1 -1
  198. package/dist/PubSubManager/pushSubData.js +0 -2
  199. package/dist/PubSubManager/pushSubData.js.map +1 -1
  200. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  201. package/dist/PublishParser/PublishParser.js +8 -13
  202. package/dist/PublishParser/PublishParser.js.map +1 -1
  203. package/dist/PublishParser/getFileTableRules.js +1 -1
  204. package/dist/PublishParser/getFileTableRules.js.map +1 -1
  205. package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
  206. package/dist/PublishParser/getSchemaFromPublish.js +6 -13
  207. package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
  208. package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +1 -1
  209. package/dist/PublishParser/getTableRulesWithoutFileTable.js +14 -19
  210. package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +1 -1
  211. package/dist/RestApi.d.ts +1 -1
  212. package/dist/RestApi.d.ts.map +1 -1
  213. package/dist/RestApi.js +2 -2
  214. package/dist/RestApi.js.map +1 -1
  215. package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -1
  216. package/dist/SchemaWatch/SchemaWatch.js +2 -2
  217. package/dist/SchemaWatch/SchemaWatch.js.map +1 -1
  218. package/dist/SyncReplication.d.ts.map +1 -1
  219. package/dist/SyncReplication.js +31 -41
  220. package/dist/SyncReplication.js.map +1 -1
  221. package/dist/TableConfig/TableConfig.d.ts.map +1 -1
  222. package/dist/TableConfig/TableConfig.js +7 -9
  223. package/dist/TableConfig/TableConfig.js.map +1 -1
  224. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
  225. package/dist/TableConfig/getConstraintDefinitionQueries.js +1 -6
  226. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  227. package/dist/TableConfig/getFutureTableSchema.d.ts.map +1 -1
  228. package/dist/TableConfig/getFutureTableSchema.js +16 -28
  229. package/dist/TableConfig/getFutureTableSchema.js.map +1 -1
  230. package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -1
  231. package/dist/TableConfig/getTableColumnQueries.js +5 -9
  232. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  233. package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
  234. package/dist/TableConfig/initTableConfig.js +22 -25
  235. package/dist/TableConfig/initTableConfig.js.map +1 -1
  236. package/dist/initProstgles.js +1 -1
  237. package/dist/initProstgles.js.map +1 -1
  238. package/dist/onSocketConnected.d.ts.map +1 -1
  239. package/dist/onSocketConnected.js +2 -4
  240. package/dist/onSocketConnected.js.map +1 -1
  241. package/dist/runClientRequest.d.ts.map +1 -1
  242. package/dist/runClientRequest.js +14 -13
  243. package/dist/runClientRequest.js.map +1 -1
  244. package/lib/Auth/AuthHandler.ts +117 -137
  245. package/lib/Auth/AuthTypes.ts +97 -81
  246. package/lib/Auth/authProviders/setEmailProvider.ts +29 -0
  247. package/lib/Auth/authProviders/setOAuthProviders.ts +97 -0
  248. package/lib/Auth/endpoints/getConfirmEmailRequestHandler.ts +39 -0
  249. package/lib/Auth/endpoints/getRegisterRequestHandler.ts +83 -0
  250. package/lib/Auth/setAuthProviders.ts +8 -111
  251. package/lib/Auth/setupAuthRoutes.ts +105 -148
  252. package/lib/Auth/utils/checkDmarc.ts +19 -0
  253. package/lib/Auth/utils/getClientRequestIPsInfo.ts +25 -0
  254. package/lib/Auth/utils/getReturnUrl.ts +13 -0
  255. package/lib/DBEventsManager.ts +12 -26
  256. package/lib/DBSchemaBuilder.ts +1 -1
  257. package/lib/DboBuilder/DboBuilder.ts +23 -52
  258. package/lib/DboBuilder/DboBuilderTypes.ts +9 -23
  259. package/lib/DboBuilder/QueryBuilder/Functions.ts +86 -188
  260. package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +11 -36
  261. package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +102 -129
  262. package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +14 -27
  263. package/lib/DboBuilder/QueryStreamer.ts +26 -57
  264. package/lib/DboBuilder/TableHandler/DataValidator.ts +58 -90
  265. package/lib/DboBuilder/TableHandler/TableHandler.ts +19 -45
  266. package/lib/DboBuilder/TableHandler/delete.ts +9 -18
  267. package/lib/DboBuilder/TableHandler/insert.ts +18 -31
  268. package/lib/DboBuilder/TableHandler/insertTest.ts +1 -1
  269. package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +8 -19
  270. package/lib/DboBuilder/TableHandler/update.ts +17 -46
  271. package/lib/DboBuilder/TableHandler/updateFile.ts +18 -21
  272. package/lib/DboBuilder/TableHandler/upsert.ts +7 -24
  273. package/lib/DboBuilder/ViewHandler/ViewHandler.ts +13 -15
  274. package/lib/DboBuilder/ViewHandler/count.ts +1 -1
  275. package/lib/DboBuilder/ViewHandler/find.ts +28 -35
  276. package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +8 -30
  277. package/lib/DboBuilder/ViewHandler/getInfo.ts +2 -2
  278. package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +16 -32
  279. package/lib/DboBuilder/ViewHandler/parseFieldFilter.ts +9 -16
  280. package/lib/DboBuilder/ViewHandler/parseJoinPath.ts +26 -44
  281. package/lib/DboBuilder/ViewHandler/prepareSortItems.ts +58 -82
  282. package/lib/DboBuilder/ViewHandler/prepareWhere.ts +14 -27
  283. package/lib/DboBuilder/dboBuilderUtils.ts +19 -46
  284. package/lib/DboBuilder/getColumns.ts +24 -46
  285. package/lib/DboBuilder/getCondition.ts +18 -30
  286. package/lib/DboBuilder/getSubscribeRelatedTables.ts +2 -2
  287. package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +44 -62
  288. package/lib/DboBuilder/insertNestedRecords.ts +67 -135
  289. package/lib/DboBuilder/parseUpdateRules.ts +1 -1
  290. package/lib/DboBuilder/prepareShortestJoinPaths.ts +23 -58
  291. package/lib/DboBuilder/runSQL.ts +41 -76
  292. package/lib/DboBuilder/uploadFile.ts +26 -37
  293. package/lib/FileManager/FileManager.ts +27 -58
  294. package/lib/FileManager/initFileManager.ts +68 -76
  295. package/lib/FileManager/uploadStream.ts +2 -2
  296. package/lib/Filtering.ts +30 -87
  297. package/lib/JSONBValidation/validation.ts +36 -75
  298. package/lib/Logging.ts +1 -1
  299. package/lib/PostgresNotifListenManager.ts +11 -35
  300. package/lib/Prostgles.ts +42 -100
  301. package/lib/PubSubManager/PubSubManager.ts +30 -66
  302. package/lib/PubSubManager/addSub.ts +11 -18
  303. package/lib/PubSubManager/addSync.ts +5 -12
  304. package/lib/PubSubManager/getCreatePubSubManagerError.ts +9 -9
  305. package/lib/PubSubManager/initPubSubManager.ts +7 -13
  306. package/lib/PubSubManager/pushSubData.ts +1 -7
  307. package/lib/PublishParser/PublishParser.ts +8 -12
  308. package/lib/PublishParser/getFileTableRules.ts +1 -1
  309. package/lib/PublishParser/getSchemaFromPublish.ts +26 -42
  310. package/lib/PublishParser/getTableRulesWithoutFileTable.ts +22 -37
  311. package/lib/RestApi.ts +4 -12
  312. package/lib/SchemaWatch/SchemaWatch.ts +11 -24
  313. package/lib/SyncReplication.ts +96 -190
  314. package/lib/TableConfig/TableConfig.ts +16 -38
  315. package/lib/TableConfig/getConstraintDefinitionQueries.ts +2 -8
  316. package/lib/TableConfig/getFutureTableSchema.ts +20 -34
  317. package/lib/TableConfig/getTableColumnQueries.ts +13 -35
  318. package/lib/TableConfig/initTableConfig.ts +40 -64
  319. package/lib/initProstgles.ts +1 -1
  320. package/lib/onSocketConnected.ts +8 -12
  321. package/lib/runClientRequest.ts +31 -54
  322. package/package.json +2 -2
  323. package/dist/Auth/getSafeReturnURL.d.ts.map +0 -1
  324. package/dist/Auth/getSafeReturnURL.js.map +0 -1
  325. package/dist/Auth/setEmailProvider.d.ts.map +0 -1
  326. package/dist/Auth/setEmailProvider.js +0 -133
  327. package/dist/Auth/setEmailProvider.js.map +0 -1
  328. package/dist/DboBuilder/runTransaction.d.ts +0 -9
  329. package/dist/DboBuilder/runTransaction.d.ts.map +0 -1
  330. package/dist/DboBuilder/runTransaction.js +0 -49
  331. package/dist/DboBuilder/runTransaction.js.map +0 -1
  332. package/lib/Auth/setEmailProvider.ts +0 -132
  333. package/lib/DboBuilder/QueryBuilder/prepareHaving.ts +0 -27
  334. package/lib/DboBuilder/runTransaction.ts +0 -61
  335. package/lib/SchemaWatch/createSchemaWatchEventTrigger.ts +0 -3
  336. /package/dist/Auth/{getSafeReturnURL.d.ts → utils/getSafeReturnURL.d.ts} +0 -0
  337. /package/dist/Auth/{getSafeReturnURL.js → utils/getSafeReturnURL.js} +0 -0
  338. /package/lib/Auth/{getSafeReturnURL.ts → utils/getSafeReturnURL.ts} +0 -0
@@ -29,11 +29,7 @@ import {
29
29
  } from "prostgles-types";
30
30
 
31
31
  import { find, pickKeys, tryCatch } from "prostgles-types/dist/util";
32
- import {
33
- LocalFuncs,
34
- getOnDataFunc,
35
- matchesLocalFuncs,
36
- } from "../DboBuilder/ViewHandler/subscribe";
32
+ import { LocalFuncs, getOnDataFunc, matchesLocalFuncs } from "../DboBuilder/ViewHandler/subscribe";
37
33
  import { EVENT_TRIGGER_TAGS } from "../Event_Trigger_Tags";
38
34
  import { EventTypes } from "../Logging";
39
35
  import { TableRule } from "../PublishParser/PublishParser";
@@ -113,10 +109,7 @@ export type ViewSubscriptionOptions = (
113
109
  }[];
114
110
  };
115
111
 
116
- export type SubscriptionParams = Pick<
117
- SubscribeParams,
118
- "throttle" | "throttleOpts"
119
- > & {
112
+ export type SubscriptionParams = Pick<SubscribeParams, "throttle" | "throttleOpts"> & {
120
113
  socket_id?: string;
121
114
  channel_name: string;
122
115
 
@@ -200,10 +193,6 @@ export class PubSubManager {
200
193
  postgresNotifListenManager?: PostgresNotifListenManager;
201
194
 
202
195
  private constructor(dboBuilder: DboBuilder) {
203
- if (!dboBuilder.db || !dboBuilder.dbo) {
204
- throw "MISSING: db_pg, db";
205
- }
206
-
207
196
  this.dboBuilder = dboBuilder;
208
197
 
209
198
  log("Created PubSubManager");
@@ -237,17 +226,16 @@ export class PubSubManager {
237
226
  const { watchSchema } = this.dboBuilder.prostgles.opts;
238
227
  if (watchSchema && !(await getIsSuperUser(this.db))) {
239
228
  console.warn(
240
- "prostgles watchSchema requires superuser db user. Will not watch using event triggers",
229
+ "prostgles watchSchema requires superuser db user. Will not watch using event triggers"
241
230
  );
242
231
  }
243
232
 
244
233
  try {
245
234
  /** We use these names because they include schema where necessary */
246
- const allTableNames = Object.keys(this.dbo).filter(
247
- (k) => this.dbo[k]?.tableOrViewInfo,
248
- );
249
- const tableFilterQuery = allTableNames.length
250
- ? `OR table_name NOT IN (${allTableNames.map((tblName) => asValue(tblName)).join(", ")})`
235
+ const allTableNames = Object.keys(this.dbo).filter((k) => this.dbo[k]?.tableOrViewInfo);
236
+ const tableFilterQuery =
237
+ allTableNames.length ?
238
+ `OR table_name NOT IN (${allTableNames.map((tblName) => asValue(tblName)).join(", ")})`
251
239
  : "";
252
240
  const query = pgp.as.format(
253
241
  `
@@ -303,7 +291,7 @@ export class PubSubManager {
303
291
 
304
292
  COMMIT;
305
293
  `,
306
- { EVENT_TRIGGER_TAGS },
294
+ { EVENT_TRIGGER_TAGS }
307
295
  );
308
296
 
309
297
  await this.db
@@ -324,72 +312,54 @@ export class PubSubManager {
324
312
  channel_name,
325
313
  localFuncs,
326
314
  socket_id,
327
- }: Pick<
328
- Subscription,
329
- "localFuncs" | "socket_id" | "channel_name"
330
- >): Subscription[] {
315
+ }: Pick<Subscription, "localFuncs" | "socket_id" | "channel_name">): Subscription[] {
331
316
  return this.subs.filter((s) => {
332
317
  return (
333
318
  s.channel_name === channel_name &&
334
- (matchesLocalFuncs(localFuncs, s.localFuncs) ||
335
- (socket_id && s.socket_id === socket_id))
319
+ (matchesLocalFuncs(localFuncs, s.localFuncs) || (socket_id && s.socket_id === socket_id))
336
320
  );
337
321
  });
338
322
  }
339
323
 
340
324
  getTriggerSubs(table_name: string, condition: string): Subscription[] {
341
- const subs = this.subs.filter((s) =>
342
- find(s.triggers, { table_name, condition }),
343
- );
325
+ const subs = this.subs.filter((s) => find(s.triggers, { table_name, condition }));
344
326
  return subs;
345
327
  }
346
328
 
347
329
  removeLocalSub(channelName: string, localFuncs: LocalFuncs) {
348
330
  const matchingSubIdx = this.subs.findIndex(
349
331
  (s) =>
350
- s.channel_name === channelName &&
351
- getOnDataFunc(localFuncs) === getOnDataFunc(s.localFuncs),
332
+ s.channel_name === channelName && getOnDataFunc(localFuncs) === getOnDataFunc(s.localFuncs)
352
333
  );
353
334
  if (matchingSubIdx > -1) {
354
335
  this.subs.splice(matchingSubIdx, 1);
355
336
  } else {
356
- console.error(
357
- "Could not unsubscribe. Subscription might not have initialised yet",
358
- {
359
- channelName,
360
- },
361
- );
337
+ console.error("Could not unsubscribe. Subscription might not have initialised yet", {
338
+ channelName,
339
+ });
362
340
  }
363
341
  }
364
342
 
365
343
  getSyncs(table_name: string, condition: string) {
366
- return (this.syncs || []).filter(
367
- (s: SyncParams) =>
368
- s.table_name === table_name && s.condition === condition,
344
+ return this.syncs.filter(
345
+ (s: SyncParams) => s.table_name === table_name && s.condition === condition
369
346
  );
370
347
  }
371
348
 
372
349
  notifListener = notifListener.bind(this);
373
350
 
374
351
  getSubData = async (
375
- sub: Subscription,
376
- ): Promise<
377
- { data: any[]; err?: undefined } | { data?: undefined; err: any }
378
- > => {
352
+ sub: Subscription
353
+ ): Promise<{ data: any[]; err?: undefined } | { data?: undefined; err: any }> => {
379
354
  const { table_info, filter, params, table_rules } = sub; //, subOne = false
380
355
  const { name: table_name } = table_info;
381
356
 
382
- if (!this.dbo?.[table_name]?.find) {
357
+ if (!this.dbo[table_name]?.find) {
383
358
  throw new Error(`this.dbo.${table_name}.find undefined`);
384
359
  }
385
360
 
386
361
  try {
387
- const data = await this.dbo?.[table_name]!.find!(
388
- filter,
389
- params,
390
- undefined,
391
- table_rules,
392
- );
362
+ const data = await this.dbo[table_name]!.find!(filter, params, undefined, table_rules);
393
363
  return { data };
394
364
  } catch (err) {
395
365
  return { err };
@@ -424,10 +394,10 @@ export class PubSubManager {
424
394
  this.subs.map((s) => ({
425
395
  tableName: s.table_info.name,
426
396
  triggers: s.triggers,
427
- })),
397
+ }))
428
398
  ),
429
399
  remainingSyncs: JSON.stringify(
430
- this.syncs.map((s) => pickKeys(s, ["table_name", "condition"])),
400
+ this.syncs.map((s) => pickKeys(s, ["table_name", "condition"]))
431
401
  ),
432
402
  });
433
403
 
@@ -453,13 +423,11 @@ export class PubSubManager {
453
423
  getActiveListeners = (): { table_name: string; condition: string }[] => {
454
424
  const activeListeners: { table_name: string; condition: string }[] = [];
455
425
  const upsert = (t: string, c: string) => {
456
- if (
457
- !activeListeners.find((r) => r.table_name === t && r.condition === c)
458
- ) {
426
+ if (!activeListeners.find((r) => r.table_name === t && r.condition === c)) {
459
427
  activeListeners.push({ table_name: t, condition: c });
460
428
  }
461
429
  };
462
- (this.syncs ?? []).map((s) => {
430
+ this.syncs.map((s) => {
463
431
  upsert(s.table_name, s.condition);
464
432
  });
465
433
 
@@ -486,7 +454,7 @@ export class PubSubManager {
486
454
  WHERE app_id = $1
487
455
  ORDER BY table_name, condition
488
456
  `,
489
- [this.dboBuilder.prostgles.appId],
457
+ [this.dboBuilder.prostgles.appId]
490
458
  );
491
459
 
492
460
  this._triggers = {};
@@ -504,7 +472,7 @@ export class PubSubManager {
504
472
  async addTrigger(
505
473
  params: { table_name: string; condition: string },
506
474
  viewOptions: ViewSubscriptionOptions | undefined,
507
- socket: PRGLIOSocket | undefined,
475
+ socket: PRGLIOSocket | undefined
508
476
  ) {
509
477
  const addedTrigger = await tryCatch(async () => {
510
478
  const { table_name } = { ...params };
@@ -522,9 +490,7 @@ export class PubSubManager {
522
490
  const trgVals = {
523
491
  tbl: asValue(table_name),
524
492
  cond: asValue(condition),
525
- condHash: asValue(
526
- crypto.createHash("md5").update(condition).digest("hex"),
527
- ),
493
+ condHash: asValue(crypto.createHash("md5").update(condition).digest("hex")),
528
494
  };
529
495
 
530
496
  await this.db.tx((t) =>
@@ -563,7 +529,7 @@ export class PubSubManager {
563
529
  ON CONFLICT DO NOTHING;
564
530
 
565
531
  COMMIT WORK;
566
- `),
532
+ `)
567
533
  );
568
534
 
569
535
  /** This might be redundant due to trigger on app_triggers */
@@ -582,9 +548,7 @@ export class PubSubManager {
582
548
  error: addedTrigger.error,
583
549
  sid: this.dboBuilder.prostgles.authHandler?.getSIDNoError({ socket }),
584
550
  tableName: addedTrigger.tbl ?? params.table_name,
585
- connectedSocketIds: this.dboBuilder.prostgles.connectedSockets.map(
586
- (s) => s.id,
587
- ),
551
+ connectedSocketIds: this.dboBuilder.prostgles.connectedSockets.map((s) => s.id),
588
552
  localParams: { socket },
589
553
  });
590
554
 
@@ -20,10 +20,7 @@ type AddSubResult = SubscriptionChannels & {
20
20
  /* The distinct list of {table_name, condition} must have a corresponding trigger in the database */
21
21
  export async function addSub(
22
22
  this: PubSubManager,
23
- subscriptionParams: Omit<
24
- AddSubscriptionParams,
25
- "channel_name" | "parentSubParams"
26
- >,
23
+ subscriptionParams: Omit<AddSubscriptionParams, "channel_name" | "parentSubParams">
27
24
  ): Promise<AddSubResult> {
28
25
  const {
29
26
  socket,
@@ -36,7 +33,7 @@ export async function addSub(
36
33
  viewOptions,
37
34
  table_info,
38
35
  throttleOpts,
39
- } = subscriptionParams || {};
36
+ } = subscriptionParams;
40
37
  const table_name = table_info.name;
41
38
 
42
39
  if (!socket && !localFuncs) {
@@ -127,19 +124,15 @@ export async function addSub(
127
124
  socket.once(result.channelNameReady, () => {
128
125
  this.pushSubData(newSub);
129
126
  });
130
- socket.once(
131
- result.channelNameUnsubscribe,
132
- (_data: any, cb: BasicCallback) => {
133
- const res = "ok";
134
- this.subs = this.subs.filter((s) => {
135
- const isMatch =
136
- s.socket?.id === socket.id && s.channel_name === channel_name;
137
- return !isMatch;
138
- });
139
- removeListeners();
140
- cb(null, { res });
141
- },
142
- );
127
+ socket.once(result.channelNameUnsubscribe, (_data: any, cb: BasicCallback) => {
128
+ const res = "ok";
129
+ this.subs = this.subs.filter((s) => {
130
+ const isMatch = s.socket?.id === socket.id && s.channel_name === channel_name;
131
+ return !isMatch;
132
+ });
133
+ removeListeners();
134
+ cb(null, { res });
135
+ });
143
136
  }
144
137
 
145
138
  this.subs.push(newSub);
@@ -27,7 +27,7 @@ export async function addSync(this: PubSubManager, syncParams: AddSyncParams) {
27
27
  params,
28
28
  condition = "",
29
29
  throttle = 0,
30
- } = syncParams || ({} as AddSyncParams);
30
+ } = syncParams;
31
31
  const conditionParsed = parseCondition(condition);
32
32
  if (!socket || !table_info) throw "socket or table_info missing";
33
33
 
@@ -49,8 +49,8 @@ export async function addSync(this: PubSubManager, syncParams: AddSyncParams) {
49
49
  id_fields,
50
50
  allow_delete,
51
51
  table_rules,
52
- throttle: Math.max(throttle || 0, table_rules?.sync?.throttle || 0),
53
- batch_size: table_rules?.sync?.batch_size || DEFAULT_SYNC_BATCH_SIZE,
52
+ throttle: Math.max(throttle || 0, table_rules.sync?.throttle || 0),
53
+ batch_size: table_rules.sync?.batch_size || DEFAULT_SYNC_BATCH_SIZE,
54
54
  socket_id: socket.id,
55
55
  is_sync: true,
56
56
  last_synced: 0,
@@ -63,7 +63,6 @@ export async function addSync(this: PubSubManager, syncParams: AddSyncParams) {
63
63
  };
64
64
 
65
65
  /* Only a sync per socket per table per condition allowed */
66
- this.syncs ??= [];
67
66
  const existing = find(this.syncs, { socket_id: socket.id, channel_name });
68
67
  if (!existing) {
69
68
  this.syncs.push(newSync);
@@ -85,9 +84,7 @@ export async function addSync(this: PubSubManager, syncParams: AddSyncParams) {
85
84
  socket.removeAllListeners(unsyncChn);
86
85
  this.syncs = this.syncs.filter((s) => {
87
86
  const isMatch =
88
- s.socket_id &&
89
- s.socket_id === socket.id &&
90
- s.channel_name === channel_name;
87
+ s.socket_id && s.socket_id === socket.id && s.channel_name === channel_name;
91
88
  return !isMatch;
92
89
  });
93
90
  cb(null, { res: "ok" });
@@ -131,11 +128,7 @@ export async function addSync(this: PubSubManager, syncParams: AddSyncParams) {
131
128
 
132
129
  upsertSync();
133
130
 
134
- await this.addTrigger(
135
- { table_name, condition: conditionParsed },
136
- undefined,
137
- socket,
138
- );
131
+ await this.addTrigger({ table_name, condition: conditionParsed }, undefined, socket);
139
132
 
140
133
  return { result: channel_name };
141
134
  });
@@ -1,10 +1,10 @@
1
- import { tryCatch } from "prostgles-types";
1
+ import { tryCatch, tryCatchV2 } from "prostgles-types";
2
2
  import { getPubSubManagerInitQuery } from "./getPubSubManagerInitQuery";
3
3
  import { getCanExecute } from "../DboBuilder/dboBuilderUtils";
4
4
  import { DboBuilder } from "../DboBuilder/DboBuilder";
5
5
 
6
6
  export const getCreatePubSubManagerError = async (
7
- dboBuilder: DboBuilder,
7
+ dboBuilder: DboBuilder
8
8
  ): Promise<string | undefined> => {
9
9
  const db = dboBuilder.db;
10
10
 
@@ -19,7 +19,7 @@ export const getCreatePubSubManagerError = async (
19
19
  `);
20
20
 
21
21
  const checkIfCanCreateProstglesSchema = () =>
22
- tryCatch(async () => {
22
+ tryCatchV2(async () => {
23
23
  const allGood = await db.task(async (t) => {
24
24
  try {
25
25
  await t.none(`
@@ -40,7 +40,7 @@ export const getCreatePubSubManagerError = async (
40
40
  });
41
41
 
42
42
  if (!prglSchema.length) {
43
- const canCreate = await checkIfCanCreateProstglesSchema();
43
+ const { data: canCreate } = await checkIfCanCreateProstglesSchema();
44
44
  if (!canCreate) {
45
45
  const dbName = await db.one(`SELECT current_database()`);
46
46
  const user = await db.one(`SELECT current_user`);
@@ -48,23 +48,23 @@ export const getCreatePubSubManagerError = async (
48
48
  }
49
49
  return undefined;
50
50
  } else {
51
- const canCheckVersion = await tryCatch(async () => {
51
+ const canCheckVersion = await tryCatchV2(async () => {
52
52
  await db.any(`
53
53
  SELECT * FROM prostgles.versions
54
54
  `);
55
55
  return { ok: true };
56
56
  });
57
57
 
58
- if (!canCheckVersion.ok) {
58
+ if (!canCheckVersion.data?.ok) {
59
59
  console.error(
60
60
  "prostgles schema exists but cannot check version. Check logs",
61
- canCheckVersion.error,
61
+ canCheckVersion.error
62
62
  );
63
63
  return "prostgles schema exists but cannot check version. Check logs";
64
64
  }
65
65
  }
66
66
 
67
- const initQuery = await tryCatch(async () => ({
67
+ const initQuery = await tryCatchV2(async () => ({
68
68
  query: await getPubSubManagerInitQuery.bind(dboBuilder)(),
69
69
  }));
70
70
  if (initQuery.hasError) {
@@ -72,7 +72,7 @@ export const getCreatePubSubManagerError = async (
72
72
  return "Could not get initQuery. Check logs";
73
73
  }
74
74
 
75
- if (!initQuery.query) {
75
+ if (!initQuery.data.query) {
76
76
  return undefined;
77
77
  }
78
78
 
@@ -8,9 +8,7 @@ export const REALTIME_TRIGGER_CHECK_QUERY =
8
8
 
9
9
  export const tout = (ms: number) => new Promise((res) => setTimeout(res, ms));
10
10
 
11
- export async function initPubSubManager(
12
- this: PubSubManager,
13
- ): Promise<PubSubManager | undefined> {
11
+ export async function initPubSubManager(this: PubSubManager): Promise<PubSubManager | undefined> {
14
12
  if (!this.getIsDestroyed()) return undefined;
15
13
 
16
14
  const initQuery = await getPubSubManagerInitQuery.bind(this.dboBuilder)();
@@ -27,7 +25,6 @@ export async function initPubSubManager(
27
25
  /** Try to reduce race condition deadlocks due to multiple clients connecting at the same time */
28
26
  await tout(Math.random());
29
27
 
30
- // await this.dboBuilder.runClientTransactionStatement(initQuery);// this.db.tx(t => t.any(initQuery));
31
28
  await this.db.tx((t) => t.any(initQuery));
32
29
  error = undefined;
33
30
  tries = 0;
@@ -52,20 +49,17 @@ export async function initPubSubManager(
52
49
  this.appInfoWasInserted = true;
53
50
  const check_frequency_ms = this.appCheckFrequencyMS;
54
51
  const watching_schema_tag_names =
55
- this.dboBuilder.prostgles.schemaWatch?.type.watchType !== "NONE"
56
- ? getWatchSchemaTagList(this.dboBuilder.prostgles.opts.watchSchema)
57
- : null;
52
+ this.dboBuilder.prostgles.schemaWatch?.type.watchType !== "NONE" ?
53
+ getWatchSchemaTagList(this.dboBuilder.prostgles.opts.watchSchema)
54
+ : null;
58
55
  await this.db.one(
59
56
  "INSERT INTO prostgles.apps (id, check_frequency_ms, watching_schema_tag_names, application_name) \
60
57
  VALUES($1, $2, $3, current_setting('application_name')) \
61
58
  RETURNING *; ",
62
- [this.appId, check_frequency_ms, watching_schema_tag_names],
59
+ [this.appId, check_frequency_ms, watching_schema_tag_names]
63
60
  );
64
61
 
65
- const appRecord = await this.db.one(
66
- "SELECT * FROM prostgles.apps WHERE id = $1",
67
- [this.appId],
68
- );
62
+ const appRecord = await this.db.one("SELECT * FROM prostgles.apps WHERE id = $1", [this.appId]);
69
63
  if (!appRecord || !appRecord.application_name?.includes(this.appId)) {
70
64
  throw `initPubSubManager error: App record with application_name containing appId (${this.appId}) not found`;
71
65
  }
@@ -79,7 +73,7 @@ export async function initPubSubManager(
79
73
  this.postgresNotifListenManager = new PostgresNotifListenManager(
80
74
  this.db,
81
75
  this.notifListener,
82
- NOTIF_CHANNEL.getFull(this.appId),
76
+ NOTIF_CHANNEL.getFull(this.appId)
83
77
  );
84
78
 
85
79
  await this.initialiseEventTriggers();
@@ -1,13 +1,7 @@
1
1
  import { parseLocalFuncs } from "../DboBuilder/ViewHandler/subscribe";
2
2
  import { log, PubSubManager, Subscription } from "./PubSubManager";
3
3
 
4
- export async function pushSubData(
5
- this: PubSubManager,
6
- sub: Subscription,
7
- err?: any,
8
- ) {
9
- if (!sub) throw "pushSubData: invalid sub";
10
-
4
+ export async function pushSubData(this: PubSubManager, sub: Subscription, err?: any) {
11
5
  const { socket_id, channel_name } = sub;
12
6
  if (!this.subs.some((s) => s.channel_name === channel_name)) {
13
7
  // Might be throttling a sub that was removed
@@ -40,14 +40,13 @@ export class PublishParser {
40
40
  this.db = db;
41
41
  this.prostgles = prostgles;
42
42
 
43
- if (!this.dbo || !this.publish) throw "INTERNAL ERROR: dbo and/or publish missing";
43
+ if (!this.publish) throw "INTERNAL ERROR: dbo and/or publish missing";
44
44
  }
45
45
 
46
46
  async getPublishParams(
47
47
  localParams: LocalParams,
48
48
  clientInfo?: AuthResult
49
49
  ): Promise<PublishParams> {
50
- if (!this.dbo) throw "dbo missing";
51
50
  return {
52
51
  ...(clientInfo || (await this.prostgles.authHandler?.getClientInfo(localParams))),
53
52
  dbo: this.dbo as any,
@@ -69,12 +68,11 @@ export class PublishParser {
69
68
  if (_methods && Object.keys(_methods).length) {
70
69
  getObjectEntries(_methods).map(([key, method]) => {
71
70
  const isFuncLike = (maybeFunc: VoidFunction | Promise<void> | Promise<any>) =>
72
- typeof maybeFunc === "function" || (maybeFunc && typeof maybeFunc.then === "function");
71
+ typeof maybeFunc === "function" || typeof maybeFunc.then === "function";
73
72
  if (
74
- method &&
75
- (isFuncLike(method as Extract<Method, Promise<any>>) ||
76
- // @ts-ignore
77
- (isObject(method) && isFuncLike(method.run)))
73
+ isFuncLike(method as Extract<Method, Promise<any>>) ||
74
+ // @ts-ignore
75
+ (isObject(method) && isFuncLike(method.run))
78
76
  ) {
79
77
  methods[key] = _methods[key]!;
80
78
  } else {
@@ -122,8 +120,6 @@ export class PublishParser {
122
120
  { tableName, command, localParams }: DboTableCommand,
123
121
  clientInfo?: AuthResult
124
122
  ): Promise<TableRule> {
125
- if (!this.dbo) throw "INTERNAL ERROR: dbo is missing";
126
-
127
123
  if (!command || !tableName) throw "command OR tableName are missing";
128
124
 
129
125
  const rtm = RULE_TO_METHODS.find((rtms) => (rtms.methods as any).includes(command));
@@ -132,7 +128,7 @@ export class PublishParser {
132
128
  }
133
129
 
134
130
  /* Must be local request -> allow everything */
135
- if (!localParams || (!localParams.socket && !localParams.httpReq)) {
131
+ if (!localParams.socket && !localParams.httpReq) {
136
132
  return RULE_TO_METHODS.reduce(
137
133
  (a, v) => ({
138
134
  ...a,
@@ -146,7 +142,7 @@ export class PublishParser {
146
142
  if (!this.publish) throw "publish is missing";
147
143
 
148
144
  /* Get any publish errors for socket */
149
- const errorInfo = localParams?.socket?.prostgles?.tableSchemaErrors?.[tableName]?.[command];
145
+ const errorInfo = localParams.socket?.prostgles?.tableSchemaErrors[tableName]?.[command];
150
146
 
151
147
  if (errorInfo) throw errorInfo.error;
152
148
 
@@ -166,7 +162,7 @@ export class PublishParser {
166
162
  }
167
163
  }
168
164
 
169
- if (rtm && table_rule && table_rule[rtm.rule]) {
165
+ if (table_rule[rtm.rule]) {
170
166
  return table_rule;
171
167
  } else
172
168
  throw {
@@ -120,7 +120,7 @@ export async function getFileTableRules(
120
120
  : {
121
121
  forcedFilter: {
122
122
  $or: forcedFilters.concat(
123
- rule?.forcedFilter ? [rule?.forcedFilter] : [],
123
+ rule?.forcedFilter ? [rule.forcedFilter] : [],
124
124
  ),
125
125
  },
126
126
  };