@authup/server-core 1.0.0-beta.46 → 1.0.0-beta.47

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 (438) hide show
  1. package/LICENSE +661 -201
  2. package/README.md +3 -1
  3. package/dist/adapters/database/data-source/index.d.ts +0 -1
  4. package/dist/adapters/database/data-source/index.d.ts.map +1 -1
  5. package/dist/adapters/database/data-source/index.mjs +1 -2
  6. package/dist/adapters/database/domains/client/subscriber.d.ts +3 -6
  7. package/dist/adapters/database/domains/client/subscriber.d.ts.map +1 -1
  8. package/dist/adapters/database/domains/client/subscriber.mjs +21 -39
  9. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-permission/subscriber.d.ts +3 -6
  11. package/dist/adapters/database/domains/client-permission/subscriber.d.ts.map +1 -1
  12. package/dist/adapters/database/domains/client-permission/subscriber.mjs +24 -49
  13. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
  14. package/dist/adapters/database/domains/client-role/subscriber.d.ts +3 -6
  15. package/dist/adapters/database/domains/client-role/subscriber.d.ts.map +1 -1
  16. package/dist/adapters/database/domains/client-role/subscriber.mjs +24 -49
  17. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
  18. package/dist/adapters/database/domains/client-scope/subscriber.d.ts +3 -6
  19. package/dist/adapters/database/domains/client-scope/subscriber.d.ts.map +1 -1
  20. package/dist/adapters/database/domains/client-scope/subscriber.mjs +21 -36
  21. package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -1
  22. package/dist/adapters/database/domains/identity-provider/subscriber.d.ts +3 -6
  23. package/dist/adapters/database/domains/identity-provider/subscriber.d.ts.map +1 -1
  24. package/dist/adapters/database/domains/identity-provider/subscriber.mjs +21 -39
  25. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  26. package/dist/adapters/database/domains/identity-provider-account/subscriber.d.ts +3 -6
  27. package/dist/adapters/database/domains/identity-provider-account/subscriber.d.ts.map +1 -1
  28. package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs +21 -36
  29. package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -1
  30. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.d.ts +3 -6
  31. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.d.ts.map +1 -1
  32. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +21 -36
  33. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
  34. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.d.ts +3 -6
  35. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.d.ts.map +1 -1
  36. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +21 -45
  37. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  38. package/dist/adapters/database/domains/permission/subscriber.d.ts +3 -6
  39. package/dist/adapters/database/domains/permission/subscriber.d.ts.map +1 -1
  40. package/dist/adapters/database/domains/permission/subscriber.mjs +28 -47
  41. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  42. package/dist/adapters/database/domains/policy/subscriber.d.ts +3 -6
  43. package/dist/adapters/database/domains/policy/subscriber.d.ts.map +1 -1
  44. package/dist/adapters/database/domains/policy/subscriber.mjs +21 -36
  45. package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -1
  46. package/dist/adapters/database/domains/policy-attribute/subscriber.d.ts +3 -6
  47. package/dist/adapters/database/domains/policy-attribute/subscriber.d.ts.map +1 -1
  48. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +24 -45
  49. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
  50. package/dist/adapters/database/domains/realm/subscriber.d.ts +3 -6
  51. package/dist/adapters/database/domains/realm/subscriber.d.ts.map +1 -1
  52. package/dist/adapters/database/domains/realm/subscriber.mjs +21 -36
  53. package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -1
  54. package/dist/adapters/database/domains/robot/subscriber.d.ts +3 -6
  55. package/dist/adapters/database/domains/robot/subscriber.d.ts.map +1 -1
  56. package/dist/adapters/database/domains/robot/subscriber.mjs +21 -39
  57. package/dist/adapters/database/domains/robot/subscriber.mjs.map +1 -1
  58. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts +3 -6
  59. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts.map +1 -1
  60. package/dist/adapters/database/domains/robot-permission/subscriber.mjs +24 -49
  61. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +1 -1
  62. package/dist/adapters/database/domains/robot-role/subscriber.d.ts +3 -6
  63. package/dist/adapters/database/domains/robot-role/subscriber.d.ts.map +1 -1
  64. package/dist/adapters/database/domains/robot-role/subscriber.mjs +24 -49
  65. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +1 -1
  66. package/dist/adapters/database/domains/role/subscriber.d.ts +3 -6
  67. package/dist/adapters/database/domains/role/subscriber.d.ts.map +1 -1
  68. package/dist/adapters/database/domains/role/subscriber.mjs +21 -41
  69. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  70. package/dist/adapters/database/domains/role-attribute/subscriber.d.ts +3 -6
  71. package/dist/adapters/database/domains/role-attribute/subscriber.d.ts.map +1 -1
  72. package/dist/adapters/database/domains/role-attribute/subscriber.mjs +24 -45
  73. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  74. package/dist/adapters/database/domains/role-permission/subscriber.d.ts +3 -6
  75. package/dist/adapters/database/domains/role-permission/subscriber.d.ts.map +1 -1
  76. package/dist/adapters/database/domains/role-permission/subscriber.mjs +24 -49
  77. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  78. package/dist/adapters/database/domains/scope/subscriber.d.ts +3 -6
  79. package/dist/adapters/database/domains/scope/subscriber.d.ts.map +1 -1
  80. package/dist/adapters/database/domains/scope/subscriber.mjs +17 -43
  81. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  82. package/dist/adapters/database/domains/user/subscriber.d.ts +3 -6
  83. package/dist/adapters/database/domains/user/subscriber.d.ts.map +1 -1
  84. package/dist/adapters/database/domains/user/subscriber.mjs +21 -39
  85. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  86. package/dist/adapters/database/domains/user-attribute/subscriber.d.ts +3 -6
  87. package/dist/adapters/database/domains/user-attribute/subscriber.d.ts.map +1 -1
  88. package/dist/adapters/database/domains/user-attribute/subscriber.mjs +24 -43
  89. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  90. package/dist/adapters/database/domains/user-permission/subscriber.d.ts +3 -6
  91. package/dist/adapters/database/domains/user-permission/subscriber.d.ts.map +1 -1
  92. package/dist/adapters/database/domains/user-permission/subscriber.mjs +24 -49
  93. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  94. package/dist/adapters/database/domains/user-role/subscriber.d.ts +3 -6
  95. package/dist/adapters/database/domains/user-role/subscriber.d.ts.map +1 -1
  96. package/dist/adapters/database/domains/user-role/subscriber.mjs +24 -49
  97. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  98. package/dist/adapters/database/index.d.ts +1 -0
  99. package/dist/adapters/database/index.d.ts.map +1 -1
  100. package/dist/adapters/database/index.mjs +3 -2
  101. package/dist/adapters/database/subscriber/index.d.ts +3 -0
  102. package/dist/adapters/database/subscriber/index.d.ts.map +1 -0
  103. package/dist/adapters/database/subscriber/index.mjs +5 -0
  104. package/dist/adapters/database/subscriber/module.d.ts +19 -0
  105. package/dist/adapters/database/subscriber/module.d.ts.map +1 -0
  106. package/dist/adapters/database/subscriber/module.mjs +70 -0
  107. package/dist/adapters/database/subscriber/module.mjs.map +1 -0
  108. package/dist/adapters/database/subscriber/types.d.ts +15 -0
  109. package/dist/adapters/database/subscriber/types.d.ts.map +1 -0
  110. package/dist/adapters/database/subscriber/types.mjs +4 -0
  111. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +1 -1
  112. package/dist/adapters/http/controllers/workflows/activate/module.d.ts +8 -1
  113. package/dist/adapters/http/controllers/workflows/activate/module.d.ts.map +1 -1
  114. package/dist/adapters/http/controllers/workflows/activate/module.mjs +20 -1
  115. package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
  116. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
  117. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +16 -37
  118. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  119. package/dist/adapters/http/controllers/workflows/authorize/types.d.ts +2 -0
  120. package/dist/adapters/http/controllers/workflows/authorize/types.d.ts.map +1 -1
  121. package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts +8 -1
  122. package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts.map +1 -1
  123. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +23 -2
  124. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -1
  125. package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts +8 -1
  126. package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts.map +1 -1
  127. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +21 -1
  128. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
  129. package/dist/adapters/http/controllers/workflows/register/module.d.ts +8 -1
  130. package/dist/adapters/http/controllers/workflows/register/module.d.ts.map +1 -1
  131. package/dist/adapters/http/controllers/workflows/register/module.mjs +23 -2
  132. package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
  133. package/dist/adapters/http/controllers/workflows/status/module.d.ts +11 -4
  134. package/dist/adapters/http/controllers/workflows/status/module.d.ts.map +1 -1
  135. package/dist/adapters/http/controllers/workflows/status/module.mjs +17 -5
  136. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  137. package/dist/adapters/http/index.mjs +4 -1
  138. package/dist/adapters/http/middleware/built-in/cors.d.ts.map +1 -1
  139. package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
  140. package/dist/adapters/http/middleware/built-in/error.d.ts +6 -1
  141. package/dist/adapters/http/middleware/built-in/error.d.ts.map +1 -1
  142. package/dist/adapters/http/middleware/built-in/error.mjs +2 -3
  143. package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
  144. package/dist/adapters/http/middleware/built-in/index.d.ts +1 -0
  145. package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
  146. package/dist/adapters/http/middleware/built-in/index.mjs +2 -1
  147. package/dist/adapters/http/middleware/built-in/logger.d.ts +2 -0
  148. package/dist/adapters/http/middleware/built-in/logger.d.ts.map +1 -1
  149. package/dist/adapters/http/middleware/built-in/logger.mjs +1 -2
  150. package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
  151. package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts +15 -0
  152. package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts.map +1 -0
  153. package/dist/adapters/http/middleware/built-in/ui-http-client.mjs +25 -0
  154. package/dist/adapters/http/middleware/built-in/ui-http-client.mjs.map +1 -0
  155. package/dist/adapters/http/middleware/index.mjs +2 -1
  156. package/dist/adapters/http/request/helpers/index.d.ts +2 -0
  157. package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
  158. package/dist/adapters/http/request/helpers/index.mjs +3 -1
  159. package/dist/adapters/http/request/helpers/locale.d.ts +14 -0
  160. package/dist/adapters/http/request/helpers/locale.d.ts.map +1 -0
  161. package/dist/adapters/http/request/helpers/locale.mjs +32 -0
  162. package/dist/adapters/http/request/helpers/locale.mjs.map +1 -0
  163. package/dist/adapters/http/request/helpers/locations.mjs +1 -1
  164. package/dist/adapters/http/request/helpers/redirect.d.ts +14 -0
  165. package/dist/adapters/http/request/helpers/redirect.d.ts.map +1 -0
  166. package/dist/adapters/http/request/helpers/redirect.mjs +36 -0
  167. package/dist/adapters/http/request/helpers/redirect.mjs.map +1 -0
  168. package/dist/adapters/http/request/index.mjs +3 -1
  169. package/dist/adapters/http/ui/base-path.d.ts +9 -0
  170. package/dist/adapters/http/ui/base-path.d.ts.map +1 -0
  171. package/dist/adapters/http/ui/base-path.mjs +18 -0
  172. package/dist/adapters/http/ui/base-path.mjs.map +1 -0
  173. package/dist/adapters/http/ui/index.d.ts +5 -0
  174. package/dist/adapters/http/ui/index.d.ts.map +1 -0
  175. package/dist/adapters/http/ui/index.mjs +7 -0
  176. package/dist/adapters/http/ui/render.d.ts +4 -0
  177. package/dist/adapters/http/ui/render.d.ts.map +1 -0
  178. package/dist/adapters/http/ui/render.mjs +60 -0
  179. package/dist/adapters/http/ui/render.mjs.map +1 -0
  180. package/dist/adapters/http/ui/serve.d.ts +16 -0
  181. package/dist/adapters/http/ui/serve.d.ts.map +1 -0
  182. package/dist/adapters/http/ui/serve.mjs +32 -0
  183. package/dist/adapters/http/ui/serve.mjs.map +1 -0
  184. package/dist/adapters/http/ui/types.d.ts +8 -0
  185. package/dist/adapters/http/ui/types.d.ts.map +1 -0
  186. package/dist/adapters/http/ui/types.mjs +4 -0
  187. package/dist/app/index.mjs +3 -2
  188. package/dist/app/modules/config/constants.d.ts +1 -0
  189. package/dist/app/modules/config/constants.d.ts.map +1 -1
  190. package/dist/app/modules/config/constants.mjs +1 -0
  191. package/dist/app/modules/config/constants.mjs.map +1 -1
  192. package/dist/app/modules/config/index.d.ts +1 -0
  193. package/dist/app/modules/config/index.d.ts.map +1 -1
  194. package/dist/app/modules/config/index.mjs +2 -1
  195. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  196. package/dist/app/modules/config/normalize.mjs +9 -2
  197. package/dist/app/modules/config/normalize.mjs.map +1 -1
  198. package/dist/app/modules/config/origins.d.ts +10 -0
  199. package/dist/app/modules/config/origins.d.ts.map +1 -0
  200. package/dist/app/modules/config/origins.mjs +21 -0
  201. package/dist/app/modules/config/origins.mjs.map +1 -0
  202. package/dist/app/modules/config/parse.d.ts.map +1 -1
  203. package/dist/app/modules/config/parse.mjs +1 -0
  204. package/dist/app/modules/config/parse.mjs.map +1 -1
  205. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  206. package/dist/app/modules/config/read/env.mjs +2 -0
  207. package/dist/app/modules/config/read/env.mjs.map +1 -1
  208. package/dist/app/modules/config/types.d.ts +14 -0
  209. package/dist/app/modules/config/types.d.ts.map +1 -1
  210. package/dist/app/modules/database/constants.d.ts +2 -0
  211. package/dist/app/modules/database/constants.d.ts.map +1 -1
  212. package/dist/app/modules/database/constants.mjs +4 -1
  213. package/dist/app/modules/database/constants.mjs.map +1 -1
  214. package/dist/app/modules/database/module.d.ts +5 -1
  215. package/dist/app/modules/database/module.d.ts.map +1 -1
  216. package/dist/app/modules/database/module.mjs +26 -15
  217. package/dist/app/modules/database/module.mjs.map +1 -1
  218. package/dist/app/modules/http/constants.d.ts +11 -0
  219. package/dist/app/modules/http/constants.d.ts.map +1 -1
  220. package/dist/app/modules/http/constants.mjs +12 -1
  221. package/dist/app/modules/http/constants.mjs.map +1 -1
  222. package/dist/app/modules/http/modules/controller.d.ts +5 -1
  223. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  224. package/dist/app/modules/http/modules/controller.mjs +75 -10
  225. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  226. package/dist/app/modules/http/modules/middleware.d.ts +2 -1
  227. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  228. package/dist/app/modules/http/modules/middleware.mjs +19 -4
  229. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  230. package/dist/app/modules/identity/module.mjs +4 -4
  231. package/dist/app/modules/identity/module.mjs.map +1 -1
  232. package/dist/app/modules/identity/repositories/provider/account/module.d.ts +3 -1
  233. package/dist/app/modules/identity/repositories/provider/account/module.d.ts.map +1 -1
  234. package/dist/app/modules/identity/repositories/provider/account/module.mjs +6 -3
  235. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  236. package/dist/app/modules/identity/repositories/provider/mapper/attribute.d.ts +3 -0
  237. package/dist/app/modules/identity/repositories/provider/mapper/attribute.d.ts.map +1 -1
  238. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +5 -2
  239. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  240. package/dist/app/modules/identity/repositories/provider/mapper/permission.d.ts +3 -0
  241. package/dist/app/modules/identity/repositories/provider/mapper/permission.d.ts.map +1 -1
  242. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +5 -2
  243. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  244. package/dist/app/modules/identity/repositories/provider/mapper/role.d.ts +3 -0
  245. package/dist/app/modules/identity/repositories/provider/mapper/role.d.ts.map +1 -1
  246. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +5 -2
  247. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  248. package/dist/app/modules/index.mjs +3 -2
  249. package/dist/app/modules/logger/module.d.ts.map +1 -1
  250. package/dist/app/modules/logger/module.mjs +1 -5
  251. package/dist/app/modules/logger/module.mjs.map +1 -1
  252. package/dist/app/modules/mail/constants.d.ts +2 -1
  253. package/dist/app/modules/mail/constants.d.ts.map +1 -1
  254. package/dist/app/modules/mail/constants.mjs +2 -1
  255. package/dist/app/modules/mail/constants.mjs.map +1 -1
  256. package/dist/app/modules/mail/index.mjs +2 -2
  257. package/dist/app/modules/mail/module.d.ts.map +1 -1
  258. package/dist/app/modules/mail/module.mjs +4 -1
  259. package/dist/app/modules/mail/module.mjs.map +1 -1
  260. package/dist/app/modules/oauth2/module.d.ts.map +1 -1
  261. package/dist/app/modules/oauth2/module.mjs +3 -1
  262. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  263. package/dist/app/modules/oauth2/repositories/key/repository.d.ts +3 -0
  264. package/dist/app/modules/oauth2/repositories/key/repository.d.ts.map +1 -1
  265. package/dist/app/modules/oauth2/repositories/key/repository.mjs +5 -2
  266. package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +1 -1
  267. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  268. package/dist/app/modules/provisioning/module.mjs +12 -0
  269. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  270. package/dist/core/entities/client/index.d.ts +1 -0
  271. package/dist/core/entities/client/index.d.ts.map +1 -1
  272. package/dist/core/entities/client/index.mjs +2 -1
  273. package/dist/core/entities/client/service.d.ts.map +1 -1
  274. package/dist/core/entities/client/service.mjs +3 -2
  275. package/dist/core/entities/client/service.mjs.map +1 -1
  276. package/dist/core/entities/client/types.d.ts +11 -1
  277. package/dist/core/entities/client/types.d.ts.map +1 -1
  278. package/dist/core/entities/client/web-client.d.ts +34 -0
  279. package/dist/core/entities/client/web-client.d.ts.map +1 -0
  280. package/dist/core/entities/client/web-client.mjs +62 -0
  281. package/dist/core/entities/client/web-client.mjs.map +1 -0
  282. package/dist/core/entities/index.mjs +2 -1
  283. package/dist/core/entities/realm/service.d.ts +6 -1
  284. package/dist/core/entities/realm/service.d.ts.map +1 -1
  285. package/dist/core/entities/realm/service.mjs +9 -0
  286. package/dist/core/entities/realm/service.mjs.map +1 -1
  287. package/dist/core/identity/index.d.ts +1 -0
  288. package/dist/core/identity/index.d.ts.map +1 -1
  289. package/dist/core/identity/index.mjs +2 -1
  290. package/dist/core/identity/password-recovery/constants.d.ts +6 -0
  291. package/dist/core/identity/password-recovery/constants.d.ts.map +1 -0
  292. package/dist/core/identity/password-recovery/constants.mjs +12 -0
  293. package/dist/core/identity/password-recovery/constants.mjs.map +1 -0
  294. package/dist/core/identity/password-recovery/index.d.ts +1 -0
  295. package/dist/core/identity/password-recovery/index.d.ts.map +1 -1
  296. package/dist/core/identity/password-recovery/index.mjs +2 -1
  297. package/dist/core/identity/password-recovery/service.d.ts +4 -2
  298. package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
  299. package/dist/core/identity/password-recovery/service.mjs +17 -6
  300. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  301. package/dist/core/identity/password-recovery/types.d.ts +5 -2
  302. package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
  303. package/dist/core/identity/registration/service.d.ts +4 -2
  304. package/dist/core/identity/registration/service.d.ts.map +1 -1
  305. package/dist/core/identity/registration/service.mjs +15 -6
  306. package/dist/core/identity/registration/service.mjs.map +1 -1
  307. package/dist/core/identity/registration/types.d.ts +5 -2
  308. package/dist/core/identity/registration/types.d.ts.map +1 -1
  309. package/dist/core/identity/role/module.d.ts.map +1 -1
  310. package/dist/core/identity/role/module.mjs +1 -1
  311. package/dist/core/identity/role/module.mjs.map +1 -1
  312. package/dist/core/identity/types.d.ts +10 -0
  313. package/dist/core/identity/types.d.ts.map +1 -0
  314. package/dist/core/identity/types.mjs +4 -0
  315. package/dist/core/index.mjs +8 -1
  316. package/dist/core/mail/format/blocks.d.ts +12 -0
  317. package/dist/core/mail/format/blocks.d.ts.map +1 -0
  318. package/dist/core/mail/format/blocks.mjs +47 -0
  319. package/dist/core/mail/format/blocks.mjs.map +1 -0
  320. package/dist/core/mail/format/html.d.ts +9 -0
  321. package/dist/core/mail/format/html.d.ts.map +1 -0
  322. package/dist/core/mail/format/html.mjs +41 -0
  323. package/dist/core/mail/format/html.mjs.map +1 -0
  324. package/dist/core/mail/format/index.d.ts +5 -0
  325. package/dist/core/mail/format/index.d.ts.map +1 -0
  326. package/dist/core/mail/format/index.mjs +7 -0
  327. package/dist/core/mail/format/text.d.ts +3 -0
  328. package/dist/core/mail/format/text.d.ts.map +1 -0
  329. package/dist/core/mail/format/text.mjs +20 -0
  330. package/dist/core/mail/format/text.mjs.map +1 -0
  331. package/dist/core/mail/format/types.d.ts +30 -0
  332. package/dist/core/mail/format/types.d.ts.map +1 -0
  333. package/dist/core/mail/format/types.mjs +4 -0
  334. package/dist/core/mail/index.d.ts +3 -0
  335. package/dist/core/mail/index.d.ts.map +1 -1
  336. package/dist/core/mail/index.mjs +6 -1
  337. package/dist/core/mail/renderer.d.ts +10 -0
  338. package/dist/core/mail/renderer.d.ts.map +1 -0
  339. package/dist/core/mail/renderer.mjs +49 -0
  340. package/dist/core/mail/renderer.mjs.map +1 -0
  341. package/dist/core/mail/template/define.d.ts +7 -0
  342. package/dist/core/mail/template/define.d.ts.map +1 -0
  343. package/dist/core/mail/template/define.mjs +14 -0
  344. package/dist/core/mail/template/define.mjs.map +1 -0
  345. package/dist/core/mail/template/index.d.ts +4 -0
  346. package/dist/core/mail/template/index.d.ts.map +1 -0
  347. package/dist/core/mail/template/index.mjs +7 -0
  348. package/dist/core/mail/template/registry.d.ts +6 -0
  349. package/dist/core/mail/template/registry.d.ts.map +1 -0
  350. package/dist/core/mail/template/registry.mjs +15 -0
  351. package/dist/core/mail/template/registry.mjs.map +1 -0
  352. package/dist/core/mail/template/templates/password-reset.d.ts +3 -0
  353. package/dist/core/mail/template/templates/password-reset.d.ts.map +1 -0
  354. package/dist/core/mail/template/templates/password-reset.mjs +36 -0
  355. package/dist/core/mail/template/templates/password-reset.mjs.map +1 -0
  356. package/dist/core/mail/template/templates/registration-activation.d.ts +3 -0
  357. package/dist/core/mail/template/templates/registration-activation.d.ts.map +1 -0
  358. package/dist/core/mail/template/templates/registration-activation.mjs +34 -0
  359. package/dist/core/mail/template/templates/registration-activation.mjs.map +1 -0
  360. package/dist/core/mail/template/types.d.ts +39 -0
  361. package/dist/core/mail/template/types.d.ts.map +1 -0
  362. package/dist/core/mail/template/types.mjs +13 -0
  363. package/dist/core/mail/template/types.mjs.map +1 -0
  364. package/dist/core/mail/types.d.ts +21 -0
  365. package/dist/core/mail/types.d.ts.map +1 -1
  366. package/dist/index.mjs +7 -3
  367. package/dist/swagger.json +98 -3
  368. package/dist/ui/client/.vite/ssr-manifest.json +49086 -874
  369. package/dist/ui/client/assets/asap-latin-400-normal-Dc37g3Il.woff +0 -0
  370. package/dist/ui/client/assets/asap-latin-400-normal-DnZ1MOsG.woff2 +0 -0
  371. package/dist/ui/client/assets/asap-latin-700-normal-Dqcopq14.woff +0 -0
  372. package/dist/ui/client/assets/asap-latin-700-normal-l2Y8pi-F.woff2 +0 -0
  373. package/dist/ui/client/assets/asap-latin-ext-400-normal-C-fcRdtE.woff +0 -0
  374. package/dist/ui/client/assets/asap-latin-ext-400-normal-DwYtpHbV.woff2 +0 -0
  375. package/dist/ui/client/assets/asap-latin-ext-700-normal-D00OESsZ.woff +0 -0
  376. package/dist/ui/client/assets/asap-latin-ext-700-normal-y8bo5aW5.woff2 +0 -0
  377. package/dist/ui/client/assets/asap-vietnamese-400-normal-DGyJlJLT.woff2 +0 -0
  378. package/dist/ui/client/assets/asap-vietnamese-400-normal-lfLaoF2x.woff +0 -0
  379. package/dist/ui/client/assets/asap-vietnamese-700-normal-B-e19ug5.woff +0 -0
  380. package/dist/ui/client/assets/asap-vietnamese-700-normal-D-SxY94i.woff2 +0 -0
  381. package/dist/ui/client/assets/index-BeXJgvKE.css +2 -0
  382. package/dist/ui/client/assets/index-CgLTRwpP.js +95 -0
  383. package/dist/ui/client/assets/nunito-cyrillic-300-normal-BPQV259B.woff2 +0 -0
  384. package/dist/ui/client/assets/nunito-cyrillic-300-normal-g5qSsvc0.woff +0 -0
  385. package/dist/ui/client/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff +0 -0
  386. package/dist/ui/client/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2 +0 -0
  387. package/dist/ui/client/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff +0 -0
  388. package/dist/ui/client/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2 +0 -0
  389. package/dist/ui/client/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2 +0 -0
  390. package/dist/ui/client/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff +0 -0
  391. package/dist/ui/client/assets/nunito-cyrillic-ext-300-normal-BDHtqmCR.woff +0 -0
  392. package/dist/ui/client/assets/nunito-cyrillic-ext-300-normal-ChMQLIrm.woff2 +0 -0
  393. package/dist/ui/client/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2 +0 -0
  394. package/dist/ui/client/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff +0 -0
  395. package/dist/ui/client/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2 +0 -0
  396. package/dist/ui/client/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff +0 -0
  397. package/dist/ui/client/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2 +0 -0
  398. package/dist/ui/client/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff +0 -0
  399. package/dist/ui/client/assets/nunito-latin-300-normal-C3ZIKvzv.woff +0 -0
  400. package/dist/ui/client/assets/nunito-latin-300-normal-COoPE5VN.woff2 +0 -0
  401. package/dist/ui/client/assets/nunito-latin-400-normal-DKg4f3fz.woff +0 -0
  402. package/dist/ui/client/assets/nunito-latin-400-normal-r8SDr6Up.woff2 +0 -0
  403. package/dist/ui/client/assets/nunito-latin-600-normal-Br8yIETf.woff2 +0 -0
  404. package/dist/ui/client/assets/nunito-latin-600-normal-Cd0eNu1l.woff +0 -0
  405. package/dist/ui/client/assets/nunito-latin-700-normal-Dort48En.woff2 +0 -0
  406. package/dist/ui/client/assets/nunito-latin-700-normal-OcDqTBcA.woff +0 -0
  407. package/dist/ui/client/assets/nunito-latin-ext-300-normal-D1SyVuPt.woff2 +0 -0
  408. package/dist/ui/client/assets/nunito-latin-ext-300-normal-DfqbmdMl.woff +0 -0
  409. package/dist/ui/client/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff +0 -0
  410. package/dist/ui/client/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2 +0 -0
  411. package/dist/ui/client/assets/nunito-latin-ext-600-normal-BKUpuB78.woff +0 -0
  412. package/dist/ui/client/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2 +0 -0
  413. package/dist/ui/client/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2 +0 -0
  414. package/dist/ui/client/assets/nunito-latin-ext-700-normal-D4woHhbd.woff +0 -0
  415. package/dist/ui/client/assets/nunito-vietnamese-300-normal-DATld5Vw.woff +0 -0
  416. package/dist/ui/client/assets/nunito-vietnamese-300-normal-mLneKULB.woff2 +0 -0
  417. package/dist/ui/client/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2 +0 -0
  418. package/dist/ui/client/assets/nunito-vietnamese-400-normal-DtOtW02z.woff +0 -0
  419. package/dist/ui/client/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2 +0 -0
  420. package/dist/ui/client/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff +0 -0
  421. package/dist/ui/client/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff +0 -0
  422. package/dist/ui/client/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2 +0 -0
  423. package/dist/ui/client/index.html +2 -2
  424. package/dist/ui/server/server.js +2765 -540
  425. package/package.json +20 -17
  426. package/dist/adapters/database/data-source/singleton.d.ts +0 -5
  427. package/dist/adapters/database/data-source/singleton.d.ts.map +0 -1
  428. package/dist/adapters/database/data-source/singleton.mjs +0 -19
  429. package/dist/adapters/database/data-source/singleton.mjs.map +0 -1
  430. package/dist/adapters/database/event-publisher/index.d.ts +0 -2
  431. package/dist/adapters/database/event-publisher/index.d.ts.map +0 -1
  432. package/dist/adapters/database/event-publisher/index.mjs +0 -5
  433. package/dist/adapters/database/event-publisher/module.d.ts +0 -6
  434. package/dist/adapters/database/event-publisher/module.d.ts.map +0 -1
  435. package/dist/adapters/database/event-publisher/module.mjs +0 -25
  436. package/dist/adapters/database/event-publisher/module.mjs.map +0 -1
  437. package/dist/ui/client/assets/index-Cvz0JzBe.js +0 -95
  438. package/dist/ui/client/assets/index-DNeLkYQO.css +0 -1
@@ -1,12 +1,12 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
- import { publishDomainEvent } from "../../event-publisher/module.mjs";
5
- import "../../event-publisher/index.mjs";
4
+ import { EntitySubscriber, buildEntityDestinations } from "../../subscriber/module.mjs";
5
+ import "../../subscriber/index.mjs";
6
6
  import { CachePrefix } from "../constants.mjs";
7
7
  import { RolePermissionEntity } from "./entity.mjs";
8
8
  import { EventSubscriber } from "typeorm";
9
- import { EntityDefaultEventName, EntityType, buildEntityChannelName, buildEntityNamespaceName } from "@authup/core-kit";
9
+ import { EntityType } from "@authup/core-kit";
10
10
  import { buildRedisKeyPath } from "@authup/server-kit";
11
11
  //#region src/adapters/database/domains/role-permission/subscriber.ts
12
12
  function _ts_decorate(decorators, target, key, desc) {
@@ -15,55 +15,30 @@ function _ts_decorate(decorators, target, key, desc) {
15
15
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
16
  return c > 3 && r && Object.defineProperty(target, key, r), r;
17
17
  }
18
- async function publishEvent(event, data) {
19
- const destinations = [{ channel: (id) => buildEntityChannelName(EntityType.ROLE_PERMISSION, id) }];
20
- if (data.role_realm_id) destinations.push({
21
- channel: (id) => buildEntityChannelName(EntityType.ROLE_PERMISSION, id),
22
- namespace: buildEntityNamespaceName(data.role_realm_id)
23
- });
24
- if (data.permission_realm_id) destinations.push({
25
- channel: (id) => buildEntityChannelName(EntityType.ROLE_PERMISSION, id),
26
- namespace: buildEntityNamespaceName(data.permission_realm_id)
27
- });
28
- await publishDomainEvent({
29
- content: {
30
- type: EntityType.ROLE_PERMISSION,
31
- event,
32
- data
33
- },
34
- destinations
35
- });
18
+ function _ts_metadata(k, v) {
19
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
36
20
  }
37
- var RolePermissionSubscriber = class {
38
- listenTo() {
39
- return RolePermissionEntity;
40
- }
41
- async afterInsert(event) {
42
- if (!event.entity) return;
43
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
44
- prefix: CachePrefix.ROLE_OWNED_PERMISSIONS,
45
- key: event.entity.role_id
46
- })]);
47
- await publishEvent(EntityDefaultEventName.CREATED, event.entity);
48
- }
49
- async afterUpdate(event) {
50
- if (!event.entity) return;
51
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
52
- prefix: CachePrefix.ROLE_OWNED_PERMISSIONS,
53
- key: event.entity.role_id
54
- })]);
55
- await publishEvent(EntityDefaultEventName.UPDATED, event.entity);
56
- }
57
- async afterRemove(event) {
58
- if (!event.entity) return;
59
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
60
- prefix: CachePrefix.ROLE_OWNED_PERMISSIONS,
61
- key: event.entity.role_id
62
- })]);
63
- await publishEvent(EntityDefaultEventName.DELETED, event.entity);
21
+ var RolePermissionSubscriber = class extends EntitySubscriber {
22
+ constructor() {
23
+ super({
24
+ type: EntityType.ROLE_PERMISSION,
25
+ target: RolePermissionEntity,
26
+ destinations: buildEntityDestinations(EntityType.ROLE_PERMISSION, (data) => [data.role_realm_id, data.permission_realm_id]),
27
+ cache: {
28
+ onInsert: true,
29
+ keys: (data) => [buildRedisKeyPath({
30
+ prefix: CachePrefix.ROLE_OWNED_PERMISSIONS,
31
+ key: data.role_id
32
+ })]
33
+ }
34
+ });
64
35
  }
65
36
  };
66
- RolePermissionSubscriber = _ts_decorate([EventSubscriber()], RolePermissionSubscriber);
37
+ RolePermissionSubscriber = _ts_decorate([
38
+ EventSubscriber(),
39
+ _ts_metadata("design:type", Function),
40
+ _ts_metadata("design:paramtypes", [])
41
+ ], RolePermissionSubscriber);
67
42
  //#endregion
68
43
  export { RolePermissionSubscriber };
69
44
 
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","RolePermissionEntity","CachePrefix","publishEvent","event","data","destinations","channel","id","ROLE_PERMISSION","role_realm_id","push","namespace","permission_realm_id","content","type","RolePermissionSubscriber","listenTo","afterInsert","entity","connection","queryResultCache","remove","prefix","ROLE_OWNED_PERMISSIONS","key","role_id","CREATED","afterUpdate","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/role-permission/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RolePermission } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType,\n buildEntityChannelName,\n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport type { DomainEventDestination } from '@authup/server-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { RolePermissionEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: RolePermission,\n) {\n const destinations : DomainEventDestination[] = [\n { channel: (id) => buildEntityChannelName(EntityType.ROLE_PERMISSION, id) },\n ];\n if (data.role_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.ROLE_PERMISSION, id),\n namespace: buildEntityNamespaceName(data.role_realm_id),\n });\n }\n if (data.permission_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.ROLE_PERMISSION, id),\n namespace: buildEntityNamespaceName(data.permission_realm_id),\n });\n }\n\n await publishDomainEvent({\n content: {\n type: EntityType.ROLE_PERMISSION,\n event,\n data,\n },\n destinations,\n });\n}\n\n@EventSubscriber()\nexport class RolePermissionSubscriber implements EntitySubscriberInterface<RolePermission> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return RolePermissionEntity;\n }\n\n async afterInsert(event: InsertEvent<RolePermission>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.ROLE_OWNED_PERMISSIONS,\n key: event.entity.role_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<RolePermission>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.ROLE_OWNED_PERMISSIONS,\n key: event.entity.role_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as RolePermission);\n }\n\n async afterRemove(event: RemoveEvent<RolePermission>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.ROLE_OWNED_PERMISSIONS,\n key: event.entity.role_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAsBD,eAAeS,aACXC,OACAC,MAAoB;CAEpB,MAAMC,eAA0C,CAC5C,EAAEC,UAAUC,OAAOZ,uBAAuBD,WAAWc,iBAAiBD,EAAAA,EAAI,CAAA;CAE9E,IAAIH,KAAKK,eACLJ,aAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,iBAAiBD,EAAAA;EACpEI,WAAWf,yBAAyBQ,KAAKK,aAAa;CAC1D,CAAA;CAEJ,IAAIL,KAAKQ,qBACLP,aAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,iBAAiBD,EAAAA;EACpEI,WAAWf,yBAAyBQ,KAAKQ,mBAAmB;CAChE,CAAA;CAGJ,MAAMb,mBAAmB;EACrBc,SAAS;GACLC,MAAMpB,WAAWc;GACjBL;GACAC;EACJ;EACAC;CACJ,CAAA;AACJ;AAGA,IAAaU,2BAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOhB;CACX;CAEA,MAAMiB,YAAYd,OAAkD;EAChE,IAAI,CAACA,MAAMe,QACP;EAGJ,IAAIf,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYsB;GACpBC,KAAKrB,MAAMe,OAAOO;EACtB,CAAA,CAAA,CACH;EAGL,MAAMvB,aAAaT,uBAAuBiC,SAASvB,MAAMe,MAAM;CACnE;CAEA,MAAMS,YAAYxB,OAAkD;EAChE,IAAI,CAACA,MAAMe,QACP;EAGJ,IAAIf,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYsB;GACpBC,KAAKrB,MAAMe,OAAOO;EACtB,CAAA,CAAA,CACH;EAGL,MAAMvB,aAAaT,uBAAuBmC,SAASzB,MAAMe,MAAM;CACnE;CAEA,MAAMW,YAAY1B,OAAkD;EAChE,IAAI,CAACA,MAAMe,QACP;EAGJ,IAAIf,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYsB;GACpBC,KAAKrB,MAAMe,OAAOO;EACtB,CAAA,CAAA,CACH;EAGL,MAAMvB,aAAaT,uBAAuBqC,SAAS3B,MAAMe,MAAM;CACnE;AACJ"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityType","buildRedisKeyPath","EventSubscriber","EntitySubscriber","buildEntityDestinations","RolePermissionEntity","CachePrefix","RolePermissionSubscriber","type","ROLE_PERMISSION","target","destinations","data","role_realm_id","permission_realm_id","cache","onInsert","keys","prefix","ROLE_OWNED_PERMISSIONS","key","role_id"],"sources":["../../../../../src/adapters/database/domains/role-permission/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { RolePermission } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport { EventSubscriber } from 'typeorm';\nimport { EntitySubscriber, buildEntityDestinations } from '../../subscriber/index.ts';\nimport { RolePermissionEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\n@EventSubscriber()\nexport class RolePermissionSubscriber extends EntitySubscriber<RolePermission> {\n constructor() {\n super({\n type: EntityType.ROLE_PERMISSION,\n target: RolePermissionEntity,\n destinations: buildEntityDestinations(EntityType.ROLE_PERMISSION, (data) => [\n data.role_realm_id,\n data.permission_realm_id,\n ]),\n cache: {\n onInsert: true,\n keys: (data) => [\n buildRedisKeyPath({\n prefix: CachePrefix.ROLE_OWNED_PERMISSIONS,\n key: data.role_id,\n }),\n ],\n },\n });\n }\n}\n"],"mappings":";;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;AAWD,IAAaO,2BAAb,cAA8CJ,iBAAAA;CAC1C,cAAc;EACV,MAAM;GACFK,MAAMR,WAAWS;GACjBC,QAAQL;GACRM,cAAcP,wBAAwBJ,WAAWS,kBAAkBG,SAAS,CACxEA,KAAKC,eACLD,KAAKE,mBAAAA,CACR;GACDC,OAAO;IACHC,UAAU;IACVC,OAAOL,SAAS,CACZX,kBAAkB;KACdiB,QAAQZ,YAAYa;KACpBC,KAAKR,KAAKS;IACd,CAAA,CAAA;GAER;EACJ,CAAA;CACJ;AACJ"}
@@ -1,9 +1,6 @@
1
1
  import type { Scope } from '@authup/core-kit';
2
- import type { EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';
3
- export declare class ScopeSubscriber implements EntitySubscriberInterface<Scope> {
4
- listenTo(): Function | string;
5
- afterInsert(event: InsertEvent<Scope>): Promise<any>;
6
- afterUpdate(event: UpdateEvent<Scope>): Promise<any>;
7
- afterRemove(event: RemoveEvent<Scope>): Promise<any>;
2
+ import { EntitySubscriber } from '../../subscriber/index.ts';
3
+ export declare class ScopeSubscriber extends EntitySubscriber<Scope> {
4
+ constructor();
8
5
  }
9
6
  //# sourceMappingURL=subscriber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/scope/subscriber.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAS9C,OAAO,KAAK,EACR,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,WAAW,EACd,MAAM,SAAS,CAAC;AA8BjB,qBACa,eAAgB,YAAW,yBAAyB,CAAC,KAAK,CAAC;IAEpE,QAAQ,IAAI,QAAQ,GAAG,MAAM;IAIvB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAQpD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAiBpD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAgB7D"}
1
+ {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/scope/subscriber.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAA2B,MAAM,2BAA2B,CAAC;AAGtF,qBACa,eAAgB,SAAQ,gBAAgB,CAAC,KAAK,CAAC;;CAQ3D"}
@@ -1,13 +1,11 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
- import { publishDomainEvent } from "../../event-publisher/module.mjs";
5
- import "../../event-publisher/index.mjs";
6
- import { CachePrefix } from "../constants.mjs";
4
+ import { EntitySubscriber, buildEntityDestinations } from "../../subscriber/module.mjs";
5
+ import "../../subscriber/index.mjs";
7
6
  import { ScopeEntity } from "./entity.mjs";
8
7
  import { EventSubscriber } from "typeorm";
9
- import { EntityDefaultEventName, EntityType, buildEntityChannelName, buildEntityNamespaceName } from "@authup/core-kit";
10
- import { buildRedisKeyPath } from "@authup/server-kit";
8
+ import { EntityType } from "@authup/core-kit";
11
9
  //#region src/adapters/database/domains/scope/subscriber.ts
12
10
  function _ts_decorate(decorators, target, key, desc) {
13
11
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -15,47 +13,23 @@ function _ts_decorate(decorators, target, key, desc) {
15
13
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
14
  return c > 3 && r && Object.defineProperty(target, key, r), r;
17
15
  }
18
- async function publishEvent(event, data) {
19
- const destinations = [{ channel: (id) => buildEntityChannelName(EntityType.SCOPE, id) }];
20
- if (data.realm_id) destinations.push({
21
- channel: (id) => buildEntityChannelName(EntityType.SCOPE, id),
22
- namespace: buildEntityNamespaceName(data.realm_id)
23
- });
24
- await publishDomainEvent({
25
- content: {
26
- type: EntityType.SCOPE,
27
- event,
28
- data
29
- },
30
- destinations
31
- });
16
+ function _ts_metadata(k, v) {
17
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
32
18
  }
33
- var ScopeSubscriber = class {
34
- listenTo() {
35
- return ScopeEntity;
36
- }
37
- async afterInsert(event) {
38
- if (!event.entity) return;
39
- await publishEvent(EntityDefaultEventName.CREATED, event.entity);
40
- }
41
- async afterUpdate(event) {
42
- if (!event.entity) return;
43
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
44
- prefix: CachePrefix.USER,
45
- key: event.entity.id
46
- })]);
47
- await publishEvent(EntityDefaultEventName.UPDATED, event.entity);
48
- }
49
- async afterRemove(event) {
50
- if (!event.entity) return;
51
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
52
- prefix: CachePrefix.USER,
53
- key: event.entity.id
54
- })]);
55
- await publishEvent(EntityDefaultEventName.DELETED, event.entity);
19
+ var ScopeSubscriber = class extends EntitySubscriber {
20
+ constructor() {
21
+ super({
22
+ type: EntityType.SCOPE,
23
+ target: ScopeEntity,
24
+ destinations: buildEntityDestinations(EntityType.SCOPE, (data) => [data.realm_id])
25
+ });
56
26
  }
57
27
  };
58
- ScopeSubscriber = _ts_decorate([EventSubscriber()], ScopeSubscriber);
28
+ ScopeSubscriber = _ts_decorate([
29
+ EventSubscriber(),
30
+ _ts_metadata("design:type", Function),
31
+ _ts_metadata("design:paramtypes", [])
32
+ ], ScopeSubscriber);
59
33
  //#endregion
60
34
  export { ScopeSubscriber };
61
35
 
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","ScopeEntity","CachePrefix","publishEvent","event","data","destinations","channel","id","SCOPE","realm_id","push","namespace","content","type","ScopeSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","USER","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/scope/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Scope } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType,\n buildEntityChannelName,\n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport type { DomainEventDestinations } from '@authup/server-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface,\n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { ScopeEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: Scope,\n) {\n const destinations : DomainEventDestinations = [\n { channel: (id) => buildEntityChannelName(EntityType.SCOPE, id) },\n ];\n if (data.realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.SCOPE, id),\n namespace: buildEntityNamespaceName(data.realm_id),\n });\n }\n\n await publishDomainEvent({\n content: {\n type: EntityType.SCOPE,\n event,\n data,\n },\n destinations,\n });\n}\n\n@EventSubscriber()\nexport class ScopeSubscriber implements EntitySubscriberInterface<Scope> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return ScopeEntity;\n }\n\n async afterInsert(event: InsertEvent<Scope>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<Scope>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.USER,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as Scope);\n }\n\n async afterRemove(event: RemoveEvent<Scope>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.USER,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAsBD,eAAeS,aACXC,OACAC,MAAW;CAEX,MAAMC,eAAyC,CAC3C,EAAEC,UAAUC,OAAOZ,uBAAuBD,WAAWc,OAAOD,EAAAA,EAAI,CAAA;CAEpE,IAAIH,KAAKK,UACLJ,aAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,OAAOD,EAAAA;EAC1DI,WAAWf,yBAAyBQ,KAAKK,QAAQ;CACrD,CAAA;CAGJ,MAAMV,mBAAmB;EACrBa,SAAS;GACLC,MAAMnB,WAAWc;GACjBL;GACAC;EACJ;EACAC;CACJ,CAAA;AACJ;AAGA,IAAaS,kBAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOf;CACX;CAEA,MAAMgB,YAAYb,OAAyC;EACvD,IAAI,CAACA,MAAMc,QACP;EAGJ,MAAMf,aAAaT,uBAAuByB,SAASf,MAAMc,MAAM;CACnE;CAEA,MAAME,YAAYhB,OAAyC;EACvD,IAAI,CAACA,MAAMc,QACP;EAGJ,IAAId,MAAMiB,WAAWC,kBACjB,MAAMlB,MAAMiB,WAAWC,iBAAiBC,OAAO,CAC3CzB,kBAAkB;GACd0B,QAAQtB,YAAYuB;GACpBC,KAAKtB,MAAMc,OAAOV;EACtB,CAAA,CAAA,CACH;EAGL,MAAML,aAAaT,uBAAuBiC,SAASvB,MAAMc,MAAM;CACnE;CAEA,MAAMU,YAAYxB,OAAyC;EACvD,IAAI,CAACA,MAAMc,QACP;EAGJ,IAAId,MAAMiB,WAAWC,kBACjB,MAAMlB,MAAMiB,WAAWC,iBAAiBC,OAAO,CAC3CzB,kBAAkB;GACd0B,QAAQtB,YAAYuB;GACpBC,KAAKtB,MAAMc,OAAOV;EACtB,CAAA,CAAA,CACH;EAGL,MAAML,aAAaT,uBAAuBmC,SAASzB,MAAMc,MAAM;CACnE;AACJ"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityType","EventSubscriber","EntitySubscriber","buildEntityDestinations","ScopeEntity","ScopeSubscriber","type","SCOPE","target","destinations","data","realm_id"],"sources":["../../../../../src/adapters/database/domains/scope/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Scope } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\nimport { EventSubscriber } from 'typeorm';\nimport { EntitySubscriber, buildEntityDestinations } from '../../subscriber/index.ts';\nimport { ScopeEntity } from './entity.ts';\n\n@EventSubscriber()\nexport class ScopeSubscriber extends EntitySubscriber<Scope> {\n constructor() {\n super({\n type: EntityType.SCOPE,\n target: ScopeEntity,\n destinations: buildEntityDestinations(EntityType.SCOPE, (data) => [data.realm_id]),\n });\n }\n}\n"],"mappings":";;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;AASD,IAAaK,kBAAb,cAAqCH,iBAAAA;CACjC,cAAc;EACV,MAAM;GACFI,MAAMN,WAAWO;GACjBC,QAAQJ;GACRK,cAAcN,wBAAwBH,WAAWO,QAAQG,SAAS,CAACA,KAAKC,QAAAA,CAAS;EACrF,CAAA;CACJ;AACJ"}
@@ -1,9 +1,6 @@
1
1
  import type { User } from '@authup/core-kit';
2
- import type { EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';
3
- export declare class UserSubscriber implements EntitySubscriberInterface<User> {
4
- listenTo(): Function | string;
5
- afterInsert(event: InsertEvent<User>): Promise<any>;
6
- afterUpdate(event: UpdateEvent<User>): Promise<any>;
7
- afterRemove(event: RemoveEvent<User>): Promise<any>;
2
+ import { EntitySubscriber } from '../../subscriber/index.ts';
3
+ export declare class UserSubscriber extends EntitySubscriber<User> {
4
+ constructor();
8
5
  }
9
6
  //# sourceMappingURL=subscriber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/user/subscriber.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAQ7C,OAAO,KAAK,EACR,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,WAAW,EACd,MAAM,SAAS,CAAC;AA0BjB,qBACa,cAAe,YAAW,yBAAyB,CAAC,IAAI,CAAC;IAElE,QAAQ,IAAI,QAAQ,GAAG,MAAM;IAIvB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAQnD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAiBnD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAgB5D"}
1
+ {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/user/subscriber.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAI7C,OAAO,EAAE,gBAAgB,EAA2B,MAAM,2BAA2B,CAAC;AAItF,qBACa,cAAe,SAAQ,gBAAgB,CAAC,IAAI,CAAC;;CAgBzD"}
@@ -1,12 +1,12 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
- import { publishDomainEvent } from "../../event-publisher/module.mjs";
5
- import "../../event-publisher/index.mjs";
4
+ import { EntitySubscriber, buildEntityDestinations } from "../../subscriber/module.mjs";
5
+ import "../../subscriber/index.mjs";
6
6
  import { CachePrefix } from "../constants.mjs";
7
7
  import { UserEntity } from "./entity.mjs";
8
8
  import { EventSubscriber } from "typeorm";
9
- import { EntityDefaultEventName, EntityType, buildEntityChannelName, buildEntityNamespaceName } from "@authup/core-kit";
9
+ import { EntityType } from "@authup/core-kit";
10
10
  import { buildRedisKeyPath } from "@authup/server-kit";
11
11
  //#region src/adapters/database/domains/user/subscriber.ts
12
12
  function _ts_decorate(decorators, target, key, desc) {
@@ -15,45 +15,27 @@ function _ts_decorate(decorators, target, key, desc) {
15
15
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
16
  return c > 3 && r && Object.defineProperty(target, key, r), r;
17
17
  }
18
- async function publishEvent(event, data) {
19
- await publishDomainEvent({
20
- content: {
21
- type: EntityType.USER,
22
- event,
23
- data
24
- },
25
- destinations: [{
26
- channel: (id) => buildEntityChannelName(EntityType.USER, id),
27
- namespace: buildEntityNamespaceName(data.realm_id)
28
- }, { channel: (id) => buildEntityChannelName(EntityType.USER, id) }]
29
- });
18
+ function _ts_metadata(k, v) {
19
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
30
20
  }
31
- var UserSubscriber = class {
32
- listenTo() {
33
- return UserEntity;
34
- }
35
- async afterInsert(event) {
36
- if (!event.entity) return;
37
- await publishEvent(EntityDefaultEventName.CREATED, event.entity);
38
- }
39
- async afterUpdate(event) {
40
- if (!event.entity) return;
41
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
42
- prefix: CachePrefix.USER,
43
- key: event.entity.id
44
- })]);
45
- await publishEvent(EntityDefaultEventName.UPDATED, event.entity);
46
- }
47
- async afterRemove(event) {
48
- if (!event.entity) return;
49
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
50
- prefix: CachePrefix.USER,
51
- key: event.entity.id
52
- })]);
53
- await publishEvent(EntityDefaultEventName.DELETED, event.entity);
21
+ var UserSubscriber = class extends EntitySubscriber {
22
+ constructor() {
23
+ super({
24
+ type: EntityType.USER,
25
+ target: UserEntity,
26
+ destinations: buildEntityDestinations(EntityType.USER, (data) => [data.realm_id]),
27
+ cache: { keys: (data) => [buildRedisKeyPath({
28
+ prefix: CachePrefix.USER,
29
+ key: data.id
30
+ })] }
31
+ });
54
32
  }
55
33
  };
56
- UserSubscriber = _ts_decorate([EventSubscriber()], UserSubscriber);
34
+ UserSubscriber = _ts_decorate([
35
+ EventSubscriber(),
36
+ _ts_metadata("design:type", Function),
37
+ _ts_metadata("design:paramtypes", [])
38
+ ], UserSubscriber);
57
39
  //#endregion
58
40
  export { UserSubscriber };
59
41
 
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","UserEntity","CachePrefix","publishEvent","event","data","content","type","USER","destinations","channel","id","namespace","realm_id","UserSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/user/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { User } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType,\n buildEntityChannelName,\n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface,\n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { UserEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: User,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.USER,\n event,\n data,\n },\n destinations: [\n {\n channel: (id) => buildEntityChannelName(EntityType.USER, id),\n namespace: buildEntityNamespaceName(data.realm_id),\n },\n { channel: (id) => buildEntityChannelName(EntityType.USER, id) },\n ],\n });\n}\n\n@EventSubscriber()\nexport class UserSubscriber implements EntitySubscriberInterface<User> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return UserEntity;\n }\n\n async afterInsert(event: InsertEvent<User>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<User>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.USER,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as User);\n }\n\n async afterRemove(event: RemoveEvent<User>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.USER,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAqBD,eAAeS,aACXC,OACAC,MAAU;CAEV,MAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMZ,WAAWa;GACjBJ;GACAC;EACJ;EACAI,cAAc,CACV;GACIC,UAAUC,OAAOf,uBAAuBD,WAAWa,MAAMG,EAAAA;GACzDC,WAAWf,yBAAyBQ,KAAKQ,QAAQ;EACrD,GACA,EAAEH,UAAUC,OAAOf,uBAAuBD,WAAWa,MAAMG,EAAAA,EAAI,CAAA;CAEvE,CAAA;AACJ;AAGA,IAAaG,iBAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOd;CACX;CAEA,MAAMe,YAAYZ,OAAwC;EACtD,IAAI,CAACA,MAAMa,QACP;EAGJ,MAAMd,aAAaT,uBAAuBwB,SAASd,MAAMa,MAAM;CACnE;CAEA,MAAME,YAAYf,OAAwC;EACtD,IAAI,CAACA,MAAMa,QACP;EAGJ,IAAIb,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYM;GACpBgB,KAAKpB,MAAMa,OAAON;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaT,uBAAuB+B,SAASrB,MAAMa,MAAM;CACnE;CAEA,MAAMS,YAAYtB,OAAwC;EACtD,IAAI,CAACA,MAAMa,QACP;EAGJ,IAAIb,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYM;GACpBgB,KAAKpB,MAAMa,OAAON;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaT,uBAAuBiC,SAASvB,MAAMa,MAAM;CACnE;AACJ"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityType","buildRedisKeyPath","EventSubscriber","EntitySubscriber","buildEntityDestinations","UserEntity","CachePrefix","UserSubscriber","type","USER","target","destinations","data","realm_id","cache","keys","prefix","key","id"],"sources":["../../../../../src/adapters/database/domains/user/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { User } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport { EventSubscriber } from 'typeorm';\nimport { EntitySubscriber, buildEntityDestinations } from '../../subscriber/index.ts';\nimport { UserEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\n@EventSubscriber()\nexport class UserSubscriber extends EntitySubscriber<User> {\n constructor() {\n super({\n type: EntityType.USER,\n target: UserEntity,\n destinations: buildEntityDestinations(EntityType.USER, (data) => [data.realm_id]),\n cache: {\n keys: (data) => [\n buildRedisKeyPath({\n prefix: CachePrefix.USER,\n key: data.id,\n }),\n ],\n },\n });\n }\n}\n"],"mappings":";;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;AAWD,IAAaO,iBAAb,cAAoCJ,iBAAAA;CAChC,cAAc;EACV,MAAM;GACFK,MAAMR,WAAWS;GACjBC,QAAQL;GACRM,cAAcP,wBAAwBJ,WAAWS,OAAOG,SAAS,CAACA,KAAKC,QAAAA,CAAS;GAChFC,OAAO,EACHC,OAAOH,SAAS,CACZX,kBAAkB;IACde,QAAQV,YAAYG;IACpBQ,KAAKL,KAAKM;GACd,CAAA,CAAA,EAER;EACJ,CAAA;CACJ;AACJ"}
@@ -1,9 +1,6 @@
1
1
  import type { UserAttribute } from '@authup/core-kit';
2
- import type { EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';
3
- export declare class UserAttributeSubscriber implements EntitySubscriberInterface<UserAttribute> {
4
- listenTo(): Function | string;
5
- afterInsert(event: InsertEvent<UserAttribute>): Promise<any>;
6
- afterUpdate(event: UpdateEvent<UserAttribute>): Promise<any>;
7
- afterRemove(event: RemoveEvent<UserAttribute>): Promise<any>;
2
+ import { EntitySubscriber } from '../../subscriber/index.ts';
3
+ export declare class UserAttributeSubscriber extends EntitySubscriber<UserAttribute> {
4
+ constructor();
8
5
  }
9
6
  //# sourceMappingURL=subscriber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/user-attribute/subscriber.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQtD,OAAO,KAAK,EACR,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,WAAW,EACd,MAAM,SAAS,CAAC;AA0BjB,qBACa,uBAAwB,YAAW,yBAAyB,CAAC,aAAa,CAAC;IAEpF,QAAQ,IAAI,QAAQ,GAAG,MAAM;IAIvB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAe5D,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB5D,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAgBrE"}
1
+ {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/user-attribute/subscriber.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItD,OAAO,EAAE,gBAAgB,EAA2B,MAAM,2BAA2B,CAAC;AAItF,qBACa,uBAAwB,SAAQ,gBAAgB,CAAC,aAAa,CAAC;;CAiB3E"}
@@ -1,12 +1,12 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
- import { publishDomainEvent } from "../../event-publisher/module.mjs";
5
- import "../../event-publisher/index.mjs";
4
+ import { EntitySubscriber, buildEntityDestinations } from "../../subscriber/module.mjs";
5
+ import "../../subscriber/index.mjs";
6
6
  import { CachePrefix } from "../constants.mjs";
7
7
  import { UserAttributeEntity } from "./entity.mjs";
8
8
  import { EventSubscriber } from "typeorm";
9
- import { EntityDefaultEventName, EntityType, buildEntityChannelName, buildEntityNamespaceName } from "@authup/core-kit";
9
+ import { EntityType } from "@authup/core-kit";
10
10
  import { buildRedisKeyPath } from "@authup/server-kit";
11
11
  //#region src/adapters/database/domains/user-attribute/subscriber.ts
12
12
  function _ts_decorate(decorators, target, key, desc) {
@@ -15,49 +15,30 @@ function _ts_decorate(decorators, target, key, desc) {
15
15
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
16
  return c > 3 && r && Object.defineProperty(target, key, r), r;
17
17
  }
18
- async function publishEvent(event, data) {
19
- await publishDomainEvent({
20
- content: {
21
- type: EntityType.USER_ATTRIBUTE,
22
- event,
23
- data
24
- },
25
- destinations: [{
26
- channel: (id) => buildEntityChannelName(EntityType.USER_ATTRIBUTE, id),
27
- namespace: buildEntityNamespaceName(data.realm_id)
28
- }, { channel: (id) => buildEntityChannelName(EntityType.USER_ATTRIBUTE, id) }]
29
- });
18
+ function _ts_metadata(k, v) {
19
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
30
20
  }
31
- var UserAttributeSubscriber = class {
32
- listenTo() {
33
- return UserAttributeEntity;
34
- }
35
- async afterInsert(event) {
36
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
37
- prefix: CachePrefix.USER_OWNED_ATTRIBUTES,
38
- key: event.entity.user_id
39
- })]);
40
- await publishEvent(EntityDefaultEventName.CREATED, event.entity);
41
- return Promise.resolve(void 0);
42
- }
43
- async afterUpdate(event) {
44
- if (!event.entity) return;
45
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
46
- prefix: CachePrefix.USER_OWNED_ATTRIBUTES,
47
- key: event.entity.user_id
48
- })]);
49
- await publishEvent(EntityDefaultEventName.UPDATED, event.entity);
50
- }
51
- async afterRemove(event) {
52
- if (!event.entity) return;
53
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
54
- prefix: CachePrefix.USER_OWNED_ATTRIBUTES,
55
- key: event.entity.user_id
56
- })]);
57
- await publishEvent(EntityDefaultEventName.DELETED, event.entity);
21
+ var UserAttributeSubscriber = class extends EntitySubscriber {
22
+ constructor() {
23
+ super({
24
+ type: EntityType.USER_ATTRIBUTE,
25
+ target: UserAttributeEntity,
26
+ destinations: buildEntityDestinations(EntityType.USER_ATTRIBUTE, (data) => [data.realm_id]),
27
+ cache: {
28
+ onInsert: true,
29
+ keys: (data) => [buildRedisKeyPath({
30
+ prefix: CachePrefix.USER_OWNED_ATTRIBUTES,
31
+ key: data.user_id
32
+ })]
33
+ }
34
+ });
58
35
  }
59
36
  };
60
- UserAttributeSubscriber = _ts_decorate([EventSubscriber()], UserAttributeSubscriber);
37
+ UserAttributeSubscriber = _ts_decorate([
38
+ EventSubscriber(),
39
+ _ts_metadata("design:type", Function),
40
+ _ts_metadata("design:paramtypes", [])
41
+ ], UserAttributeSubscriber);
61
42
  //#endregion
62
43
  export { UserAttributeSubscriber };
63
44
 
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","UserAttributeEntity","CachePrefix","publishEvent","event","data","content","type","USER_ATTRIBUTE","destinations","channel","id","namespace","realm_id","UserAttributeSubscriber","listenTo","afterInsert","connection","queryResultCache","remove","prefix","USER_OWNED_ATTRIBUTES","key","entity","user_id","CREATED","Promise","resolve","undefined","afterUpdate","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/user-attribute/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { UserAttribute } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType,\n buildEntityChannelName,\n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface,\n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { UserAttributeEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: UserAttribute,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.USER_ATTRIBUTE,\n event,\n data,\n },\n destinations: [\n {\n channel: (id) => buildEntityChannelName(EntityType.USER_ATTRIBUTE, id),\n namespace: buildEntityNamespaceName(data.realm_id),\n },\n { channel: (id) => buildEntityChannelName(EntityType.USER_ATTRIBUTE, id) },\n ],\n });\n}\n\n@EventSubscriber()\nexport class UserAttributeSubscriber implements EntitySubscriberInterface<UserAttribute> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return UserAttributeEntity;\n }\n\n async afterInsert(event: InsertEvent<UserAttribute>): Promise<any> {\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.USER_OWNED_ATTRIBUTES,\n key: event.entity.user_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n\n return Promise.resolve(undefined);\n }\n\n async afterUpdate(event: UpdateEvent<UserAttribute>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.USER_OWNED_ATTRIBUTES,\n key: event.entity.user_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as UserAttribute);\n }\n\n async afterRemove(event: RemoveEvent<UserAttribute>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.USER_OWNED_ATTRIBUTES,\n key: event.entity.user_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAqBD,eAAeS,aACXC,OACAC,MAAmB;CAEnB,MAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMZ,WAAWa;GACjBJ;GACAC;EACJ;EACAI,cAAc,CACV;GACIC,UAAUC,OAAOf,uBAAuBD,WAAWa,gBAAgBG,EAAAA;GACnEC,WAAWf,yBAAyBQ,KAAKQ,QAAQ;EACrD,GACA,EAAEH,UAAUC,OAAOf,uBAAuBD,WAAWa,gBAAgBG,EAAAA,EAAI,CAAA;CAEjF,CAAA;AACJ;AAGA,IAAaG,0BAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOd;CACX;CAEA,MAAMe,YAAYZ,OAAiD;EAC/D,IAAIA,MAAMa,WAAWC,kBACjB,MAAMd,MAAMa,WAAWC,iBAAiBC,OAAO,CAC3CrB,kBAAkB;GACdsB,QAAQlB,YAAYmB;GACpBC,KAAKlB,MAAMmB,OAAOC;EACtB,CAAA,CAAA,CACH;EAGL,MAAMrB,aAAaT,uBAAuB+B,SAASrB,MAAMmB,MAAM;EAE/D,OAAOG,QAAQC,QAAQC,KAAAA,CAAAA;CAC3B;CAEA,MAAMC,YAAYzB,OAAiD;EAC/D,IAAI,CAACA,MAAMmB,QACP;EAGJ,IAAInB,MAAMa,WAAWC,kBACjB,MAAMd,MAAMa,WAAWC,iBAAiBC,OAAO,CAC3CrB,kBAAkB;GACdsB,QAAQlB,YAAYmB;GACpBC,KAAKlB,MAAMmB,OAAOC;EACtB,CAAA,CAAA,CACH;EAGL,MAAMrB,aAAaT,uBAAuBoC,SAAS1B,MAAMmB,MAAM;CACnE;CAEA,MAAMQ,YAAY3B,OAAiD;EAC/D,IAAI,CAACA,MAAMmB,QACP;EAGJ,IAAInB,MAAMa,WAAWC,kBACjB,MAAMd,MAAMa,WAAWC,iBAAiBC,OAAO,CAC3CrB,kBAAkB;GACdsB,QAAQlB,YAAYmB;GACpBC,KAAKlB,MAAMmB,OAAOC;EACtB,CAAA,CAAA,CACH;EAGL,MAAMrB,aAAaT,uBAAuBsC,SAAS5B,MAAMmB,MAAM;CACnE;AACJ"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityType","buildRedisKeyPath","EventSubscriber","EntitySubscriber","buildEntityDestinations","UserAttributeEntity","CachePrefix","UserAttributeSubscriber","type","USER_ATTRIBUTE","target","destinations","data","realm_id","cache","onInsert","keys","prefix","USER_OWNED_ATTRIBUTES","key","user_id"],"sources":["../../../../../src/adapters/database/domains/user-attribute/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { UserAttribute } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport { EventSubscriber } from 'typeorm';\nimport { EntitySubscriber, buildEntityDestinations } from '../../subscriber/index.ts';\nimport { UserAttributeEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\n@EventSubscriber()\nexport class UserAttributeSubscriber extends EntitySubscriber<UserAttribute> {\n constructor() {\n super({\n type: EntityType.USER_ATTRIBUTE,\n target: UserAttributeEntity,\n destinations: buildEntityDestinations(EntityType.USER_ATTRIBUTE, (data) => [data.realm_id]),\n cache: {\n onInsert: true,\n keys: (data) => [\n buildRedisKeyPath({\n prefix: CachePrefix.USER_OWNED_ATTRIBUTES,\n key: data.user_id,\n }),\n ],\n },\n });\n }\n}\n"],"mappings":";;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;AAWD,IAAaO,0BAAb,cAA6CJ,iBAAAA;CACzC,cAAc;EACV,MAAM;GACFK,MAAMR,WAAWS;GACjBC,QAAQL;GACRM,cAAcP,wBAAwBJ,WAAWS,iBAAiBG,SAAS,CAACA,KAAKC,QAAAA,CAAS;GAC1FC,OAAO;IACHC,UAAU;IACVC,OAAOJ,SAAS,CACZX,kBAAkB;KACdgB,QAAQX,YAAYY;KACpBC,KAAKP,KAAKQ;IACd,CAAA,CAAA;GAER;EACJ,CAAA;CACJ;AACJ"}
@@ -1,9 +1,6 @@
1
1
  import type { UserPermission } from '@authup/core-kit';
2
- import type { EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';
3
- export declare class UserPermissionSubscriber implements EntitySubscriberInterface<UserPermission> {
4
- listenTo(): Function | string;
5
- afterInsert(event: InsertEvent<UserPermission>): Promise<any>;
6
- afterUpdate(event: UpdateEvent<UserPermission>): Promise<any>;
7
- afterRemove(event: RemoveEvent<UserPermission>): Promise<any>;
2
+ import { EntitySubscriber } from '../../subscriber/index.ts';
3
+ export declare class UserPermissionSubscriber extends EntitySubscriber<UserPermission> {
4
+ constructor();
8
5
  }
9
6
  //# sourceMappingURL=subscriber.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/user-permission/subscriber.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASvD,OAAO,KAAK,EACR,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,WAAW,EACd,MAAM,SAAS,CAAC;AAqCjB,qBACa,wBAAyB,YAAW,yBAAyB,CAAC,cAAc,CAAC;IAEtF,QAAQ,IAAI,QAAQ,GAAG,MAAM;IAIvB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAe7D,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB7D,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAgBtE"}
1
+ {"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/user-permission/subscriber.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvD,OAAO,EAAE,gBAAgB,EAA2B,MAAM,2BAA2B,CAAC;AAItF,qBACa,wBAAyB,SAAQ,gBAAgB,CAAC,cAAc,CAAC;;CAoB7E"}
@@ -1,12 +1,12 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
- import { publishDomainEvent } from "../../event-publisher/module.mjs";
5
- import "../../event-publisher/index.mjs";
4
+ import { EntitySubscriber, buildEntityDestinations } from "../../subscriber/module.mjs";
5
+ import "../../subscriber/index.mjs";
6
6
  import { CachePrefix } from "../constants.mjs";
7
7
  import { UserPermissionEntity } from "./entity.mjs";
8
8
  import { EventSubscriber } from "typeorm";
9
- import { EntityDefaultEventName, EntityType, buildEntityChannelName, buildEntityNamespaceName } from "@authup/core-kit";
9
+ import { EntityType } from "@authup/core-kit";
10
10
  import { buildRedisKeyPath } from "@authup/server-kit";
11
11
  //#region src/adapters/database/domains/user-permission/subscriber.ts
12
12
  function _ts_decorate(decorators, target, key, desc) {
@@ -15,55 +15,30 @@ function _ts_decorate(decorators, target, key, desc) {
15
15
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
16
  return c > 3 && r && Object.defineProperty(target, key, r), r;
17
17
  }
18
- async function publishEvent(event, data) {
19
- const destinations = [{ channel: (id) => buildEntityChannelName(EntityType.USER_PERMISSION, id) }];
20
- if (data.user_realm_id) destinations.push({
21
- channel: (id) => buildEntityChannelName(EntityType.USER_PERMISSION, id),
22
- namespace: buildEntityNamespaceName(data.user_realm_id)
23
- });
24
- if (data.permission_realm_id) destinations.push({
25
- channel: (id) => buildEntityChannelName(EntityType.USER_PERMISSION, id),
26
- namespace: buildEntityNamespaceName(data.permission_realm_id)
27
- });
28
- await publishDomainEvent({
29
- content: {
30
- type: EntityType.USER_PERMISSION,
31
- event,
32
- data
33
- },
34
- destinations
35
- });
18
+ function _ts_metadata(k, v) {
19
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
36
20
  }
37
- var UserPermissionSubscriber = class {
38
- listenTo() {
39
- return UserPermissionEntity;
40
- }
41
- async afterInsert(event) {
42
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
43
- prefix: CachePrefix.USER_OWNED_PERMISSIONS,
44
- key: event.entity.user_id
45
- })]);
46
- await publishEvent(EntityDefaultEventName.CREATED, event.entity);
47
- return Promise.resolve(void 0);
48
- }
49
- async afterUpdate(event) {
50
- if (!event.entity) return;
51
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
52
- prefix: CachePrefix.USER_OWNED_PERMISSIONS,
53
- key: event.entity.user_id
54
- })]);
55
- await publishEvent(EntityDefaultEventName.UPDATED, event.entity);
56
- }
57
- async afterRemove(event) {
58
- if (!event.entity) return;
59
- if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
60
- prefix: CachePrefix.USER_OWNED_PERMISSIONS,
61
- key: event.entity.user_id
62
- })]);
63
- await publishEvent(EntityDefaultEventName.DELETED, event.entity);
21
+ var UserPermissionSubscriber = class extends EntitySubscriber {
22
+ constructor() {
23
+ super({
24
+ type: EntityType.USER_PERMISSION,
25
+ target: UserPermissionEntity,
26
+ destinations: buildEntityDestinations(EntityType.USER_PERMISSION, (data) => [data.user_realm_id, data.permission_realm_id]),
27
+ cache: {
28
+ onInsert: true,
29
+ keys: (data) => [buildRedisKeyPath({
30
+ prefix: CachePrefix.USER_OWNED_PERMISSIONS,
31
+ key: data.user_id
32
+ })]
33
+ }
34
+ });
64
35
  }
65
36
  };
66
- UserPermissionSubscriber = _ts_decorate([EventSubscriber()], UserPermissionSubscriber);
37
+ UserPermissionSubscriber = _ts_decorate([
38
+ EventSubscriber(),
39
+ _ts_metadata("design:type", Function),
40
+ _ts_metadata("design:paramtypes", [])
41
+ ], UserPermissionSubscriber);
67
42
  //#endregion
68
43
  export { UserPermissionSubscriber };
69
44