@tinyrack/issuary-server 0.30.0 → 0.32.1

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 (478) hide show
  1. package/dist/entities/auth-budget.entity.d.ts +20 -0
  2. package/dist/entities/auth-budget.entity.d.ts.map +1 -0
  3. package/dist/entities/auth-budget.entity.js +11 -0
  4. package/dist/entities/auth-budget.entity.js.map +1 -0
  5. package/dist/entities/browser-session.entity.d.ts +32 -0
  6. package/dist/entities/browser-session.entity.d.ts.map +1 -0
  7. package/dist/entities/browser-session.entity.js +12 -0
  8. package/dist/entities/browser-session.entity.js.map +1 -0
  9. package/dist/entities/email-verification.entity.d.ts +18 -0
  10. package/dist/entities/email-verification.entity.d.ts.map +1 -1
  11. package/dist/entities/email-verification.entity.js +2 -0
  12. package/dist/entities/email-verification.entity.js.map +1 -1
  13. package/dist/entities/oauth-client.entity.d.ts +120 -0
  14. package/dist/entities/oauth-client.entity.d.ts.map +1 -1
  15. package/dist/entities/oauth-code.entity.d.ts +120 -0
  16. package/dist/entities/oauth-code.entity.d.ts.map +1 -1
  17. package/dist/entities/oauth-code.entity.js +3 -0
  18. package/dist/entities/oauth-code.entity.js.map +1 -1
  19. package/dist/entities/oauth-device-code.entity.d.ts +120 -0
  20. package/dist/entities/oauth-device-code.entity.d.ts.map +1 -1
  21. package/dist/entities/oauth-device-code.entity.js +3 -0
  22. package/dist/entities/oauth-device-code.entity.js.map +1 -1
  23. package/dist/entities/oauth-grant.entity.d.ts +52 -0
  24. package/dist/entities/oauth-grant.entity.d.ts.map +1 -0
  25. package/dist/entities/oauth-grant.entity.js +19 -0
  26. package/dist/entities/oauth-grant.entity.js.map +1 -0
  27. package/dist/entities/password-reset.entity.d.ts +18 -0
  28. package/dist/entities/password-reset.entity.d.ts.map +1 -1
  29. package/dist/entities/password-reset.entity.js +2 -0
  30. package/dist/entities/password-reset.entity.js.map +1 -1
  31. package/dist/entities/pending-oauth-registration.entity.d.ts +9 -0
  32. package/dist/entities/pending-oauth-registration.entity.d.ts.map +1 -1
  33. package/dist/entities/pending-oauth-registration.entity.js +1 -0
  34. package/dist/entities/pending-oauth-registration.entity.js.map +1 -1
  35. package/dist/entities/revoked-token.entity.d.ts +120 -0
  36. package/dist/entities/revoked-token.entity.d.ts.map +1 -1
  37. package/dist/entities/terms-content.entity.d.ts +36 -0
  38. package/dist/entities/terms-content.entity.d.ts.map +1 -1
  39. package/dist/entities/terms.entity.d.ts +36 -0
  40. package/dist/entities/terms.entity.d.ts.map +1 -1
  41. package/dist/entities/user-consent.entity.d.ts +120 -0
  42. package/dist/entities/user-consent.entity.d.ts.map +1 -1
  43. package/dist/entities/user-terms-consent.entity.d.ts +36 -0
  44. package/dist/entities/user-terms-consent.entity.d.ts.map +1 -1
  45. package/dist/entities/user-totp-recovery-code.entity.d.ts +36 -0
  46. package/dist/entities/user-totp-recovery-code.entity.d.ts.map +1 -1
  47. package/dist/entities/user-totp.entity.d.ts +36 -0
  48. package/dist/entities/user-totp.entity.d.ts.map +1 -1
  49. package/dist/entities/user-totp.entity.js +1 -0
  50. package/dist/entities/user-totp.entity.js.map +1 -1
  51. package/dist/entities/user.entity.d.ts +36 -0
  52. package/dist/entities/user.entity.d.ts.map +1 -1
  53. package/dist/entities/user.entity.js +3 -0
  54. package/dist/entities/user.entity.js.map +1 -1
  55. package/dist/entrypoints/app.d.ts +438 -424
  56. package/dist/entrypoints/app.d.ts.map +1 -1
  57. package/dist/entrypoints/app.js +78 -6
  58. package/dist/entrypoints/app.js.map +1 -1
  59. package/dist/entrypoints/database/postgres/compiled-functions.d.ts +326 -200
  60. package/dist/entrypoints/database/postgres/compiled-functions.js +1849 -518
  61. package/dist/entrypoints/database/postgres/compiled-functions.js.map +1 -1
  62. package/dist/entrypoints/database/sqlite/compiled-functions.d.ts +326 -200
  63. package/dist/entrypoints/database/sqlite/compiled-functions.js +1849 -518
  64. package/dist/entrypoints/database/sqlite/compiled-functions.js.map +1 -1
  65. package/dist/entrypoints/database/sqlite/sqlite.d.ts.map +1 -1
  66. package/dist/entrypoints/database/sqlite/sqlite.js +1 -0
  67. package/dist/entrypoints/database/sqlite/sqlite.js.map +1 -1
  68. package/dist/entrypoints/scheduler/database.d.ts +3 -1
  69. package/dist/entrypoints/scheduler/database.d.ts.map +1 -1
  70. package/dist/entrypoints/scheduler/database.js +13 -2
  71. package/dist/entrypoints/scheduler/database.js.map +1 -1
  72. package/dist/entrypoints/scheduler/distributed-runner.d.ts +4 -0
  73. package/dist/entrypoints/scheduler/distributed-runner.d.ts.map +1 -1
  74. package/dist/entrypoints/scheduler/distributed-runner.js +26 -1
  75. package/dist/entrypoints/scheduler/distributed-runner.js.map +1 -1
  76. package/dist/lib/config/client.js +1 -1
  77. package/dist/lib/config/client.js.map +1 -1
  78. package/dist/lib/config/email.d.ts +1 -0
  79. package/dist/lib/config/email.d.ts.map +1 -1
  80. package/dist/lib/config/email.js.map +1 -1
  81. package/dist/lib/database/entities.d.ts.map +1 -1
  82. package/dist/lib/database/entities.js +6 -0
  83. package/dist/lib/database/entities.js.map +1 -1
  84. package/dist/lib/openapi.d.ts +2 -0
  85. package/dist/lib/openapi.d.ts.map +1 -1
  86. package/dist/lib/openapi.js +36 -1
  87. package/dist/lib/openapi.js.map +1 -1
  88. package/dist/lib/request-ip.d.ts +4 -0
  89. package/dist/lib/request-ip.d.ts.map +1 -0
  90. package/dist/lib/request-ip.js +39 -0
  91. package/dist/lib/request-ip.js.map +1 -0
  92. package/dist/middleware/auth-budget.d.ts +3 -0
  93. package/dist/middleware/auth-budget.d.ts.map +1 -0
  94. package/dist/middleware/auth-budget.js +80 -0
  95. package/dist/middleware/auth-budget.js.map +1 -0
  96. package/dist/middleware/session.d.ts +23 -5
  97. package/dist/middleware/session.d.ts.map +1 -1
  98. package/dist/middleware/session.js +152 -12
  99. package/dist/middleware/session.js.map +1 -1
  100. package/dist/middleware/strict-input.d.ts +4 -0
  101. package/dist/middleware/strict-input.d.ts.map +1 -0
  102. package/dist/middleware/strict-input.js +144 -0
  103. package/dist/middleware/strict-input.js.map +1 -0
  104. package/dist/migrations/postgres/Migration20260910120000_api_security.d.ts +6 -0
  105. package/dist/migrations/postgres/Migration20260910120000_api_security.d.ts.map +1 -0
  106. package/dist/migrations/postgres/Migration20260910120000_api_security.js +20 -0
  107. package/dist/migrations/postgres/Migration20260910120000_api_security.js.map +1 -0
  108. package/dist/migrations/postgres/Migration20260910160000_security_followup.d.ts +6 -0
  109. package/dist/migrations/postgres/Migration20260910160000_security_followup.d.ts.map +1 -0
  110. package/dist/migrations/postgres/Migration20260910160000_security_followup.js +23 -0
  111. package/dist/migrations/postgres/Migration20260910160000_security_followup.js.map +1 -0
  112. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.d.ts +6 -0
  113. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.d.ts.map +1 -0
  114. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.js +28 -0
  115. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.js.map +1 -0
  116. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.d.ts +6 -0
  117. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.d.ts.map +1 -0
  118. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.js +19 -0
  119. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.js.map +1 -0
  120. package/dist/migrations/postgres/index.d.ts.map +1 -1
  121. package/dist/migrations/postgres/index.js +8 -0
  122. package/dist/migrations/postgres/index.js.map +1 -1
  123. package/dist/migrations/sqlite/Migration20260910120000_api_security.d.ts +6 -0
  124. package/dist/migrations/sqlite/Migration20260910120000_api_security.d.ts.map +1 -0
  125. package/dist/migrations/sqlite/Migration20260910120000_api_security.js +20 -0
  126. package/dist/migrations/sqlite/Migration20260910120000_api_security.js.map +1 -0
  127. package/dist/migrations/sqlite/Migration20260910160000_security_followup.d.ts +6 -0
  128. package/dist/migrations/sqlite/Migration20260910160000_security_followup.d.ts.map +1 -0
  129. package/dist/migrations/sqlite/Migration20260910160000_security_followup.js +23 -0
  130. package/dist/migrations/sqlite/Migration20260910160000_security_followup.js.map +1 -0
  131. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.d.ts +8 -0
  132. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.d.ts.map +1 -0
  133. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.js +72 -0
  134. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.js.map +1 -0
  135. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.d.ts +6 -0
  136. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.d.ts.map +1 -0
  137. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.js +19 -0
  138. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.js.map +1 -0
  139. package/dist/migrations/sqlite/index.d.ts.map +1 -1
  140. package/dist/migrations/sqlite/index.js +8 -0
  141. package/dist/migrations/sqlite/index.js.map +1 -1
  142. package/dist/repositories/email-verification.repository.d.ts +1 -0
  143. package/dist/repositories/email-verification.repository.d.ts.map +1 -1
  144. package/dist/repositories/email-verification.repository.js +8 -17
  145. package/dist/repositories/email-verification.repository.js.map +1 -1
  146. package/dist/repositories/oauth-code.repository.d.ts +2 -0
  147. package/dist/repositories/oauth-code.repository.d.ts.map +1 -1
  148. package/dist/repositories/oauth-code.repository.js +8 -0
  149. package/dist/repositories/oauth-code.repository.js.map +1 -1
  150. package/dist/repositories/oauth-device-code.repository.d.ts +3 -0
  151. package/dist/repositories/oauth-device-code.repository.d.ts.map +1 -1
  152. package/dist/repositories/oauth-device-code.repository.js +64 -29
  153. package/dist/repositories/oauth-device-code.repository.js.map +1 -1
  154. package/dist/repositories/password-reset.repository.d.ts +1 -0
  155. package/dist/repositories/password-reset.repository.d.ts.map +1 -1
  156. package/dist/repositories/password-reset.repository.js +6 -19
  157. package/dist/repositories/password-reset.repository.js.map +1 -1
  158. package/dist/repositories/pending-oauth-registration.repository.d.ts +2 -0
  159. package/dist/repositories/pending-oauth-registration.repository.d.ts.map +1 -1
  160. package/dist/repositories/pending-oauth-registration.repository.js +16 -2
  161. package/dist/repositories/pending-oauth-registration.repository.js.map +1 -1
  162. package/dist/repositories/terms.repository.d.ts.map +1 -1
  163. package/dist/repositories/terms.repository.js +1 -0
  164. package/dist/repositories/terms.repository.js.map +1 -1
  165. package/dist/repositories/user-consent.repository.d.ts.map +1 -1
  166. package/dist/repositories/user-consent.repository.js +9 -3
  167. package/dist/repositories/user-consent.repository.js.map +1 -1
  168. package/dist/repositories/user-terms-consent.repository.d.ts.map +1 -1
  169. package/dist/repositories/user-terms-consent.repository.js +2 -0
  170. package/dist/repositories/user-terms-consent.repository.js.map +1 -1
  171. package/dist/repositories/user-totp-recovery-code.repository.d.ts +24 -0
  172. package/dist/repositories/user-totp-recovery-code.repository.d.ts.map +1 -1
  173. package/dist/repositories/user-totp.repository.d.ts +36 -0
  174. package/dist/repositories/user-totp.repository.d.ts.map +1 -1
  175. package/dist/routes/.well-known/openid-configuration/get.d.ts.map +1 -1
  176. package/dist/routes/.well-known/openid-configuration/get.js +5 -1
  177. package/dist/routes/.well-known/openid-configuration/get.js.map +1 -1
  178. package/dist/routes/api/admin/console/index.d.ts.map +1 -1
  179. package/dist/routes/api/admin/console/index.js +29 -14
  180. package/dist/routes/api/admin/console/index.js.map +1 -1
  181. package/dist/routes/api/admin/me/get.js +2 -3
  182. package/dist/routes/api/admin/me/get.js.map +1 -1
  183. package/dist/routes/api/admin/users/index.d.ts.map +1 -1
  184. package/dist/routes/api/admin/users/index.js +59 -52
  185. package/dist/routes/api/admin/users/index.js.map +1 -1
  186. package/dist/routes/api/auth/accounts/select.post.d.ts +6 -6
  187. package/dist/routes/api/auth/email/resend/post.d.ts.map +1 -1
  188. package/dist/routes/api/auth/email/resend/post.js +3 -24
  189. package/dist/routes/api/auth/email/resend/post.js.map +1 -1
  190. package/dist/routes/api/auth/email/verify/post.d.ts.map +1 -1
  191. package/dist/routes/api/auth/email/verify/post.js +29 -12
  192. package/dist/routes/api/auth/email/verify/post.js.map +1 -1
  193. package/dist/routes/api/auth/login/post.d.ts.map +1 -1
  194. package/dist/routes/api/auth/login/post.js +4 -3
  195. package/dist/routes/api/auth/login/post.js.map +1 -1
  196. package/dist/routes/api/auth/passkey/verify/post.d.ts.map +1 -1
  197. package/dist/routes/api/auth/passkey/verify/post.js +25 -11
  198. package/dist/routes/api/auth/passkey/verify/post.js.map +1 -1
  199. package/dist/routes/api/auth/password/forgot/post.d.ts.map +1 -1
  200. package/dist/routes/api/auth/password/forgot/post.js +2 -19
  201. package/dist/routes/api/auth/password/forgot/post.js.map +1 -1
  202. package/dist/routes/api/auth/register/post.d.ts.map +1 -1
  203. package/dist/routes/api/auth/register/post.js +4 -3
  204. package/dist/routes/api/auth/register/post.js.map +1 -1
  205. package/dist/routes/api/auth/totp/recovery/verify/post.d.ts.map +1 -1
  206. package/dist/routes/api/auth/totp/recovery/verify/post.js +7 -5
  207. package/dist/routes/api/auth/totp/recovery/verify/post.js.map +1 -1
  208. package/dist/routes/api/auth/totp/verify/post.d.ts.map +1 -1
  209. package/dist/routes/api/auth/totp/verify/post.js +7 -5
  210. package/dist/routes/api/auth/totp/verify/post.js.map +1 -1
  211. package/dist/routes/api/consent/get.d.ts +3 -0
  212. package/dist/routes/api/consent/get.d.ts.map +1 -1
  213. package/dist/routes/api/consent/get.js +26 -4
  214. package/dist/routes/api/consent/get.js.map +1 -1
  215. package/dist/routes/api/consent/index.d.ts +3 -0
  216. package/dist/routes/api/consent/index.d.ts.map +1 -1
  217. package/dist/routes/api/consent/post.d.ts.map +1 -1
  218. package/dist/routes/api/consent/post.js +142 -114
  219. package/dist/routes/api/consent/post.js.map +1 -1
  220. package/dist/routes/api/docs/get.d.ts.map +1 -1
  221. package/dist/routes/api/docs/get.js +8 -1
  222. package/dist/routes/api/docs/get.js.map +1 -1
  223. package/dist/routes/api/index.d.ts +382 -379
  224. package/dist/routes/api/index.d.ts.map +1 -1
  225. package/dist/routes/api/oauth/_provider/authorize/get.d.ts.map +1 -1
  226. package/dist/routes/api/oauth/_provider/authorize/get.js +5 -1
  227. package/dist/routes/api/oauth/_provider/authorize/get.js.map +1 -1
  228. package/dist/routes/api/oauth/_provider/callback/get.d.ts.map +1 -1
  229. package/dist/routes/api/oauth/_provider/callback/get.js +30 -6
  230. package/dist/routes/api/oauth/_provider/callback/get.js.map +1 -1
  231. package/dist/routes/api/oauth/_provider/callback/post.d.ts +9 -9
  232. package/dist/routes/api/oauth/_provider/callback/post.d.ts.map +1 -1
  233. package/dist/routes/api/oauth/_provider/callback/post.js +31 -31
  234. package/dist/routes/api/oauth/_provider/callback/post.js.map +1 -1
  235. package/dist/routes/api/oauth/_provider/delete.d.ts.map +1 -1
  236. package/dist/routes/api/oauth/_provider/delete.js +14 -11
  237. package/dist/routes/api/oauth/_provider/delete.js.map +1 -1
  238. package/dist/routes/api/terms/consent/post.d.ts.map +1 -1
  239. package/dist/routes/api/terms/consent/post.js +59 -43
  240. package/dist/routes/api/terms/consent/post.js.map +1 -1
  241. package/dist/routes/api/user/delete.d.ts.map +1 -1
  242. package/dist/routes/api/user/delete.js +8 -8
  243. package/dist/routes/api/user/delete.js.map +1 -1
  244. package/dist/routes/api/user/passkeys/_id/delete.d.ts.map +1 -1
  245. package/dist/routes/api/user/passkeys/_id/delete.js +17 -29
  246. package/dist/routes/api/user/passkeys/_id/delete.js.map +1 -1
  247. package/dist/routes/api/user/passkeys/_id/patch.d.ts.map +1 -1
  248. package/dist/routes/api/user/passkeys/_id/patch.js +16 -13
  249. package/dist/routes/api/user/passkeys/_id/patch.js.map +1 -1
  250. package/dist/routes/api/user/passkeys/register/verify/post.d.ts.map +1 -1
  251. package/dist/routes/api/user/passkeys/register/verify/post.js +27 -19
  252. package/dist/routes/api/user/passkeys/register/verify/post.js.map +1 -1
  253. package/dist/routes/api/user/password/delete.d.ts.map +1 -1
  254. package/dist/routes/api/user/password/delete.js +13 -10
  255. package/dist/routes/api/user/password/delete.js.map +1 -1
  256. package/dist/routes/api/user/password/post.d.ts.map +1 -1
  257. package/dist/routes/api/user/password/post.js +13 -10
  258. package/dist/routes/api/user/password/post.js.map +1 -1
  259. package/dist/routes/api/user/password/put.d.ts.map +1 -1
  260. package/dist/routes/api/user/password/put.js +13 -10
  261. package/dist/routes/api/user/password/put.js.map +1 -1
  262. package/dist/routes/api/user/totp/confirm/post.d.ts.map +1 -1
  263. package/dist/routes/api/user/totp/confirm/post.js +33 -18
  264. package/dist/routes/api/user/totp/confirm/post.js.map +1 -1
  265. package/dist/routes/api/user/totp/delete.d.ts.map +1 -1
  266. package/dist/routes/api/user/totp/delete.js +13 -18
  267. package/dist/routes/api/user/totp/delete.js.map +1 -1
  268. package/dist/routes/api/user/totp/recovery/regenerate/post.d.ts.map +1 -1
  269. package/dist/routes/api/user/totp/recovery/regenerate/post.js +13 -10
  270. package/dist/routes/api/user/totp/recovery/regenerate/post.js.map +1 -1
  271. package/dist/routes/api/user/totp/setup/post.d.ts.map +1 -1
  272. package/dist/routes/api/user/totp/setup/post.js +13 -8
  273. package/dist/routes/api/user/totp/setup/post.js.map +1 -1
  274. package/dist/routes/api/user/totp/verify/post.d.ts.map +1 -1
  275. package/dist/routes/api/user/totp/verify/post.js +23 -12
  276. package/dist/routes/api/user/totp/verify/post.js.map +1 -1
  277. package/dist/routes/index.d.ts +243 -230
  278. package/dist/routes/index.d.ts.map +1 -1
  279. package/dist/routes/oauth/authorize/get.d.ts.map +1 -1
  280. package/dist/routes/oauth/authorize/get.js +12 -4
  281. package/dist/routes/oauth/authorize/get.js.map +1 -1
  282. package/dist/routes/oauth/device/get-post.d.ts +10 -0
  283. package/dist/routes/oauth/device/get-post.d.ts.map +1 -1
  284. package/dist/routes/oauth/device/get-post.js +32 -3
  285. package/dist/routes/oauth/device/get-post.js.map +1 -1
  286. package/dist/routes/oauth/device-authorization/post.d.ts.map +1 -1
  287. package/dist/routes/oauth/device-authorization/post.js +13 -7
  288. package/dist/routes/oauth/device-authorization/post.js.map +1 -1
  289. package/dist/routes/oauth/end-session/get.d.ts +9 -9
  290. package/dist/routes/oauth/end-session/get.d.ts.map +1 -1
  291. package/dist/routes/oauth/end-session/get.js +2 -3
  292. package/dist/routes/oauth/end-session/get.js.map +1 -1
  293. package/dist/routes/oauth/index.d.ts +19 -9
  294. package/dist/routes/oauth/index.d.ts.map +1 -1
  295. package/dist/routes/oauth/revoke/post.d.ts.map +1 -1
  296. package/dist/routes/oauth/revoke/post.js +10 -2
  297. package/dist/routes/oauth/revoke/post.js.map +1 -1
  298. package/dist/routes/oauth/token/post.d.ts.map +1 -1
  299. package/dist/routes/oauth/token/post.js +69 -57
  300. package/dist/routes/oauth/token/post.js.map +1 -1
  301. package/dist/schemas/error.d.ts +75 -0
  302. package/dist/schemas/error.d.ts.map +1 -1
  303. package/dist/schemas/error.js +3 -0
  304. package/dist/schemas/error.js.map +1 -1
  305. package/dist/schemas/field.d.ts.map +1 -1
  306. package/dist/schemas/field.js +3 -0
  307. package/dist/schemas/field.js.map +1 -1
  308. package/dist/seeders/config.seeder.d.ts +1 -1
  309. package/dist/seeders/config.seeder.d.ts.map +1 -1
  310. package/dist/seeders/config.seeder.js +100 -36
  311. package/dist/seeders/config.seeder.js.map +1 -1
  312. package/dist/services/admin-console.service.d.ts.map +1 -1
  313. package/dist/services/admin-console.service.js +137 -100
  314. package/dist/services/admin-console.service.js.map +1 -1
  315. package/dist/services/auth-budget.service.d.ts +6 -0
  316. package/dist/services/auth-budget.service.d.ts.map +1 -0
  317. package/dist/services/auth-budget.service.js +30 -0
  318. package/dist/services/auth-budget.service.js.map +1 -0
  319. package/dist/services/authentication-epoch.d.ts +5 -0
  320. package/dist/services/authentication-epoch.d.ts.map +1 -0
  321. package/dist/services/authentication-epoch.js +22 -0
  322. package/dist/services/authentication-epoch.js.map +1 -0
  323. package/dist/services/authorization-browser.service.d.ts +18 -0
  324. package/dist/services/authorization-browser.service.d.ts.map +1 -0
  325. package/dist/services/authorization-browser.service.js +28 -0
  326. package/dist/services/authorization-browser.service.js.map +1 -0
  327. package/dist/services/browser-security.service.d.ts +14 -0
  328. package/dist/services/browser-security.service.d.ts.map +1 -0
  329. package/dist/services/browser-security.service.js +85 -0
  330. package/dist/services/browser-security.service.js.map +1 -0
  331. package/dist/services/browser-session.service.d.ts +25 -0
  332. package/dist/services/browser-session.service.d.ts.map +1 -0
  333. package/dist/services/browser-session.service.js +102 -0
  334. package/dist/services/browser-session.service.js.map +1 -0
  335. package/dist/services/cleanup.service.d.ts +1 -0
  336. package/dist/services/cleanup.service.d.ts.map +1 -1
  337. package/dist/services/cleanup.service.js +31 -0
  338. package/dist/services/cleanup.service.js.map +1 -1
  339. package/dist/services/client-security.d.ts +641 -0
  340. package/dist/services/client-security.d.ts.map +1 -0
  341. package/dist/services/client-security.js +10 -0
  342. package/dist/services/client-security.js.map +1 -0
  343. package/dist/services/container.d.ts +2 -0
  344. package/dist/services/container.d.ts.map +1 -1
  345. package/dist/services/container.js +7 -3
  346. package/dist/services/container.js.map +1 -1
  347. package/dist/services/email.service.d.ts +2 -14
  348. package/dist/services/email.service.d.ts.map +1 -1
  349. package/dist/services/email.service.js +35 -29
  350. package/dist/services/email.service.js.map +1 -1
  351. package/dist/services/jwt.service.d.ts +1 -0
  352. package/dist/services/jwt.service.d.ts.map +1 -1
  353. package/dist/services/jwt.service.js +13 -1
  354. package/dist/services/jwt.service.js.map +1 -1
  355. package/dist/services/mail-queue.service.d.ts +24 -0
  356. package/dist/services/mail-queue.service.d.ts.map +1 -0
  357. package/dist/services/mail-queue.service.js +223 -0
  358. package/dist/services/mail-queue.service.js.map +1 -0
  359. package/dist/services/mikro.service.d.ts.map +1 -1
  360. package/dist/services/mikro.service.js +2 -0
  361. package/dist/services/mikro.service.js.map +1 -1
  362. package/dist/services/oauth-authorize.service.d.ts +6 -1
  363. package/dist/services/oauth-authorize.service.d.ts.map +1 -1
  364. package/dist/services/oauth-authorize.service.js +136 -77
  365. package/dist/services/oauth-authorize.service.js.map +1 -1
  366. package/dist/services/oauth-browser-security.service.d.ts +7 -0
  367. package/dist/services/oauth-browser-security.service.d.ts.map +1 -0
  368. package/dist/services/oauth-browser-security.service.js +67 -0
  369. package/dist/services/oauth-browser-security.service.js.map +1 -0
  370. package/dist/services/oauth-client.service.d.ts +24 -1
  371. package/dist/services/oauth-client.service.d.ts.map +1 -1
  372. package/dist/services/oauth-client.service.js +52 -13
  373. package/dist/services/oauth-client.service.js.map +1 -1
  374. package/dist/services/oauth-connect.service.d.ts +37 -3
  375. package/dist/services/oauth-connect.service.d.ts.map +1 -1
  376. package/dist/services/oauth-connect.service.js +236 -212
  377. package/dist/services/oauth-connect.service.js.map +1 -1
  378. package/dist/services/oauth-token.service.d.ts +6 -4
  379. package/dist/services/oauth-token.service.d.ts.map +1 -1
  380. package/dist/services/oauth-token.service.js +295 -209
  381. package/dist/services/oauth-token.service.js.map +1 -1
  382. package/dist/services/passkey.service.d.ts +26 -7
  383. package/dist/services/passkey.service.d.ts.map +1 -1
  384. package/dist/services/passkey.service.js +71 -42
  385. package/dist/services/passkey.service.js.map +1 -1
  386. package/dist/services/password-auth.service.d.ts +5 -1
  387. package/dist/services/password-auth.service.d.ts.map +1 -1
  388. package/dist/services/password-auth.service.js +79 -52
  389. package/dist/services/password-auth.service.js.map +1 -1
  390. package/dist/services/password-reset.service.d.ts.map +1 -1
  391. package/dist/services/password-reset.service.js +34 -15
  392. package/dist/services/password-reset.service.js.map +1 -1
  393. package/dist/services/security.service.d.ts +3 -1
  394. package/dist/services/security.service.d.ts.map +1 -1
  395. package/dist/services/security.service.js +11 -2
  396. package/dist/services/security.service.js.map +1 -1
  397. package/dist/services/terms-policy.service.d.ts +7 -0
  398. package/dist/services/terms-policy.service.d.ts.map +1 -0
  399. package/dist/services/terms-policy.service.js +26 -0
  400. package/dist/services/terms-policy.service.js.map +1 -0
  401. package/dist/services/terms.service.d.ts.map +1 -1
  402. package/dist/services/terms.service.js +3 -2
  403. package/dist/services/terms.service.js.map +1 -1
  404. package/dist/services/totp.service.d.ts +4 -5
  405. package/dist/services/totp.service.d.ts.map +1 -1
  406. package/dist/services/totp.service.js +116 -86
  407. package/dist/services/totp.service.js.map +1 -1
  408. package/dist/services/user-consent.service.d.ts +12 -0
  409. package/dist/services/user-consent.service.d.ts.map +1 -1
  410. package/dist/services/user-consent.service.js +19 -1
  411. package/dist/services/user-consent.service.js.map +1 -1
  412. package/dist/services/user-security.service.d.ts +15 -0
  413. package/dist/services/user-security.service.d.ts.map +1 -0
  414. package/dist/services/user-security.service.js +57 -0
  415. package/dist/services/user-security.service.js.map +1 -0
  416. package/dist/services/user.service.d.ts +6 -4
  417. package/dist/services/user.service.d.ts.map +1 -1
  418. package/dist/services/user.service.js +143 -121
  419. package/dist/services/user.service.js.map +1 -1
  420. package/frontend/client/assets/{auth-layout-B4h13HhN.js → auth-layout-sea6nww4.js} +1 -1
  421. package/frontend/client/assets/{auth-page-header-BVY4zRzF.js → auth-page-header-CV85AJLW.js} +1 -1
  422. package/frontend/client/assets/document-navigation-FZbb5ldf.js +1 -0
  423. package/frontend/client/assets/i18n-vfKY-byx.js +1 -0
  424. package/frontend/client/assets/language-selector-Jso2cQNI.js +1 -0
  425. package/frontend/client/assets/manifest-90703545.js +1 -0
  426. package/frontend/client/assets/oauth-search-DebNssaC.js +1 -0
  427. package/frontend/client/assets/{passkey-CWcdr7Vy.js → passkey-CJhT-7yO.js} +1 -1
  428. package/frontend/client/assets/{promise-EbDcmV0j.js → promise-BP9iSIs-.js} +1 -1
  429. package/frontend/client/assets/{root-C2SlHCkE.js → root-BkavuloG.js} +1 -1
  430. package/frontend/client/assets/{route-3gQ9Nsqa.js → route-B0udr9eT.js} +1 -1
  431. package/frontend/client/assets/route-B3Uv9aTa.js +1 -0
  432. package/frontend/client/assets/{route-DSD60oyb.js → route-B6hIfgxz.js} +1 -1
  433. package/frontend/client/assets/{route-DO38I3ML.js → route-BEWds2g-.js} +1 -1
  434. package/frontend/client/assets/route-Bm9LsorH.js +1 -0
  435. package/frontend/client/assets/route-Btv5Y69z.js +1 -0
  436. package/frontend/client/assets/route-BvyDzziE.js +1 -0
  437. package/frontend/client/assets/route-C6kG9u7j.js +1 -0
  438. package/frontend/client/assets/route-C7C3Z0vI.js +1 -0
  439. package/frontend/client/assets/{route-DQpLeFuG.js → route-CVyefM3x.js} +1 -1
  440. package/frontend/client/assets/{route-CkpB3-_U.js → route-CXth2Wqz.js} +1 -1
  441. package/frontend/client/assets/{route-9FLiqn21.js → route-Clxc1C2d.js} +1 -1
  442. package/frontend/client/assets/route-D0IqOurp.js +1 -0
  443. package/frontend/client/assets/route-DHmYUnJR.js +1 -0
  444. package/frontend/client/assets/route-DTjZQ_Fl.js +1 -0
  445. package/frontend/client/assets/route-D_dTeu1b.js +1 -0
  446. package/frontend/client/assets/{route-CrswLAAa.js → route-Dj8gVemC.js} +1 -1
  447. package/frontend/client/assets/{route-BUM2hTU8.js → route-DnhPlHOi.js} +1 -1
  448. package/frontend/client/assets/route-FY92YQhF.js +1 -0
  449. package/frontend/client/assets/{route-DH6kQz8L.js → route-PcLpZHbT.js} +1 -1
  450. package/frontend/client/assets/{route-bKG0wKRh.js → route-qpE7i22X.js} +1 -1
  451. package/frontend/client/assets/{route-3IIrVTOK.js → route-wK89gmoS.js} +1 -1
  452. package/frontend/client/assets/security-error-message-CMsTsiWf.js +1 -0
  453. package/frontend/client/assets/{shell-header-bar-Bg85QIAq.js → shell-header-bar-DRx10tE5.js} +1 -1
  454. package/frontend/client/assets/{terms-DV0oDTRf.js → terms-Bu9Itxxs.js} +1 -1
  455. package/frontend/client/assets/{use-totp-setup-D7XZ6Nos.js → use-totp-setup-CoOXWOcT.js} +1 -1
  456. package/frontend/server/assets/{hydration-Cvbp7-6s.js → hydration-DWMjpNav.js} +1 -1
  457. package/frontend/server/assets/{root-loader.server-DaTcVcNU.js → root-loader.server-B4OqoLGG.js} +3 -3
  458. package/frontend/server/assets/{route-runtime.server-CEa264cW.js → route-runtime.server-03_pjVDT.js} +1 -1
  459. package/frontend/server/assets/{session-QqvIIQ6R.js → session-sJkmzJie.js} +51 -57
  460. package/frontend/server/index.js +337 -403
  461. package/package.json +1 -1
  462. package/frontend/client/assets/authorization-context-banner-az4f8FCY.js +0 -1
  463. package/frontend/client/assets/document-navigation-Cnp3Alf0.js +0 -1
  464. package/frontend/client/assets/i18n-CMepi_uj.js +0 -1
  465. package/frontend/client/assets/language-selector-Chn-k7Pw.js +0 -1
  466. package/frontend/client/assets/manifest-8c4a603f.js +0 -1
  467. package/frontend/client/assets/oauth-search-DybZ6VWp.js +0 -1
  468. package/frontend/client/assets/route-BFU8OK2a.js +0 -1
  469. package/frontend/client/assets/route-BKI6LDOW.js +0 -1
  470. package/frontend/client/assets/route-CusK9Y2K.js +0 -1
  471. package/frontend/client/assets/route-DEVG2czp.js +0 -1
  472. package/frontend/client/assets/route-DjCJn53Y.js +0 -1
  473. package/frontend/client/assets/route-E-_SSP-x.js +0 -1
  474. package/frontend/client/assets/route-J9z_OG4L.js +0 -1
  475. package/frontend/client/assets/route-LjqDZz5f.js +0 -1
  476. package/frontend/client/assets/route-N586tYcn.js +0 -1
  477. package/frontend/client/assets/route-nHjY3_n0.js +0 -1
  478. package/frontend/client/assets/route-sHm4cfOd.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-security.d.ts","sourceRoot":"","sources":["../../src/services/client-security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAO,MAAM,iBAAiB,CAAC;AAG1D,yFAAyF;AACzF,wBAAsB,eAAe,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sNAQlE"}
@@ -0,0 +1,10 @@
1
+ import { raw } from '@mikro-orm/core';
2
+ import { OAuthClientEntitySchema } from '../entities/oauth-client.entity.js';
3
+ /** Caller owns the transaction. Lifecycle changes and flow consumption use this lock. */
4
+ export async function lockOAuthClient(em, id) {
5
+ const changed = await em.nativeUpdate(OAuthClientEntitySchema, { id }, { updated_at: raw('updated_at') });
6
+ if (changed !== 1)
7
+ return null;
8
+ return em.findOne(OAuthClientEntitySchema, { id }, { refresh: true });
9
+ }
10
+ //# sourceMappingURL=client-security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-security.js","sourceRoot":"","sources":["../../src/services/client-security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAiB,EAAE,EAAU;IACjE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,YAAY,CACnC,uBAAuB,EACvB,EAAE,EAAE,EAAE,EACN,EAAE,UAAU,EAAE,GAAG,CAAO,YAAY,CAAC,EAAE,CACxC,CAAC;IACF,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACxE,CAAC"}
@@ -5,6 +5,7 @@ import { AdminConsoleService } from './admin-console.service.ts';
5
5
  import { CleanupService } from './cleanup.service.ts';
6
6
  import { EmailService } from './email.service.ts';
7
7
  import { JwtService } from './jwt.service.ts';
8
+ import { MailQueueService } from './mail-queue.service.js';
8
9
  import { MikroService } from './mikro.service.ts';
9
10
  import { OAuthAuthorizeService } from './oauth-authorize.service.ts';
10
11
  import { OAuthClientService } from './oauth-client.service.ts';
@@ -213,6 +214,7 @@ export declare function initializeServices(config: IssuaryRuntimeConfig, logger:
213
214
  mikro: MikroService;
214
215
  scheduler: SchedulerService;
215
216
  emailService: EmailService;
217
+ mailQueue: MailQueueService;
216
218
  jwtService: JwtService;
217
219
  passwordAuthService: PasswordAuthService;
218
220
  passwordResetService: PasswordResetService;
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,yBAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuHxC;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,yBAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkIxC;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC"}
@@ -4,6 +4,7 @@ import { AdminConsoleService } from './admin-console.service.js';
4
4
  import { CleanupService } from './cleanup.service.js';
5
5
  import { EmailService } from './email.service.js';
6
6
  import { JwtService } from './jwt.service.js';
7
+ import { MailQueueService } from './mail-queue.service.js';
7
8
  import { MikroService } from './mikro.service.js';
8
9
  import { OAuthAuthorizeService } from './oauth-authorize.service.js';
9
10
  import { OAuthClientService } from './oauth-client.service.js';
@@ -33,16 +34,17 @@ export async function initializeServices(config, logger, options = {}) {
33
34
  // 3. Create services (respecting dependency order)
34
35
  const emailLogger = logger.child({ service: 'email' });
35
36
  const emailService = new EmailService(config, mikro, emailLogger);
37
+ const mailQueue = new MailQueueService(config, mikro, emailService, securityService, emailLogger);
36
38
  const jwtService = new JwtService(config, mikro);
37
- const passwordAuthService = new PasswordAuthService(mikro, securityService, config.auth.password.policy);
39
+ const passwordAuthService = new PasswordAuthService(mikro, securityService, config.auth.password.policy, config);
38
40
  const passwordResetService = new PasswordResetService(mikro, passwordAuthService);
39
41
  const termsService = new TermsService(mikro);
40
42
  const userConsentService = new UserConsentService(mikro);
41
43
  const oauthClientService = new OAuthClientService(mikro, securityService);
42
44
  const totpService = new TotpService(mikro, config, securityService);
43
45
  const passkeyService = new PasskeyService(mikro, config);
44
- const userService = new UserService(mikro, config, emailService, passwordAuthService, termsService);
45
- const oauthAuthorizeService = new OAuthAuthorizeService(config, mikro, oauthClientService, userConsentService, securityService, jwtService);
46
+ const userService = new UserService(mikro, config, mailQueue, passwordAuthService, termsService);
47
+ const oauthAuthorizeService = new OAuthAuthorizeService(config, mikro, oauthClientService, userConsentService, securityService, jwtService, termsService);
46
48
  const oauthConnectService = new OAuthConnectService(config, userService, mikro, termsService);
47
49
  const oauthTokenService = new OAuthTokenService(config, mikro, userService, oauthClientService, jwtService, securityService);
48
50
  const cleanupService = new CleanupService(config, mikro, jwtService);
@@ -61,6 +63,7 @@ export async function initializeServices(config, logger, options = {}) {
61
63
  mikro,
62
64
  scheduler,
63
65
  emailService,
66
+ mailQueue,
64
67
  jwtService,
65
68
  passwordAuthService,
66
69
  passwordResetService,
@@ -77,6 +80,7 @@ export async function initializeServices(config, logger, options = {}) {
77
80
  adminConsoleService,
78
81
  };
79
82
  const cleanup = async () => {
83
+ await mailQueue.stop();
80
84
  await scheduler.stop();
81
85
  await mikro.close();
82
86
  };
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"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"}
@@ -19,26 +19,14 @@ export declare class EmailService {
19
19
  email: string;
20
20
  token: string;
21
21
  locale?: Locale | undefined;
22
+ messageId?: string | undefined;
22
23
  }): Promise<void>;
23
- sendVerificationEmailAsync(params: {
24
- email: string;
25
- token: string;
26
- locale?: Locale | undefined;
27
- }): void;
28
24
  sendPasswordResetEmail(params: {
29
25
  email: string;
30
26
  token: string;
31
27
  locale?: Locale | undefined;
28
+ messageId?: string | undefined;
32
29
  }): Promise<void>;
33
- /**
34
- * Send password reset email asynchronously (fire-and-forget)
35
- * Logs errors but does not throw
36
- */
37
- sendPasswordResetEmailAsync(params: {
38
- email: string;
39
- token: string;
40
- locale?: Locale | undefined;
41
- }): void;
42
30
  /**
43
31
  * Generate email verification token for a user.
44
32
  * Invalidates all previous unverified tokens.
@@ -1 +1 @@
1
- {"version":3,"file":"email.service.d.ts","sourceRoot":"","sources":["../../src/services/email.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAE7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,YACE,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EAYf;IAED;;;OAGG;IACH,OAAO,CAAC,UAAU;IAeL,qBAAqB,CAAC,MAAM,EAAE;QACzC,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhB;IAEM,0BAA0B,CAAC,MAAM,EAAE;QACxC,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GAAG,IAAI,CAIP;IAEY,sBAAsB,CAAC,MAAM,EAAE;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhB;IAED;;;OAGG;IACI,2BAA2B,CAAC,MAAM,EAAE;QACzC,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GAAG,IAAI,CAIP;IAED;;;;OAIG;IACU,aAAa,CAAC,MAAM,EAAE;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CASpC;IAED;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAe3D;IAED;;;;OAIG;IACU,kBAAkB,CAC7B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,wBAAwB,CAAC,CAgBnC;IAED;;;OAGG;IACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUrE;CACF"}
1
+ {"version":3,"file":"email.service.d.ts","sourceRoot":"","sources":["../../src/services/email.service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAEV,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAE7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,YACE,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EAYf;IAED;;;OAGG;IACH,OAAO,CAAC,UAAU;IAeL,qBAAqB,CAAC,MAAM,EAAE;QACzC,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhB;IAEY,sBAAsB,CAAC,MAAM,EAAE;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhB;IAED;;;;OAIG;IACU,aAAa,CAAC,MAAM,EAAE;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAYpC;IAED;;;;OAIG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAmC3D;IAED;;;;OAIG;IACU,kBAAkB,CAC7B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,wBAAwB,CAAC,CAgBnC;IAED;;;OAGG;IACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWrE;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { renderPasswordResetEmail, renderVerificationEmail, } from '../emails/render.js';
2
2
  import { DEFAULT_LOCALE } from '../lib/locale.js';
3
3
  import { e } from '../schemas/error.js';
4
+ import { withUserSecurity } from './user-security.service.js';
4
5
  export class EmailService {
5
6
  transporter;
6
7
  config;
@@ -49,17 +50,13 @@ export class EmailService {
49
50
  await transporter.sendMail({
50
51
  from: this.config.email.from,
51
52
  to: params.email,
53
+ messageId: params.messageId,
52
54
  subject,
53
55
  text,
54
56
  html,
55
57
  });
56
58
  this.logger.info('Verification email sent');
57
59
  }
58
- sendVerificationEmailAsync(params) {
59
- this.sendVerificationEmail(params).catch((err) => {
60
- this.logger.error({ err }, 'Failed to send verification email');
61
- });
62
- }
63
60
  async sendPasswordResetEmail(params) {
64
61
  if (!this.config.email || !this.transporter) {
65
62
  throw new e.EmailNotActivated.Error();
@@ -75,21 +72,13 @@ export class EmailService {
75
72
  await transporter.sendMail({
76
73
  from: this.config.email.from,
77
74
  to: params.email,
75
+ messageId: params.messageId,
78
76
  subject,
79
77
  text,
80
78
  html,
81
79
  });
82
80
  this.logger.info('Password reset email sent');
83
81
  }
84
- /**
85
- * Send password reset email asynchronously (fire-and-forget)
86
- * Logs errors but does not throw
87
- */
88
- sendPasswordResetEmailAsync(params) {
89
- this.sendPasswordResetEmail(params).catch((err) => {
90
- this.logger.error({ err }, 'Failed to send password reset email');
91
- });
92
- }
93
82
  /**
94
83
  * Generate email verification token for a user.
95
84
  * Invalidates all previous unverified tokens.
@@ -99,11 +88,14 @@ export class EmailService {
99
88
  if (!this.config.email) {
100
89
  throw new e.EmailNotActivated.Error();
101
90
  }
102
- const token = await this.mikro.emailVerification.generateToken({
103
- userSub: params.userSub,
104
- expiresInHours: params.expiresInHours || 24,
91
+ return withUserSecurity(this.mikro, params.userSub, async (user) => {
92
+ const token = await this.mikro.emailVerification.generateToken({
93
+ userSub: params.userSub,
94
+ userEpoch: user.token_epoch,
95
+ expiresInHours: params.expiresInHours || 24,
96
+ });
97
+ return token;
105
98
  });
106
- return token;
107
99
  }
108
100
  /**
109
101
  * Verify email with token.
@@ -114,17 +106,30 @@ export class EmailService {
114
106
  if (!this.config.email) {
115
107
  throw new e.EmailNotActivated.Error();
116
108
  }
117
- const verification = await this.mikro.emailVerification.verifyToken(token);
118
- if (!verification) {
109
+ const candidate = await this.mikro.emailVerification.findOne({
110
+ token,
111
+ verified: false,
112
+ revoked_at: null,
113
+ expiresAt: { $gt: new Date() },
114
+ });
115
+ if (!candidate)
119
116
  throw new e.InvalidVerificationToken.Error();
120
- }
121
- const user = await verification.user.load();
122
- if (!user) {
123
- throw new e.UserNotFound.Error();
124
- }
125
- user.email_verified = true;
126
- await this.mikro.em.flush();
127
- return user;
117
+ return withUserSecurity(this.mikro, candidate.user.sub, async (freshUser) => {
118
+ if (freshUser.deleted_at ||
119
+ candidate.user_epoch !== freshUser.token_epoch)
120
+ throw new e.InvalidVerificationToken.Error();
121
+ const verification = await this.mikro.emailVerification.verifyToken(token);
122
+ if (!verification) {
123
+ throw new e.InvalidVerificationToken.Error();
124
+ }
125
+ const user = await verification.user.load();
126
+ if (!user || user.deleted_at) {
127
+ throw new e.UserNotFound.Error();
128
+ }
129
+ user.email_verified = true;
130
+ await this.mikro.em.flush();
131
+ return user;
132
+ }, { includeDeleted: true });
128
133
  }
129
134
  /**
130
135
  * Resend verification email.
@@ -135,7 +140,7 @@ export class EmailService {
135
140
  if (!this.config.email) {
136
141
  throw new e.EmailNotActivated.Error();
137
142
  }
138
- const user = await this.mikro.user.findOneOrFail({ email }, {
143
+ const user = await this.mikro.user.findOneOrFail({ email, deleted_at: null }, {
139
144
  failHandler: () => new e.UserNotFound.Error(),
140
145
  });
141
146
  if (user.email_verified) {
@@ -156,6 +161,7 @@ export class EmailService {
156
161
  const count = await this.mikro.emailVerification.count({
157
162
  user: { sub: userSub },
158
163
  verified: false,
164
+ revoked_at: null,
159
165
  expiresAt: { $gt: new Date() },
160
166
  });
161
167
  return count > 0;
@@ -1 +1 @@
1
- {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../src/services/email.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../src/services/email.service.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,7 @@ interface BaseJWTPayload {
60
60
  grant_id?: string | undefined;
61
61
  /** Opaque OAuth client token generation. */
62
62
  client_epoch?: string | undefined;
63
+ user_epoch?: string | undefined;
63
64
  }
64
65
  /**
65
66
  * Access token payload structure (RFC 6749)
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.service.d.ts","sourceRoot":"","sources":["../../src/services/jwt.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwt.service.d.ts","sourceRoot":"","sources":["../../src/services/jwt.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { decodeJwt, exportJWK, exportPKCS8, exportSPKI, generateKeyPair, importPKCS8, importSPKI, jwtVerify, SignJWT, } from 'jose';
2
2
  import { JwtKeyStatus } from '../entities/jwt-key.entity.js';
3
+ import { OAuthGrantEntitySchema } from '../entities/oauth-grant.entity.js';
3
4
  import { bytesToString, fromBase64Url } from '../lib/base64url.js';
4
5
  import { e } from '../schemas/error.js';
5
6
  /**
@@ -286,6 +287,7 @@ export class JwtService {
286
287
  scope: payload.scope,
287
288
  ...(payload.grant_id ? { grant_id: payload.grant_id } : {}),
288
289
  ...(payload.client_epoch ? { client_epoch: payload.client_epoch } : {}),
290
+ ...(payload.user_epoch ? { user_epoch: payload.user_epoch } : {}),
289
291
  })
290
292
  .setProtectedHeader({ alg: key.algorithm, typ: 'JWT', kid: key.kid })
291
293
  .setJti(jti)
@@ -313,6 +315,7 @@ export class JwtService {
313
315
  scope: payload.scope,
314
316
  ...(payload.grant_id ? { grant_id: payload.grant_id } : {}),
315
317
  ...(payload.client_epoch ? { client_epoch: payload.client_epoch } : {}),
318
+ ...(payload.user_epoch ? { user_epoch: payload.user_epoch } : {}),
316
319
  })
317
320
  .setProtectedHeader({ alg: key.algorithm, typ: 'JWT', kid: key.kid })
318
321
  .setJti(jti)
@@ -422,6 +425,13 @@ export class JwtService {
422
425
  }
423
426
  }
424
427
  if (payload.grant_id) {
428
+ const grant = await this.mikro.em.findOne(OAuthGrantEntitySchema, { id: payload.grant_id }, { refresh: true });
429
+ if (!grant ||
430
+ grant.revoked_at ||
431
+ grant.expires_at <= new Date() ||
432
+ grant.user_sub !== payload.sub ||
433
+ grant.client_id !== payload.client_id)
434
+ throw new Error('Token grant is inactive');
425
435
  const isGrantRevoked = await this.mikro.revokedToken.isGrantRevoked(payload.grant_id);
426
436
  if (isGrantRevoked) {
427
437
  throw new Error('Token family has been revoked');
@@ -476,7 +486,9 @@ export class JwtService {
476
486
  return;
477
487
  }
478
488
  const user = await this.mikro.user.findOne({ sub: payload.sub });
479
- if (!user || user.deleted_at) {
489
+ if (!user ||
490
+ user.deleted_at ||
491
+ (user.token_epoch ?? undefined) !== payload.user_epoch) {
480
492
  throw new Error('Token subject is not active');
481
493
  }
482
494
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.service.js","sourceRoot":"","sources":["../../src/services/jwt.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,UAAU,EACV,eAAe,EACf,WAAW,EACX,UAAU,EAEV,SAAS,EACT,OAAO,GACR,MAAM,MAAM,CAAC;AACd,OAAO,EAAqB,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAuIxC;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,UAAU;IACrB,mCAAmC;IAC3B,cAAc,GAAwB,IAAI,CAAC;IAC3C,kBAAkB,GAAW,CAAC,CAAC;IACtB,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;IAEtD,8DAA8D;IACtD,sBAAsB,GAAiC,IAAI,CAAC;IAEnD,MAAM,CAAuB;IAC7B,KAAK,CAAe;IACrC,YAAY,MAA4B,EAAE,KAAmB;QAC3D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,8EAA8E;IAC9E,8BAA8B;IAC9B,8EAA8E;IAE9E;;;;OAIG;IACH,KAAK,CAAC,eAAe;QACnB,mCAAmC;QACnC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE;YAC/D,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjD,sBAAsB;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE/B,OAAO;YACL,GAAG;YACH,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,OAAO;SACnB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,WAAW;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,OAAO,SAAS,IAAI,MAAM,EAAE,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAEzD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,oDAAoD;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAErD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,kDAAkD;QAClD,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;QAEnE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,YAAY,EAAE,IAAI,IAAI,EAAE;YACxB,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAE5C,cAAc;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;QAEnE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,YAAY,CAAC,IAAI;YACzB,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAE5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,GAAiB;QACjC,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACjC,GAAG,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAEzC,cAAc;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAE7D,gCAAgC;QAChC,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC;YAC7C,aAAa,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,yBAAyB;QACzB,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC;QAED,wBAAwB;QACxB,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAElC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAE5B,cAAc;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,WAAoB;QACtC,MAAM,IAAI,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;QACzE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAEnE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;YAClC,GAAG,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,YAAY,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,cAAc;QACd,IACE,IAAI,CAAC,cAAc;YACnB,GAAG,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,EACjD,CAAC;YACD,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAEjD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,0DAA0D;YAC1D,wDAAwD;YACxD,0CAA0C;YAC1C,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACjC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;oBAChE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,GAAG,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;QAC1C,CAAC;QAED,eAAe;QACf,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAE9B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,GAAiB;QAClC,wBAAwB;QACxB,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAElE,gBAAgB;QAChB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QAEvC,4CAA4C;QAC5C,OAAO;YACL,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK;YACrB,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,GAAG,EAAE,GAAG,CAAC,SAAS;YAClB,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO;QAGX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAErD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE1E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,8EAA8E;IAC9E,gBAAgB;IAChB,8EAA8E;IAE9E;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAA2B;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC;YAC7B,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC;aACC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;aACpE,MAAM,CAAC,GAAG,CAAC;aACX,WAAW,EAAE;aACb,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;aAC5B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE/C,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9C,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAA4B;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEhC,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC;YAC5B,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC;aACC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;aACpE,MAAM,CAAC,GAAG,CAAC;aACX,WAAW,EAAE;aACb,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;aAC5B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;aAC3C,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAErE,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YACxE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI;gBAC1C,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3C,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;SACrD,CAAC;aACC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;aACpE,WAAW,EAAE;aACb,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;aAC5B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;aAC3C,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,qBAAqB;IACrB,8EAA8E;IAE9E;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAE1C,MAAM,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;YAEtD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,OAAO,IAAI,CAAC,sCAAsC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,mCAAmC,CACvC,KAAa;QAEb,OAAO,IAAI,CAAC,sCAAsC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,sCAAsC,CAClD,KAAa,EACb,eAAwB;QAExB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;YAEtD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAAiD;QAEjD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CACjE,OAAO,CAAC,QAAQ,CACjB,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,KAAa;QACrC,2BAA2B;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,MAAM,GAA4B,IAAI,CAAC,KAAK,CAChD,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CACzC,CAAC;QACF,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1E,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,GAAG,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE;YACpD,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa;SACzC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAC7C,OAAiD;QAEjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;YAClD,QAAQ,EAAE,OAAO,CAAC,SAAS;YAC3B,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IACE,OAAO,CAAC,GAAG,KAAK,cAAc;YAC9B,OAAO,CAAC,UAAU,KAAK,oBAAoB,EAC3C,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,OAAmB;QAEnB,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,KAAK,cAAc;YACjC,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;YAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ;YACxC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CACrC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,OAAmB;QAEnB,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,KAAK,eAAe;YAClC,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;YAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ;YACxC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CACrC,CAAC;IACJ,CAAC;IAEO,gBAAgB,CACtB,OAAmB;QAEnB,OAAO,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,0BAA0B;IAC1B,8EAA8E;IAE9E;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,CAAC,GAA4C;QAC7D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE1D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC;QACvD,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,mBAAmB,CAAC,GAEzB;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE3C,8CAA8C;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"jwt.service.js","sourceRoot":"","sources":["../../src/services/jwt.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,UAAU,EACV,eAAe,EACf,WAAW,EACX,UAAU,EAEV,SAAS,EACT,OAAO,GACR,MAAM,MAAM,CAAC;AACd,OAAO,EAAqB,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAC;AAwIxC;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,UAAU;IACrB,mCAAmC;IAC3B,cAAc,GAAwB,IAAI,CAAC;IAC3C,kBAAkB,GAAW,CAAC,CAAC;IACtB,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;IAEtD,8DAA8D;IACtD,sBAAsB,GAAiC,IAAI,CAAC;IAEnD,MAAM,CAAuB;IAC7B,KAAK,CAAe;IACrC,YAAY,MAA4B,EAAE,KAAmB;QAC3D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,8EAA8E;IAC9E,8BAA8B;IAC9B,8EAA8E;IAE9E;;;;OAIG;IACH,KAAK,CAAC,eAAe;QACnB,mCAAmC;QACnC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE;YAC/D,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,qDAAqD;QACrD,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjD,sBAAsB;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE/B,OAAO;YACL,GAAG;YACH,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,OAAO;SACnB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,WAAW;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,OAAO,OAAO,SAAS,IAAI,MAAM,EAAE,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAEzD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,oDAAoD;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAErD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,kDAAkD;QAClD,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;QAEnE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,YAAY,EAAE,IAAI,IAAI,EAAE;YACxB,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAE5C,cAAc;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;QAEnE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,YAAY,CAAC,IAAI;YACzB,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAE5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,GAAiB;QACjC,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACjC,GAAG,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QAEzC,cAAc;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAE7D,gCAAgC;QAChC,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC;YAC7C,aAAa,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,yBAAyB;QACzB,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC;QAED,wBAAwB;QACxB,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;QAElC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAE5B,cAAc;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,WAAoB;QACtC,MAAM,IAAI,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;QACzE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAEnE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;YAClC,GAAG,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,YAAY,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,cAAc;QACd,IACE,IAAI,CAAC,cAAc;YACnB,GAAG,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,EACjD,CAAC;YACD,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;QAED,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAEjD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,0DAA0D;YAC1D,wDAAwD;YACxD,0CAA0C;YAC1C,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACjC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;oBAChE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,GAAG,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;QAC1C,CAAC;QAED,eAAe;QACf,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;QAE9B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,GAAiB;QAClC,wBAAwB;QACxB,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAElE,gBAAgB;QAChB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QAEvC,4CAA4C;QAC5C,OAAO;YACL,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK;YACrB,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,GAAG,EAAE,GAAG,CAAC,SAAS;YAClB,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO;QAGX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAErD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE1E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,8EAA8E;IAC9E,gBAAgB;IAChB,8EAA8E;IAE9E;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAA2B;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC;YAC7B,GAAG,EAAE,cAAc;YACnB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC;aACC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;aACpE,MAAM,CAAC,GAAG,CAAC;aACX,WAAW,EAAE;aACb,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;aAC5B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE/C,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9C,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAA4B;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEhC,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC;YAC5B,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC;aACC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;aACpE,MAAM,CAAC,GAAG,CAAC;aACX,WAAW,EAAE;aACb,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;aAC5B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;aAC3C,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,OAAuB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAErE,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC;YAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YACxE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACpD,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI;gBAC1C,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3C,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;SACrD,CAAC;aACC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;aACpE,WAAW,EAAE;aACb,iBAAiB,CAAC,GAAG,GAAG,GAAG,CAAC;aAC5B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;aAC3C,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,qBAAqB;IACrB,8EAA8E;IAE9E;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAE1C,MAAM,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;YAEtD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,OAAO,IAAI,CAAC,sCAAsC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,mCAAmC,CACvC,KAAa;QAEb,OAAO,IAAI,CAAC,sCAAsC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,sCAAsC,CAClD,KAAa,EACb,eAAwB;QAExB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;YAEtD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAAiD;QAEjD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CACvC,sBAAsB,EACtB,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EACxB,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;YACF,IACE,CAAC,KAAK;gBACN,KAAK,CAAC,UAAU;gBAChB,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE;gBAC9B,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,GAAG;gBAC9B,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;gBAErC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CACjE,OAAO,CAAC,QAAQ,CACjB,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,KAAa;QACrC,2BAA2B;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,MAAM,GAA4B,IAAI,CAAC,KAAK,CAChD,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CACzC,CAAC;QACF,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1E,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,GAAG,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE;YACpD,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa;SACzC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAC7C,OAAiD;QAEjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;YAClD,QAAQ,EAAE,OAAO,CAAC,SAAS;YAC3B,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IACE,OAAO,CAAC,GAAG,KAAK,cAAc;YAC9B,OAAO,CAAC,UAAU,KAAK,oBAAoB,EAC3C,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,IACE,CAAC,IAAI;YACL,IAAI,CAAC,UAAU;YACf,CAAC,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,KAAK,OAAO,CAAC,UAAU,EACtD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,OAAmB;QAEnB,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,KAAK,cAAc;YACjC,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;YAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ;YACxC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CACrC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,OAAmB;QAEnB,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,KAAK,eAAe;YAClC,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;YAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ;YACxC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,CACrC,CAAC;IACJ,CAAC;IAEO,gBAAgB,CACtB,OAAmB;QAEnB,OAAO,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC;YACH,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,0BAA0B;IAC1B,8EAA8E;IAE9E;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,CAAC,GAA4C;QAC7D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAE1D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,CAAC,gCAAgC,CAAC,KAAK,EAAE,CAAC;QACvD,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,mBAAmB,CAAC,GAEzB;QACC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE3C,8CAA8C;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import type { IssuaryRuntimeConfig } from '../lib/config/index.js';
2
+ import type { Locale } from '../lib/locale.js';
3
+ import type { Logger } from '../lib/logger.js';
4
+ import type { EmailService } from './email.service.js';
5
+ import type { MikroService } from './mikro.service.js';
6
+ import type { SecurityService } from './security.service.js';
7
+ export declare class MailQueueService {
8
+ private readonly instanceId;
9
+ private runner;
10
+ private handle;
11
+ private readonly config;
12
+ private readonly mikro;
13
+ private readonly emailService;
14
+ private readonly security;
15
+ private readonly logger;
16
+ constructor(config: IssuaryRuntimeConfig, mikro: MikroService, emailService: EmailService, security: SecurityService, logger: Logger);
17
+ start(): void;
18
+ stop(): Promise<void>;
19
+ /** Explicit drain for embedded workers and deterministic tests; no polling sleeps. */
20
+ runPending(): Promise<void>;
21
+ enqueue(kind: 'verification' | 'password-reset', email: string, locale?: Locale, userSub?: string): Promise<string>;
22
+ private process;
23
+ }
24
+ //# sourceMappingURL=mail-queue.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-queue.service.d.ts","sourceRoot":"","sources":["../../src/services/mail-queue.service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAe7D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,YACE,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM,EAOf;IAED,KAAK,IAAI,IAAI,CAwBZ;IACK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1B;IACD,sFAAsF;IAChF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAEhC;IAEK,OAAO,CACX,IAAI,EAAE,cAAc,GAAG,gBAAgB,EACvC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CA8BjB;YAEa,OAAO;CA6ItB"}