prostgles-server 4.2.183 → 4.2.184

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/.github/workflows/main.yml +15 -15
  2. package/.prettierignore +2 -0
  3. package/README.md +1 -1
  4. package/dist/Auth/AuthHandler.d.ts.map +1 -1
  5. package/dist/Auth/AuthHandler.js +71 -33
  6. package/dist/Auth/AuthHandler.js.map +1 -1
  7. package/dist/Auth/AuthTypes.d.ts.map +1 -1
  8. package/dist/Auth/getSafeReturnURL.d.ts.map +1 -1
  9. package/dist/Auth/getSafeReturnURL.js.map +1 -1
  10. package/dist/Auth/sendEmail.d.ts.map +1 -1
  11. package/dist/Auth/sendEmail.js +6 -6
  12. package/dist/Auth/sendEmail.js.map +1 -1
  13. package/dist/Auth/setAuthProviders.d.ts +1 -1
  14. package/dist/Auth/setAuthProviders.d.ts.map +1 -1
  15. package/dist/Auth/setAuthProviders.js +15 -8
  16. package/dist/Auth/setAuthProviders.js.map +1 -1
  17. package/dist/Auth/setEmailProvider.d.ts.map +1 -1
  18. package/dist/Auth/setEmailProvider.js +21 -6
  19. package/dist/Auth/setEmailProvider.js.map +1 -1
  20. package/dist/Auth/setupAuthRoutes.d.ts.map +1 -1
  21. package/dist/Auth/setupAuthRoutes.js +27 -9
  22. package/dist/Auth/setupAuthRoutes.js.map +1 -1
  23. package/dist/DBEventsManager.d.ts.map +1 -1
  24. package/dist/DBEventsManager.js +24 -19
  25. package/dist/DBEventsManager.js.map +1 -1
  26. package/dist/DBSchemaBuilder.d.ts.map +1 -1
  27. package/dist/DBSchemaBuilder.js +18 -5
  28. package/dist/DBSchemaBuilder.js.map +1 -1
  29. package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
  30. package/dist/DboBuilder/DboBuilder.js +7 -2
  31. package/dist/DboBuilder/DboBuilder.js.map +1 -1
  32. package/dist/DboBuilder/DboBuilderTypes.d.ts +4 -4
  33. package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
  34. package/dist/DboBuilder/DboBuilderTypes.js.map +1 -1
  35. package/dist/DboBuilder/QueryBuilder/Functions.d.ts +2 -2
  36. package/dist/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
  37. package/dist/DboBuilder/QueryBuilder/Functions.js +293 -173
  38. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  39. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts +2 -2
  40. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
  41. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +52 -29
  42. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
  43. package/dist/DboBuilder/QueryBuilder/getJoinQuery.d.ts.map +1 -1
  44. package/dist/DboBuilder/QueryBuilder/getJoinQuery.js +51 -32
  45. package/dist/DboBuilder/QueryBuilder/getJoinQuery.js.map +1 -1
  46. package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
  47. package/dist/DboBuilder/QueryBuilder/getNewQuery.js +48 -25
  48. package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
  49. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts +1 -1
  50. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts.map +1 -1
  51. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js +32 -23
  52. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
  53. package/dist/DboBuilder/QueryStreamer.d.ts +2 -2
  54. package/dist/DboBuilder/QueryStreamer.d.ts.map +1 -1
  55. package/dist/DboBuilder/QueryStreamer.js +68 -23
  56. package/dist/DboBuilder/QueryStreamer.js.map +1 -1
  57. package/dist/DboBuilder/TableHandler/DataValidator.d.ts +1 -1
  58. package/dist/DboBuilder/TableHandler/DataValidator.d.ts.map +1 -1
  59. package/dist/DboBuilder/TableHandler/DataValidator.js +79 -43
  60. package/dist/DboBuilder/TableHandler/DataValidator.js.map +1 -1
  61. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  62. package/dist/DboBuilder/TableHandler/TableHandler.js +39 -15
  63. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  64. package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
  65. package/dist/DboBuilder/TableHandler/delete.js +44 -13
  66. package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
  67. package/dist/DboBuilder/TableHandler/insert.d.ts.map +1 -1
  68. package/dist/DboBuilder/TableHandler/insert.js +81 -22
  69. package/dist/DboBuilder/TableHandler/insert.js.map +1 -1
  70. package/dist/DboBuilder/TableHandler/insertTest.d.ts.map +1 -1
  71. package/dist/DboBuilder/TableHandler/insertTest.js.map +1 -1
  72. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts +1 -1
  73. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts.map +1 -1
  74. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js +7 -4
  75. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js.map +1 -1
  76. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
  77. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +24 -5
  78. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
  79. package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
  80. package/dist/DboBuilder/TableHandler/update.js +16 -4
  81. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  82. package/dist/DboBuilder/TableHandler/updateBatch.d.ts.map +1 -1
  83. package/dist/DboBuilder/TableHandler/updateBatch.js +33 -10
  84. package/dist/DboBuilder/TableHandler/updateBatch.js.map +1 -1
  85. package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
  86. package/dist/DboBuilder/TableHandler/updateFile.js +24 -6
  87. package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
  88. package/dist/DboBuilder/TableHandler/upsert.d.ts.map +1 -1
  89. package/dist/DboBuilder/TableHandler/upsert.js +22 -6
  90. package/dist/DboBuilder/TableHandler/upsert.js.map +1 -1
  91. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +5 -5
  92. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
  93. package/dist/DboBuilder/ViewHandler/ViewHandler.js +64 -36
  94. package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
  95. package/dist/DboBuilder/ViewHandler/count.d.ts.map +1 -1
  96. package/dist/DboBuilder/ViewHandler/count.js +21 -7
  97. package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
  98. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  99. package/dist/DboBuilder/ViewHandler/find.js +76 -22
  100. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  101. package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts.map +1 -1
  102. package/dist/DboBuilder/ViewHandler/getExistsCondition.js +19 -10
  103. package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
  104. package/dist/DboBuilder/ViewHandler/getExistsFilters.d.ts.map +1 -1
  105. package/dist/DboBuilder/ViewHandler/getExistsFilters.js +12 -5
  106. package/dist/DboBuilder/ViewHandler/getExistsFilters.js.map +1 -1
  107. package/dist/DboBuilder/ViewHandler/getInfo.d.ts.map +1 -1
  108. package/dist/DboBuilder/ViewHandler/getInfo.js +27 -9
  109. package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
  110. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts +2 -2
  111. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
  112. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +42 -23
  113. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
  114. package/dist/DboBuilder/ViewHandler/parseComplexFilter.d.ts.map +1 -1
  115. package/dist/DboBuilder/ViewHandler/parseComplexFilter.js +22 -9
  116. package/dist/DboBuilder/ViewHandler/parseComplexFilter.js.map +1 -1
  117. package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts +4 -4
  118. package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts.map +1 -1
  119. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js +13 -11
  120. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js.map +1 -1
  121. package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts +1 -1
  122. package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts.map +1 -1
  123. package/dist/DboBuilder/ViewHandler/parseJoinPath.js +44 -29
  124. package/dist/DboBuilder/ViewHandler/parseJoinPath.js.map +1 -1
  125. package/dist/DboBuilder/ViewHandler/prepareSortItems.d.ts.map +1 -1
  126. package/dist/DboBuilder/ViewHandler/prepareSortItems.js +36 -27
  127. package/dist/DboBuilder/ViewHandler/prepareSortItems.js.map +1 -1
  128. package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts.map +1 -1
  129. package/dist/DboBuilder/ViewHandler/prepareWhere.js +16 -12
  130. package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
  131. package/dist/DboBuilder/ViewHandler/size.d.ts.map +1 -1
  132. package/dist/DboBuilder/ViewHandler/size.js +24 -7
  133. package/dist/DboBuilder/ViewHandler/size.js.map +1 -1
  134. package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
  135. package/dist/DboBuilder/ViewHandler/subscribe.js +40 -12
  136. package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
  137. package/dist/DboBuilder/ViewHandler/validateViewRules.d.ts.map +1 -1
  138. package/dist/DboBuilder/ViewHandler/validateViewRules.js +20 -5
  139. package/dist/DboBuilder/ViewHandler/validateViewRules.js.map +1 -1
  140. package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
  141. package/dist/DboBuilder/dboBuilderUtils.js +18 -7
  142. package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
  143. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  144. package/dist/DboBuilder/getColumns.js +22 -7
  145. package/dist/DboBuilder/getColumns.js.map +1 -1
  146. package/dist/DboBuilder/getCondition.d.ts.map +1 -1
  147. package/dist/DboBuilder/getCondition.js +43 -30
  148. package/dist/DboBuilder/getCondition.js.map +1 -1
  149. package/dist/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
  150. package/dist/DboBuilder/getSubscribeRelatedTables.js +38 -27
  151. package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
  152. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +1 -1
  153. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js +9 -9
  154. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js.map +1 -1
  155. package/dist/DboBuilder/insertNestedRecords.d.ts +3 -3
  156. package/dist/DboBuilder/insertNestedRecords.d.ts.map +1 -1
  157. package/dist/DboBuilder/insertNestedRecords.js +79 -44
  158. package/dist/DboBuilder/insertNestedRecords.js.map +1 -1
  159. package/dist/DboBuilder/parseUpdateRules.d.ts.map +1 -1
  160. package/dist/DboBuilder/parseUpdateRules.js +38 -14
  161. package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
  162. package/dist/DboBuilder/prepareShortestJoinPaths.d.ts.map +1 -1
  163. package/dist/DboBuilder/prepareShortestJoinPaths.js +56 -31
  164. package/dist/DboBuilder/prepareShortestJoinPaths.js.map +1 -1
  165. package/dist/DboBuilder/runSQL.d.ts.map +1 -1
  166. package/dist/DboBuilder/runSQL.js +41 -21
  167. package/dist/DboBuilder/runSQL.js.map +1 -1
  168. package/dist/DboBuilder/runTransaction.d.ts +1 -1
  169. package/dist/DboBuilder/runTransaction.d.ts.map +1 -1
  170. package/dist/DboBuilder/runTransaction.js +2 -2
  171. package/dist/DboBuilder/runTransaction.js.map +1 -1
  172. package/dist/DboBuilder/sqlErrCodeToMsg.d.ts.map +1 -1
  173. package/dist/DboBuilder/sqlErrCodeToMsg.js +297 -38
  174. package/dist/DboBuilder/sqlErrCodeToMsg.js.map +1 -1
  175. package/dist/DboBuilder/uploadFile.d.ts.map +1 -1
  176. package/dist/DboBuilder/uploadFile.js +33 -9
  177. package/dist/DboBuilder/uploadFile.js.map +1 -1
  178. package/dist/Event_Trigger_Tags.d.ts +1 -1
  179. package/dist/Event_Trigger_Tags.d.ts.map +1 -1
  180. package/dist/Event_Trigger_Tags.js +1 -1
  181. package/dist/Event_Trigger_Tags.js.map +1 -1
  182. package/dist/FileManager/FileManager.d.ts.map +1 -1
  183. package/dist/FileManager/FileManager.js +6 -3
  184. package/dist/FileManager/FileManager.js.map +1 -1
  185. package/dist/FileManager/getValidatedFileType.d.ts.map +1 -1
  186. package/dist/FileManager/getValidatedFileType.js +18 -16
  187. package/dist/FileManager/getValidatedFileType.js.map +1 -1
  188. package/dist/FileManager/initFileManager.d.ts.map +1 -1
  189. package/dist/FileManager/initFileManager.js +7 -1
  190. package/dist/FileManager/initFileManager.js.map +1 -1
  191. package/dist/FileManager/upload.d.ts +1 -1
  192. package/dist/FileManager/upload.d.ts.map +1 -1
  193. package/dist/FileManager/upload.js +3 -3
  194. package/dist/FileManager/upload.js.map +1 -1
  195. package/dist/FileManager/uploadStream.d.ts +1 -1
  196. package/dist/FileManager/uploadStream.d.ts.map +1 -1
  197. package/dist/FileManager/uploadStream.js +6 -7
  198. package/dist/FileManager/uploadStream.js.map +1 -1
  199. package/dist/Filtering.d.ts +3 -3
  200. package/dist/Filtering.d.ts.map +1 -1
  201. package/dist/Filtering.js +70 -37
  202. package/dist/Filtering.js.map +1 -1
  203. package/dist/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +1 -1
  204. package/dist/JSONBValidation/validate_jsonb_schema_sql.js +1 -4
  205. package/dist/JSONBValidation/validate_jsonb_schema_sql.js.map +1 -1
  206. package/dist/JSONBValidation/validation.d.ts.map +1 -1
  207. package/dist/JSONBValidation/validation.js +46 -24
  208. package/dist/JSONBValidation/validation.js.map +1 -1
  209. package/dist/Logging.d.ts +2 -2
  210. package/dist/Logging.d.ts.map +1 -1
  211. package/dist/PostgresNotifListenManager.d.ts.map +1 -1
  212. package/dist/PostgresNotifListenManager.js +20 -22
  213. package/dist/PostgresNotifListenManager.js.map +1 -1
  214. package/dist/Prostgles.d.ts +1 -1
  215. package/dist/Prostgles.d.ts.map +1 -1
  216. package/dist/Prostgles.js +37 -11
  217. package/dist/Prostgles.js.map +1 -1
  218. package/dist/ProstglesTypes.d.ts.map +1 -1
  219. package/dist/ProstglesTypes.js +6 -1
  220. package/dist/ProstglesTypes.js.map +1 -1
  221. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  222. package/dist/PubSubManager/PubSubManager.js +10 -5
  223. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  224. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  225. package/dist/PubSubManager/addSub.js +4 -6
  226. package/dist/PubSubManager/addSub.js.map +1 -1
  227. package/dist/PubSubManager/addSync.d.ts.map +1 -1
  228. package/dist/PubSubManager/addSync.js +10 -6
  229. package/dist/PubSubManager/addSync.js.map +1 -1
  230. package/dist/PubSubManager/getCreatePubSubManagerError.d.ts.map +1 -1
  231. package/dist/PubSubManager/getCreatePubSubManagerError.js +3 -1
  232. package/dist/PubSubManager/getCreatePubSubManagerError.js.map +1 -1
  233. package/dist/PubSubManager/getPubSubManagerInitQuery.d.ts.map +1 -1
  234. package/dist/PubSubManager/getPubSubManagerInitQuery.js +8 -8
  235. package/dist/PubSubManager/getPubSubManagerInitQuery.js.map +1 -1
  236. package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
  237. package/dist/PubSubManager/initPubSubManager.js +7 -9
  238. package/dist/PubSubManager/initPubSubManager.js.map +1 -1
  239. package/dist/PubSubManager/notifListener.d.ts.map +1 -1
  240. package/dist/PubSubManager/notifListener.js +23 -12
  241. package/dist/PubSubManager/notifListener.js.map +1 -1
  242. package/dist/PubSubManager/orphanTriggerCheck.d.ts.map +1 -1
  243. package/dist/PubSubManager/orphanTriggerCheck.js.map +1 -1
  244. package/dist/PubSubManager/pushSubData.d.ts.map +1 -1
  245. package/dist/PubSubManager/pushSubData.js +1 -1
  246. package/dist/PubSubManager/pushSubData.js.map +1 -1
  247. package/dist/PublishParser/PublishParser.d.ts +1 -1
  248. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  249. package/dist/PublishParser/PublishParser.js +25 -14
  250. package/dist/PublishParser/PublishParser.js.map +1 -1
  251. package/dist/PublishParser/getFileTableRules.d.ts.map +1 -1
  252. package/dist/PublishParser/getFileTableRules.js +23 -16
  253. package/dist/PublishParser/getFileTableRules.js.map +1 -1
  254. package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
  255. package/dist/PublishParser/getSchemaFromPublish.js +39 -16
  256. package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
  257. package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +1 -1
  258. package/dist/PublishParser/getTableRulesWithoutFileTable.js +42 -22
  259. package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +1 -1
  260. package/dist/PublishParser/publishTypesAndUtils.d.ts.map +1 -1
  261. package/dist/PublishParser/publishTypesAndUtils.js +5 -1
  262. package/dist/PublishParser/publishTypesAndUtils.js.map +1 -1
  263. package/dist/RestApi.d.ts +1 -1
  264. package/dist/RestApi.d.ts.map +1 -1
  265. package/dist/RestApi.js +1 -1
  266. package/dist/RestApi.js.map +1 -1
  267. package/dist/SchemaWatch/SchemaWatch.d.ts +2 -2
  268. package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -1
  269. package/dist/SchemaWatch/SchemaWatch.js +11 -9
  270. package/dist/SchemaWatch/SchemaWatch.js.map +1 -1
  271. package/dist/SchemaWatch/getValidatedWatchSchemaType.d.ts.map +1 -1
  272. package/dist/SchemaWatch/getValidatedWatchSchemaType.js +3 -3
  273. package/dist/SchemaWatch/getValidatedWatchSchemaType.js.map +1 -1
  274. package/dist/SchemaWatch/getWatchSchemaTagList.d.ts.map +1 -1
  275. package/dist/SchemaWatch/getWatchSchemaTagList.js +12 -6
  276. package/dist/SchemaWatch/getWatchSchemaTagList.js.map +1 -1
  277. package/dist/SyncReplication.d.ts.map +1 -1
  278. package/dist/SyncReplication.js +84 -42
  279. package/dist/SyncReplication.js.map +1 -1
  280. package/dist/TableConfig/TableConfig.d.ts +5 -5
  281. package/dist/TableConfig/TableConfig.d.ts.map +1 -1
  282. package/dist/TableConfig/TableConfig.js +18 -5
  283. package/dist/TableConfig/TableConfig.js.map +1 -1
  284. package/dist/TableConfig/getColumnDefinitionQuery.d.ts +2 -2
  285. package/dist/TableConfig/getColumnDefinitionQuery.d.ts.map +1 -1
  286. package/dist/TableConfig/getColumnDefinitionQuery.js +20 -9
  287. package/dist/TableConfig/getColumnDefinitionQuery.js.map +1 -1
  288. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts +3 -3
  289. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
  290. package/dist/TableConfig/getConstraintDefinitionQueries.js +12 -7
  291. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  292. package/dist/TableConfig/getFutureTableSchema.d.ts +1 -1
  293. package/dist/TableConfig/getFutureTableSchema.d.ts.map +1 -1
  294. package/dist/TableConfig/getFutureTableSchema.js +6 -4
  295. package/dist/TableConfig/getFutureTableSchema.js.map +1 -1
  296. package/dist/TableConfig/getPGIndexes.d.ts.map +1 -1
  297. package/dist/TableConfig/getPGIndexes.js.map +1 -1
  298. package/dist/TableConfig/getTableColumnQueries.d.ts +1 -1
  299. package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -1
  300. package/dist/TableConfig/getTableColumnQueries.js +38 -19
  301. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  302. package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
  303. package/dist/TableConfig/initTableConfig.js +91 -43
  304. package/dist/TableConfig/initTableConfig.js.map +1 -1
  305. package/dist/index.d.ts.map +1 -1
  306. package/dist/index.js.map +1 -1
  307. package/dist/initProstgles.d.ts.map +1 -1
  308. package/dist/initProstgles.js +14 -10
  309. package/dist/initProstgles.js.map +1 -1
  310. package/dist/onSocketConnected.d.ts.map +1 -1
  311. package/dist/onSocketConnected.js +38 -16
  312. package/dist/onSocketConnected.js.map +1 -1
  313. package/dist/runClientRequest.d.ts.map +1 -1
  314. package/dist/runClientRequest.js +33 -14
  315. package/dist/runClientRequest.js.map +1 -1
  316. package/dist/shortestPath.d.ts.map +1 -1
  317. package/dist/shortestPath.js +1 -1
  318. package/dist/shortestPath.js.map +1 -1
  319. package/dist/typeTests/dboTypeCheck.js.map +1 -1
  320. package/examples/full-example-typescript/DBoGenerated.d.ts +112 -54
  321. package/examples/full-example-typescript/DBoGenerated.js +3 -3
  322. package/examples/full-example-typescript/home.html +28 -26
  323. package/examples/full-example-typescript/index.d.ts +1 -1
  324. package/examples/full-example-typescript/index.js +80 -53
  325. package/examples/full-example-vanilla/home.html +151 -125
  326. package/examples/server/javascript/index.js +17 -19
  327. package/lib/Auth/AuthHandler.ts +285 -167
  328. package/lib/Auth/AuthTypes.ts +43 -12
  329. package/lib/Auth/getSafeReturnURL.ts +35 -21
  330. package/lib/Auth/sendEmail.ts +34 -31
  331. package/lib/Auth/setAuthProviders.ts +94 -71
  332. package/lib/Auth/setEmailProvider.ts +53 -36
  333. package/lib/Auth/setupAuthRoutes.ts +164 -100
  334. package/lib/DBEventsManager.ts +87 -65
  335. package/lib/DBSchemaBuilder.ts +62 -28
  336. package/lib/DboBuilder/DboBuilder.ts +45 -21
  337. package/lib/DboBuilder/DboBuilderTypes.ts +99 -95
  338. package/lib/DboBuilder/QueryBuilder/Functions.ts +862 -580
  339. package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +202 -141
  340. package/lib/DboBuilder/QueryBuilder/getJoinQuery.ts +199 -124
  341. package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +209 -148
  342. package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +101 -75
  343. package/lib/DboBuilder/QueryBuilder/prepareHaving.ts +10 -5
  344. package/lib/DboBuilder/QueryStreamer.ts +207 -100
  345. package/lib/DboBuilder/TableHandler/DataValidator.ts +253 -148
  346. package/lib/DboBuilder/TableHandler/TableHandler.ts +155 -60
  347. package/lib/DboBuilder/TableHandler/delete.ts +82 -29
  348. package/lib/DboBuilder/TableHandler/insert.ts +177 -81
  349. package/lib/DboBuilder/TableHandler/insertTest.ts +13 -7
  350. package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +35 -21
  351. package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +95 -45
  352. package/lib/DboBuilder/TableHandler/update.ts +54 -14
  353. package/lib/DboBuilder/TableHandler/updateBatch.ts +59 -21
  354. package/lib/DboBuilder/TableHandler/updateFile.ts +57 -26
  355. package/lib/DboBuilder/TableHandler/upsert.ts +58 -13
  356. package/lib/DboBuilder/ViewHandler/ViewHandler.ts +264 -121
  357. package/lib/DboBuilder/ViewHandler/count.ts +56 -25
  358. package/lib/DboBuilder/ViewHandler/find.ts +153 -68
  359. package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +59 -32
  360. package/lib/DboBuilder/ViewHandler/getExistsFilters.ts +31 -19
  361. package/lib/DboBuilder/ViewHandler/getInfo.ts +47 -16
  362. package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +91 -57
  363. package/lib/DboBuilder/ViewHandler/parseComplexFilter.ts +51 -29
  364. package/lib/DboBuilder/ViewHandler/parseFieldFilter.ts +35 -29
  365. package/lib/DboBuilder/ViewHandler/parseJoinPath.ts +130 -76
  366. package/lib/DboBuilder/ViewHandler/prepareSortItems.ts +140 -92
  367. package/lib/DboBuilder/ViewHandler/prepareWhere.ts +66 -26
  368. package/lib/DboBuilder/ViewHandler/size.ts +56 -22
  369. package/lib/DboBuilder/ViewHandler/subscribe.ts +122 -46
  370. package/lib/DboBuilder/ViewHandler/validateViewRules.ts +39 -14
  371. package/lib/DboBuilder/dboBuilderUtils.ts +41 -18
  372. package/lib/DboBuilder/getColumns.ts +44 -12
  373. package/lib/DboBuilder/getCondition.ts +120 -79
  374. package/lib/DboBuilder/getSubscribeRelatedTables.ts +144 -83
  375. package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +61 -44
  376. package/lib/DboBuilder/insertNestedRecords.ts +370 -235
  377. package/lib/DboBuilder/parseUpdateRules.ts +117 -61
  378. package/lib/DboBuilder/prepareShortestJoinPaths.ts +115 -56
  379. package/lib/DboBuilder/runSQL.ts +135 -74
  380. package/lib/DboBuilder/runTransaction.ts +27 -16
  381. package/lib/DboBuilder/sqlErrCodeToMsg.ts +502 -244
  382. package/lib/DboBuilder/uploadFile.ts +67 -31
  383. package/lib/Event_Trigger_Tags.ts +6 -4
  384. package/lib/FileManager/FileManager.ts +53 -21
  385. package/lib/FileManager/getValidatedFileType.ts +79 -35
  386. package/lib/FileManager/initFileManager.ts +21 -9
  387. package/lib/FileManager/upload.ts +21 -19
  388. package/lib/FileManager/uploadStream.ts +33 -34
  389. package/lib/Filtering.ts +249 -197
  390. package/lib/JSONBValidation/validate_jsonb_schema_sql.ts +2 -7
  391. package/lib/JSONBValidation/validation.ts +147 -82
  392. package/lib/Logging.ts +107 -97
  393. package/lib/PostgresNotifListenManager.ts +96 -63
  394. package/lib/Prostgles.ts +106 -35
  395. package/lib/ProstglesTypes.ts +31 -9
  396. package/lib/PubSubManager/PubSubManager.ts +62 -27
  397. package/lib/PubSubManager/addSub.ts +56 -37
  398. package/lib/PubSubManager/addSync.ts +50 -33
  399. package/lib/PubSubManager/getCreatePubSubManagerError.ts +29 -21
  400. package/lib/PubSubManager/getPubSubManagerInitQuery.ts +45 -27
  401. package/lib/PubSubManager/initPubSubManager.ts +27 -18
  402. package/lib/PubSubManager/notifListener.ts +77 -59
  403. package/lib/PubSubManager/orphanTriggerCheck.ts +5 -4
  404. package/lib/PubSubManager/pushSubData.ts +11 -9
  405. package/lib/PublishParser/PublishParser.ts +102 -44
  406. package/lib/PublishParser/getFileTableRules.ts +97 -54
  407. package/lib/PublishParser/getSchemaFromPublish.ts +146 -74
  408. package/lib/PublishParser/getTableRulesWithoutFileTable.ts +101 -51
  409. package/lib/PublishParser/publishTypesAndUtils.ts +74 -23
  410. package/lib/RestApi.ts +10 -2
  411. package/lib/SchemaWatch/SchemaWatch.ts +52 -34
  412. package/lib/SchemaWatch/createSchemaWatchEventTrigger.ts +1 -1
  413. package/lib/SchemaWatch/getValidatedWatchSchemaType.ts +32 -22
  414. package/lib/SchemaWatch/getWatchSchemaTagList.ts +24 -16
  415. package/lib/SyncReplication.ts +376 -190
  416. package/lib/TableConfig/TableConfig.ts +200 -136
  417. package/lib/TableConfig/getColumnDefinitionQuery.ts +65 -44
  418. package/lib/TableConfig/getConstraintDefinitionQueries.ts +41 -25
  419. package/lib/TableConfig/getFutureTableSchema.ts +31 -21
  420. package/lib/TableConfig/getPGIndexes.ts +7 -4
  421. package/lib/TableConfig/getTableColumnQueries.ts +101 -54
  422. package/lib/TableConfig/initTableConfig.ts +192 -101
  423. package/lib/index.ts +6 -5
  424. package/lib/initProstgles.ts +57 -51
  425. package/lib/onSocketConnected.ts +75 -40
  426. package/lib/runClientRequest.ts +148 -79
  427. package/lib/shortestPath.ts +80 -76
  428. package/lib/typeTests/DBoGenerated.d.ts +5 -1
  429. package/lib/typeTests/dboTypeCheck.ts +8 -8
  430. package/package.json +1 -1
@@ -1,9 +1,24 @@
1
1
  import pgPromise from "pg-promise";
2
- import { AnyObject, asName, DeleteParams, FieldFilter, InsertParams, Select, UpdateParams } from "prostgles-types";
2
+ import {
3
+ AnyObject,
4
+ asName,
5
+ DeleteParams,
6
+ FieldFilter,
7
+ InsertParams,
8
+ Select,
9
+ UpdateParams,
10
+ } from "prostgles-types";
3
11
  import { DB } from "../../Prostgles";
4
12
  import { SyncRule, TableRule } from "../../PublishParser/PublishParser";
5
13
  import TableConfigurator from "../../TableConfig/TableConfig";
6
- import { DboBuilder, Filter, getErrorAsObject, getSerializedClientErrorFromPGError, LocalParams, TableHandlers } from "../DboBuilder";
14
+ import {
15
+ DboBuilder,
16
+ Filter,
17
+ getErrorAsObject,
18
+ getSerializedClientErrorFromPGError,
19
+ LocalParams,
20
+ TableHandlers,
21
+ } from "../DboBuilder";
7
22
  import type { TableSchema } from "../DboBuilderTypes";
8
23
  import { parseUpdateRules } from "../parseUpdateRules";
9
24
  import { COMPUTED_FIELDS, FUNCTIONS } from "../QueryBuilder/Functions";
@@ -16,7 +31,6 @@ import { update } from "./update";
16
31
  import { updateBatch } from "./updateBatch";
17
32
  import { upsert } from "./upsert";
18
33
 
19
-
20
34
  export type ValidatedParams = {
21
35
  row: AnyObject;
22
36
  forcedData?: AnyObject;
@@ -25,44 +39,58 @@ export type ValidatedParams = {
25
39
  removeDisallowedFields: boolean;
26
40
  tableConfigurator: TableConfigurator | undefined;
27
41
  tableHandler: TableHandler;
28
- }
29
-
30
- export class TableHandler extends ViewHandler {
42
+ };
31
43
 
44
+ export class TableHandler extends ViewHandler {
32
45
  dataValidator: DataValidator;
33
- constructor(db: DB, tableOrViewInfo: TableSchema, dboBuilder: DboBuilder, tx?: {t: pgPromise.ITask<{}>, dbTX: TableHandlers}, joinPaths?: JoinPaths) {
46
+ constructor(
47
+ db: DB,
48
+ tableOrViewInfo: TableSchema,
49
+ dboBuilder: DboBuilder,
50
+ tx?: { t: pgPromise.ITask<{}>; dbTX: TableHandlers },
51
+ joinPaths?: JoinPaths,
52
+ ) {
34
53
  super(db, tableOrViewInfo, dboBuilder, tx, joinPaths);
35
54
 
36
55
  this.remove = this.delete;
37
56
 
38
57
  this.dataValidator = new DataValidator(this);
39
58
  this.is_view = false;
40
- this.is_media = dboBuilder.prostgles.isMedia(this.name)
59
+ this.is_media = dboBuilder.prostgles.isMedia(this.name);
41
60
  }
42
61
 
43
62
  getFinalDBtx = (localParams: LocalParams | undefined) => {
44
63
  return localParams?.tx?.dbTX ?? this.tx?.dbTX;
45
- }
64
+ };
46
65
  getFinalDbo = (localParams: LocalParams | undefined) => {
47
66
  return this.getFinalDBtx(localParams) ?? this.dboBuilder.dbo;
48
- }
67
+ };
49
68
 
50
69
  parseUpdateRules = parseUpdateRules.bind(this);
51
-
70
+
52
71
  update = update.bind(this);
53
72
  updateBatch = updateBatch.bind(this);
54
-
73
+
55
74
  async insert(
56
- rowOrRows: AnyObject | AnyObject[],
57
- param2?: InsertParams,
58
- param3_unused?: undefined,
59
- tableRules?: TableRule,
60
- _localParams?: LocalParams
61
- ): Promise<any | any[] | boolean> {
62
- return insert.bind(this)(rowOrRows, param2, param3_unused, tableRules, _localParams)
75
+ rowOrRows: AnyObject | AnyObject[],
76
+ param2?: InsertParams,
77
+ param3_unused?: undefined,
78
+ tableRules?: TableRule,
79
+ _localParams?: LocalParams,
80
+ ): Promise<any | any[] | boolean> {
81
+ return insert.bind(this)(
82
+ rowOrRows,
83
+ param2,
84
+ param3_unused,
85
+ tableRules,
86
+ _localParams,
87
+ );
63
88
  }
64
89
 
65
- prepareReturning = async (returning: Select | undefined, allowedFields: string[]): Promise<SelectItem[]> => {
90
+ prepareReturning = async (
91
+ returning: Select | undefined,
92
+ allowedFields: string[],
93
+ ): Promise<SelectItem[]> => {
66
94
  const result: SelectItem[] = [];
67
95
  if (returning) {
68
96
  const sBuilder = new SelectItemBuilder({
@@ -70,7 +98,9 @@ export class TableHandler extends ViewHandler {
70
98
  allowedFields,
71
99
  allowedOrderByFields: allowedFields,
72
100
  computedFields: COMPUTED_FIELDS,
73
- functions: FUNCTIONS.filter(f => f.type === "function" && f.singleColArg),
101
+ functions: FUNCTIONS.filter(
102
+ (f) => f.type === "function" && f.singleColArg,
103
+ ),
74
104
  isView: this.is_view,
75
105
  columns: this.columns,
76
106
  });
@@ -80,97 +110,162 @@ export class TableHandler extends ViewHandler {
80
110
  }
81
111
 
82
112
  return result;
83
- }
113
+ };
84
114
 
85
115
  makeReturnQuery(items?: SelectItem[]) {
86
116
  if (items?.length) return " RETURNING " + getSelectItemQuery(items);
87
117
  return "";
88
118
  }
89
119
 
90
- async delete(filter?: Filter, params?: DeleteParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any> {
91
- return _delete.bind(this)(filter, params, param3_unused, table_rules, localParams);
120
+ async delete(
121
+ filter?: Filter,
122
+ params?: DeleteParams,
123
+ param3_unused?: undefined,
124
+ table_rules?: TableRule,
125
+ localParams?: LocalParams,
126
+ ): Promise<any> {
127
+ return _delete.bind(this)(
128
+ filter,
129
+ params,
130
+ param3_unused,
131
+ table_rules,
132
+ localParams,
133
+ );
92
134
  }
93
135
 
94
- remove(filter: Filter, params?: UpdateParams, param3_unused?: undefined, tableRules?: TableRule, localParams?: LocalParams) {
136
+ remove(
137
+ filter: Filter,
138
+ params?: UpdateParams,
139
+ param3_unused?: undefined,
140
+ tableRules?: TableRule,
141
+ localParams?: LocalParams,
142
+ ) {
95
143
  return this.delete(filter, params, param3_unused, tableRules, localParams);
96
144
  }
97
145
 
98
- upsert = upsert.bind(this);
146
+ upsert = upsert.bind(this);
99
147
 
100
148
  /* External request. Cannot sync from server */
101
- async sync(filter: Filter, params: { select?: FieldFilter }, param3_unused: undefined, table_rules: TableRule, localParams: LocalParams) {
149
+ async sync(
150
+ filter: Filter,
151
+ params: { select?: FieldFilter },
152
+ param3_unused: undefined,
153
+ table_rules: TableRule,
154
+ localParams: LocalParams,
155
+ ) {
102
156
  const start = Date.now();
103
157
  try {
104
-
105
- if(!this.dboBuilder.canSubscribe){
158
+ if (!this.dboBuilder.canSubscribe) {
106
159
  throw "Cannot subscribe. PubSubManager not initiated";
107
160
  }
108
161
 
109
162
  if (!localParams) throw "Sync not allowed within the server code";
110
163
  const { socket } = localParams;
111
164
  if (!socket) throw "socket missing";
112
-
113
-
114
- if (!table_rules || !table_rules.sync || !table_rules.select) throw "sync or select table rules missing";
115
-
165
+
166
+ if (!table_rules || !table_rules.sync || !table_rules.select)
167
+ throw "sync or select table rules missing";
168
+
116
169
  if (this.tx) throw "Sync not allowed within transactions";
117
-
170
+
118
171
  const ALLOWED_PARAMS = ["select"];
119
- const invalidParams = Object.keys(params || {}).filter(k => !ALLOWED_PARAMS.includes(k));
120
- if (invalidParams.length) throw "Invalid or dissallowed params found: " + invalidParams.join(", ");
121
-
172
+ const invalidParams = Object.keys(params || {}).filter(
173
+ (k) => !ALLOWED_PARAMS.includes(k),
174
+ );
175
+ if (invalidParams.length)
176
+ throw (
177
+ "Invalid or dissallowed params found: " + invalidParams.join(", ")
178
+ );
179
+
122
180
  const { synced_field, allow_delete }: SyncRule = table_rules.sync;
123
181
 
124
182
  if (!table_rules.sync.id_fields.length || !synced_field) {
125
- const err = "INTERNAL ERROR: id_fields OR synced_field missing from publish";
183
+ const err =
184
+ "INTERNAL ERROR: id_fields OR synced_field missing from publish";
126
185
  console.error(err);
127
186
  throw err;
128
187
  }
129
188
 
130
- const id_fields = this.parseFieldFilter(table_rules.sync.id_fields, false);
189
+ const id_fields = this.parseFieldFilter(
190
+ table_rules.sync.id_fields,
191
+ false,
192
+ );
131
193
  const syncFields = [...id_fields, synced_field];
132
194
 
133
- const allowedSelect = this.parseFieldFilter(table_rules?.select.fields ?? false);
134
- if (syncFields.find(f => !allowedSelect.includes(f))) {
195
+ const allowedSelect = this.parseFieldFilter(
196
+ table_rules?.select.fields ?? false,
197
+ );
198
+ if (syncFields.find((f) => !allowedSelect.includes(f))) {
135
199
  throw `INTERNAL ERROR: sync field missing from publish.${this.name}.select.fields`;
136
200
  }
137
201
  const select = this.getAllowedSelectFields(
138
202
  params?.select ?? "*",
139
203
  allowedSelect,
140
- false
204
+ false,
141
205
  );
142
206
  if (!select.length) throw "Empty select not allowed";
143
207
 
144
208
  /* Add sync fields if missing */
145
- syncFields.map(sf => {
209
+ syncFields.map((sf) => {
146
210
  if (!select.includes(sf)) select.push(sf);
147
211
  });
148
212
 
149
213
  /* Step 1: parse command and params */
150
- const result = await this.find(filter, { select, limit: 0 }, undefined, table_rules, localParams)
151
- .then(async _isValid => {
152
-
153
- const { filterFields, forcedFilter } = table_rules?.select || {};
154
- const condition = (await this.prepareWhere({ select: undefined, filter, forcedFilter, filterFields, addWhere: false, localParams, tableRule: table_rules })).where;
155
-
156
- const pubSubManager = await this.dboBuilder.getPubSubManager();
157
- return pubSubManager.addSync({
214
+ const result = await this.find(
215
+ filter,
216
+ { select, limit: 0 },
217
+ undefined,
218
+ table_rules,
219
+ localParams,
220
+ ).then(async (_isValid) => {
221
+ const { filterFields, forcedFilter } = table_rules?.select || {};
222
+ const condition = (
223
+ await this.prepareWhere({
224
+ select: undefined,
225
+ filter,
226
+ forcedFilter,
227
+ filterFields,
228
+ addWhere: false,
229
+ localParams,
230
+ tableRule: table_rules,
231
+ })
232
+ ).where;
233
+
234
+ const pubSubManager = await this.dboBuilder.getPubSubManager();
235
+ return pubSubManager
236
+ .addSync({
158
237
  table_info: this.tableOrViewInfo,
159
238
  condition,
160
- id_fields,
239
+ id_fields,
161
240
  synced_field,
162
241
  allow_delete,
163
242
  socket,
164
243
  table_rules,
165
244
  filter: { ...filter },
166
- params: { select }
167
- }).then(channelName => ({ channelName, id_fields, synced_field }));
168
- });
169
- await this._log({ command: "sync", localParams, data: { filter, params }, duration: Date.now() - start });
245
+ params: { select },
246
+ })
247
+ .then((channelName) => ({ channelName, id_fields, synced_field }));
248
+ });
249
+ await this._log({
250
+ command: "sync",
251
+ localParams,
252
+ data: { filter, params },
253
+ duration: Date.now() - start,
254
+ });
170
255
  return result;
171
256
  } catch (e) {
172
- await this._log({ command: "sync", localParams, data: { filter, params }, duration: Date.now() - start, error: getErrorAsObject(e) });
173
- throw getSerializedClientErrorFromPGError(e, { type: "tableMethod", localParams, view: this });
257
+ await this._log({
258
+ command: "sync",
259
+ localParams,
260
+ data: { filter, params },
261
+ duration: Date.now() - start,
262
+ error: getErrorAsObject(e),
263
+ });
264
+ throw getSerializedClientErrorFromPGError(e, {
265
+ type: "tableMethod",
266
+ localParams,
267
+ view: this,
268
+ });
174
269
  }
175
270
 
176
271
  /*
@@ -199,7 +294,7 @@ export class TableHandler extends ViewHandler {
199
294
  { data } -> WHERE synced >= from_synced
200
295
  */
201
296
  }
202
-
203
297
  }
204
298
 
205
- export const getSelectItemQuery = (items: SelectItem[]) => items.map(s => s.getQuery() + " AS " + asName(s.alias)).join(", ")
299
+ export const getSelectItemQuery = (items: SelectItem[]) =>
300
+ items.map((s) => s.getQuery() + " AS " + asName(s.alias)).join(", ");
@@ -1,12 +1,25 @@
1
1
  import pgPromise from "pg-promise";
2
2
  import { AnyObject, DeleteParams, FieldFilter } from "prostgles-types";
3
3
  import { DeleteRule, TableRule } from "../../PublishParser/PublishParser";
4
- import { Filter, LocalParams, getErrorAsObject, getSerializedClientErrorFromPGError, withUserRLS } from "../DboBuilder";
4
+ import {
5
+ Filter,
6
+ LocalParams,
7
+ getErrorAsObject,
8
+ getSerializedClientErrorFromPGError,
9
+ withUserRLS,
10
+ } from "../DboBuilder";
5
11
  import { runQueryReturnType } from "../ViewHandler/find";
6
12
  import { TableHandler } from "./TableHandler";
7
13
  import { onDeleteFromFileTable } from "./onDeleteFromFileTable";
8
14
 
9
- export async function _delete(this: TableHandler, filter?: Filter, params?: DeleteParams, param3_unused?: undefined, tableRules?: TableRule, localParams?: LocalParams): Promise<any> {
15
+ export async function _delete(
16
+ this: TableHandler,
17
+ filter?: Filter,
18
+ params?: DeleteParams,
19
+ param3_unused?: undefined,
20
+ tableRules?: TableRule,
21
+ localParams?: LocalParams,
22
+ ): Promise<any> {
10
23
  const start = Date.now();
11
24
  try {
12
25
  const { returning } = params || {};
@@ -29,32 +42,49 @@ export async function _delete(this: TableHandler, filter?: Filter, params?: Dele
29
42
  if (!returningFields) returningFields = tableRules?.select?.fields;
30
43
  if (!returningFields) returningFields = tableRules?.delete?.filterFields;
31
44
 
32
- if (!filterFields) throw ` Invalid delete rule for ${this.name}. filterFields missing `;
45
+ if (!filterFields)
46
+ throw ` Invalid delete rule for ${this.name}. filterFields missing `;
33
47
 
34
48
  /* Safely test publish rules */
35
49
  if (testRule) {
36
- await this.validateViewRules({ filterFields, returningFields, forcedFilter, rule: "delete" });
50
+ await this.validateViewRules({
51
+ filterFields,
52
+ returningFields,
53
+ forcedFilter,
54
+ rule: "delete",
55
+ });
37
56
  return true;
38
57
  }
39
58
  }
40
59
 
41
60
  if (params) {
42
- const good_paramsObj: Record<keyof DeleteParams, 1> = { returning: 1, returnType: 1 };
61
+ const good_paramsObj: Record<keyof DeleteParams, 1> = {
62
+ returning: 1,
63
+ returnType: 1,
64
+ };
43
65
  const good_params = Object.keys(good_paramsObj);
44
- const bad_params = Object.keys(params).filter(k => !good_params.includes(k));
45
- if (bad_params && bad_params.length) throw "Invalid params: " + bad_params.join(", ") + " \n Expecting: " + good_params.join(", ");
66
+ const bad_params = Object.keys(params).filter(
67
+ (k) => !good_params.includes(k),
68
+ );
69
+ if (bad_params && bad_params.length)
70
+ throw (
71
+ "Invalid params: " +
72
+ bad_params.join(", ") +
73
+ " \n Expecting: " +
74
+ good_params.join(", ")
75
+ );
46
76
  }
47
77
 
48
- let queryType: keyof pgPromise.ITask<{}> = 'none';
78
+ let queryType: keyof pgPromise.ITask<{}> = "none";
49
79
  let queryWithoutRLS = `DELETE FROM ${this.escapedName} `;
50
- const filterOpts = (await this.prepareWhere({
80
+ const filterOpts = await this.prepareWhere({
51
81
  select: undefined,
52
82
  filter,
53
83
  forcedFilter,
54
84
  filterFields,
55
85
  localParams,
56
- tableRule: tableRules
57
- }))
86
+ tableRule: tableRules,
87
+ });
58
88
  queryWithoutRLS += filterOpts.where;
59
89
  if (validate) {
60
90
  const _filter = filterOpts.filter;
@@ -67,8 +97,13 @@ export async function _delete(this: TableHandler, filter?: Filter, params?: Dele
67
97
  if (!returningFields) {
68
98
  throw "Returning dissallowed";
69
99
  }
70
- returningQuery = this.makeReturnQuery(await this.prepareReturning(returning, this.parseFieldFilter(returningFields)));
71
- queryWithoutRLS += returningQuery
100
+ returningQuery = this.makeReturnQuery(
101
+ await this.prepareReturning(
102
+ returning,
103
+ this.parseFieldFilter(returningFields),
104
+ ),
105
+ );
106
+ queryWithoutRLS += returningQuery;
72
107
  }
73
108
 
74
109
  // TODO - delete orphaned files
@@ -86,30 +121,48 @@ export async function _delete(this: TableHandler, filter?: Filter, params?: Dele
86
121
  * Delete file
87
122
  */
88
123
  if (this.is_media) {
89
- const result = await onDeleteFromFileTable.bind(this)({
90
- localParams,
91
- queryType,
92
- returningQuery: returnQuery? returnQuery : undefined,
124
+ const result = await onDeleteFromFileTable.bind(this)({
125
+ localParams,
126
+ queryType,
127
+ returningQuery: returnQuery ? returnQuery : undefined,
93
128
  filterOpts,
94
129
  });
95
- await this._log({ command: "delete", localParams, data: { filter, params }, duration: Date.now() - start });
130
+ await this._log({
131
+ command: "delete",
132
+ localParams,
133
+ data: { filter, params },
134
+ duration: Date.now() - start,
135
+ });
96
136
  return result;
97
137
  }
98
138
 
99
- const result = await runQueryReturnType({
139
+ const result = await runQueryReturnType({
100
140
  queryWithoutRLS,
101
141
  queryWithRLS,
102
- newQuery: undefined,
103
- returnType: params?.returnType,
104
- handler: this,
105
- localParams
142
+ newQuery: undefined,
143
+ returnType: params?.returnType,
144
+ handler: this,
145
+ localParams,
146
+ });
147
+ await this._log({
148
+ command: "delete",
149
+ localParams,
150
+ data: { filter, params },
151
+ duration: Date.now() - start,
106
152
  });
107
- await this._log({ command: "delete", localParams, data: { filter, params }, duration: Date.now() - start });
108
153
  return result;
109
-
110
154
  } catch (e) {
111
- await this._log({ command: "delete", localParams, data: { filter, params }, duration: Date.now() - start, error: getErrorAsObject(e) });
112
- throw getSerializedClientErrorFromPGError(e, { type: "tableMethod", localParams, view: this });
155
+ await this._log({
156
+ command: "delete",
157
+ localParams,
158
+ data: { filter, params },
159
+ duration: Date.now() - start,
160
+ error: getErrorAsObject(e),
161
+ });
162
+ throw getSerializedClientErrorFromPGError(e, {
163
+ type: "tableMethod",
164
+ localParams,
165
+ view: this,
166
+ });
113
167
  }
114
- }
115
-
168
+ }