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,20 +1,16 @@
1
1
  import { DATA_TYPES } from "prostgles-types";
2
2
  import { PubSubManager } from "../PubSubManager/PubSubManager";
3
3
 
4
-
5
4
  const raiseException = (err: string) => `
6
5
  IF (context->'silent')::BOOLEAN = TRUE THEN
7
6
  RETURN FALSE;
8
7
  ELSE
9
8
  RAISE EXCEPTION ${err} USING HINT = path, COLUMN = colname, TABLE = tablename, CONSTRAINT = 'validate_jsonb_schema: ' || jsonb_pretty(jsonb_schema::JSONB);
10
9
  END IF;
11
- `
10
+ `;
12
11
 
13
12
  export const VALIDATE_SCHEMA_FUNCNAME = "validate_jsonb_schema" as const;
14
- export const JSONB_DATA_TYPES = [
15
- ...DATA_TYPES,
16
- "Lookup","Lookup[]"
17
- ] as const;
13
+ export const JSONB_DATA_TYPES = [...DATA_TYPES, "Lookup", "Lookup[]"] as const;
18
14
 
19
15
  export const validate_jsonb_schema_sql = `
20
16
 
@@ -499,4 +495,3 @@ SELECT ${VALIDATE_SCHEMA_FUNCNAME}('{ "type": "Date"}', '"2222-22-22"');
499
495
 
500
496
  SELECT ${VALIDATE_SCHEMA_FUNCNAME}('{ "oneOf": ["number"]}','2');
501
497
  `;
502
-
@@ -1,53 +1,81 @@
1
- import { getKeys, isEmpty, isObject, JSONB, TableSchema } from "prostgles-types";
1
+ import {
2
+ getKeys,
3
+ isEmpty,
4
+ isObject,
5
+ JSONB,
6
+ TableSchema,
7
+ } from "prostgles-types";
2
8
  import { postgresToTsType } from "../DboBuilder/DboBuilder";
3
9
  import { asValue } from "../PubSubManager/PubSubManager";
4
10
 
5
-
6
-
7
11
  const getFieldTypeObj = (rawFieldType: JSONB.FieldType): JSONB.FieldTypeObj => {
8
- if(typeof rawFieldType === "string") return { type: rawFieldType };
12
+ if (typeof rawFieldType === "string") return { type: rawFieldType };
9
13
 
10
14
  return rawFieldType;
11
- }
15
+ };
12
16
 
13
- export function validate<T>(obj: T, key: keyof T, rawFieldType: JSONB.FieldType): boolean {
17
+ export function validate<T>(
18
+ obj: T,
19
+ key: keyof T,
20
+ rawFieldType: JSONB.FieldType,
21
+ ): boolean {
14
22
  let err = `The provided value for ${JSON.stringify(key)} is of invalid type. Expecting `;
15
23
  const val = obj[key];
16
24
  const fieldType = getFieldTypeObj(rawFieldType);
17
25
  if ("type" in fieldType && fieldType.type) {
18
26
  if (typeof fieldType.type !== "string") {
19
- getKeys(fieldType.type).forEach(subKey => {
20
- validate(val, subKey as any, (fieldType.type as JSONB.ObjectType["type"])[subKey]!)
27
+ getKeys(fieldType.type).forEach((subKey) => {
28
+ validate(
29
+ val,
30
+ subKey as any,
31
+ (fieldType.type as JSONB.ObjectType["type"])[subKey]!,
32
+ );
21
33
  });
22
34
  }
23
35
  err += fieldType.type;
24
- if (fieldType.type === "boolean" && typeof val !== fieldType.type) throw new Error(err)
25
- if (fieldType.type === "string" && typeof val !== fieldType.type) throw new Error(err)
26
- if (fieldType.type === "number" && !Number.isFinite(val)) throw new Error(err)
27
- if (fieldType.type === "integer" && !Number.isInteger(val)) throw new Error(err);
28
-
36
+ if (fieldType.type === "boolean" && typeof val !== fieldType.type)
37
+ throw new Error(err);
38
+ if (fieldType.type === "string" && typeof val !== fieldType.type)
39
+ throw new Error(err);
40
+ if (fieldType.type === "number" && !Number.isFinite(val))
41
+ throw new Error(err);
42
+ if (fieldType.type === "integer" && !Number.isInteger(val))
43
+ throw new Error(err);
29
44
  } else if (fieldType.enum) {
30
45
  err += `on of: ${fieldType.enum}`;
31
- if (!fieldType.enum.includes(val)) throw new Error(err)
46
+ if (!fieldType.enum.includes(val)) throw new Error(err);
32
47
  }
33
- return true
48
+ return true;
34
49
  }
35
50
 
36
- export function validateSchema<S extends JSONB.ObjectType["type"]>(schema: S, obj: JSONB.GetObjectType<S>, objName?: string, optional = false) {
37
- if ((!schema || isEmpty(schema)) && !optional) throw new Error(`Expecting ${objName} to be defined`);
38
- getKeys(schema).forEach(k => validate(obj as any, k, schema[k]!));
51
+ export function validateSchema<S extends JSONB.ObjectType["type"]>(
52
+ schema: S,
53
+ obj: JSONB.GetObjectType<S>,
54
+ objName?: string,
55
+ optional = false,
56
+ ) {
57
+ if ((!schema || isEmpty(schema)) && !optional)
58
+ throw new Error(`Expecting ${objName} to be defined`);
59
+ getKeys(schema).forEach((k) => validate(obj as any, k, schema[k]!));
39
60
  }
40
61
 
41
-
42
- type ColOpts = { nullable?: boolean };
43
-
44
-
45
- export function getJSONBSchemaTSTypes(schema: JSONB.JSONBSchema, colOpts: ColOpts, outerLeading = "", tables: TableSchema[]): string {
46
-
47
- const getFieldType = (rawFieldType: JSONB.FieldType, isOneOf = false, innerLeading = "", depth = 0): string => {
62
+ type ColOpts = { nullable?: boolean };
63
+
64
+ export function getJSONBSchemaTSTypes(
65
+ schema: JSONB.JSONBSchema,
66
+ colOpts: ColOpts,
67
+ outerLeading = "",
68
+ tables: TableSchema[],
69
+ ): string {
70
+ const getFieldType = (
71
+ rawFieldType: JSONB.FieldType,
72
+ isOneOf = false,
73
+ innerLeading = "",
74
+ depth = 0,
75
+ ): string => {
48
76
  const fieldType = getFieldTypeObj(rawFieldType);
49
- const nullType = (fieldType.nullable ? `null | ` : "");
50
-
77
+ const nullType = fieldType.nullable ? `null | ` : "";
78
+
51
79
  /** Primitives */
52
80
  if (typeof fieldType?.type === "string") {
53
81
  const correctType = fieldType.type
@@ -55,89 +83,126 @@ export function getJSONBSchemaTSTypes(schema: JSONB.JSONBSchema, colOpts: ColOpt
55
83
  .replace("time", "string")
56
84
  .replace("timestamp", "string")
57
85
  .replace("Date", "string");
58
-
86
+
59
87
  if (fieldType.allowedValues && fieldType.type.endsWith("[]")) {
60
- return nullType + ` (${fieldType.allowedValues.map(v => JSON.stringify(v)).join(" | ")})[]`
88
+ return (
89
+ nullType +
90
+ ` (${fieldType.allowedValues.map((v) => JSON.stringify(v)).join(" | ")})[]`
91
+ );
61
92
  }
62
93
  return nullType + correctType;
63
94
 
64
- /** Object */
95
+ /** Object */
65
96
  } else if (isObject(fieldType.type)) {
66
- const addSemicolonIfMissing = (v: string) => v.trim().endsWith(";")? v : (v.trim() + ";");
97
+ const addSemicolonIfMissing = (v: string) =>
98
+ v.trim().endsWith(";") ? v : v.trim() + ";";
67
99
  const { type } = fieldType;
68
100
  const spacing = isOneOf ? " " : " ";
69
- let objDef = ` {${spacing}` + getKeys(type).map(key => {
70
- const fieldType = getFieldTypeObj(type[key]!);
71
- const escapedKey = isValidIdentifier(key) ? key : JSON.stringify(key);
72
- return `${spacing}${escapedKey}${fieldType.optional ? "?" : ""}: ` + addSemicolonIfMissing(getFieldType(fieldType, true, undefined, depth + 1));
73
- }).join(" ") + `${spacing}}`;
74
- if(!isOneOf){
101
+ let objDef =
102
+ ` {${spacing}` +
103
+ getKeys(type)
104
+ .map((key) => {
105
+ const fieldType = getFieldTypeObj(type[key]!);
106
+ const escapedKey = isValidIdentifier(key)
107
+ ? key
108
+ : JSON.stringify(key);
109
+ return (
110
+ `${spacing}${escapedKey}${fieldType.optional ? "?" : ""}: ` +
111
+ addSemicolonIfMissing(
112
+ getFieldType(fieldType, true, undefined, depth + 1),
113
+ )
114
+ );
115
+ })
116
+ .join(" ") +
117
+ `${spacing}}`;
118
+ if (!isOneOf) {
75
119
  objDef = addSemicolonIfMissing(objDef);
76
120
  }
77
-
121
+
78
122
  /** Keep single line */
79
- if (isOneOf){
123
+ if (isOneOf) {
80
124
  objDef = objDef.split("\n").join("");
81
125
  }
82
126
  return nullType + objDef;
83
-
84
127
  } else if (fieldType?.enum) {
85
- return nullType + fieldType.enum.map(v => asValue(v)).join(" | ");
86
-
128
+ return nullType + fieldType.enum.map((v) => asValue(v)).join(" | ");
87
129
  } else if (fieldType?.oneOf || fieldType?.oneOfType) {
88
- const oneOf = fieldType?.oneOf || fieldType?.oneOfType.map(type => ({ type }));
89
- return (fieldType.nullable ? `\n${innerLeading} | null` : "") + oneOf.map(v => `\n${innerLeading} | ` + getFieldType(v, true, undefined, depth + 1)).join("");
90
-
130
+ const oneOf =
131
+ fieldType?.oneOf || fieldType?.oneOfType.map((type) => ({ type }));
132
+ return (
133
+ (fieldType.nullable ? `\n${innerLeading} | null` : "") +
134
+ oneOf
135
+ .map(
136
+ (v) =>
137
+ `\n${innerLeading} | ` +
138
+ getFieldType(v, true, undefined, depth + 1),
139
+ )
140
+ .join("")
141
+ );
91
142
  } else if (fieldType?.arrayOf || fieldType?.arrayOfType) {
92
143
  const arrayOf = fieldType?.arrayOf || { type: fieldType?.arrayOfType };
93
144
  return `${fieldType.nullable ? `null | ` : ""} ( ${getFieldType(arrayOf, true, undefined, depth + 1)} )[]`;
94
-
95
145
  } else if (fieldType?.record) {
96
146
  const { keysEnum, values, partial } = fieldType.record;
97
147
  // TODO: ensure props with undefined values are not allowed in the TS type (strict union)
98
- const getRecord = (v: string) => partial? `Partial<Record<${v}>>` : `Record<${v}>`;
99
- return `${fieldType.nullable ? `null |` : ""} ${getRecord(`${keysEnum?.map(v => asValue(v)).join(" | ") ?? "string"}, ${!values? "any" : getFieldType(values, true, undefined, depth + 1)}`)}`
100
-
101
- } else if(fieldType?.lookup){
102
-
148
+ const getRecord = (v: string) =>
149
+ partial ? `Partial<Record<${v}>>` : `Record<${v}>`;
150
+ return `${fieldType.nullable ? `null |` : ""} ${getRecord(`${keysEnum?.map((v) => asValue(v)).join(" | ") ?? "string"}, ${!values ? "any" : getFieldType(values, true, undefined, depth + 1)}`)}`;
151
+ } else if (fieldType?.lookup) {
103
152
  const l = fieldType.lookup;
104
- if(l.type === "data-def"){
105
- return `${fieldType.nullable ? `null |` : ""} ${
106
- getFieldType({
107
- type: {
108
- table: "string",
109
- column: "string",
110
- filter: { record: {}, optional: true },
111
- isArray: { type: "boolean", optional: true },
112
- searchColumns: { type: "string[]", optional: true },
113
- isFullRow: { optional: true, type: {
114
- displayColumns:{ type: "string[]", optional: true }
115
- }},
116
- showInRowCard: { optional: true, record: {} }
117
- }
118
- })
119
- }`;
120
- }
121
-
153
+ if (l.type === "data-def") {
154
+ return `${fieldType.nullable ? `null |` : ""} ${getFieldType({
155
+ type: {
156
+ table: "string",
157
+ column: "string",
158
+ filter: { record: {}, optional: true },
159
+ isArray: { type: "boolean", optional: true },
160
+ searchColumns: { type: "string[]", optional: true },
161
+ isFullRow: {
162
+ optional: true,
163
+ type: {
164
+ displayColumns: { type: "string[]", optional: true },
165
+ },
166
+ },
167
+ showInRowCard: { optional: true, record: {} },
168
+ },
169
+ })}`;
170
+ }
171
+
122
172
  const isSChema = l.type === "schema";
123
- let type = isSChema? (l.object === "table"? "string" : `{ "table": string; "column": string; }`) : "";
124
- if(!isSChema){
125
- const cols = tables.find(t => t.name === l.table)?.columns
126
- if(!l.isFullRow){
127
- type = postgresToTsType(cols?.find(c => c.name === l.column)?.udt_name ?? "text");
173
+ let type = isSChema
174
+ ? l.object === "table"
175
+ ? "string"
176
+ : `{ "table": string; "column": string; }`
177
+ : "";
178
+ if (!isSChema) {
179
+ const cols = tables.find((t) => t.name === l.table)?.columns;
180
+ if (!l.isFullRow) {
181
+ type = postgresToTsType(
182
+ cols?.find((c) => c.name === l.column)?.udt_name ?? "text",
183
+ );
128
184
  } else {
129
- type = !cols? "any" : `{ ${cols.map(c => `${JSON.stringify(c.name)}: ${c.is_nullable? "null | " : "" } ${postgresToTsType(c.udt_name)}; `).join(" ")} }`
185
+ type = !cols
186
+ ? "any"
187
+ : `{ ${cols.map((c) => `${JSON.stringify(c.name)}: ${c.is_nullable ? "null | " : ""} ${postgresToTsType(c.udt_name)}; `).join(" ")} }`;
130
188
  }
131
189
  }
132
- return `${fieldType.nullable ? `null | ` : ""}${type}${l.isArray? "[]" : ""}`;
133
-
134
- } else throw "Unexpected getSchemaTSTypes: " + JSON.stringify({ fieldType, schema }, null, 2)
135
- }
136
-
137
- return getFieldType({ ...schema as any, nullable: colOpts.nullable }, undefined, outerLeading);
190
+ return `${fieldType.nullable ? `null | ` : ""}${type}${l.isArray ? "[]" : ""}`;
191
+ } else
192
+ throw (
193
+ "Unexpected getSchemaTSTypes: " +
194
+ JSON.stringify({ fieldType, schema }, null, 2)
195
+ );
196
+ };
197
+
198
+ return getFieldType(
199
+ { ...(schema as any), nullable: colOpts.nullable },
200
+ undefined,
201
+ outerLeading,
202
+ );
138
203
  }
139
204
 
140
205
  const isValidIdentifier = (str: string) => {
141
206
  const identifierRegex = /^[A-Za-z$_][A-Za-z0-9$_]*$/;
142
207
  return identifierRegex.test(str);
143
- }
208
+ };
package/lib/Logging.ts CHANGED
@@ -5,127 +5,137 @@ import { TableHandler } from "./DboBuilder/TableHandler/TableHandler";
5
5
  type ClientInfo = {
6
6
  socketId: string | undefined;
7
7
  sid: string | undefined;
8
- }
8
+ };
9
9
 
10
10
  export namespace EventTypes {
11
11
  type DebugInfo = {
12
12
  duration: number;
13
13
  error?: any;
14
- }
15
-
16
- export type Table = ClientInfo & DebugInfo & {
17
- type: "table";
18
- tableName: string;
19
- command: keyof TableHandler;
20
- txInfo: AnyObject | undefined;
21
- data: AnyObject;
22
- localParams: LocalParams | undefined;
23
14
  };
24
15
 
25
- type SyncOneClient = ClientInfo & DebugInfo & {
26
- type: "sync";
27
- tableName: string;
28
- localParams?: LocalParams;
29
- connectedSocketIds: string[];
30
- } & (
31
- {
32
- command: "syncData";
33
- source: "client" | "trigger";
34
- connectedSocketIds: string[];
35
- lr: string;
36
- } | {
37
- command: "upsertData" | "pushData";
38
- rows: number;
39
- socketId: string;
40
- } | {
41
- command: "addTrigger";
42
- state: "ok" | "fail";
43
- /** If no socket id then it's a local subscribe */
44
- socketId: string | undefined;
45
- condition: string;
46
- } | {
47
- command: "addSync" | "unsync";
48
- socketId: string;
49
- condition: string;
50
- } | {
51
- command: "upsertSocket.disconnect";
52
- socketId: string;
53
- remainingSyncs: string;
54
- remainingSubs: string;
16
+ export type Table = ClientInfo &
17
+ DebugInfo & {
18
+ type: "table";
19
+ tableName: string;
20
+ command: keyof TableHandler;
21
+ txInfo: AnyObject | undefined;
22
+ data: AnyObject;
23
+ localParams: LocalParams | undefined;
24
+ };
25
+
26
+ type SyncOneClient = ClientInfo &
27
+ DebugInfo & {
28
+ type: "sync";
29
+ tableName: string;
30
+ localParams?: LocalParams;
55
31
  connectedSocketIds: string[];
56
- }
57
- );
32
+ } & (
33
+ | {
34
+ command: "syncData";
35
+ source: "client" | "trigger";
36
+ connectedSocketIds: string[];
37
+ lr: string;
38
+ }
39
+ | {
40
+ command: "upsertData" | "pushData";
41
+ rows: number;
42
+ socketId: string;
43
+ }
44
+ | {
45
+ command: "addTrigger";
46
+ state: "ok" | "fail";
47
+ /** If no socket id then it's a local subscribe */
48
+ socketId: string | undefined;
49
+ condition: string;
50
+ }
51
+ | {
52
+ command: "addSync" | "unsync";
53
+ socketId: string;
54
+ condition: string;
55
+ }
56
+ | {
57
+ command: "upsertSocket.disconnect";
58
+ socketId: string;
59
+ remainingSyncs: string;
60
+ remainingSubs: string;
61
+ connectedSocketIds: string[];
62
+ }
63
+ );
58
64
  export type SyncMultiClient = {
59
65
  type: "sync";
60
66
  tableName: string;
61
67
  localParams?: LocalParams;
62
68
  connectedSocketIds: string[];
63
- } & (
64
- {
65
- command: "notifListener";
66
- op_name: string | undefined;
67
- condition_ids_str: string | undefined;
68
- tableTriggers: string[] | undefined;
69
- tableSyncs: string;
70
- state: "ok" | "error" | "no-triggers" | "invalid_condition_ids";
71
- }
72
- );
69
+ } & {
70
+ command: "notifListener";
71
+ op_name: string | undefined;
72
+ condition_ids_str: string | undefined;
73
+ tableTriggers: string[] | undefined;
74
+ tableSyncs: string;
75
+ state: "ok" | "error" | "no-triggers" | "invalid_condition_ids";
76
+ };
73
77
 
74
78
  export type Sync = SyncOneClient | SyncMultiClient;
75
79
 
76
- export type Connection = (ClientInfo & {
77
- type: "connect" | "disconnect";
78
- socketId: string;
79
- connectedSocketIds: string[];
80
- }) | (ClientInfo & DebugInfo & {
81
- type: "connect.getClientSchema";
82
- });
80
+ export type Connection =
81
+ | (ClientInfo & {
82
+ type: "connect" | "disconnect";
83
+ socketId: string;
84
+ connectedSocketIds: string[];
85
+ })
86
+ | (ClientInfo &
87
+ DebugInfo & {
88
+ type: "connect.getClientSchema";
89
+ });
83
90
 
84
- export type Method = ClientInfo & DebugInfo & {
85
- type: "method";
86
- args: any[];
87
- localParams: LocalParams;
88
- };
89
- export type Auth = ClientInfo & DebugInfo & {
90
- type: "auth";
91
- } & (
92
- | { command: "getClientInfo"; }
93
- | { command: "login"; }
94
- );
91
+ export type Method = ClientInfo &
92
+ DebugInfo & {
93
+ type: "method";
94
+ args: any[];
95
+ localParams: LocalParams;
96
+ };
97
+ export type Auth = ClientInfo &
98
+ DebugInfo & {
99
+ type: "auth";
100
+ } & ({ command: "getClientInfo" } | { command: "login" });
95
101
 
96
- export type Debug = DebugInfo & ({
97
- type: "debug";
98
- command:
99
- | "initFileTable"
100
- | "initTableConfig"
101
- | "runSQLFile"
102
- | "schemaChangeNotif"
103
- | "TableConfig.runQueries.start"
104
- | "TableConfig.runQueries.end"
105
- | "refreshDBO.start"
106
- | "refreshDBO.end"
107
- | "tableConfigurator.init.start"
108
- | "tableConfigurator.init.end"
109
- | "initFileTable.start"
110
- | "initFileTable.end"
111
- | "initFileManager.runQuery"
112
- | "DboBuilder.getTablesForSchemaPostgresSQL"
113
- | "PubSubManager.create"
114
- data?: AnyObject;
115
- } | {
116
- type: "debug";
117
- command: "pushSocketSchema";
118
- data: { socketId: string, clientSchema: ClientSchema; }
119
- })
102
+ export type Debug = DebugInfo &
103
+ (
104
+ | {
105
+ type: "debug";
106
+ command:
107
+ | "initFileTable"
108
+ | "initTableConfig"
109
+ | "runSQLFile"
110
+ | "schemaChangeNotif"
111
+ | "TableConfig.runQueries.start"
112
+ | "TableConfig.runQueries.end"
113
+ | "refreshDBO.start"
114
+ | "refreshDBO.end"
115
+ | "tableConfigurator.init.start"
116
+ | "tableConfigurator.init.end"
117
+ | "initFileTable.start"
118
+ | "initFileTable.end"
119
+ | "initFileManager.runQuery"
120
+ | "DboBuilder.getTablesForSchemaPostgresSQL"
121
+ | "PubSubManager.create";
122
+ data?: AnyObject;
123
+ }
124
+ | {
125
+ type: "debug";
126
+ command: "pushSocketSchema";
127
+ data: { socketId: string; clientSchema: ClientSchema };
128
+ }
129
+ );
120
130
  }
121
131
 
122
132
  export type EventInfo =
123
133
  | EventTypes.Auth
124
134
  | EventTypes.Table
125
135
  | EventTypes.Method
126
- | EventTypes.Sync
127
- | EventTypes.SyncMultiClient
136
+ | EventTypes.Sync
137
+ | EventTypes.SyncMultiClient
128
138
  | EventTypes.Connection
129
139
  | EventTypes.Debug;
130
140
 
131
- export type TableEvent = EventTypes.Table;
141
+ export type TableEvent = EventTypes.Table;