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,63 +1,96 @@
1
- import { DBSchemaTable, MethodKey, TableInfo, TableSchemaErrors, TableSchemaForClient, getKeys, pickKeys } from "prostgles-types";
1
+ import {
2
+ DBSchemaTable,
3
+ MethodKey,
4
+ TableInfo,
5
+ TableSchemaErrors,
6
+ TableSchemaForClient,
7
+ getKeys,
8
+ pickKeys,
9
+ } from "prostgles-types";
2
10
  import { AuthResult, ExpressReq } from "../Auth/AuthTypes";
3
11
  import { getErrorAsObject, PRGLIOSocket } from "../DboBuilder/DboBuilder";
4
- import { PublishObject, PublishParser } from "./PublishParser"
12
+ import { PublishObject, PublishParser } from "./PublishParser";
5
13
  import { TABLE_METHODS } from "../Prostgles";
6
14
 
7
- type Args = ({
8
- socket: PRGLIOSocket;
9
- httpReq?: undefined;
10
- } | {
11
- httpReq: ExpressReq;
12
- socket?: undefined;
13
- }) & {
15
+ type Args = (
16
+ | {
17
+ socket: PRGLIOSocket;
18
+ httpReq?: undefined;
19
+ }
20
+ | {
21
+ httpReq: ExpressReq;
22
+ socket?: undefined;
23
+ }
24
+ ) & {
14
25
  userData: AuthResult | undefined;
15
- }
16
-
17
- export async function getSchemaFromPublish(this: PublishParser, { userData, ...clientReq }: Args): Promise<{ schema: TableSchemaForClient; tables: DBSchemaTable[]; tableSchemaErrors: TableSchemaErrors }> {
26
+ };
27
+
28
+ export async function getSchemaFromPublish(
29
+ this: PublishParser,
30
+ { userData, ...clientReq }: Args,
31
+ ): Promise<{
32
+ schema: TableSchemaForClient;
33
+ tables: DBSchemaTable[];
34
+ tableSchemaErrors: TableSchemaErrors;
35
+ }> {
18
36
  const schema: TableSchemaForClient = {};
19
37
  const tableSchemaErrors: TableSchemaErrors = {};
20
- let tables: DBSchemaTable[] = []
38
+ let tables: DBSchemaTable[] = [];
21
39
 
22
40
  try {
23
41
  /* Publish tables and views based on socket */
24
- const clientInfo = userData ?? await this.prostgles.authHandler?.getClientInfo(clientReq);
42
+ const clientInfo =
43
+ userData ?? (await this.prostgles.authHandler?.getClientInfo(clientReq));
25
44
 
26
45
  let _publish: PublishObject | undefined;
27
46
  try {
28
47
  _publish = await this.getPublish(clientReq, clientInfo);
29
- } catch(err){
30
- console.error("Error within then Publish function ", err)
48
+ } catch (err) {
49
+ console.error("Error within then Publish function ", err);
31
50
  throw err;
32
51
  }
33
52
 
34
-
35
53
  if (_publish && Object.keys(_publish).length) {
36
54
  let txKey = "tx";
37
55
  if (!this.prostgles.opts.transactions) txKey = "";
38
- if (typeof this.prostgles.opts.transactions === "string") txKey = this.prostgles.opts.transactions;
56
+ if (typeof this.prostgles.opts.transactions === "string")
57
+ txKey = this.prostgles.opts.transactions;
39
58
 
40
- const tableNames = Object.keys(_publish).filter(k => !txKey || txKey !== k);
59
+ const tableNames = Object.keys(_publish).filter(
60
+ (k) => !txKey || txKey !== k,
61
+ );
41
62
 
42
63
  const fileTableName = this.prostgles.fileManager?.tableName;
43
- if(fileTableName && this.dbo[fileTableName]?.is_media && !tableNames.includes(fileTableName)){
44
- const isReferenced = this.prostgles.dboBuilder.tablesOrViews?.some(t => t.columns.some(c => c.references?.some(r => r.ftable === fileTableName)))
45
- if(isReferenced){
64
+ if (
65
+ fileTableName &&
66
+ this.dbo[fileTableName]?.is_media &&
67
+ !tableNames.includes(fileTableName)
68
+ ) {
69
+ const isReferenced = this.prostgles.dboBuilder.tablesOrViews?.some(
70
+ (t) =>
71
+ t.columns.some((c) =>
72
+ c.references?.some((r) => r.ftable === fileTableName),
73
+ ),
74
+ );
75
+ if (isReferenced) {
46
76
  tableNames.unshift(fileTableName);
47
77
  }
48
78
  }
49
- await Promise.all(tableNames
50
- .map(async tableName => {
79
+ await Promise.all(
80
+ tableNames.map(async (tableName) => {
51
81
  if (!this.dbo[tableName]) {
52
82
  const errMsg = [
53
83
  `Table ${tableName} does not exist`,
54
- `Expecting one of: ${JSON.stringify(this.prostgles.dboBuilder.tablesOrViews?.map(tov => tov.name))}`,
55
- `DBO tables: ${JSON.stringify(Object.keys(this.dbo).filter(k => (this.dbo[k] as any).find))}`,
84
+ `Expecting one of: ${JSON.stringify(this.prostgles.dboBuilder.tablesOrViews?.map((tov) => tov.name))}`,
85
+ `DBO tables: ${JSON.stringify(Object.keys(this.dbo).filter((k) => (this.dbo[k] as any).find))}`,
56
86
  ].join("\n");
57
87
  throw errMsg;
58
88
  }
59
89
 
60
- const table_rules = await this.getTableRules({ localParams: clientReq, tableName }, clientInfo);
90
+ const table_rules = await this.getTableRules(
91
+ { localParams: clientReq, tableName },
92
+ clientInfo,
93
+ );
61
94
 
62
95
  if (table_rules && Object.keys(table_rules).length) {
63
96
  schema[tableName] = {};
@@ -70,68 +103,107 @@ export async function getSchemaFromPublish(this: PublishParser, { userData, ...c
70
103
  methods = getKeys(table_rules) as any;
71
104
  }
72
105
 
73
- if(!this.prostgles.dboBuilder.canSubscribe){
74
- methods = methods.filter(m => !["subscribe", "subscribeOne", "sync", "unsubscribe", "unsync"].includes(m));
106
+ if (!this.prostgles.dboBuilder.canSubscribe) {
107
+ methods = methods.filter(
108
+ (m) =>
109
+ ![
110
+ "subscribe",
111
+ "subscribeOne",
112
+ "sync",
113
+ "unsubscribe",
114
+ "unsync",
115
+ ].includes(m),
116
+ );
75
117
  }
76
118
 
77
- await Promise.all(methods.filter(m => m !== "select" as any)
78
- .map(async method => {
79
- if (method === "sync" && table_rules[method]) {
80
-
81
- /* Pass sync info */
82
- tableSchema[method] = table_rules[method];
83
- } else if ((table_rules as any)[method]) {
84
-
85
- tableSchema[method] = method === "insert"? pickKeys(table_rules.insert!, ["allowedNestedInserts"]) : {};
86
-
87
- /* Test for issues with the common table CRUD methods () */
88
- if (TABLE_METHODS.includes(method as any)) {
89
-
90
- try {
91
- const valid_table_command_rules = await this.getValidatedRequestRule({ tableName, command: method, localParams: clientReq }, clientInfo);
92
- if(this.prostgles.opts.testRulesOnConnect){
93
- await (this.dbo[tableName] as any)[method]({}, {}, {}, valid_table_command_rules, { ...clientReq, isRemoteRequest: true, testRule: true });
119
+ await Promise.all(
120
+ methods
121
+ .filter((m) => m !== ("select" as any))
122
+ .map(async (method) => {
123
+ if (method === "sync" && table_rules[method]) {
124
+ /* Pass sync info */
125
+ tableSchema[method] = table_rules[method];
126
+ } else if ((table_rules as any)[method]) {
127
+ tableSchema[method] =
128
+ method === "insert"
129
+ ? pickKeys(table_rules.insert!, [
130
+ "allowedNestedInserts",
131
+ ])
132
+ : {};
133
+
134
+ /* Test for issues with the common table CRUD methods () */
135
+ if (TABLE_METHODS.includes(method as any)) {
136
+ try {
137
+ const valid_table_command_rules =
138
+ await this.getValidatedRequestRule(
139
+ {
140
+ tableName,
141
+ command: method,
142
+ localParams: clientReq,
143
+ },
144
+ clientInfo,
145
+ );
146
+ if (this.prostgles.opts.testRulesOnConnect) {
147
+ await (this.dbo[tableName] as any)[method](
148
+ {},
149
+ {},
150
+ {},
151
+ valid_table_command_rules,
152
+ {
153
+ ...clientReq,
154
+ isRemoteRequest: true,
155
+ testRule: true,
156
+ },
157
+ );
158
+ }
159
+ } catch (e) {
160
+ tableSchemaErrors[tableName] ??= {};
161
+ tableSchemaErrors[tableName]![method] = {
162
+ error: "Internal publish error. Check server logs",
163
+ };
164
+
165
+ throw {
166
+ ...getErrorAsObject(e),
167
+ publish_path: `publish.${tableName}.${method}: \n -> ${e}`,
168
+ };
169
+ }
94
170
  }
95
171
 
96
- } catch (e) {
97
- tableSchemaErrors[tableName] ??= {};
98
- tableSchemaErrors[tableName]![method] = { error: "Internal publish error. Check server logs" };
99
-
100
- throw {
101
- ...getErrorAsObject(e),
102
- publish_path: `publish.${tableName}.${method}: \n -> ${e}`
103
- };
104
- }
105
- }
106
-
107
- if (method === "getInfo" || method === "getColumns") {
108
- const tableRules = await this.getValidatedRequestRule({ tableName, command: method, localParams: clientReq }, clientInfo);
109
- const res = await (this.dbo[tableName] as any)[method](undefined, undefined, undefined, tableRules, { ...clientReq, isRemoteRequest: true });
110
- if (method === "getInfo") {
111
- tableInfo = res;
112
- } else if (method === "getColumns") {
113
- tableColumns = res;
172
+ if (method === "getInfo" || method === "getColumns") {
173
+ const tableRules = await this.getValidatedRequestRule(
174
+ { tableName, command: method, localParams: clientReq },
175
+ clientInfo,
176
+ );
177
+ const res = await (this.dbo[tableName] as any)[method](
178
+ undefined,
179
+ undefined,
180
+ undefined,
181
+ tableRules,
182
+ { ...clientReq, isRemoteRequest: true },
183
+ );
184
+ if (method === "getInfo") {
185
+ tableInfo = res;
186
+ } else if (method === "getColumns") {
187
+ tableColumns = res;
188
+ }
189
+ }
114
190
  }
115
- }
116
- }
117
- }));
191
+ }),
192
+ );
118
193
 
119
194
  if (tableInfo && tableColumns) {
120
-
121
195
  tables.push({
122
196
  name: tableName,
123
197
  info: tableInfo,
124
- columns: tableColumns
125
- })
198
+ columns: tableColumns,
199
+ });
126
200
  }
127
201
  }
128
202
 
129
203
  return true;
130
- })
204
+ }),
131
205
  );
132
206
  }
133
-
134
-
135
207
  } catch (e) {
136
208
  console.error("Prostgles \nERRORS IN PUBLISH: ", JSON.stringify(e));
137
209
  throw e;
@@ -139,4 +211,4 @@ export async function getSchemaFromPublish(this: PublishParser, { userData, ...c
139
211
 
140
212
  tables = tables.sort((a, b) => a.name.localeCompare(b.name));
141
213
  return { schema, tables, tableSchemaErrors };
142
- }
214
+ }
@@ -5,41 +5,65 @@ import { ViewHandler } from "../DboBuilder/ViewHandler/ViewHandler";
5
5
  import { DEFAULT_SYNC_BATCH_SIZE } from "../PubSubManager/PubSubManager";
6
6
  import { PublishParser } from "./PublishParser";
7
7
  import {
8
- DboTable, ParsedPublishTable, PublishObject, PublishTableRule,
9
- PublishViewRule, RULE_TO_METHODS, SubscribeRule
8
+ DboTable,
9
+ ParsedPublishTable,
10
+ PublishObject,
11
+ PublishTableRule,
12
+ PublishViewRule,
13
+ RULE_TO_METHODS,
14
+ SubscribeRule,
10
15
  } from "./publishTypesAndUtils";
11
16
 
12
- export async function getTableRulesWithoutFileTable(this: PublishParser, { tableName, localParams }: DboTable, clientInfo?: AuthResult, overridenPublish?: PublishObject): Promise<ParsedPublishTable | undefined> {
13
-
14
- if (!localParams || !tableName) throw { stack: ["getTableRules()"], message: "publish OR socket OR dbo OR tableName are missing" };
15
-
16
- const _publish = overridenPublish ?? await this.getPublish(localParams, clientInfo);
17
+ export async function getTableRulesWithoutFileTable(
18
+ this: PublishParser,
19
+ { tableName, localParams }: DboTable,
20
+ clientInfo?: AuthResult,
21
+ overridenPublish?: PublishObject,
22
+ ): Promise<ParsedPublishTable | undefined> {
23
+ if (!localParams || !tableName)
24
+ throw {
25
+ stack: ["getTableRules()"],
26
+ message: "publish OR socket OR dbo OR tableName are missing",
27
+ };
28
+
29
+ const _publish =
30
+ overridenPublish ?? (await this.getPublish(localParams, clientInfo));
17
31
 
18
32
  const raw_table_rules = _publish[tableName];
19
- if (!raw_table_rules || isObject(raw_table_rules) && Object.values(raw_table_rules).every(v => !v)) {
33
+ if (
34
+ !raw_table_rules ||
35
+ (isObject(raw_table_rules) &&
36
+ Object.values(raw_table_rules).every((v) => !v))
37
+ ) {
20
38
  return undefined;
21
39
  }
22
40
 
23
41
  let parsed_table: ParsedPublishTable = {};
24
42
 
25
43
  /* Get view or table specific rules */
26
- const tHandler = (this.dbo[tableName] as TableHandler | ViewHandler);
44
+ const tHandler = this.dbo[tableName] as TableHandler | ViewHandler;
27
45
  const is_view = tHandler.is_view;
28
46
  /**
29
47
  * Allow subscribing to a view if it has primary key columns from other tables
30
48
  */
31
- const canSubscribe = (!is_view || tHandler.columns.some(c => c.references));
49
+ const canSubscribe = !is_view || tHandler.columns.some((c) => c.references);
32
50
  if (!tHandler) {
33
- throw { stack: ["getTableRules()"], message: `${tableName} could not be found in dbo` };
51
+ throw {
52
+ stack: ["getTableRules()"],
53
+ message: `${tableName} could not be found in dbo`,
54
+ };
34
55
  }
35
-
36
- const MY_RULES = RULE_TO_METHODS.filter(r => {
37
56
 
57
+ const MY_RULES = RULE_TO_METHODS.filter((r) => {
38
58
  /** Check PG User privileges */
39
59
  const pgUserIsAllowedThis = tHandler.tableOrViewInfo.privileges[r.sqlRule];
40
60
  let result = (!is_view || !r.table_only) && pgUserIsAllowedThis;
41
61
 
42
- if (!pgUserIsAllowedThis && isObject(raw_table_rules) && (raw_table_rules as PublishTableRule)[r.sqlRule]) {
62
+ if (
63
+ !pgUserIsAllowedThis &&
64
+ isObject(raw_table_rules) &&
65
+ (raw_table_rules as PublishTableRule)[r.sqlRule]
66
+ ) {
43
67
  throw `Your postgres user is not allowed ${r.sqlRule} on table ${tableName}`;
44
68
  }
45
69
 
@@ -51,63 +75,84 @@ export async function getTableRulesWithoutFileTable(this: PublishParser, { table
51
75
  // }
52
76
  // }
53
77
 
54
- if(r.rule === "subscribe" && !canSubscribe){
78
+ if (r.rule === "subscribe" && !canSubscribe) {
55
79
  result = false;
56
80
  }
57
81
 
58
82
  return result;
59
83
  });
60
84
 
61
-
62
-
63
85
  /* All methods allowed. Add no limits for table rules */
64
86
  if ([true, "*"].includes(raw_table_rules as any)) {
65
87
  parsed_table = {};
66
- MY_RULES.filter(r => r.no_limits).forEach(r => {
67
- parsed_table[r.rule] = { ...r.no_limits as object } as any;
88
+ MY_RULES.filter((r) => r.no_limits).forEach((r) => {
89
+ parsed_table[r.rule] = { ...(r.no_limits as object) } as any;
68
90
  });
69
91
 
70
92
  /** Specific rules allowed */
71
93
  } else if (isObject(raw_table_rules) && getKeys(raw_table_rules).length) {
72
- const allRuleKeys: (keyof PublishViewRule | keyof PublishTableRule)[] = getKeys(raw_table_rules);
73
- const dissallowedRuleKeys = allRuleKeys.filter(m => !(raw_table_rules as PublishTableRule)[m])
94
+ const allRuleKeys: (keyof PublishViewRule | keyof PublishTableRule)[] =
95
+ getKeys(raw_table_rules);
96
+ const dissallowedRuleKeys = allRuleKeys.filter(
97
+ (m) => !(raw_table_rules as PublishTableRule)[m],
98
+ );
74
99
 
75
- MY_RULES.map(r => {
100
+ MY_RULES.map((r) => {
76
101
  /** Unless specifically disabled these are allowed */
77
- if (["getInfo", "getColumns"].includes(r.rule) && !dissallowedRuleKeys.includes(r.rule as any)) {
102
+ if (
103
+ ["getInfo", "getColumns"].includes(r.rule) &&
104
+ !dissallowedRuleKeys.includes(r.rule as any)
105
+ ) {
78
106
  parsed_table[r.rule] = r.no_limits as any;
79
107
  return;
80
108
  }
81
109
 
82
110
  /** Add no_limit values for implied/ fully allowed methods */
83
- if ([true, "*"].includes((raw_table_rules as PublishTableRule)[r.rule] as any) && r.no_limits) {
111
+ if (
112
+ [true, "*"].includes(
113
+ (raw_table_rules as PublishTableRule)[r.rule] as any,
114
+ ) &&
115
+ r.no_limits
116
+ ) {
84
117
  parsed_table[r.rule] = Object.assign({}, r.no_limits) as any;
85
118
 
86
119
  /** Carry over detailed config */
87
120
  } else if (isObject((raw_table_rules as any)[r.rule])) {
88
- parsed_table[r.rule] = (raw_table_rules as any)[r.rule]
121
+ parsed_table[r.rule] = (raw_table_rules as any)[r.rule];
89
122
  }
90
123
  });
91
124
 
92
- allRuleKeys.filter(m => parsed_table[m])
125
+ allRuleKeys
126
+ .filter((m) => parsed_table[m])
93
127
  .forEach((method) => {
94
128
  const rule = parsed_table[method];
95
-
96
- const rm = MY_RULES.find(r => r.rule === method || (r.methods as readonly string[]).includes(method));
129
+
130
+ const rm = MY_RULES.find(
131
+ (r) =>
132
+ r.rule === method ||
133
+ (r.methods as readonly string[]).includes(method),
134
+ );
97
135
  if (!rm) {
98
136
  let extraInfo = "";
99
- if (is_view && RULE_TO_METHODS.find(r => !is_view && r.rule === method || (r.methods as any).includes(method))) {
137
+ if (
138
+ is_view &&
139
+ RULE_TO_METHODS.find(
140
+ (r) =>
141
+ (!is_view && r.rule === method) ||
142
+ (r.methods as any).includes(method),
143
+ )
144
+ ) {
100
145
  extraInfo = "You've specified table rules to a view\n";
101
146
  }
102
- throw `Invalid rule in publish.${tableName} -> ${method} \n${extraInfo}Expecting any of: ${MY_RULES.flatMap(r => [r.rule, ...r.methods]).join(", ")}`;
147
+ throw `Invalid rule in publish.${tableName} -> ${method} \n${extraInfo}Expecting any of: ${MY_RULES.flatMap((r) => [r.rule, ...r.methods]).join(", ")}`;
103
148
  }
104
149
 
105
150
  /* Check RULES for invalid params */
106
151
  /* Methods do not have params -> They use them from rules */
107
152
  if (method === rm.rule && isObject(rule)) {
108
153
  const method_params = Object.keys(rule);
109
- const allowed_params = Object.keys(rm?.allowed_params)
110
- const iparam = method_params.find(p => !allowed_params.includes(p));
154
+ const allowed_params = Object.keys(rm?.allowed_params);
155
+ const iparam = method_params.find((p) => !allowed_params.includes(p));
111
156
  if (iparam) {
112
157
  throw `Invalid setting in publish.${tableName}.${method} -> ${iparam}. \n Expecting any of: ${allowed_params.join(", ")}`;
113
158
  }
@@ -115,7 +160,6 @@ export async function getTableRulesWithoutFileTable(this: PublishParser, { table
115
160
 
116
161
  /* Add default params (if missing) */
117
162
  if (method === "sync") {
118
-
119
163
  if ([true, "*"].includes(parsed_table[method] as any)) {
120
164
  throw "Invalid sync rule. Expecting { id_fields: string[], synced_field: string } ";
121
165
  }
@@ -132,35 +176,41 @@ export async function getTableRulesWithoutFileTable(this: PublishParser, { table
132
176
  const subKey = "subscribe" as const;
133
177
 
134
178
  if (method === "select" && !dissallowedRuleKeys.includes(subKey)) {
135
- const sr = MY_RULES.find(r => r.rule === subKey);
179
+ const sr = MY_RULES.find((r) => r.rule === subKey);
136
180
  if (sr && canSubscribe) {
137
- parsed_table[subKey] = { ...sr.no_limits as SubscribeRule };
138
- parsed_table.subscribeOne = { ...sr.no_limits as SubscribeRule };
181
+ parsed_table[subKey] = { ...(sr.no_limits as SubscribeRule) };
182
+ parsed_table.subscribeOne = { ...(sr.no_limits as SubscribeRule) };
139
183
  }
140
184
  }
141
185
  });
142
-
143
186
  } else {
144
- throw "Unexpected publish"
187
+ throw "Unexpected publish";
145
188
  }
146
189
 
147
- const getImpliedMethods = (tableRules: ParsedPublishTable): ParsedPublishTable => {
190
+ const getImpliedMethods = (
191
+ tableRules: ParsedPublishTable,
192
+ ): ParsedPublishTable => {
148
193
  const res = { ...tableRules };
149
194
 
150
195
  /* Add implied methods if not specifically dissallowed */
151
- MY_RULES.map(r => {
152
-
196
+ MY_RULES.map((r) => {
153
197
  /** THIS IS A MESS -> some methods cannot be dissallowed (unsync, unsubscribe...) */
154
- r.methods.forEach(method => {
155
- const isAllowed = tableRules[r.rule] && (tableRules as any)[method] === undefined;
198
+ r.methods.forEach((method) => {
199
+ const isAllowed =
200
+ tableRules[r.rule] && (tableRules as any)[method] === undefined;
156
201
  if (isAllowed) {
157
-
158
- if (method === "updateBatch" && (!tableRules.update || tableRules.update.checkFilter || tableRules.update.postValidate)) {
202
+ if (
203
+ method === "updateBatch" &&
204
+ (!tableRules.update ||
205
+ tableRules.update.checkFilter ||
206
+ tableRules.update.postValidate)
207
+ ) {
159
208
  // not allowed
160
-
161
- } else if (method === "upsert" && (!tableRules.update || !tableRules.insert)) {
209
+ } else if (
210
+ method === "upsert" &&
211
+ (!tableRules.update || !tableRules.insert)
212
+ ) {
162
213
  // not allowed
163
-
164
214
  } else {
165
215
  (res as any)[method] ??= true;
166
216
  }
@@ -169,9 +219,9 @@ export async function getTableRulesWithoutFileTable(this: PublishParser, { table
169
219
  });
170
220
 
171
221
  return res;
172
- }
222
+ };
173
223
 
174
224
  parsed_table = getImpliedMethods(parsed_table);
175
225
 
176
- return parsed_table;
177
- }
226
+ return parsed_table;
227
+ }