@authup/server-core 1.0.0-beta.53 → 1.0.0-beta.54

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 (1152) hide show
  1. package/dist/adapters/database/data-source/options/module.d.ts.map +1 -1
  2. package/dist/adapters/database/data-source/options/module.mjs +0 -13
  3. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.d.ts +16 -16
  5. package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
  6. package/dist/adapters/database/domains/client/entity.mjs +52 -34
  7. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  8. package/dist/adapters/database/domains/client/subscriber.mjs +1 -1
  9. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-permission/entity.d.ts +10 -10
  11. package/dist/adapters/database/domains/client-permission/entity.d.ts.map +1 -1
  12. package/dist/adapters/database/domains/client-permission/entity.mjs +40 -21
  13. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
  14. package/dist/adapters/database/domains/client-permission/subscriber.mjs +2 -2
  15. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
  16. package/dist/adapters/database/domains/client-role/entity.d.ts +8 -8
  17. package/dist/adapters/database/domains/client-role/entity.d.ts.map +1 -1
  18. package/dist/adapters/database/domains/client-role/entity.mjs +29 -17
  19. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/client-role/subscriber.mjs +2 -2
  21. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
  22. package/dist/adapters/database/domains/client-scope/entity.d.ts +8 -8
  23. package/dist/adapters/database/domains/client-scope/entity.d.ts.map +1 -1
  24. package/dist/adapters/database/domains/client-scope/entity.mjs +29 -17
  25. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  26. package/dist/adapters/database/domains/consent/entity.d.ts +7 -7
  27. package/dist/adapters/database/domains/consent/entity.d.ts.map +1 -1
  28. package/dist/adapters/database/domains/consent/entity.mjs +33 -18
  29. package/dist/adapters/database/domains/consent/entity.mjs.map +1 -1
  30. package/dist/adapters/database/domains/consent/subscriber.mjs +2 -2
  31. package/dist/adapters/database/domains/consent/subscriber.mjs.map +1 -1
  32. package/dist/adapters/database/domains/constants.d.ts +0 -3
  33. package/dist/adapters/database/domains/constants.d.ts.map +1 -1
  34. package/dist/adapters/database/domains/constants.mjs +0 -3
  35. package/dist/adapters/database/domains/constants.mjs.map +1 -1
  36. package/dist/adapters/database/domains/event/entity.d.ts +13 -13
  37. package/dist/adapters/database/domains/event/entity.d.ts.map +1 -1
  38. package/dist/adapters/database/domains/event/entity.mjs +43 -28
  39. package/dist/adapters/database/domains/event/entity.mjs.map +1 -1
  40. package/dist/adapters/database/domains/identity-provider/entity.d.ts +4 -4
  41. package/dist/adapters/database/domains/identity-provider/entity.d.ts.map +1 -1
  42. package/dist/adapters/database/domains/identity-provider/entity.mjs +17 -10
  43. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  44. package/dist/adapters/database/domains/identity-provider/repository.mjs +3 -3
  45. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
  46. package/dist/adapters/database/domains/identity-provider/subscriber.mjs +1 -1
  47. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  48. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts +15 -15
  49. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts.map +1 -1
  50. package/dist/adapters/database/domains/identity-provider-account/entity.mjs +50 -31
  51. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  52. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts +4 -4
  53. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts.map +1 -1
  54. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +18 -9
  55. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  56. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts +9 -9
  57. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts.map +1 -1
  58. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +29 -19
  59. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  60. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts +10 -10
  61. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts.map +1 -1
  62. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +32 -21
  63. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  64. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts +10 -10
  65. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts.map +1 -1
  66. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +32 -21
  67. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  68. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +1 -1
  69. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  70. package/dist/adapters/database/domains/index.d.ts +0 -3
  71. package/dist/adapters/database/domains/index.d.ts.map +1 -1
  72. package/dist/adapters/database/domains/index.mjs +1 -10
  73. package/dist/adapters/database/domains/key/entity.d.ts +6 -6
  74. package/dist/adapters/database/domains/key/entity.d.ts.map +1 -1
  75. package/dist/adapters/database/domains/key/entity.mjs +24 -14
  76. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  77. package/dist/adapters/database/domains/permission/entity.d.ts +7 -7
  78. package/dist/adapters/database/domains/permission/entity.d.ts.map +1 -1
  79. package/dist/adapters/database/domains/permission/entity.mjs +33 -18
  80. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  81. package/dist/adapters/database/domains/permission/subscriber.mjs +2 -2
  82. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  83. package/dist/adapters/database/domains/permission-policy/entity.d.ts +8 -8
  84. package/dist/adapters/database/domains/permission-policy/entity.d.ts.map +1 -1
  85. package/dist/adapters/database/domains/permission-policy/entity.mjs +29 -17
  86. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  87. package/dist/adapters/database/domains/policy/entity.d.ts +6 -6
  88. package/dist/adapters/database/domains/policy/entity.d.ts.map +1 -1
  89. package/dist/adapters/database/domains/policy/entity.mjs +28 -14
  90. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  91. package/dist/adapters/database/domains/policy/repository.mjs +3 -3
  92. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
  93. package/dist/adapters/database/domains/policy-attribute/entity.d.ts +4 -4
  94. package/dist/adapters/database/domains/policy-attribute/entity.d.ts.map +1 -1
  95. package/dist/adapters/database/domains/policy-attribute/entity.mjs +18 -9
  96. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  97. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +2 -2
  98. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
  99. package/dist/adapters/database/domains/realm/entity.d.ts +4 -4
  100. package/dist/adapters/database/domains/realm/entity.d.ts.map +1 -1
  101. package/dist/adapters/database/domains/realm/entity.mjs +16 -8
  102. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  103. package/dist/adapters/database/domains/role/entity.d.ts +6 -6
  104. package/dist/adapters/database/domains/role/entity.d.ts.map +1 -1
  105. package/dist/adapters/database/domains/role/entity.mjs +30 -16
  106. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  107. package/dist/adapters/database/domains/role/repository.mjs +3 -3
  108. package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
  109. package/dist/adapters/database/domains/role/subscriber.mjs +1 -1
  110. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  111. package/dist/adapters/database/domains/role-attribute/entity.d.ts +4 -4
  112. package/dist/adapters/database/domains/role-attribute/entity.d.ts.map +1 -1
  113. package/dist/adapters/database/domains/role-attribute/entity.mjs +18 -9
  114. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  115. package/dist/adapters/database/domains/role-attribute/subscriber.mjs +2 -2
  116. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  117. package/dist/adapters/database/domains/role-permission/entity.d.ts +10 -10
  118. package/dist/adapters/database/domains/role-permission/entity.d.ts.map +1 -1
  119. package/dist/adapters/database/domains/role-permission/entity.mjs +37 -21
  120. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  121. package/dist/adapters/database/domains/role-permission/subscriber.mjs +2 -2
  122. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  123. package/dist/adapters/database/domains/scope/entity.d.ts +5 -5
  124. package/dist/adapters/database/domains/scope/entity.d.ts.map +1 -1
  125. package/dist/adapters/database/domains/scope/entity.mjs +23 -12
  126. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  127. package/dist/adapters/database/domains/scope/subscriber.mjs +1 -1
  128. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  129. package/dist/adapters/database/domains/session/entity.d.ts +14 -17
  130. package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
  131. package/dist/adapters/database/domains/session/entity.mjs +42 -42
  132. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  133. package/dist/adapters/database/domains/session-token/entity.d.ts +9 -9
  134. package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -1
  135. package/dist/adapters/database/domains/session-token/entity.mjs +32 -19
  136. package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -1
  137. package/dist/adapters/database/domains/trust-anchor/entity.d.ts +3 -3
  138. package/dist/adapters/database/domains/trust-anchor/entity.d.ts.map +1 -1
  139. package/dist/adapters/database/domains/trust-anchor/entity.mjs +14 -8
  140. package/dist/adapters/database/domains/trust-anchor/entity.mjs.map +1 -1
  141. package/dist/adapters/database/domains/user/entity.d.ts +12 -12
  142. package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
  143. package/dist/adapters/database/domains/user/entity.mjs +42 -27
  144. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  145. package/dist/adapters/database/domains/user/repository.mjs +3 -3
  146. package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
  147. package/dist/adapters/database/domains/user/subscriber.mjs +1 -1
  148. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  149. package/dist/adapters/database/domains/user-attribute/entity.d.ts +4 -4
  150. package/dist/adapters/database/domains/user-attribute/entity.d.ts.map +1 -1
  151. package/dist/adapters/database/domains/user-attribute/entity.mjs +15 -9
  152. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  153. package/dist/adapters/database/domains/user-attribute/subscriber.mjs +2 -2
  154. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  155. package/dist/adapters/database/domains/user-authenticator/entity.d.ts +5 -5
  156. package/dist/adapters/database/domains/user-authenticator/entity.d.ts.map +1 -1
  157. package/dist/adapters/database/domains/user-authenticator/entity.mjs +24 -11
  158. package/dist/adapters/database/domains/user-authenticator/entity.mjs.map +1 -1
  159. package/dist/adapters/database/domains/user-permission/entity.d.ts +10 -10
  160. package/dist/adapters/database/domains/user-permission/entity.d.ts.map +1 -1
  161. package/dist/adapters/database/domains/user-permission/entity.mjs +37 -21
  162. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  163. package/dist/adapters/database/domains/user-permission/subscriber.mjs +2 -2
  164. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  165. package/dist/adapters/database/domains/user-role/entity.d.ts +8 -8
  166. package/dist/adapters/database/domains/user-role/entity.d.ts.map +1 -1
  167. package/dist/adapters/database/domains/user-role/entity.mjs +29 -17
  168. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  169. package/dist/adapters/database/domains/user-role/subscriber.mjs +2 -2
  170. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  171. package/dist/adapters/database/helpers/is-supported.mjs +1 -1
  172. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  173. package/dist/adapters/database/index.mjs +1 -7
  174. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts +12 -0
  175. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  176. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs +42 -0
  177. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  178. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts +18 -0
  179. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts.map +1 -0
  180. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs +161 -0
  181. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs.map +1 -0
  182. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts +12 -0
  183. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  184. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs +42 -0
  185. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  186. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts +18 -0
  187. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts.map +1 -0
  188. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs +167 -0
  189. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs.map +1 -0
  190. package/dist/adapters/http/adapters/index.mjs +1 -2
  191. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +2 -2
  192. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  193. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +3 -3
  194. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  195. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +1 -1
  196. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  197. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts +0 -1
  198. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts.map +1 -1
  199. package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +1 -2
  200. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +1 -1
  201. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  202. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +1 -1
  203. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  204. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +1 -4
  205. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
  206. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts.map +1 -1
  207. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +0 -3
  208. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
  209. package/dist/adapters/http/adapters/oauth2/index.mjs +1 -2
  210. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +3 -3
  211. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
  212. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +2 -2
  213. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
  214. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +2 -2
  215. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
  216. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  217. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +19 -13
  218. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  219. package/dist/adapters/http/controllers/entities/index.d.ts +0 -3
  220. package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
  221. package/dist/adapters/http/controllers/entities/index.mjs +1 -9
  222. package/dist/adapters/http/controllers/entities/key/module.d.ts.map +1 -1
  223. package/dist/adapters/http/controllers/entities/key/module.mjs +1 -7
  224. package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -1
  225. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts +1 -1
  226. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts.map +1 -1
  227. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +3 -3
  228. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
  229. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +1 -1
  230. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
  231. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +3 -3
  232. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
  233. package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
  234. package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts.map +1 -1
  235. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs +1 -7
  236. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -1
  237. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +1 -1
  238. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
  239. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs +1 -1
  240. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -1
  241. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +3 -3
  242. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
  243. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +2 -2
  244. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
  245. package/dist/adapters/http/controllers/index.mjs +1 -6
  246. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +4 -4
  247. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  248. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +10 -10
  249. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
  250. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +9 -9
  251. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
  252. package/dist/adapters/http/controllers/workflows/status/module.mjs +2 -2
  253. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  254. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  255. package/dist/adapters/http/controllers/workflows/token/module.mjs +2 -8
  256. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  257. package/dist/adapters/http/controllers/workflows/token/types.d.ts +1 -2
  258. package/dist/adapters/http/controllers/workflows/token/types.d.ts.map +1 -1
  259. package/dist/adapters/http/index.mjs +1 -7
  260. package/dist/adapters/http/middleware/built-in/assets.mjs +2 -2
  261. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  262. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +1 -2
  263. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
  264. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +1 -15
  265. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  266. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +0 -1
  267. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
  268. package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
  269. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +0 -1
  270. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  271. package/dist/adapters/http/request/client-certificate.d.ts +1 -0
  272. package/dist/adapters/http/request/client-certificate.d.ts.map +1 -1
  273. package/dist/adapters/http/request/client-certificate.mjs +1 -0
  274. package/dist/adapters/http/request/client-certificate.mjs.map +1 -1
  275. package/dist/adapters/http/request/helpers/body-realm-id.mjs +1 -1
  276. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
  277. package/dist/adapters/http/request/helpers/identity.d.ts +2 -2
  278. package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
  279. package/dist/adapters/http/request/helpers/identity.mjs +2 -2
  280. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
  281. package/dist/adapters/http/request/helpers/realm-id.mjs +1 -1
  282. package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -1
  283. package/dist/adapters/http/request/permission/module.d.ts +3 -2
  284. package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
  285. package/dist/adapters/http/request/permission/module.mjs +3 -0
  286. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  287. package/dist/adapters/http/ui/render.mjs +2 -2
  288. package/dist/adapters/http/ui/render.mjs.map +1 -1
  289. package/dist/adapters/http/ui/serve.d.ts.map +1 -1
  290. package/dist/adapters/http/ui/serve.mjs +4 -1
  291. package/dist/adapters/http/ui/serve.mjs.map +1 -1
  292. package/dist/app/index.mjs +1 -5
  293. package/dist/app/modules/authentication/repositories/session.d.ts +3 -2
  294. package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
  295. package/dist/app/modules/authentication/repositories/session.mjs +8 -40
  296. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  297. package/dist/app/modules/config/constants.d.ts +0 -4
  298. package/dist/app/modules/config/constants.d.ts.map +1 -1
  299. package/dist/app/modules/config/constants.mjs +0 -4
  300. package/dist/app/modules/config/constants.mjs.map +1 -1
  301. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  302. package/dist/app/modules/config/normalize.mjs +0 -4
  303. package/dist/app/modules/config/normalize.mjs.map +1 -1
  304. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  305. package/dist/app/modules/config/read/env.mjs +0 -8
  306. package/dist/app/modules/config/read/env.mjs.map +1 -1
  307. package/dist/app/modules/config/types.d.ts +0 -19
  308. package/dist/app/modules/config/types.d.ts.map +1 -1
  309. package/dist/app/modules/config/validator.d.ts.map +1 -1
  310. package/dist/app/modules/config/validator.mjs +0 -4
  311. package/dist/app/modules/config/validator.mjs.map +1 -1
  312. package/dist/app/modules/database/index.mjs +1 -4
  313. package/dist/app/modules/database/module.d.ts.map +1 -1
  314. package/dist/app/modules/database/module.mjs +2 -0
  315. package/dist/app/modules/database/module.mjs.map +1 -1
  316. package/dist/app/modules/database/repositories/bindings.d.ts +2 -2
  317. package/dist/app/modules/database/repositories/bindings.d.ts.map +1 -1
  318. package/dist/app/modules/database/repositories/bindings.mjs +3 -3
  319. package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
  320. package/dist/app/modules/database/repositories/client/repository.d.ts +3 -2
  321. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  322. package/dist/app/modules/database/repositories/client/repository.mjs +10 -82
  323. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  324. package/dist/app/modules/database/repositories/client-permission/repository.d.ts +2 -1
  325. package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
  326. package/dist/app/modules/database/repositories/client-permission/repository.mjs +3 -17
  327. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  328. package/dist/app/modules/database/repositories/client-role/repository.d.ts +2 -1
  329. package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
  330. package/dist/app/modules/database/repositories/client-role/repository.mjs +3 -17
  331. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  332. package/dist/app/modules/database/repositories/client-scope/repository.d.ts +2 -1
  333. package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
  334. package/dist/app/modules/database/repositories/client-scope/repository.mjs +3 -17
  335. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  336. package/dist/app/modules/database/repositories/event/repository.d.ts +2 -1
  337. package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -1
  338. package/dist/app/modules/database/repositories/event/repository.mjs +14 -53
  339. package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -1
  340. package/dist/app/modules/database/repositories/helpers.d.ts +17 -3
  341. package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
  342. package/dist/app/modules/database/repositories/helpers.mjs +40 -5
  343. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  344. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
  345. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  346. package/dist/app/modules/database/repositories/identity-provider/repository.mjs +6 -37
  347. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  348. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
  349. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
  350. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +3 -17
  351. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  352. package/dist/app/modules/database/repositories/index.d.ts +0 -3
  353. package/dist/app/modules/database/repositories/index.d.ts.map +1 -1
  354. package/dist/app/modules/database/repositories/index.mjs +1 -7
  355. package/dist/app/modules/database/repositories/key/repository.d.ts +3 -2
  356. package/dist/app/modules/database/repositories/key/repository.d.ts.map +1 -1
  357. package/dist/app/modules/database/repositories/key/repository.mjs +38 -72
  358. package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -1
  359. package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
  360. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  361. package/dist/app/modules/database/repositories/permission/repository.mjs +5 -20
  362. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  363. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
  364. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
  365. package/dist/app/modules/database/repositories/permission-policy/repository.mjs +3 -17
  366. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  367. package/dist/app/modules/database/repositories/permission-provider/module.mjs +6 -6
  368. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
  369. package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
  370. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  371. package/dist/app/modules/database/repositories/policy/repository.mjs +5 -39
  372. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  373. package/dist/app/modules/database/repositories/query.d.ts +18 -0
  374. package/dist/app/modules/database/repositories/query.d.ts.map +1 -0
  375. package/dist/app/modules/database/repositories/query.mjs +29 -0
  376. package/dist/app/modules/database/repositories/query.mjs.map +1 -0
  377. package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
  378. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  379. package/dist/app/modules/database/repositories/realm/repository.mjs +3 -25
  380. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  381. package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
  382. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  383. package/dist/app/modules/database/repositories/role/repository.mjs +6 -30
  384. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  385. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
  386. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  387. package/dist/app/modules/database/repositories/role-attribute/repository.mjs +3 -19
  388. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  389. package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
  390. package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
  391. package/dist/app/modules/database/repositories/role-permission/repository.mjs +3 -17
  392. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  393. package/dist/app/modules/database/repositories/schema-validation.d.ts +11 -0
  394. package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -0
  395. package/dist/app/modules/database/repositories/schema-validation.mjs +77 -0
  396. package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -0
  397. package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
  398. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  399. package/dist/app/modules/database/repositories/scope/repository.mjs +5 -29
  400. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  401. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts +2 -1
  402. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts.map +1 -1
  403. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +5 -29
  404. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs.map +1 -1
  405. package/dist/app/modules/database/repositories/user/repository.d.ts +3 -2
  406. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  407. package/dist/app/modules/database/repositories/user/repository.mjs +9 -66
  408. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  409. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
  410. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  411. package/dist/app/modules/database/repositories/user-attribute/repository.mjs +4 -20
  412. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  413. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts +2 -1
  414. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts.map +1 -1
  415. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs +8 -34
  416. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs.map +1 -1
  417. package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
  418. package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
  419. package/dist/app/modules/database/repositories/user-permission/repository.mjs +3 -17
  420. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  421. package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
  422. package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
  423. package/dist/app/modules/database/repositories/user-role/repository.mjs +3 -17
  424. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  425. package/dist/app/modules/http/modules/controller.d.ts +1 -4
  426. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  427. package/dist/app/modules/http/modules/controller.mjs +0 -52
  428. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  429. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  430. package/dist/app/modules/http/modules/middleware.mjs +0 -1
  431. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  432. package/dist/app/modules/identity/index.mjs +1 -2
  433. package/dist/app/modules/identity/module.d.ts.map +1 -1
  434. package/dist/app/modules/identity/module.mjs +1 -12
  435. package/dist/app/modules/identity/module.mjs.map +1 -1
  436. package/dist/app/modules/identity/repositories/client.mjs +2 -2
  437. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  438. package/dist/app/modules/identity/repositories/index.d.ts +0 -1
  439. package/dist/app/modules/identity/repositories/index.d.ts.map +1 -1
  440. package/dist/app/modules/identity/repositories/index.mjs +1 -2
  441. package/dist/app/modules/identity/repositories/provider/account/module.mjs +3 -3
  442. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  443. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +1 -1
  444. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  445. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +1 -1
  446. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  447. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +1 -1
  448. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  449. package/dist/app/modules/identity/repositories/user.mjs +18 -18
  450. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  451. package/dist/app/modules/index.mjs +1 -5
  452. package/dist/app/modules/oauth2/repositories/client/repository.mjs +1 -1
  453. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  454. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts +2 -1
  455. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -1
  456. package/dist/app/modules/oauth2/repositories/consent/repository.mjs +14 -38
  457. package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -1
  458. package/dist/app/modules/oauth2/repositories/scope/repository.mjs +1 -1
  459. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
  460. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +21 -18
  461. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
  462. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  463. package/dist/app/modules/provisioning/module.mjs +9 -24
  464. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  465. package/dist/app/modules/provisioning/sources/composite/module.d.ts +17 -0
  466. package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
  467. package/dist/app/modules/provisioning/sources/composite/module.mjs +54 -2
  468. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  469. package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
  470. package/dist/app/modules/provisioning/sources/default/module.mjs +43 -78
  471. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  472. package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
  473. package/dist/app/modules/provisioning/sources/file/module.mjs +4 -3
  474. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  475. package/dist/app/modules/provisioning/sources/file/types.d.ts +2 -0
  476. package/dist/app/modules/provisioning/sources/file/types.d.ts.map +1 -1
  477. package/dist/app/modules/provisioning/sources/index.mjs +1 -0
  478. package/dist/components/database/unique-entries/module.mjs +6 -6
  479. package/dist/components/database/unique-entries/module.mjs.map +1 -1
  480. package/dist/components/oauth2-cleaner/module.mjs +2 -2
  481. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  482. package/dist/core/authentication/credential/entities/client/module.d.ts +1 -1
  483. package/dist/core/authentication/credential/entities/client/module.d.ts.map +1 -1
  484. package/dist/core/authentication/credential/entities/client/module.mjs +3 -3
  485. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
  486. package/dist/core/authentication/credential/entities/index.d.ts +0 -1
  487. package/dist/core/authentication/credential/entities/index.d.ts.map +1 -1
  488. package/dist/core/authentication/credential/entities/index.mjs +1 -3
  489. package/dist/core/authentication/credential/index.mjs +1 -2
  490. package/dist/core/authentication/entities/client/module.mjs +1 -1
  491. package/dist/core/authentication/entities/client/module.mjs.map +1 -1
  492. package/dist/core/authentication/entities/index.d.ts +0 -1
  493. package/dist/core/authentication/entities/index.d.ts.map +1 -1
  494. package/dist/core/authentication/entities/index.mjs +1 -3
  495. package/dist/core/authentication/index.mjs +1 -3
  496. package/dist/core/authentication/session/module.d.ts.map +1 -1
  497. package/dist/core/authentication/session/module.mjs +14 -17
  498. package/dist/core/authentication/session/module.mjs.map +1 -1
  499. package/dist/core/authentication/session/types.d.ts +7 -6
  500. package/dist/core/authentication/session/types.d.ts.map +1 -1
  501. package/dist/core/authentication/session/types.mjs +4 -5
  502. package/dist/core/authentication/session/types.mjs.map +1 -1
  503. package/dist/core/client-certificate/module.d.ts +2 -1
  504. package/dist/core/client-certificate/module.d.ts.map +1 -1
  505. package/dist/core/client-certificate/module.mjs +2 -1
  506. package/dist/core/client-certificate/module.mjs.map +1 -1
  507. package/dist/core/client-certificate/reflect.d.ts +2 -0
  508. package/dist/core/client-certificate/reflect.d.ts.map +1 -0
  509. package/dist/core/{identity/entities/robot/index.mjs → client-certificate/reflect.mjs} +1 -0
  510. package/dist/core/client-certificate/types.d.ts +1 -1
  511. package/dist/core/client-certificate/types.d.ts.map +1 -1
  512. package/dist/core/entities/client/index.d.ts +1 -0
  513. package/dist/core/entities/client/index.d.ts.map +1 -1
  514. package/dist/core/entities/client/index.mjs +2 -1
  515. package/dist/core/entities/client/schema.d.ts +3 -0
  516. package/dist/core/entities/client/schema.d.ts.map +1 -0
  517. package/dist/core/entities/client/schema.mjs +59 -0
  518. package/dist/core/entities/client/schema.mjs.map +1 -0
  519. package/dist/core/entities/client/service.d.ts.map +1 -1
  520. package/dist/core/entities/client/service.mjs +42 -19
  521. package/dist/core/entities/client/service.mjs.map +1 -1
  522. package/dist/core/entities/client/types.d.ts +2 -1
  523. package/dist/core/entities/client/types.d.ts.map +1 -1
  524. package/dist/core/entities/client/web-client.d.ts +4 -4
  525. package/dist/core/entities/client/web-client.mjs +13 -13
  526. package/dist/core/entities/client/web-client.mjs.map +1 -1
  527. package/dist/core/entities/client-permission/index.d.ts +1 -0
  528. package/dist/core/entities/client-permission/index.d.ts.map +1 -1
  529. package/dist/core/entities/client-permission/index.mjs +2 -1
  530. package/dist/core/entities/client-permission/schema.d.ts +3 -0
  531. package/dist/core/entities/client-permission/schema.d.ts.map +1 -0
  532. package/dist/core/entities/client-permission/schema.mjs +41 -0
  533. package/dist/core/entities/client-permission/schema.mjs.map +1 -0
  534. package/dist/core/entities/client-permission/service.d.ts +1 -1
  535. package/dist/core/entities/client-permission/service.d.ts.map +1 -1
  536. package/dist/core/entities/client-permission/service.mjs +24 -18
  537. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  538. package/dist/core/entities/client-role/index.d.ts +1 -0
  539. package/dist/core/entities/client-role/index.d.ts.map +1 -1
  540. package/dist/core/entities/client-role/index.mjs +2 -1
  541. package/dist/core/entities/client-role/schema.d.ts +3 -0
  542. package/dist/core/entities/client-role/schema.d.ts.map +1 -0
  543. package/dist/core/entities/client-role/schema.mjs +39 -0
  544. package/dist/core/entities/client-role/schema.mjs.map +1 -0
  545. package/dist/core/entities/client-role/service.d.ts +1 -1
  546. package/dist/core/entities/client-role/service.d.ts.map +1 -1
  547. package/dist/core/entities/client-role/service.mjs +14 -8
  548. package/dist/core/entities/client-role/service.mjs.map +1 -1
  549. package/dist/core/entities/client-scope/index.d.ts +1 -0
  550. package/dist/core/entities/client-scope/index.d.ts.map +1 -1
  551. package/dist/core/entities/client-scope/index.mjs +2 -1
  552. package/dist/core/entities/client-scope/schema.d.ts +3 -0
  553. package/dist/core/entities/client-scope/schema.d.ts.map +1 -0
  554. package/dist/core/entities/client-scope/schema.mjs +37 -0
  555. package/dist/core/entities/client-scope/schema.mjs.map +1 -0
  556. package/dist/core/entities/client-scope/service.d.ts +1 -1
  557. package/dist/core/entities/client-scope/service.d.ts.map +1 -1
  558. package/dist/core/entities/client-scope/service.mjs +12 -6
  559. package/dist/core/entities/client-scope/service.mjs.map +1 -1
  560. package/dist/core/entities/consent/index.d.ts +1 -0
  561. package/dist/core/entities/consent/index.d.ts.map +1 -1
  562. package/dist/core/entities/consent/index.mjs +2 -1
  563. package/dist/core/entities/consent/schema.d.ts +3 -0
  564. package/dist/core/entities/consent/schema.d.ts.map +1 -0
  565. package/dist/core/entities/consent/schema.mjs +40 -0
  566. package/dist/core/entities/consent/schema.mjs.map +1 -0
  567. package/dist/core/entities/consent/service.d.ts.map +1 -1
  568. package/dist/core/entities/consent/service.mjs +22 -6
  569. package/dist/core/entities/consent/service.mjs.map +1 -1
  570. package/dist/core/entities/consent/types.d.ts +3 -2
  571. package/dist/core/entities/consent/types.d.ts.map +1 -1
  572. package/dist/core/entities/consent/types.mjs +3 -3
  573. package/dist/core/entities/consent/types.mjs.map +1 -1
  574. package/dist/core/entities/event/diff.d.ts +4 -4
  575. package/dist/core/entities/event/diff.mjs +5 -5
  576. package/dist/core/entities/event/diff.mjs.map +1 -1
  577. package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -1
  578. package/dist/core/entities/event/entity-event-handler.mjs +29 -31
  579. package/dist/core/entities/event/entity-event-handler.mjs.map +1 -1
  580. package/dist/core/entities/event/index.d.ts +1 -0
  581. package/dist/core/entities/event/index.d.ts.map +1 -1
  582. package/dist/core/entities/event/index.mjs +2 -1
  583. package/dist/core/entities/event/sanitize.mjs +8 -8
  584. package/dist/core/entities/event/sanitize.mjs.map +1 -1
  585. package/dist/core/entities/event/schema.d.ts +3 -0
  586. package/dist/core/entities/event/schema.d.ts.map +1 -0
  587. package/dist/core/entities/event/schema.mjs +51 -0
  588. package/dist/core/entities/event/schema.mjs.map +1 -0
  589. package/dist/core/entities/event/service.d.ts.map +1 -1
  590. package/dist/core/entities/event/service.mjs +38 -22
  591. package/dist/core/entities/event/service.mjs.map +1 -1
  592. package/dist/core/entities/event/types.d.ts +6 -5
  593. package/dist/core/entities/event/types.d.ts.map +1 -1
  594. package/dist/core/entities/identity-provider/index.d.ts +1 -0
  595. package/dist/core/entities/identity-provider/index.d.ts.map +1 -1
  596. package/dist/core/entities/identity-provider/index.mjs +2 -1
  597. package/dist/core/entities/identity-provider/schema.d.ts +3 -0
  598. package/dist/core/entities/identity-provider/schema.d.ts.map +1 -0
  599. package/dist/core/entities/identity-provider/schema.mjs +43 -0
  600. package/dist/core/entities/identity-provider/schema.mjs.map +1 -0
  601. package/dist/core/entities/identity-provider-role-mapping/index.d.ts +1 -0
  602. package/dist/core/entities/identity-provider-role-mapping/index.d.ts.map +1 -1
  603. package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -1
  604. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts +3 -0
  605. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts.map +1 -0
  606. package/dist/core/entities/identity-provider-role-mapping/schema.mjs +43 -0
  607. package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -0
  608. package/dist/core/entities/identity-provider-role-mapping/service.d.ts +1 -1
  609. package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
  610. package/dist/core/entities/identity-provider-role-mapping/service.mjs +17 -11
  611. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
  612. package/dist/core/entities/index.d.ts +0 -3
  613. package/dist/core/entities/index.d.ts.map +1 -1
  614. package/dist/core/entities/index.mjs +26 -7
  615. package/dist/core/entities/key/index.d.ts +1 -0
  616. package/dist/core/entities/key/index.d.ts.map +1 -1
  617. package/dist/core/entities/key/index.mjs +2 -1
  618. package/dist/core/entities/key/schema.d.ts +3 -0
  619. package/dist/core/entities/key/schema.d.ts.map +1 -0
  620. package/dist/core/entities/key/schema.mjs +53 -0
  621. package/dist/core/entities/key/schema.mjs.map +1 -0
  622. package/dist/core/entities/key/service.d.ts +2 -2
  623. package/dist/core/entities/key/service.d.ts.map +1 -1
  624. package/dist/core/entities/key/service.mjs +47 -28
  625. package/dist/core/entities/key/service.mjs.map +1 -1
  626. package/dist/core/entities/key/types.d.ts +9 -1
  627. package/dist/core/entities/key/types.d.ts.map +1 -1
  628. package/dist/core/entities/permission/index.d.ts +1 -0
  629. package/dist/core/entities/permission/index.d.ts.map +1 -1
  630. package/dist/core/entities/permission/index.mjs +2 -1
  631. package/dist/core/entities/permission/schema.d.ts +3 -0
  632. package/dist/core/entities/permission/schema.d.ts.map +1 -0
  633. package/dist/core/entities/permission/schema.mjs +28 -0
  634. package/dist/core/entities/permission/schema.mjs.map +1 -0
  635. package/dist/core/entities/permission/service.d.ts +7 -2
  636. package/dist/core/entities/permission/service.d.ts.map +1 -1
  637. package/dist/core/entities/permission/service.mjs +53 -40
  638. package/dist/core/entities/permission/service.mjs.map +1 -1
  639. package/dist/core/entities/permission-policy/index.d.ts +1 -0
  640. package/dist/core/entities/permission-policy/index.d.ts.map +1 -1
  641. package/dist/core/entities/permission-policy/index.mjs +2 -1
  642. package/dist/core/entities/permission-policy/schema.d.ts +3 -0
  643. package/dist/core/entities/permission-policy/schema.d.ts.map +1 -0
  644. package/dist/core/entities/permission-policy/schema.mjs +39 -0
  645. package/dist/core/entities/permission-policy/schema.mjs.map +1 -0
  646. package/dist/core/entities/permission-policy/service.d.ts +1 -1
  647. package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
  648. package/dist/core/entities/permission-policy/service.mjs +12 -6
  649. package/dist/core/entities/permission-policy/service.mjs.map +1 -1
  650. package/dist/core/entities/policy/index.d.ts +1 -0
  651. package/dist/core/entities/policy/index.d.ts.map +1 -1
  652. package/dist/core/entities/policy/index.mjs +2 -1
  653. package/dist/core/entities/policy/schema.d.ts +3 -0
  654. package/dist/core/entities/policy/schema.d.ts.map +1 -0
  655. package/dist/core/entities/policy/schema.mjs +49 -0
  656. package/dist/core/entities/policy/schema.mjs.map +1 -0
  657. package/dist/core/entities/policy/service.d.ts.map +1 -1
  658. package/dist/core/entities/policy/service.mjs +13 -7
  659. package/dist/core/entities/policy/service.mjs.map +1 -1
  660. package/dist/core/entities/realm/index.d.ts +1 -0
  661. package/dist/core/entities/realm/index.d.ts.map +1 -1
  662. package/dist/core/entities/realm/index.mjs +2 -1
  663. package/dist/core/entities/realm/schema.d.ts +3 -0
  664. package/dist/core/entities/realm/schema.d.ts.map +1 -0
  665. package/dist/core/entities/realm/schema.mjs +36 -0
  666. package/dist/core/entities/realm/schema.mjs.map +1 -0
  667. package/dist/core/entities/realm/service.d.ts.map +1 -1
  668. package/dist/core/entities/realm/service.mjs +5 -2
  669. package/dist/core/entities/realm/service.mjs.map +1 -1
  670. package/dist/core/entities/realm/types.d.ts +1 -1
  671. package/dist/core/entities/role/index.d.ts +1 -0
  672. package/dist/core/entities/role/index.d.ts.map +1 -1
  673. package/dist/core/entities/role/index.mjs +2 -1
  674. package/dist/core/entities/role/schema.d.ts +3 -0
  675. package/dist/core/entities/role/schema.d.ts.map +1 -0
  676. package/dist/core/entities/role/schema.mjs +43 -0
  677. package/dist/core/entities/role/schema.mjs.map +1 -0
  678. package/dist/core/entities/role/service.d.ts.map +1 -1
  679. package/dist/core/entities/role/service.mjs +11 -5
  680. package/dist/core/entities/role/service.mjs.map +1 -1
  681. package/dist/core/entities/role-attribute/index.d.ts +1 -0
  682. package/dist/core/entities/role-attribute/index.d.ts.map +1 -1
  683. package/dist/core/entities/role-attribute/index.mjs +2 -1
  684. package/dist/core/entities/role-attribute/schema.d.ts +3 -0
  685. package/dist/core/entities/role-attribute/schema.d.ts.map +1 -0
  686. package/dist/core/entities/role-attribute/schema.mjs +47 -0
  687. package/dist/core/entities/role-attribute/schema.mjs.map +1 -0
  688. package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
  689. package/dist/core/entities/role-attribute/service.mjs +19 -6
  690. package/dist/core/entities/role-attribute/service.mjs.map +1 -1
  691. package/dist/core/entities/role-permission/index.d.ts +1 -0
  692. package/dist/core/entities/role-permission/index.d.ts.map +1 -1
  693. package/dist/core/entities/role-permission/index.mjs +2 -1
  694. package/dist/core/entities/role-permission/schema.d.ts +3 -0
  695. package/dist/core/entities/role-permission/schema.d.ts.map +1 -0
  696. package/dist/core/entities/role-permission/schema.mjs +41 -0
  697. package/dist/core/entities/role-permission/schema.mjs.map +1 -0
  698. package/dist/core/entities/role-permission/service.d.ts +1 -1
  699. package/dist/core/entities/role-permission/service.d.ts.map +1 -1
  700. package/dist/core/entities/role-permission/service.mjs +24 -18
  701. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  702. package/dist/core/entities/scope/index.d.ts +1 -0
  703. package/dist/core/entities/scope/index.d.ts.map +1 -1
  704. package/dist/core/entities/scope/index.mjs +2 -1
  705. package/dist/core/entities/scope/schema.d.ts +3 -0
  706. package/dist/core/entities/scope/schema.d.ts.map +1 -0
  707. package/dist/core/entities/scope/schema.mjs +43 -0
  708. package/dist/core/entities/scope/schema.mjs.map +1 -0
  709. package/dist/core/entities/scope/service.d.ts.map +1 -1
  710. package/dist/core/entities/scope/service.mjs +11 -5
  711. package/dist/core/entities/scope/service.mjs.map +1 -1
  712. package/dist/core/entities/session/index.d.ts +1 -0
  713. package/dist/core/entities/session/index.d.ts.map +1 -1
  714. package/dist/core/entities/session/index.mjs +2 -1
  715. package/dist/core/entities/session/schema.d.ts +3 -0
  716. package/dist/core/entities/session/schema.d.ts.map +1 -0
  717. package/dist/core/entities/session/schema.mjs +44 -0
  718. package/dist/core/entities/session/schema.mjs.map +1 -0
  719. package/dist/core/entities/session/service.d.ts +11 -0
  720. package/dist/core/entities/session/service.d.ts.map +1 -1
  721. package/dist/core/entities/session/service.mjs +48 -11
  722. package/dist/core/entities/session/service.mjs.map +1 -1
  723. package/dist/core/entities/session/types.d.ts +2 -2
  724. package/dist/core/entities/trust-anchor/index.d.ts +1 -0
  725. package/dist/core/entities/trust-anchor/index.d.ts.map +1 -1
  726. package/dist/core/entities/trust-anchor/index.mjs +2 -1
  727. package/dist/core/entities/trust-anchor/schema.d.ts +3 -0
  728. package/dist/core/entities/trust-anchor/schema.d.ts.map +1 -0
  729. package/dist/core/entities/trust-anchor/schema.mjs +43 -0
  730. package/dist/core/entities/trust-anchor/schema.mjs.map +1 -0
  731. package/dist/core/entities/trust-anchor/service.d.ts +2 -2
  732. package/dist/core/entities/trust-anchor/service.d.ts.map +1 -1
  733. package/dist/core/entities/trust-anchor/service.mjs +23 -7
  734. package/dist/core/entities/trust-anchor/service.mjs.map +1 -1
  735. package/dist/core/entities/trust-anchor/types.d.ts +9 -1
  736. package/dist/core/entities/trust-anchor/types.d.ts.map +1 -1
  737. package/dist/core/entities/user/index.d.ts +1 -0
  738. package/dist/core/entities/user/index.d.ts.map +1 -1
  739. package/dist/core/entities/user/index.mjs +2 -1
  740. package/dist/core/entities/user/schema.d.ts +3 -0
  741. package/dist/core/entities/user/schema.d.ts.map +1 -0
  742. package/dist/core/entities/user/schema.mjs +50 -0
  743. package/dist/core/entities/user/schema.mjs.map +1 -0
  744. package/dist/core/entities/user/service.d.ts.map +1 -1
  745. package/dist/core/entities/user/service.mjs +33 -12
  746. package/dist/core/entities/user/service.mjs.map +1 -1
  747. package/dist/core/entities/user/types.d.ts +2 -1
  748. package/dist/core/entities/user/types.d.ts.map +1 -1
  749. package/dist/core/entities/user-attribute/index.d.ts +1 -0
  750. package/dist/core/entities/user-attribute/index.d.ts.map +1 -1
  751. package/dist/core/entities/user-attribute/index.mjs +2 -1
  752. package/dist/core/entities/user-attribute/schema.d.ts +3 -0
  753. package/dist/core/entities/user-attribute/schema.d.ts.map +1 -0
  754. package/dist/core/entities/user-attribute/schema.mjs +47 -0
  755. package/dist/core/entities/user-attribute/schema.mjs.map +1 -0
  756. package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
  757. package/dist/core/entities/user-attribute/service.mjs +26 -10
  758. package/dist/core/entities/user-attribute/service.mjs.map +1 -1
  759. package/dist/core/entities/user-authenticator/index.d.ts +1 -0
  760. package/dist/core/entities/user-authenticator/index.d.ts.map +1 -1
  761. package/dist/core/entities/user-authenticator/index.mjs +2 -1
  762. package/dist/core/entities/user-authenticator/schema.d.ts +3 -0
  763. package/dist/core/entities/user-authenticator/schema.d.ts.map +1 -0
  764. package/dist/core/entities/user-authenticator/schema.mjs +47 -0
  765. package/dist/core/entities/user-authenticator/schema.mjs.map +1 -0
  766. package/dist/core/entities/user-authenticator/service.d.ts.map +1 -1
  767. package/dist/core/entities/user-authenticator/service.mjs +49 -27
  768. package/dist/core/entities/user-authenticator/service.mjs.map +1 -1
  769. package/dist/core/entities/user-authenticator/types.d.ts +4 -3
  770. package/dist/core/entities/user-authenticator/types.d.ts.map +1 -1
  771. package/dist/core/entities/user-authenticator/types.mjs +2 -2
  772. package/dist/core/entities/user-authenticator/types.mjs.map +1 -1
  773. package/dist/core/entities/user-permission/index.d.ts +1 -0
  774. package/dist/core/entities/user-permission/index.d.ts.map +1 -1
  775. package/dist/core/entities/user-permission/index.mjs +2 -1
  776. package/dist/core/entities/user-permission/schema.d.ts +3 -0
  777. package/dist/core/entities/user-permission/schema.d.ts.map +1 -0
  778. package/dist/core/entities/user-permission/schema.mjs +41 -0
  779. package/dist/core/entities/user-permission/schema.mjs.map +1 -0
  780. package/dist/core/entities/user-permission/service.d.ts +1 -1
  781. package/dist/core/entities/user-permission/service.d.ts.map +1 -1
  782. package/dist/core/entities/user-permission/service.mjs +24 -18
  783. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  784. package/dist/core/entities/user-role/index.d.ts +1 -0
  785. package/dist/core/entities/user-role/index.d.ts.map +1 -1
  786. package/dist/core/entities/user-role/index.mjs +2 -1
  787. package/dist/core/entities/user-role/schema.d.ts +3 -0
  788. package/dist/core/entities/user-role/schema.d.ts.map +1 -0
  789. package/dist/core/entities/user-role/schema.mjs +39 -0
  790. package/dist/core/entities/user-role/schema.mjs.map +1 -0
  791. package/dist/core/entities/user-role/service.d.ts +1 -1
  792. package/dist/core/entities/user-role/service.d.ts.map +1 -1
  793. package/dist/core/entities/user-role/service.mjs +14 -8
  794. package/dist/core/entities/user-role/service.mjs.map +1 -1
  795. package/dist/core/identity/entities/index.d.ts +0 -1
  796. package/dist/core/identity/entities/index.d.ts.map +1 -1
  797. package/dist/core/identity/password-recovery/service.mjs +21 -21
  798. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  799. package/dist/core/identity/password-recovery/types.d.ts +2 -2
  800. package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
  801. package/dist/core/identity/permission/checker/service.mjs +2 -2
  802. package/dist/core/identity/permission/checker/service.mjs.map +1 -1
  803. package/dist/core/identity/permission/identity-policy-data.mjs +2 -2
  804. package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -1
  805. package/dist/core/identity/permission/junction-grant.d.ts +6 -6
  806. package/dist/core/identity/permission/junction-grant.mjs +14 -14
  807. package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
  808. package/dist/core/identity/permission/module.d.ts +0 -3
  809. package/dist/core/identity/permission/module.d.ts.map +1 -1
  810. package/dist/core/identity/permission/module.mjs +9 -15
  811. package/dist/core/identity/permission/module.mjs.map +1 -1
  812. package/dist/core/identity/permission/types.d.ts +0 -2
  813. package/dist/core/identity/permission/types.d.ts.map +1 -1
  814. package/dist/core/identity/policy/checker/service.mjs +1 -1
  815. package/dist/core/identity/policy/checker/service.mjs.map +1 -1
  816. package/dist/core/identity/provider/account/module.mjs +9 -9
  817. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  818. package/dist/core/identity/provider/authentication/presets/facebook.mjs +5 -5
  819. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  820. package/dist/core/identity/provider/authentication/presets/github.mjs +3 -3
  821. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  822. package/dist/core/identity/provider/authentication/presets/google.mjs +5 -5
  823. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  824. package/dist/core/identity/provider/authentication/presets/instagram.mjs +3 -3
  825. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  826. package/dist/core/identity/provider/authentication/presets/paypal.mjs +3 -3
  827. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  828. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +20 -20
  829. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
  830. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +5 -5
  831. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  832. package/dist/core/identity/provider/mapper/attributes/module.mjs +3 -3
  833. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
  834. package/dist/core/identity/provider/mapper/base.mjs +2 -2
  835. package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
  836. package/dist/core/identity/provider/mapper/permission/module.mjs +2 -2
  837. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
  838. package/dist/core/identity/provider/mapper/role/module.mjs +2 -2
  839. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
  840. package/dist/core/identity/registration/service.mjs +9 -9
  841. package/dist/core/identity/registration/service.mjs.map +1 -1
  842. package/dist/core/identity/resolver/module.d.ts +1 -3
  843. package/dist/core/identity/resolver/module.d.ts.map +1 -1
  844. package/dist/core/identity/resolver/module.mjs +0 -13
  845. package/dist/core/identity/resolver/module.mjs.map +1 -1
  846. package/dist/core/identity/resolver/types.d.ts +1 -2
  847. package/dist/core/identity/resolver/types.d.ts.map +1 -1
  848. package/dist/core/identity/role/module.d.ts +0 -2
  849. package/dist/core/identity/role/module.d.ts.map +1 -1
  850. package/dist/core/identity/role/module.mjs +1 -4
  851. package/dist/core/identity/role/module.mjs.map +1 -1
  852. package/dist/core/identity/role/types.d.ts +0 -2
  853. package/dist/core/identity/role/types.d.ts.map +1 -1
  854. package/dist/core/index.d.ts +1 -0
  855. package/dist/core/index.d.ts.map +1 -1
  856. package/dist/core/index.mjs +28 -9
  857. package/dist/core/key/realm-cipher.mjs +5 -5
  858. package/dist/core/key/realm-cipher.mjs.map +1 -1
  859. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +3 -3
  860. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  861. package/dist/core/oauth2/authorization/helpers.d.ts +2 -2
  862. package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
  863. package/dist/core/oauth2/authorization/helpers.mjs +5 -5
  864. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  865. package/dist/core/oauth2/authorization/module.mjs +8 -8
  866. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  867. package/dist/core/oauth2/client/authenticator.d.ts +1 -1
  868. package/dist/core/oauth2/client/authenticator.d.ts.map +1 -1
  869. package/dist/core/oauth2/client/authenticator.mjs +3 -3
  870. package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
  871. package/dist/core/oauth2/client/grant-type.d.ts +1 -1
  872. package/dist/core/oauth2/client/grant-type.d.ts.map +1 -1
  873. package/dist/core/oauth2/client/grant-type.mjs +2 -2
  874. package/dist/core/oauth2/client/grant-type.mjs.map +1 -1
  875. package/dist/core/oauth2/end-session/service.mjs +5 -5
  876. package/dist/core/oauth2/end-session/service.mjs.map +1 -1
  877. package/dist/core/oauth2/grant-types/authorize.mjs +9 -9
  878. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  879. package/dist/core/oauth2/grant-types/client-credentials.mjs +7 -7
  880. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
  881. package/dist/core/oauth2/grant-types/identity.mjs +10 -10
  882. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
  883. package/dist/core/oauth2/grant-types/index.d.ts +0 -1
  884. package/dist/core/oauth2/grant-types/index.d.ts.map +1 -1
  885. package/dist/core/oauth2/grant-types/index.mjs +1 -2
  886. package/dist/core/oauth2/grant-types/password.d.ts +1 -1
  887. package/dist/core/oauth2/grant-types/password.mjs +13 -13
  888. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  889. package/dist/core/oauth2/grant-types/refresh-token.mjs +12 -12
  890. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  891. package/dist/core/oauth2/index.mjs +1 -2
  892. package/dist/core/oauth2/mfa-login/module.mjs +21 -21
  893. package/dist/core/oauth2/mfa-login/module.mjs.map +1 -1
  894. package/dist/core/oauth2/mfa-login/types.d.ts +1 -1
  895. package/dist/core/oauth2/openid/claims.d.ts +1 -3
  896. package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
  897. package/dist/core/oauth2/openid/claims.mjs +6 -19
  898. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  899. package/dist/core/oauth2/scope/resolver.d.ts +1 -3
  900. package/dist/core/oauth2/scope/resolver.d.ts.map +1 -1
  901. package/dist/core/oauth2/scope/resolver.mjs +9 -31
  902. package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
  903. package/dist/core/oauth2/session-token/types.d.ts +8 -8
  904. package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
  905. package/dist/core/oauth2/token/issuer/access/module.mjs +7 -7
  906. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  907. package/dist/core/oauth2/token/issuer/refresh/module.mjs +5 -5
  908. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  909. package/dist/core/oauth2/token/signer/module.mjs +6 -6
  910. package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
  911. package/dist/core/oauth2/token/verifier/module.mjs +8 -8
  912. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  913. package/dist/core/provisioning/entities/index.d.ts +0 -1
  914. package/dist/core/provisioning/entities/index.d.ts.map +1 -1
  915. package/dist/core/provisioning/entities/index.mjs +1 -3
  916. package/dist/core/provisioning/entities/policy/validator.d.ts +2 -0
  917. package/dist/core/provisioning/entities/policy/validator.d.ts.map +1 -1
  918. package/dist/core/provisioning/entities/policy/validator.mjs +10 -1
  919. package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -1
  920. package/dist/core/provisioning/entities/realm/relations-validator.d.ts.map +1 -1
  921. package/dist/core/provisioning/entities/realm/relations-validator.mjs +0 -4
  922. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  923. package/dist/core/provisioning/entities/realm/types.d.ts +0 -2
  924. package/dist/core/provisioning/entities/realm/types.d.ts.map +1 -1
  925. package/dist/core/provisioning/entities/role/types.d.ts +2 -2
  926. package/dist/core/provisioning/index.mjs +1 -3
  927. package/dist/core/provisioning/synchronizer/client/module.mjs +11 -11
  928. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  929. package/dist/core/provisioning/synchronizer/entity-resolver.mjs +12 -12
  930. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  931. package/dist/core/provisioning/synchronizer/index.d.ts +0 -1
  932. package/dist/core/provisioning/synchronizer/index.d.ts.map +1 -1
  933. package/dist/core/provisioning/synchronizer/index.mjs +1 -3
  934. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +2 -2
  935. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
  936. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +2 -2
  937. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
  938. package/dist/core/provisioning/synchronizer/permission/module.mjs +8 -8
  939. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  940. package/dist/core/provisioning/synchronizer/policy/module.mjs +11 -11
  941. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
  942. package/dist/core/provisioning/synchronizer/realm/module.d.ts +0 -2
  943. package/dist/core/provisioning/synchronizer/realm/module.d.ts.map +1 -1
  944. package/dist/core/provisioning/synchronizer/realm/module.mjs +5 -15
  945. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  946. package/dist/core/provisioning/synchronizer/realm/types.d.ts +0 -2
  947. package/dist/core/provisioning/synchronizer/realm/types.d.ts.map +1 -1
  948. package/dist/core/provisioning/synchronizer/role/module.mjs +7 -7
  949. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  950. package/dist/core/provisioning/synchronizer/scope/module.mjs +1 -1
  951. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  952. package/dist/core/provisioning/synchronizer/user/module.mjs +13 -13
  953. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  954. package/dist/core/query/index.d.ts +4 -0
  955. package/dist/core/query/index.d.ts.map +1 -0
  956. package/dist/core/query/index.mjs +6 -0
  957. package/dist/core/query/module.d.ts +60 -0
  958. package/dist/core/query/module.d.ts.map +1 -0
  959. package/dist/core/query/module.mjs +128 -0
  960. package/dist/core/query/module.mjs.map +1 -0
  961. package/dist/core/query/relations.d.ts +39 -0
  962. package/dist/core/query/relations.d.ts.map +1 -0
  963. package/dist/core/query/relations.mjs +103 -0
  964. package/dist/core/query/relations.mjs.map +1 -0
  965. package/dist/core/query/types.d.ts +39 -0
  966. package/dist/core/query/types.d.ts.map +1 -0
  967. package/dist/core/security/policy/evaluator.d.ts +1 -0
  968. package/dist/core/security/policy/evaluator.d.ts.map +1 -1
  969. package/dist/core/security/policy/evaluator.mjs +52 -5
  970. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  971. package/dist/index.mjs +1 -17
  972. package/dist/swagger.json +2552 -3798
  973. package/dist/ui/client/.vite/ssr-manifest.json +1542 -894
  974. package/dist/ui/client/assets/{index-CT0Nq5pA.js → index-BmJ2X468.js} +21 -18
  975. package/dist/ui/client/assets/{index-BmWsoQro.css → index-DiOvW76Q.css} +1 -1
  976. package/dist/ui/client/index.html +2 -2
  977. package/dist/ui/server/server.js +9810 -3361
  978. package/package.json +27 -22
  979. package/dist/adapters/database/domains/robot/entity.d.ts +0 -19
  980. package/dist/adapters/database/domains/robot/entity.d.ts.map +0 -1
  981. package/dist/adapters/database/domains/robot/entity.mjs +0 -112
  982. package/dist/adapters/database/domains/robot/entity.mjs.map +0 -1
  983. package/dist/adapters/database/domains/robot/index.d.ts +0 -3
  984. package/dist/adapters/database/domains/robot/index.d.ts.map +0 -1
  985. package/dist/adapters/database/domains/robot/index.mjs +0 -6
  986. package/dist/adapters/database/domains/robot/subscriber.d.ts +0 -6
  987. package/dist/adapters/database/domains/robot/subscriber.d.ts.map +0 -1
  988. package/dist/adapters/database/domains/robot/subscriber.mjs +0 -42
  989. package/dist/adapters/database/domains/robot/subscriber.mjs.map +0 -1
  990. package/dist/adapters/database/domains/robot-permission/entity.d.ts +0 -18
  991. package/dist/adapters/database/domains/robot-permission/entity.d.ts.map +0 -1
  992. package/dist/adapters/database/domains/robot-permission/entity.mjs +0 -91
  993. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +0 -1
  994. package/dist/adapters/database/domains/robot-permission/index.d.ts +0 -3
  995. package/dist/adapters/database/domains/robot-permission/index.d.ts.map +0 -1
  996. package/dist/adapters/database/domains/robot-permission/index.mjs +0 -6
  997. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts +0 -6
  998. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts.map +0 -1
  999. package/dist/adapters/database/domains/robot-permission/subscriber.mjs +0 -45
  1000. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +0 -1
  1001. package/dist/adapters/database/domains/robot-role/entity.d.ts +0 -15
  1002. package/dist/adapters/database/domains/robot-role/entity.d.ts.map +0 -1
  1003. package/dist/adapters/database/domains/robot-role/entity.mjs +0 -72
  1004. package/dist/adapters/database/domains/robot-role/entity.mjs.map +0 -1
  1005. package/dist/adapters/database/domains/robot-role/index.d.ts +0 -3
  1006. package/dist/adapters/database/domains/robot-role/index.d.ts.map +0 -1
  1007. package/dist/adapters/database/domains/robot-role/index.mjs +0 -6
  1008. package/dist/adapters/database/domains/robot-role/subscriber.d.ts +0 -6
  1009. package/dist/adapters/database/domains/robot-role/subscriber.d.ts.map +0 -1
  1010. package/dist/adapters/database/domains/robot-role/subscriber.mjs +0 -45
  1011. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +0 -1
  1012. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts +0 -12
  1013. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1014. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +0 -27
  1015. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1016. package/dist/adapters/http/controllers/entities/robot/index.d.ts +0 -2
  1017. package/dist/adapters/http/controllers/entities/robot/index.d.ts.map +0 -1
  1018. package/dist/adapters/http/controllers/entities/robot/index.mjs +0 -5
  1019. package/dist/adapters/http/controllers/entities/robot/module.d.ts +0 -25
  1020. package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +0 -1
  1021. package/dist/adapters/http/controllers/entities/robot/module.mjs +0 -180
  1022. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +0 -1
  1023. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts +0 -3
  1024. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts.map +0 -1
  1025. package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +0 -7
  1026. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts +0 -17
  1027. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts.map +0 -1
  1028. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +0 -114
  1029. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +0 -1
  1030. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts +0 -2
  1031. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts.map +0 -1
  1032. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +0 -5
  1033. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts +0 -6
  1034. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts.map +0 -1
  1035. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +0 -21
  1036. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +0 -1
  1037. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts +0 -3
  1038. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts.map +0 -1
  1039. package/dist/adapters/http/controllers/entities/robot-role/index.mjs +0 -7
  1040. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts +0 -16
  1041. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts.map +0 -1
  1042. package/dist/adapters/http/controllers/entities/robot-role/module.mjs +0 -95
  1043. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +0 -1
  1044. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts +0 -2
  1045. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts.map +0 -1
  1046. package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +0 -5
  1047. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts +0 -6
  1048. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts.map +0 -1
  1049. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +0 -20
  1050. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +0 -1
  1051. package/dist/app/modules/database/repositories/robot/index.d.ts +0 -2
  1052. package/dist/app/modules/database/repositories/robot/index.d.ts.map +0 -1
  1053. package/dist/app/modules/database/repositories/robot/index.mjs +0 -5
  1054. package/dist/app/modules/database/repositories/robot/repository.d.ts +0 -31
  1055. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +0 -1
  1056. package/dist/app/modules/database/repositories/robot/repository.mjs +0 -190
  1057. package/dist/app/modules/database/repositories/robot/repository.mjs.map +0 -1
  1058. package/dist/app/modules/database/repositories/robot-permission/index.d.ts +0 -2
  1059. package/dist/app/modules/database/repositories/robot-permission/index.d.ts.map +0 -1
  1060. package/dist/app/modules/database/repositories/robot-permission/index.mjs +0 -5
  1061. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +0 -20
  1062. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +0 -1
  1063. package/dist/app/modules/database/repositories/robot-permission/repository.mjs +0 -79
  1064. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +0 -1
  1065. package/dist/app/modules/database/repositories/robot-role/index.d.ts +0 -2
  1066. package/dist/app/modules/database/repositories/robot-role/index.d.ts.map +0 -1
  1067. package/dist/app/modules/database/repositories/robot-role/index.mjs +0 -5
  1068. package/dist/app/modules/database/repositories/robot-role/repository.d.ts +0 -20
  1069. package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +0 -1
  1070. package/dist/app/modules/database/repositories/robot-role/repository.mjs +0 -79
  1071. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +0 -1
  1072. package/dist/app/modules/identity/repositories/robot.d.ts +0 -13
  1073. package/dist/app/modules/identity/repositories/robot.d.ts.map +0 -1
  1074. package/dist/app/modules/identity/repositories/robot.mjs +0 -47
  1075. package/dist/app/modules/identity/repositories/robot.mjs.map +0 -1
  1076. package/dist/core/authentication/credential/entities/robot/index.d.ts +0 -2
  1077. package/dist/core/authentication/credential/entities/robot/index.d.ts.map +0 -1
  1078. package/dist/core/authentication/credential/entities/robot/index.mjs +0 -5
  1079. package/dist/core/authentication/credential/entities/robot/module.d.ts +0 -8
  1080. package/dist/core/authentication/credential/entities/robot/module.d.ts.map +0 -1
  1081. package/dist/core/authentication/credential/entities/robot/module.mjs +0 -22
  1082. package/dist/core/authentication/credential/entities/robot/module.mjs.map +0 -1
  1083. package/dist/core/authentication/entities/robot/index.d.ts +0 -2
  1084. package/dist/core/authentication/entities/robot/index.d.ts.map +0 -1
  1085. package/dist/core/authentication/entities/robot/index.mjs +0 -5
  1086. package/dist/core/authentication/entities/robot/module.d.ts +0 -11
  1087. package/dist/core/authentication/entities/robot/module.d.ts.map +0 -1
  1088. package/dist/core/authentication/entities/robot/module.mjs +0 -29
  1089. package/dist/core/authentication/entities/robot/module.mjs.map +0 -1
  1090. package/dist/core/entities/robot/index.d.ts +0 -3
  1091. package/dist/core/entities/robot/index.d.ts.map +0 -1
  1092. package/dist/core/entities/robot/index.mjs +0 -5
  1093. package/dist/core/entities/robot/service.d.ts +0 -28
  1094. package/dist/core/entities/robot/service.d.ts.map +0 -1
  1095. package/dist/core/entities/robot/service.mjs +0 -201
  1096. package/dist/core/entities/robot/service.mjs.map +0 -1
  1097. package/dist/core/entities/robot/types.d.ts +0 -24
  1098. package/dist/core/entities/robot/types.d.ts.map +0 -1
  1099. package/dist/core/entities/robot/types.mjs +0 -4
  1100. package/dist/core/entities/robot-permission/index.d.ts +0 -3
  1101. package/dist/core/entities/robot-permission/index.d.ts.map +0 -1
  1102. package/dist/core/entities/robot-permission/index.mjs +0 -5
  1103. package/dist/core/entities/robot-permission/service.d.ts +0 -25
  1104. package/dist/core/entities/robot-permission/service.d.ts.map +0 -1
  1105. package/dist/core/entities/robot-permission/service.mjs +0 -137
  1106. package/dist/core/entities/robot-permission/service.mjs.map +0 -1
  1107. package/dist/core/entities/robot-permission/types.d.ts +0 -12
  1108. package/dist/core/entities/robot-permission/types.d.ts.map +0 -1
  1109. package/dist/core/entities/robot-role/index.d.ts +0 -3
  1110. package/dist/core/entities/robot-role/index.d.ts.map +0 -1
  1111. package/dist/core/entities/robot-role/index.mjs +0 -5
  1112. package/dist/core/entities/robot-role/service.d.ts +0 -22
  1113. package/dist/core/entities/robot-role/service.d.ts.map +0 -1
  1114. package/dist/core/entities/robot-role/service.mjs +0 -90
  1115. package/dist/core/entities/robot-role/service.mjs.map +0 -1
  1116. package/dist/core/entities/robot-role/types.d.ts +0 -11
  1117. package/dist/core/entities/robot-role/types.d.ts.map +0 -1
  1118. package/dist/core/entities/robot-role/types.mjs +0 -4
  1119. package/dist/core/identity/entities/robot/index.d.ts +0 -2
  1120. package/dist/core/identity/entities/robot/index.d.ts.map +0 -1
  1121. package/dist/core/identity/entities/robot/types.d.ts +0 -8
  1122. package/dist/core/identity/entities/robot/types.d.ts.map +0 -1
  1123. package/dist/core/identity/entities/robot/types.mjs +0 -4
  1124. package/dist/core/oauth2/grant-types/robot-credentials.d.ts +0 -8
  1125. package/dist/core/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1126. package/dist/core/oauth2/grant-types/robot-credentials.mjs +0 -39
  1127. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1128. package/dist/core/provisioning/entities/robot/index.d.ts +0 -3
  1129. package/dist/core/provisioning/entities/robot/index.d.ts.map +0 -1
  1130. package/dist/core/provisioning/entities/robot/index.mjs +0 -5
  1131. package/dist/core/provisioning/entities/robot/relations-validator.d.ts +0 -6
  1132. package/dist/core/provisioning/entities/robot/relations-validator.d.ts.map +0 -1
  1133. package/dist/core/provisioning/entities/robot/relations-validator.mjs +0 -20
  1134. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +0 -1
  1135. package/dist/core/provisioning/entities/robot/types.d.ts +0 -25
  1136. package/dist/core/provisioning/entities/robot/types.d.ts.map +0 -1
  1137. package/dist/core/provisioning/entities/robot/types.mjs +0 -4
  1138. package/dist/core/provisioning/entities/robot/validator.d.ts +0 -6
  1139. package/dist/core/provisioning/entities/robot/validator.d.ts.map +0 -1
  1140. package/dist/core/provisioning/entities/robot/validator.mjs +0 -24
  1141. package/dist/core/provisioning/entities/robot/validator.mjs.map +0 -1
  1142. package/dist/core/provisioning/synchronizer/robot/index.d.ts +0 -3
  1143. package/dist/core/provisioning/synchronizer/robot/index.d.ts.map +0 -1
  1144. package/dist/core/provisioning/synchronizer/robot/index.mjs +0 -5
  1145. package/dist/core/provisioning/synchronizer/robot/module.d.ts +0 -17
  1146. package/dist/core/provisioning/synchronizer/robot/module.d.ts.map +0 -1
  1147. package/dist/core/provisioning/synchronizer/robot/module.mjs +0 -72
  1148. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +0 -1
  1149. package/dist/core/provisioning/synchronizer/robot/types.d.ts +0 -9
  1150. package/dist/core/provisioning/synchronizer/robot/types.d.ts.map +0 -1
  1151. package/dist/core/provisioning/synchronizer/robot/types.mjs +0 -4
  1152. /package/dist/core/{entities/robot-permission → query}/types.mjs +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"controller.mjs","names":["decorators","ClientEntity","ClientPermissionEntity","ClientRoleEntity","ClientScopeEntity","IdentityProviderRepository","IdentityProviderRoleMappingEntity","KeyEntity","PermissionEntity","PermissionPolicyEntity","PolicyRepository","RealmEntity","RobotEntity","RobotPermissionEntity","RobotRoleEntity","RoleAttributeEntity","RoleEntity","RolePermissionEntity","ScopeEntity","UserAttributeEntity","UserAuthenticatorEntity","UserEntity","UserPermissionEntity","UserRepository","UserRoleEntity","ClientPermissionRepositoryAdapter","ClientRepositoryAdapter","ClientRoleRepositoryAdapter","ClientScopeRepositoryAdapter","DatabaseInjectionKey","IdentityProviderRepositoryAdapter","IdentityProviderRoleMappingRepositoryAdapter","PermissionDatabaseProvider","PermissionPolicyRepositoryAdapter","PermissionRepositoryAdapter","PolicyRepositoryAdapter","RealmRepositoryAdapter","RobotPermissionRepositoryAdapter","RobotRepositoryAdapter","RobotRoleRepositoryAdapter","RoleAttributeRepositoryAdapter","RolePermissionRepositoryAdapter","RoleRepositoryAdapter","ScopeRepositoryAdapter","TrustAnchorRepositoryAdapter","UserAttributeRepositoryAdapter","UserAuthenticatorRepositoryAdapter","UserPermissionRepositoryAdapter","UserRepositoryAdapter","UserRoleRepositoryAdapter","ClientController","ClientPermissionController","ClientRoleController","ClientScopeController","ConsentController","EventController","IdentityProviderController","IdentityProviderRoleMappingController","KeyController","PermissionController","PermissionPolicyController","PolicyController","RealmController","RobotController","RobotPermissionController","RobotRoleController","RoleAttributeController","RoleController","RolePermissionController","ScopeController","SessionController","TrustAnchorController","UserAttributeController","UserAuthenticatorController","UserController","UserPermissionController","UserRoleController","useRequestEventContext","ActivateController","AuthenticatorChallengeController","AuthorizeController","JwkController","LogoutController","OpenIDController","PasswordForgotController","PasswordResetController","RegisterController","StatusController","TokenController","ClientCertificateValidator","ClientPermissionService","ClientRoleService","ClientScopeService","ClientService","ConsentService","CredentialsAuthenticator","IdentityProviderRoleMappingService","KeyProvisioner","KeyService","LoginThrottleService","OAuth2AccessPolicyEvaluator","OAuth2ClientAuthenticator","OAuth2EndSessionService","OAuth2MfaLoginService","PasswordRecoveryService","PermissionCheckerService","PermissionPolicyService","PermissionService","PolicyCheckerService","PolicyService","RealmCipher","RealmService","RegistrationService","RobotAuthenticator","RobotPermissionService","RobotRoleService","RobotService","RoleAttributeService","RolePermissionService","RoleService","ScopeService","SessionService","TrustAnchorService","UserAttributeService","UserAuthenticator","UserAuthenticatorService","UserPermissionService","UserRoleService","UserService","WebClientProvisioner","AuthenticationInjectionKey","OAuth2InjectionToken","IdentityInjectionKey","ConfigInjectionKey","getAppOrigins","CacheInjectionKey","LoggerInjectionKey","MailInjectionKey","MailTemplateRendererInjectionKey","MetricsInjectionKey","HTTPControllerModule","mount","router","container","eventController","createEventController","realmController","createRealmController","roleController","createRoleController","permissionController","createPermissionController","permissionPolicyController","createPermissionPolicyController","clientController","createClientController","robotController","createRobotController","clientPermissionController","createClientPermissionController","clientRoleController","createClientRoleController","clientScopeController","createClientScopeController","robotPermissionController","createRobotPermissionController","robotRoleController","createRobotRoleController","roleAttributeController","createRoleAttributeController","rolePermissionController","createRolePermissionController","scopeController","createScopeController","keyController","createKeyController","trustAnchorController","createTrustAnchorController","sessionController","createSessionController","consentController","createConsentController","userController","createUserController","userAttributeController","createUserAttributeController","userAuthenticatorController","createUserAuthenticatorController","userPermissionController","createUserPermissionController","userRoleController","createUserRoleController","policyController","createPolicyController","identityProviderRoleController","createIdentityProviderRoleController","use","controllers","createAuthorize","createToken","createJwkController","createOpenIDController","createActivateController","createPasswordForgotController","createPasswordResetController","createRegisterController","createLogoutController","createAuthenticatorChallengeController","createStatusController","createIdentityProvider","config","resolve","codeIssuer","AuthorizationCodeIssuer","codeRequestVerifier","AuthorizationCodeRequestVerifier","sessionManager","SessionManager","eventService","EventService","metrics","options","baseURL","publicUrl","features","buildUIFeatures","promptLoginMaxAge","mfaFreshnessMaxAge","mfaChallengeProvider","resolveUserAuthenticatorService","accessPolicyEvaluator","resolveAccessPolicyEvaluator","consentService","createConsentService","logger","dataSource","DataSource","codeVerifier","AuthorizationCodeVerifier","accessTokenIssuer","AccessTokenIssuer","refreshTokenIssuer","RefreshTokenIssuer","openIdTokenIssuer","OpenIDTokenIssuer","keyStore","KeyStore","tokenRevoker","TokenRevoker","tokenVerifier","TokenVerifier","tokenRepository","TokenRepository","sessionTokenRepository","SessionTokenRepository","identityResolver","Resolver","identityProviderLdapCollectionAuthenticator","ProviderLdapCollectionAuthenticator","identityPermissionProvider","PermissionProvider","robotAuthenticator","userAuthenticator","oauth2ClientAuthenticator","certificateValidator","trustAnchorRepository","loginThrottleService","repository","EventRepository","enabled","loginAttemptThrottleEnabled","threshold","loginAttemptThreshold","windowSeconds","loginAttemptWindow","userAuthenticatorService","mfaLoginService","resolveMfaLoginService","tokenRefreshGracePeriod","certificateSource","realmRepository","service","createRegistrationService","createPasswordRecoveryService","mailClient","mailTemplateRenderer","passwordRecoveryEnabled","emailVerificationEnabled","passwordMinLength","clientRepository","ClientRepository","endSessionService","hintGracePeriod","endSessionHintGracePeriod","registration","registrationEnabled","passwordRecovery","emailVerification","accountManager","ProviderAccountManager","stateManager","AuthorizationStateManager","realmRepositoryAdapter","createPermissionRepository","createRoleRepository","roleRepository","rolePermissionRepository","policyRepository","permissionPolicyRepository","permissionProvider","checkerService","permissionRepository","reservedNames","Set","getMetadata","columns","map","c","propertyName","requestContext","SessionRepository","ConsentRepository","policyProvider","userRepository","issuer","webauthn","url","URL","hostname","rpId","rpName","origin","undefined","cache","cipher","mfaEnabled","required","mfaRequired","ticketIssuer","MfaTokenIssuer","getRepository","webClientProvisioner","appOrigins","keyProvisioner","keyRepository","mtlsBaseURL","mtlsPublicUrl","clientCertificatesEnabled"],"sources":["../../../../../src/app/modules/http/modules/controller.ts"],"sourcesContent":["/*\n * Copyright (c) 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 { App } from 'routup';\nimport { decorators } from '@routup/decorators';\nimport type {\n Client,\n ClientPermission,\n ClientRole,\n ClientScope,\n Permission,\n PermissionPolicy,\n Realm,\n Robot,\n RobotPermission,\n RobotRole,\n Role,\n RoleAttribute,\n RolePermission,\n Scope,\n UserAttribute,\n UserAuthenticator as UserAuthenticatorModel,\n UserPermission,\n UserRole,\n} from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport {\n ClientEntity,\n ClientPermissionEntity,\n ClientRoleEntity,\n ClientScopeEntity,\n IdentityProviderRepository,\n IdentityProviderRoleMappingEntity,\n KeyEntity,\n PermissionEntity,\n PermissionPolicyEntity,\n PolicyRepository,\n RealmEntity,\n RobotEntity,\n RobotPermissionEntity,\n RobotRoleEntity,\n RoleAttributeEntity,\n RoleEntity,\n RolePermissionEntity,\n ScopeEntity,\n UserAttributeEntity,\n UserAuthenticatorEntity,\n UserEntity,\n UserPermissionEntity,\n UserRepository,\n UserRoleEntity,\n} from '../../../../adapters/database/domains/index.ts';\nimport {\n ClientPermissionRepositoryAdapter,\n ClientRepositoryAdapter,\n ClientRoleRepositoryAdapter,\n ClientScopeRepositoryAdapter,\n DatabaseInjectionKey,\n IdentityProviderRepositoryAdapter,\n IdentityProviderRoleMappingRepositoryAdapter,\n PermissionDatabaseProvider,\n PermissionPolicyRepositoryAdapter,\n PermissionRepositoryAdapter,\n PolicyRepositoryAdapter,\n RealmRepositoryAdapter,\n RobotPermissionRepositoryAdapter,\n RobotRepositoryAdapter,\n RobotRoleRepositoryAdapter,\n RoleAttributeRepositoryAdapter,\n RolePermissionRepositoryAdapter,\n RoleRepositoryAdapter,\n ScopeRepositoryAdapter,\n TrustAnchorRepositoryAdapter,\n UserAttributeRepositoryAdapter,\n UserAuthenticatorRepositoryAdapter,\n UserPermissionRepositoryAdapter,\n UserRepositoryAdapter,\n UserRoleRepositoryAdapter,\n} from '../../database/index.ts';\nimport {\n ClientController,\n ClientPermissionController,\n ClientRoleController,\n ClientScopeController,\n ConsentController,\n EventController,\n IdentityProviderController,\n IdentityProviderRoleMappingController,\n KeyController,\n PermissionController,\n PermissionPolicyController,\n PolicyController,\n RealmController,\n RobotController,\n RobotPermissionController,\n RobotRoleController,\n RoleAttributeController,\n RoleController,\n RolePermissionController,\n ScopeController,\n SessionController,\n TrustAnchorController,\n UserAttributeController,\n UserAuthenticatorController,\n UserController,\n UserPermissionController,\n UserRoleController,\n useRequestEventContext,\n} from '../../../../adapters/http/index.ts';\nimport {\n ActivateController,\n AuthenticatorChallengeController,\n AuthorizeController,\n JwkController,\n LogoutController,\n OpenIDController,\n PasswordForgotController,\n PasswordResetController,\n RegisterController,\n StatusController,\n TokenController,\n} from '../../../../adapters/http/controllers/index.ts';\nimport type { IContainer } from 'eldin';\nimport {\n ClientCertificateValidator,\n ClientPermissionService,\n ClientRoleService,\n ClientScopeService,\n ClientService,\n ConsentService,\n CredentialsAuthenticator,\n IdentityProviderRoleMappingService,\n KeyProvisioner,\n KeyService,\n LoginThrottleService,\n OAuth2AccessPolicyEvaluator,\n OAuth2ClientAuthenticator,\n OAuth2EndSessionService,\n OAuth2MfaLoginService,\n PasswordRecoveryService,\n PermissionCheckerService,\n PermissionPolicyService,\n PermissionService,\n PolicyCheckerService,\n PolicyService,\n RealmCipher,\n RealmService,\n RegistrationService,\n RobotAuthenticator,\n RobotPermissionService,\n RobotRoleService,\n RobotService,\n RoleAttributeService,\n RolePermissionService,\n RoleService,\n ScopeService,\n SessionService,\n TrustAnchorService,\n UserAttributeService,\n UserAuthenticator,\n UserAuthenticatorService,\n UserPermissionService,\n UserRoleService,\n UserService,\n WebClientProvisioner,\n} from '../../../../core/index.ts';\nimport { AuthenticationInjectionKey } from '../../authentication/index.ts';\nimport { OAuth2InjectionToken } from '../../oauth2/index.ts';\nimport { IdentityInjectionKey } from '../../identity/index.ts';\nimport type { StatusResponseFeatures } from '@authup/core-http-kit';\nimport type { Config } from '../../config/index.ts';\nimport { ConfigInjectionKey, getAppOrigins } from '../../config/index.ts';\nimport { CacheInjectionKey } from '../../cache/index.ts';\nimport { LoggerInjectionKey } from '../../logger/index.ts';\nimport { MailInjectionKey, MailTemplateRendererInjectionKey } from '../../mail/index.ts';\nimport { MetricsInjectionKey } from '../../metrics/index.ts';\n\nexport class HTTPControllerModule {\n async mount(router: App, container: IContainer): Promise<void> {\n const eventController = this.createEventController(container);\n const realmController = this.createRealmController(container);\n const roleController = this.createRoleController(container);\n const permissionController = await this.createPermissionController(container);\n const permissionPolicyController = this.createPermissionPolicyController(container);\n const clientController = this.createClientController(container);\n const robotController = this.createRobotController(container);\n const clientPermissionController = this.createClientPermissionController(container);\n const clientRoleController = this.createClientRoleController(container);\n const clientScopeController = this.createClientScopeController(container);\n const robotPermissionController = this.createRobotPermissionController(container);\n const robotRoleController = this.createRobotRoleController(container);\n const roleAttributeController = this.createRoleAttributeController(container);\n const rolePermissionController = this.createRolePermissionController(container);\n const scopeController = this.createScopeController(container);\n const keyController = this.createKeyController(container);\n const trustAnchorController = this.createTrustAnchorController(container);\n const sessionController = this.createSessionController(container);\n const consentController = this.createConsentController(container);\n const userController = this.createUserController(container);\n const userAttributeController = this.createUserAttributeController(container);\n const userAuthenticatorController = this.createUserAuthenticatorController(container);\n const userPermissionController = this.createUserPermissionController(container);\n const userRoleController = this.createUserRoleController(container);\n const policyController = this.createPolicyController(container);\n const identityProviderRoleController = this.createIdentityProviderRoleController(container);\n\n router.use(decorators({\n controllers: [\n this.createAuthorize(container),\n this.createToken(container),\n this.createJwkController(container),\n this.createOpenIDController(container),\n this.createActivateController(container),\n this.createPasswordForgotController(container),\n this.createPasswordResetController(container),\n this.createRegisterController(container),\n this.createLogoutController(container),\n this.createAuthenticatorChallengeController(container),\n\n this.createStatusController(container),\n\n clientController,\n clientPermissionController,\n clientRoleController,\n clientScopeController,\n consentController,\n eventController,\n identityProviderRoleController,\n this.createIdentityProvider(container),\n keyController,\n trustAnchorController,\n permissionController,\n permissionPolicyController,\n policyController,\n robotController,\n robotPermissionController,\n robotRoleController,\n realmController,\n roleController,\n roleAttributeController,\n rolePermissionController,\n scopeController,\n sessionController,\n userController,\n userAttributeController,\n userAuthenticatorController,\n userPermissionController,\n userRoleController,\n ],\n }));\n }\n\n // ----------------------------------------------------\n\n createAuthorize(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n const codeIssuer = container.resolve(OAuth2InjectionToken.AuthorizationCodeIssuer);\n const codeRequestVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeRequestVerifier);\n\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n\n const eventService = container.resolve(DatabaseInjectionKey.EventService);\n const metrics = container.resolve(MetricsInjectionKey);\n\n return new AuthorizeController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n promptLoginMaxAge: config.promptLoginMaxAge,\n mfaFreshnessMaxAge: config.mfaFreshnessMaxAge,\n },\n\n codeIssuer,\n codeRequestVerifier,\n\n sessionManager,\n\n eventService,\n metrics,\n\n mfaChallengeProvider: this.resolveUserAuthenticatorService(container),\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n\n consentService: this.createConsentService(container),\n logger: container.resolve(LoggerInjectionKey),\n });\n }\n\n createToken(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n\n const codeVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeVerifier);\n\n const accessTokenIssuer = container.resolve(OAuth2InjectionToken.AccessTokenIssuer);\n const refreshTokenIssuer = container.resolve(OAuth2InjectionToken.RefreshTokenIssuer);\n const openIdTokenIssuer = container.resolve(OAuth2InjectionToken.OpenIDTokenIssuer);\n const keyStore = container.resolve(OAuth2InjectionToken.KeyStore);\n\n const tokenRevoker = container.resolve(OAuth2InjectionToken.TokenRevoker);\n const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\n const tokenRepository = container.resolve(OAuth2InjectionToken.TokenRepository);\n const sessionTokenRepository = container.resolve(OAuth2InjectionToken.SessionTokenRepository);\n\n const identityResolver = container.resolve(IdentityInjectionKey.Resolver);\n const identityProviderLdapCollectionAuthenticator = container.resolve(IdentityInjectionKey.ProviderLdapCollectionAuthenticator);\n\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n\n const robotAuthenticator = new RobotAuthenticator(identityResolver);\n\n const userAuthenticator = new CredentialsAuthenticator([\n identityProviderLdapCollectionAuthenticator,\n new UserAuthenticator(identityResolver),\n ]);\n\n const oauth2ClientAuthenticator = new OAuth2ClientAuthenticator({\n identityResolver,\n certificateValidator: new ClientCertificateValidator({ trustAnchorRepository: new TrustAnchorRepositoryAdapter(dataSource) }),\n });\n\n const eventService = container.resolve(DatabaseInjectionKey.EventService);\n const metrics = container.resolve(MetricsInjectionKey);\n\n const loginThrottleService = new LoginThrottleService({\n repository: container.resolve(DatabaseInjectionKey.EventRepository),\n options: {\n enabled: config.loginAttemptThrottleEnabled,\n threshold: config.loginAttemptThreshold,\n windowSeconds: config.loginAttemptWindow,\n },\n });\n\n return new TokenController({\n codeVerifier,\n\n accessTokenIssuer,\n refreshTokenIssuer,\n openIdTokenIssuer,\n keyStore,\n\n tokenVerifier,\n tokenRevoker,\n tokenRepository,\n sessionTokenRepository,\n\n eventService,\n metrics,\n loginThrottleService,\n userAuthenticatorService: this.resolveUserAuthenticatorService(container),\n mfaLoginService: this.resolveMfaLoginService(container),\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n\n tokenRefreshGracePeriod: config.tokenRefreshGracePeriod,\n logger,\n\n identityResolver,\n identityPermissionProvider,\n\n robotAuthenticator,\n userAuthenticator,\n\n oauth2ClientAuthenticator,\n certificateSource: config.certificateSource,\n\n realmRepository: new RealmRepositoryAdapter(container.resolve<Repository<Realm>>(RealmEntity)),\n\n sessionManager,\n });\n }\n\n createOpenIDController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new OpenIDController({ baseURL: config.publicUrl });\n }\n\n createActivateController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new ActivateController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createRegistrationService(container),\n });\n }\n\n createPasswordForgotController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new PasswordForgotController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createPasswordRecoveryService(container),\n });\n }\n\n createPasswordResetController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new PasswordResetController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createPasswordRecoveryService(container),\n });\n }\n\n createPasswordRecoveryService(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const mailClient = container.resolve(MailInjectionKey);\n const mailTemplateRenderer = container.resolve(MailTemplateRendererInjectionKey);\n\n return new PasswordRecoveryService({\n mailClient,\n mailTemplateRenderer,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n options: {\n passwordRecoveryEnabled: config.passwordRecoveryEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\n publicUrl: config.publicUrl,\n passwordMinLength: config.passwordMinLength,\n },\n });\n }\n\n createRegisterController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new RegisterController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createRegistrationService(container),\n });\n }\n\n createLogoutController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n const clientRepository = container.resolve(OAuth2InjectionToken.ClientRepository);\n const realmRepository = new RealmRepositoryAdapter(container.resolve<Repository<Realm>>(RealmEntity));\n\n const endSessionService = new OAuth2EndSessionService({\n tokenVerifier,\n sessionManager,\n clientRepository,\n realmRepository,\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n hintGracePeriod: config.endSessionHintGracePeriod,\n });\n\n return new LogoutController({\n options: { baseURL: config.publicUrl },\n endSessionService,\n });\n }\n\n createStatusController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new StatusController({ options: { features: this.buildUIFeatures(config) } });\n }\n\n buildUIFeatures(config: Config) : StatusResponseFeatures {\n return {\n registration: config.registrationEnabled,\n passwordRecovery: config.passwordRecoveryEnabled,\n emailVerification: config.emailVerificationEnabled,\n };\n }\n\n createRegistrationService(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const mailClient = container.resolve(MailInjectionKey);\n const mailTemplateRenderer = container.resolve(MailTemplateRendererInjectionKey);\n\n return new RegistrationService({\n mailClient,\n mailTemplateRenderer,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n options: {\n registrationEnabled: config.registrationEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\n publicUrl: config.publicUrl,\n passwordMinLength: config.passwordMinLength,\n },\n });\n }\n\n createIdentityProvider(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const accountManager = container.resolve(IdentityInjectionKey.ProviderAccountManager);\n\n const codeIssuer = container.resolve(OAuth2InjectionToken.AuthorizationCodeIssuer);\n\n const codeRequestVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeRequestVerifier);\n\n const stateManager = container.resolve(OAuth2InjectionToken.AuthorizationStateManager);\n\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n\n const repository = new IdentityProviderRepositoryAdapter({\n repository: new IdentityProviderRepository(dataSource),\n realmRepository,\n });\n\n return new IdentityProviderController({\n options: { baseURL: config.publicUrl },\n\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n clientRepository: container.resolve(OAuth2InjectionToken.ClientRepository),\n\n accountManager,\n\n codeIssuer,\n codeRequestVerifier,\n stateManager,\n\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n });\n }\n\n createClientController(container: IContainer) {\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new ClientService({\n repository,\n realmRepository: realmRepositoryAdapter,\n });\n return new ClientController({\n service,\n repository,\n });\n }\n\n createRobotController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new RobotRepositoryAdapter({\n repository: container.resolve<Repository<Robot>>(RobotEntity),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new RobotService({\n repository,\n realmRepository: realmRepositoryAdapter,\n });\n return new RobotController({\n service,\n repository,\n realmRepository: realmRepositoryAdapter,\n dataSource,\n });\n }\n\n private createPermissionRepository(container: IContainer): PermissionRepositoryAdapter {\n return new PermissionRepositoryAdapter({\n repository: container.resolve<Repository<Permission>>(PermissionEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n }\n\n private createRoleRepository(container: IContainer): RoleRepositoryAdapter {\n return new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n }\n\n async createPermissionController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new PermissionRepositoryAdapter({\n repository: container.resolve<Repository<Permission>>(PermissionEntity),\n realmRepository,\n });\n\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const roleRepository = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository,\n });\n const rolePermissionRepository = new RolePermissionRepositoryAdapter(\n container.resolve<Repository<RolePermission>>(RolePermissionEntity),\n );\n const policyRepository = new PolicyRepositoryAdapter({\n repository: new PolicyRepository(dataSource),\n realmRepository,\n });\n\n const permissionPolicyRepository = new PermissionPolicyRepositoryAdapter(\n container.resolve<Repository<PermissionPolicy>>(PermissionPolicyEntity),\n );\n\n const service = new PermissionService({\n repository,\n realmRepository: realmRepositoryAdapter,\n roleRepository,\n rolePermissionRepository,\n policyRepository,\n permissionPolicyRepository,\n });\n\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const permissionProvider = new PermissionDatabaseProvider(dataSource);\n\n const checkerService = new PermissionCheckerService({\n repository,\n realmRepository: realmRepositoryAdapter,\n permissionProvider,\n identityPermissionProvider,\n });\n\n return new PermissionController({\n service,\n checkerService,\n });\n }\n\n createRoleController(container: IContainer) {\n const realmRepository = new RealmRepositoryAdapter(\n container.resolve<Repository<Realm>>(RealmEntity),\n );\n const repository = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n const service = new RoleService({\n repository,\n realmRepository,\n });\n return new RoleController({ service });\n }\n\n createClientPermissionController(container: IContainer) {\n const repository = new ClientPermissionRepositoryAdapter(\n container.resolve<Repository<ClientPermission>>(ClientPermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new ClientPermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new ClientPermissionController({ service });\n }\n\n createClientRoleController(container: IContainer) {\n const repository = new ClientRoleRepositoryAdapter(\n container.resolve<Repository<ClientRole>>(ClientRoleEntity),\n );\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new ClientRoleService({ repository, identityPermissionProvider });\n return new ClientRoleController({ service });\n }\n\n createClientScopeController(container: IContainer) {\n const repository = new ClientScopeRepositoryAdapter(\n container.resolve<Repository<ClientScope>>(ClientScopeEntity),\n );\n const service = new ClientScopeService({ repository });\n return new ClientScopeController({ service });\n }\n\n createRobotPermissionController(container: IContainer) {\n const repository = new RobotPermissionRepositoryAdapter(\n container.resolve<Repository<RobotPermission>>(RobotPermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new RobotPermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new RobotPermissionController({ service });\n }\n\n createRobotRoleController(container: IContainer) {\n const repository = new RobotRoleRepositoryAdapter(\n container.resolve<Repository<RobotRole>>(RobotRoleEntity),\n );\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new RobotRoleService({ repository, identityPermissionProvider });\n return new RobotRoleController({ service });\n }\n\n createRoleAttributeController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = new RoleAttributeRepositoryAdapter(\n container.resolve<Repository<RoleAttribute>>(RoleAttributeEntity),\n );\n const reservedNames = new Set(\n dataSource.getMetadata(RoleEntity).columns.map((c) => c.propertyName),\n );\n const service = new RoleAttributeService({ repository, reservedNames });\n return new RoleAttributeController({ service });\n }\n\n createRolePermissionController(container: IContainer) {\n const repository = new RolePermissionRepositoryAdapter(\n container.resolve<Repository<RolePermission>>(RolePermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new RolePermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new RolePermissionController({ service });\n }\n\n createPermissionPolicyController(container: IContainer) {\n const repository = new PermissionPolicyRepositoryAdapter(\n container.resolve<Repository<PermissionPolicy>>(PermissionPolicyEntity),\n );\n const service = new PermissionPolicyService({ repository });\n return new PermissionPolicyController({ service });\n }\n\n createScopeController(container: IContainer) {\n const realmRepository = new RealmRepositoryAdapter(\n container.resolve<Repository<Realm>>(RealmEntity),\n );\n const repository = new ScopeRepositoryAdapter({\n repository: container.resolve<Repository<Scope>>(ScopeEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n const service = new ScopeService({\n repository,\n realmRepository,\n });\n return new ScopeController({ service });\n }\n\n createKeyController(container: IContainer) {\n // the DI singleton carries the optional KEK cipher — never construct\n // a fresh adapter here.\n const service = new KeyService({\n repository: container.resolve(OAuth2InjectionToken.KeyStore),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n requestContext: useRequestEventContext,\n });\n return new KeyController({ service });\n }\n\n createTrustAnchorController(container: IContainer) {\n const repository = new TrustAnchorRepositoryAdapter(\n container.resolve(DatabaseInjectionKey.DataSource),\n );\n const service = new TrustAnchorService({\n repository,\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n requestContext: useRequestEventContext,\n });\n return new TrustAnchorController({ service });\n }\n\n createSessionController(container: IContainer) {\n const repository = container.resolve(AuthenticationInjectionKey.SessionRepository);\n const service = new SessionService({ repository });\n return new SessionController({ service });\n }\n\n protected createConsentService(container: IContainer) : ConsentService {\n const repository = container.resolve(OAuth2InjectionToken.ConsentRepository);\n return new ConsentService({ repository });\n }\n\n createConsentController(container: IContainer) {\n return new ConsentController({ service: this.createConsentService(container) });\n }\n\n private accessPolicyEvaluator? : OAuth2AccessPolicyEvaluator;\n\n protected resolveAccessPolicyEvaluator(container: IContainer) : OAuth2AccessPolicyEvaluator {\n if (this.accessPolicyEvaluator) {\n return this.accessPolicyEvaluator;\n }\n\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n this.accessPolicyEvaluator = new OAuth2AccessPolicyEvaluator({\n policyProvider: new PolicyRepository(dataSource),\n identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider),\n logger: container.resolve(LoggerInjectionKey),\n });\n\n return this.accessPolicyEvaluator;\n }\n\n private userAuthenticatorService? : UserAuthenticatorService;\n\n protected resolveUserAuthenticatorService(container: IContainer) : UserAuthenticatorService {\n if (this.userAuthenticatorService) {\n return this.userAuthenticatorService;\n }\n\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const repository = new UserAuthenticatorRepositoryAdapter(\n container.resolve<Repository<UserAuthenticatorModel>>(UserAuthenticatorEntity),\n );\n const userRepository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n\n let issuer : string | undefined;\n let webauthn : {\n rpId: string, \n rpName: string, \n origin: string \n } | undefined;\n try {\n const url = new URL(config.publicUrl);\n issuer = url.hostname;\n webauthn = {\n rpId: url.hostname,\n rpName: issuer,\n origin: url.origin,\n };\n } catch {\n issuer = undefined;\n webauthn = undefined;\n }\n\n this.userAuthenticatorService = new UserAuthenticatorService({\n repository,\n userRepository,\n cache: container.resolve(CacheInjectionKey),\n cipher: new RealmCipher({ keyStore: container.resolve(OAuth2InjectionToken.KeyStore) }),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n mailClient: container.resolve(MailInjectionKey),\n mailTemplateRenderer: container.resolve(MailTemplateRendererInjectionKey),\n options: {\n enabled: config.mfaEnabled,\n required: config.mfaRequired,\n issuer,\n webauthn,\n },\n });\n\n return this.userAuthenticatorService;\n }\n\n createUserAuthenticatorController(container: IContainer) {\n return new UserAuthenticatorController({ service: this.resolveUserAuthenticatorService(container) });\n }\n\n private mfaLoginService? : OAuth2MfaLoginService;\n\n protected resolveMfaLoginService(container: IContainer) : OAuth2MfaLoginService {\n if (this.mfaLoginService) {\n return this.mfaLoginService;\n }\n\n this.mfaLoginService = new OAuth2MfaLoginService({\n sessionManager: container.resolve(AuthenticationInjectionKey.SessionManager),\n ticketIssuer: container.resolve(OAuth2InjectionToken.MfaTokenIssuer),\n accessTokenIssuer: container.resolve(OAuth2InjectionToken.AccessTokenIssuer),\n refreshTokenIssuer: container.resolve(OAuth2InjectionToken.RefreshTokenIssuer),\n tokenRepository: container.resolve(OAuth2InjectionToken.TokenRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n metrics: container.resolve(MetricsInjectionKey),\n });\n\n return this.mfaLoginService;\n }\n\n createAuthenticatorChallengeController(container: IContainer) {\n return new AuthenticatorChallengeController({\n service: this.resolveUserAuthenticatorService(container),\n sessionManager: container.resolve(AuthenticationInjectionKey.SessionManager),\n mfaLoginService: this.resolveMfaLoginService(container),\n });\n }\n\n createEventController(container: IContainer) {\n const service = container.resolve(DatabaseInjectionKey.EventService);\n return new EventController({ service });\n }\n\n createUserController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new UserService({\n repository,\n realmRepository: realmRepositoryAdapter,\n passwordMinLength: config.passwordMinLength,\n });\n return new UserController({ service });\n }\n\n createUserAttributeController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = new UserAttributeRepositoryAdapter(\n container.resolve<Repository<UserAttribute>>(UserAttributeEntity),\n );\n const reservedNames = new Set(\n dataSource.getMetadata(UserEntity).columns.map((c) => c.propertyName),\n );\n const service = new UserAttributeService({ repository, reservedNames });\n return new UserAttributeController({ service });\n }\n\n createUserPermissionController(container: IContainer) {\n const repository = new UserPermissionRepositoryAdapter(\n container.resolve<Repository<UserPermission>>(UserPermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new UserPermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new UserPermissionController({ service });\n }\n\n createUserRoleController(container: IContainer) {\n const repository = new UserRoleRepositoryAdapter(\n container.resolve<Repository<UserRole>>(UserRoleEntity),\n );\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new UserRoleService({ repository, identityPermissionProvider });\n return new UserRoleController({ service });\n }\n\n createPolicyController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new PolicyRepositoryAdapter({\n repository: new PolicyRepository(dataSource),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new PolicyService({\n repository,\n realmRepository: realmRepositoryAdapter,\n });\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const checkerService = new PolicyCheckerService({\n repository,\n realmRepository: realmRepositoryAdapter,\n identityPermissionProvider,\n });\n\n return new PolicyController({\n service,\n checkerService,\n });\n }\n\n createIdentityProviderRoleController(container: IContainer) {\n const repository = new IdentityProviderRoleMappingRepositoryAdapter(\n container.resolve<Repository<any>>(IdentityProviderRoleMappingEntity),\n );\n const roleRepository = this.createRoleRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new IdentityProviderRoleMappingService({\n repository,\n roleRepository,\n identityPermissionProvider,\n });\n return new IdentityProviderRoleMappingController({ service });\n }\n\n createJwkController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = dataSource.getRepository(KeyEntity);\n return new JwkController({ repository });\n }\n\n createRealmController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new RealmRepositoryAdapter(realmRepository);\n\n const clientRepository = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n const logger = container.resolve(LoggerInjectionKey);\n const webClientProvisioner = new WebClientProvisioner({\n clientRepository,\n appOrigins: getAppOrigins(config),\n logger,\n });\n const keyProvisioner = new KeyProvisioner({\n keyStore: container.resolve(OAuth2InjectionToken.KeyStore),\n logger,\n });\n\n const service = new RealmService({\n repository,\n webClientProvisioner,\n keyProvisioner,\n logger,\n });\n const keyRepository = dataSource.getRepository(KeyEntity);\n\n return new RealmController({\n options: {\n baseURL: config.publicUrl,\n mtlsBaseURL: config.mtlsPublicUrl,\n clientCertificatesEnabled: config.certificateSource !== 'disabled',\n },\n service,\n keyRepository,\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"controller.mjs","names":["decorators","ClientEntity","ClientPermissionEntity","ClientRoleEntity","ClientScopeEntity","IdentityProviderRepository","IdentityProviderRoleMappingEntity","KeyEntity","PermissionEntity","PermissionPolicyEntity","PolicyRepository","RealmEntity","RoleAttributeEntity","RoleEntity","RolePermissionEntity","ScopeEntity","UserAttributeEntity","UserAuthenticatorEntity","UserEntity","UserPermissionEntity","UserRepository","UserRoleEntity","ClientPermissionRepositoryAdapter","ClientRepositoryAdapter","ClientRoleRepositoryAdapter","ClientScopeRepositoryAdapter","DatabaseInjectionKey","IdentityProviderRepositoryAdapter","IdentityProviderRoleMappingRepositoryAdapter","PermissionDatabaseProvider","PermissionPolicyRepositoryAdapter","PermissionRepositoryAdapter","PolicyRepositoryAdapter","RealmRepositoryAdapter","RoleAttributeRepositoryAdapter","RolePermissionRepositoryAdapter","RoleRepositoryAdapter","ScopeRepositoryAdapter","TrustAnchorRepositoryAdapter","UserAttributeRepositoryAdapter","UserAuthenticatorRepositoryAdapter","UserPermissionRepositoryAdapter","UserRepositoryAdapter","UserRoleRepositoryAdapter","ClientController","ClientPermissionController","ClientRoleController","ClientScopeController","ConsentController","EventController","IdentityProviderController","IdentityProviderRoleMappingController","KeyController","PermissionController","PermissionPolicyController","PolicyController","RealmController","RoleAttributeController","RoleController","RolePermissionController","ScopeController","SessionController","TrustAnchorController","UserAttributeController","UserAuthenticatorController","UserController","UserPermissionController","UserRoleController","useRequestEventContext","ActivateController","AuthenticatorChallengeController","AuthorizeController","JwkController","LogoutController","OpenIDController","PasswordForgotController","PasswordResetController","RegisterController","StatusController","TokenController","ClientCertificateValidator","ClientPermissionService","ClientRoleService","ClientScopeService","ClientService","ConsentService","CredentialsAuthenticator","IdentityProviderRoleMappingService","KeyProvisioner","KeyService","LoginThrottleService","OAuth2AccessPolicyEvaluator","OAuth2ClientAuthenticator","OAuth2EndSessionService","OAuth2MfaLoginService","PasswordRecoveryService","PermissionCheckerService","PermissionPolicyService","PermissionService","PolicyCheckerService","PolicyService","RealmCipher","RealmService","RegistrationService","RoleAttributeService","RolePermissionService","RoleService","ScopeService","SessionService","TrustAnchorService","UserAttributeService","UserAuthenticator","UserAuthenticatorService","UserPermissionService","UserRoleService","UserService","WebClientProvisioner","AuthenticationInjectionKey","OAuth2InjectionToken","IdentityInjectionKey","ConfigInjectionKey","getAppOrigins","CacheInjectionKey","LoggerInjectionKey","MailInjectionKey","MailTemplateRendererInjectionKey","MetricsInjectionKey","HTTPControllerModule","mount","router","container","eventController","createEventController","realmController","createRealmController","roleController","createRoleController","permissionController","createPermissionController","permissionPolicyController","createPermissionPolicyController","clientController","createClientController","clientPermissionController","createClientPermissionController","clientRoleController","createClientRoleController","clientScopeController","createClientScopeController","roleAttributeController","createRoleAttributeController","rolePermissionController","createRolePermissionController","scopeController","createScopeController","keyController","createKeyController","trustAnchorController","createTrustAnchorController","sessionController","createSessionController","consentController","createConsentController","userController","createUserController","userAttributeController","createUserAttributeController","userAuthenticatorController","createUserAuthenticatorController","userPermissionController","createUserPermissionController","userRoleController","createUserRoleController","policyController","createPolicyController","identityProviderRoleController","createIdentityProviderRoleController","use","controllers","createAuthorize","createToken","createJwkController","createOpenIDController","createActivateController","createPasswordForgotController","createPasswordResetController","createRegisterController","createLogoutController","createAuthenticatorChallengeController","createStatusController","createIdentityProvider","config","resolve","codeIssuer","AuthorizationCodeIssuer","codeRequestVerifier","AuthorizationCodeRequestVerifier","sessionManager","SessionManager","eventService","EventService","metrics","options","baseURL","publicUrl","features","buildUIFeatures","promptLoginMaxAge","mfaFreshnessMaxAge","mfaChallengeProvider","resolveUserAuthenticatorService","accessPolicyEvaluator","resolveAccessPolicyEvaluator","consentService","createConsentService","logger","dataSource","DataSource","codeVerifier","AuthorizationCodeVerifier","accessTokenIssuer","AccessTokenIssuer","refreshTokenIssuer","RefreshTokenIssuer","openIdTokenIssuer","OpenIDTokenIssuer","keyStore","KeyStore","tokenRevoker","TokenRevoker","tokenVerifier","TokenVerifier","tokenRepository","TokenRepository","sessionTokenRepository","SessionTokenRepository","identityResolver","Resolver","identityProviderLdapCollectionAuthenticator","ProviderLdapCollectionAuthenticator","identityPermissionProvider","PermissionProvider","userAuthenticator","oauth2ClientAuthenticator","certificateValidator","trustAnchorRepository","loginThrottleService","repository","EventRepository","enabled","loginAttemptThrottleEnabled","threshold","loginAttemptThreshold","windowSeconds","loginAttemptWindow","userAuthenticatorService","mfaLoginService","resolveMfaLoginService","tokenRefreshGracePeriod","certificateSource","realmRepository","service","createRegistrationService","createPasswordRecoveryService","mailClient","mailTemplateRenderer","passwordRecoveryEnabled","emailVerificationEnabled","passwordMinLength","clientRepository","ClientRepository","endSessionService","hintGracePeriod","endSessionHintGracePeriod","registration","registrationEnabled","passwordRecovery","emailVerification","accountManager","ProviderAccountManager","stateManager","AuthorizationStateManager","realmRepositoryAdapter","createPermissionRepository","createRoleRepository","roleRepository","rolePermissionRepository","policyRepository","permissionPolicyRepository","permissionProvider","checkerService","permissionRepository","reservedNames","Set","getMetadata","columns","map","c","propertyName","requestContext","SessionRepository","ConsentRepository","policyProvider","userRepository","issuer","webauthn","url","URL","hostname","rpId","rpName","origin","undefined","cache","cipher","mfaEnabled","required","mfaRequired","ticketIssuer","MfaTokenIssuer","getRepository","webClientProvisioner","appOrigins","keyProvisioner","keyRepository","mtlsBaseURL","mtlsPublicUrl","clientCertificatesEnabled"],"sources":["../../../../../src/app/modules/http/modules/controller.ts"],"sourcesContent":["/*\n * Copyright (c) 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 { App } from 'routup';\nimport { decorators } from '@routup/decorators';\nimport type {\n Client,\n ClientPermission,\n ClientRole,\n ClientScope,\n Permission,\n PermissionPolicy,\n Realm,\n Role,\n RoleAttribute,\n RolePermission,\n Scope,\n UserAttribute,\n UserAuthenticator as UserAuthenticatorModel,\n UserPermission,\n UserRole,\n} from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport {\n ClientEntity,\n ClientPermissionEntity,\n ClientRoleEntity,\n ClientScopeEntity,\n IdentityProviderRepository,\n IdentityProviderRoleMappingEntity,\n KeyEntity,\n PermissionEntity,\n PermissionPolicyEntity,\n PolicyRepository,\n RealmEntity,\n RoleAttributeEntity,\n RoleEntity,\n RolePermissionEntity,\n ScopeEntity,\n UserAttributeEntity,\n UserAuthenticatorEntity,\n UserEntity,\n UserPermissionEntity,\n UserRepository,\n UserRoleEntity,\n} from '../../../../adapters/database/domains/index.ts';\nimport {\n ClientPermissionRepositoryAdapter,\n ClientRepositoryAdapter,\n ClientRoleRepositoryAdapter,\n ClientScopeRepositoryAdapter,\n DatabaseInjectionKey,\n IdentityProviderRepositoryAdapter,\n IdentityProviderRoleMappingRepositoryAdapter,\n PermissionDatabaseProvider,\n PermissionPolicyRepositoryAdapter,\n PermissionRepositoryAdapter,\n PolicyRepositoryAdapter,\n RealmRepositoryAdapter,\n RoleAttributeRepositoryAdapter,\n RolePermissionRepositoryAdapter,\n RoleRepositoryAdapter,\n ScopeRepositoryAdapter,\n TrustAnchorRepositoryAdapter,\n UserAttributeRepositoryAdapter,\n UserAuthenticatorRepositoryAdapter,\n UserPermissionRepositoryAdapter,\n UserRepositoryAdapter,\n UserRoleRepositoryAdapter,\n} from '../../database/index.ts';\nimport {\n ClientController,\n ClientPermissionController,\n ClientRoleController,\n ClientScopeController,\n ConsentController,\n EventController,\n IdentityProviderController,\n IdentityProviderRoleMappingController,\n KeyController,\n PermissionController,\n PermissionPolicyController,\n PolicyController,\n RealmController,\n RoleAttributeController,\n RoleController,\n RolePermissionController,\n ScopeController,\n SessionController,\n TrustAnchorController,\n UserAttributeController,\n UserAuthenticatorController,\n UserController,\n UserPermissionController,\n UserRoleController,\n useRequestEventContext,\n} from '../../../../adapters/http/index.ts';\nimport {\n ActivateController,\n AuthenticatorChallengeController,\n AuthorizeController,\n JwkController,\n LogoutController,\n OpenIDController,\n PasswordForgotController,\n PasswordResetController,\n RegisterController,\n StatusController,\n TokenController,\n} from '../../../../adapters/http/controllers/index.ts';\nimport type { IContainer } from 'eldin';\nimport {\n ClientCertificateValidator,\n ClientPermissionService,\n ClientRoleService,\n ClientScopeService,\n ClientService,\n ConsentService,\n CredentialsAuthenticator,\n IdentityProviderRoleMappingService,\n KeyProvisioner,\n KeyService,\n LoginThrottleService,\n OAuth2AccessPolicyEvaluator,\n OAuth2ClientAuthenticator,\n OAuth2EndSessionService,\n OAuth2MfaLoginService,\n PasswordRecoveryService,\n PermissionCheckerService,\n PermissionPolicyService,\n PermissionService,\n PolicyCheckerService,\n PolicyService,\n RealmCipher,\n RealmService,\n RegistrationService,\n RoleAttributeService,\n RolePermissionService,\n RoleService,\n ScopeService,\n SessionService,\n TrustAnchorService,\n UserAttributeService,\n UserAuthenticator,\n UserAuthenticatorService,\n UserPermissionService,\n UserRoleService,\n UserService,\n WebClientProvisioner,\n} from '../../../../core/index.ts';\nimport { AuthenticationInjectionKey } from '../../authentication/index.ts';\nimport { OAuth2InjectionToken } from '../../oauth2/index.ts';\nimport { IdentityInjectionKey } from '../../identity/index.ts';\nimport type { StatusResponseFeatures } from '@authup/core-http-kit';\nimport type { Config } from '../../config/index.ts';\nimport { ConfigInjectionKey, getAppOrigins } from '../../config/index.ts';\nimport { CacheInjectionKey } from '../../cache/index.ts';\nimport { LoggerInjectionKey } from '../../logger/index.ts';\nimport { MailInjectionKey, MailTemplateRendererInjectionKey } from '../../mail/index.ts';\nimport { MetricsInjectionKey } from '../../metrics/index.ts';\n\nexport class HTTPControllerModule {\n async mount(router: App, container: IContainer): Promise<void> {\n const eventController = this.createEventController(container);\n const realmController = this.createRealmController(container);\n const roleController = this.createRoleController(container);\n const permissionController = await this.createPermissionController(container);\n const permissionPolicyController = this.createPermissionPolicyController(container);\n const clientController = this.createClientController(container);\n const clientPermissionController = this.createClientPermissionController(container);\n const clientRoleController = this.createClientRoleController(container);\n const clientScopeController = this.createClientScopeController(container);\n const roleAttributeController = this.createRoleAttributeController(container);\n const rolePermissionController = this.createRolePermissionController(container);\n const scopeController = this.createScopeController(container);\n const keyController = this.createKeyController(container);\n const trustAnchorController = this.createTrustAnchorController(container);\n const sessionController = this.createSessionController(container);\n const consentController = this.createConsentController(container);\n const userController = this.createUserController(container);\n const userAttributeController = this.createUserAttributeController(container);\n const userAuthenticatorController = this.createUserAuthenticatorController(container);\n const userPermissionController = this.createUserPermissionController(container);\n const userRoleController = this.createUserRoleController(container);\n const policyController = this.createPolicyController(container);\n const identityProviderRoleController = this.createIdentityProviderRoleController(container);\n\n router.use(decorators({\n controllers: [\n this.createAuthorize(container),\n this.createToken(container),\n this.createJwkController(container),\n this.createOpenIDController(container),\n this.createActivateController(container),\n this.createPasswordForgotController(container),\n this.createPasswordResetController(container),\n this.createRegisterController(container),\n this.createLogoutController(container),\n this.createAuthenticatorChallengeController(container),\n\n this.createStatusController(container),\n\n clientController,\n clientPermissionController,\n clientRoleController,\n clientScopeController,\n consentController,\n eventController,\n identityProviderRoleController,\n this.createIdentityProvider(container),\n keyController,\n trustAnchorController,\n permissionController,\n permissionPolicyController,\n policyController,\n realmController,\n roleController,\n roleAttributeController,\n rolePermissionController,\n scopeController,\n sessionController,\n userController,\n userAttributeController,\n userAuthenticatorController,\n userPermissionController,\n userRoleController,\n ],\n }));\n }\n\n // ----------------------------------------------------\n\n createAuthorize(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n const codeIssuer = container.resolve(OAuth2InjectionToken.AuthorizationCodeIssuer);\n const codeRequestVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeRequestVerifier);\n\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n\n const eventService = container.resolve(DatabaseInjectionKey.EventService);\n const metrics = container.resolve(MetricsInjectionKey);\n\n return new AuthorizeController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n promptLoginMaxAge: config.promptLoginMaxAge,\n mfaFreshnessMaxAge: config.mfaFreshnessMaxAge,\n },\n\n codeIssuer,\n codeRequestVerifier,\n\n sessionManager,\n\n eventService,\n metrics,\n\n mfaChallengeProvider: this.resolveUserAuthenticatorService(container),\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n\n consentService: this.createConsentService(container),\n logger: container.resolve(LoggerInjectionKey),\n });\n }\n\n createToken(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n\n const codeVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeVerifier);\n\n const accessTokenIssuer = container.resolve(OAuth2InjectionToken.AccessTokenIssuer);\n const refreshTokenIssuer = container.resolve(OAuth2InjectionToken.RefreshTokenIssuer);\n const openIdTokenIssuer = container.resolve(OAuth2InjectionToken.OpenIDTokenIssuer);\n const keyStore = container.resolve(OAuth2InjectionToken.KeyStore);\n\n const tokenRevoker = container.resolve(OAuth2InjectionToken.TokenRevoker);\n const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\n const tokenRepository = container.resolve(OAuth2InjectionToken.TokenRepository);\n const sessionTokenRepository = container.resolve(OAuth2InjectionToken.SessionTokenRepository);\n\n const identityResolver = container.resolve(IdentityInjectionKey.Resolver);\n const identityProviderLdapCollectionAuthenticator = container.resolve(IdentityInjectionKey.ProviderLdapCollectionAuthenticator);\n\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n\n const userAuthenticator = new CredentialsAuthenticator([\n identityProviderLdapCollectionAuthenticator,\n new UserAuthenticator(identityResolver),\n ]);\n\n const oauth2ClientAuthenticator = new OAuth2ClientAuthenticator({\n identityResolver,\n certificateValidator: new ClientCertificateValidator({ trustAnchorRepository: new TrustAnchorRepositoryAdapter(dataSource) }),\n });\n\n const eventService = container.resolve(DatabaseInjectionKey.EventService);\n const metrics = container.resolve(MetricsInjectionKey);\n\n const loginThrottleService = new LoginThrottleService({\n repository: container.resolve(DatabaseInjectionKey.EventRepository),\n options: {\n enabled: config.loginAttemptThrottleEnabled,\n threshold: config.loginAttemptThreshold,\n windowSeconds: config.loginAttemptWindow,\n },\n });\n\n return new TokenController({\n codeVerifier,\n\n accessTokenIssuer,\n refreshTokenIssuer,\n openIdTokenIssuer,\n keyStore,\n\n tokenVerifier,\n tokenRevoker,\n tokenRepository,\n sessionTokenRepository,\n\n eventService,\n metrics,\n loginThrottleService,\n userAuthenticatorService: this.resolveUserAuthenticatorService(container),\n mfaLoginService: this.resolveMfaLoginService(container),\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n\n tokenRefreshGracePeriod: config.tokenRefreshGracePeriod,\n logger,\n\n identityResolver,\n identityPermissionProvider,\n\n userAuthenticator,\n\n oauth2ClientAuthenticator,\n certificateSource: config.certificateSource,\n\n realmRepository: new RealmRepositoryAdapter(container.resolve<Repository<Realm>>(RealmEntity)),\n\n sessionManager,\n });\n }\n\n createOpenIDController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new OpenIDController({ baseURL: config.publicUrl });\n }\n\n createActivateController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new ActivateController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createRegistrationService(container),\n });\n }\n\n createPasswordForgotController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new PasswordForgotController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createPasswordRecoveryService(container),\n });\n }\n\n createPasswordResetController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new PasswordResetController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createPasswordRecoveryService(container),\n });\n }\n\n createPasswordRecoveryService(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const mailClient = container.resolve(MailInjectionKey);\n const mailTemplateRenderer = container.resolve(MailTemplateRendererInjectionKey);\n\n return new PasswordRecoveryService({\n mailClient,\n mailTemplateRenderer,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n options: {\n passwordRecoveryEnabled: config.passwordRecoveryEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\n publicUrl: config.publicUrl,\n passwordMinLength: config.passwordMinLength,\n },\n });\n }\n\n createRegisterController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new RegisterController({\n options: {\n baseURL: config.publicUrl,\n features: this.buildUIFeatures(config),\n },\n service: this.createRegistrationService(container),\n });\n }\n\n createLogoutController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n const clientRepository = container.resolve(OAuth2InjectionToken.ClientRepository);\n const realmRepository = new RealmRepositoryAdapter(container.resolve<Repository<Realm>>(RealmEntity));\n\n const endSessionService = new OAuth2EndSessionService({\n tokenVerifier,\n sessionManager,\n clientRepository,\n realmRepository,\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n hintGracePeriod: config.endSessionHintGracePeriod,\n });\n\n return new LogoutController({\n options: { baseURL: config.publicUrl },\n endSessionService,\n });\n }\n\n createStatusController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n return new StatusController({ options: { features: this.buildUIFeatures(config) } });\n }\n\n buildUIFeatures(config: Config) : StatusResponseFeatures {\n return {\n registration: config.registrationEnabled,\n passwordRecovery: config.passwordRecoveryEnabled,\n emailVerification: config.emailVerificationEnabled,\n };\n }\n\n createRegistrationService(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const mailClient = container.resolve(MailInjectionKey);\n const mailTemplateRenderer = container.resolve(MailTemplateRendererInjectionKey);\n\n return new RegistrationService({\n mailClient,\n mailTemplateRenderer,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n options: {\n registrationEnabled: config.registrationEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\n publicUrl: config.publicUrl,\n passwordMinLength: config.passwordMinLength,\n },\n });\n }\n\n createIdentityProvider(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const accountManager = container.resolve(IdentityInjectionKey.ProviderAccountManager);\n\n const codeIssuer = container.resolve(OAuth2InjectionToken.AuthorizationCodeIssuer);\n\n const codeRequestVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeRequestVerifier);\n\n const stateManager = container.resolve(OAuth2InjectionToken.AuthorizationStateManager);\n\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n\n const repository = new IdentityProviderRepositoryAdapter({\n repository: new IdentityProviderRepository(dataSource),\n realmRepository,\n });\n\n return new IdentityProviderController({\n options: { baseURL: config.publicUrl },\n\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n clientRepository: container.resolve(OAuth2InjectionToken.ClientRepository),\n\n accountManager,\n\n codeIssuer,\n codeRequestVerifier,\n stateManager,\n\n accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),\n });\n }\n\n createClientController(container: IContainer) {\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new ClientService({\n repository,\n realmRepository: realmRepositoryAdapter,\n });\n return new ClientController({\n service,\n repository,\n });\n }\n\n private createPermissionRepository(container: IContainer): PermissionRepositoryAdapter {\n return new PermissionRepositoryAdapter({\n repository: container.resolve<Repository<Permission>>(PermissionEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n }\n\n private createRoleRepository(container: IContainer): RoleRepositoryAdapter {\n return new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n }\n\n async createPermissionController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new PermissionRepositoryAdapter({\n repository: container.resolve<Repository<Permission>>(PermissionEntity),\n realmRepository,\n });\n\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const roleRepository = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository,\n });\n const rolePermissionRepository = new RolePermissionRepositoryAdapter(\n container.resolve<Repository<RolePermission>>(RolePermissionEntity),\n );\n const policyRepository = new PolicyRepositoryAdapter({\n repository: new PolicyRepository(dataSource),\n realmRepository,\n });\n\n const permissionPolicyRepository = new PermissionPolicyRepositoryAdapter(\n container.resolve<Repository<PermissionPolicy>>(PermissionPolicyEntity),\n );\n\n const service = new PermissionService({\n repository,\n realmRepository: realmRepositoryAdapter,\n roleRepository,\n rolePermissionRepository,\n policyRepository,\n permissionPolicyRepository,\n });\n\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const permissionProvider = new PermissionDatabaseProvider(dataSource);\n\n const checkerService = new PermissionCheckerService({\n repository,\n realmRepository: realmRepositoryAdapter,\n permissionProvider,\n identityPermissionProvider,\n });\n\n return new PermissionController({\n service,\n checkerService,\n });\n }\n\n createRoleController(container: IContainer) {\n const realmRepository = new RealmRepositoryAdapter(\n container.resolve<Repository<Realm>>(RealmEntity),\n );\n const repository = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n const service = new RoleService({\n repository,\n realmRepository,\n });\n return new RoleController({ service });\n }\n\n createClientPermissionController(container: IContainer) {\n const repository = new ClientPermissionRepositoryAdapter(\n container.resolve<Repository<ClientPermission>>(ClientPermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new ClientPermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new ClientPermissionController({ service });\n }\n\n createClientRoleController(container: IContainer) {\n const repository = new ClientRoleRepositoryAdapter(\n container.resolve<Repository<ClientRole>>(ClientRoleEntity),\n );\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new ClientRoleService({ repository, identityPermissionProvider });\n return new ClientRoleController({ service });\n }\n\n createClientScopeController(container: IContainer) {\n const repository = new ClientScopeRepositoryAdapter(\n container.resolve<Repository<ClientScope>>(ClientScopeEntity),\n );\n const service = new ClientScopeService({ repository });\n return new ClientScopeController({ service });\n }\n\n createRoleAttributeController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = new RoleAttributeRepositoryAdapter(\n container.resolve<Repository<RoleAttribute>>(RoleAttributeEntity),\n );\n const reservedNames = new Set(\n dataSource.getMetadata(RoleEntity).columns.map((c) => c.propertyName),\n );\n const service = new RoleAttributeService({ repository, reservedNames });\n return new RoleAttributeController({ service });\n }\n\n createRolePermissionController(container: IContainer) {\n const repository = new RolePermissionRepositoryAdapter(\n container.resolve<Repository<RolePermission>>(RolePermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new RolePermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new RolePermissionController({ service });\n }\n\n createPermissionPolicyController(container: IContainer) {\n const repository = new PermissionPolicyRepositoryAdapter(\n container.resolve<Repository<PermissionPolicy>>(PermissionPolicyEntity),\n );\n const service = new PermissionPolicyService({ repository });\n return new PermissionPolicyController({ service });\n }\n\n createScopeController(container: IContainer) {\n const realmRepository = new RealmRepositoryAdapter(\n container.resolve<Repository<Realm>>(RealmEntity),\n );\n const repository = new ScopeRepositoryAdapter({\n repository: container.resolve<Repository<Scope>>(ScopeEntity),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n const service = new ScopeService({\n repository,\n realmRepository,\n });\n return new ScopeController({ service });\n }\n\n createKeyController(container: IContainer) {\n // the DI singleton carries the optional KEK cipher — never construct\n // a fresh adapter here.\n const service = new KeyService({\n repository: container.resolve(OAuth2InjectionToken.KeyStore),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n requestContext: useRequestEventContext,\n });\n return new KeyController({ service });\n }\n\n createTrustAnchorController(container: IContainer) {\n const repository = new TrustAnchorRepositoryAdapter(\n container.resolve(DatabaseInjectionKey.DataSource),\n );\n const service = new TrustAnchorService({\n repository,\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n requestContext: useRequestEventContext,\n });\n return new TrustAnchorController({ service });\n }\n\n createSessionController(container: IContainer) {\n const repository = container.resolve(AuthenticationInjectionKey.SessionRepository);\n const service = new SessionService({ repository });\n return new SessionController({ service });\n }\n\n protected createConsentService(container: IContainer) : ConsentService {\n const repository = container.resolve(OAuth2InjectionToken.ConsentRepository);\n return new ConsentService({ repository });\n }\n\n createConsentController(container: IContainer) {\n return new ConsentController({ service: this.createConsentService(container) });\n }\n\n private accessPolicyEvaluator? : OAuth2AccessPolicyEvaluator;\n\n protected resolveAccessPolicyEvaluator(container: IContainer) : OAuth2AccessPolicyEvaluator {\n if (this.accessPolicyEvaluator) {\n return this.accessPolicyEvaluator;\n }\n\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n this.accessPolicyEvaluator = new OAuth2AccessPolicyEvaluator({\n policyProvider: new PolicyRepository(dataSource),\n identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider),\n logger: container.resolve(LoggerInjectionKey),\n });\n\n return this.accessPolicyEvaluator;\n }\n\n private userAuthenticatorService? : UserAuthenticatorService;\n\n protected resolveUserAuthenticatorService(container: IContainer) : UserAuthenticatorService {\n if (this.userAuthenticatorService) {\n return this.userAuthenticatorService;\n }\n\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const repository = new UserAuthenticatorRepositoryAdapter(\n container.resolve<Repository<UserAuthenticatorModel>>(UserAuthenticatorEntity),\n );\n const userRepository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n\n let issuer : string | undefined;\n let webauthn : {\n rpId: string, \n rpName: string, \n origin: string \n } | undefined;\n try {\n const url = new URL(config.publicUrl);\n issuer = url.hostname;\n webauthn = {\n rpId: url.hostname,\n rpName: issuer,\n origin: url.origin,\n };\n } catch {\n issuer = undefined;\n webauthn = undefined;\n }\n\n this.userAuthenticatorService = new UserAuthenticatorService({\n repository,\n userRepository,\n cache: container.resolve(CacheInjectionKey),\n cipher: new RealmCipher({ keyStore: container.resolve(OAuth2InjectionToken.KeyStore) }),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n mailClient: container.resolve(MailInjectionKey),\n mailTemplateRenderer: container.resolve(MailTemplateRendererInjectionKey),\n options: {\n enabled: config.mfaEnabled,\n required: config.mfaRequired,\n issuer,\n webauthn,\n },\n });\n\n return this.userAuthenticatorService;\n }\n\n createUserAuthenticatorController(container: IContainer) {\n return new UserAuthenticatorController({ service: this.resolveUserAuthenticatorService(container) });\n }\n\n private mfaLoginService? : OAuth2MfaLoginService;\n\n protected resolveMfaLoginService(container: IContainer) : OAuth2MfaLoginService {\n if (this.mfaLoginService) {\n return this.mfaLoginService;\n }\n\n this.mfaLoginService = new OAuth2MfaLoginService({\n sessionManager: container.resolve(AuthenticationInjectionKey.SessionManager),\n ticketIssuer: container.resolve(OAuth2InjectionToken.MfaTokenIssuer),\n accessTokenIssuer: container.resolve(OAuth2InjectionToken.AccessTokenIssuer),\n refreshTokenIssuer: container.resolve(OAuth2InjectionToken.RefreshTokenIssuer),\n tokenRepository: container.resolve(OAuth2InjectionToken.TokenRepository),\n eventService: container.resolve(DatabaseInjectionKey.EventService),\n metrics: container.resolve(MetricsInjectionKey),\n });\n\n return this.mfaLoginService;\n }\n\n createAuthenticatorChallengeController(container: IContainer) {\n return new AuthenticatorChallengeController({\n service: this.resolveUserAuthenticatorService(container),\n sessionManager: container.resolve(AuthenticationInjectionKey.SessionManager),\n mfaLoginService: this.resolveMfaLoginService(container),\n });\n }\n\n createEventController(container: IContainer) {\n const service = container.resolve(DatabaseInjectionKey.EventService);\n return new EventController({ service });\n }\n\n createUserController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new UserService({\n repository,\n realmRepository: realmRepositoryAdapter,\n passwordMinLength: config.passwordMinLength,\n });\n return new UserController({ service });\n }\n\n createUserAttributeController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = new UserAttributeRepositoryAdapter(\n container.resolve<Repository<UserAttribute>>(UserAttributeEntity),\n );\n const reservedNames = new Set(\n dataSource.getMetadata(UserEntity).columns.map((c) => c.propertyName),\n );\n const service = new UserAttributeService({ repository, reservedNames });\n return new UserAttributeController({ service });\n }\n\n createUserPermissionController(container: IContainer) {\n const repository = new UserPermissionRepositoryAdapter(\n container.resolve<Repository<UserPermission>>(UserPermissionEntity),\n );\n const permissionRepository = this.createPermissionRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new UserPermissionService({\n repository,\n permissionRepository,\n identityPermissionProvider,\n });\n return new UserPermissionController({ service });\n }\n\n createUserRoleController(container: IContainer) {\n const repository = new UserRoleRepositoryAdapter(\n container.resolve<Repository<UserRole>>(UserRoleEntity),\n );\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new UserRoleService({ repository, identityPermissionProvider });\n return new UserRoleController({ service });\n }\n\n createPolicyController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new PolicyRepositoryAdapter({\n repository: new PolicyRepository(dataSource),\n realmRepository,\n });\n const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);\n const service = new PolicyService({\n repository,\n realmRepository: realmRepositoryAdapter,\n });\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const checkerService = new PolicyCheckerService({\n repository,\n realmRepository: realmRepositoryAdapter,\n identityPermissionProvider,\n });\n\n return new PolicyController({\n service,\n checkerService,\n });\n }\n\n createIdentityProviderRoleController(container: IContainer) {\n const repository = new IdentityProviderRoleMappingRepositoryAdapter(\n container.resolve<Repository<any>>(IdentityProviderRoleMappingEntity),\n );\n const roleRepository = this.createRoleRepository(container);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new IdentityProviderRoleMappingService({\n repository,\n roleRepository,\n identityPermissionProvider,\n });\n return new IdentityProviderRoleMappingController({ service });\n }\n\n createJwkController(container: IContainer) {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const repository = dataSource.getRepository(KeyEntity);\n return new JwkController({ repository });\n }\n\n createRealmController(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const repository = new RealmRepositoryAdapter(realmRepository);\n\n const clientRepository = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n const logger = container.resolve(LoggerInjectionKey);\n const webClientProvisioner = new WebClientProvisioner({\n clientRepository,\n appOrigins: getAppOrigins(config),\n logger,\n });\n const keyProvisioner = new KeyProvisioner({\n keyStore: container.resolve(OAuth2InjectionToken.KeyStore),\n logger,\n });\n\n const service = new RealmService({\n repository,\n webClientProvisioner,\n keyProvisioner,\n logger,\n });\n const keyRepository = dataSource.getRepository(KeyEntity);\n\n return new RealmController({\n options: {\n baseURL: config.publicUrl,\n mtlsBaseURL: config.mtlsPublicUrl,\n clientCertificatesEnabled: config.certificateSource !== 'disabled',\n },\n service,\n keyRepository,\n });\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/middleware.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA+BxC,qBAAa,oBAAoB;IACvB,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9D,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5D,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpE,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjE,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrE,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BrE,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,SAAS;CAGpB"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/middleware.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA+BxC,qBAAa,oBAAoB;IACvB,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9D,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5D,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9D,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpE,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjE,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrE,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrE,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,SAAS;CAGpB"}
@@ -111,7 +111,6 @@ var HTTPMiddlewareModule = class {
111
111
  sessionManager,
112
112
  options: {
113
113
  clientAuthBasic: config.clientAuthBasic,
114
- robotAuthBasic: config.robotAuthBasic,
115
114
  userAuthBasic: config.userAuthBasic,
116
115
  certificateSource: config.certificateSource
117
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.mjs","names":["path","createAuthorizationMiddleware","createLoggerMiddleware","createRealmResolverMiddleware","createRequestEventContextMiddleware","createSwaggerMiddleware","registerAssetsMiddleware","registerBasicMiddleware","registerCorsMiddleware","registerErrorMiddleware","registerPrometheusMiddleware","registerRateLimitMiddleware","registerUIHttpClientMiddleware","HTTPInjectionKey","DIST_PATH","AuthenticationInjectionKey","ConfigInjectionKey","LoggerInjectionKey","IdentityInjectionKey","OAuth2InjectionToken","RealmEntity","RealmRepositoryAdapter","DatabaseInjectionKey","PermissionDatabaseProvider","HTTPMiddlewareModule","mountBefore","router","container","mountPrometheus","mountLogger","mountCors","mountAssets","mountUIHttpClient","mountBasic","mountRateLimit","mountSwagger","mountAuthorization","mountRequestEventContext","mountRealmResolver","mountAfter","logger","resolve","config","isEnabled","middlewareCors","options","transformBoolToEmptyObject","middleware","env","use","has","UIHttpClient","middlewarePrometheus","middlewareRateLimit","middlewareSwagger","documentPath","join","baseURL","publicUrl","realmRepository","dataSource","DataSource","identityResolver","Resolver","sessionManager","SessionManager","oauth2TokenVerifier","TokenVerifier","identityPermissionProvider","PermissionProvider","permissionProvider","clientAuthBasic","robotAuthBasic","userAuthBasic","certificateSource","input"],"sources":["../../../../../src/app/modules/http/modules/middleware.ts"],"sourcesContent":["/*\n * Copyright (c) 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 { App } from 'routup';\nimport path from 'node:path';\nimport type { IContainer } from 'eldin';\nimport type { Repository } from 'typeorm';\nimport type { Realm } from '@authup/core-kit';\nimport {\n createAuthorizationMiddleware,\n createLoggerMiddleware,\n createRealmResolverMiddleware,\n createRequestEventContextMiddleware,\n createSwaggerMiddleware,\n registerAssetsMiddleware,\n registerBasicMiddleware,\n registerCorsMiddleware,\n registerErrorMiddleware,\n registerPrometheusMiddleware,\n registerRateLimitMiddleware,\n registerUIHttpClientMiddleware,\n} from '../../../../adapters/http/index.ts';\nimport { HTTPInjectionKey } from '../constants.ts';\nimport { DIST_PATH } from '../../../../path.ts';\nimport { AuthenticationInjectionKey } from '../../authentication/index.ts';\nimport { ConfigInjectionKey } from '../../config/index.ts';\nimport { LoggerInjectionKey } from '../../logger/index.ts';\nimport { IdentityInjectionKey } from '../../identity/index.ts';\nimport { OAuth2InjectionToken } from '../../oauth2/index.ts';\nimport { RealmEntity } from '../../../../adapters/database/domains/index.ts';\nimport { RealmRepositoryAdapter } from '../../database/repositories/index.ts';\nimport {\n DatabaseInjectionKey,\n PermissionDatabaseProvider,\n} from '../../database/index.ts';\n\nexport class HTTPMiddlewareModule {\n async mountBefore(router: App, container: IContainer): Promise<void> {\n // @routup/prometheus must be installed before any other plugin or\n // route so that its onion middleware can observe the full request\n // lifecycle (the v3 README is explicit on this).\n await this.mountPrometheus(router, container);\n await this.mountLogger(router, container);\n await this.mountCors(router, container);\n await this.mountAssets(router);\n await this.mountUIHttpClient(router, container);\n await this.mountBasic(router);\n await this.mountRateLimit(router, container);\n\n await this.mountSwagger(router, container);\n await this.mountAuthorization(router, container);\n await this.mountRequestEventContext(router);\n await this.mountRealmResolver(router, container);\n }\n\n\n async mountAfter(router: App, container: IContainer): Promise<void> {\n registerErrorMiddleware(router, { logger: container.resolve(LoggerInjectionKey) });\n }\n\n // ----------------------------------------------------\n async mountCors(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n\n if (!this.isEnabled(config.middlewareCors)) {\n return;\n }\n\n const options = this.transformBoolToEmptyObject(config.middlewareCors) ?? {};\n\n registerCorsMiddleware(router, options);\n }\n\n async mountLogger(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const middleware = createLoggerMiddleware({\n env: config.env,\n logger: container.resolve(LoggerInjectionKey),\n });\n\n router.use(middleware);\n }\n\n async mountAssets(router: App): Promise<void> {\n await registerAssetsMiddleware(router);\n }\n\n async mountUIHttpClient(router: App, container: IContainer): Promise<void> {\n if (!container.has(HTTPInjectionKey.UIHttpClient)) {\n return;\n }\n\n registerUIHttpClientMiddleware(router, () => container.resolve(HTTPInjectionKey.UIHttpClient));\n }\n\n async mountBasic(router: App): Promise<void> {\n registerBasicMiddleware(router);\n }\n\n async mountPrometheus(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n\n if (!this.isEnabled(config.middlewarePrometheus)) {\n return;\n }\n\n registerPrometheusMiddleware(router, this.transformBoolToEmptyObject(config.middlewarePrometheus));\n }\n\n async mountRateLimit(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n\n if (!this.isEnabled(config.middlewareRateLimit)) {\n return;\n }\n\n registerRateLimitMiddleware(router, this.transformBoolToEmptyObject(config.middlewareRateLimit));\n }\n\n async mountSwagger(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n if (!this.isEnabled(config.middlewareSwagger)) {\n return;\n }\n\n const middleware = createSwaggerMiddleware({\n documentPath: path.join(DIST_PATH, 'swagger.json'),\n baseURL: config.publicUrl,\n });\n\n router.use('/docs', middleware);\n }\n\n async mountRealmResolver(router: App, container: IContainer): Promise<void> {\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const middleware = createRealmResolverMiddleware({ realmRepository: new RealmRepositoryAdapter(realmRepository) });\n\n // Mounted at /realms/:realmId/:nested so the middleware only fires on\n // nested-resource URLs (e.g. /realms/master/users/...). Bare\n // /realms/:id routes belong to RealmController (CRUD, openid-config,\n // jwks) and would otherwise 404 on PUT upserts where the realm\n // doesn't exist yet.\n router.use('/realms/:realmId/:nested', middleware);\n }\n\n async mountAuthorization(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const identityResolver = container.resolve(IdentityInjectionKey.Resolver);\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n const oauth2TokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n\n const permissionProvider = new PermissionDatabaseProvider(dataSource);\n\n const middleware = createAuthorizationMiddleware({\n identityResolver,\n identityPermissionProvider,\n permissionProvider,\n oauth2TokenVerifier,\n sessionManager,\n options: {\n clientAuthBasic: config.clientAuthBasic,\n robotAuthBasic: config.robotAuthBasic,\n userAuthBasic: config.userAuthBasic,\n certificateSource: config.certificateSource,\n },\n });\n\n router.use(middleware);\n }\n\n async mountRequestEventContext(router: App): Promise<void> {\n // mounted immediately AFTER the authorization middleware — the\n // identity must already be resolved for actor attribution.\n router.use(createRequestEventContextMiddleware());\n }\n\n // ----------------------------------------------------\n\n private transformBoolToEmptyObject<T extends Record<string, any>>(\n input?: T | boolean,\n ) : T | undefined {\n if (typeof input === 'boolean') {\n return {} as T;\n }\n\n return input || {} as T;\n }\n\n private isEnabled<T>(input: T | boolean) {\n return typeof input !== 'boolean' || input === true;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"middleware.mjs","names":["path","createAuthorizationMiddleware","createLoggerMiddleware","createRealmResolverMiddleware","createRequestEventContextMiddleware","createSwaggerMiddleware","registerAssetsMiddleware","registerBasicMiddleware","registerCorsMiddleware","registerErrorMiddleware","registerPrometheusMiddleware","registerRateLimitMiddleware","registerUIHttpClientMiddleware","HTTPInjectionKey","DIST_PATH","AuthenticationInjectionKey","ConfigInjectionKey","LoggerInjectionKey","IdentityInjectionKey","OAuth2InjectionToken","RealmEntity","RealmRepositoryAdapter","DatabaseInjectionKey","PermissionDatabaseProvider","HTTPMiddlewareModule","mountBefore","router","container","mountPrometheus","mountLogger","mountCors","mountAssets","mountUIHttpClient","mountBasic","mountRateLimit","mountSwagger","mountAuthorization","mountRequestEventContext","mountRealmResolver","mountAfter","logger","resolve","config","isEnabled","middlewareCors","options","transformBoolToEmptyObject","middleware","env","use","has","UIHttpClient","middlewarePrometheus","middlewareRateLimit","middlewareSwagger","documentPath","join","baseURL","publicUrl","realmRepository","dataSource","DataSource","identityResolver","Resolver","sessionManager","SessionManager","oauth2TokenVerifier","TokenVerifier","identityPermissionProvider","PermissionProvider","permissionProvider","clientAuthBasic","userAuthBasic","certificateSource","input"],"sources":["../../../../../src/app/modules/http/modules/middleware.ts"],"sourcesContent":["/*\n * Copyright (c) 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 { App } from 'routup';\nimport path from 'node:path';\nimport type { IContainer } from 'eldin';\nimport type { Repository } from 'typeorm';\nimport type { Realm } from '@authup/core-kit';\nimport {\n createAuthorizationMiddleware,\n createLoggerMiddleware,\n createRealmResolverMiddleware,\n createRequestEventContextMiddleware,\n createSwaggerMiddleware,\n registerAssetsMiddleware,\n registerBasicMiddleware,\n registerCorsMiddleware,\n registerErrorMiddleware,\n registerPrometheusMiddleware,\n registerRateLimitMiddleware,\n registerUIHttpClientMiddleware,\n} from '../../../../adapters/http/index.ts';\nimport { HTTPInjectionKey } from '../constants.ts';\nimport { DIST_PATH } from '../../../../path.ts';\nimport { AuthenticationInjectionKey } from '../../authentication/index.ts';\nimport { ConfigInjectionKey } from '../../config/index.ts';\nimport { LoggerInjectionKey } from '../../logger/index.ts';\nimport { IdentityInjectionKey } from '../../identity/index.ts';\nimport { OAuth2InjectionToken } from '../../oauth2/index.ts';\nimport { RealmEntity } from '../../../../adapters/database/domains/index.ts';\nimport { RealmRepositoryAdapter } from '../../database/repositories/index.ts';\nimport {\n DatabaseInjectionKey,\n PermissionDatabaseProvider,\n} from '../../database/index.ts';\n\nexport class HTTPMiddlewareModule {\n async mountBefore(router: App, container: IContainer): Promise<void> {\n // @routup/prometheus must be installed before any other plugin or\n // route so that its onion middleware can observe the full request\n // lifecycle (the v3 README is explicit on this).\n await this.mountPrometheus(router, container);\n await this.mountLogger(router, container);\n await this.mountCors(router, container);\n await this.mountAssets(router);\n await this.mountUIHttpClient(router, container);\n await this.mountBasic(router);\n await this.mountRateLimit(router, container);\n\n await this.mountSwagger(router, container);\n await this.mountAuthorization(router, container);\n await this.mountRequestEventContext(router);\n await this.mountRealmResolver(router, container);\n }\n\n\n async mountAfter(router: App, container: IContainer): Promise<void> {\n registerErrorMiddleware(router, { logger: container.resolve(LoggerInjectionKey) });\n }\n\n // ----------------------------------------------------\n async mountCors(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n\n if (!this.isEnabled(config.middlewareCors)) {\n return;\n }\n\n const options = this.transformBoolToEmptyObject(config.middlewareCors) ?? {};\n\n registerCorsMiddleware(router, options);\n }\n\n async mountLogger(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const middleware = createLoggerMiddleware({\n env: config.env,\n logger: container.resolve(LoggerInjectionKey),\n });\n\n router.use(middleware);\n }\n\n async mountAssets(router: App): Promise<void> {\n await registerAssetsMiddleware(router);\n }\n\n async mountUIHttpClient(router: App, container: IContainer): Promise<void> {\n if (!container.has(HTTPInjectionKey.UIHttpClient)) {\n return;\n }\n\n registerUIHttpClientMiddleware(router, () => container.resolve(HTTPInjectionKey.UIHttpClient));\n }\n\n async mountBasic(router: App): Promise<void> {\n registerBasicMiddleware(router);\n }\n\n async mountPrometheus(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n\n if (!this.isEnabled(config.middlewarePrometheus)) {\n return;\n }\n\n registerPrometheusMiddleware(router, this.transformBoolToEmptyObject(config.middlewarePrometheus));\n }\n\n async mountRateLimit(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n\n if (!this.isEnabled(config.middlewareRateLimit)) {\n return;\n }\n\n registerRateLimitMiddleware(router, this.transformBoolToEmptyObject(config.middlewareRateLimit));\n }\n\n async mountSwagger(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n if (!this.isEnabled(config.middlewareSwagger)) {\n return;\n }\n\n const middleware = createSwaggerMiddleware({\n documentPath: path.join(DIST_PATH, 'swagger.json'),\n baseURL: config.publicUrl,\n });\n\n router.use('/docs', middleware);\n }\n\n async mountRealmResolver(router: App, container: IContainer): Promise<void> {\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n const middleware = createRealmResolverMiddleware({ realmRepository: new RealmRepositoryAdapter(realmRepository) });\n\n // Mounted at /realms/:realmId/:nested so the middleware only fires on\n // nested-resource URLs (e.g. /realms/master/users/...). Bare\n // /realms/:id routes belong to RealmController (CRUD, openid-config,\n // jwks) and would otherwise 404 on PUT upserts where the realm\n // doesn't exist yet.\n router.use('/realms/:realmId/:nested', middleware);\n }\n\n async mountAuthorization(router: App, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n\n const identityResolver = container.resolve(IdentityInjectionKey.Resolver);\n const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);\n const oauth2TokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n\n const permissionProvider = new PermissionDatabaseProvider(dataSource);\n\n const middleware = createAuthorizationMiddleware({\n identityResolver,\n identityPermissionProvider,\n permissionProvider,\n oauth2TokenVerifier,\n sessionManager,\n options: {\n clientAuthBasic: config.clientAuthBasic,\n userAuthBasic: config.userAuthBasic,\n certificateSource: config.certificateSource,\n },\n });\n\n router.use(middleware);\n }\n\n async mountRequestEventContext(router: App): Promise<void> {\n // mounted immediately AFTER the authorization middleware — the\n // identity must already be resolved for actor attribution.\n router.use(createRequestEventContextMiddleware());\n }\n\n // ----------------------------------------------------\n\n private transformBoolToEmptyObject<T extends Record<string, any>>(\n input?: T | boolean,\n ) : T | undefined {\n if (typeof input === 'boolean') {\n return {} as T;\n }\n\n return input || {} as T;\n }\n\n private isEnabled<T>(input: T | boolean) {\n return typeof input !== 'boolean' || input === true;\n }\n}\n"],"mappings":"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"}
@@ -7,8 +7,7 @@ import { IdentityProviderAttributeMappingRepository } from "./repositories/provi
7
7
  import { IdentityProviderPermissionMappingRepository } from "./repositories/provider/mapper/permission.mjs";
8
8
  import { IdentityProviderRoleMappingRepository } from "./repositories/provider/mapper/role.mjs";
9
9
  import { ClientIdentityRepository } from "./repositories/client.mjs";
10
- import { RobotIdentityRepository } from "./repositories/robot.mjs";
11
10
  import { UserIdentityRepository } from "./repositories/user.mjs";
12
11
  import "./repositories/index.mjs";
13
12
  import { IdentityModule } from "./module.mjs";
14
- export { ClientIdentityRepository, IdentityInjectionKey, IdentityModule, IdentityProviderAccountRepository, IdentityProviderAttributeMappingRepository, IdentityProviderPermissionMappingRepository, IdentityProviderRoleMappingRepository, RobotIdentityRepository, UserIdentityRepository };
13
+ export { ClientIdentityRepository, IdentityInjectionKey, IdentityModule, IdentityProviderAccountRepository, IdentityProviderAttributeMappingRepository, IdentityProviderPermissionMappingRepository, IdentityProviderRoleMappingRepository, UserIdentityRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/identity/module.ts"],"names":[],"mappings":"AA0CA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAaxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIrC,qBAAa,cAAe,YAAW,OAAO;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;;IAO1B,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAkGpD"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/identity/module.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAaxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIrC,qBAAa,cAAe,YAAW,OAAO;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;;IAO1B,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAwFpD"}
@@ -6,7 +6,6 @@ import { ClientEntity } from "../../../adapters/database/domains/client/entity.m
6
6
  import { RoleEntity } from "../../../adapters/database/domains/role/entity.mjs";
7
7
  import { UserRepository } from "../../../adapters/database/domains/user/repository.mjs";
8
8
  import { IdentityProviderRepository } from "../../../adapters/database/domains/identity-provider/repository.mjs";
9
- import { RobotEntity } from "../../../adapters/database/domains/robot/entity.mjs";
10
9
  import { UserPermissionEntity } from "../../../adapters/database/domains/user-permission/entity.mjs";
11
10
  import { UserRoleEntity } from "../../../adapters/database/domains/user-role/entity.mjs";
12
11
  import "../../../adapters/database/domains/index.mjs";
@@ -22,7 +21,6 @@ import "../../../core/index.mjs";
22
21
  import { ModuleName } from "../constants.mjs";
23
22
  import { ClientRepositoryAdapter } from "../database/repositories/client/repository.mjs";
24
23
  import { IdentityProviderRepositoryAdapter } from "../database/repositories/identity-provider/repository.mjs";
25
- import { RobotRepositoryAdapter } from "../database/repositories/robot/repository.mjs";
26
24
  import { RoleRepositoryAdapter } from "../database/repositories/role/repository.mjs";
27
25
  import { UserRepositoryAdapter } from "../database/repositories/user/repository.mjs";
28
26
  import "../database/repositories/index.mjs";
@@ -34,7 +32,6 @@ import { IdentityProviderAttributeMappingRepository } from "./repositories/provi
34
32
  import { IdentityProviderPermissionMappingRepository } from "./repositories/provider/mapper/permission.mjs";
35
33
  import { IdentityProviderRoleMappingRepository } from "./repositories/provider/mapper/role.mjs";
36
34
  import { ClientIdentityRepository } from "./repositories/client.mjs";
37
- import { RobotIdentityRepository } from "./repositories/robot.mjs";
38
35
  import { UserIdentityRepository } from "./repositories/user.mjs";
39
36
  import "./repositories/index.mjs";
40
37
  import { LDAPInjectionKey } from "../ldap/constants.mjs";
@@ -51,7 +48,6 @@ var IdentityModule = class {
51
48
  const dataSource = container.resolve(DatabaseInjectionKey.DataSource);
52
49
  const realmRepository = container.resolve(RealmEntity);
53
50
  const clientRepository = new ClientIdentityRepository(container.resolve(ClientEntity));
54
- const robotRepository = new RobotIdentityRepository(container.resolve(RobotEntity));
55
51
  const userRepository = new UserIdentityRepository({
56
52
  repository: new UserRepository(dataSource),
57
53
  userPermissionRepository: container.resolve(UserPermissionEntity),
@@ -59,7 +55,6 @@ var IdentityModule = class {
59
55
  });
60
56
  container.register(IdentityInjectionKey.Resolver, { useFactory: () => new IdentityResolver({
61
57
  clientRepository,
62
- robotRepository,
63
58
  userRepository
64
59
  }) });
65
60
  const clientRepositoryAdapter = new ClientRepositoryAdapter({
@@ -70,23 +65,17 @@ var IdentityModule = class {
70
65
  repository: new UserRepository(dataSource),
71
66
  realmRepository
72
67
  });
73
- const robotRepositoryAdapter = new RobotRepositoryAdapter({
74
- repository: container.resolve(RobotEntity),
75
- realmRepository
76
- });
77
68
  const roleRepositoryAdapter = new RoleRepositoryAdapter({
78
69
  repository: container.resolve(RoleEntity),
79
70
  realmRepository
80
71
  });
81
72
  container.register(IdentityInjectionKey.RoleProvider, { useFactory: () => new IdentityRoleProvider({
82
73
  clientRepository: clientRepositoryAdapter,
83
- userRepository: userRepositoryAdapter,
84
- robotRepository: robotRepositoryAdapter
74
+ userRepository: userRepositoryAdapter
85
75
  }) });
86
76
  container.register(IdentityInjectionKey.PermissionProvider, { useFactory: (c) => new IdentityPermissionProvider({
87
77
  clientRepository: clientRepositoryAdapter,
88
78
  userRepository: userRepositoryAdapter,
89
- robotRepository: robotRepositoryAdapter,
90
79
  roleRepository: roleRepositoryAdapter,
91
80
  roleProvider: c.resolve(IdentityInjectionKey.RoleProvider)
92
81
  }) });
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["ClientIdentityRepository","IdentityProviderAccountRepository","IdentityProviderAttributeMappingRepository","IdentityProviderPermissionMappingRepository","IdentityProviderRoleMappingRepository","RobotIdentityRepository","UserIdentityRepository","DatabaseInjectionKey","IdentityProviderRepositoryAdapter","ClientEntity","IdentityProviderRepository","RealmEntity","RobotEntity","RoleEntity","UserPermissionEntity","UserRepository","UserRoleEntity","ClientRepositoryAdapter","RobotRepositoryAdapter","RoleRepositoryAdapter","UserRepositoryAdapter","IdentityPermissionProvider","IdentityProviderAccountManager","IdentityProviderAttributeMapper","IdentityProviderLdapCollectionAuthenticator","IdentityProviderPermissionMapper","IdentityProviderRoleMapper","IdentityResolver","IdentityRoleProvider","LDAPInjectionKey","ModuleName","IdentityInjectionKey","IdentityModule","name","dependencies","IDENTITY","DATABASE","setup","container","dataSource","resolve","DataSource","realmRepository","clientRepository","robotRepository","userRepository","repository","userPermissionRepository","userRoleRepository","register","Resolver","useFactory","clientRepositoryAdapter","userRepositoryAdapter","robotRepositoryAdapter","roleRepositoryAdapter","RoleProvider","PermissionProvider","c","roleRepository","roleProvider","attributeMapperRepository","attributeMapper","roleMapperFinder","roleMapper","permissionMapperRepository","permissionMapper","providerAccountRepository","ProviderAccountManager","identityProviderRepository","ProviderLdapCollectionAuthenticator","accountManager","clientFactory","ClientFactory"],"sources":["../../../../src/app/modules/identity/module.ts"],"sourcesContent":["/*\n * Copyright (c) 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 {\n Client,\n Realm,\n Robot,\n Role,\n UserPermission,\n UserRole,\n} from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport {\n ClientIdentityRepository,\n IdentityProviderAccountRepository,\n IdentityProviderAttributeMappingRepository,\n IdentityProviderPermissionMappingRepository,\n IdentityProviderRoleMappingRepository,\n RobotIdentityRepository,\n UserIdentityRepository,\n} from './repositories/index.ts';\nimport { DatabaseInjectionKey, IdentityProviderRepositoryAdapter } from '../database/index.ts';\nimport {\n ClientEntity,\n IdentityProviderRepository,\n RealmEntity,\n RobotEntity,\n RoleEntity,\n UserPermissionEntity,\n UserRepository,\n UserRoleEntity,\n} from '../../../adapters/database/domains/index.ts';\nimport {\n ClientRepositoryAdapter,\n RobotRepositoryAdapter,\n RoleRepositoryAdapter,\n UserRepositoryAdapter,\n} from '../database/repositories/index.ts';\nimport type { IContainer } from 'eldin';\nimport {\n IdentityPermissionProvider,\n IdentityProviderAccountManager,\n IdentityProviderAttributeMapper,\n IdentityProviderLdapCollectionAuthenticator,\n IdentityProviderPermissionMapper,\n IdentityProviderRoleMapper,\n IdentityResolver,\n IdentityRoleProvider,\n} from '../../../core/index.ts';\nimport { LDAPInjectionKey } from '../ldap/index.ts';\n\nimport type { IModule } from 'orkos';\nimport { ModuleName } from '../constants.ts';\nimport { IdentityInjectionKey } from './constants.ts';\n\nexport class IdentityModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n constructor() {\n this.name = ModuleName.IDENTITY;\n this.dependencies = [ModuleName.DATABASE];\n }\n\n async setup(container: IContainer): Promise<void> {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n\n const clientRepository = new ClientIdentityRepository(\n container.resolve<Repository<Client>>(ClientEntity),\n );\n const robotRepository = new RobotIdentityRepository(\n container.resolve<Repository<Robot>>(RobotEntity),\n );\n const userRepository = new UserIdentityRepository({\n repository: new UserRepository(dataSource),\n userPermissionRepository: container.resolve<Repository<UserPermission>>(UserPermissionEntity),\n userRoleRepository: container.resolve<Repository<UserRole>>(UserRoleEntity),\n });\n\n container.register(IdentityInjectionKey.Resolver, {\n useFactory: () => new IdentityResolver({\n clientRepository,\n robotRepository,\n userRepository,\n }),\n });\n\n // ---------------------------------------------\n\n const clientRepositoryAdapter = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n const userRepositoryAdapter = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const robotRepositoryAdapter = new RobotRepositoryAdapter({\n repository: container.resolve<Repository<Robot>>(RobotEntity),\n realmRepository,\n });\n const roleRepositoryAdapter = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository,\n });\n\n container.register(IdentityInjectionKey.RoleProvider, {\n useFactory: () => new IdentityRoleProvider({\n clientRepository: clientRepositoryAdapter,\n userRepository: userRepositoryAdapter,\n robotRepository: robotRepositoryAdapter,\n }),\n });\n\n container.register(IdentityInjectionKey.PermissionProvider, {\n useFactory: (c) => new IdentityPermissionProvider({\n clientRepository: clientRepositoryAdapter,\n userRepository: userRepositoryAdapter,\n robotRepository: robotRepositoryAdapter,\n roleRepository: roleRepositoryAdapter,\n roleProvider: c.resolve(IdentityInjectionKey.RoleProvider),\n }),\n });\n\n // ---------------------------------------------\n\n const attributeMapperRepository = new IdentityProviderAttributeMappingRepository(dataSource);\n const attributeMapper = new IdentityProviderAttributeMapper(attributeMapperRepository);\n\n const roleMapperFinder = new IdentityProviderRoleMappingRepository(dataSource);\n const roleMapper = new IdentityProviderRoleMapper(roleMapperFinder);\n\n const permissionMapperRepository = new IdentityProviderPermissionMappingRepository(dataSource);\n const permissionMapper = new IdentityProviderPermissionMapper(permissionMapperRepository);\n\n const providerAccountRepository = new IdentityProviderAccountRepository(dataSource);\n\n container.register(IdentityInjectionKey.ProviderAccountManager, {\n useFactory: () => new IdentityProviderAccountManager({\n repository: providerAccountRepository,\n userRepository,\n attributeMapper,\n roleMapper,\n permissionMapper,\n }),\n });\n\n // ---------------------------------------------\n\n const identityProviderRepository = new IdentityProviderRepositoryAdapter({\n repository: new IdentityProviderRepository(dataSource),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n container.register(IdentityInjectionKey.ProviderLdapCollectionAuthenticator, {\n useFactory: (c) => new IdentityProviderLdapCollectionAuthenticator({\n repository: identityProviderRepository,\n accountManager: c.resolve(IdentityInjectionKey.ProviderAccountManager),\n clientFactory: c.resolve(LDAPInjectionKey.ClientFactory),\n }),\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DA,IAAagC,iBAAb,MAAaA;CACAC;CAEAC;CAET,cAAc;EACV,KAAKD,OAAOH,WAAWK;EACvB,KAAKD,eAAe,CAACJ,WAAWM,QAAAA;CACpC;CAEA,MAAMC,MAAMC,WAAsC;EAC9C,MAAMC,aAAaD,UAAUE,QAAQjC,qBAAqBkC,UAAU;EACpE,MAAMC,kBAAkBJ,UAAUE,QAA2B7B,WAAAA;EAE7D,MAAMgC,mBAAmB,IAAI3C,yBACzBsC,UAAUE,QAA4B/B,YAAAA,CAAAA;EAE1C,MAAMmC,kBAAkB,IAAIvC,wBACxBiC,UAAUE,QAA2B5B,WAAAA,CAAAA;EAEzC,MAAMiC,iBAAiB,IAAIvC,uBAAuB;GAC9CwC,YAAY,IAAI/B,eAAewB,UAAAA;GAC/BQ,0BAA0BT,UAAUE,QAAoC1B,oBAAAA;GACxEkC,oBAAoBV,UAAUE,QAA8BxB,cAAAA;EAChE,CAAA;EAEAsB,UAAUW,SAASlB,qBAAqBmB,UAAU,EAC9CC,kBAAkB,IAAIxB,iBAAiB;GACnCgB;GACAC;GACAC;EACJ,CAAA,EACJ,CAAA;EAIA,MAAMO,0BAA0B,IAAInC,wBAAwB;GACxD6B,YAAYR,UAAUE,QAA4B/B,YAAAA;GAClDiC;EACJ,CAAA;EACA,MAAMW,wBAAwB,IAAIjC,sBAAsB;GACpD0B,YAAY,IAAI/B,eAAewB,UAAAA;GAC/BG;EACJ,CAAA;EACA,MAAMY,yBAAyB,IAAIpC,uBAAuB;GACtD4B,YAAYR,UAAUE,QAA2B5B,WAAAA;GACjD8B;EACJ,CAAA;EACA,MAAMa,wBAAwB,IAAIpC,sBAAsB;GACpD2B,YAAYR,UAAUE,QAA0B3B,UAAAA;GAChD6B;EACJ,CAAA;EAEAJ,UAAUW,SAASlB,qBAAqByB,cAAc,EAClDL,kBAAkB,IAAIvB,qBAAqB;GACvCe,kBAAkBS;GAClBP,gBAAgBQ;GAChBT,iBAAiBU;EACrB,CAAA,EACJ,CAAA;EAEAhB,UAAUW,SAASlB,qBAAqB0B,oBAAoB,EACxDN,aAAaO,MAAM,IAAIrC,2BAA2B;GAC9CsB,kBAAkBS;GAClBP,gBAAgBQ;GAChBT,iBAAiBU;GACjBK,gBAAgBJ;GAChBK,cAAcF,EAAElB,QAAQT,qBAAqByB,YAAY;EAC7D,CAAA,EACJ,CAAA;EAKA,MAAMM,kBAAkB,IAAIvC,gCAAgCsC,IADtB3D,2CAA2CqC,UACrBsB,CAAAA;EAG5D,MAAMG,aAAa,IAAItC,2BAA2BqC,IADrB3D,sCAAsCmC,UACjBwB,CAAAA;EAGlD,MAAMG,mBAAmB,IAAIzC,iCAAiCwC,IADvB9D,4CAA4CoC,UACrB0B,CAAAA;EAE9D,MAAME,4BAA4B,IAAIlE,kCAAkCsC,UAAAA;EAExED,UAAUW,SAASlB,qBAAqBqC,wBAAwB,EAC5DjB,kBAAkB,IAAI7B,+BAA+B;GACjDwB,YAAYqB;GACZtB;GACAiB;GACAE;GACAE;EACJ,CAAA,EACJ,CAAA;EAIA,MAAMG,6BAA6B,IAAI7D,kCAAkC;GACrEsC,YAAY,IAAIpC,2BAA2B6B,UAAAA;GAC3CG,iBAAiBJ,UAAUE,QAA2B7B,WAAAA;EAC1D,CAAA;EACA2B,UAAUW,SAASlB,qBAAqBuC,qCAAqC,EACzEnB,aAAaO,MAAM,IAAIlC,4CAA4C;GAC/DsB,YAAYuB;GACZE,gBAAgBb,EAAElB,QAAQT,qBAAqBqC,sBAAsB;GACrEI,eAAed,EAAElB,QAAQX,iBAAiB4C,aAAa;EAC3D,CAAA,EACJ,CAAA;CACJ;AACJ"}
1
+ {"version":3,"file":"module.mjs","names":["ClientIdentityRepository","IdentityProviderAccountRepository","IdentityProviderAttributeMappingRepository","IdentityProviderPermissionMappingRepository","IdentityProviderRoleMappingRepository","UserIdentityRepository","DatabaseInjectionKey","IdentityProviderRepositoryAdapter","ClientEntity","IdentityProviderRepository","RealmEntity","RoleEntity","UserPermissionEntity","UserRepository","UserRoleEntity","ClientRepositoryAdapter","RoleRepositoryAdapter","UserRepositoryAdapter","IdentityPermissionProvider","IdentityProviderAccountManager","IdentityProviderAttributeMapper","IdentityProviderLdapCollectionAuthenticator","IdentityProviderPermissionMapper","IdentityProviderRoleMapper","IdentityResolver","IdentityRoleProvider","LDAPInjectionKey","ModuleName","IdentityInjectionKey","IdentityModule","name","dependencies","IDENTITY","DATABASE","setup","container","dataSource","resolve","DataSource","realmRepository","clientRepository","userRepository","repository","userPermissionRepository","userRoleRepository","register","Resolver","useFactory","clientRepositoryAdapter","userRepositoryAdapter","roleRepositoryAdapter","RoleProvider","PermissionProvider","c","roleRepository","roleProvider","attributeMapperRepository","attributeMapper","roleMapperFinder","roleMapper","permissionMapperRepository","permissionMapper","providerAccountRepository","ProviderAccountManager","identityProviderRepository","ProviderLdapCollectionAuthenticator","accountManager","clientFactory","ClientFactory"],"sources":["../../../../src/app/modules/identity/module.ts"],"sourcesContent":["/*\n * Copyright (c) 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 {\n Client,\n Realm,\n Role,\n UserPermission,\n UserRole,\n} from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport {\n ClientIdentityRepository,\n IdentityProviderAccountRepository,\n IdentityProviderAttributeMappingRepository,\n IdentityProviderPermissionMappingRepository,\n IdentityProviderRoleMappingRepository,\n UserIdentityRepository,\n} from './repositories/index.ts';\nimport { DatabaseInjectionKey, IdentityProviderRepositoryAdapter } from '../database/index.ts';\nimport {\n ClientEntity,\n IdentityProviderRepository,\n RealmEntity,\n RoleEntity,\n UserPermissionEntity,\n UserRepository,\n UserRoleEntity,\n} from '../../../adapters/database/domains/index.ts';\nimport {\n ClientRepositoryAdapter,\n RoleRepositoryAdapter,\n UserRepositoryAdapter,\n} from '../database/repositories/index.ts';\nimport type { IContainer } from 'eldin';\nimport {\n IdentityPermissionProvider,\n IdentityProviderAccountManager,\n IdentityProviderAttributeMapper,\n IdentityProviderLdapCollectionAuthenticator,\n IdentityProviderPermissionMapper,\n IdentityProviderRoleMapper,\n IdentityResolver,\n IdentityRoleProvider,\n} from '../../../core/index.ts';\nimport { LDAPInjectionKey } from '../ldap/index.ts';\n\nimport type { IModule } from 'orkos';\nimport { ModuleName } from '../constants.ts';\nimport { IdentityInjectionKey } from './constants.ts';\n\nexport class IdentityModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n constructor() {\n this.name = ModuleName.IDENTITY;\n this.dependencies = [ModuleName.DATABASE];\n }\n\n async setup(container: IContainer): Promise<void> {\n const dataSource = container.resolve(DatabaseInjectionKey.DataSource);\n const realmRepository = container.resolve<Repository<Realm>>(RealmEntity);\n\n const clientRepository = new ClientIdentityRepository(\n container.resolve<Repository<Client>>(ClientEntity),\n );\n const userRepository = new UserIdentityRepository({\n repository: new UserRepository(dataSource),\n userPermissionRepository: container.resolve<Repository<UserPermission>>(UserPermissionEntity),\n userRoleRepository: container.resolve<Repository<UserRole>>(UserRoleEntity),\n });\n\n container.register(IdentityInjectionKey.Resolver, {\n useFactory: () => new IdentityResolver({\n clientRepository,\n userRepository,\n }),\n });\n\n // ---------------------------------------------\n\n const clientRepositoryAdapter = new ClientRepositoryAdapter({\n repository: container.resolve<Repository<Client>>(ClientEntity),\n realmRepository,\n });\n const userRepositoryAdapter = new UserRepositoryAdapter({\n repository: new UserRepository(dataSource),\n realmRepository,\n });\n const roleRepositoryAdapter = new RoleRepositoryAdapter({\n repository: container.resolve<Repository<Role>>(RoleEntity),\n realmRepository,\n });\n\n container.register(IdentityInjectionKey.RoleProvider, {\n useFactory: () => new IdentityRoleProvider({\n clientRepository: clientRepositoryAdapter,\n userRepository: userRepositoryAdapter,\n }),\n });\n\n container.register(IdentityInjectionKey.PermissionProvider, {\n useFactory: (c) => new IdentityPermissionProvider({\n clientRepository: clientRepositoryAdapter,\n userRepository: userRepositoryAdapter,\n roleRepository: roleRepositoryAdapter,\n roleProvider: c.resolve(IdentityInjectionKey.RoleProvider),\n }),\n });\n\n // ---------------------------------------------\n\n const attributeMapperRepository = new IdentityProviderAttributeMappingRepository(dataSource);\n const attributeMapper = new IdentityProviderAttributeMapper(attributeMapperRepository);\n\n const roleMapperFinder = new IdentityProviderRoleMappingRepository(dataSource);\n const roleMapper = new IdentityProviderRoleMapper(roleMapperFinder);\n\n const permissionMapperRepository = new IdentityProviderPermissionMappingRepository(dataSource);\n const permissionMapper = new IdentityProviderPermissionMapper(permissionMapperRepository);\n\n const providerAccountRepository = new IdentityProviderAccountRepository(dataSource);\n\n container.register(IdentityInjectionKey.ProviderAccountManager, {\n useFactory: () => new IdentityProviderAccountManager({\n repository: providerAccountRepository,\n userRepository,\n attributeMapper,\n roleMapper,\n permissionMapper,\n }),\n });\n\n // ---------------------------------------------\n\n const identityProviderRepository = new IdentityProviderRepositoryAdapter({\n repository: new IdentityProviderRepository(dataSource),\n realmRepository: container.resolve<Repository<Realm>>(RealmEntity),\n });\n container.register(IdentityInjectionKey.ProviderLdapCollectionAuthenticator, {\n useFactory: (c) => new IdentityProviderLdapCollectionAuthenticator({\n repository: identityProviderRepository,\n accountManager: c.resolve(IdentityInjectionKey.ProviderAccountManager),\n clientFactory: c.resolve(LDAPInjectionKey.ClientFactory),\n }),\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,IAAa6B,iBAAb,MAAaA;CACAC;CAEAC;CAET,cAAc;EACV,KAAKD,OAAOH,WAAWK;EACvB,KAAKD,eAAe,CAACJ,WAAWM,QAAAA;CACpC;CAEA,MAAMC,MAAMC,WAAsC;EAC9C,MAAMC,aAAaD,UAAUE,QAAQ/B,qBAAqBgC,UAAU;EACpE,MAAMC,kBAAkBJ,UAAUE,QAA2B3B,WAAAA;EAE7D,MAAM8B,mBAAmB,IAAIxC,yBACzBmC,UAAUE,QAA4B7B,YAAAA,CAAAA;EAE1C,MAAMiC,iBAAiB,IAAIpC,uBAAuB;GAC9CqC,YAAY,IAAI7B,eAAeuB,UAAAA;GAC/BO,0BAA0BR,UAAUE,QAAoCzB,oBAAAA;GACxEgC,oBAAoBT,UAAUE,QAA8BvB,cAAAA;EAChE,CAAA;EAEAqB,UAAUU,SAASjB,qBAAqBkB,UAAU,EAC9CC,kBAAkB,IAAIvB,iBAAiB;GACnCgB;GACAC;EACJ,CAAA,EACJ,CAAA;EAIA,MAAMO,0BAA0B,IAAIjC,wBAAwB;GACxD2B,YAAYP,UAAUE,QAA4B7B,YAAAA;GAClD+B;EACJ,CAAA;EACA,MAAMU,wBAAwB,IAAIhC,sBAAsB;GACpDyB,YAAY,IAAI7B,eAAeuB,UAAAA;GAC/BG;EACJ,CAAA;EACA,MAAMW,wBAAwB,IAAIlC,sBAAsB;GACpD0B,YAAYP,UAAUE,QAA0B1B,UAAAA;GAChD4B;EACJ,CAAA;EAEAJ,UAAUU,SAASjB,qBAAqBuB,cAAc,EAClDJ,kBAAkB,IAAItB,qBAAqB;GACvCe,kBAAkBQ;GAClBP,gBAAgBQ;EACpB,CAAA,EACJ,CAAA;EAEAd,UAAUU,SAASjB,qBAAqBwB,oBAAoB,EACxDL,aAAaM,MAAM,IAAInC,2BAA2B;GAC9CsB,kBAAkBQ;GAClBP,gBAAgBQ;GAChBK,gBAAgBJ;GAChBK,cAAcF,EAAEhB,QAAQT,qBAAqBuB,YAAY;EAC7D,CAAA,EACJ,CAAA;EAKA,MAAMM,kBAAkB,IAAIrC,gCAAgCoC,IADtBtD,2CAA2CkC,UACrBoB,CAAAA;EAG5D,MAAMG,aAAa,IAAIpC,2BAA2BmC,IADrBtD,sCAAsCgC,UACjBsB,CAAAA;EAGlD,MAAMG,mBAAmB,IAAIvC,iCAAiCsC,IADvBzD,4CAA4CiC,UACrBwB,CAAAA;EAE9D,MAAME,4BAA4B,IAAI7D,kCAAkCmC,UAAAA;EAExED,UAAUU,SAASjB,qBAAqBmC,wBAAwB,EAC5DhB,kBAAkB,IAAI5B,+BAA+B;GACjDuB,YAAYoB;GACZrB;GACAgB;GACAE;GACAE;EACJ,CAAA,EACJ,CAAA;EAIA,MAAMG,6BAA6B,IAAIzD,kCAAkC;GACrEmC,YAAY,IAAIjC,2BAA2B2B,UAAAA;GAC3CG,iBAAiBJ,UAAUE,QAA2B3B,WAAAA;EAC1D,CAAA;EACAyB,UAAUU,SAASjB,qBAAqBqC,qCAAqC,EACzElB,aAAaM,MAAM,IAAIhC,4CAA4C;GAC/DqB,YAAYsB;GACZE,gBAAgBb,EAAEhB,QAAQT,qBAAqBmC,sBAAsB;GACrEI,eAAed,EAAEhB,QAAQX,iBAAiB0C,aAAa;EAC3D,CAAA,EACJ,CAAA;CACJ;AACJ"}
@@ -29,11 +29,11 @@ var ClientIdentityRepository = class {
29
29
  if (isId) query.where("client.id = :id", { id: key });
30
30
  else {
31
31
  query.where("client.name = :name", { name: key.trim().toLowerCase() });
32
- if (realmKey) if (isUUID(realmKey)) query.andWhere("client.realm_id = :realmId", { realmId: realmKey });
32
+ if (realmKey) if (isUUID(realmKey)) query.andWhere("client.realmId = :realmId", { realmId: realmKey });
33
33
  else query.andWhere("realm.name = :realmName", { realmName: realmKey.trim().toLowerCase() });
34
34
  }
35
35
  const { columns } = this.repository.metadata;
36
- for (const column of columns) if (!column.isSelect) query.addSelect(`client.${column.databaseName}`);
36
+ for (const column of columns) if (!column.isSelect) query.addSelect(`client.${column.propertyName}`);
37
37
  if (isId) query.cache(buildRedisKeyPath({
38
38
  prefix: CachePrefix.CLIENT,
39
39
  key
@@ -1 +1 @@
1
- {"version":3,"file":"client.mjs","names":["buildRedisKeyPath","isUUID","CachePrefix","ClientIdentityRepository","repository","findOneById","id","find","findOneByName","realm","findOneByIdOrName","idOrName","findOneBy","where","key","realmKey","query","createQueryBuilder","leftJoinAndSelect","isId","name","trim","toLowerCase","andWhere","realmId","realmName","columns","metadata","column","isSelect","addSelect","databaseName","cache","prefix","CLIENT","getOne"],"sources":["../../../../../src/app/modules/identity/repositories/client.ts"],"sourcesContent":["/*\n * Copyright (c) 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 { buildRedisKeyPath } from '@authup/server-kit';\nimport { isUUID } from '@authup/kit';\nimport type { Client } from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport type { IClientIdentityRepository } from '../../../../core/index.ts';\nimport { CachePrefix } from '../../../../adapters/database/domains/index.ts';\n\nexport class ClientIdentityRepository implements IClientIdentityRepository {\n private readonly repository: Repository<Client>;\n\n constructor(repository: Repository<Client>) {\n this.repository = repository;\n }\n\n async findOneById(id: string): Promise<Client | null> {\n return this.find(id);\n }\n\n async findOneByName(id: string, realm?: string): Promise<Client | null> {\n return this.find(id, realm);\n }\n\n async findOneByIdOrName(idOrName: string, realm?: string): Promise<Client | null> {\n return this.find(idOrName, realm);\n }\n\n async findOneBy(where: Record<string, any>): Promise<Client | null> {\n return this.repository.findOneBy(where);\n }\n\n private async find(key: string, realmKey?: string) : Promise<Client | null> {\n const query = this.repository.createQueryBuilder('client')\n .leftJoinAndSelect('client.realm', 'realm');\n\n const isId = isUUID(key);\n if (isId) {\n query.where('client.id = :id', { id: key });\n } else {\n query.where('client.name = :name', { name: key.trim().toLowerCase() });\n\n if (realmKey) {\n if (isUUID(realmKey)) {\n query.andWhere('client.realm_id = :realmId', { realmId: realmKey });\n } else {\n query.andWhere('realm.name = :realmName', { realmName: realmKey.trim().toLowerCase() });\n }\n }\n }\n const { columns } = this.repository.metadata;\n for (const column of columns) {\n if (!column.isSelect) {\n query.addSelect(`client.${column.databaseName}`);\n }\n }\n\n if (isId) {\n query.cache(\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT,\n key,\n }),\n 60_000,\n );\n }\n\n return query.getOne();\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAaG,2BAAb,MAAaA;CACQC;CAEjB,YAAYA,YAAgC;EACxC,KAAKA,aAAaA;CACtB;CAEA,MAAMC,YAAYC,IAAoC;EAClD,OAAO,KAAKC,KAAKD,EAAAA;CACrB;CAEA,MAAME,cAAcF,IAAYG,OAAwC;EACpE,OAAO,KAAKF,KAAKD,IAAIG,KAAAA;CACzB;CAEA,MAAMC,kBAAkBC,UAAkBF,OAAwC;EAC9E,OAAO,KAAKF,KAAKI,UAAUF,KAAAA;CAC/B;CAEA,MAAMG,UAAUC,OAAoD;EAChE,OAAO,KAAKT,WAAWQ,UAAUC,KAAAA;CACrC;CAEA,MAAcN,KAAKO,KAAaC,UAA4C;EACxE,MAAMC,QAAQ,KAAKZ,WAAWa,mBAAmB,QAAA,CAAA,CAC5CC,kBAAkB,gBAAgB,OAAA;EAEvC,MAAMC,OAAOlB,OAAOa,GAAAA;EACpB,IAAIK,MACAH,MAAMH,MAAM,mBAAmB,EAAEP,IAAIQ,IAAI,CAAA;OACtC;GACHE,MAAMH,MAAM,uBAAuB,EAAEO,MAAMN,IAAIO,KAAI,CAAA,CAAGC,YAAW,EAAG,CAAA;GAEpE,IAAIP,UACA,IAAId,OAAOc,QAAAA,GACPC,MAAMO,SAAS,8BAA8B,EAAEC,SAAST,SAAS,CAAA;QAEjEC,MAAMO,SAAS,2BAA2B,EAAEE,WAAWV,SAASM,KAAI,CAAA,CAAGC,YAAW,EAAG,CAAA;EAGjG;EACA,MAAM,EAAEI,YAAY,KAAKtB,WAAWuB;EACpC,KAAK,MAAMC,UAAUF,SACjB,IAAI,CAACE,OAAOC,UACRb,MAAMc,UAAU,UAAUF,OAAOG,cAAc;EAIvD,IAAIZ,MACAH,MAAMgB,MACFhC,kBAAkB;GACdiC,QAAQ/B,YAAYgC;GACpBpB;EACJ,CAAA,GACA,GAAA;EAIR,OAAOE,MAAMmB,OAAM;CACvB;AACJ"}
1
+ {"version":3,"file":"client.mjs","names":["buildRedisKeyPath","isUUID","CachePrefix","ClientIdentityRepository","repository","findOneById","id","find","findOneByName","realm","findOneByIdOrName","idOrName","findOneBy","where","key","realmKey","query","createQueryBuilder","leftJoinAndSelect","isId","name","trim","toLowerCase","andWhere","realmId","realmName","columns","metadata","column","isSelect","addSelect","propertyName","cache","prefix","CLIENT","getOne"],"sources":["../../../../../src/app/modules/identity/repositories/client.ts"],"sourcesContent":["/*\n * Copyright (c) 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 { buildRedisKeyPath } from '@authup/server-kit';\nimport { isUUID } from '@authup/kit';\nimport type { Client } from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport type { IClientIdentityRepository } from '../../../../core/index.ts';\nimport { CachePrefix } from '../../../../adapters/database/domains/index.ts';\n\nexport class ClientIdentityRepository implements IClientIdentityRepository {\n private readonly repository: Repository<Client>;\n\n constructor(repository: Repository<Client>) {\n this.repository = repository;\n }\n\n async findOneById(id: string): Promise<Client | null> {\n return this.find(id);\n }\n\n async findOneByName(id: string, realm?: string): Promise<Client | null> {\n return this.find(id, realm);\n }\n\n async findOneByIdOrName(idOrName: string, realm?: string): Promise<Client | null> {\n return this.find(idOrName, realm);\n }\n\n async findOneBy(where: Record<string, any>): Promise<Client | null> {\n return this.repository.findOneBy(where);\n }\n\n private async find(key: string, realmKey?: string) : Promise<Client | null> {\n const query = this.repository.createQueryBuilder('client')\n .leftJoinAndSelect('client.realm', 'realm');\n\n const isId = isUUID(key);\n if (isId) {\n query.where('client.id = :id', { id: key });\n } else {\n query.where('client.name = :name', { name: key.trim().toLowerCase() });\n\n if (realmKey) {\n if (isUUID(realmKey)) {\n query.andWhere('client.realmId = :realmId', { realmId: realmKey });\n } else {\n query.andWhere('realm.name = :realmName', { realmName: realmKey.trim().toLowerCase() });\n }\n }\n }\n const { columns } = this.repository.metadata;\n for (const column of columns) {\n if (!column.isSelect) {\n query.addSelect(`client.${column.propertyName}`);\n }\n }\n\n if (isId) {\n query.cache(\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT,\n key,\n }),\n 60_000,\n );\n }\n\n return query.getOne();\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAaG,2BAAb,MAAaA;CACQC;CAEjB,YAAYA,YAAgC;EACxC,KAAKA,aAAaA;CACtB;CAEA,MAAMC,YAAYC,IAAoC;EAClD,OAAO,KAAKC,KAAKD,EAAAA;CACrB;CAEA,MAAME,cAAcF,IAAYG,OAAwC;EACpE,OAAO,KAAKF,KAAKD,IAAIG,KAAAA;CACzB;CAEA,MAAMC,kBAAkBC,UAAkBF,OAAwC;EAC9E,OAAO,KAAKF,KAAKI,UAAUF,KAAAA;CAC/B;CAEA,MAAMG,UAAUC,OAAoD;EAChE,OAAO,KAAKT,WAAWQ,UAAUC,KAAAA;CACrC;CAEA,MAAcN,KAAKO,KAAaC,UAA4C;EACxE,MAAMC,QAAQ,KAAKZ,WAAWa,mBAAmB,QAAA,CAAA,CAC5CC,kBAAkB,gBAAgB,OAAA;EAEvC,MAAMC,OAAOlB,OAAOa,GAAAA;EACpB,IAAIK,MACAH,MAAMH,MAAM,mBAAmB,EAAEP,IAAIQ,IAAI,CAAA;OACtC;GACHE,MAAMH,MAAM,uBAAuB,EAAEO,MAAMN,IAAIO,KAAI,CAAA,CAAGC,YAAW,EAAG,CAAA;GAEpE,IAAIP,UACA,IAAId,OAAOc,QAAAA,GACPC,MAAMO,SAAS,6BAA6B,EAAEC,SAAST,SAAS,CAAA;QAEhEC,MAAMO,SAAS,2BAA2B,EAAEE,WAAWV,SAASM,KAAI,CAAA,CAAGC,YAAW,EAAG,CAAA;EAGjG;EACA,MAAM,EAAEI,YAAY,KAAKtB,WAAWuB;EACpC,KAAK,MAAMC,UAAUF,SACjB,IAAI,CAACE,OAAOC,UACRb,MAAMc,UAAU,UAAUF,OAAOG,cAAc;EAIvD,IAAIZ,MACAH,MAAMgB,MACFhC,kBAAkB;GACdiC,QAAQ/B,YAAYgC;GACpBpB;EACJ,CAAA,GACA,GAAA;EAIR,OAAOE,MAAMmB,OAAM;CACvB;AACJ"}
@@ -1,5 +1,4 @@
1
1
  export * from './provider/index.ts';
2
2
  export * from './client.ts';
3
- export * from './robot.ts';
4
3
  export * from './user.ts';
5
4
  //# sourceMappingURL=index.d.ts.map