prostgles-server 4.2.187 → 4.2.189

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 (338) hide show
  1. package/.eslintignore +2 -1
  2. package/.eslintrc.json +2 -0
  3. package/dist/Auth/AuthHandler.d.ts +20 -11
  4. package/dist/Auth/AuthHandler.d.ts.map +1 -1
  5. package/dist/Auth/AuthHandler.js +98 -120
  6. package/dist/Auth/AuthHandler.js.map +1 -1
  7. package/dist/Auth/AuthTypes.d.ts +69 -71
  8. package/dist/Auth/AuthTypes.d.ts.map +1 -1
  9. package/dist/Auth/{setEmailProvider.d.ts → authProviders/setEmailProvider.d.ts} +1 -1
  10. package/dist/Auth/authProviders/setEmailProvider.d.ts.map +1 -0
  11. package/dist/Auth/authProviders/setEmailProvider.js +27 -0
  12. package/dist/Auth/authProviders/setEmailProvider.js.map +1 -0
  13. package/dist/Auth/authProviders/setOAuthProviders.d.ts +5 -0
  14. package/dist/Auth/authProviders/setOAuthProviders.d.ts.map +1 -0
  15. package/dist/Auth/authProviders/setOAuthProviders.js +78 -0
  16. package/dist/Auth/authProviders/setOAuthProviders.js.map +1 -0
  17. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.d.ts +7 -0
  18. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.d.ts.map +1 -0
  19. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.js +29 -0
  20. package/dist/Auth/endpoints/getConfirmEmailRequestHandler.js.map +1 -0
  21. package/dist/Auth/endpoints/getRegisterRequestHandler.d.ts +7 -0
  22. package/dist/Auth/endpoints/getRegisterRequestHandler.d.ts.map +1 -0
  23. package/dist/Auth/endpoints/getRegisterRequestHandler.js +77 -0
  24. package/dist/Auth/endpoints/getRegisterRequestHandler.js.map +1 -0
  25. package/dist/Auth/setAuthProviders.d.ts.map +1 -1
  26. package/dist/Auth/setAuthProviders.js +4 -74
  27. package/dist/Auth/setAuthProviders.js.map +1 -1
  28. package/dist/Auth/setupAuthRoutes.d.ts.map +1 -1
  29. package/dist/Auth/setupAuthRoutes.js +23 -33
  30. package/dist/Auth/setupAuthRoutes.js.map +1 -1
  31. package/dist/Auth/utils/checkDmarc.d.ts +2 -0
  32. package/dist/Auth/utils/checkDmarc.d.ts.map +1 -0
  33. package/dist/Auth/utils/checkDmarc.js +22 -0
  34. package/dist/Auth/utils/checkDmarc.js.map +1 -0
  35. package/dist/Auth/utils/getClientRequestIPsInfo.d.ts +3 -0
  36. package/dist/Auth/utils/getClientRequestIPsInfo.d.ts.map +1 -0
  37. package/dist/Auth/utils/getClientRequestIPsInfo.js +29 -0
  38. package/dist/Auth/utils/getClientRequestIPsInfo.js.map +1 -0
  39. package/dist/Auth/utils/getReturnUrl.d.ts +3 -0
  40. package/dist/Auth/utils/getReturnUrl.d.ts.map +1 -0
  41. package/dist/Auth/utils/getReturnUrl.js +15 -0
  42. package/dist/Auth/utils/getReturnUrl.js.map +1 -0
  43. package/dist/Auth/utils/getSafeReturnURL.d.ts.map +1 -0
  44. package/dist/Auth/utils/getSafeReturnURL.js.map +1 -0
  45. package/dist/DBEventsManager.d.ts.map +1 -1
  46. package/dist/DBEventsManager.js +4 -5
  47. package/dist/DBEventsManager.js.map +1 -1
  48. package/dist/DBSchemaBuilder.js +1 -1
  49. package/dist/DBSchemaBuilder.js.map +1 -1
  50. package/dist/DboBuilder/DboBuilder.d.ts +0 -1
  51. package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
  52. package/dist/DboBuilder/DboBuilder.js +3 -12
  53. package/dist/DboBuilder/DboBuilder.js.map +1 -1
  54. package/dist/DboBuilder/DboBuilderTypes.d.ts +4 -4
  55. package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
  56. package/dist/DboBuilder/DboBuilderTypes.js.map +1 -1
  57. package/dist/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
  58. package/dist/DboBuilder/QueryBuilder/Functions.js +38 -76
  59. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  60. package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
  61. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +4 -12
  62. package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
  63. package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
  64. package/dist/DboBuilder/QueryBuilder/getNewQuery.js +23 -33
  65. package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
  66. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts +1 -1
  67. package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts.map +1 -1
  68. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js +6 -6
  69. package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
  70. package/dist/DboBuilder/QueryStreamer.d.ts.map +1 -1
  71. package/dist/DboBuilder/QueryStreamer.js +13 -19
  72. package/dist/DboBuilder/QueryStreamer.js.map +1 -1
  73. package/dist/DboBuilder/TableHandler/DataValidator.d.ts +1 -1
  74. package/dist/DboBuilder/TableHandler/DataValidator.d.ts.map +1 -1
  75. package/dist/DboBuilder/TableHandler/DataValidator.js +7 -16
  76. package/dist/DboBuilder/TableHandler/DataValidator.js.map +1 -1
  77. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  78. package/dist/DboBuilder/TableHandler/TableHandler.js +7 -5
  79. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  80. package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
  81. package/dist/DboBuilder/TableHandler/delete.js +5 -8
  82. package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
  83. package/dist/DboBuilder/TableHandler/insert.d.ts.map +1 -1
  84. package/dist/DboBuilder/TableHandler/insert.js +10 -15
  85. package/dist/DboBuilder/TableHandler/insert.js.map +1 -1
  86. package/dist/DboBuilder/TableHandler/insertTest.js +1 -1
  87. package/dist/DboBuilder/TableHandler/insertTest.js.map +1 -1
  88. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
  89. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +1 -1
  90. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
  91. package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
  92. package/dist/DboBuilder/TableHandler/update.js +5 -9
  93. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  94. package/dist/DboBuilder/TableHandler/updateFile.d.ts +1 -1
  95. package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
  96. package/dist/DboBuilder/TableHandler/updateFile.js +7 -9
  97. package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
  98. package/dist/DboBuilder/TableHandler/upsert.d.ts.map +1 -1
  99. package/dist/DboBuilder/TableHandler/upsert.js +1 -1
  100. package/dist/DboBuilder/TableHandler/upsert.js.map +1 -1
  101. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
  102. package/dist/DboBuilder/ViewHandler/ViewHandler.js +11 -13
  103. package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
  104. package/dist/DboBuilder/ViewHandler/count.js +1 -1
  105. package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
  106. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  107. package/dist/DboBuilder/ViewHandler/find.js +20 -27
  108. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  109. package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts.map +1 -1
  110. package/dist/DboBuilder/ViewHandler/getExistsCondition.js +4 -10
  111. package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
  112. package/dist/DboBuilder/ViewHandler/getInfo.js +2 -2
  113. package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
  114. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
  115. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +6 -22
  116. package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
  117. package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts.map +1 -1
  118. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js +6 -10
  119. package/dist/DboBuilder/ViewHandler/parseFieldFilter.js.map +1 -1
  120. package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts.map +1 -1
  121. package/dist/DboBuilder/ViewHandler/parseJoinPath.js +8 -11
  122. package/dist/DboBuilder/ViewHandler/parseJoinPath.js.map +1 -1
  123. package/dist/DboBuilder/ViewHandler/prepareSortItems.d.ts.map +1 -1
  124. package/dist/DboBuilder/ViewHandler/prepareSortItems.js +7 -12
  125. package/dist/DboBuilder/ViewHandler/prepareSortItems.js.map +1 -1
  126. package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts.map +1 -1
  127. package/dist/DboBuilder/ViewHandler/prepareWhere.js +6 -10
  128. package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
  129. package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
  130. package/dist/DboBuilder/dboBuilderUtils.js +8 -23
  131. package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
  132. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  133. package/dist/DboBuilder/getColumns.js +19 -26
  134. package/dist/DboBuilder/getColumns.js.map +1 -1
  135. package/dist/DboBuilder/getCondition.d.ts.map +1 -1
  136. package/dist/DboBuilder/getCondition.js +7 -9
  137. package/dist/DboBuilder/getCondition.js.map +1 -1
  138. package/dist/DboBuilder/getSubscribeRelatedTables.js +2 -2
  139. package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
  140. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +1 -1
  141. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js +14 -15
  142. package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js.map +1 -1
  143. package/dist/DboBuilder/insertNestedRecords.d.ts.map +1 -1
  144. package/dist/DboBuilder/insertNestedRecords.js +26 -40
  145. package/dist/DboBuilder/insertNestedRecords.js.map +1 -1
  146. package/dist/DboBuilder/parseUpdateRules.js +1 -1
  147. package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
  148. package/dist/DboBuilder/prepareShortestJoinPaths.d.ts.map +1 -1
  149. package/dist/DboBuilder/prepareShortestJoinPaths.js +12 -18
  150. package/dist/DboBuilder/prepareShortestJoinPaths.js.map +1 -1
  151. package/dist/DboBuilder/runSQL.d.ts +1 -1
  152. package/dist/DboBuilder/runSQL.d.ts.map +1 -1
  153. package/dist/DboBuilder/runSQL.js +14 -27
  154. package/dist/DboBuilder/runSQL.js.map +1 -1
  155. package/dist/DboBuilder/uploadFile.d.ts +1 -1
  156. package/dist/DboBuilder/uploadFile.d.ts.map +1 -1
  157. package/dist/DboBuilder/uploadFile.js +4 -11
  158. package/dist/DboBuilder/uploadFile.js.map +1 -1
  159. package/dist/FileManager/FileManager.d.ts.map +1 -1
  160. package/dist/FileManager/FileManager.js +11 -13
  161. package/dist/FileManager/FileManager.js.map +1 -1
  162. package/dist/FileManager/initFileManager.d.ts.map +1 -1
  163. package/dist/FileManager/initFileManager.js +60 -62
  164. package/dist/FileManager/initFileManager.js.map +1 -1
  165. package/dist/FileManager/uploadStream.js +2 -2
  166. package/dist/FileManager/uploadStream.js.map +1 -1
  167. package/dist/Filtering.d.ts +1 -1
  168. package/dist/Filtering.d.ts.map +1 -1
  169. package/dist/Filtering.js +12 -35
  170. package/dist/Filtering.js.map +1 -1
  171. package/dist/JSONBValidation/validation.d.ts.map +1 -1
  172. package/dist/JSONBValidation/validation.js +20 -26
  173. package/dist/JSONBValidation/validation.js.map +1 -1
  174. package/dist/Logging.d.ts +1 -0
  175. package/dist/Logging.d.ts.map +1 -1
  176. package/dist/PostgresNotifListenManager.d.ts.map +1 -1
  177. package/dist/PostgresNotifListenManager.js +1 -5
  178. package/dist/PostgresNotifListenManager.js.map +1 -1
  179. package/dist/Prostgles.d.ts +1 -1
  180. package/dist/Prostgles.d.ts.map +1 -1
  181. package/dist/Prostgles.js +18 -33
  182. package/dist/Prostgles.js.map +1 -1
  183. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  184. package/dist/PubSubManager/PubSubManager.js +8 -13
  185. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  186. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  187. package/dist/PubSubManager/addSub.js +1 -1
  188. package/dist/PubSubManager/addSub.js.map +1 -1
  189. package/dist/PubSubManager/addSync.d.ts.map +1 -1
  190. package/dist/PubSubManager/addSync.js +4 -7
  191. package/dist/PubSubManager/addSync.js.map +1 -1
  192. package/dist/PubSubManager/getCreatePubSubManagerError.js +6 -6
  193. package/dist/PubSubManager/getCreatePubSubManagerError.js.map +1 -1
  194. package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
  195. package/dist/PubSubManager/initPubSubManager.js +2 -3
  196. package/dist/PubSubManager/initPubSubManager.js.map +1 -1
  197. package/dist/PubSubManager/pushSubData.d.ts.map +1 -1
  198. package/dist/PubSubManager/pushSubData.js +0 -2
  199. package/dist/PubSubManager/pushSubData.js.map +1 -1
  200. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  201. package/dist/PublishParser/PublishParser.js +8 -13
  202. package/dist/PublishParser/PublishParser.js.map +1 -1
  203. package/dist/PublishParser/getFileTableRules.js +1 -1
  204. package/dist/PublishParser/getFileTableRules.js.map +1 -1
  205. package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
  206. package/dist/PublishParser/getSchemaFromPublish.js +6 -13
  207. package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
  208. package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +1 -1
  209. package/dist/PublishParser/getTableRulesWithoutFileTable.js +14 -19
  210. package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +1 -1
  211. package/dist/RestApi.d.ts +1 -1
  212. package/dist/RestApi.d.ts.map +1 -1
  213. package/dist/RestApi.js +2 -2
  214. package/dist/RestApi.js.map +1 -1
  215. package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -1
  216. package/dist/SchemaWatch/SchemaWatch.js +2 -2
  217. package/dist/SchemaWatch/SchemaWatch.js.map +1 -1
  218. package/dist/SyncReplication.d.ts.map +1 -1
  219. package/dist/SyncReplication.js +31 -41
  220. package/dist/SyncReplication.js.map +1 -1
  221. package/dist/TableConfig/TableConfig.d.ts.map +1 -1
  222. package/dist/TableConfig/TableConfig.js +7 -9
  223. package/dist/TableConfig/TableConfig.js.map +1 -1
  224. package/dist/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
  225. package/dist/TableConfig/getConstraintDefinitionQueries.js +1 -6
  226. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  227. package/dist/TableConfig/getFutureTableSchema.d.ts.map +1 -1
  228. package/dist/TableConfig/getFutureTableSchema.js +16 -28
  229. package/dist/TableConfig/getFutureTableSchema.js.map +1 -1
  230. package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -1
  231. package/dist/TableConfig/getTableColumnQueries.js +5 -9
  232. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  233. package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
  234. package/dist/TableConfig/initTableConfig.js +22 -25
  235. package/dist/TableConfig/initTableConfig.js.map +1 -1
  236. package/dist/initProstgles.js +1 -1
  237. package/dist/initProstgles.js.map +1 -1
  238. package/dist/onSocketConnected.d.ts.map +1 -1
  239. package/dist/onSocketConnected.js +2 -4
  240. package/dist/onSocketConnected.js.map +1 -1
  241. package/dist/runClientRequest.d.ts.map +1 -1
  242. package/dist/runClientRequest.js +14 -13
  243. package/dist/runClientRequest.js.map +1 -1
  244. package/lib/Auth/AuthHandler.ts +114 -135
  245. package/lib/Auth/AuthTypes.ts +96 -81
  246. package/lib/Auth/authProviders/setEmailProvider.ts +29 -0
  247. package/lib/Auth/authProviders/setOAuthProviders.ts +97 -0
  248. package/lib/Auth/endpoints/getConfirmEmailRequestHandler.ts +39 -0
  249. package/lib/Auth/endpoints/getRegisterRequestHandler.ts +88 -0
  250. package/lib/Auth/setAuthProviders.ts +8 -111
  251. package/lib/Auth/setupAuthRoutes.ts +105 -148
  252. package/lib/Auth/utils/checkDmarc.ts +19 -0
  253. package/lib/Auth/utils/getClientRequestIPsInfo.ts +25 -0
  254. package/lib/Auth/utils/getReturnUrl.ts +13 -0
  255. package/lib/DBEventsManager.ts +12 -26
  256. package/lib/DBSchemaBuilder.ts +1 -1
  257. package/lib/DboBuilder/DboBuilder.ts +23 -52
  258. package/lib/DboBuilder/DboBuilderTypes.ts +9 -23
  259. package/lib/DboBuilder/QueryBuilder/Functions.ts +86 -188
  260. package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +11 -36
  261. package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +102 -129
  262. package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +14 -27
  263. package/lib/DboBuilder/QueryStreamer.ts +26 -57
  264. package/lib/DboBuilder/TableHandler/DataValidator.ts +58 -90
  265. package/lib/DboBuilder/TableHandler/TableHandler.ts +19 -45
  266. package/lib/DboBuilder/TableHandler/delete.ts +9 -18
  267. package/lib/DboBuilder/TableHandler/insert.ts +18 -31
  268. package/lib/DboBuilder/TableHandler/insertTest.ts +1 -1
  269. package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +8 -19
  270. package/lib/DboBuilder/TableHandler/update.ts +17 -46
  271. package/lib/DboBuilder/TableHandler/updateFile.ts +18 -21
  272. package/lib/DboBuilder/TableHandler/upsert.ts +7 -24
  273. package/lib/DboBuilder/ViewHandler/ViewHandler.ts +13 -15
  274. package/lib/DboBuilder/ViewHandler/count.ts +1 -1
  275. package/lib/DboBuilder/ViewHandler/find.ts +28 -35
  276. package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +8 -30
  277. package/lib/DboBuilder/ViewHandler/getInfo.ts +2 -2
  278. package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +16 -32
  279. package/lib/DboBuilder/ViewHandler/parseFieldFilter.ts +9 -16
  280. package/lib/DboBuilder/ViewHandler/parseJoinPath.ts +26 -44
  281. package/lib/DboBuilder/ViewHandler/prepareSortItems.ts +58 -82
  282. package/lib/DboBuilder/ViewHandler/prepareWhere.ts +14 -27
  283. package/lib/DboBuilder/dboBuilderUtils.ts +19 -46
  284. package/lib/DboBuilder/getColumns.ts +24 -46
  285. package/lib/DboBuilder/getCondition.ts +18 -30
  286. package/lib/DboBuilder/getSubscribeRelatedTables.ts +2 -2
  287. package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +44 -62
  288. package/lib/DboBuilder/insertNestedRecords.ts +67 -135
  289. package/lib/DboBuilder/parseUpdateRules.ts +1 -1
  290. package/lib/DboBuilder/prepareShortestJoinPaths.ts +23 -58
  291. package/lib/DboBuilder/runSQL.ts +41 -76
  292. package/lib/DboBuilder/uploadFile.ts +26 -37
  293. package/lib/FileManager/FileManager.ts +27 -58
  294. package/lib/FileManager/initFileManager.ts +68 -76
  295. package/lib/FileManager/uploadStream.ts +2 -2
  296. package/lib/Filtering.ts +30 -87
  297. package/lib/JSONBValidation/validation.ts +36 -75
  298. package/lib/Logging.ts +1 -1
  299. package/lib/PostgresNotifListenManager.ts +11 -35
  300. package/lib/Prostgles.ts +42 -100
  301. package/lib/PubSubManager/PubSubManager.ts +30 -66
  302. package/lib/PubSubManager/addSub.ts +11 -18
  303. package/lib/PubSubManager/addSync.ts +5 -12
  304. package/lib/PubSubManager/getCreatePubSubManagerError.ts +9 -9
  305. package/lib/PubSubManager/initPubSubManager.ts +7 -13
  306. package/lib/PubSubManager/pushSubData.ts +1 -7
  307. package/lib/PublishParser/PublishParser.ts +8 -12
  308. package/lib/PublishParser/getFileTableRules.ts +1 -1
  309. package/lib/PublishParser/getSchemaFromPublish.ts +26 -42
  310. package/lib/PublishParser/getTableRulesWithoutFileTable.ts +22 -37
  311. package/lib/RestApi.ts +4 -12
  312. package/lib/SchemaWatch/SchemaWatch.ts +11 -24
  313. package/lib/SyncReplication.ts +96 -190
  314. package/lib/TableConfig/TableConfig.ts +16 -38
  315. package/lib/TableConfig/getConstraintDefinitionQueries.ts +2 -8
  316. package/lib/TableConfig/getFutureTableSchema.ts +20 -34
  317. package/lib/TableConfig/getTableColumnQueries.ts +13 -35
  318. package/lib/TableConfig/initTableConfig.ts +40 -64
  319. package/lib/initProstgles.ts +1 -1
  320. package/lib/onSocketConnected.ts +8 -12
  321. package/lib/runClientRequest.ts +31 -54
  322. package/package.json +2 -2
  323. package/dist/Auth/getSafeReturnURL.d.ts.map +0 -1
  324. package/dist/Auth/getSafeReturnURL.js.map +0 -1
  325. package/dist/Auth/setEmailProvider.d.ts.map +0 -1
  326. package/dist/Auth/setEmailProvider.js +0 -133
  327. package/dist/Auth/setEmailProvider.js.map +0 -1
  328. package/dist/DboBuilder/runTransaction.d.ts +0 -9
  329. package/dist/DboBuilder/runTransaction.d.ts.map +0 -1
  330. package/dist/DboBuilder/runTransaction.js +0 -49
  331. package/dist/DboBuilder/runTransaction.js.map +0 -1
  332. package/lib/Auth/setEmailProvider.ts +0 -132
  333. package/lib/DboBuilder/QueryBuilder/prepareHaving.ts +0 -27
  334. package/lib/DboBuilder/runTransaction.ts +0 -61
  335. package/lib/SchemaWatch/createSchemaWatchEventTrigger.ts +0 -3
  336. /package/dist/Auth/{getSafeReturnURL.d.ts → utils/getSafeReturnURL.d.ts} +0 -0
  337. /package/dist/Auth/{getSafeReturnURL.js → utils/getSafeReturnURL.js} +0 -0
  338. /package/lib/Auth/{getSafeReturnURL.ts → utils/getSafeReturnURL.ts} +0 -0
package/.eslintignore CHANGED
@@ -2,4 +2,5 @@ node_modules
2
2
  dist
3
3
  examples
4
4
  **/*.d.ts
5
- tests
5
+ tests
6
+ docs
package/.eslintrc.json CHANGED
@@ -3,6 +3,7 @@
3
3
  "parserOptions": {
4
4
  "ecmaVersion": "latest",
5
5
  "sourceType": "module",
6
+ "project": "./tsconfig.json",
6
7
  "allowImportExportEverywhere": true
7
8
  },
8
9
  "parser": "@typescript-eslint/parser",
@@ -20,6 +21,7 @@
20
21
  "@typescript-eslint/no-empty-object-type": "off",
21
22
  "no-async-promise-executor": "off",
22
23
  "@typescript-eslint/no-var-requires": "off",
24
+ "@typescript-eslint/no-unnecessary-condition": "error",
23
25
  "no-unused-vars": "off",
24
26
  "no-empty":"off",
25
27
  "@typescript-eslint/no-unused-vars": [
@@ -1,18 +1,25 @@
1
1
  import { AuthSocketSchema } from "prostgles-types";
2
2
  import { LocalParams, PRGLIOSocket } from "../DboBuilder/DboBuilder";
3
3
  import { DB, DBHandlerServer, Prostgles } from "../Prostgles";
4
- import { Auth, AuthClientRequest, AuthResult, BasicSession, ExpressReq, ExpressRes, LoginClientInfo, LoginParams, LoginResponse } from "./AuthTypes";
5
- export declare const HTTPCODES: {
6
- readonly AUTH_ERROR: 401;
4
+ import { Auth, AuthResult, BasicSession, ExpressReq, ExpressRes, LoginClientInfo, LoginParams, LoginResponse } from "./AuthTypes";
5
+ import { getClientRequestIPsInfo } from "./utils/getClientRequestIPsInfo";
6
+ export { getClientRequestIPsInfo };
7
+ export declare const HTTP_FAIL_CODES: {
8
+ readonly UNAUTHORIZED: 401;
7
9
  readonly NOT_FOUND: 404;
8
10
  readonly BAD_REQUEST: 400;
9
11
  readonly INTERNAL_SERVER_ERROR: 500;
12
+ readonly CONFLICT: 409;
13
+ readonly TOO_MANY_REQUESTS: 429;
14
+ };
15
+ export declare const HTTP_SUCCESS_CODES: {
16
+ readonly OK: 200;
17
+ readonly CREATED: 201;
10
18
  };
11
- export declare const getLoginClientInfo: <T extends AuthClientRequest>(req: T) => T & LoginClientInfo;
12
19
  export declare const AUTH_ROUTES_AND_PARAMS: {
13
20
  readonly login: "/login";
14
21
  readonly loginWithProvider: "/auth";
15
- readonly emailSignup: "/register";
22
+ readonly emailRegistration: "/register";
16
23
  readonly returnUrlParamName: "returnURL";
17
24
  readonly sidKeyName: "session_id";
18
25
  readonly logoutGetPath: "/logout";
@@ -24,7 +31,7 @@ export declare const AUTH_ROUTES_AND_PARAMS: {
24
31
  };
25
32
  export declare class AuthHandler {
26
33
  protected prostgles: Prostgles;
27
- protected opts?: Auth;
34
+ protected opts: Auth;
28
35
  dbo: DBHandlerServer;
29
36
  db: DB;
30
37
  constructor(prostgles: Prostgles);
@@ -43,10 +50,9 @@ export declare class AuthHandler {
43
50
  httpReq: ExpressReq;
44
51
  }) => Promise<AuthResult>;
45
52
  init: () => Promise<void>;
46
- getReturnUrl: (req: ExpressReq) => string | null | undefined;
47
53
  destroy: () => void;
48
54
  throttledFunc: <T>(func: () => Promise<T>, throttle?: number) => Promise<T>;
49
- loginThrottled: (params: LoginParams, client: LoginClientInfo) => Promise<LoginResponse>;
55
+ loginThrottledAndValidate: (params: LoginParams, client: LoginClientInfo) => Promise<LoginResponse>;
50
56
  loginThrottledAndSetCookie: (req: ExpressReq, res: ExpressRes, loginParams: LoginParams) => Promise<ExpressRes | undefined>;
51
57
  /**
52
58
  * Will return first sid value found in:
@@ -55,13 +61,16 @@ export declare class AuthHandler {
55
61
  * query params
56
62
  * Based on sid names in auth
57
63
  */
58
- getSID(localParams: LocalParams): string | undefined;
64
+ getSID(localParams: LocalParams | undefined): string | undefined;
59
65
  /**
60
66
  * Used for logging
61
67
  */
62
68
  getSIDNoError: (localParams: LocalParams | undefined) => string | undefined;
63
- getClientInfo(localParams: Pick<LocalParams, "socket" | "httpReq">): Promise<AuthResult>;
64
- isValidSocketSession: (socket: PRGLIOSocket, session: BasicSession) => boolean;
69
+ /**
70
+ * For a given sid return the user data if available
71
+ */
72
+ getClientInfo(localParams: Pick<LocalParams, "socket" | "httpReq">): Promise<AuthResult<any>>;
73
+ isValidSocketSession: (socket: PRGLIOSocket, session: BasicSession | undefined) => boolean;
65
74
  getClientAuth: (clientReq: Pick<LocalParams, "socket" | "httpReq">) => Promise<{
66
75
  auth: AuthSocketSchema;
67
76
  userData: AuthResult;
@@ -1 +1 @@
1
- {"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../../lib/Auth/AuthHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,IAAI,EACJ,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AAKrB,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AAEX,eAAO,MAAM,kBAAkB,8DAqB9B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;CAYzB,CAAC;AAEX,qBAAa,WAAW;IACtB,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/B,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACtB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;gBAEK,SAAS,EAAE,SAAS;IAQhC,IAAI,UAAU,WAEb;IAED,WAAW,QAAS,MAAM,GAAG,SAAS,wBAIpC;IAEF,YAAY,UAAW,MAAM,GAAG,SAAS,mBAAmB,MAAM,8BAQhE;IAEF,WAAW,aAAc,MAAM,aAa7B;IAEF,8BAA8B,WACpB;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KACrC;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,UAkCvC;IAEF,OAAO,cAAqB;QAAE,OAAO,EAAE,UAAU,CAAA;KAAE,KAAG,QAAQ,UAAU,CAAC,CAoBvE;IAEF,IAAI,sBAA8B;IAElC,YAAY,QAAS,UAAU,+BAQ7B;IAEF,OAAO,aAwBL;IAEF,aAAa,+DA+BX;IAEF,cAAc,WAAkB,WAAW,UAAU,eAAe,KAAG,QAAQ,aAAa,CAAC,CA4B3F;IAEF,0BAA0B,QACnB,UAAU,OACV,UAAU,eACF,WAAW,qCAsBxB;IAEF;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS;IA2CpD;;OAEG;IACH,aAAa,gBAAiB,WAAW,GAAG,SAAS,KAAG,MAAM,GAAG,SAAS,CAOxE;IAEI,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAqE9F,oBAAoB,WAAY,YAAY,WAAW,YAAY,KAAG,OAAO,CAiB3E;IAEF,aAAa,cACA,KAAK,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;cACjC,gBAAgB;kBAAY,UAAU;OA6DvD;CACH"}
1
+ {"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../../lib/Auth/AuthHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACnC,eAAO,MAAM,eAAe;;;;;;;CAOlB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;CAYzB,CAAC;AAEX,qBAAa,WAAW;IACtB,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IACrB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;gBAEK,SAAS,EAAE,SAAS;IAShC,IAAI,UAAU,WAEb;IAED,WAAW,QAAS,MAAM,GAAG,SAAS,wBAIpC;IAEF,YAAY,UAAW,MAAM,GAAG,SAAS,mBAAmB,MAAM,8BAQhE;IAEF,WAAW,aAAc,MAAM,aAa7B;IAEF,8BAA8B,WACpB;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KACrC;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,UAkCvC;IAEF,OAAO,cAAqB;QAAE,OAAO,EAAE,UAAU,CAAA;KAAE,KAAG,QAAQ,UAAU,CAAC,CAiBvE;IAEF,IAAI,sBAA8B;IAElC,OAAO,aAwBL;IAEF,aAAa,+DA+BX;IAEF,yBAAyB,WACf,WAAW,UACX,eAAe,KACtB,QAAQ,aAAa,CAAC,CA+BvB;IAEF,0BAA0B,QACnB,UAAU,OACV,UAAU,eACF,WAAW,qCAuBxB;IAEF;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;IAyChE;;OAEG;IACH,aAAa,gBAAiB,WAAW,GAAG,SAAS,KAAG,MAAM,GAAG,SAAS,CAOxE;IAEF;;OAEG;IACG,aAAa,CACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC,GACnD,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAuE3B,oBAAoB,WAAY,YAAY,WAAW,YAAY,GAAG,SAAS,KAAG,OAAO,CAcvF;IAEF,aAAa,cACA,KAAK,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;cACjC,gBAAgB;kBAAY,UAAU;OA0DvD;CACH"}
@@ -1,46 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthHandler = exports.AUTH_ROUTES_AND_PARAMS = exports.getLoginClientInfo = exports.HTTPCODES = void 0;
3
+ exports.AuthHandler = exports.AUTH_ROUTES_AND_PARAMS = exports.HTTP_SUCCESS_CODES = exports.HTTP_FAIL_CODES = exports.getClientRequestIPsInfo = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
5
  const FileManager_1 = require("../FileManager/FileManager");
6
- const getSafeReturnURL_1 = require("./getSafeReturnURL");
7
- const setupAuthRoutes_1 = require("./setupAuthRoutes");
8
6
  const setAuthProviders_1 = require("./setAuthProviders");
9
- exports.HTTPCODES = {
10
- AUTH_ERROR: 401,
7
+ const setupAuthRoutes_1 = require("./setupAuthRoutes");
8
+ const getClientRequestIPsInfo_1 = require("./utils/getClientRequestIPsInfo");
9
+ Object.defineProperty(exports, "getClientRequestIPsInfo", { enumerable: true, get: function () { return getClientRequestIPsInfo_1.getClientRequestIPsInfo; } });
10
+ const getReturnUrl_1 = require("./utils/getReturnUrl");
11
+ exports.HTTP_FAIL_CODES = {
12
+ UNAUTHORIZED: 401,
11
13
  NOT_FOUND: 404,
12
14
  BAD_REQUEST: 400,
13
15
  INTERNAL_SERVER_ERROR: 500,
16
+ CONFLICT: 409,
17
+ TOO_MANY_REQUESTS: 429,
14
18
  };
15
- const getLoginClientInfo = (req) => {
16
- if (req.httpReq) {
17
- const ip_address = req.httpReq.ip;
18
- if (!ip_address)
19
- throw new Error("ip_address missing from req.httpReq");
20
- const user_agent = req.httpReq.headers["user-agent"];
21
- return {
22
- ...req,
23
- ip_address,
24
- ip_address_remote: req.httpReq.connection.remoteAddress,
25
- x_real_ip: req.httpReq.headers["x-real-ip"],
26
- user_agent,
27
- };
28
- }
29
- else {
30
- return {
31
- ...req,
32
- ip_address: req.socket.handshake.address,
33
- ip_address_remote: req.socket.request.connection.remoteAddress,
34
- x_real_ip: req.socket.handshake.headers?.["x-real-ip"],
35
- user_agent: req.socket.handshake.headers?.["user-agent"],
36
- };
37
- }
19
+ exports.HTTP_SUCCESS_CODES = {
20
+ OK: 200,
21
+ CREATED: 201,
38
22
  };
39
- exports.getLoginClientInfo = getLoginClientInfo;
40
23
  exports.AUTH_ROUTES_AND_PARAMS = {
41
24
  login: "/login",
42
25
  loginWithProvider: "/auth",
43
- emailSignup: "/register",
26
+ emailRegistration: "/register",
44
27
  returnUrlParamName: "returnURL",
45
28
  sidKeyName: "session_id",
46
29
  logoutGetPath: "/logout",
@@ -57,20 +40,22 @@ class AuthHandler {
57
40
  db;
58
41
  constructor(prostgles) {
59
42
  this.prostgles = prostgles;
43
+ if (!prostgles.opts.auth)
44
+ throw new Error("prostgles.opts.auth missing");
60
45
  this.opts = prostgles.opts.auth;
61
46
  if (!prostgles.dbo || !prostgles.db)
62
- throw "dbo or db missing";
47
+ throw new Error("dbo or db missing");
63
48
  this.dbo = prostgles.dbo;
64
49
  this.db = prostgles.db;
65
50
  }
66
51
  get sidKeyName() {
67
- return this.opts?.sidKeyName ?? exports.AUTH_ROUTES_AND_PARAMS.sidKeyName;
52
+ return this.opts.sidKeyName ?? exports.AUTH_ROUTES_AND_PARAMS.sidKeyName;
68
53
  }
69
54
  validateSid = (sid) => {
70
55
  if (!sid)
71
56
  return undefined;
72
57
  if (typeof sid !== "string")
73
- throw "sid missing or not a string";
58
+ throw new Error("sid missing or not a string");
74
59
  return sid;
75
60
  };
76
61
  matchesRoute = (route, clientFullRoute) => {
@@ -83,7 +68,7 @@ class AuthHandler {
83
68
  isUserRoute = (pathname) => {
84
69
  const { login, logoutGetPath, magicLinksRoute, loginWithProvider } = exports.AUTH_ROUTES_AND_PARAMS;
85
70
  const pubRoutes = [
86
- ...(this.opts?.expressConfig?.publicRoutes || []),
71
+ ...(this.opts.expressConfig?.publicRoutes || []),
87
72
  login,
88
73
  logoutGetPath,
89
74
  magicLinksRoute,
@@ -115,11 +100,11 @@ class AuthHandler {
115
100
  //signed: true // Indicates if the cookie should be signed
116
101
  secure: true,
117
102
  sameSite: "strict",
118
- ...(this.opts?.expressConfig?.cookieOptions || {}),
103
+ ...(this.opts.expressConfig?.cookieOptions || {}),
119
104
  };
120
105
  const cookieData = sid;
121
106
  res.cookie(this.sidKeyName, cookieData, cookieOpts);
122
- const successURL = this.getReturnUrl(req) || "/";
107
+ const successURL = (0, getReturnUrl_1.getReturnUrl)(req) || "/";
123
108
  res.redirect(successURL);
124
109
  }
125
110
  else {
@@ -127,15 +112,12 @@ class AuthHandler {
127
112
  }
128
113
  };
129
114
  getUser = async (clientReq) => {
130
- if (!this.opts?.getUser) {
131
- throw "this.opts.getUser missing";
132
- }
133
- const sid = clientReq.httpReq?.cookies?.[this.sidKeyName];
115
+ const sid = clientReq.httpReq.cookies?.[this.sidKeyName];
134
116
  if (!sid)
135
117
  return undefined;
136
118
  try {
137
119
  return this.throttledFunc(async () => {
138
- return this.opts.getUser(this.validateSid(sid), this.dbo, this.db, (0, exports.getLoginClientInfo)(clientReq));
120
+ return this.opts.getUser(this.validateSid(sid), this.dbo, this.db, (0, getClientRequestIPsInfo_1.getClientRequestIPsInfo)(clientReq));
139
121
  }, 50);
140
122
  }
141
123
  catch (err) {
@@ -144,17 +126,9 @@ class AuthHandler {
144
126
  return undefined;
145
127
  };
146
128
  init = setupAuthRoutes_1.setupAuthRoutes.bind(this);
147
- getReturnUrl = (req) => {
148
- const { returnUrlParamName } = exports.AUTH_ROUTES_AND_PARAMS;
149
- if (returnUrlParamName && req?.query?.[returnUrlParamName]) {
150
- const returnURL = decodeURIComponent(req?.query?.[returnUrlParamName]);
151
- return (0, getSafeReturnURL_1.getSafeReturnURL)(returnURL, returnUrlParamName);
152
- }
153
- return null;
154
- };
155
129
  destroy = () => {
156
- const app = this.opts?.expressConfig?.app;
157
- const { login, logoutGetPath, magicLinksExpressRoute, catchAll, loginWithProvider, emailSignup, magicLinksRoute, confirmEmail, confirmEmailExpressRoute, } = exports.AUTH_ROUTES_AND_PARAMS;
130
+ const app = this.opts.expressConfig?.app;
131
+ const { login, logoutGetPath, magicLinksExpressRoute, catchAll, loginWithProvider, emailRegistration: emailSignup, magicLinksRoute, confirmEmail, confirmEmailExpressRoute, } = exports.AUTH_ROUTES_AND_PARAMS;
158
132
  (0, FileManager_1.removeExpressRoute)(app, [
159
133
  login,
160
134
  logoutGetPath,
@@ -196,52 +170,55 @@ class AuthHandler {
196
170
  finished = true;
197
171
  });
198
172
  };
199
- loginThrottled = async (params, client) => {
200
- if (!this.opts?.login)
173
+ loginThrottledAndValidate = async (params, client) => {
174
+ if (!this.opts.login)
201
175
  throw "Auth login config missing";
202
176
  const { responseThrottle = 500 } = this.opts;
203
177
  return this.throttledFunc(async () => {
204
- const result = await this.opts?.login?.(params, this.dbo, this.db, client);
205
- const err = {
206
- msg: "Bad login result type. \nExpecting: undefined | null | { sid: string; expires: number } but got: " +
207
- JSON.stringify(result),
208
- };
209
- if (!result)
210
- throw err;
211
- if ("success" in result)
212
- throw result;
213
- if ((result && (typeof result.sid !== "string" || typeof result.expires !== "number")) ||
214
- (!result && ![undefined, null].includes(result))) {
215
- throw err;
178
+ const result = await this.opts.login?.(params, this.dbo, this.db, client);
179
+ if (!result) {
180
+ return "server-error";
216
181
  }
217
- if (result && result.expires < Date.now()) {
218
- throw {
219
- msg: "auth.login() is returning an expired session. Can only login with a session.expires greater than Date.now()",
220
- };
182
+ if (typeof result === "string")
183
+ return result;
184
+ const { sid, expires } = result.session;
185
+ if (!sid) {
186
+ // return withServerError("Invalid sid");
187
+ return "server-error";
188
+ }
189
+ if (sid && (typeof sid !== "string" || typeof expires !== "number")) {
190
+ // return withServerError(
191
+ // "Bad login result type. \nExpecting: undefined | null | { sid: string; expires: number }"
192
+ // );
193
+ return "server-error";
194
+ }
195
+ if (expires < Date.now()) {
196
+ // return withServerError(
197
+ // "auth.login() is returning an expired session. Can only login with a session.expires greater than Date.now()"
198
+ // );
199
+ return "server-error";
221
200
  }
222
201
  return result;
223
202
  }, responseThrottle);
224
203
  };
225
204
  loginThrottledAndSetCookie = async (req, res, loginParams) => {
226
205
  const start = Date.now();
227
- const loginResponse = (await this.loginThrottled(loginParams, (0, exports.getLoginClientInfo)({ httpReq: req }))) || {};
228
- if ("success" in loginResponse) {
229
- return res.status(exports.HTTPCODES.AUTH_ERROR).json(loginResponse);
230
- }
231
- const { sid, expires } = loginResponse;
206
+ const errCodeOrSession = await this.loginThrottledAndValidate(loginParams, (0, getClientRequestIPsInfo_1.getClientRequestIPsInfo)({ httpReq: req }));
207
+ const loginResponse = typeof errCodeOrSession === "string" ?
208
+ { session: undefined, response: { success: false, code: errCodeOrSession } }
209
+ : errCodeOrSession;
232
210
  await this.prostgles.opts.onLog?.({
233
211
  type: "auth",
234
212
  command: "login",
213
+ success: !!loginResponse.session,
235
214
  duration: Date.now() - start,
236
- sid,
215
+ sid: loginResponse.session?.sid,
237
216
  socketId: undefined,
238
217
  });
239
- if (sid) {
240
- this.setCookieAndGoToReturnURLIFSet({ sid, expires }, { req, res });
241
- }
242
- else {
243
- throw "Internal error: no user or session";
218
+ if (!loginResponse.session) {
219
+ return res.status(exports.HTTP_FAIL_CODES.BAD_REQUEST).json(loginResponse.response);
244
220
  }
221
+ this.setCookieAndGoToReturnURLIFSet(loginResponse.session, { req, res });
245
222
  };
246
223
  /**
247
224
  * Will return first sid value found in:
@@ -251,17 +228,15 @@ class AuthHandler {
251
228
  * Based on sid names in auth
252
229
  */
253
230
  getSID(localParams) {
254
- if (!this.opts)
255
- return undefined;
256
231
  if (!localParams)
257
232
  return undefined;
258
233
  const { sidKeyName } = this;
259
234
  if (localParams.socket) {
260
235
  const { handshake } = localParams.socket;
261
- const querySid = handshake?.auth?.[sidKeyName] || handshake?.query?.[sidKeyName];
236
+ const querySid = handshake.auth?.[sidKeyName] || handshake.query?.[sidKeyName];
262
237
  let rawSid = querySid;
263
238
  if (!rawSid) {
264
- const cookie_str = localParams.socket?.handshake?.headers?.cookie;
239
+ const cookie_str = localParams.socket.handshake.headers?.cookie;
265
240
  const cookie = parseCookieStr(cookie_str);
266
241
  rawSid = cookie[sidKeyName];
267
242
  }
@@ -276,7 +251,7 @@ class AuthHandler {
276
251
  }
277
252
  bearerSid = Buffer.from(base64Token, "base64").toString();
278
253
  }
279
- return this.validateSid(bearerSid ?? localParams.httpReq?.cookies?.[sidKeyName]);
254
+ return this.validateSid(bearerSid ?? localParams.httpReq.cookies?.[sidKeyName]);
280
255
  }
281
256
  else
282
257
  throw "socket OR httpReq missing from localParams";
@@ -307,43 +282,48 @@ class AuthHandler {
307
282
  return undefined;
308
283
  }
309
284
  };
285
+ /**
286
+ * For a given sid return the user data if available
287
+ */
310
288
  async getClientInfo(localParams) {
311
- if (!this.opts)
312
- return {};
289
+ /**
290
+ * Get cached session if available
291
+ */
313
292
  const getSession = this.opts.cacheSession?.getSession;
314
293
  const isSocket = "socket" in localParams;
315
- if (isSocket) {
316
- if (getSession && localParams.socket?.__prglCache) {
317
- const { session, user, clientUser } = localParams.socket.__prglCache;
318
- const isValid = this.isValidSocketSession(localParams.socket, session);
319
- if (isValid) {
320
- return {
321
- sid: session.sid,
322
- user,
323
- clientUser,
324
- };
325
- }
326
- else
327
- return {
328
- sid: session.sid,
329
- };
294
+ if (isSocket && getSession && localParams.socket?.__prglCache) {
295
+ const { session, user, clientUser } = localParams.socket.__prglCache;
296
+ const isValid = this.isValidSocketSession(localParams.socket, session);
297
+ if (isValid) {
298
+ return {
299
+ sid: session.sid,
300
+ user,
301
+ clientUser,
302
+ };
330
303
  }
304
+ else
305
+ return {
306
+ sid: session.sid,
307
+ };
331
308
  }
309
+ /**
310
+ * Get sid from request and fetch user data
311
+ */
332
312
  const authStart = Date.now();
333
- const res = await this.throttledFunc(async () => {
334
- const { getUser } = this.opts ?? {};
335
- if (getUser && localParams && (localParams.httpReq || localParams.socket)) {
313
+ const clientInfo = await this.throttledFunc(async () => {
314
+ const { getUser } = this.opts;
315
+ if (localParams.httpReq || localParams.socket) {
336
316
  const sid = this.getSID(localParams);
337
317
  const clientReq = localParams.httpReq ? { httpReq: localParams.httpReq } : { socket: localParams.socket };
338
318
  let user, clientUser;
339
319
  if (sid) {
340
- const res = (await getUser(sid, this.dbo, this.db, (0, exports.getLoginClientInfo)(clientReq)));
341
- user = res?.user;
342
- clientUser = res?.clientUser;
320
+ const clientInfo = await getUser(sid, this.dbo, this.db, (0, getClientRequestIPsInfo_1.getClientRequestIPsInfo)(clientReq));
321
+ user = clientInfo?.user;
322
+ clientUser = clientInfo?.clientUser;
343
323
  }
344
324
  if (getSession && isSocket) {
345
325
  const session = await getSession(sid, this.dbo, this.db);
346
- if (session?.expires && user && clientUser && localParams.socket) {
326
+ if (session && session.expires && user && clientUser && localParams.socket) {
347
327
  localParams.socket.__prglCache = {
348
328
  session,
349
329
  user,
@@ -361,20 +341,19 @@ class AuthHandler {
361
341
  type: "auth",
362
342
  command: "getClientInfo",
363
343
  duration: Date.now() - authStart,
364
- sid: res.sid,
344
+ sid: clientInfo.sid,
365
345
  socketId: localParams.socket?.id,
366
346
  });
367
- return res;
347
+ return clientInfo;
368
348
  }
369
349
  isValidSocketSession = (socket, session) => {
370
350
  const hasExpired = Boolean(session && session.expires <= Date.now());
371
- if (this.opts?.expressConfig?.publicRoutes &&
372
- !this.opts.expressConfig?.disableSocketAuthGuard) {
351
+ if (this.opts.expressConfig?.publicRoutes && !this.opts.expressConfig.disableSocketAuthGuard) {
373
352
  const error = "Session has expired";
374
353
  if (hasExpired) {
375
- if (session.onExpiration === "redirect")
354
+ if (session?.onExpiration === "redirect")
376
355
  socket.emit(prostgles_types_1.CHANNELS.AUTHGUARD, {
377
- shouldReload: session.onExpiration === "redirect",
356
+ shouldReload: true,
378
357
  error,
379
358
  });
380
359
  throw error;
@@ -384,8 +363,7 @@ class AuthHandler {
384
363
  };
385
364
  getClientAuth = async (clientReq) => {
386
365
  let pathGuard = false;
387
- if (this.opts?.expressConfig?.publicRoutes &&
388
- !this.opts.expressConfig?.disableSocketAuthGuard) {
366
+ if (this.opts.expressConfig?.publicRoutes && !this.opts.expressConfig.disableSocketAuthGuard) {
389
367
  pathGuard = true;
390
368
  if ("socket" in clientReq && clientReq.socket) {
391
369
  const { socket } = clientReq;
@@ -394,7 +372,7 @@ class AuthHandler {
394
372
  /** EMPTY */
395
373
  }) => {
396
374
  try {
397
- const { pathname, origin } = typeof params === "string" ? JSON.parse(params) : params || {};
375
+ const { pathname, origin } = typeof params === "string" ? JSON.parse(params) : params;
398
376
  if (pathname && typeof pathname !== "string") {
399
377
  console.warn("Invalid pathname provided for AuthGuardLocation: ", pathname);
400
378
  }
@@ -419,12 +397,12 @@ class AuthHandler {
419
397
  }
420
398
  }
421
399
  const userData = await this.getClientInfo(clientReq);
422
- const { email } = this.opts?.expressConfig?.registrations ?? {};
400
+ const { email } = this.opts.expressConfig?.registrations ?? {};
423
401
  const auth = {
424
402
  providers: setAuthProviders_1.getProviders.bind(this)(),
425
403
  register: email && {
426
404
  type: email.signupType,
427
- url: exports.AUTH_ROUTES_AND_PARAMS.emailSignup,
405
+ url: exports.AUTH_ROUTES_AND_PARAMS.emailRegistration,
428
406
  },
429
407
  user: userData?.clientUser,
430
408
  loginType: email?.signupType ?? "withPassword",
@@ -1 +1 @@
1
- {"version":3,"file":"AuthHandler.js","sourceRoot":"","sources":["../../lib/Auth/AuthHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthHandler.js","sourceRoot":"","sources":["../../lib/Auth/AuthHandler.ts"],"names":[],"mappings":";;;AAAA,qDAMyB;AAGzB,4DAAgE;AAYhE,yDAAkD;AAClD,uDAAoD;AACpD,6EAA0E;AAGjE,wGAHA,iDAAuB,OAGA;AAFhC,uDAAoD;AAGvC,QAAA,eAAe,GAAG;IAC7B,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,GAAG;IAChB,qBAAqB,EAAE,GAAG;IAC1B,QAAQ,EAAE,GAAG;IACb,iBAAiB,EAAE,GAAG;CACd,CAAC;AAEE,QAAA,kBAAkB,GAAG;IAChC,EAAE,EAAE,GAAG;IACP,OAAO,EAAE,GAAG;CACJ,CAAC;AAEE,QAAA,sBAAsB,GAAG;IACpC,KAAK,EAAE,QAAQ;IACf,iBAAiB,EAAE,OAAO;IAC1B,iBAAiB,EAAE,WAAW;IAC9B,kBAAkB,EAAE,WAAW;IAC/B,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,aAAa;IAC9B,sBAAsB,EAAE,iBAAiB;IACzC,YAAY,EAAE,gBAAgB;IAC9B,wBAAwB,EAAE,oBAAoB;IAC9C,QAAQ,EAAE,GAAG;CACL,CAAC;AAEX,MAAa,WAAW;IACZ,SAAS,CAAY;IACrB,IAAI,CAAO;IACrB,GAAG,CAAkB;IACrB,EAAE,CAAK;IAEP,YAAY,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,8BAAsB,CAAC,UAAU,CAAC;IACnE,CAAC;IAED,WAAW,GAAG,CAAC,GAAuB,EAAE,EAAE;QACxC,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC5E,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,YAAY,GAAG,CAAC,KAAyB,EAAE,eAAuB,EAAE,EAAE;QACpE,OAAO,CACL,KAAK;YACL,eAAe;YACf,CAAC,KAAK,KAAK,eAAe;gBACxB,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC;oBAChC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CACpE,CAAC;IACJ,CAAC,CAAC;IAEF,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;QACjC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,8BAAsB,CAAC;QAC5F,MAAM,SAAS,GAAG;YAChB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,IAAI,EAAE,CAAC;YAChD,KAAK;YACL,aAAa;YACb,eAAe;YACf,iBAAiB;SAClB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;QAEvC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,8BAA8B,GAAG,CAC/B,MAAwC,EACxC,CAAuC,EACvC,EAAE;QACF,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAChC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY;YAE/C,IAAI,cAAc,GAAO;gBACvB,MAAM,EAAE,YAAY;aACrB,CAAC;YACF,IAAI,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACtE,oDAAoD;gBACpD,cAAc,GAAG,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBACvE,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;oBAChB,OAAO,CAAC,IAAI,CAAC,8DAA8D,IAAI,MAAM,CAAC,CAAC;gBACzF,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG;gBACjB,GAAG,cAAc;gBACjB,QAAQ,EAAE,IAAI,EAAE,+CAA+C;gBAC/D,0DAA0D;gBAC1D,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,QAAiB;gBAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,IAAI,EAAE,CAAC;aAClD,CAAC;YACF,MAAM,UAAU,GAAG,GAAG,CAAC;YACvB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,IAAA,2BAAY,EAAC,GAAG,CAAC,IAAI,GAAG,CAAC;YAC5C,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,oBAAoB,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,GAAG,KAAK,EAAE,SAAkC,EAAuB,EAAE;QAC1E,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAE3B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;gBACnC,OAAO,IAAI,CAAC,IAAK,CAAC,OAAO,CACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EACrB,IAAI,CAAC,GAAU,EACf,IAAI,CAAC,EAAE,EACP,IAAA,iDAAuB,EAAC,SAAS,CAAC,CACnC,CAAC;YACJ,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,IAAI,GAAG,iCAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,GAAG,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC;QACzC,MAAM,EACJ,KAAK,EACL,aAAa,EACb,sBAAsB,EACtB,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EAAE,WAAW,EAC9B,eAAe,EACf,YAAY,EACZ,wBAAwB,GACzB,GAAG,8BAAsB,CAAC;QAC3B,IAAA,gCAAkB,EAAC,GAAG,EAAE;YACtB,KAAK;YACL,aAAa;YACb,sBAAsB;YACtB,QAAQ;YACR,iBAAiB;YACjB,WAAW;YACX,eAAe;YACf,YAAY;YACZ,wBAAwB;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,aAAa,GAAG,CAAI,IAAsB,EAAE,QAAQ,GAAG,GAAG,EAAc,EAAE;QACxE,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,MAAS,EACX,KAAU,EACV,QAAQ,GAAG,KAAK,CAAC;YAEnB;;eAEG;YACH,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBAChC,IAAI,QAAQ,EAAE,CAAC;oBACb,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,QAAQ,CAAC,CAAC;YAEb,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;gBACtB,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChB,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAK,GAAG,GAAG,CAAC;YACd,CAAC;YAED,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,yBAAyB,GAAG,KAAK,EAC/B,MAAmB,EACnB,MAAuB,EACC,EAAE;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,2BAA2B,CAAC;QACxD,MAAM,EAAE,gBAAgB,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,GAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAE3F,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,cAAc,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC;YAE9C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,yCAAyC;gBACzC,OAAO,cAAc,CAAC;YACxB,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACpE,0BAA0B;gBAC1B,8FAA8F;gBAC9F,KAAK;gBACL,OAAO,cAAc,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACzB,0BAA0B;gBAC1B,kHAAkH;gBAClH,KAAK;gBACL,OAAO,cAAc,CAAC;YACxB,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,0BAA0B,GAAG,KAAK,EAChC,GAAe,EACf,GAAe,EACf,WAAwB,EACxB,EAAE;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAC3D,WAAW,EACX,IAAA,iDAAuB,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAC1C,CAAC;QACF,MAAM,aAAa,GACjB,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC;YACpC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;YAC9E,CAAC,CAAC,gBAAgB,CAAC;QACrB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;YAChC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC5B,GAAG,EAAE,aAAa,CAAC,OAAO,EAAE,GAAG;YAC/B,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,uBAAe,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,8BAA8B,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,CAAC,WAAoC;QACzC,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QACnC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;YACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC;YAC/E,IAAI,MAAM,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAChE,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC7F,IAAI,SAA6B,CAAC;YAClC,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;gBAC7B,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,0CAA0C,CAAC;gBACnD,CAAC;gBACD,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5D,CAAC;YACD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAClF,CAAC;;YAAM,MAAM,4CAA4C,CAAC;QAE1D,SAAS,cAAc,CAAC,UAA8B;YACpD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAClD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,UAAU;iBACd,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;iBAClB,KAAK,CAAC,GAAG,CAAC;iBACV,MAAM,CAAY,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBACnC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAK,CAAC,GAAG,KAAK,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,GAAG,CAAC,WAAoC,EAAsB,EAAE;QAC3E,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QACnC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,WAAoD;QAEpD;;WAEG;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;QACtD,MAAM,QAAQ,GAAG,QAAQ,IAAI,WAAW,CAAC;QACzC,IAAI,QAAQ,IAAI,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;YAC9D,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YACrE,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvE,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;oBACL,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,IAAI;oBACJ,UAAU;iBACX,CAAC;YACJ,CAAC;;gBACC,OAAO;oBACL,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,CAAC;QACN,CAAC;QAED;;WAEG;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YAE9B,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACrC,MAAM,SAAS,GACb,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAO,EAAE,CAAC;gBAC3F,IAAI,IAAI,EAAE,UAAU,CAAC;gBACrB,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,UAAU,GAAG,MAAM,OAAO,CAC9B,GAAG,EACH,IAAI,CAAC,GAAU,EACf,IAAI,CAAC,EAAE,EACP,IAAA,iDAAuB,EAAC,SAAS,CAAC,CACnC,CAAC;oBACF,IAAI,GAAG,UAAU,EAAE,IAAI,CAAC;oBACxB,UAAU,GAAG,UAAU,EAAE,UAAU,CAAC;gBACtC,CAAC;gBACD,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;oBAChE,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;wBAC3E,WAAW,CAAC,MAAM,CAAC,WAAW,GAAG;4BAC/B,OAAO;4BACP,IAAI;4BACJ,UAAU;yBACX,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAChC,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE;SACjC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,oBAAoB,GAAG,CAAC,MAAoB,EAAE,OAAiC,EAAW,EAAE;QAC1F,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;YAC7F,MAAM,KAAK,GAAG,qBAAqB,CAAC;YACpC,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,OAAO,EAAE,YAAY,KAAK,UAAU;oBACtC,MAAM,CAAC,IAAI,CAAC,0BAAQ,CAAC,SAAS,EAAE;wBAC9B,YAAY,EAAE,IAAI;wBAClB,KAAK;qBACN,CAAC,CAAC;gBACL,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,aAAa,GAAG,KAAK,EACnB,SAAkD,EACS,EAAE;QAC7D,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;YAC7F,SAAS,GAAG,IAAI,CAAC;YAEjB,IAAI,QAAQ,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;gBAC7B,MAAM,CAAC,kBAAkB,CAAC,0BAAQ,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,CAAC,EAAE,CACP,0BAAQ,CAAC,SAAS,EAClB,KAAK,EACH,MAAyB,EACzB,KAAK,CAAC,IAAS,EAAE,IAAgC,EAAE,EAAE;oBACnD,YAAY;gBACd,CAAC,EACD,EAAE;oBACF,IAAI,CAAC;wBACH,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GACxB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAuB,CAAC,CAAC,CAAC,MAAM,CAAC;wBAClF,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BAC7C,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,QAAQ,CAAC,CAAC;wBAC9E,CAAC;wBAED,qBAAqB;wBACrB,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,CAAC;wBACxC,IACE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC;4BACrC,QAAQ;4BACR,OAAO,QAAQ,KAAK,QAAQ;4BAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;4BAC1B,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAC7C,CAAC;4BACD,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;wBACnC,CAAC;6BAAM,CAAC;4BACN,EAAE,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;wBACpC,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;wBACtC,EAAE,CAAC,GAAG,CAAC,CAAC;oBACV,CAAC;gBACH,CAAC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,IAAI,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAqB;YAC7B,SAAS,EAAE,+BAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpC,QAAQ,EAAE,KAAK,IAAI;gBACjB,IAAI,EAAE,KAAK,CAAC,UAAU;gBACtB,GAAG,EAAE,8BAAsB,CAAC,iBAAiB;aAC9C;YACD,IAAI,EAAE,QAAQ,EAAE,UAAU;YAC1B,SAAS,EAAE,KAAK,EAAE,UAAU,IAAI,cAAc;YAC9C,SAAS;SACV,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC;CACH;AA7bD,kCA6bC"}