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
@@ -1,4 +1,10 @@
1
- import { AnyObject, DBSchema, FullFilter, Method, RULE_METHODS } from "prostgles-types";
1
+ import {
2
+ AnyObject,
3
+ DBSchema,
4
+ FullFilter,
5
+ Method,
6
+ RULE_METHODS,
7
+ } from "prostgles-types";
2
8
  import type { DBOFullyTyped, PublishFullyTyped } from "../DBSchemaBuilder";
3
9
  import {
4
10
  CommonTableRules,
@@ -9,8 +15,11 @@ import {
9
15
  } from "../DboBuilder/DboBuilder";
10
16
  import { DB, DBHandlerServer } from "../Prostgles";
11
17
 
12
- export type PublishMethods<S = void, SUser extends SessionUser = SessionUser> = (
13
- params: PublishParams<S, SUser>
18
+ export type PublishMethods<
19
+ S = void,
20
+ SUser extends SessionUser = SessionUser,
21
+ > = (
22
+ params: PublishParams<S, SUser>,
14
23
  ) => { [key: string]: Method } | Promise<{ [key: string]: Method } | null>;
15
24
 
16
25
  export type Awaitable<T> = T | Promise<T>;
@@ -71,7 +80,11 @@ export const RULE_TO_METHODS = [
71
80
  rule: "update",
72
81
  sqlRule: "update",
73
82
  methods: RULE_METHODS.update,
74
- no_limits: <UpdateRule>{ fields: "*", filterFields: "*", returningFields: "*" },
83
+ no_limits: <UpdateRule>{
84
+ fields: "*",
85
+ filterFields: "*",
86
+ returningFields: "*",
87
+ },
75
88
  table_only: true,
76
89
  allowed_params: {
77
90
  checkFilter: 1,
@@ -158,7 +171,10 @@ export type DeleteRequestData = {
158
171
  filter: object;
159
172
  returning: FieldFilter;
160
173
  };
161
- export type UpdateRequestDataOne<R extends AnyObject, S extends DBSchema | void = void> = {
174
+ export type UpdateRequestDataOne<
175
+ R extends AnyObject,
176
+ S extends DBSchema | void = void,
177
+ > = {
162
178
  filter: FullFilter<R, S>;
163
179
  data: Partial<R>;
164
180
  returning: FieldFilter<R>;
@@ -179,28 +195,42 @@ export type ValidateRowArgs<R = AnyObject, DBX = DBHandlerServer> = {
179
195
  dbx: DBX;
180
196
  localParams: LocalParams;
181
197
  };
182
- export type ValidateUpdateRowArgs<U = Partial<AnyObject>, F = Filter, DBX = DBHandlerServer> = {
198
+ export type ValidateUpdateRowArgs<
199
+ U = Partial<AnyObject>,
200
+ F = Filter,
201
+ DBX = DBHandlerServer,
202
+ > = {
183
203
  update: U;
184
204
  filter: F;
185
205
  dbx: DBX;
186
206
  localParams: LocalParams;
187
207
  };
188
208
  export type ValidateRow<R extends AnyObject = AnyObject, S = void> = (
189
- args: ValidateRowArgs<R, DBOFullyTyped<S>>
209
+ args: ValidateRowArgs<R, DBOFullyTyped<S>>,
190
210
  ) => R | Promise<R>;
191
211
  export type PostValidateRow<R extends AnyObject = AnyObject, S = void> = (
192
- args: ValidateRowArgs<R, DBOFullyTyped<S>>
212
+ args: ValidateRowArgs<R, DBOFullyTyped<S>>,
193
213
  ) => void | Promise<void>;
194
- export type PostValidateRowBasic = (args: ValidateRowArgs) => void | Promise<void>;
195
- export type ValidateRowBasic = (args: ValidateRowArgs) => AnyObject | Promise<AnyObject>;
196
- export type ValidateUpdateRow<R extends AnyObject = AnyObject, S extends DBSchema | void = void> = (
197
- args: ValidateUpdateRowArgs<Partial<R>, FullFilter<R, S>, DBOFullyTyped<S>>
214
+ export type PostValidateRowBasic = (
215
+ args: ValidateRowArgs,
216
+ ) => void | Promise<void>;
217
+ export type ValidateRowBasic = (
218
+ args: ValidateRowArgs,
219
+ ) => AnyObject | Promise<AnyObject>;
220
+ export type ValidateUpdateRow<
221
+ R extends AnyObject = AnyObject,
222
+ S extends DBSchema | void = void,
223
+ > = (
224
+ args: ValidateUpdateRowArgs<Partial<R>, FullFilter<R, S>, DBOFullyTyped<S>>,
198
225
  ) => Partial<R> | Promise<Partial<R>>;
199
226
  export type ValidateUpdateRowBasic = (
200
- args: ValidateUpdateRowArgs
227
+ args: ValidateUpdateRowArgs,
201
228
  ) => AnyObject | Promise<AnyObject>;
202
229
 
203
- export type SelectRule<Cols extends AnyObject = AnyObject, S extends DBSchema | void = void> = {
230
+ export type SelectRule<
231
+ Cols extends AnyObject = AnyObject,
232
+ S extends DBSchema | void = void,
233
+ > = {
204
234
  /**
205
235
  * Fields allowed to be selected.
206
236
  * Tip: Use false to exclude field
@@ -231,7 +261,9 @@ export type SelectRule<Cols extends AnyObject = AnyObject, S extends DBSchema |
231
261
  /**
232
262
  * Validation logic to check/update data for each request
233
263
  */
234
- validate?(args: SelectRequestData): SelectRequestData | Promise<SelectRequestData>;
264
+ validate?(
265
+ args: SelectRequestData,
266
+ ): SelectRequestData | Promise<SelectRequestData>;
235
267
  };
236
268
 
237
269
  export type CommonInsertUpdateRule<
@@ -279,7 +311,9 @@ export type InsertRule<
279
311
  * Validation logic to check/update data after the insert.
280
312
  * Happens in the same transaction so upon throwing an error the record will be deleted (not committed)
281
313
  */
282
- postValidate?: S extends DBSchema ? PostValidateRow<Required<Cols>, S> : PostValidateRowBasic;
314
+ postValidate?: S extends DBSchema
315
+ ? PostValidateRow<Required<Cols>, S>
316
+ : PostValidateRowBasic;
283
317
 
284
318
  /**
285
319
  * If defined then only nested inserts from these tables are allowed
@@ -331,16 +365,23 @@ export type UpdateRule<
331
365
  /**
332
366
  * Validation logic to check/update data for each request
333
367
  */
334
- validate?: S extends DBSchema ? ValidateUpdateRow<Cols, S> : ValidateUpdateRowBasic;
368
+ validate?: S extends DBSchema
369
+ ? ValidateUpdateRow<Cols, S>
370
+ : ValidateUpdateRowBasic;
335
371
 
336
372
  /**
337
373
  * Validation logic to check/update data after the insert.
338
374
  * Happens in the same transaction so upon throwing an error the record will be deleted (not committed)
339
375
  */
340
- postValidate?: S extends DBSchema ? PostValidateRow<Required<Cols>, S> : PostValidateRowBasic;
376
+ postValidate?: S extends DBSchema
377
+ ? PostValidateRow<Required<Cols>, S>
378
+ : PostValidateRowBasic;
341
379
  };
342
380
 
343
- export type DeleteRule<Cols extends AnyObject = AnyObject, S extends DBSchema | void = void> = {
381
+ export type DeleteRule<
382
+ Cols extends AnyObject = AnyObject,
383
+ S extends DBSchema | void = void,
384
+ > = {
344
385
  /**
345
386
  * Filter added to every query (e.g. user_id) to restrict access
346
387
  */
@@ -407,7 +448,10 @@ export type TableRule<
407
448
  sync?: SyncRule<RowType>;
408
449
  subscribe?: SubscribeRule;
409
450
  };
410
- export type PublishViewRule<Col extends AnyObject = AnyObject, S extends DBSchema | void = void> = {
451
+ export type PublishViewRule<
452
+ Col extends AnyObject = AnyObject,
453
+ S extends DBSchema | void = void,
454
+ > = {
411
455
  select?: SelectRule<Col, S> | PublishAllOrNothing;
412
456
  getColumns?: PublishAllOrNothing;
413
457
  getInfo?: PublishAllOrNothing;
@@ -451,12 +495,19 @@ export type PublishParams<S = void, SUser extends SessionUser = SessionUser> = {
451
495
  export type RequestParams = { dbo?: DBHandlerServer; socket?: any };
452
496
  export type PublishAllOrNothing = boolean | "*" | null;
453
497
  export type PublishObject = {
454
- [table_name: string]: PublishTableRule | PublishViewRule | PublishAllOrNothing;
498
+ [table_name: string]:
499
+ | PublishTableRule
500
+ | PublishViewRule
501
+ | PublishAllOrNothing;
455
502
  };
456
503
  export type ParsedPublishTables = {
457
504
  [table_name: string]: ParsedPublishTable;
458
505
  };
459
- export type PublishedResult<Schema = void> = PublishAllOrNothing | PublishFullyTyped<Schema>;
506
+ export type PublishedResult<Schema = void> =
507
+ | PublishAllOrNothing
508
+ | PublishFullyTyped<Schema>;
460
509
  export type Publish<Schema = void, SUser extends SessionUser = SessionUser> =
461
510
  | PublishedResult<Schema>
462
- | ((params: PublishParams<Schema, SUser>) => Awaitable<PublishedResult<Schema>>);
511
+ | ((
512
+ params: PublishParams<Schema, SUser>,
513
+ ) => Awaitable<PublishedResult<Schema>>);
package/lib/RestApi.ts CHANGED
@@ -4,7 +4,11 @@ import { HTTPCODES } from "./Auth/AuthHandler";
4
4
  import { ExpressReq, ExpressRes } from "./Auth/AuthTypes";
5
5
  import { getSerializedClientErrorFromPGError } from "./DboBuilder/DboBuilder";
6
6
  import { Prostgles } from "./Prostgles";
7
- import { runClientMethod, runClientRequest, runClientSqlRequest } from "./runClientRequest";
7
+ import {
8
+ runClientMethod,
9
+ runClientRequest,
10
+ runClientSqlRequest,
11
+ } from "./runClientRequest";
8
12
  import { VoidFunction } from "./SchemaWatch/SchemaWatch";
9
13
  const jsonParser = bodyParser.json();
10
14
 
@@ -49,7 +53,11 @@ export class RestApi {
49
53
  schema: string;
50
54
  };
51
55
  expressApp: Express;
52
- constructor({ expressApp, routePrefix, prostgles }: RestApiConfig & { prostgles: Prostgles }) {
56
+ constructor({
57
+ expressApp,
58
+ routePrefix,
59
+ prostgles,
60
+ }: RestApiConfig & { prostgles: Prostgles }) {
53
61
  this.prostgles = prostgles;
54
62
  this.routes = {
55
63
  db: `${routePrefix}/db/:tableName/:command`,
@@ -1,67 +1,83 @@
1
1
  import type { DboBuilder } from "../DboBuilder/DboBuilder";
2
2
  import { EVENT_TRIGGER_TAGS } from "../Event_Trigger_Tags";
3
3
  import { PubSubManager, log } from "../PubSubManager/PubSubManager";
4
- import { ValidatedWatchSchemaType, getValidatedWatchSchemaType } from "./getValidatedWatchSchemaType";
5
- const COMMAND_FIRST_KEYWORDS = EVENT_TRIGGER_TAGS
6
- .map(tag => tag.split(" ")[0]!)
7
- .filter(tag => tag !== "SELECT"); /** SELECT INTO is not easily detectable with pg-node (command = "SELECT") */
4
+ import {
5
+ ValidatedWatchSchemaType,
6
+ getValidatedWatchSchemaType,
7
+ } from "./getValidatedWatchSchemaType";
8
+ const COMMAND_FIRST_KEYWORDS = EVENT_TRIGGER_TAGS.map(
9
+ (tag) => tag.split(" ")[0]!,
10
+ ).filter(
11
+ (tag) => tag !== "SELECT",
12
+ ); /** SELECT INTO is not easily detectable with pg-node (command = "SELECT") */
8
13
 
9
- const DB_FALLBACK_COMMANDS = Array.from(new Set(COMMAND_FIRST_KEYWORDS))
10
- .concat([
11
- "DO", // Do statement
12
- "COMMIT" // Transaction block
13
- ]);
14
+ const DB_FALLBACK_COMMANDS = Array.from(new Set(COMMAND_FIRST_KEYWORDS)).concat(
15
+ [
16
+ "DO", // Do statement
17
+ "COMMIT", // Transaction block
18
+ ],
19
+ );
14
20
 
15
21
  export type VoidFunction = () => void;
16
22
 
17
- export type OnSchemaChangeCallback = ((event: { command: string; query: string }) => void);
23
+ export type OnSchemaChangeCallback = (event: {
24
+ command: string;
25
+ query: string;
26
+ }) => void;
18
27
 
19
28
  export class SchemaWatch {
20
-
21
29
  dboBuilder: DboBuilder;
22
30
  type: ValidatedWatchSchemaType;
23
- private constructor(dboBuilder: DboBuilder){
31
+ private constructor(dboBuilder: DboBuilder) {
24
32
  this.dboBuilder = dboBuilder;
25
33
  this.type = getValidatedWatchSchemaType(dboBuilder);
26
- if(this.type.watchType === "NONE") {
34
+ if (this.type.watchType === "NONE") {
27
35
  this.onSchemaChange = undefined;
28
36
  this.onSchemaChangeFallback = undefined;
29
37
  }
30
- if(this.type.watchType === "DDL_trigger") {
38
+ if (this.type.watchType === "DDL_trigger") {
31
39
  this.onSchemaChangeFallback = undefined;
32
40
  }
33
41
  }
34
42
 
35
43
  static create = async (dboBuilder: DboBuilder) => {
36
44
  const instance = new SchemaWatch(dboBuilder);
37
- if(instance.type.watchType === "DDL_trigger") {
45
+ if (instance.type.watchType === "DDL_trigger") {
38
46
  await dboBuilder.getPubSubManager();
39
47
  // TODO finish createSchemaWatchEventTrigger to ensure the query is not used in NOTIFY and exclude happens inside Postgres
40
48
  }
41
49
  return instance;
42
- }
50
+ };
43
51
 
44
52
  /**
45
53
  * Fallback for watchSchema in case of not a superuser (cannot add db event listener)
46
54
  */
47
- onSchemaChangeFallback: OnSchemaChangeCallback | undefined = async ({ command, query }) => {
48
-
49
- if (typeof query === "string" && query.includes(PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID)) {
50
- log("Schema change event excluded from triggers due to EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID");
55
+ onSchemaChangeFallback: OnSchemaChangeCallback | undefined = async ({
56
+ command,
57
+ query,
58
+ }) => {
59
+ if (
60
+ typeof query === "string" &&
61
+ query.includes(PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID)
62
+ ) {
63
+ log(
64
+ "Schema change event excluded from triggers due to EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID",
65
+ );
51
66
  return;
52
67
  }
53
- if(
54
- this.type.watchType !== "prostgles_queries" ||
55
- !this.onSchemaChange ||
68
+ if (
69
+ this.type.watchType !== "prostgles_queries" ||
70
+ !this.onSchemaChange ||
56
71
  !DB_FALLBACK_COMMANDS.includes(command)
57
- ) return;
72
+ )
73
+ return;
74
+
75
+ this.onSchemaChange({ command, query });
76
+ };
58
77
 
59
- this.onSchemaChange({ command, query })
60
- }
61
-
62
78
  onSchemaChange: OnSchemaChangeCallback | undefined = async (event) => {
63
-
64
- const { watchSchema, onReady, tsGeneratedTypesDir } = this.dboBuilder.prostgles.opts;
79
+ const { watchSchema, onReady, tsGeneratedTypesDir } =
80
+ this.dboBuilder.prostgles.opts;
65
81
  if (watchSchema && this.dboBuilder.prostgles.loaded) {
66
82
  log("Schema changed");
67
83
  const { query, command } = event;
@@ -70,7 +86,6 @@ export class SchemaWatch {
70
86
  if (typeof watchSchema === "function") {
71
87
  /* Only call the provided func */
72
88
  watchSchema(event);
73
-
74
89
  } else if (watchSchema === "hotReloadMode") {
75
90
  if (tsGeneratedTypesDir) {
76
91
  /* Hot reload integration. Will only touch tsGeneratedTypesDir */
@@ -79,12 +94,15 @@ export class SchemaWatch {
79
94
  await this.dboBuilder.prostgles.refreshDBO();
80
95
  this.dboBuilder.prostgles.writeDBSchema(true);
81
96
  }
82
-
83
97
  } else if (watchSchema) {
84
98
  /* Full re-init. Sockets must reconnect */
85
- console.log("watchSchema: Full re-initialisation", { query })
86
- this.dboBuilder.prostgles.init(onReady as any, { type: "schema change", query, command });
99
+ console.log("watchSchema: Full re-initialisation", { query });
100
+ this.dboBuilder.prostgles.init(onReady as any, {
101
+ type: "schema change",
102
+ query,
103
+ command,
104
+ });
87
105
  }
88
106
  }
89
107
  };
90
- }
108
+ }
@@ -1,3 +1,3 @@
1
1
  // export const createSchemaWatchEventTrigger = () => {
2
2
 
3
- // }
3
+ // }
@@ -1,45 +1,55 @@
1
1
  import type { DboBuilder } from "../DboBuilder/DboBuilder";
2
2
  import { OnSchemaChangeCallback } from "./SchemaWatch";
3
3
 
4
- export type ValidatedWatchSchemaType =
5
- | { watchType: "NONE" }
6
- | { watchType: "DDL_trigger"; onChange?: OnSchemaChangeCallback; }
7
- | { watchType: "prostgles_queries"; onChange?: OnSchemaChangeCallback; isFallbackFromDDL: boolean; }
4
+ export type ValidatedWatchSchemaType =
5
+ | { watchType: "NONE" }
6
+ | { watchType: "DDL_trigger"; onChange?: OnSchemaChangeCallback }
7
+ | {
8
+ watchType: "prostgles_queries";
9
+ onChange?: OnSchemaChangeCallback;
10
+ isFallbackFromDDL: boolean;
11
+ };
12
+
13
+ export const getValidatedWatchSchemaType = (
14
+ dboBuilder: DboBuilder,
15
+ ): ValidatedWatchSchemaType => {
16
+ const { watchSchema, watchSchemaType, tsGeneratedTypesDir, disableRealtime } =
17
+ dboBuilder.prostgles.opts;
18
+ if (!watchSchema) return { watchType: "NONE" };
8
19
 
9
- export const getValidatedWatchSchemaType = (dboBuilder: DboBuilder): ValidatedWatchSchemaType => {
10
- const {watchSchema, watchSchemaType, tsGeneratedTypesDir, disableRealtime } = dboBuilder.prostgles.opts;
11
- if(!watchSchema) return { watchType: "NONE" };
12
-
13
20
  if (watchSchema === "hotReloadMode" && !tsGeneratedTypesDir) {
14
21
  throw "tsGeneratedTypesDir option is needed for watchSchema: hotReloadMode to work ";
15
22
  }
16
23
 
17
- const onChange = typeof watchSchema === "function"? watchSchema : undefined;
18
-
19
- if(watchSchemaType === "DDL_trigger" || !watchSchemaType){
20
- if(!dboBuilder.prostgles.isSuperUser || disableRealtime){
24
+ const onChange = typeof watchSchema === "function" ? watchSchema : undefined;
21
25
 
22
- if(watchSchemaType === "DDL_trigger"){
23
- console.error(`watchSchemaType "DDL_trigger" cannot be used because db user is not a superuser. Will fallback to watchSchemaType "prostgles_queries" `)
26
+ if (watchSchemaType === "DDL_trigger" || !watchSchemaType) {
27
+ if (!dboBuilder.prostgles.isSuperUser || disableRealtime) {
28
+ if (watchSchemaType === "DDL_trigger") {
29
+ console.error(
30
+ `watchSchemaType "DDL_trigger" cannot be used because db user is not a superuser. Will fallback to watchSchemaType "prostgles_queries" `,
31
+ );
24
32
  } else {
25
- console.warn(`watchSchema fallback to watchSchemaType "prostgles_queries" due to ${disableRealtime? "disableRealtime setting" : "non-superuser"}`)
33
+ console.warn(
34
+ `watchSchema fallback to watchSchemaType "prostgles_queries" due to ${disableRealtime ? "disableRealtime setting" : "non-superuser"}`,
35
+ );
26
36
  }
27
37
  return {
28
38
  watchType: "prostgles_queries",
29
39
  onChange,
30
- isFallbackFromDDL: true
31
- }
40
+ isFallbackFromDDL: true,
41
+ };
32
42
  }
33
43
 
34
44
  return {
35
45
  watchType: "DDL_trigger",
36
- onChange
46
+ onChange,
37
47
  };
38
48
  }
39
-
49
+
40
50
  return {
41
51
  watchType: watchSchemaType,
42
52
  isFallbackFromDDL: false,
43
- onChange
44
- }
45
- }
53
+ onChange,
54
+ };
55
+ };
@@ -2,26 +2,34 @@ import { getKeys, isObject } from "prostgles-types";
2
2
  import { EVENT_TRIGGER_TAGS } from "../Event_Trigger_Tags";
3
3
  import { ProstglesInitOptions } from "../ProstglesTypes";
4
4
 
5
- export const getWatchSchemaTagList = (watchSchema: ProstglesInitOptions["watchSchema"]) => {
6
- if(!watchSchema) return undefined;
5
+ export const getWatchSchemaTagList = (
6
+ watchSchema: ProstglesInitOptions["watchSchema"],
7
+ ) => {
8
+ if (!watchSchema) return undefined;
7
9
 
8
- if(watchSchema === "*"){
10
+ if (watchSchema === "*") {
9
11
  return EVENT_TRIGGER_TAGS.slice(0);
10
- }
11
- if (isObject(watchSchema) && typeof watchSchema !== "function"){
12
+ }
13
+ if (isObject(watchSchema) && typeof watchSchema !== "function") {
12
14
  const watchSchemaKeys = getKeys(watchSchema);
13
- const isInclusive = Object.values(watchSchema).every(v => v);
14
- return EVENT_TRIGGER_TAGS
15
- .slice(0)
16
- .filter(v => {
17
- const matches = watchSchemaKeys.includes(v);
18
- return isInclusive? matches : !matches;
19
- });
15
+ const isInclusive = Object.values(watchSchema).every((v) => v);
16
+ return EVENT_TRIGGER_TAGS.slice(0).filter((v) => {
17
+ const matches = watchSchemaKeys.includes(v);
18
+ return isInclusive ? matches : !matches;
19
+ });
20
20
  }
21
21
 
22
- const coreTags: typeof EVENT_TRIGGER_TAGS[number][] = [
23
- 'COMMENT', 'CREATE TABLE', 'ALTER TABLE', 'DROP TABLE', 'CREATE VIEW',
24
- 'DROP VIEW', 'ALTER VIEW', 'CREATE TABLE AS', 'SELECT INTO', 'CREATE POLICY'
22
+ const coreTags: (typeof EVENT_TRIGGER_TAGS)[number][] = [
23
+ "COMMENT",
24
+ "CREATE TABLE",
25
+ "ALTER TABLE",
26
+ "DROP TABLE",
27
+ "CREATE VIEW",
28
+ "DROP VIEW",
29
+ "ALTER VIEW",
30
+ "CREATE TABLE AS",
31
+ "SELECT INTO",
32
+ "CREATE POLICY",
25
33
  ];
26
34
  return coreTags;
27
- }
35
+ };