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,13 @@
1
- import { asName as _asName, AnyObject, TableInfo, ALLOWED_EXTENSION, ALLOWED_CONTENT_TYPE, isObject, JSONB, ColumnInfo } from "prostgles-types";
1
+ import {
2
+ asName as _asName,
3
+ AnyObject,
4
+ TableInfo,
5
+ ALLOWED_EXTENSION,
6
+ ALLOWED_CONTENT_TYPE,
7
+ isObject,
8
+ JSONB,
9
+ ColumnInfo,
10
+ } from "prostgles-types";
2
11
  import { isPlainObject, JoinInfo, LocalParams } from "../DboBuilder/DboBuilder";
3
12
  import { DB, DBHandlerServer, Prostgles } from "../Prostgles";
4
13
  import { InsertRule, ValidateRowArgs } from "../PublishParser/PublishParser";
@@ -14,39 +23,41 @@ type ColExtraInfo = {
14
23
 
15
24
  export type I18N_Config<LANG_IDS> = {
16
25
  [lang_id in keyof LANG_IDS]: string;
17
- }
26
+ };
18
27
 
19
28
  export const parseI18N = <LANG_IDS, Def extends string | undefined>(params: {
20
- config?: I18N_Config<LANG_IDS> | string;
21
- lang?: keyof LANG_IDS | string;
29
+ config?: I18N_Config<LANG_IDS> | string;
30
+ lang?: keyof LANG_IDS | string;
22
31
  defaultLang: keyof LANG_IDS | string;
23
32
  defaultValue: Def;
24
33
  }): Def | string => {
25
34
  const { config, lang, defaultLang, defaultValue } = params;
26
- if(config){
27
- if(isPlainObject(config)){
35
+ if (config) {
36
+ if (isPlainObject(config)) {
28
37
  //@ts-ignore
29
38
  return config[lang] ?? config[defaultLang];
30
- } else if(typeof config === "string"){
39
+ } else if (typeof config === "string") {
31
40
  return config;
32
41
  }
33
42
  }
34
43
 
35
44
  return defaultValue;
36
- }
45
+ };
37
46
 
38
47
  type BaseTableDefinition<LANG_IDS = AnyObject> = {
39
48
  info?: {
40
49
  label?: string | I18N_Config<LANG_IDS>;
41
- }
50
+ };
42
51
  dropIfExistsCascade?: boolean;
43
52
  dropIfExists?: boolean;
44
53
  hooks?: {
45
54
  /**
46
- * Hook used to run custom logic before inserting a row.
55
+ * Hook used to run custom logic before inserting a row.
47
56
  * The returned row must satisfy the table schema
48
57
  */
49
- getPreInsertRow?: (args: GetPreInsertRowArgs) => Promise<{ row: AnyObject; onInserted: Promise<void>; }>;
58
+ getPreInsertRow?: (
59
+ args: GetPreInsertRowArgs,
60
+ ) => Promise<{ row: AnyObject; onInserted: Promise<void> }>;
50
61
  };
51
62
  triggers?: {
52
63
  [triggerName: string]: {
@@ -77,19 +88,21 @@ type BaseTableDefinition<LANG_IDS = AnyObject> = {
77
88
  END;
78
89
  */
79
90
  query: string;
80
- }
91
+ };
81
92
  };
82
- }
93
+ };
83
94
 
84
95
  type LookupTableDefinition<LANG_IDS> = {
85
96
  isLookupTable: {
86
97
  values: {
87
- [id_value: string]: {} | {
88
- [lang_id in keyof LANG_IDS]: string
89
- }
90
- }
91
- }
92
- }
98
+ [id_value: string]:
99
+ | {}
100
+ | {
101
+ [lang_id in keyof LANG_IDS]: string;
102
+ };
103
+ };
104
+ };
105
+ };
93
106
 
94
107
  export type BaseColumn<LANG_IDS> = {
95
108
  /**
@@ -97,21 +110,20 @@ export type BaseColumn<LANG_IDS> = {
97
110
  */
98
111
  info?: ColExtraInfo;
99
112
 
100
- label?: string | Partial<{ [lang_id in keyof LANG_IDS]: string; }>;
101
- }
113
+ label?: string | Partial<{ [lang_id in keyof LANG_IDS]: string }>;
114
+ };
102
115
 
103
116
  type SQLDefColumn = {
104
-
105
117
  /**
106
118
  * Raw sql statement used in creating/adding column
107
119
  */
108
120
  sqlDefinition?: string;
109
- }
121
+ };
110
122
 
111
123
  export type BaseColumnTypes = {
112
124
  defaultValue?: any;
113
125
  nullable?: boolean;
114
- }
126
+ };
115
127
 
116
128
  type TextColumn = BaseColumnTypes & {
117
129
  isText: true;
@@ -124,44 +136,51 @@ type TextColumn = BaseColumnTypes & {
124
136
  * Value will be lower cased before update/insert
125
137
  */
126
138
  lowerCased?: boolean;
127
- }
139
+ };
128
140
 
129
141
  export type JSONBColumnDef = (BaseColumnTypes & {
130
142
  /**
131
143
  * If the new schema CHECK fails old rows the update old rows using this function
132
144
  */
133
145
  // onMigrationFail?: <T>(failedRow: T) => AnyObject | Promise<AnyObject>;
134
- }) & ({
135
- jsonbSchema: JSONB.JSONBSchema;
136
- jsonbSchemaType?: undefined;
137
- } | {
138
- jsonbSchema?: undefined;
139
- jsonbSchemaType: JSONB.ObjectType["type"];
140
- })
146
+ }) &
147
+ (
148
+ | {
149
+ jsonbSchema: JSONB.JSONBSchema;
150
+ jsonbSchemaType?: undefined;
151
+ }
152
+ | {
153
+ jsonbSchema?: undefined;
154
+ jsonbSchemaType: JSONB.ObjectType["type"];
155
+ }
156
+ );
141
157
 
142
158
  /**
143
159
  * Allows referencing media to this table.
144
160
  * Requires this table to have a primary key AND a valid fileTable config
145
161
  */
146
- type MediaColumn = ({
147
-
162
+ type MediaColumn = {
148
163
  name: string;
149
164
  label?: string;
150
165
  files: "one" | "many";
151
166
  } & (
152
- {
153
-
167
+ | {
154
168
  /**
155
169
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept
156
170
  */
157
- allowedContentType?: Record<Partial<("audio/*" | "video/*" | "image/*" | "text/*" | ALLOWED_CONTENT_TYPE)>, 1>
158
- } |
159
- {
160
- allowedExtensions?: Record<Partial<ALLOWED_EXTENSION>, 1>
171
+ allowedContentType?: Record<
172
+ Partial<
173
+ "audio/*" | "video/*" | "image/*" | "text/*" | ALLOWED_CONTENT_TYPE
174
+ >,
175
+ 1
176
+ >;
177
+ }
178
+ | {
179
+ allowedExtensions?: Record<Partial<ALLOWED_EXTENSION>, 1>;
161
180
  }
162
- ));
181
+ );
163
182
 
164
- type ReferencedColumn = {
183
+ type ReferencedColumn = {
165
184
  /**
166
185
  * Will create a lookup table that this column will reference
167
186
  */
@@ -171,14 +190,14 @@ type ReferencedColumn = {
171
190
  * Defaults to id
172
191
  */
173
192
  columnName?: string;
174
- }
175
- }
193
+ };
194
+ };
176
195
 
177
196
  type JoinDef = {
178
197
  sourceTable: string;
179
198
  targetTable: string;
180
199
  on: JoinInfo["paths"][number]["on"];
181
- }
200
+ };
182
201
 
183
202
  /**
184
203
  * Used in specifying a join path to a table. This column name can then be used in select
@@ -186,54 +205,72 @@ type JoinDef = {
186
205
  type NamedJoinColumn = {
187
206
  label?: string;
188
207
  joinDef: JoinDef[];
189
- }
208
+ };
190
209
 
191
- type Enum<T extends string | number = any> = {
210
+ type Enum<T extends string | number = any> = {
192
211
  enum: T[] | readonly T[];
193
- nullable?: boolean;
194
- defaultValue?: T;
212
+ nullable?: boolean;
213
+ defaultValue?: T;
195
214
  };
196
215
 
197
- export type ColumnConfig<LANG_IDS = { en: 1 }> = string | StrictUnion<NamedJoinColumn | MediaColumn | (BaseColumn<LANG_IDS> & (SQLDefColumn | ReferencedColumn | TextColumn | JSONBColumnDef | Enum))>;
216
+ export type ColumnConfig<LANG_IDS = { en: 1 }> =
217
+ | string
218
+ | StrictUnion<
219
+ | NamedJoinColumn
220
+ | MediaColumn
221
+ | (BaseColumn<LANG_IDS> &
222
+ (
223
+ | SQLDefColumn
224
+ | ReferencedColumn
225
+ | TextColumn
226
+ | JSONBColumnDef
227
+ | Enum
228
+ ))
229
+ >;
198
230
 
199
231
  export type ColumnConfigs<LANG_IDS = { en: 1 }> = {
200
- sql: string | BaseColumn<LANG_IDS> & SQLDefColumn;
232
+ sql: string | (BaseColumn<LANG_IDS> & SQLDefColumn);
201
233
  join: BaseColumn<LANG_IDS> & NamedJoinColumn;
202
234
  media: BaseColumn<LANG_IDS> & MediaColumn;
203
235
  referenced: BaseColumn<LANG_IDS> & ReferencedColumn;
204
236
  text: BaseColumn<LANG_IDS> & TextColumn;
205
237
  jsonb: BaseColumn<LANG_IDS> & JSONBColumnDef;
206
238
  enum: BaseColumn<LANG_IDS> & Enum;
207
- }
239
+ };
208
240
 
209
241
  type UnionKeys<T> = T extends T ? keyof T : never;
210
- type StrictUnionHelper<T, TAll> = T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, never>> : never;
211
- export type StrictUnion<T> = StrictUnionHelper<T, T>
242
+ type StrictUnionHelper<T, TAll> = T extends any
243
+ ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, never>>
244
+ : never;
245
+ export type StrictUnion<T> = StrictUnionHelper<T, T>;
212
246
 
213
- export const CONSTRAINT_TYPES = ["PRIMARY KEY", "UNIQUE", "CHECK"] as const;
247
+ export const CONSTRAINT_TYPES = ["PRIMARY KEY", "UNIQUE", "CHECK"] as const;
214
248
  export type TableDefinition<LANG_IDS> = {
215
- onMount?: (params: { dbo: DBHandlerServer; _db: DB }) => Promise<void | { onUnmount: () => void; }>;
249
+ onMount?: (params: {
250
+ dbo: DBHandlerServer;
251
+ _db: DB;
252
+ }) => Promise<void | { onUnmount: () => void }>;
216
253
  columns?: {
217
- [column_name: string]: ColumnConfig<LANG_IDS>
218
- },
219
- constraints?:
220
- | string[]
254
+ [column_name: string]: ColumnConfig<LANG_IDS>;
255
+ };
256
+ constraints?:
257
+ | string[]
221
258
  | {
222
- [constraint_name: string]:
223
- | string
224
- | {
225
- type: typeof CONSTRAINT_TYPES[number];
226
- dropIfExists?: boolean;
227
- /**
228
- * E.g.:
229
- * colname
230
- * col1, col2
231
- * col1 > col3
232
- */
233
- content: string;
234
- }
259
+ [constraint_name: string]:
260
+ | string
261
+ | {
262
+ type: (typeof CONSTRAINT_TYPES)[number];
263
+ dropIfExists?: boolean;
264
+ /**
265
+ * E.g.:
266
+ * colname
267
+ * col1, col2
268
+ * col1 > col3
269
+ */
270
+ content: string;
271
+ };
235
272
  // & ({
236
- // }
273
+ // }
237
274
  // | {
238
275
  // type: "FOREIGN KEY",
239
276
  // columns: string[];
@@ -241,7 +278,7 @@ export type TableDefinition<LANG_IDS> = {
241
278
  // fcols: string[];
242
279
  // }
243
280
  // )
244
- },
281
+ };
245
282
 
246
283
  /**
247
284
  * Similar to unique constraints but expressions are allowed inside definition
@@ -249,7 +286,6 @@ export type TableDefinition<LANG_IDS> = {
249
286
  replaceUniqueIndexes?: boolean;
250
287
  indexes?: {
251
288
  [index_name: string]: {
252
-
253
289
  /**
254
290
  * If true then will drop any existing index with this name
255
291
  * Overrides replaceUniqueIndexes
@@ -257,14 +293,14 @@ export type TableDefinition<LANG_IDS> = {
257
293
  replace?: boolean;
258
294
 
259
295
  /**
260
- * Causes the system to check for duplicate values in the table when the index is created (if data already exist) and each time data is added.
296
+ * Causes the system to check for duplicate values in the table when the index is created (if data already exist) and each time data is added.
261
297
  * Attempts to insert or update data which would result in duplicate entries will generate an error.
262
298
  */
263
299
  unique?: boolean;
264
300
 
265
301
  /**
266
- * When this option is used, PostgreSQL will build the index without taking any locks that prevent
267
- * concurrent inserts, updates, or deletes on the table; whereas a standard index build locks out writes (but not reads) on the table until it's done.
302
+ * When this option is used, PostgreSQL will build the index without taking any locks that prevent
303
+ * concurrent inserts, updates, or deletes on the table; whereas a standard index build locks out writes (but not reads) on the table until it's done.
268
304
  * There are several caveats to be aware of when using this option — see Building Indexes Concurrently.
269
305
  */
270
306
  concurrently?: boolean;
@@ -288,44 +324,44 @@ export type TableDefinition<LANG_IDS> = {
288
324
  where?: string;
289
325
 
290
326
  /**
291
- * The name of the index method to be used.
327
+ * The name of the index method to be used.
292
328
  * Choices are btree, hash, gist, and gin. The default method is btree.
293
329
  */
294
330
  using?: "btree" | "hash" | "gist" | "gin";
295
- }
296
- }
297
- }
331
+ };
332
+ };
333
+ };
298
334
 
299
335
  type GetPreInsertRowArgs = Omit<ValidateRowArgs, "localParams"> & {
300
336
  // preValidate: InsertRule["preValidate"];
301
337
  validate: InsertRule["validate"];
302
338
  localParams: LocalParams | undefined;
303
- }
339
+ };
304
340
 
305
341
  /**
306
342
  * Helper utility to create lookup tables for TEXT columns
307
343
  */
308
344
  export type TableConfig<LANG_IDS = { en: 1 }> = {
309
- [table_name: string]: BaseTableDefinition<LANG_IDS> & (TableDefinition<LANG_IDS> | LookupTableDefinition<LANG_IDS>);
310
- }
345
+ [table_name: string]: BaseTableDefinition<LANG_IDS> &
346
+ (TableDefinition<LANG_IDS> | LookupTableDefinition<LANG_IDS>);
347
+ };
311
348
 
312
349
  /**
313
350
  * Will be run between initSQL and fileTable
314
351
  */
315
352
  export default class TableConfigurator<LANG_IDS = { en: 1 }> {
316
-
317
353
  instanceId = Date.now() + Math.random();
318
-
354
+
319
355
  config: TableConfig<LANG_IDS> = {};
320
356
  get dbo(): DBHandlerServer {
321
- if (!this.prostgles.dbo) throw "this.prostgles.dbo missing"
322
- return this.prostgles.dbo
323
- }
357
+ if (!this.prostgles.dbo) throw "this.prostgles.dbo missing";
358
+ return this.prostgles.dbo;
359
+ }
324
360
  get db(): DB {
325
- if (!this.prostgles.db) throw "this.prostgles.db missing"
326
- return this.prostgles.db
327
- }
328
- prostgles: Prostgles
361
+ if (!this.prostgles.db) throw "this.prostgles.db missing";
362
+ return this.prostgles.db;
363
+ }
364
+ prostgles: Prostgles;
329
365
 
330
366
  constructor(prostgles: Prostgles) {
331
367
  this.config = (prostgles.opts.tableConfig as any) ?? {};
@@ -333,56 +369,80 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
333
369
  }
334
370
 
335
371
  destroy = async () => {
336
- for await(const { onUnmount } of Object.values(this.tableOnMounts)){
372
+ for await (const { onUnmount } of Object.values(this.tableOnMounts)) {
337
373
  try {
338
374
  await onUnmount();
339
375
  } catch (error) {
340
376
  console.error(error);
341
377
  }
342
378
  }
343
- }
379
+ };
344
380
 
345
- tableOnMounts: Record<string, { onUnmount: () => void; }> = {};
381
+ tableOnMounts: Record<string, { onUnmount: () => void }> = {};
346
382
  setTableOnMounts = async () => {
347
383
  this.tableOnMounts = {};
348
384
  for (const [tableName, tableConfig] of Object.entries(this.config)) {
349
- if("onMount" in tableConfig && tableConfig.onMount){
350
- const cleanup = await tableConfig.onMount({ dbo: this.dbo, _db: this.db });
351
- if(cleanup){
385
+ if ("onMount" in tableConfig && tableConfig.onMount) {
386
+ const cleanup = await tableConfig.onMount({
387
+ dbo: this.dbo,
388
+ _db: this.db,
389
+ });
390
+ if (cleanup) {
352
391
  this.tableOnMounts[tableName] = cleanup;
353
392
  }
354
393
  }
355
394
  }
356
- }
395
+ };
357
396
 
358
- getColumnConfig = (tableName: string, colName: string): ColumnConfig | undefined => {
397
+ getColumnConfig = (
398
+ tableName: string,
399
+ colName: string,
400
+ ): ColumnConfig | undefined => {
359
401
  const tconf = this.config?.[tableName];
360
402
  if (tconf && "columns" in tconf) {
361
403
  return tconf.columns?.[colName];
362
404
  }
363
405
  return undefined;
364
- }
406
+ };
365
407
 
366
- getTableInfo = (params: { tableName: string; lang?: string }): TableInfo["info"] | undefined => {
408
+ getTableInfo = (params: {
409
+ tableName: string;
410
+ lang?: string;
411
+ }): TableInfo["info"] | undefined => {
367
412
  const tconf = this.config?.[params.tableName];
368
-
413
+
369
414
  return {
370
- label: parseI18N<LANG_IDS, string>({ config: tconf?.info?.label, lang: params.lang, defaultLang: "en", defaultValue: params.tableName })
371
- }
372
- }
415
+ label: parseI18N<LANG_IDS, string>({
416
+ config: tconf?.info?.label,
417
+ lang: params.lang,
418
+ defaultLang: "en",
419
+ defaultValue: params.tableName,
420
+ }),
421
+ };
422
+ };
373
423
 
374
- getColInfo = (params: { col: string, table: string, lang?: string }): (ColExtraInfo & { label?: string; } & Pick<ColumnInfo, "jsonbSchema">) | undefined => {
424
+ getColInfo = (params: {
425
+ col: string;
426
+ table: string;
427
+ lang?: string;
428
+ }):
429
+ | (ColExtraInfo & { label?: string } & Pick<ColumnInfo, "jsonbSchema">)
430
+ | undefined => {
375
431
  const colConf = this.getColumnConfig(params.table, params.col);
376
432
  let result: Partial<ReturnType<typeof this.getColInfo>> = undefined;
377
433
  if (colConf) {
378
-
379
434
  if (isObject(colConf)) {
380
435
  const { jsonbSchema, jsonbSchemaType, info } = colConf;
381
436
  result = {
382
437
  ...(result ?? {}),
383
438
  ...info,
384
- ...((jsonbSchema || jsonbSchemaType) && { jsonbSchema: { nullable: colConf.nullable, ...(jsonbSchema || { type: jsonbSchemaType }) } })
385
- }
439
+ ...((jsonbSchema || jsonbSchemaType) && {
440
+ jsonbSchema: {
441
+ nullable: colConf.nullable,
442
+ ...(jsonbSchema || { type: jsonbSchemaType }),
443
+ },
444
+ }),
445
+ };
386
446
 
387
447
  /**
388
448
  * Get labels from TableConfig if specified
@@ -393,34 +453,35 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
393
453
  if (["string", "object"].includes(typeof lbl)) {
394
454
  if (typeof lbl === "string") {
395
455
  result ??= {};
396
- result.label = lbl
456
+ result.label = lbl;
397
457
  } else if (lang && (lbl?.[lang as "en"] || lbl?.en)) {
398
458
  result ??= {};
399
- result.label = (lbl?.[lang as "en"]) || lbl?.en;
459
+ result.label = lbl?.[lang as "en"] || lbl?.en;
400
460
  }
401
461
  }
402
-
403
462
  }
404
-
405
463
  }
406
-
407
464
  }
408
465
 
409
-
410
466
  return result;
411
- }
467
+ };
412
468
 
413
- checkColVal = (params: { col: string, table: string, value: any }): void => {
469
+ checkColVal = (params: { col: string; table: string; value: any }): void => {
414
470
  const conf = this.getColInfo(params);
415
471
  if (conf) {
416
472
  const { value } = params;
417
473
  const { min, max } = conf;
418
- if (min !== undefined && value !== undefined && value < min) throw `${params.col} must be greater than ${min}`
419
- if (max !== undefined && value !== undefined && value > max) throw `${params.col} must be less than ${max}`
474
+ if (min !== undefined && value !== undefined && value < min)
475
+ throw `${params.col} must be greater than ${min}`;
476
+ if (max !== undefined && value !== undefined && value > max)
477
+ throw `${params.col} must be less than ${max}`;
420
478
  }
421
- }
479
+ };
422
480
 
423
- getJoinInfo = (sourceTable: string, targetTable: string): JoinInfo | undefined => {
481
+ getJoinInfo = (
482
+ sourceTable: string,
483
+ targetTable: string,
484
+ ): JoinInfo | undefined => {
424
485
  if (
425
486
  this.config &&
426
487
  sourceTable in this.config &&
@@ -431,7 +492,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
431
492
  if ("columns" in td && td.columns?.[targetTable]) {
432
493
  const cd = td.columns[targetTable];
433
494
  if (isObject(cd) && "joinDef" in cd) {
434
- if(!cd.joinDef) throw "cd.joinDef missing"
495
+ if (!cd.joinDef) throw "cd.joinDef missing";
435
496
  const { joinDef } = cd;
436
497
  const res: JoinInfo = {
437
498
  expectOne: false,
@@ -439,30 +500,33 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
439
500
  source: sourceTable,
440
501
  target: targetTable,
441
502
  table,
442
- on
503
+ on,
443
504
  })),
444
- }
505
+ };
445
506
 
446
507
  return res;
447
508
  }
448
509
  }
449
510
  }
450
511
  return undefined;
451
- }
512
+ };
452
513
 
453
- getPreInsertRow = async (tableHandler: TableHandler, args: Pick<GetPreInsertRowArgs, "localParams" | "row" | "validate" | "dbx">): Promise<AnyObject> => {
514
+ getPreInsertRow = async (
515
+ tableHandler: TableHandler,
516
+ args: Pick<GetPreInsertRowArgs, "localParams" | "row" | "validate" | "dbx">,
517
+ ): Promise<AnyObject> => {
454
518
  const tableHook = this.config?.[tableHandler.name]?.hooks?.getPreInsertRow;
455
- if(tableHandler.is_media){
519
+ if (tableHandler.is_media) {
456
520
  return uploadFile.bind(tableHandler)(args) as Promise<AnyObject>;
457
- }
458
- if(tableHook){
459
- return tableHook(args)
521
+ }
522
+ if (tableHook) {
523
+ return tableHook(args);
460
524
  }
461
525
 
462
526
  return args.row;
463
- }
527
+ };
464
528
 
465
529
  prevInitQueryHistory?: string[];
466
530
  initialising = false;
467
531
  init = initTableConfig.bind(this);
468
- }
532
+ }