@authup/server-core 1.0.0-beta.41 → 1.0.0-beta.42

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 (687) hide show
  1. package/dist/adapters/database/cache/module.mjs.map +1 -1
  2. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  3. package/dist/adapters/database/data-source/singleton.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  5. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
  6. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
  7. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
  8. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  9. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  11. package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -1
  12. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  13. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
  14. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  15. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  16. package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -1
  17. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  18. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
  19. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  21. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  22. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  23. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  24. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  25. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  26. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  27. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  28. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
  29. package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -1
  30. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  31. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
  32. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  33. package/dist/adapters/database/domains/realm/repository.mjs.map +1 -1
  34. package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -1
  35. package/dist/adapters/database/domains/robot/entity.mjs.map +1 -1
  36. package/dist/adapters/database/domains/robot/subscriber.mjs.map +1 -1
  37. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +1 -1
  38. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +1 -1
  39. package/dist/adapters/database/domains/robot-role/entity.mjs.map +1 -1
  40. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +1 -1
  41. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  42. package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
  43. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  44. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  45. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  46. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  47. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  48. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  49. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  50. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  51. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  52. package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
  53. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  54. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  55. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  56. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  57. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  58. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  59. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  60. package/dist/adapters/database/errors/conflict.d.ts +2 -2
  61. package/dist/adapters/database/errors/conflict.d.ts.map +1 -1
  62. package/dist/adapters/database/errors/conflict.mjs +6 -3
  63. package/dist/adapters/database/errors/conflict.mjs.map +1 -1
  64. package/dist/adapters/database/event-publisher/module.mjs.map +1 -1
  65. package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -1
  66. package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -1
  67. package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
  68. package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -1
  69. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  70. package/dist/adapters/database/logger/module.mjs.map +1 -1
  71. package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs.map +1 -1
  72. package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs.map +1 -1
  73. package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs.map +1 -1
  74. package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs.map +1 -1
  75. package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs.map +1 -1
  76. package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs.map +1 -1
  77. package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs.map +1 -1
  78. package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs.map +1 -1
  79. package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs.map +1 -1
  80. package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs.map +1 -1
  81. package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs.map +1 -1
  82. package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs.map +1 -1
  83. package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs.map +1 -1
  84. package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs.map +1 -1
  85. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  86. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +2 -2
  87. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  88. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +2 -2
  89. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  90. package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs.map +1 -1
  91. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  92. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +4 -4
  93. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  94. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +1 -1
  95. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +4 -4
  96. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs.map +1 -1
  97. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
  98. package/dist/adapters/http/controllers/entities/client/module.d.ts.map +1 -1
  99. package/dist/adapters/http/controllers/entities/client/module.mjs +10 -6
  100. package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -1
  101. package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -1
  102. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
  103. package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -1
  104. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
  105. package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -1
  106. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
  107. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -1
  108. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  109. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +19 -17
  110. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  111. package/dist/adapters/http/controllers/entities/permission/module.d.ts +3 -10
  112. package/dist/adapters/http/controllers/entities/permission/module.d.ts.map +1 -1
  113. package/dist/adapters/http/controllers/entities/permission/module.mjs +16 -49
  114. package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -1
  115. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -1
  116. package/dist/adapters/http/controllers/entities/policy/module.d.ts +3 -7
  117. package/dist/adapters/http/controllers/entities/policy/module.d.ts.map +1 -1
  118. package/dist/adapters/http/controllers/entities/policy/module.mjs +16 -39
  119. package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -1
  120. package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs.map +1 -1
  121. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
  122. package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
  123. package/dist/adapters/http/controllers/entities/realm/module.mjs +1 -1
  124. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
  125. package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +1 -1
  126. package/dist/adapters/http/controllers/entities/robot/module.mjs +11 -7
  127. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +1 -1
  128. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +1 -1
  129. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +1 -1
  130. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +1 -1
  131. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +1 -1
  132. package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -1
  133. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -1
  134. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
  135. package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -1
  136. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
  137. package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -1
  138. package/dist/adapters/http/controllers/entities/user/module.d.ts.map +1 -1
  139. package/dist/adapters/http/controllers/entities/user/module.mjs +7 -3
  140. package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -1
  141. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -1
  142. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
  143. package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -1
  144. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
  145. package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -1
  146. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
  147. package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
  148. package/dist/adapters/http/controllers/workflows/activate/validator.mjs.map +1 -1
  149. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
  150. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +2 -2
  151. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  152. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts.map +1 -1
  153. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +3 -4
  154. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
  155. package/dist/adapters/http/controllers/workflows/jwks/module.d.ts.map +1 -1
  156. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +3 -4
  157. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
  158. package/dist/adapters/http/controllers/workflows/openid/module.mjs.map +1 -1
  159. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -1
  160. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
  161. package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
  162. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  163. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  164. package/dist/adapters/http/controllers/workflows/token/module.mjs +6 -6
  165. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  166. package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -1
  167. package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs.map +1 -1
  168. package/dist/adapters/http/index.mjs +4 -1
  169. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  170. package/dist/adapters/http/middleware/built-in/authorization/factory.mjs.map +1 -1
  171. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +2 -2
  172. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  173. package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -1
  174. package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
  175. package/dist/adapters/http/middleware/built-in/error.mjs +5 -3
  176. package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
  177. package/dist/adapters/http/middleware/built-in/index.d.ts +1 -0
  178. package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
  179. package/dist/adapters/http/middleware/built-in/index.mjs +4 -1
  180. package/dist/adapters/http/middleware/built-in/loggedin/module.mjs.map +1 -1
  181. package/dist/adapters/http/middleware/built-in/loggedin/user.mjs +1 -1
  182. package/dist/adapters/http/middleware/built-in/loggedin/user.mjs.map +1 -1
  183. package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
  184. package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
  185. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  186. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.d.ts +4 -0
  187. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.d.ts.map +1 -0
  188. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.mjs +14 -0
  189. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.mjs.map +1 -0
  190. package/dist/adapters/http/middleware/built-in/realm-resolver/index.d.ts +4 -0
  191. package/dist/adapters/http/middleware/built-in/realm-resolver/index.d.ts.map +1 -0
  192. package/dist/adapters/http/middleware/built-in/realm-resolver/index.mjs +3 -0
  193. package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts +9 -0
  194. package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts.map +1 -0
  195. package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs +26 -0
  196. package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs.map +1 -0
  197. package/dist/adapters/http/middleware/built-in/realm-resolver/types.d.ts +5 -0
  198. package/dist/adapters/http/middleware/built-in/realm-resolver/types.d.ts.map +1 -0
  199. package/dist/adapters/http/middleware/built-in/swagger.mjs.map +1 -1
  200. package/dist/adapters/http/middleware/index.mjs +3 -1
  201. package/dist/adapters/http/request/helpers/actor.d.ts +1 -1
  202. package/dist/adapters/http/request/helpers/actor.d.ts.map +1 -1
  203. package/dist/adapters/http/request/helpers/actor.mjs.map +1 -1
  204. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
  205. package/dist/adapters/http/request/helpers/identity.mjs +1 -1
  206. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
  207. package/dist/adapters/http/request/helpers/index.d.ts +1 -0
  208. package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
  209. package/dist/adapters/http/request/helpers/index.mjs +2 -1
  210. package/dist/adapters/http/request/helpers/locations.mjs.map +1 -1
  211. package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -1
  212. package/dist/adapters/http/request/helpers/realm-id.d.ts +5 -0
  213. package/dist/adapters/http/request/helpers/realm-id.d.ts.map +1 -0
  214. package/dist/adapters/http/request/helpers/realm-id.mjs +19 -0
  215. package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -0
  216. package/dist/adapters/http/request/helpers/scopes.mjs.map +1 -1
  217. package/dist/adapters/http/request/helpers/token.mjs.map +1 -1
  218. package/dist/adapters/http/request/index.mjs +2 -1
  219. package/dist/adapters/http/request/permission/helper.mjs.map +1 -1
  220. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  221. package/dist/adapters/shared/ldap/factory.mjs.map +1 -1
  222. package/dist/adapters/shared/ldap/module.mjs.map +1 -1
  223. package/dist/app/builder.mjs.map +1 -1
  224. package/dist/app/factory.mjs.map +1 -1
  225. package/dist/app/modules/authentication/constants.mjs.map +1 -1
  226. package/dist/app/modules/authentication/module.mjs.map +1 -1
  227. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  228. package/dist/app/modules/cache/constants.mjs.map +1 -1
  229. package/dist/app/modules/cache/module.mjs.map +1 -1
  230. package/dist/app/modules/components/module.mjs.map +1 -1
  231. package/dist/app/modules/config/constants.mjs.map +1 -1
  232. package/dist/app/modules/config/module.mjs.map +1 -1
  233. package/dist/app/modules/config/normalize.mjs.map +1 -1
  234. package/dist/app/modules/config/parse.mjs.map +1 -1
  235. package/dist/app/modules/config/read/env.mjs.map +1 -1
  236. package/dist/app/modules/config/read/fs.mjs.map +1 -1
  237. package/dist/app/modules/config/read/module.mjs.map +1 -1
  238. package/dist/app/modules/constants.mjs.map +1 -1
  239. package/dist/app/modules/database/constants.mjs.map +1 -1
  240. package/dist/app/modules/database/module.mjs.map +1 -1
  241. package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
  242. package/dist/app/modules/database/repositories/client/repository.d.ts +2 -1
  243. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  244. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  245. package/dist/app/modules/database/repositories/client-permission/repository.d.ts +1 -1
  246. package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
  247. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  248. package/dist/app/modules/database/repositories/client-role/repository.d.ts +1 -1
  249. package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
  250. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  251. package/dist/app/modules/database/repositories/client-scope/repository.d.ts +1 -1
  252. package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
  253. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  254. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  255. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
  256. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  257. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  258. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
  259. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
  260. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  261. package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
  262. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  263. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  264. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
  265. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
  266. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  267. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
  268. package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
  269. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  270. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  271. package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
  272. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  273. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  274. package/dist/app/modules/database/repositories/robot/repository.d.ts +2 -1
  275. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +1 -1
  276. package/dist/app/modules/database/repositories/robot/repository.mjs.map +1 -1
  277. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +1 -1
  278. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +1 -1
  279. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +1 -1
  280. package/dist/app/modules/database/repositories/robot-role/repository.d.ts +2 -1
  281. package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +1 -1
  282. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +1 -1
  283. package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
  284. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  285. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  286. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
  287. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  288. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  289. package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
  290. package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
  291. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  292. package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
  293. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  294. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  295. package/dist/app/modules/database/repositories/user/repository.d.ts +2 -1
  296. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  297. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  298. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
  299. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  300. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  301. package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
  302. package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
  303. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  304. package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
  305. package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
  306. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  307. package/dist/app/modules/http/constants.mjs.map +1 -1
  308. package/dist/app/modules/http/module.mjs.map +1 -1
  309. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  310. package/dist/app/modules/http/modules/controller.mjs +27 -19
  311. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  312. package/dist/app/modules/http/modules/middleware.d.ts +1 -0
  313. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  314. package/dist/app/modules/http/modules/middleware.mjs +10 -0
  315. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  316. package/dist/app/modules/identity/constants.mjs.map +1 -1
  317. package/dist/app/modules/identity/module.mjs.map +1 -1
  318. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  319. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  320. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  321. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  322. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  323. package/dist/app/modules/identity/repositories/robot.mjs.map +1 -1
  324. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  325. package/dist/app/modules/ldap/constants.mjs.map +1 -1
  326. package/dist/app/modules/ldap/module.mjs.map +1 -1
  327. package/dist/app/modules/logger/constants.mjs.map +1 -1
  328. package/dist/app/modules/logger/module.mjs.map +1 -1
  329. package/dist/app/modules/mail/adapter/smtp/module.mjs.map +1 -1
  330. package/dist/app/modules/mail/adapter/smtp/smtp.mjs.map +1 -1
  331. package/dist/app/modules/mail/adapter/void.mjs.map +1 -1
  332. package/dist/app/modules/mail/constants.mjs.map +1 -1
  333. package/dist/app/modules/mail/module.mjs.map +1 -1
  334. package/dist/app/modules/oauth2/constants.mjs.map +1 -1
  335. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  336. package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs.map +1 -1
  337. package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs.map +1 -1
  338. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  339. package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +1 -1
  340. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
  341. package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -1
  342. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  343. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  344. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  345. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  346. package/dist/app/modules/runtime/module.mjs.map +1 -1
  347. package/dist/cli/commands/healthcheck.mjs.map +1 -1
  348. package/dist/cli/commands/migration.mjs.map +1 -1
  349. package/dist/cli/commands/reset.mjs.map +1 -1
  350. package/dist/cli/commands/start.mjs.map +1 -1
  351. package/dist/cli/index.mjs.map +1 -1
  352. package/dist/cli/module.mjs.map +1 -1
  353. package/dist/components/database/unique-entries/factory.mjs.map +1 -1
  354. package/dist/components/database/unique-entries/module.mjs.map +1 -1
  355. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  356. package/dist/core/authentication/base.mjs.map +1 -1
  357. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
  358. package/dist/core/authentication/credential/entities/robot/module.mjs.map +1 -1
  359. package/dist/core/authentication/credential/entities/user/module.mjs.map +1 -1
  360. package/dist/core/authentication/entities/client/module.d.ts.map +1 -1
  361. package/dist/core/authentication/entities/client/module.mjs +7 -5
  362. package/dist/core/authentication/entities/client/module.mjs.map +1 -1
  363. package/dist/core/authentication/entities/robot/module.d.ts.map +1 -1
  364. package/dist/core/authentication/entities/robot/module.mjs +5 -4
  365. package/dist/core/authentication/entities/robot/module.mjs.map +1 -1
  366. package/dist/core/authentication/entities/user/module.d.ts.map +1 -1
  367. package/dist/core/authentication/entities/user/module.mjs +5 -4
  368. package/dist/core/authentication/entities/user/module.mjs.map +1 -1
  369. package/dist/core/authentication/module.mjs.map +1 -1
  370. package/dist/core/authentication/session/module.mjs.map +1 -1
  371. package/dist/core/entities/client/service.d.ts +2 -3
  372. package/dist/core/entities/client/service.d.ts.map +1 -1
  373. package/dist/core/entities/client/service.mjs +8 -8
  374. package/dist/core/entities/client/service.mjs.map +1 -1
  375. package/dist/core/entities/client/types.d.ts +1 -2
  376. package/dist/core/entities/client/types.d.ts.map +1 -1
  377. package/dist/core/entities/client-permission/service.d.ts +2 -3
  378. package/dist/core/entities/client-permission/service.d.ts.map +1 -1
  379. package/dist/core/entities/client-permission/service.mjs +8 -7
  380. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  381. package/dist/core/entities/client-permission/types.d.ts +1 -2
  382. package/dist/core/entities/client-permission/types.d.ts.map +1 -1
  383. package/dist/core/entities/client-role/service.d.ts +2 -3
  384. package/dist/core/entities/client-role/service.d.ts.map +1 -1
  385. package/dist/core/entities/client-role/service.mjs +9 -8
  386. package/dist/core/entities/client-role/service.mjs.map +1 -1
  387. package/dist/core/entities/client-role/types.d.ts +1 -2
  388. package/dist/core/entities/client-role/types.d.ts.map +1 -1
  389. package/dist/core/entities/client-scope/service.d.ts +2 -3
  390. package/dist/core/entities/client-scope/service.d.ts.map +1 -1
  391. package/dist/core/entities/client-scope/service.mjs +7 -6
  392. package/dist/core/entities/client-scope/service.mjs.map +1 -1
  393. package/dist/core/entities/client-scope/types.d.ts +1 -2
  394. package/dist/core/entities/client-scope/types.d.ts.map +1 -1
  395. package/dist/core/entities/identity-provider/types.d.ts +1 -1
  396. package/dist/core/entities/identity-provider/types.d.ts.map +1 -1
  397. package/dist/core/entities/identity-provider-role-mapping/service.d.ts +2 -3
  398. package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
  399. package/dist/core/entities/identity-provider-role-mapping/service.mjs +10 -9
  400. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
  401. package/dist/core/entities/identity-provider-role-mapping/types.d.ts +1 -2
  402. package/dist/core/entities/identity-provider-role-mapping/types.d.ts.map +1 -1
  403. package/dist/core/entities/index.d.ts +0 -3
  404. package/dist/core/entities/index.d.ts.map +1 -1
  405. package/dist/core/entities/index.mjs +1 -2
  406. package/dist/core/entities/permission/service.d.ts +2 -3
  407. package/dist/core/entities/permission/service.d.ts.map +1 -1
  408. package/dist/core/entities/permission/service.mjs +8 -9
  409. package/dist/core/entities/permission/service.mjs.map +1 -1
  410. package/dist/core/entities/permission/types.d.ts +1 -2
  411. package/dist/core/entities/permission/types.d.ts.map +1 -1
  412. package/dist/core/entities/permission-policy/service.d.ts +2 -3
  413. package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
  414. package/dist/core/entities/permission-policy/service.mjs +7 -6
  415. package/dist/core/entities/permission-policy/service.mjs.map +1 -1
  416. package/dist/core/entities/permission-policy/types.d.ts +1 -2
  417. package/dist/core/entities/permission-policy/types.d.ts.map +1 -1
  418. package/dist/core/entities/policy/attributes-validator.mjs.map +1 -1
  419. package/dist/core/entities/policy/service.d.ts +2 -3
  420. package/dist/core/entities/policy/service.d.ts.map +1 -1
  421. package/dist/core/entities/policy/service.mjs +8 -8
  422. package/dist/core/entities/policy/service.mjs.map +1 -1
  423. package/dist/core/entities/policy/types.d.ts +1 -2
  424. package/dist/core/entities/policy/types.d.ts.map +1 -1
  425. package/dist/core/entities/realm/service.d.ts +2 -3
  426. package/dist/core/entities/realm/service.d.ts.map +1 -1
  427. package/dist/core/entities/realm/service.mjs +8 -8
  428. package/dist/core/entities/realm/service.mjs.map +1 -1
  429. package/dist/core/entities/realm/types.d.ts +1 -2
  430. package/dist/core/entities/realm/types.d.ts.map +1 -1
  431. package/dist/core/entities/robot/service.d.ts +2 -3
  432. package/dist/core/entities/robot/service.d.ts.map +1 -1
  433. package/dist/core/entities/robot/service.mjs +8 -8
  434. package/dist/core/entities/robot/service.mjs.map +1 -1
  435. package/dist/core/entities/robot/types.d.ts +1 -2
  436. package/dist/core/entities/robot/types.d.ts.map +1 -1
  437. package/dist/core/entities/robot-permission/service.d.ts +2 -3
  438. package/dist/core/entities/robot-permission/service.d.ts.map +1 -1
  439. package/dist/core/entities/robot-permission/service.mjs +8 -7
  440. package/dist/core/entities/robot-permission/service.mjs.map +1 -1
  441. package/dist/core/entities/robot-permission/types.d.ts +1 -2
  442. package/dist/core/entities/robot-permission/types.d.ts.map +1 -1
  443. package/dist/core/entities/robot-role/service.d.ts +2 -3
  444. package/dist/core/entities/robot-role/service.d.ts.map +1 -1
  445. package/dist/core/entities/robot-role/service.mjs +9 -8
  446. package/dist/core/entities/robot-role/service.mjs.map +1 -1
  447. package/dist/core/entities/robot-role/types.d.ts +1 -2
  448. package/dist/core/entities/robot-role/types.d.ts.map +1 -1
  449. package/dist/core/entities/role/service.d.ts +2 -3
  450. package/dist/core/entities/role/service.d.ts.map +1 -1
  451. package/dist/core/entities/role/service.mjs +8 -8
  452. package/dist/core/entities/role/service.mjs.map +1 -1
  453. package/dist/core/entities/role/types.d.ts +1 -2
  454. package/dist/core/entities/role/types.d.ts.map +1 -1
  455. package/dist/core/entities/role-attribute/service.d.ts +2 -3
  456. package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
  457. package/dist/core/entities/role-attribute/service.mjs +5 -5
  458. package/dist/core/entities/role-attribute/service.mjs.map +1 -1
  459. package/dist/core/entities/role-attribute/types.d.ts +1 -2
  460. package/dist/core/entities/role-attribute/types.d.ts.map +1 -1
  461. package/dist/core/entities/role-permission/service.d.ts +2 -3
  462. package/dist/core/entities/role-permission/service.d.ts.map +1 -1
  463. package/dist/core/entities/role-permission/service.mjs +8 -7
  464. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  465. package/dist/core/entities/role-permission/types.d.ts +1 -2
  466. package/dist/core/entities/role-permission/types.d.ts.map +1 -1
  467. package/dist/core/entities/scope/service.d.ts +2 -3
  468. package/dist/core/entities/scope/service.d.ts.map +1 -1
  469. package/dist/core/entities/scope/service.mjs +8 -8
  470. package/dist/core/entities/scope/service.mjs.map +1 -1
  471. package/dist/core/entities/scope/types.d.ts +1 -2
  472. package/dist/core/entities/scope/types.d.ts.map +1 -1
  473. package/dist/core/entities/user/service.d.ts +2 -3
  474. package/dist/core/entities/user/service.d.ts.map +1 -1
  475. package/dist/core/entities/user/service.mjs +8 -8
  476. package/dist/core/entities/user/service.mjs.map +1 -1
  477. package/dist/core/entities/user/types.d.ts +1 -2
  478. package/dist/core/entities/user/types.d.ts.map +1 -1
  479. package/dist/core/entities/user-attribute/service.d.ts +2 -3
  480. package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
  481. package/dist/core/entities/user-attribute/service.mjs +8 -8
  482. package/dist/core/entities/user-attribute/service.mjs.map +1 -1
  483. package/dist/core/entities/user-attribute/types.d.ts +1 -2
  484. package/dist/core/entities/user-attribute/types.d.ts.map +1 -1
  485. package/dist/core/entities/user-permission/service.d.ts +2 -3
  486. package/dist/core/entities/user-permission/service.d.ts.map +1 -1
  487. package/dist/core/entities/user-permission/service.mjs +8 -7
  488. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  489. package/dist/core/entities/user-permission/types.d.ts +1 -2
  490. package/dist/core/entities/user-permission/types.d.ts.map +1 -1
  491. package/dist/core/entities/user-role/service.d.ts +2 -3
  492. package/dist/core/entities/user-role/service.d.ts.map +1 -1
  493. package/dist/core/entities/user-role/service.mjs +9 -8
  494. package/dist/core/entities/user-role/service.mjs.map +1 -1
  495. package/dist/core/entities/user-role/types.d.ts +1 -2
  496. package/dist/core/entities/user-role/types.d.ts.map +1 -1
  497. package/dist/core/identity/index.d.ts +1 -0
  498. package/dist/core/identity/index.d.ts.map +1 -1
  499. package/dist/core/identity/index.mjs +4 -1
  500. package/dist/core/identity/password-recovery/check.d.ts +7 -0
  501. package/dist/core/identity/password-recovery/check.d.ts.map +1 -0
  502. package/dist/core/identity/password-recovery/check.mjs +24 -0
  503. package/dist/core/identity/password-recovery/check.mjs.map +1 -0
  504. package/dist/core/identity/password-recovery/disabled.d.ts +6 -0
  505. package/dist/core/identity/password-recovery/disabled.d.ts.map +1 -0
  506. package/dist/core/identity/password-recovery/disabled.mjs +16 -0
  507. package/dist/core/identity/password-recovery/disabled.mjs.map +1 -0
  508. package/dist/core/identity/password-recovery/email-verification-required.d.ts +6 -0
  509. package/dist/core/identity/password-recovery/email-verification-required.d.ts.map +1 -0
  510. package/dist/core/identity/password-recovery/email-verification-required.mjs +16 -0
  511. package/dist/core/identity/password-recovery/email-verification-required.mjs.map +1 -0
  512. package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
  513. package/dist/core/identity/password-recovery/service.mjs +10 -7
  514. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  515. package/dist/core/identity/password-recovery/token-expired.d.ts +6 -0
  516. package/dist/core/identity/password-recovery/token-expired.d.ts.map +1 -0
  517. package/dist/core/identity/password-recovery/token-expired.mjs +16 -0
  518. package/dist/core/identity/password-recovery/token-expired.mjs.map +1 -0
  519. package/dist/core/identity/permission/checker/index.d.ts +3 -0
  520. package/dist/core/identity/permission/checker/index.d.ts.map +1 -0
  521. package/dist/core/identity/permission/checker/index.mjs +2 -0
  522. package/dist/core/identity/permission/checker/service.d.ts +10 -0
  523. package/dist/core/identity/permission/checker/service.d.ts.map +1 -0
  524. package/dist/core/identity/permission/checker/service.mjs +55 -0
  525. package/dist/core/identity/permission/checker/service.mjs.map +1 -0
  526. package/dist/core/identity/permission/checker/types.d.ts +42 -0
  527. package/dist/core/identity/permission/checker/types.d.ts.map +1 -0
  528. package/dist/core/identity/permission/identity-policy-data.d.ts +4 -0
  529. package/dist/core/identity/permission/identity-policy-data.d.ts.map +1 -0
  530. package/dist/core/identity/permission/identity-policy-data.mjs +23 -0
  531. package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -0
  532. package/dist/core/identity/permission/index.d.ts +1 -0
  533. package/dist/core/identity/permission/index.d.ts.map +1 -1
  534. package/dist/core/identity/permission/index.mjs +3 -1
  535. package/dist/core/identity/permission/module.mjs.map +1 -1
  536. package/dist/core/identity/policy/checker/index.d.ts +3 -0
  537. package/dist/core/identity/policy/checker/index.d.ts.map +1 -0
  538. package/dist/core/identity/policy/checker/index.mjs +2 -0
  539. package/dist/core/identity/policy/checker/service.d.ts +10 -0
  540. package/dist/core/identity/policy/checker/service.d.ts.map +1 -0
  541. package/dist/core/identity/policy/checker/service.mjs +46 -0
  542. package/dist/core/identity/policy/checker/service.mjs.map +1 -0
  543. package/dist/core/identity/policy/checker/types.d.ts +40 -0
  544. package/dist/core/identity/policy/checker/types.d.ts.map +1 -0
  545. package/dist/core/identity/policy/index.d.ts +2 -0
  546. package/dist/core/identity/policy/index.d.ts.map +1 -0
  547. package/dist/core/identity/policy/index.mjs +3 -0
  548. package/dist/core/identity/provider/account/module.d.ts.map +1 -1
  549. package/dist/core/identity/provider/account/module.mjs +2 -2
  550. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  551. package/dist/core/identity/provider/authentication/constants.mjs.map +1 -1
  552. package/dist/core/identity/provider/authentication/factory.mjs.map +1 -1
  553. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  554. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  555. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  556. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  557. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  558. package/dist/core/identity/provider/authentication/protocols/ldap/collection.d.ts.map +1 -1
  559. package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs +3 -2
  560. package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs.map +1 -1
  561. package/dist/core/identity/provider/authentication/protocols/ldap/module.d.ts.map +1 -1
  562. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +7 -4
  563. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
  564. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  565. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -1
  566. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
  567. package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
  568. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
  569. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
  570. package/dist/core/identity/registration/check.d.ts +3 -0
  571. package/dist/core/identity/registration/check.d.ts.map +1 -0
  572. package/dist/core/identity/registration/check.mjs +12 -0
  573. package/dist/core/identity/registration/check.mjs.map +1 -0
  574. package/dist/core/identity/registration/error.d.ts +6 -0
  575. package/dist/core/identity/registration/error.d.ts.map +1 -0
  576. package/dist/core/identity/registration/error.mjs +16 -0
  577. package/dist/core/identity/registration/error.mjs.map +1 -0
  578. package/dist/core/identity/registration/service.d.ts.map +1 -1
  579. package/dist/core/identity/registration/service.mjs +4 -3
  580. package/dist/core/identity/registration/service.mjs.map +1 -1
  581. package/dist/core/identity/resolver/entities/ldap/module.mjs.map +1 -1
  582. package/dist/core/identity/resolver/module.mjs.map +1 -1
  583. package/dist/core/identity/role/module.mjs.map +1 -1
  584. package/dist/core/index.mjs +5 -4
  585. package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -1
  586. package/dist/core/oauth2/authorization/code/verifier/module.mjs +8 -8
  587. package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
  588. package/dist/core/oauth2/authorization/code-request/validator.mjs +2 -2
  589. package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -1
  590. package/dist/core/oauth2/authorization/code-request/verifier/module.d.ts.map +1 -1
  591. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +8 -8
  592. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  593. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  594. package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
  595. package/dist/core/oauth2/authorization/module.mjs +4 -4
  596. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  597. package/dist/core/oauth2/authorization/state/module.mjs +4 -4
  598. package/dist/core/oauth2/authorization/state/module.mjs.map +1 -1
  599. package/dist/core/oauth2/client/authenticator.mjs +6 -6
  600. package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
  601. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  602. package/dist/core/oauth2/grant-types/base.mjs.map +1 -1
  603. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
  604. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
  605. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  606. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  607. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +1 -1
  608. package/dist/core/oauth2/helpers/{erorr.d.ts → error.d.ts} +1 -1
  609. package/dist/core/oauth2/helpers/error.d.ts.map +1 -0
  610. package/dist/core/oauth2/helpers/{erorr.mjs → error.mjs} +6 -7
  611. package/dist/core/oauth2/helpers/error.mjs.map +1 -0
  612. package/dist/core/oauth2/helpers/index.d.ts +1 -1
  613. package/dist/core/oauth2/helpers/index.mjs +1 -1
  614. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  615. package/dist/core/oauth2/response/bearer.mjs.map +1 -1
  616. package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
  617. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  618. package/dist/core/oauth2/token/issuer/base.mjs.map +1 -1
  619. package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -1
  620. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  621. package/dist/core/oauth2/token/revoker/module.mjs.map +1 -1
  622. package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
  623. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  624. package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -1
  625. package/dist/core/provisioning/entities/client/validator.mjs.map +1 -1
  626. package/dist/core/provisioning/entities/permission/validator.mjs.map +1 -1
  627. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  628. package/dist/core/provisioning/entities/realm/validator.mjs.map +1 -1
  629. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +1 -1
  630. package/dist/core/provisioning/entities/robot/validator.mjs.map +1 -1
  631. package/dist/core/provisioning/entities/role/relations-validator.mjs.map +1 -1
  632. package/dist/core/provisioning/entities/role/validator.mjs.map +1 -1
  633. package/dist/core/provisioning/entities/root/validator.mjs.map +1 -1
  634. package/dist/core/provisioning/entities/scope/validator.mjs.map +1 -1
  635. package/dist/core/provisioning/entities/user/relations-validator.mjs.map +1 -1
  636. package/dist/core/provisioning/entities/user/validator.mjs.map +1 -1
  637. package/dist/core/provisioning/strategy/normalize.mjs.map +1 -1
  638. package/dist/core/provisioning/strategy/validator.mjs.map +1 -1
  639. package/dist/core/provisioning/synchronizer/base.mjs.map +1 -1
  640. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  641. package/dist/core/provisioning/synchronizer/entity-resolver.d.ts +1 -1
  642. package/dist/core/provisioning/synchronizer/entity-resolver.d.ts.map +1 -1
  643. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  644. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +1 -1
  645. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
  646. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
  647. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  648. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
  649. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  650. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +1 -1
  651. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  652. package/dist/core/provisioning/synchronizer/root/module.mjs.map +1 -1
  653. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  654. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  655. package/dist/core/security/policy/engine.mjs.map +1 -1
  656. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  657. package/dist/index.mjs +4 -1
  658. package/dist/path.mjs.map +1 -1
  659. package/dist/swagger.json +3125 -1269
  660. package/dist/ui/client/.vite/ssr-manifest.json +30 -35
  661. package/dist/ui/client/assets/index-BdPtpN2t.js +66 -0
  662. package/dist/ui/client/index.html +1 -1
  663. package/dist/ui/server/server.js +24261 -972
  664. package/dist/utils/error.d.ts +13 -0
  665. package/dist/utils/error.d.ts.map +1 -1
  666. package/dist/utils/error.mjs +26 -23
  667. package/dist/utils/error.mjs.map +1 -1
  668. package/dist/utils/host.mjs.map +1 -1
  669. package/dist/utils/self-id.mjs.map +1 -1
  670. package/dist/utils/url.mjs.map +1 -1
  671. package/package.json +26 -27
  672. package/dist/core/entities/actor/index.d.ts +0 -2
  673. package/dist/core/entities/actor/index.d.ts.map +0 -1
  674. package/dist/core/entities/actor/types.d.ts +0 -7
  675. package/dist/core/entities/actor/types.d.ts.map +0 -1
  676. package/dist/core/entities/service.d.ts +0 -6
  677. package/dist/core/entities/service.d.ts.map +0 -1
  678. package/dist/core/entities/service.mjs +0 -21
  679. package/dist/core/entities/service.mjs.map +0 -1
  680. package/dist/core/entities/types.d.ts +0 -22
  681. package/dist/core/entities/types.d.ts.map +0 -1
  682. package/dist/core/oauth2/helpers/erorr.d.ts.map +0 -1
  683. package/dist/core/oauth2/helpers/erorr.mjs.map +0 -1
  684. package/dist/ui/client/assets/index-DJBdH-x_.js +0 -64
  685. /package/dist/{core/entities/actor → adapters/http/middleware/built-in/realm-resolver}/types.mjs +0 -0
  686. /package/dist/core/{entities → identity/permission/checker}/types.mjs +0 -0
  687. /package/dist/core/{entities/actor/index.mjs → identity/policy/checker/types.mjs} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"repository.mjs","names":["applyQuery","validateEntityJoinColumns","UserAttributeEntity","translateWhereConditions","UserAttributeRepositoryAdapter","repository","findMany","query","qb","createQueryBuilder","groupBy","pagination","defaultAlias","filters","allowed","sort","maxLimit","entities","total","getManyAndCount","data","meta","findOneById","id","findOneBy","findOneByName","findOneByIdOrName","idOrName","findManyBy","where","findBy","create","merge","entity","save","remove","validateJoinColumns","dataSource","manager","connection","entityTarget"],"sources":["../../../../../../src/app/modules/database/repositories/user-attribute/repository.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 { UserAttribute } from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport { applyQuery, validateEntityJoinColumns } from 'typeorm-extension';\nimport type { EntityRepositoryFindManyResult, IUserAttributeRepository } from '../../../../../core/index.ts';\nimport { UserAttributeEntity } from '../../../../../adapters/database/domains/index.ts';\nimport { translateWhereConditions } from '../helpers.ts';\n\nexport class UserAttributeRepositoryAdapter implements IUserAttributeRepository {\n private readonly repository: Repository<UserAttribute>;\n\n constructor(repository: Repository<UserAttribute>) {\n this.repository = repository;\n }\n\n async findMany(query: Record<string, any>): Promise<EntityRepositoryFindManyResult<UserAttribute>> {\n const qb = this.repository.createQueryBuilder('userAttribute');\n qb.groupBy('userAttribute.id');\n\n const { pagination } = applyQuery(qb, query, {\n defaultAlias: 'userAttribute',\n filters: { allowed: ['id', 'name', 'user_id', 'realm_id'] },\n sort: { allowed: ['id', 'name', 'user_id', 'realm_id', 'created_at', 'updated_at'] },\n pagination: { maxLimit: 50 },\n });\n\n const [entities, total] = await qb.getManyAndCount();\n\n return {\n data: entities,\n meta: {\n total,\n ...pagination,\n },\n };\n }\n\n findOneById(id: string): Promise<UserAttribute | null> {\n return this.findOneBy({ id });\n }\n\n async findOneByName(): Promise<UserAttribute | null> {\n return null;\n }\n\n async findOneByIdOrName(idOrName: string): Promise<UserAttribute | null> {\n return this.findOneById(idOrName);\n }\n\n async findManyBy(where: Record<string, any>): Promise<UserAttribute[]> {\n return this.repository.findBy(translateWhereConditions(where));\n }\n\n async findOneBy(where: Record<string, any>): Promise<UserAttribute | null> {\n return this.repository.findOneBy(translateWhereConditions(where));\n }\n\n create(data: Partial<UserAttribute>): UserAttribute {\n return this.repository.create(data);\n }\n\n merge(entity: UserAttribute, data: Partial<UserAttribute>): UserAttribute {\n return this.repository.merge(entity, data);\n }\n\n async save(entity: UserAttribute): Promise<UserAttribute> {\n return this.repository.save(entity);\n }\n\n async remove(entity: UserAttribute): Promise<void> {\n await this.repository.remove(entity);\n }\n\n async validateJoinColumns(data: Partial<UserAttribute>): Promise<void> {\n await validateEntityJoinColumns(data, {\n dataSource: this.repository.manager.connection,\n entityTarget: UserAttributeEntity,\n });\n }\n}\n"],"mappings":";;;;;AAcA,IAAaI,iCAAb,MAAaA;CACQC;CAEjB,YAAYA,YAAuC;AAC/C,OAAKA,aAAaA;;CAGtB,MAAMC,SAASC,OAAoF;EAC/F,MAAMC,KAAK,KAAKH,WAAWI,mBAAmB,gBAAA;AAC9CD,KAAGE,QAAQ,mBAAA;EAEX,MAAM,EAAEC,eAAeX,WAAWQ,IAAID,OAAO;GACzCK,cAAc;GACdC,SAAS,EAAEC,SAAS;IAAC;IAAM;IAAQ;IAAW;IAAW,EAAC;GAC1DC,MAAM,EAAED,SAAS;IAAC;IAAM;IAAQ;IAAW;IAAY;IAAc;IAAa,EAAC;GACnFH,YAAY,EAAEK,UAAU,IAAG;GAC/B,CAAA;EAEA,MAAM,CAACC,UAAUC,SAAS,MAAMV,GAAGW,iBAAe;AAElD,SAAO;GACHC,MAAMH;GACNI,MAAM;IACFH;IACA,GAAGP;IACP;GACJ;;CAGJW,YAAYC,IAA2C;AACnD,SAAO,KAAKC,UAAU,EAAED,IAAG,CAAA;;CAG/B,MAAME,gBAA+C;AACjD,SAAO;;CAGX,MAAMC,kBAAkBC,UAAiD;AACrE,SAAO,KAAKL,YAAYK,SAAAA;;CAG5B,MAAMC,WAAWC,OAAsD;AACnE,SAAO,KAAKxB,WAAWyB,OAAO3B,yBAAyB0B,MAAAA,CAAAA;;CAG3D,MAAML,UAAUK,OAA2D;AACvE,SAAO,KAAKxB,WAAWmB,UAAUrB,yBAAyB0B,MAAAA,CAAAA;;CAG9DE,OAAOX,MAA6C;AAChD,SAAO,KAAKf,WAAW0B,OAAOX,KAAAA;;CAGlCY,MAAMC,QAAuBb,MAA6C;AACtE,SAAO,KAAKf,WAAW2B,MAAMC,QAAQb,KAAAA;;CAGzC,MAAMc,KAAKD,QAA+C;AACtD,SAAO,KAAK5B,WAAW6B,KAAKD,OAAAA;;CAGhC,MAAME,OAAOF,QAAsC;AAC/C,QAAM,KAAK5B,WAAW8B,OAAOF,OAAAA;;CAGjC,MAAMG,oBAAoBhB,MAA6C;AACnE,QAAMnB,0BAA0BmB,MAAM;GAClCiB,YAAY,KAAKhC,WAAWiC,QAAQC;GACpCC,cAActC;GAClB,CAAA"}
1
+ {"version":3,"file":"repository.mjs","names":["applyQuery","validateEntityJoinColumns","UserAttributeEntity","translateWhereConditions","UserAttributeRepositoryAdapter","repository","findMany","query","qb","createQueryBuilder","groupBy","pagination","defaultAlias","filters","allowed","sort","maxLimit","entities","total","getManyAndCount","data","meta","findOneById","id","findOneBy","findOneByName","findOneByIdOrName","idOrName","findManyBy","where","findBy","create","merge","entity","save","remove","validateJoinColumns","dataSource","manager","connection","entityTarget"],"sources":["../../../../../../src/app/modules/database/repositories/user-attribute/repository.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 { UserAttribute } from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport { applyQuery, validateEntityJoinColumns } from 'typeorm-extension';\nimport type { EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport type { IUserAttributeRepository } from '../../../../../core/index.ts';\nimport { UserAttributeEntity } from '../../../../../adapters/database/domains/index.ts';\nimport { translateWhereConditions } from '../helpers.ts';\n\nexport class UserAttributeRepositoryAdapter implements IUserAttributeRepository {\n private readonly repository: Repository<UserAttribute>;\n\n constructor(repository: Repository<UserAttribute>) {\n this.repository = repository;\n }\n\n async findMany(query: Record<string, any>): Promise<EntityRepositoryFindManyResult<UserAttribute>> {\n const qb = this.repository.createQueryBuilder('userAttribute');\n qb.groupBy('userAttribute.id');\n\n const { pagination } = applyQuery(qb, query, {\n defaultAlias: 'userAttribute',\n filters: { allowed: ['id', 'name', 'user_id', 'realm_id'] },\n sort: { allowed: ['id', 'name', 'user_id', 'realm_id', 'created_at', 'updated_at'] },\n pagination: { maxLimit: 50 },\n });\n\n const [entities, total] = await qb.getManyAndCount();\n\n return {\n data: entities,\n meta: {\n total,\n ...pagination,\n },\n };\n }\n\n findOneById(id: string): Promise<UserAttribute | null> {\n return this.findOneBy({ id });\n }\n\n async findOneByName(): Promise<UserAttribute | null> {\n return null;\n }\n\n async findOneByIdOrName(idOrName: string): Promise<UserAttribute | null> {\n return this.findOneById(idOrName);\n }\n\n async findManyBy(where: Record<string, any>): Promise<UserAttribute[]> {\n return this.repository.findBy(translateWhereConditions(where));\n }\n\n async findOneBy(where: Record<string, any>): Promise<UserAttribute | null> {\n return this.repository.findOneBy(translateWhereConditions(where));\n }\n\n create(data: Partial<UserAttribute>): UserAttribute {\n return this.repository.create(data);\n }\n\n merge(entity: UserAttribute, data: Partial<UserAttribute>): UserAttribute {\n return this.repository.merge(entity, data);\n }\n\n async save(entity: UserAttribute): Promise<UserAttribute> {\n return this.repository.save(entity);\n }\n\n async remove(entity: UserAttribute): Promise<void> {\n await this.repository.remove(entity);\n }\n\n async validateJoinColumns(data: Partial<UserAttribute>): Promise<void> {\n await validateEntityJoinColumns(data, {\n dataSource: this.repository.manager.connection,\n entityTarget: UserAttributeEntity,\n });\n }\n}\n"],"mappings":";;;;;AAeA,IAAaI,iCAAb,MAAaA;CACQC;CAEjB,YAAYA,YAAuC;EAC/C,KAAKA,aAAaA;CACtB;CAEA,MAAMC,SAASC,OAAoF;EAC/F,MAAMC,KAAK,KAAKH,WAAWI,mBAAmB,eAAA;EAC9CD,GAAGE,QAAQ,kBAAA;EAEX,MAAM,EAAEC,eAAeX,WAAWQ,IAAID,OAAO;GACzCK,cAAc;GACdC,SAAS,EAAEC,SAAS;IAAC;IAAM;IAAQ;IAAW;KAAY;GAC1DC,MAAM,EAAED,SAAS;IAAC;IAAM;IAAQ;IAAW;IAAY;IAAc;KAAc;GACnFH,YAAY,EAAEK,UAAU,GAAG;EAC/B,CAAA;EAEA,MAAM,CAACC,UAAUC,SAAS,MAAMV,GAAGW,gBAAe;EAElD,OAAO;GACHC,MAAMH;GACNI,MAAM;IACFH;IACA,GAAGP;GACP;EACJ;CACJ;CAEAW,YAAYC,IAA2C;EACnD,OAAO,KAAKC,UAAU,EAAED,GAAG,CAAA;CAC/B;CAEA,MAAME,gBAA+C;EACjD,OAAO;CACX;CAEA,MAAMC,kBAAkBC,UAAiD;EACrE,OAAO,KAAKL,YAAYK,QAAAA;CAC5B;CAEA,MAAMC,WAAWC,OAAsD;EACnE,OAAO,KAAKxB,WAAWyB,OAAO3B,yBAAyB0B,KAAAA,CAAAA;CAC3D;CAEA,MAAML,UAAUK,OAA2D;EACvE,OAAO,KAAKxB,WAAWmB,UAAUrB,yBAAyB0B,KAAAA,CAAAA;CAC9D;CAEAE,OAAOX,MAA6C;EAChD,OAAO,KAAKf,WAAW0B,OAAOX,IAAAA;CAClC;CAEAY,MAAMC,QAAuBb,MAA6C;EACtE,OAAO,KAAKf,WAAW2B,MAAMC,QAAQb,IAAAA;CACzC;CAEA,MAAMc,KAAKD,QAA+C;EACtD,OAAO,KAAK5B,WAAW6B,KAAKD,MAAAA;CAChC;CAEA,MAAME,OAAOF,QAAsC;EAC/C,MAAM,KAAK5B,WAAW8B,OAAOF,MAAAA;CACjC;CAEA,MAAMG,oBAAoBhB,MAA6C;EACnE,MAAMnB,0BAA0BmB,MAAM;GAClCiB,YAAY,KAAKhC,WAAWiC,QAAQC;GACpCC,cAActC;EAClB,CAAA;CACJ;AACJ"}
@@ -1,6 +1,7 @@
1
1
  import type { UserPermission } from '@authup/core-kit';
2
2
  import type { Repository } from 'typeorm';
3
- import type { EntityRepositoryFindManyResult, IUserPermissionRepository } from '../../../../../core/index.ts';
3
+ import type { EntityRepositoryFindManyResult } from '@authup/server-kit';
4
+ import type { IUserPermissionRepository } from '../../../../../core/index.ts';
4
5
  export declare class UserPermissionRepositoryAdapter implements IUserPermissionRepository {
5
6
  private readonly repository;
6
7
  constructor(repository: Repository<UserPermission>);
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../../../src/app/modules/database/repositories/user-permission/repository.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAI9G,qBAAa,+BAAgC,YAAW,yBAAyB;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;gBAE5C,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC;IAI5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;IA0CnG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIjD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIlE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAI7D,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIjE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAI3E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAIrD,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAItE,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIrD,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAM1E"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../../../src/app/modules/database/repositories/user-permission/repository.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAI9E,qBAAa,+BAAgC,YAAW,yBAAyB;IAC7E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;gBAE5C,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC;IAI5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;IA0CnG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIjD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIlE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAI7D,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIjE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAI3E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAIrD,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc;IAItE,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIrD,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAM1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"repository.mjs","names":["applyQuery","validateEntityJoinColumns","UserPermissionEntity","translateWhereConditions","UserPermissionRepositoryAdapter","repository","findMany","query","qb","createQueryBuilder","groupBy","pagination","defaultAlias","filters","allowed","relations","onJoin","_property","key","q","addGroupBy","sort","maxLimit","entities","total","getManyAndCount","data","meta","findOneById","id","findOneBy","findOneByName","_name","Promise","resolve","findOneByIdOrName","idOrName","findManyBy","where","findBy","create","merge","entity","save","remove","validateJoinColumns","dataSource","manager","connection","entityTarget"],"sources":["../../../../../../src/app/modules/database/repositories/user-permission/repository.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 { UserPermission } from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport { applyQuery, validateEntityJoinColumns } from 'typeorm-extension';\nimport type { EntityRepositoryFindManyResult, IUserPermissionRepository } from '../../../../../core/index.ts';\nimport { UserPermissionEntity } from '../../../../../adapters/database/domains/index.ts';\nimport { translateWhereConditions } from '../helpers.ts';\n\nexport class UserPermissionRepositoryAdapter implements IUserPermissionRepository {\n private readonly repository: Repository<UserPermission>;\n\n constructor(repository: Repository<UserPermission>) {\n this.repository = repository;\n }\n\n async findMany(query: Record<string, any>): Promise<EntityRepositoryFindManyResult<UserPermission>> {\n const qb = this.repository.createQueryBuilder('userPermission');\n qb.groupBy('userPermission.id');\n\n const { pagination } = applyQuery(qb, query, {\n defaultAlias: 'userPermission',\n filters: {\n allowed: [\n 'user_id',\n 'permission_id',\n ],\n },\n relations: {\n allowed: [\n 'user',\n 'permission',\n ],\n onJoin: (_property: string, key: string, q: any) => {\n q.addGroupBy(`${key}.id`);\n },\n },\n sort: {\n allowed: [\n 'id',\n 'created_at',\n 'updated_at',\n ],\n },\n pagination: { maxLimit: 50 },\n });\n\n const [entities, total] = await qb.getManyAndCount();\n\n return {\n data: entities,\n meta: {\n total,\n ...pagination,\n },\n };\n }\n\n findOneById(id: string): Promise<UserPermission | null> {\n return this.findOneBy({ id });\n }\n\n async findOneByName(_name: string): Promise<UserPermission | null> {\n return Promise.resolve(null);\n }\n\n findOneByIdOrName(idOrName: string): Promise<UserPermission | null> {\n return this.findOneById(idOrName);\n }\n\n async findManyBy(where: Record<string, any>): Promise<UserPermission[]> {\n return this.repository.findBy(translateWhereConditions(where));\n }\n\n async findOneBy(where: Record<string, any>): Promise<UserPermission | null> {\n return this.repository.findOneBy(translateWhereConditions(where));\n }\n\n create(data: Partial<UserPermission>): UserPermission {\n return this.repository.create(data);\n }\n\n merge(entity: UserPermission, data: Partial<UserPermission>): UserPermission {\n return this.repository.merge(entity, data);\n }\n\n async save(entity: UserPermission): Promise<UserPermission> {\n return this.repository.save(entity);\n }\n\n async remove(entity: UserPermission): Promise<void> {\n await this.repository.remove(entity);\n }\n\n async validateJoinColumns(data: Partial<UserPermission>): Promise<void> {\n await validateEntityJoinColumns(data, {\n dataSource: this.repository.manager.connection,\n entityTarget: UserPermissionEntity,\n });\n }\n}\n"],"mappings":";;;;;AAcA,IAAaI,kCAAb,MAAaA;CACQC;CAEjB,YAAYA,YAAwC;AAChD,OAAKA,aAAaA;;CAGtB,MAAMC,SAASC,OAAqF;EAChG,MAAMC,KAAK,KAAKH,WAAWI,mBAAmB,iBAAA;AAC9CD,KAAGE,QAAQ,oBAAA;EAEX,MAAM,EAAEC,eAAeX,WAAWQ,IAAID,OAAO;GACzCK,cAAc;GACdC,SAAS,EACLC,SAAS,CACL,WACA,gBACH,EACL;GACAC,WAAW;IACPD,SAAS,CACL,QACA,aACH;IACDE,SAASC,WAAmBC,KAAaC,MAAAA;AACrCA,OAAEC,WAAW,GAAGF,IAAI,KAAI;;IAEhC;GACAG,MAAM,EACFP,SAAS;IACL;IACA;IACA;IACH,EACL;GACAH,YAAY,EAAEW,UAAU,IAAG;GAC/B,CAAA;EAEA,MAAM,CAACC,UAAUC,SAAS,MAAMhB,GAAGiB,iBAAe;AAElD,SAAO;GACHC,MAAMH;GACNI,MAAM;IACFH;IACA,GAAGb;IACP;GACJ;;CAGJiB,YAAYC,IAA4C;AACpD,SAAO,KAAKC,UAAU,EAAED,IAAG,CAAA;;CAG/B,MAAME,cAAcC,OAA+C;AAC/D,SAAOC,QAAQC,QAAQ,KAAA;;CAG3BC,kBAAkBC,UAAkD;AAChE,SAAO,KAAKR,YAAYQ,SAAAA;;CAG5B,MAAMC,WAAWC,OAAuD;AACpE,SAAO,KAAKjC,WAAWkC,OAAOpC,yBAAyBmC,MAAAA,CAAAA;;CAG3D,MAAMR,UAAUQ,OAA4D;AACxE,SAAO,KAAKjC,WAAWyB,UAAU3B,yBAAyBmC,MAAAA,CAAAA;;CAG9DE,OAAOd,MAA+C;AAClD,SAAO,KAAKrB,WAAWmC,OAAOd,KAAAA;;CAGlCe,MAAMC,QAAwBhB,MAA+C;AACzE,SAAO,KAAKrB,WAAWoC,MAAMC,QAAQhB,KAAAA;;CAGzC,MAAMiB,KAAKD,QAAiD;AACxD,SAAO,KAAKrC,WAAWsC,KAAKD,OAAAA;;CAGhC,MAAME,OAAOF,QAAuC;AAChD,QAAM,KAAKrC,WAAWuC,OAAOF,OAAAA;;CAGjC,MAAMG,oBAAoBnB,MAA8C;AACpE,QAAMzB,0BAA0ByB,MAAM;GAClCoB,YAAY,KAAKzC,WAAW0C,QAAQC;GACpCC,cAAc/C;GAClB,CAAA"}
1
+ {"version":3,"file":"repository.mjs","names":["applyQuery","validateEntityJoinColumns","UserPermissionEntity","translateWhereConditions","UserPermissionRepositoryAdapter","repository","findMany","query","qb","createQueryBuilder","groupBy","pagination","defaultAlias","filters","allowed","relations","onJoin","_property","key","q","addGroupBy","sort","maxLimit","entities","total","getManyAndCount","data","meta","findOneById","id","findOneBy","findOneByName","_name","Promise","resolve","findOneByIdOrName","idOrName","findManyBy","where","findBy","create","merge","entity","save","remove","validateJoinColumns","dataSource","manager","connection","entityTarget"],"sources":["../../../../../../src/app/modules/database/repositories/user-permission/repository.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 { UserPermission } from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport { applyQuery, validateEntityJoinColumns } from 'typeorm-extension';\nimport type { EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport type { IUserPermissionRepository } from '../../../../../core/index.ts';\nimport { UserPermissionEntity } from '../../../../../adapters/database/domains/index.ts';\nimport { translateWhereConditions } from '../helpers.ts';\n\nexport class UserPermissionRepositoryAdapter implements IUserPermissionRepository {\n private readonly repository: Repository<UserPermission>;\n\n constructor(repository: Repository<UserPermission>) {\n this.repository = repository;\n }\n\n async findMany(query: Record<string, any>): Promise<EntityRepositoryFindManyResult<UserPermission>> {\n const qb = this.repository.createQueryBuilder('userPermission');\n qb.groupBy('userPermission.id');\n\n const { pagination } = applyQuery(qb, query, {\n defaultAlias: 'userPermission',\n filters: {\n allowed: [\n 'user_id',\n 'permission_id',\n ],\n },\n relations: {\n allowed: [\n 'user',\n 'permission',\n ],\n onJoin: (_property: string, key: string, q: any) => {\n q.addGroupBy(`${key}.id`);\n },\n },\n sort: {\n allowed: [\n 'id',\n 'created_at',\n 'updated_at',\n ],\n },\n pagination: { maxLimit: 50 },\n });\n\n const [entities, total] = await qb.getManyAndCount();\n\n return {\n data: entities,\n meta: {\n total,\n ...pagination,\n },\n };\n }\n\n findOneById(id: string): Promise<UserPermission | null> {\n return this.findOneBy({ id });\n }\n\n async findOneByName(_name: string): Promise<UserPermission | null> {\n return Promise.resolve(null);\n }\n\n findOneByIdOrName(idOrName: string): Promise<UserPermission | null> {\n return this.findOneById(idOrName);\n }\n\n async findManyBy(where: Record<string, any>): Promise<UserPermission[]> {\n return this.repository.findBy(translateWhereConditions(where));\n }\n\n async findOneBy(where: Record<string, any>): Promise<UserPermission | null> {\n return this.repository.findOneBy(translateWhereConditions(where));\n }\n\n create(data: Partial<UserPermission>): UserPermission {\n return this.repository.create(data);\n }\n\n merge(entity: UserPermission, data: Partial<UserPermission>): UserPermission {\n return this.repository.merge(entity, data);\n }\n\n async save(entity: UserPermission): Promise<UserPermission> {\n return this.repository.save(entity);\n }\n\n async remove(entity: UserPermission): Promise<void> {\n await this.repository.remove(entity);\n }\n\n async validateJoinColumns(data: Partial<UserPermission>): Promise<void> {\n await validateEntityJoinColumns(data, {\n dataSource: this.repository.manager.connection,\n entityTarget: UserPermissionEntity,\n });\n }\n}\n"],"mappings":";;;;;AAeA,IAAaI,kCAAb,MAAaA;CACQC;CAEjB,YAAYA,YAAwC;EAChD,KAAKA,aAAaA;CACtB;CAEA,MAAMC,SAASC,OAAqF;EAChG,MAAMC,KAAK,KAAKH,WAAWI,mBAAmB,gBAAA;EAC9CD,GAAGE,QAAQ,mBAAA;EAEX,MAAM,EAAEC,eAAeX,WAAWQ,IAAID,OAAO;GACzCK,cAAc;GACdC,SAAS,EACLC,SAAS,CACL,WACA,eAAA,EAER;GACAC,WAAW;IACPD,SAAS,CACL,QACA,YAAA;IAEJE,SAASC,WAAmBC,KAAaC,MAAAA;KACrCA,EAAEC,WAAW,GAAGF,IAAI,IAAI;IAC5B;GACJ;GACAG,MAAM,EACFP,SAAS;IACL;IACA;IACA;KAER;GACAH,YAAY,EAAEW,UAAU,GAAG;EAC/B,CAAA;EAEA,MAAM,CAACC,UAAUC,SAAS,MAAMhB,GAAGiB,gBAAe;EAElD,OAAO;GACHC,MAAMH;GACNI,MAAM;IACFH;IACA,GAAGb;GACP;EACJ;CACJ;CAEAiB,YAAYC,IAA4C;EACpD,OAAO,KAAKC,UAAU,EAAED,GAAG,CAAA;CAC/B;CAEA,MAAME,cAAcC,OAA+C;EAC/D,OAAOC,QAAQC,QAAQ,IAAA;CAC3B;CAEAC,kBAAkBC,UAAkD;EAChE,OAAO,KAAKR,YAAYQ,QAAAA;CAC5B;CAEA,MAAMC,WAAWC,OAAuD;EACpE,OAAO,KAAKjC,WAAWkC,OAAOpC,yBAAyBmC,KAAAA,CAAAA;CAC3D;CAEA,MAAMR,UAAUQ,OAA4D;EACxE,OAAO,KAAKjC,WAAWyB,UAAU3B,yBAAyBmC,KAAAA,CAAAA;CAC9D;CAEAE,OAAOd,MAA+C;EAClD,OAAO,KAAKrB,WAAWmC,OAAOd,IAAAA;CAClC;CAEAe,MAAMC,QAAwBhB,MAA+C;EACzE,OAAO,KAAKrB,WAAWoC,MAAMC,QAAQhB,IAAAA;CACzC;CAEA,MAAMiB,KAAKD,QAAiD;EACxD,OAAO,KAAKrC,WAAWsC,KAAKD,MAAAA;CAChC;CAEA,MAAME,OAAOF,QAAuC;EAChD,MAAM,KAAKrC,WAAWuC,OAAOF,MAAAA;CACjC;CAEA,MAAMG,oBAAoBnB,MAA8C;EACpE,MAAMzB,0BAA0ByB,MAAM;GAClCoB,YAAY,KAAKzC,WAAW0C,QAAQC;GACpCC,cAAc/C;EAClB,CAAA;CACJ;AACJ"}
@@ -1,6 +1,7 @@
1
1
  import type { UserRole } from '@authup/core-kit';
2
2
  import type { Repository } from 'typeorm';
3
- import type { EntityRepositoryFindManyResult, IUserRoleRepository } from '../../../../../core/index.ts';
3
+ import type { EntityRepositoryFindManyResult } from '@authup/server-kit';
4
+ import type { IUserRoleRepository } from '../../../../../core/index.ts';
4
5
  export declare class UserRoleRepositoryAdapter implements IUserRoleRepository {
5
6
  private readonly repository;
6
7
  constructor(repository: Repository<UserRole>);
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../../../src/app/modules/database/repositories/user-role/repository.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIxG,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAEtC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC;IAItC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAkC7F,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI3C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI5D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIvD,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI3D,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIrE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ;IAIzC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ;IAIpD,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIzC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAMpE"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../../../../src/app/modules/database/repositories/user-role/repository.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIxE,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAEtC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC;IAItC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IAkC7F,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI3C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI5D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIvD,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI3D,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIrE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ;IAIzC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ;IAIpD,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIzC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAMpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"repository.mjs","names":["applyQuery","validateEntityJoinColumns","UserRoleEntity","translateWhereConditions","UserRoleRepositoryAdapter","repository","findMany","query","qb","createQueryBuilder","groupBy","pagination","defaultAlias","filters","allowed","relations","onJoin","_property","key","q","addGroupBy","sort","maxLimit","entities","total","getManyAndCount","data","meta","findOneById","id","findOneBy","findOneByName","_name","Promise","resolve","findOneByIdOrName","idOrName","findManyBy","where","findBy","create","merge","entity","save","remove","validateJoinColumns","dataSource","manager","connection","entityTarget"],"sources":["../../../../../../src/app/modules/database/repositories/user-role/repository.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 { UserRole } from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport { applyQuery, validateEntityJoinColumns } from 'typeorm-extension';\nimport type { EntityRepositoryFindManyResult, IUserRoleRepository } from '../../../../../core/index.ts';\nimport { UserRoleEntity } from '../../../../../adapters/database/domains/index.ts';\nimport { translateWhereConditions } from '../helpers.ts';\n\nexport class UserRoleRepositoryAdapter implements IUserRoleRepository {\n private readonly repository: Repository<UserRole>;\n\n constructor(repository: Repository<UserRole>) {\n this.repository = repository;\n }\n\n async findMany(query: Record<string, any>): Promise<EntityRepositoryFindManyResult<UserRole>> {\n const qb = this.repository.createQueryBuilder('userRole');\n qb.groupBy('userRole.id');\n\n const { pagination } = applyQuery(qb, query, {\n defaultAlias: 'userRole',\n filters: { allowed: ['role_id', 'user_id'] },\n relations: {\n allowed: ['user', 'role'],\n onJoin: (_property: string, key: string, q: any) => {\n q.addGroupBy(`${key}.id`);\n },\n },\n sort: {\n allowed: [\n 'id',\n 'created_at',\n 'updated_at',\n ],\n },\n pagination: { maxLimit: 50 },\n });\n\n const [entities, total] = await qb.getManyAndCount();\n\n return {\n data: entities,\n meta: {\n total,\n ...pagination,\n },\n };\n }\n\n findOneById(id: string): Promise<UserRole | null> {\n return this.findOneBy({ id });\n }\n\n async findOneByName(_name: string): Promise<UserRole | null> {\n return Promise.resolve(null);\n }\n\n findOneByIdOrName(idOrName: string): Promise<UserRole | null> {\n return this.findOneById(idOrName);\n }\n\n async findManyBy(where: Record<string, any>): Promise<UserRole[]> {\n return this.repository.findBy(translateWhereConditions(where));\n }\n\n async findOneBy(where: Record<string, any>): Promise<UserRole | null> {\n return this.repository.findOneBy(translateWhereConditions(where));\n }\n\n create(data: Partial<UserRole>): UserRole {\n return this.repository.create(data);\n }\n\n merge(entity: UserRole, data: Partial<UserRole>): UserRole {\n return this.repository.merge(entity, data);\n }\n\n async save(entity: UserRole): Promise<UserRole> {\n return this.repository.save(entity);\n }\n\n async remove(entity: UserRole): Promise<void> {\n await this.repository.remove(entity);\n }\n\n async validateJoinColumns(data: Partial<UserRole>): Promise<void> {\n await validateEntityJoinColumns(data, {\n dataSource: this.repository.manager.connection,\n entityTarget: UserRoleEntity,\n });\n }\n}\n"],"mappings":";;;;;AAcA,IAAaI,4BAAb,MAAaA;CACQC;CAEjB,YAAYA,YAAkC;AAC1C,OAAKA,aAAaA;;CAGtB,MAAMC,SAASC,OAA+E;EAC1F,MAAMC,KAAK,KAAKH,WAAWI,mBAAmB,WAAA;AAC9CD,KAAGE,QAAQ,cAAA;EAEX,MAAM,EAAEC,eAAeX,WAAWQ,IAAID,OAAO;GACzCK,cAAc;GACdC,SAAS,EAAEC,SAAS,CAAC,WAAW,UAAU,EAAC;GAC3CC,WAAW;IACPD,SAAS,CAAC,QAAQ,OAAO;IACzBE,SAASC,WAAmBC,KAAaC,MAAAA;AACrCA,OAAEC,WAAW,GAAGF,IAAI,KAAI;;IAEhC;GACAG,MAAM,EACFP,SAAS;IACL;IACA;IACA;IACH,EACL;GACAH,YAAY,EAAEW,UAAU,IAAG;GAC/B,CAAA;EAEA,MAAM,CAACC,UAAUC,SAAS,MAAMhB,GAAGiB,iBAAe;AAElD,SAAO;GACHC,MAAMH;GACNI,MAAM;IACFH;IACA,GAAGb;IACP;GACJ;;CAGJiB,YAAYC,IAAsC;AAC9C,SAAO,KAAKC,UAAU,EAAED,IAAG,CAAA;;CAG/B,MAAME,cAAcC,OAAyC;AACzD,SAAOC,QAAQC,QAAQ,KAAA;;CAG3BC,kBAAkBC,UAA4C;AAC1D,SAAO,KAAKR,YAAYQ,SAAAA;;CAG5B,MAAMC,WAAWC,OAAiD;AAC9D,SAAO,KAAKjC,WAAWkC,OAAOpC,yBAAyBmC,MAAAA,CAAAA;;CAG3D,MAAMR,UAAUQ,OAAsD;AAClE,SAAO,KAAKjC,WAAWyB,UAAU3B,yBAAyBmC,MAAAA,CAAAA;;CAG9DE,OAAOd,MAAmC;AACtC,SAAO,KAAKrB,WAAWmC,OAAOd,KAAAA;;CAGlCe,MAAMC,QAAkBhB,MAAmC;AACvD,SAAO,KAAKrB,WAAWoC,MAAMC,QAAQhB,KAAAA;;CAGzC,MAAMiB,KAAKD,QAAqC;AAC5C,SAAO,KAAKrC,WAAWsC,KAAKD,OAAAA;;CAGhC,MAAME,OAAOF,QAAiC;AAC1C,QAAM,KAAKrC,WAAWuC,OAAOF,OAAAA;;CAGjC,MAAMG,oBAAoBnB,MAAwC;AAC9D,QAAMzB,0BAA0ByB,MAAM;GAClCoB,YAAY,KAAKzC,WAAW0C,QAAQC;GACpCC,cAAc/C;GAClB,CAAA"}
1
+ {"version":3,"file":"repository.mjs","names":["applyQuery","validateEntityJoinColumns","UserRoleEntity","translateWhereConditions","UserRoleRepositoryAdapter","repository","findMany","query","qb","createQueryBuilder","groupBy","pagination","defaultAlias","filters","allowed","relations","onJoin","_property","key","q","addGroupBy","sort","maxLimit","entities","total","getManyAndCount","data","meta","findOneById","id","findOneBy","findOneByName","_name","Promise","resolve","findOneByIdOrName","idOrName","findManyBy","where","findBy","create","merge","entity","save","remove","validateJoinColumns","dataSource","manager","connection","entityTarget"],"sources":["../../../../../../src/app/modules/database/repositories/user-role/repository.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 { UserRole } from '@authup/core-kit';\nimport type { Repository } from 'typeorm';\nimport { applyQuery, validateEntityJoinColumns } from 'typeorm-extension';\nimport type { EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport type { IUserRoleRepository } from '../../../../../core/index.ts';\nimport { UserRoleEntity } from '../../../../../adapters/database/domains/index.ts';\nimport { translateWhereConditions } from '../helpers.ts';\n\nexport class UserRoleRepositoryAdapter implements IUserRoleRepository {\n private readonly repository: Repository<UserRole>;\n\n constructor(repository: Repository<UserRole>) {\n this.repository = repository;\n }\n\n async findMany(query: Record<string, any>): Promise<EntityRepositoryFindManyResult<UserRole>> {\n const qb = this.repository.createQueryBuilder('userRole');\n qb.groupBy('userRole.id');\n\n const { pagination } = applyQuery(qb, query, {\n defaultAlias: 'userRole',\n filters: { allowed: ['role_id', 'user_id'] },\n relations: {\n allowed: ['user', 'role'],\n onJoin: (_property: string, key: string, q: any) => {\n q.addGroupBy(`${key}.id`);\n },\n },\n sort: {\n allowed: [\n 'id',\n 'created_at',\n 'updated_at',\n ],\n },\n pagination: { maxLimit: 50 },\n });\n\n const [entities, total] = await qb.getManyAndCount();\n\n return {\n data: entities,\n meta: {\n total,\n ...pagination,\n },\n };\n }\n\n findOneById(id: string): Promise<UserRole | null> {\n return this.findOneBy({ id });\n }\n\n async findOneByName(_name: string): Promise<UserRole | null> {\n return Promise.resolve(null);\n }\n\n findOneByIdOrName(idOrName: string): Promise<UserRole | null> {\n return this.findOneById(idOrName);\n }\n\n async findManyBy(where: Record<string, any>): Promise<UserRole[]> {\n return this.repository.findBy(translateWhereConditions(where));\n }\n\n async findOneBy(where: Record<string, any>): Promise<UserRole | null> {\n return this.repository.findOneBy(translateWhereConditions(where));\n }\n\n create(data: Partial<UserRole>): UserRole {\n return this.repository.create(data);\n }\n\n merge(entity: UserRole, data: Partial<UserRole>): UserRole {\n return this.repository.merge(entity, data);\n }\n\n async save(entity: UserRole): Promise<UserRole> {\n return this.repository.save(entity);\n }\n\n async remove(entity: UserRole): Promise<void> {\n await this.repository.remove(entity);\n }\n\n async validateJoinColumns(data: Partial<UserRole>): Promise<void> {\n await validateEntityJoinColumns(data, {\n dataSource: this.repository.manager.connection,\n entityTarget: UserRoleEntity,\n });\n }\n}\n"],"mappings":";;;;;AAeA,IAAaI,4BAAb,MAAaA;CACQC;CAEjB,YAAYA,YAAkC;EAC1C,KAAKA,aAAaA;CACtB;CAEA,MAAMC,SAASC,OAA+E;EAC1F,MAAMC,KAAK,KAAKH,WAAWI,mBAAmB,UAAA;EAC9CD,GAAGE,QAAQ,aAAA;EAEX,MAAM,EAAEC,eAAeX,WAAWQ,IAAID,OAAO;GACzCK,cAAc;GACdC,SAAS,EAAEC,SAAS,CAAC,WAAW,SAAA,EAAW;GAC3CC,WAAW;IACPD,SAAS,CAAC,QAAQ,MAAA;IAClBE,SAASC,WAAmBC,KAAaC,MAAAA;KACrCA,EAAEC,WAAW,GAAGF,IAAI,IAAI;IAC5B;GACJ;GACAG,MAAM,EACFP,SAAS;IACL;IACA;IACA;KAER;GACAH,YAAY,EAAEW,UAAU,GAAG;EAC/B,CAAA;EAEA,MAAM,CAACC,UAAUC,SAAS,MAAMhB,GAAGiB,gBAAe;EAElD,OAAO;GACHC,MAAMH;GACNI,MAAM;IACFH;IACA,GAAGb;GACP;EACJ;CACJ;CAEAiB,YAAYC,IAAsC;EAC9C,OAAO,KAAKC,UAAU,EAAED,GAAG,CAAA;CAC/B;CAEA,MAAME,cAAcC,OAAyC;EACzD,OAAOC,QAAQC,QAAQ,IAAA;CAC3B;CAEAC,kBAAkBC,UAA4C;EAC1D,OAAO,KAAKR,YAAYQ,QAAAA;CAC5B;CAEA,MAAMC,WAAWC,OAAiD;EAC9D,OAAO,KAAKjC,WAAWkC,OAAOpC,yBAAyBmC,KAAAA,CAAAA;CAC3D;CAEA,MAAMR,UAAUQ,OAAsD;EAClE,OAAO,KAAKjC,WAAWyB,UAAU3B,yBAAyBmC,KAAAA,CAAAA;CAC9D;CAEAE,OAAOd,MAAmC;EACtC,OAAO,KAAKrB,WAAWmC,OAAOd,IAAAA;CAClC;CAEAe,MAAMC,QAAkBhB,MAAmC;EACvD,OAAO,KAAKrB,WAAWoC,MAAMC,QAAQhB,IAAAA;CACzC;CAEA,MAAMiB,KAAKD,QAAqC;EAC5C,OAAO,KAAKrC,WAAWsC,KAAKD,MAAAA;CAChC;CAEA,MAAME,OAAOF,QAAiC;EAC1C,MAAM,KAAKrC,WAAWuC,OAAOF,MAAAA;CACjC;CAEA,MAAMG,oBAAoBnB,MAAwC;EAC9D,MAAMzB,0BAA0ByB,MAAM;GAClCoB,YAAY,KAAKzC,WAAW0C,QAAQC;GACpCC,cAAc/C;EAClB,CAAA;CACJ;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","names":["TypedToken","HTTPInjectionKey","Server"],"sources":["../../../../src/app/modules/http/constants.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 { TypedToken } from 'eldin';\nimport type { serve } from 'routup/node';\n\nexport type HTTPServer = ReturnType<typeof serve>;\n\nexport const HTTPInjectionKey = { Server: new TypedToken<HTTPServer>('Server') } as const;\n"],"mappings":";;AAYA,MAAaC,mBAAmB,EAAEC,QAAQ,IAAIF,WAAuB,SAAA,EAAU"}
1
+ {"version":3,"file":"constants.mjs","names":["TypedToken","HTTPInjectionKey","Server"],"sources":["../../../../src/app/modules/http/constants.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 { TypedToken } from 'eldin';\nimport type { serve } from 'routup/node';\n\nexport type HTTPServer = ReturnType<typeof serve>;\n\nexport const HTTPInjectionKey = { Server: new TypedToken<HTTPServer>('Server') } as const;\n"],"mappings":";;AAYA,MAAaC,mBAAmB,EAAEC,QAAQ,IAAIF,WAAuB,QAAA,EAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["Router","serve","ConfigInjectionKey","ModuleName","HTTPInjectionKey","HTTPControllerModule","HTTPMiddlewareModule","LoggerInjectionKey","HTTPModule","name","dependencies","instance","middleware","controller","HTTP","CONFIG","LOGGER","AUTHENTICATION","IDENTITY","OAUTH2","setup","container","config","resolve","logger","debug","router","mountBefore","mount","mountAfter","server","port","hostname","host","silent","gracefulShutdown","ready","url","register","Server","useValue","teardown","unregister","close","undefined"],"sources":["../../../../src/app/modules/http/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 { Router } from 'routup';\nimport { serve } from 'routup/node';\nimport { ConfigInjectionKey } from '../config/index.ts';\nimport type { IModule } from 'orkos';\nimport { ModuleName } from '../constants.ts';\nimport type { HTTPServer } from './constants.ts';\nimport { HTTPInjectionKey } from './constants.ts';\nimport type { IContainer } from 'eldin';\nimport { HTTPControllerModule, HTTPMiddlewareModule } from './modules/index.ts';\nimport { LoggerInjectionKey } from '../logger/index.ts';\n\nexport class HTTPModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n protected instance : HTTPServer | undefined;\n\n protected middleware : HTTPMiddlewareModule;\n\n protected controller : HTTPControllerModule;\n\n constructor() {\n this.name = ModuleName.HTTP;\n this.dependencies = [ModuleName.CONFIG, ModuleName.LOGGER, ModuleName.AUTHENTICATION, ModuleName.IDENTITY, ModuleName.OAUTH2];\n this.controller = new HTTPControllerModule();\n this.middleware = new HTTPMiddlewareModule();\n }\n\n // ----------------------------------------------------\n\n async setup(container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n\n logger.debug('Starting http server...');\n\n const router = new Router();\n\n await this.middleware.mountBefore(router, container);\n await this.controller.mount(router, container);\n await this.middleware.mountAfter(router, container);\n\n const server = serve(router, {\n port: config.port,\n hostname: config.host,\n silent: true,\n // Shutdown is driven by the orkos teardown chain (see cli/commands/start.ts);\n // srvx's plugin would only close the HTTP server, leaving DB / cache / etc. open.\n gracefulShutdown: false,\n });\n\n await server.ready();\n\n this.instance = server;\n\n if (server.url) {\n logger.debug(`Listening on ${server.url}`);\n }\n\n container.register(HTTPInjectionKey.Server, { useValue: server });\n\n logger.debug('Started http server.');\n }\n\n // ----------------------------------------------------\n\n async teardown(container: IContainer): Promise<void> {\n if (!this.instance) return;\n\n container.unregister(HTTPInjectionKey.Server);\n\n await this.instance.close();\n this.instance = undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;AAkBA,IAAaQ,aAAb,MAAaA;CACAC;CAEAC;CAECC;CAEAC;CAEAC;CAEV,cAAc;AACV,OAAKJ,OAAON,WAAWW;AACvB,OAAKJ,eAAe;GAACP,WAAWY;GAAQZ,WAAWa;GAAQb,WAAWc;GAAgBd,WAAWe;GAAUf,WAAWgB;GAAO;AAC7H,OAAKN,aAAa,IAAIR,sBAAAA;AACtB,OAAKO,aAAa,IAAIN,sBAAAA;;CAK1B,MAAMc,MAAMC,WAAsC;EAC9C,MAAMC,SAASD,UAAUE,QAAQrB,mBAAAA;EACjC,MAAMsB,SAASH,UAAUE,QAAQhB,mBAAAA;AAEjCiB,SAAOC,MAAM,0BAAA;EAEb,MAAMC,SAAS,IAAI1B,QAAAA;AAEnB,QAAM,KAAKY,WAAWe,YAAYD,QAAQL,UAAAA;AAC1C,QAAM,KAAKR,WAAWe,MAAMF,QAAQL,UAAAA;AACpC,QAAM,KAAKT,WAAWiB,WAAWH,QAAQL,UAAAA;EAEzC,MAAMS,SAAS7B,MAAMyB,QAAQ;GACzBK,MAAMT,OAAOS;GACbC,UAAUV,OAAOW;GACjBC,QAAQ;GAGRC,kBAAkB;GACtB,CAAA;AAEA,QAAML,OAAOM,OAAK;AAElB,OAAKzB,WAAWmB;AAEhB,MAAIA,OAAOO,IACPb,QAAOC,MAAM,gBAAgBK,OAAOO,MAAK;AAG7ChB,YAAUiB,SAASlC,iBAAiBmC,QAAQ,EAAEC,UAAUV,QAAO,CAAA;AAE/DN,SAAOC,MAAM,uBAAA;;CAKjB,MAAMgB,SAASpB,WAAsC;AACjD,MAAI,CAAC,KAAKV,SAAU;AAEpBU,YAAUqB,WAAWtC,iBAAiBmC,OAAM;AAE5C,QAAM,KAAK5B,SAASgC,OAAK;AACzB,OAAKhC,WAAWiC,KAAAA"}
1
+ {"version":3,"file":"module.mjs","names":["Router","serve","ConfigInjectionKey","ModuleName","HTTPInjectionKey","HTTPControllerModule","HTTPMiddlewareModule","LoggerInjectionKey","HTTPModule","name","dependencies","instance","middleware","controller","HTTP","CONFIG","LOGGER","AUTHENTICATION","IDENTITY","OAUTH2","setup","container","config","resolve","logger","debug","router","mountBefore","mount","mountAfter","server","port","hostname","host","silent","gracefulShutdown","ready","url","register","Server","useValue","teardown","unregister","close","undefined"],"sources":["../../../../src/app/modules/http/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 { Router } from 'routup';\nimport { serve } from 'routup/node';\nimport { ConfigInjectionKey } from '../config/index.ts';\nimport type { IModule } from 'orkos';\nimport { ModuleName } from '../constants.ts';\nimport type { HTTPServer } from './constants.ts';\nimport { HTTPInjectionKey } from './constants.ts';\nimport type { IContainer } from 'eldin';\nimport { HTTPControllerModule, HTTPMiddlewareModule } from './modules/index.ts';\nimport { LoggerInjectionKey } from '../logger/index.ts';\n\nexport class HTTPModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n protected instance : HTTPServer | undefined;\n\n protected middleware : HTTPMiddlewareModule;\n\n protected controller : HTTPControllerModule;\n\n constructor() {\n this.name = ModuleName.HTTP;\n this.dependencies = [ModuleName.CONFIG, ModuleName.LOGGER, ModuleName.AUTHENTICATION, ModuleName.IDENTITY, ModuleName.OAUTH2];\n this.controller = new HTTPControllerModule();\n this.middleware = new HTTPMiddlewareModule();\n }\n\n // ----------------------------------------------------\n\n async setup(container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n\n logger.debug('Starting http server...');\n\n const router = new Router();\n\n await this.middleware.mountBefore(router, container);\n await this.controller.mount(router, container);\n await this.middleware.mountAfter(router, container);\n\n const server = serve(router, {\n port: config.port,\n hostname: config.host,\n silent: true,\n // Shutdown is driven by the orkos teardown chain (see cli/commands/start.ts);\n // srvx's plugin would only close the HTTP server, leaving DB / cache / etc. open.\n gracefulShutdown: false,\n });\n\n await server.ready();\n\n this.instance = server;\n\n if (server.url) {\n logger.debug(`Listening on ${server.url}`);\n }\n\n container.register(HTTPInjectionKey.Server, { useValue: server });\n\n logger.debug('Started http server.');\n }\n\n // ----------------------------------------------------\n\n async teardown(container: IContainer): Promise<void> {\n if (!this.instance) return;\n\n container.unregister(HTTPInjectionKey.Server);\n\n await this.instance.close();\n this.instance = undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;AAkBA,IAAaQ,aAAb,MAAaA;CACAC;CAEAC;CAECC;CAEAC;CAEAC;CAEV,cAAc;EACV,KAAKJ,OAAON,WAAWW;EACvB,KAAKJ,eAAe;GAACP,WAAWY;GAAQZ,WAAWa;GAAQb,WAAWc;GAAgBd,WAAWe;GAAUf,WAAWgB;;EACtH,KAAKN,aAAa,IAAIR,qBAAAA;EACtB,KAAKO,aAAa,IAAIN,qBAAAA;CAC1B;CAIA,MAAMc,MAAMC,WAAsC;EAC9C,MAAMC,SAASD,UAAUE,QAAQrB,kBAAAA;EACjC,MAAMsB,SAASH,UAAUE,QAAQhB,kBAAAA;EAEjCiB,OAAOC,MAAM,yBAAA;EAEb,MAAMC,SAAS,IAAI1B,OAAAA;EAEnB,MAAM,KAAKY,WAAWe,YAAYD,QAAQL,SAAAA;EAC1C,MAAM,KAAKR,WAAWe,MAAMF,QAAQL,SAAAA;EACpC,MAAM,KAAKT,WAAWiB,WAAWH,QAAQL,SAAAA;EAEzC,MAAMS,SAAS7B,MAAMyB,QAAQ;GACzBK,MAAMT,OAAOS;GACbC,UAAUV,OAAOW;GACjBC,QAAQ;GAGRC,kBAAkB;EACtB,CAAA;EAEA,MAAML,OAAOM,MAAK;EAElB,KAAKzB,WAAWmB;EAEhB,IAAIA,OAAOO,KACPb,OAAOC,MAAM,gBAAgBK,OAAOO,KAAK;EAG7ChB,UAAUiB,SAASlC,iBAAiBmC,QAAQ,EAAEC,UAAUV,OAAO,CAAA;EAE/DN,OAAOC,MAAM,sBAAA;CACjB;CAIA,MAAMgB,SAASpB,WAAsC;EACjD,IAAI,CAAC,KAAKV,UAAU;EAEpBU,UAAUqB,WAAWtC,iBAAiBmC,MAAM;EAE5C,MAAM,KAAK5B,SAASgC,MAAK;EACzB,KAAKhC,WAAWiC,KAAAA;CACpB;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/controller.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAwErC,OAAO,EACH,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,qCAAqC,EACrC,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAElB,eAAe,EAClB,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EASH,uBAAuB,EAKvB,mBAAmB,EActB,MAAM,2BAA2B,CAAC;AAOnC,qBAAa,oBAAoB;IACvB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DjE,eAAe,CAAC,SAAS,EAAE,UAAU;IAuBrC,WAAW,CAAC,SAAS,EAAE,UAAU;IAgDjC,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAM5C,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAI9C,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAIpD,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAInD,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAqBnD,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAI9C,yBAAyB,CAAC,SAAS,EAAE,UAAU;IAqB/C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAiC5C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAiB5C,qBAAqB,CAAC,SAAS,EAAE,UAAU;IAoBrC,0BAA0B,CAAC,SAAS,EAAE,UAAU;IA8CtD,oBAAoB,CAAC,SAAS,EAAE,UAAU;IAe1C,gCAAgC,CAAC,SAAS,EAAE,UAAU;IAYtD,0BAA0B,CAAC,SAAS,EAAE,UAAU;IAShD,2BAA2B,CAAC,SAAS,EAAE,UAAU;IAQjD,+BAA+B,CAAC,SAAS,EAAE,UAAU;IAYrD,yBAAyB,CAAC,SAAS,EAAE,UAAU;IAS/C,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAYnD,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAYpD,gCAAgC,CAAC,SAAS,EAAE,UAAU;IAQtD,qBAAqB,CAAC,SAAS,EAAE,UAAU;IAe3C,oBAAoB,CAAC,SAAS,EAAE,UAAU;IAe1C,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAYnD,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAYpD,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAS9C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAqB5C,oCAAoC,CAAC,SAAS,EAAE,UAAU;IAS1D,mBAAmB,CAAC,SAAS,EAAE,UAAU;IAMzC,qBAAqB,CAAC,SAAS,EAAE,UAAU;CAe9C"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/controller.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAwErC,OAAO,EACH,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,qCAAqC,EACrC,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAElB,eAAe,EAClB,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EASH,uBAAuB,EAOvB,mBAAmB,EActB,MAAM,2BAA2B,CAAC;AAOnC,qBAAa,oBAAoB;IACvB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DjE,eAAe,CAAC,SAAS,EAAE,UAAU;IAuBrC,WAAW,CAAC,SAAS,EAAE,UAAU;IAgDjC,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAM5C,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAI9C,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAIpD,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAInD,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAqBnD,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAI9C,yBAAyB,CAAC,SAAS,EAAE,UAAU;IAqB/C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAiC5C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAiB5C,qBAAqB,CAAC,SAAS,EAAE,UAAU;IAoBrC,0BAA0B,CAAC,SAAS,EAAE,UAAU;IAkDtD,oBAAoB,CAAC,SAAS,EAAE,UAAU;IAe1C,gCAAgC,CAAC,SAAS,EAAE,UAAU;IAYtD,0BAA0B,CAAC,SAAS,EAAE,UAAU;IAShD,2BAA2B,CAAC,SAAS,EAAE,UAAU;IAQjD,+BAA+B,CAAC,SAAS,EAAE,UAAU;IAYrD,yBAAyB,CAAC,SAAS,EAAE,UAAU;IAS/C,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAYnD,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAYpD,gCAAgC,CAAC,SAAS,EAAE,UAAU;IAQtD,qBAAqB,CAAC,SAAS,EAAE,UAAU;IAe3C,oBAAoB,CAAC,SAAS,EAAE,UAAU;IAe1C,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAYnD,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAYpD,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAS9C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAyB5C,oCAAoC,CAAC,SAAS,EAAE,UAAU;IAS1D,mBAAmB,CAAC,SAAS,EAAE,UAAU;IAMzC,qBAAqB,CAAC,SAAS,EAAE,UAAU;CAe9C"}
@@ -49,6 +49,8 @@ import { UserRoleService } from "../../../../core/entities/user-role/service.mjs
49
49
  import { IdentityProviderRoleMappingService } from "../../../../core/entities/identity-provider-role-mapping/service.mjs";
50
50
  import { OAuth2ClientAuthenticator } from "../../../../core/oauth2/client/authenticator.mjs";
51
51
  import { PasswordRecoveryService } from "../../../../core/identity/password-recovery/service.mjs";
52
+ import { PermissionCheckerService } from "../../../../core/identity/permission/checker/service.mjs";
53
+ import { PolicyCheckerService } from "../../../../core/identity/policy/checker/service.mjs";
52
54
  import { RegistrationService } from "../../../../core/identity/registration/service.mjs";
53
55
  import "../../../../core/index.mjs";
54
56
  import { ConfigInjectionKey } from "../../config/constants.mjs";
@@ -326,25 +328,29 @@ var HTTPControllerModule = class {
326
328
  realmRepository
327
329
  });
328
330
  const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);
331
+ const service = new PermissionService({
332
+ repository,
333
+ realmRepository: realmRepositoryAdapter,
334
+ roleRepository: new RoleRepositoryAdapter({
335
+ repository: container.resolve(RoleEntity),
336
+ realmRepository
337
+ }),
338
+ rolePermissionRepository: new RolePermissionRepositoryAdapter(container.resolve(RolePermissionEntity)),
339
+ policyRepository: new PolicyRepositoryAdapter({
340
+ repository: new PolicyRepository(dataSource),
341
+ realmRepository
342
+ }),
343
+ permissionPolicyRepository: new PermissionPolicyRepositoryAdapter(container.resolve(PermissionPolicyEntity))
344
+ });
345
+ const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);
329
346
  return new PermissionController({
330
- service: new PermissionService({
347
+ service,
348
+ checkerService: new PermissionCheckerService({
331
349
  repository,
332
350
  realmRepository: realmRepositoryAdapter,
333
- roleRepository: new RoleRepositoryAdapter({
334
- repository: container.resolve(RoleEntity),
335
- realmRepository
336
- }),
337
- rolePermissionRepository: new RolePermissionRepositoryAdapter(container.resolve(RolePermissionEntity)),
338
- policyRepository: new PolicyRepositoryAdapter({
339
- repository: new PolicyRepository(dataSource),
340
- realmRepository
341
- }),
342
- permissionPolicyRepository: new PermissionPolicyRepositoryAdapter(container.resolve(PermissionPolicyEntity))
343
- }),
344
- repository,
345
- realmRepository: realmRepositoryAdapter,
346
- identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider),
347
- permissionProvider: new PermissionDatabaseProvider(dataSource)
351
+ permissionProvider: new PermissionDatabaseProvider(dataSource),
352
+ identityPermissionProvider
353
+ })
348
354
  });
349
355
  }
350
356
  createRoleController(container) {
@@ -453,9 +459,11 @@ var HTTPControllerModule = class {
453
459
  repository,
454
460
  realmRepository: realmRepositoryAdapter
455
461
  }),
456
- repository,
457
- realmRepository: realmRepositoryAdapter,
458
- identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider)
462
+ checkerService: new PolicyCheckerService({
463
+ repository,
464
+ realmRepository: realmRepositoryAdapter,
465
+ identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider)
466
+ })
459
467
  });
460
468
  }
461
469
  createIdentityProviderRoleController(container) {
@@ -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","UserEntity","UserPermissionEntity","UserRepository","UserRoleEntity","ClientPermissionRepositoryAdapter","ClientRepositoryAdapter","ClientRoleRepositoryAdapter","ClientScopeRepositoryAdapter","DatabaseInjectionKey","IdentityProviderRepositoryAdapter","IdentityProviderRoleMappingRepositoryAdapter","PermissionDatabaseProvider","PermissionPolicyRepositoryAdapter","PermissionRepositoryAdapter","PolicyRepositoryAdapter","RealmRepositoryAdapter","RobotPermissionRepositoryAdapter","RobotRepositoryAdapter","RobotRoleRepositoryAdapter","RoleAttributeRepositoryAdapter","RolePermissionRepositoryAdapter","RoleRepositoryAdapter","ScopeRepositoryAdapter","UserAttributeRepositoryAdapter","UserPermissionRepositoryAdapter","UserRepositoryAdapter","UserRoleRepositoryAdapter","ClientController","ClientPermissionController","ClientRoleController","ClientScopeController","IdentityProviderController","IdentityProviderRoleMappingController","PermissionController","PermissionPolicyController","PolicyController","RealmController","RobotController","RobotPermissionController","RobotRoleController","RoleAttributeController","RoleController","RolePermissionController","ScopeController","UserAttributeController","UserController","UserPermissionController","UserRoleController","ActivateController","AuthorizeController","JwkController","OpenIDController","PasswordForgotController","PasswordResetController","RegisterController","StatusController","TokenController","ClientAuthenticator","ClientPermissionService","ClientRoleService","ClientScopeService","ClientService","CredentialsAuthenticator","IdentityProviderRoleMappingService","OAuth2ClientAuthenticator","PasswordRecoveryService","PermissionPolicyService","PermissionService","PolicyService","RealmService","RegistrationService","RobotAuthenticator","RobotPermissionService","RobotRoleService","RobotService","RoleAttributeService","RolePermissionService","RoleService","ScopeService","UserAttributeService","UserAuthenticator","UserPermissionService","UserRoleService","UserService","AuthenticationInjectionKey","OAuth2InjectionToken","IdentityInjectionKey","ConfigInjectionKey","MailInjectionKey","HTTPControllerModule","mount","router","container","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","userController","createUserController","userAttributeController","createUserAttributeController","userPermissionController","createUserPermissionController","userRoleController","createUserRoleController","policyController","createPolicyController","identityProviderRoleController","createIdentityProviderRoleController","use","controllers","createAuthorize","createToken","createJwkController","createOpenIDController","createActivateController","createPasswordForgotController","createPasswordResetController","createRegisterController","createIdentityProvider","config","resolve","accessTokenIssuer","AccessTokenIssuer","openIdTokenIssuer","OpenIDTokenIssuer","codeIssuer","AuthorizationCodeIssuer","codeRequestVerifier","AuthorizationCodeRequestVerifier","identityResolver","Resolver","options","baseURL","publicUrl","sessionManager","SessionManager","codeVerifier","AuthorizationCodeVerifier","refreshTokenIssuer","RefreshTokenIssuer","tokenRevoker","TokenRevoker","tokenVerifier","TokenVerifier","identityProviderLdapCollectionAuthenticator","ProviderLdapCollectionAuthenticator","identityPermissionProvider","PermissionProvider","clientAuthenticator","robotAuthenticator","userAuthenticator","oauth2ClientAuthenticator","service","createRegistrationService","createPasswordRecoveryService","dataSource","DataSource","realmRepository","repository","mailClient","passwordRecoveryEnabled","emailVerificationEnabled","registrationEnabled","accountManager","ProviderAccountManager","stateManager","AuthorizationStateManager","realmRepositoryAdapter","roleRepository","rolePermissionRepository","policyRepository","permissionPolicyRepository","permissionProvider","reservedNames","Set","getMetadata","columns","map","c","propertyName","getRepository","keyRepository"],"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 { Router } 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 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 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 UserAttributeRepositoryAdapter,\n UserPermissionRepositoryAdapter,\n UserRepositoryAdapter,\n UserRoleRepositoryAdapter,\n} from '../../database/index.ts';\nimport {\n ClientController,\n ClientPermissionController,\n ClientRoleController,\n ClientScopeController, \n IdentityProviderController,\n IdentityProviderRoleMappingController,\n PermissionController,\n PermissionPolicyController,\n PolicyController,\n RealmController,\n RobotController,\n RobotPermissionController,\n RobotRoleController,\n RoleAttributeController,\n RoleController,\n RolePermissionController,\n ScopeController,\n UserAttributeController,\n UserController,\n UserPermissionController,\n UserRoleController,\n} from '../../../../adapters/http/index.ts';\nimport {\n ActivateController,\n AuthorizeController,\n JwkController,\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 ClientAuthenticator,\n ClientPermissionService,\n ClientRoleService,\n ClientScopeService,\n ClientService,\n CredentialsAuthenticator,\n IdentityProviderRoleMappingService,\n OAuth2ClientAuthenticator,\n PasswordRecoveryService,\n PermissionPolicyService,\n PermissionService,\n PolicyService,\n RealmService,\n RegistrationService,\n RobotAuthenticator,\n RobotPermissionService,\n RobotRoleService,\n RobotService,\n RoleAttributeService,\n RolePermissionService,\n RoleService,\n ScopeService,\n UserAttributeService,\n UserAuthenticator,\n UserPermissionService,\n UserRoleService,\n UserService,\n} from '../../../../core/index.ts';\nimport { AuthenticationInjectionKey } from '../../authentication/index.ts';\nimport { OAuth2InjectionToken } from '../../oauth2/index.ts';\nimport { IdentityInjectionKey } from '../../identity/index.ts';\nimport { ConfigInjectionKey } from '../../config/index.ts';\nimport { MailInjectionKey } from '../../mail/index.ts';\n\nexport class HTTPControllerModule {\n async mount(router: Router, container: IContainer): Promise<void> {\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 userController = this.createUserController(container);\n const userAttributeController = this.createUserAttributeController(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\n StatusController,\n\n clientController,\n clientPermissionController,\n clientRoleController,\n clientScopeController,\n identityProviderRoleController,\n this.createIdentityProvider(container),\n permissionController,\n permissionPolicyController,\n policyController,\n robotController,\n robotPermissionController,\n robotRoleController,\n realmController,\n roleController,\n roleAttributeController,\n rolePermissionController,\n scopeController,\n userController,\n userAttributeController,\n userPermissionController,\n userRoleController,\n ],\n }));\n }\n\n // ----------------------------------------------------\n\n createAuthorize(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const accessTokenIssuer = container.resolve(OAuth2InjectionToken.AccessTokenIssuer);\n const openIdTokenIssuer = container.resolve(OAuth2InjectionToken.OpenIDTokenIssuer);\n\n const codeIssuer = container.resolve(OAuth2InjectionToken.AuthorizationCodeIssuer);\n const codeRequestVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeRequestVerifier);\n\n const identityResolver = container.resolve(IdentityInjectionKey.Resolver);\n\n return new AuthorizeController({\n options: { baseURL: config.publicUrl },\n\n accessTokenIssuer,\n openIdTokenIssuer,\n\n codeIssuer,\n codeRequestVerifier,\n\n identityResolver,\n });\n }\n\n createToken(container: IContainer) {\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\n const tokenRevoker = container.resolve(OAuth2InjectionToken.TokenRevoker);\n const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\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 clientAuthenticator = new ClientAuthenticator(identityResolver);\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(identityResolver);\n\n return new TokenController({\n codeVerifier,\n\n accessTokenIssuer,\n refreshTokenIssuer,\n\n tokenVerifier,\n tokenRevoker,\n\n identityResolver,\n identityPermissionProvider,\n\n clientAuthenticator,\n robotAuthenticator,\n userAuthenticator,\n\n oauth2ClientAuthenticator,\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 return new ActivateController({ service: this.createRegistrationService(container) });\n }\n\n createPasswordForgotController(container: IContainer) {\n return new PasswordForgotController({ service: this.createPasswordRecoveryService(container) });\n }\n\n createPasswordResetController(container: IContainer) {\n return new PasswordResetController({ service: this.createPasswordRecoveryService(container) });\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\n return new PasswordRecoveryService({\n mailClient,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n options: {\n passwordRecoveryEnabled: config.passwordRecoveryEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\n },\n });\n }\n\n createRegisterController(container: IContainer) {\n return new RegisterController({ service: this.createRegistrationService(container) });\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\n return new RegistrationService({\n mailClient,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n options: {\n registrationEnabled: config.registrationEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\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\n accountManager,\n\n codeIssuer,\n codeRequestVerifier,\n stateManager,\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 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 return new PermissionController({\n service,\n repository,\n realmRepository: realmRepositoryAdapter,\n identityPermissionProvider,\n permissionProvider,\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 identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new ClientPermissionService({\n repository,\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 identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new RobotPermissionService({\n repository,\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 identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new RolePermissionService({\n repository,\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 createUserController(container: IContainer) {\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 });\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 identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new UserPermissionService({\n repository,\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 return new PolicyController({\n service,\n repository,\n realmRepository: realmRepositoryAdapter,\n identityPermissionProvider, \n });\n }\n\n createIdentityProviderRoleController(container: IContainer) {\n const repository = new IdentityProviderRoleMappingRepositoryAdapter(\n container.resolve<Repository<any>>(IdentityProviderRoleMappingEntity),\n );\n const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new IdentityProviderRoleMappingService({ repository, identityPermissionProvider });\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 repository = new RealmRepositoryAdapter(\n container.resolve<Repository<Realm>>(RealmEntity),\n );\n const service = new RealmService({ repository });\n const keyRepository = dataSource.getRepository(KeyEntity);\n\n return new RealmController({\n options: { baseURL: config.publicUrl },\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","RobotEntity","RobotPermissionEntity","RobotRoleEntity","RoleAttributeEntity","RoleEntity","RolePermissionEntity","ScopeEntity","UserAttributeEntity","UserEntity","UserPermissionEntity","UserRepository","UserRoleEntity","ClientPermissionRepositoryAdapter","ClientRepositoryAdapter","ClientRoleRepositoryAdapter","ClientScopeRepositoryAdapter","DatabaseInjectionKey","IdentityProviderRepositoryAdapter","IdentityProviderRoleMappingRepositoryAdapter","PermissionDatabaseProvider","PermissionPolicyRepositoryAdapter","PermissionRepositoryAdapter","PolicyRepositoryAdapter","RealmRepositoryAdapter","RobotPermissionRepositoryAdapter","RobotRepositoryAdapter","RobotRoleRepositoryAdapter","RoleAttributeRepositoryAdapter","RolePermissionRepositoryAdapter","RoleRepositoryAdapter","ScopeRepositoryAdapter","UserAttributeRepositoryAdapter","UserPermissionRepositoryAdapter","UserRepositoryAdapter","UserRoleRepositoryAdapter","ClientController","ClientPermissionController","ClientRoleController","ClientScopeController","IdentityProviderController","IdentityProviderRoleMappingController","PermissionController","PermissionPolicyController","PolicyController","RealmController","RobotController","RobotPermissionController","RobotRoleController","RoleAttributeController","RoleController","RolePermissionController","ScopeController","UserAttributeController","UserController","UserPermissionController","UserRoleController","ActivateController","AuthorizeController","JwkController","OpenIDController","PasswordForgotController","PasswordResetController","RegisterController","StatusController","TokenController","ClientAuthenticator","ClientPermissionService","ClientRoleService","ClientScopeService","ClientService","CredentialsAuthenticator","IdentityProviderRoleMappingService","OAuth2ClientAuthenticator","PasswordRecoveryService","PermissionCheckerService","PermissionPolicyService","PermissionService","PolicyCheckerService","PolicyService","RealmService","RegistrationService","RobotAuthenticator","RobotPermissionService","RobotRoleService","RobotService","RoleAttributeService","RolePermissionService","RoleService","ScopeService","UserAttributeService","UserAuthenticator","UserPermissionService","UserRoleService","UserService","AuthenticationInjectionKey","OAuth2InjectionToken","IdentityInjectionKey","ConfigInjectionKey","MailInjectionKey","HTTPControllerModule","mount","router","container","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","userController","createUserController","userAttributeController","createUserAttributeController","userPermissionController","createUserPermissionController","userRoleController","createUserRoleController","policyController","createPolicyController","identityProviderRoleController","createIdentityProviderRoleController","use","controllers","createAuthorize","createToken","createJwkController","createOpenIDController","createActivateController","createPasswordForgotController","createPasswordResetController","createRegisterController","createIdentityProvider","config","resolve","accessTokenIssuer","AccessTokenIssuer","openIdTokenIssuer","OpenIDTokenIssuer","codeIssuer","AuthorizationCodeIssuer","codeRequestVerifier","AuthorizationCodeRequestVerifier","identityResolver","Resolver","options","baseURL","publicUrl","sessionManager","SessionManager","codeVerifier","AuthorizationCodeVerifier","refreshTokenIssuer","RefreshTokenIssuer","tokenRevoker","TokenRevoker","tokenVerifier","TokenVerifier","identityProviderLdapCollectionAuthenticator","ProviderLdapCollectionAuthenticator","identityPermissionProvider","PermissionProvider","clientAuthenticator","robotAuthenticator","userAuthenticator","oauth2ClientAuthenticator","service","createRegistrationService","createPasswordRecoveryService","dataSource","DataSource","realmRepository","repository","mailClient","passwordRecoveryEnabled","emailVerificationEnabled","registrationEnabled","accountManager","ProviderAccountManager","stateManager","AuthorizationStateManager","realmRepositoryAdapter","roleRepository","rolePermissionRepository","policyRepository","permissionPolicyRepository","permissionProvider","checkerService","reservedNames","Set","getMetadata","columns","map","c","propertyName","getRepository","keyRepository"],"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 { Router } 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 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 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 UserAttributeRepositoryAdapter,\n UserPermissionRepositoryAdapter,\n UserRepositoryAdapter,\n UserRoleRepositoryAdapter,\n} from '../../database/index.ts';\nimport {\n ClientController,\n ClientPermissionController,\n ClientRoleController,\n ClientScopeController, \n IdentityProviderController,\n IdentityProviderRoleMappingController,\n PermissionController,\n PermissionPolicyController,\n PolicyController,\n RealmController,\n RobotController,\n RobotPermissionController,\n RobotRoleController,\n RoleAttributeController,\n RoleController,\n RolePermissionController,\n ScopeController,\n UserAttributeController,\n UserController,\n UserPermissionController,\n UserRoleController,\n} from '../../../../adapters/http/index.ts';\nimport {\n ActivateController,\n AuthorizeController,\n JwkController,\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 ClientAuthenticator,\n ClientPermissionService,\n ClientRoleService,\n ClientScopeService,\n ClientService,\n CredentialsAuthenticator,\n IdentityProviderRoleMappingService,\n OAuth2ClientAuthenticator,\n PasswordRecoveryService,\n PermissionCheckerService,\n PermissionPolicyService,\n PermissionService,\n PolicyCheckerService,\n PolicyService,\n RealmService,\n RegistrationService,\n RobotAuthenticator,\n RobotPermissionService,\n RobotRoleService,\n RobotService,\n RoleAttributeService,\n RolePermissionService,\n RoleService,\n ScopeService,\n UserAttributeService,\n UserAuthenticator,\n UserPermissionService,\n UserRoleService,\n UserService,\n} from '../../../../core/index.ts';\nimport { AuthenticationInjectionKey } from '../../authentication/index.ts';\nimport { OAuth2InjectionToken } from '../../oauth2/index.ts';\nimport { IdentityInjectionKey } from '../../identity/index.ts';\nimport { ConfigInjectionKey } from '../../config/index.ts';\nimport { MailInjectionKey } from '../../mail/index.ts';\n\nexport class HTTPControllerModule {\n async mount(router: Router, container: IContainer): Promise<void> {\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 userController = this.createUserController(container);\n const userAttributeController = this.createUserAttributeController(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\n StatusController,\n\n clientController,\n clientPermissionController,\n clientRoleController,\n clientScopeController,\n identityProviderRoleController,\n this.createIdentityProvider(container),\n permissionController,\n permissionPolicyController,\n policyController,\n robotController,\n robotPermissionController,\n robotRoleController,\n realmController,\n roleController,\n roleAttributeController,\n rolePermissionController,\n scopeController,\n userController,\n userAttributeController,\n userPermissionController,\n userRoleController,\n ],\n }));\n }\n\n // ----------------------------------------------------\n\n createAuthorize(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n const accessTokenIssuer = container.resolve(OAuth2InjectionToken.AccessTokenIssuer);\n const openIdTokenIssuer = container.resolve(OAuth2InjectionToken.OpenIDTokenIssuer);\n\n const codeIssuer = container.resolve(OAuth2InjectionToken.AuthorizationCodeIssuer);\n const codeRequestVerifier = container.resolve(OAuth2InjectionToken.AuthorizationCodeRequestVerifier);\n\n const identityResolver = container.resolve(IdentityInjectionKey.Resolver);\n\n return new AuthorizeController({\n options: { baseURL: config.publicUrl },\n\n accessTokenIssuer,\n openIdTokenIssuer,\n\n codeIssuer,\n codeRequestVerifier,\n\n identityResolver,\n });\n }\n\n createToken(container: IContainer) {\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\n const tokenRevoker = container.resolve(OAuth2InjectionToken.TokenRevoker);\n const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);\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 clientAuthenticator = new ClientAuthenticator(identityResolver);\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(identityResolver);\n\n return new TokenController({\n codeVerifier,\n\n accessTokenIssuer,\n refreshTokenIssuer,\n\n tokenVerifier,\n tokenRevoker,\n\n identityResolver,\n identityPermissionProvider,\n\n clientAuthenticator,\n robotAuthenticator,\n userAuthenticator,\n\n oauth2ClientAuthenticator,\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 return new ActivateController({ service: this.createRegistrationService(container) });\n }\n\n createPasswordForgotController(container: IContainer) {\n return new PasswordForgotController({ service: this.createPasswordRecoveryService(container) });\n }\n\n createPasswordResetController(container: IContainer) {\n return new PasswordResetController({ service: this.createPasswordRecoveryService(container) });\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\n return new PasswordRecoveryService({\n mailClient,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n options: {\n passwordRecoveryEnabled: config.passwordRecoveryEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\n },\n });\n }\n\n createRegisterController(container: IContainer) {\n return new RegisterController({ service: this.createRegistrationService(container) });\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\n return new RegistrationService({\n mailClient,\n repository,\n realmRepository: new RealmRepositoryAdapter(realmRepository),\n options: {\n registrationEnabled: config.registrationEnabled,\n emailVerificationEnabled: config.emailVerificationEnabled,\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\n accountManager,\n\n codeIssuer,\n codeRequestVerifier,\n stateManager,\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 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 identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new ClientPermissionService({\n repository,\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 identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new RobotPermissionService({\n repository,\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 identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new RolePermissionService({\n repository,\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 createUserController(container: IContainer) {\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 });\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 identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new UserPermissionService({\n repository,\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 identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);\n const service = new IdentityProviderRoleMappingService({ repository, identityPermissionProvider });\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 repository = new RealmRepositoryAdapter(\n container.resolve<Repository<Realm>>(RealmEntity),\n );\n const service = new RealmService({ repository });\n const keyRepository = dataSource.getRepository(KeyEntity);\n\n return new RealmController({\n options: { baseURL: config.publicUrl },\n service,\n keyRepository,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuJA,IAAa+G,uBAAb,MAAaA;CACT,MAAMC,MAAMC,QAAgBC,WAAsC;EAC9D,MAAMC,kBAAkB,KAAKC,sBAAsBF,SAAAA;EACnD,MAAMG,iBAAiB,KAAKC,qBAAqBJ,SAAAA;EACjD,MAAMK,uBAAuB,MAAM,KAAKC,2BAA2BN,SAAAA;EACnE,MAAMO,6BAA6B,KAAKC,iCAAiCR,SAAAA;EACzE,MAAMS,mBAAmB,KAAKC,uBAAuBV,SAAAA;EACrD,MAAMW,kBAAkB,KAAKC,sBAAsBZ,SAAAA;EACnD,MAAMa,6BAA6B,KAAKC,iCAAiCd,SAAAA;EACzE,MAAMe,uBAAuB,KAAKC,2BAA2BhB,SAAAA;EAC7D,MAAMiB,wBAAwB,KAAKC,4BAA4BlB,SAAAA;EAC/D,MAAMmB,4BAA4B,KAAKC,gCAAgCpB,SAAAA;EACvE,MAAMqB,sBAAsB,KAAKC,0BAA0BtB,SAAAA;EAC3D,MAAMuB,0BAA0B,KAAKC,8BAA8BxB,SAAAA;EACnE,MAAMyB,2BAA2B,KAAKC,+BAA+B1B,SAAAA;EACrE,MAAM2B,kBAAkB,KAAKC,sBAAsB5B,SAAAA;EACnD,MAAM6B,iBAAiB,KAAKC,qBAAqB9B,SAAAA;EACjD,MAAM+B,0BAA0B,KAAKC,8BAA8BhC,SAAAA;EACnE,MAAMiC,2BAA2B,KAAKC,+BAA+BlC,SAAAA;EACrE,MAAMmC,qBAAqB,KAAKC,yBAAyBpC,SAAAA;EACzD,MAAMqC,mBAAmB,KAAKC,uBAAuBtC,SAAAA;EACrD,MAAMuC,iCAAiC,KAAKC,qCAAqCxC,SAAAA;EAEjFD,OAAO0C,IAAI3J,WAAW,EAClB4J,aAAa;GACT,KAAKC,gBAAgB3C,SAAAA;GACrB,KAAK4C,YAAY5C,SAAAA;GACjB,KAAK6C,oBAAoB7C,SAAAA;GACzB,KAAK8C,uBAAuB9C,SAAAA;GAC5B,KAAK+C,yBAAyB/C,SAAAA;GAC9B,KAAKgD,+BAA+BhD,SAAAA;GACpC,KAAKiD,8BAA8BjD,SAAAA;GACnC,KAAKkD,yBAAyBlD,SAAAA;GAE9BvC;GAEAgD;GACAI;GACAE;GACAE;GACAsB;GACA,KAAKY,uBAAuBnD,SAAAA;GAC5BK;GACAE;GACA8B;GACA1B;GACAQ;GACAE;GACApB;GACAE;GACAoB;GACAE;GACAE;GACAE;GACAE;GACAE;GACAE;IAER,CAAA,CAAA;CACJ;CAIAQ,gBAAgB3C,WAAuB;EACnC,MAAMoD,SAASpD,UAAUqD,QAAQ1D,kBAAAA;EACjC,MAAM2D,oBAAoBtD,UAAUqD,QAAQ5D,qBAAqB8D,iBAAiB;EAClF,MAAMC,oBAAoBxD,UAAUqD,QAAQ5D,qBAAqBgE,iBAAiB;EAElF,MAAMC,aAAa1D,UAAUqD,QAAQ5D,qBAAqBkE,uBAAuB;EACjF,MAAMC,sBAAsB5D,UAAUqD,QAAQ5D,qBAAqBoE,gCAAgC;EAEnG,MAAMC,mBAAmB9D,UAAUqD,QAAQ3D,qBAAqBqE,QAAQ;EAExE,OAAO,IAAI5G,oBAAoB;GAC3B6G,SAAS,EAAEC,SAASb,OAAOc,UAAU;GAErCZ;GACAE;GAEAE;GACAE;GAEAE;EACJ,CAAA;CACJ;CAEAlB,YAAY5C,WAAuB;EAC/B,MAAMmE,iBAAiBnE,UAAUqD,QAAQ7D,2BAA2B4E,cAAc;EAElF,MAAMC,eAAerE,UAAUqD,QAAQ5D,qBAAqB6E,yBAAyB;EAErF,MAAMhB,oBAAoBtD,UAAUqD,QAAQ5D,qBAAqB8D,iBAAiB;EAClF,MAAMgB,qBAAqBvE,UAAUqD,QAAQ5D,qBAAqB+E,kBAAkB;EAEpF,MAAMC,eAAezE,UAAUqD,QAAQ5D,qBAAqBiF,YAAY;EACxE,MAAMC,gBAAgB3E,UAAUqD,QAAQ5D,qBAAqBmF,aAAa;EAE1E,MAAMd,mBAAmB9D,UAAUqD,QAAQ3D,qBAAqBqE,QAAQ;EACxE,MAAMc,8CAA8C7E,UAAUqD,QAAQ3D,qBAAqBoF,mCAAmC;EAc9H,OAAO,IAAIpH,gBAAgB;GACvB2G;GAEAf;GACAiB;GAEAI;GACAF;GAEAX;GACAiB,4BAtB+B/E,UAAUqD,QAAQ3D,qBAAqBsF,kBAsBtED;GAEAE,qBAAAA,IAtB4BtH,oBAAoBmG,gBAsBhDmB;GACAC,oBAAAA,IAtB2BvG,mBAAmBmF,gBAsB9CoB;GACAC,mBAAAA,IArB0BnH,yBAAyB,CACnD6G,6CACA,IAAIzF,kBAAkB0E,gBAAAA,CAAAA,CAmBtBqB;GAEAC,2BAAAA,IAlBkClH,0BAA0B4F,gBAkB5DsB;GAEAjB;EACJ,CAAA;CACJ;CAEArB,uBAAuB9C,WAAuB;EAG1C,OAAO,IAAI3C,iBAAiB,EAAE4G,SAFfjE,UAAUqD,QAAQ1D,kBAEMyD,EAAOc,UAAU,CAAA;CAC5D;CAEAnB,yBAAyB/C,WAAuB;EAC5C,OAAO,IAAI9C,mBAAmB,EAAEmI,SAAS,KAAKC,0BAA0BtF,SAAAA,EAAW,CAAA;CACvF;CAEAgD,+BAA+BhD,WAAuB;EAClD,OAAO,IAAI1C,yBAAyB,EAAE+H,SAAS,KAAKE,8BAA8BvF,SAAAA,EAAW,CAAA;CACjG;CAEAiD,8BAA8BjD,WAAuB;EACjD,OAAO,IAAIzC,wBAAwB,EAAE8H,SAAS,KAAKE,8BAA8BvF,SAAAA,EAAW,CAAA;CAChG;CAEAuF,8BAA8BvF,WAAuB;EACjD,MAAMoD,SAASpD,UAAUqD,QAAQ1D,kBAAAA;EACjC,MAAM6F,aAAaxF,UAAUqD,QAAQ3I,qBAAqB+K,UAAU;EACpE,MAAMC,kBAAkB1F,UAAUqD,QAA2B5J,WAAAA;EAC7D,MAAMkM,aAAa,IAAIhK,sBAAsB;GACzCgK,YAAY,IAAIvL,eAAeoL,UAAAA;GAC/BE;EACJ,CAAA;EAGA,OAAO,IAAIvH,wBAAwB;GAC/ByH,YAHe5F,UAAUqD,QAAQzD,gBAGjCgG;GACAD;GACAD,iBAAiB,IAAIzK,uBAAuByK,eAAAA;GAC5C1B,SAAS;IACL6B,yBAAyBzC,OAAOyC;IAChCC,0BAA0B1C,OAAO0C;GACrC;EACJ,CAAA;CACJ;CAEA5C,yBAAyBlD,WAAuB;EAC5C,OAAO,IAAIxC,mBAAmB,EAAE6H,SAAS,KAAKC,0BAA0BtF,SAAAA,EAAW,CAAA;CACvF;CAEAsF,0BAA0BtF,WAAuB;EAC7C,MAAMoD,SAASpD,UAAUqD,QAAQ1D,kBAAAA;EACjC,MAAM6F,aAAaxF,UAAUqD,QAAQ3I,qBAAqB+K,UAAU;EACpE,MAAMC,kBAAkB1F,UAAUqD,QAA2B5J,WAAAA;EAC7D,MAAMkM,aAAa,IAAIhK,sBAAsB;GACzCgK,YAAY,IAAIvL,eAAeoL,UAAAA;GAC/BE;EACJ,CAAA;EAGA,OAAO,IAAIhH,oBAAoB;GAC3BkH,YAHe5F,UAAUqD,QAAQzD,gBAGjCgG;GACAD;GACAD,iBAAiB,IAAIzK,uBAAuByK,eAAAA;GAC5C1B,SAAS;IACL+B,qBAAqB3C,OAAO2C;IAC5BD,0BAA0B1C,OAAO0C;GACrC;EACJ,CAAA;CACJ;CAEA3C,uBAAuBnD,WAAuB;EAC1C,MAAMoD,SAASpD,UAAUqD,QAAQ1D,kBAAAA;EACjC,MAAM6F,aAAaxF,UAAUqD,QAAQ3I,qBAAqB+K,UAAU;EAEpE,MAAMO,iBAAiBhG,UAAUqD,QAAQ3D,qBAAqBuG,sBAAsB;EAEpF,MAAMvC,aAAa1D,UAAUqD,QAAQ5D,qBAAqBkE,uBAAuB;EAEjF,MAAMC,sBAAsB5D,UAAUqD,QAAQ5D,qBAAqBoE,gCAAgC;EAEnG,MAAMqC,eAAelG,UAAUqD,QAAQ5D,qBAAqB0G,yBAAyB;EAErF,MAAMT,kBAAkB1F,UAAUqD,QAA2B5J,WAAAA;EAE7D,MAAMkM,aAAa,IAAIhL,kCAAkC;GACrDgL,YAAY,IAAIxM,2BAA2BqM,UAAAA;GAC3CE;EACJ,CAAA;EAEA,OAAO,IAAIzJ,2BAA2B;GAClC+H,SAAS,EAAEC,SAASb,OAAOc,UAAU;GAErCyB;GACAD,iBAAiB,IAAIzK,uBAAuByK,eAAAA;GAE5CM;GAEAtC;GACAE;GACAsC;EACJ,CAAA;CACJ;CAEAxF,uBAAuBV,WAAuB;EAC1C,MAAM0F,kBAAkB1F,UAAUqD,QAA2B5J,WAAAA;EAC7D,MAAMkM,aAAa,IAAIpL,wBAAwB;GAC3CoL,YAAY3F,UAAUqD,QAA4BtK,YAAAA;GAClD2M;EACJ,CAAA;EAMA,OAAO,IAAI7J,iBAAiB;GACxBwJ,SAAAA,IALgBtH,cAAc;IAC9B4H;IACAD,iBAAiBU,IAHcnL,uBAAuByK,eAGrCU;GACrB,CAEIf;GACAM;EACJ,CAAA;CACJ;CAEA/E,sBAAsBZ,WAAuB;EACzC,MAAMwF,aAAaxF,UAAUqD,QAAQ3I,qBAAqB+K,UAAU;EACpE,MAAMC,kBAAkB1F,UAAUqD,QAA2B5J,WAAAA;EAC7D,MAAMkM,aAAa,IAAIxK,uBAAuB;GAC1CwK,YAAY3F,UAAUqD,QAA2B3J,WAAAA;GACjDgM;EACJ,CAAA;EACA,MAAMU,yBAAyB,IAAInL,uBAAuByK,eAAAA;EAK1D,OAAO,IAAInJ,gBAAgB;GACvB8I,SAAAA,IALgBvG,aAAa;IAC7B6G;IACAD,iBAAiBU;GACrB,CAEIf;GACAM;GACAD,iBAAiBU;GACjBZ;EACJ,CAAA;CACJ;CAEA,MAAMlF,2BAA2BN,WAAuB;EACpD,MAAMwF,aAAaxF,UAAUqD,QAAQ3I,qBAAqB+K,UAAU;EACpE,MAAMC,kBAAkB1F,UAAUqD,QAA2B5J,WAAAA;EAC7D,MAAMkM,aAAa,IAAI5K,4BAA4B;GAC/C4K,YAAY3F,UAAUqD,QAAgC/J,gBAAAA;GACtDoM;EACJ,CAAA;EAEA,MAAMU,yBAAyB,IAAInL,uBAAuByK,eAAAA;EAiB1D,MAAML,UAAU,IAAI/G,kBAAkB;GAClCqH;GACAD,iBAAiBU;GACjBC,gBAAAA,IAnBuB9K,sBAAsB;IAC7CoK,YAAY3F,UAAUqD,QAA0BvJ,UAAAA;IAChD4L;GACJ,CAgBIW;GACAC,0BAAAA,IAhBiChL,gCACjC0E,UAAUqD,QAAoCtJ,oBAAAA,CAe9CuM;GACAC,kBAAAA,IAdyBvL,wBAAwB;IACjD2K,YAAY,IAAInM,iBAAiBgM,UAAAA;IACjCE;GACJ,CAWIa;GACAC,4BAAAA,IAVmC1L,kCACnCkF,UAAUqD,QAAsC9J,sBAAAA,CAShDiN;EACJ,CAAA;EAEA,MAAMzB,6BAA6B/E,UAAUqD,QAAQ3D,qBAAqBsF,kBAAkB;EAU5F,OAAO,IAAI7I,qBAAqB;GAC5BkJ;GACAqB,gBAAAA,IATuBtI,yBAAyB;IAChDuH;IACAD,iBAAiBU;IACjBK,oBAAAA,IAL2B5L,2BAA2B2K,UAKtDiB;IACA1B;GACJ,CAII2B;EACJ,CAAA;CACJ;CAEAtG,qBAAqBJ,WAAuB;EACxC,MAAM0F,kBAAkB,IAAIzK,uBACxB+E,UAAUqD,QAA2B5J,WAAAA,CAAAA;EAUzC,OAAO,IAAIkD,eAAe,EAAE0I,SAAAA,IAJRpG,YAAY;GAC5B0G,YAAAA,IALmBpK,sBAAsB;IACzCoK,YAAY3F,UAAUqD,QAA0BvJ,UAAAA;IAChD4L,iBAAiB1F,UAAUqD,QAA2B5J,WAAAA;GAC1D,CAEIkM;GACAD;EACJ,CAC4BL,EAAQ,CAAA;CACxC;CAEAvE,iCAAiCd,WAAuB;EASpD,OAAO,IAAIlE,2BAA2B,EAAEuJ,SAAAA,IAJpBzH,wBAAwB;GACxC+H,YAAAA,IALmBrL,kCACnB0F,UAAUqD,QAAsCrK,sBAAAA,CAIhD2M;GACAZ,4BAH+B/E,UAAUqD,QAAQ3D,qBAAqBsF,kBAGtED;EACJ,CACwCM,EAAQ,CAAA;CACpD;CAEArE,2BAA2BhB,WAAuB;EAM9C,OAAO,IAAIjE,qBAAqB,EAAEsJ,SAAAA,IADdxH,kBAAkB;GAAE8H,YAAAA,IAJjBnL,4BACnBwF,UAAUqD,QAAgCpK,gBAAAA,CAGN0M;GAAYZ,4BADjB/E,UAAUqD,QAAQ3D,qBAAqBsF,kBACtBD;EAA2B,CAC7CM,EAAQ,CAAA;CAC9C;CAEAnE,4BAA4BlB,WAAuB;EAK/C,OAAO,IAAIhE,sBAAsB,EAAEqJ,SAAAA,IADfvH,mBAAmB,EAAE6H,YAAAA,IAHlBlL,6BACnBuF,UAAUqD,QAAiCnK,iBAAAA,CAENyM,EAAW,CACjBN,EAAQ,CAAA;CAC/C;CAEAjE,gCAAgCpB,WAAuB;EASnD,OAAO,IAAIxD,0BAA0B,EAAE6I,SAAAA,IAJnBzG,uBAAuB;GACvC+G,YAAAA,IALmBzK,iCACnB8E,UAAUqD,QAAqC1J,qBAAAA,CAI/CgM;GACAZ,4BAH+B/E,UAAUqD,QAAQ3D,qBAAqBsF,kBAGtED;EACJ,CACuCM,EAAQ,CAAA;CACnD;CAEA/D,0BAA0BtB,WAAuB;EAM7C,OAAO,IAAIvD,oBAAoB,EAAE4I,SAAAA,IADbxG,iBAAiB;GAAE8G,YAAAA,IAJhBvK,2BACnB4E,UAAUqD,QAA+BzJ,eAAAA,CAGN+L;GAAYZ,4BADhB/E,UAAUqD,QAAQ3D,qBAAqBsF,kBACvBD;EAA2B,CAC7CM,EAAQ,CAAA;CAC7C;CAEA7D,8BAA8BxB,WAAuB;EACjD,MAAMwF,aAAaxF,UAAUqD,QAAQ3I,qBAAqB+K,UAAU;EAQpE,OAAO,IAAI/I,wBAAwB,EAAE2I,SAAAA,IADjBtG,qBAAqB;GAAE4G,YAAAA,IANpBtK,+BACnB2E,UAAUqD,QAAmCxJ,mBAAAA,CAKN8L;GAAYgB,eAAAA,IAH7BC,IACtBpB,WAAWqB,YAAY/M,UAAAA,EAAYgN,QAAQC,KAAKC,MAAMA,EAAEC,YAAY,CAEjBN;EAAc,CAChCtB,EAAQ,CAAA;CACjD;CAEA3D,+BAA+B1B,WAAuB;EASlD,OAAO,IAAIpD,yBAAyB,EAAEyI,SAAAA,IAJlBrG,sBAAsB;GACtC2G,YAAAA,IALmBrK,gCACnB0E,UAAUqD,QAAoCtJ,oBAAAA,CAI9C4L;GACAZ,4BAH+B/E,UAAUqD,QAAQ3D,qBAAqBsF,kBAGtED;EACJ,CACsCM,EAAQ,CAAA;CAClD;CAEA7E,iCAAiCR,WAAuB;EAKpD,OAAO,IAAI5D,2BAA2B,EAAEiJ,SAAAA,IADpBhH,wBAAwB,EAAEsH,YAAAA,IAHvB7K,kCACnBkF,UAAUqD,QAAsC9J,sBAAAA,CAENoM,EAAW,CACjBN,EAAQ,CAAA;CACpD;CAEAzD,sBAAsB5B,WAAuB;EACzC,MAAM0F,kBAAkB,IAAIzK,uBACxB+E,UAAUqD,QAA2B5J,WAAAA,CAAAA;EAUzC,OAAO,IAAIoD,gBAAgB,EAAEwI,SAAAA,IAJTnG,aAAa;GAC7ByG,YAAAA,IALmBnK,uBAAuB;IAC1CmK,YAAY3F,UAAUqD,QAA2BrJ,WAAAA;IACjD0L,iBAAiB1F,UAAUqD,QAA2B5J,WAAAA;GAC1D,CAEIkM;GACAD;EACJ,CAC6BL,EAAQ,CAAA;CACzC;CAEAvD,qBAAqB9B,WAAuB;EACxC,MAAMwF,aAAaxF,UAAUqD,QAAQ3I,qBAAqB+K,UAAU;EACpE,MAAMC,kBAAkB1F,UAAUqD,QAA2B5J,WAAAA;EAU7D,OAAO,IAAIsD,eAAe,EAAEsI,SAAAA,IAJR9F,YAAY;GAC5BoG,YAAAA,IANmBhK,sBAAsB;IACzCgK,YAAY,IAAIvL,eAAeoL,UAAAA;IAC/BE;GACJ,CAGIC;GACAD,iBAAiBU,IAHcnL,uBAAuByK,eAGrCU;EACrB,CAC4Bf,EAAQ,CAAA;CACxC;CAEArD,8BAA8BhC,WAAuB;EACjD,MAAMwF,aAAaxF,UAAUqD,QAAQ3I,qBAAqB+K,UAAU;EAQpE,OAAO,IAAI3I,wBAAwB,EAAEuI,SAAAA,IADjBlG,qBAAqB;GAAEwG,YAAAA,IANpBlK,+BACnBuE,UAAUqD,QAAmCpJ,mBAAAA,CAKN0L;GAAYgB,eAAAA,IAH7BC,IACtBpB,WAAWqB,YAAY3M,UAAAA,EAAY4M,QAAQC,KAAKC,MAAMA,EAAEC,YAAY,CAEjBN;EAAc,CAChCtB,EAAQ,CAAA;CACjD;CAEAnD,+BAA+BlC,WAAuB;EASlD,OAAO,IAAIhD,yBAAyB,EAAEqI,SAAAA,IAJlBhG,sBAAsB;GACtCsG,YAAAA,IALmBjK,gCACnBsE,UAAUqD,QAAoClJ,oBAAAA,CAI9CwL;GACAZ,4BAH+B/E,UAAUqD,QAAQ3D,qBAAqBsF,kBAGtED;EACJ,CACsCM,EAAQ,CAAA;CAClD;CAEAjD,yBAAyBpC,WAAuB;EAM5C,OAAO,IAAI/C,mBAAmB,EAAEoI,SAAAA,IADZ/F,gBAAgB;GAAEqG,YAAAA,IAJf/J,0BACnBoE,UAAUqD,QAA8BhJ,cAAAA,CAGNsL;GAAYZ,4BADf/E,UAAUqD,QAAQ3D,qBAAqBsF,kBACxBD;EAA2B,CAC7CM,EAAQ,CAAA;CAC5C;CAEA/C,uBAAuBtC,WAAuB;EAC1C,MAAMwF,aAAaxF,UAAUqD,QAAQ3I,qBAAqB+K,UAAU;EACpE,MAAMC,kBAAkB1F,UAAUqD,QAA2B5J,WAAAA;EAC7D,MAAMkM,aAAa,IAAI3K,wBAAwB;GAC3C2K,YAAY,IAAInM,iBAAiBgM,UAAAA;GACjCE;EACJ,CAAA;EACA,MAAMU,yBAAyB,IAAInL,uBAAuByK,eAAAA;EAY1D,OAAO,IAAIrJ,iBAAiB;GACxBgJ,SAAAA,IAZgB7G,cAAc;IAC9BmH;IACAD,iBAAiBU;GACrB,CASIf;GACAqB,gBAAAA,IARuBnI,qBAAqB;IAC5CoH;IACAD,iBAAiBU;IACjBrB,4BAJ+B/E,UAAUqD,QAAQ3D,qBAAqBsF,kBAItED;GACJ,CAII2B;EACJ,CAAA;CACJ;CAEAlE,qCAAqCxC,WAAuB;EAMxD,OAAO,IAAI9D,sCAAsC,EAAEmJ,SAAAA,IAD/BpH,mCAAmC;GAAE0H,YAAAA,IAJlC/K,6CACnBoF,UAAUqD,QAAyBjK,iCAAAA,CAGkBuM;GAAYZ,4BADlC/E,UAAUqD,QAAQ3D,qBAAqBsF,kBACLD;EAA2B,CAC7CM,EAAQ,CAAA;CAC/D;CAEAxC,oBAAoB7C,WAAuB;EAGvC,OAAO,IAAI5C,cAAc,EAAEuI,YAFR3F,UAAUqD,QAAQ3I,qBAAqB+K,UACvCD,EAAW0B,cAAc7N,SACjBsM,EAAW,CAAA;CAC1C;CAEAzF,sBAAsBF,WAAuB;EACzC,MAAMoD,SAASpD,UAAUqD,QAAQ1D,kBAAAA;EACjC,MAAM6F,aAAaxF,UAAUqD,QAAQ3I,qBAAqB+K,UAAU;EAIpE,MAAMJ,UAAU,IAAI5G,aAAa,EAAEkH,YAAAA,IAHZ1K,uBACnB+E,UAAUqD,QAA2B5J,WAAAA,CAENkM,EAAW,CAAA;EAC9C,MAAMwB,gBAAgB3B,WAAW0B,cAAc7N,SAAAA;EAE/C,OAAO,IAAIiD,gBAAgB;GACvB0H,SAAS,EAAEC,SAASb,OAAOc,UAAU;GACrCmB;GACA8B;EACJ,CAAA;CACJ;AACJ"}
@@ -10,6 +10,7 @@ export declare class HTTPMiddlewareModule {
10
10
  mountPrometheus(router: Router, container: IContainer): Promise<void>;
11
11
  mountRateLimit(router: Router, container: IContainer): Promise<void>;
12
12
  mountSwagger(router: Router, container: IContainer): Promise<void>;
13
+ mountRealmResolver(router: Router, container: IContainer): Promise<void>;
13
14
  mountAuthorization(router: Router, container: IContainer): Promise<void>;
14
15
  private transformBoolToEmptyObject;
15
16
  private isEnabled;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/middleware.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAsBxC,qBAAa,oBAAoB;IACvB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBjE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAclE,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9E,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,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA2BxC,qBAAa,oBAAoB;IACvB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAclE,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxE,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9E,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,SAAS;CAGpB"}
@@ -1,11 +1,16 @@
1
1
  import { AuthenticationInjectionKey } from "../../authentication/constants.mjs";
2
+ import { RealmEntity } from "../../../../adapters/database/domains/realm/entity.mjs";
3
+ import "../../../../adapters/database/domains/index.mjs";
2
4
  import { ConfigInjectionKey } from "../../config/constants.mjs";
3
5
  import "../../config/index.mjs";
4
6
  import "../../authentication/index.mjs";
5
7
  import { DatabaseInjectionKey } from "../../database/constants.mjs";
8
+ import { RealmRepositoryAdapter } from "../../database/repositories/realm/repository.mjs";
6
9
  import { PermissionDatabaseProvider } from "../../database/repositories/permission-provider/module.mjs";
10
+ import "../../database/repositories/index.mjs";
7
11
  import "../../database/index.mjs";
8
12
  import { createAuthorizationMiddleware } from "../../../../adapters/http/middleware/built-in/authorization/factory.mjs";
13
+ import { createRealmResolverMiddleware } from "../../../../adapters/http/middleware/built-in/realm-resolver/factory.mjs";
9
14
  import { DIST_PATH } from "../../../../path.mjs";
10
15
  import { registerAssetsMiddleware } from "../../../../adapters/http/middleware/built-in/assets.mjs";
11
16
  import { registerBasicMiddleware } from "../../../../adapters/http/middleware/built-in/basic.mjs";
@@ -32,6 +37,7 @@ var HTTPMiddlewareModule = class {
32
37
  await this.mountRateLimit(router, container);
33
38
  await this.mountSwagger(router, container);
34
39
  await this.mountAuthorization(router, container);
40
+ await this.mountRealmResolver(router, container);
35
41
  }
36
42
  async mountAfter(router, _container) {
37
43
  registerErrorMiddleware(router);
@@ -70,6 +76,10 @@ var HTTPMiddlewareModule = class {
70
76
  });
71
77
  router.use("/docs", middleware);
72
78
  }
79
+ async mountRealmResolver(router, container) {
80
+ const middleware = createRealmResolverMiddleware({ realmRepository: new RealmRepositoryAdapter(container.resolve(RealmEntity)) });
81
+ router.use("/realms/:realmId/:nested", middleware);
82
+ }
73
83
  async mountAuthorization(router, container) {
74
84
  const config = container.resolve(ConfigInjectionKey);
75
85
  const dataSource = container.resolve(DatabaseInjectionKey.DataSource);
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.mjs","names":["path","createAuthorizationMiddleware","createLoggerMiddleware","createSwaggerMiddleware","registerAssetsMiddleware","registerBasicMiddleware","registerCorsMiddleware","registerErrorMiddleware","registerPrometheusMiddleware","registerRateLimitMiddleware","DIST_PATH","AuthenticationInjectionKey","ConfigInjectionKey","IdentityInjectionKey","OAuth2InjectionToken","DatabaseInjectionKey","PermissionDatabaseProvider","HTTPMiddlewareModule","mountBefore","router","container","mountPrometheus","mountLogger","mountCors","mountAssets","mountBasic","mountRateLimit","mountSwagger","mountAuthorization","mountAfter","_container","config","resolve","isEnabled","middlewareCors","transformBoolToEmptyObject","middleware","env","use","middlewarePrometheus","middlewareRateLimit","middlewareSwagger","documentPath","join","baseURL","publicUrl","dataSource","DataSource","identityResolver","Resolver","sessionManager","SessionManager","oauth2TokenVerifier","TokenVerifier","identityPermissionProvider","PermissionProvider","permissionProvider","options","clientAuthBasic","robotAuthBasic","userAuthBasic","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 { Router } from 'routup';\nimport path from 'node:path';\nimport type { IContainer } from 'eldin';\nimport {\n createAuthorizationMiddleware,\n createLoggerMiddleware,\n createSwaggerMiddleware,\n registerAssetsMiddleware,\n registerBasicMiddleware,\n registerCorsMiddleware,\n registerErrorMiddleware,\n registerPrometheusMiddleware,\n registerRateLimitMiddleware,\n} from '../../../../adapters/http/index.ts';\nimport { DIST_PATH } from '../../../../path.ts';\nimport { AuthenticationInjectionKey } from '../../authentication/index.ts';\nimport { ConfigInjectionKey } from '../../config/index.ts';\nimport { IdentityInjectionKey } from '../../identity/index.ts';\nimport { OAuth2InjectionToken } from '../../oauth2/index.ts';\nimport {\n DatabaseInjectionKey,\n PermissionDatabaseProvider,\n} from '../../database/index.ts';\n\nexport class HTTPMiddlewareModule {\n async mountBefore(router: Router, 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.mountBasic(router);\n await this.mountRateLimit(router, container);\n\n await this.mountSwagger(router, container);\n await this.mountAuthorization(router, container);\n }\n\n \n async mountAfter(router: Router, _container: IContainer): Promise<void> {\n registerErrorMiddleware(router);\n }\n\n // ----------------------------------------------------\n async mountCors(router: Router, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n\n if (!this.isEnabled(config.middlewareCors)) {\n return;\n }\n\n registerCorsMiddleware(router, this.transformBoolToEmptyObject(config.middlewareCors));\n }\n\n async mountLogger(router: Router, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const middleware = createLoggerMiddleware({ env: config.env });\n\n router.use(middleware);\n }\n\n async mountAssets(router: Router): Promise<void> {\n await registerAssetsMiddleware(router);\n }\n\n async mountBasic(router: Router): Promise<void> {\n registerBasicMiddleware(router);\n }\n\n async mountPrometheus(router: Router, 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: Router, 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: Router, 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 mountAuthorization(router: Router, 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 },\n });\n\n router.use(middleware);\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","createSwaggerMiddleware","registerAssetsMiddleware","registerBasicMiddleware","registerCorsMiddleware","registerErrorMiddleware","registerPrometheusMiddleware","registerRateLimitMiddleware","DIST_PATH","AuthenticationInjectionKey","ConfigInjectionKey","IdentityInjectionKey","OAuth2InjectionToken","RealmEntity","RealmRepositoryAdapter","DatabaseInjectionKey","PermissionDatabaseProvider","HTTPMiddlewareModule","mountBefore","router","container","mountPrometheus","mountLogger","mountCors","mountAssets","mountBasic","mountRateLimit","mountSwagger","mountAuthorization","mountRealmResolver","mountAfter","_container","config","resolve","isEnabled","middlewareCors","transformBoolToEmptyObject","middleware","env","use","middlewarePrometheus","middlewareRateLimit","middlewareSwagger","documentPath","join","baseURL","publicUrl","realmRepository","dataSource","DataSource","identityResolver","Resolver","sessionManager","SessionManager","oauth2TokenVerifier","TokenVerifier","identityPermissionProvider","PermissionProvider","permissionProvider","options","clientAuthBasic","robotAuthBasic","userAuthBasic","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 { Router } 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 createSwaggerMiddleware,\n registerAssetsMiddleware,\n registerBasicMiddleware,\n registerCorsMiddleware,\n registerErrorMiddleware,\n registerPrometheusMiddleware,\n registerRateLimitMiddleware,\n} from '../../../../adapters/http/index.ts';\nimport { DIST_PATH } from '../../../../path.ts';\nimport { AuthenticationInjectionKey } from '../../authentication/index.ts';\nimport { ConfigInjectionKey } from '../../config/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: Router, 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.mountBasic(router);\n await this.mountRateLimit(router, container);\n\n await this.mountSwagger(router, container);\n await this.mountAuthorization(router, container);\n await this.mountRealmResolver(router, container);\n }\n\n \n async mountAfter(router: Router, _container: IContainer): Promise<void> {\n registerErrorMiddleware(router);\n }\n\n // ----------------------------------------------------\n async mountCors(router: Router, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n\n if (!this.isEnabled(config.middlewareCors)) {\n return;\n }\n\n registerCorsMiddleware(router, this.transformBoolToEmptyObject(config.middlewareCors));\n }\n\n async mountLogger(router: Router, container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const middleware = createLoggerMiddleware({ env: config.env });\n\n router.use(middleware);\n }\n\n async mountAssets(router: Router): Promise<void> {\n await registerAssetsMiddleware(router);\n }\n\n async mountBasic(router: Router): Promise<void> {\n registerBasicMiddleware(router);\n }\n\n async mountPrometheus(router: Router, 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: Router, 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: Router, 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: Router, 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: Router, 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 },\n });\n\n router.use(middleware);\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,IAAaoB,uBAAb,MAAaA;CACT,MAAMC,YAAYC,QAAgBC,WAAsC;EAIpE,MAAM,KAAKC,gBAAgBF,QAAQC,SAAAA;EACnC,MAAM,KAAKE,YAAYH,QAAQC,SAAAA;EAC/B,MAAM,KAAKG,UAAUJ,QAAQC,SAAAA;EAC7B,MAAM,KAAKI,YAAYL,MAAAA;EACvB,MAAM,KAAKM,WAAWN,MAAAA;EACtB,MAAM,KAAKO,eAAeP,QAAQC,SAAAA;EAElC,MAAM,KAAKO,aAAaR,QAAQC,SAAAA;EAChC,MAAM,KAAKQ,mBAAmBT,QAAQC,SAAAA;EACtC,MAAM,KAAKS,mBAAmBV,QAAQC,SAAAA;CAC1C;CAGA,MAAMU,WAAWX,QAAgBY,YAAuC;EACpE1B,wBAAwBc,MAAAA;CAC5B;CAGA,MAAMI,UAAUJ,QAAgBC,WAAsC;EAClE,MAAMY,SAASZ,UAAUa,QAAQvB,kBAAAA;EAEjC,IAAI,CAAC,KAAKwB,UAAUF,OAAOG,cAAc,GACrC;EAGJ/B,uBAAuBe,QAAQ,KAAKiB,2BAA2BJ,OAAOG,cAAc,CAAA;CACxF;CAEA,MAAMb,YAAYH,QAAgBC,WAAsC;EAEpE,MAAMiB,aAAatC,uBAAuB,EAAEuC,KAD7BlB,UAAUa,QAAQvB,kBACgBsB,EAAOM,IAAI,CAAA;EAE5DnB,OAAOoB,IAAIF,UAAAA;CACf;CAEA,MAAMb,YAAYL,QAA+B;EAC7C,MAAMjB,yBAAyBiB,MAAAA;CACnC;CAEA,MAAMM,WAAWN,QAA+B;EAC5ChB,wBAAwBgB,MAAAA;CAC5B;CAEA,MAAME,gBAAgBF,QAAgBC,WAAsC;EACxE,MAAMY,SAASZ,UAAUa,QAAQvB,kBAAAA;EAEjC,IAAI,CAAC,KAAKwB,UAAUF,OAAOQ,oBAAoB,GAC3C;EAGJlC,6BAA6Ba,QAAQ,KAAKiB,2BAA2BJ,OAAOQ,oBAAoB,CAAA;CACpG;CAEA,MAAMd,eAAeP,QAAgBC,WAAsC;EACvE,MAAMY,SAASZ,UAAUa,QAAQvB,kBAAAA;EAEjC,IAAI,CAAC,KAAKwB,UAAUF,OAAOS,mBAAmB,GAC1C;EAGJlC,4BAA4BY,QAAQ,KAAKiB,2BAA2BJ,OAAOS,mBAAmB,CAAA;CAClG;CAEA,MAAMd,aAAaR,QAAgBC,WAAsC;EACrE,MAAMY,SAASZ,UAAUa,QAAQvB,kBAAAA;EACjC,IAAI,CAAC,KAAKwB,UAAUF,OAAOU,iBAAiB,GACxC;EAGJ,MAAML,aAAapC,wBAAwB;GACvC0C,cAAc9C,KAAK+C,KAAKpC,WAAW,cAAA;GACnCqC,SAASb,OAAOc;EACpB,CAAA;EAEA3B,OAAOoB,IAAI,SAASF,UAAAA;CACxB;CAEA,MAAMR,mBAAmBV,QAAgBC,WAAsC;EAE3E,MAAMiB,aAAarC,8BAA8B,EAAE+C,iBAAiB,IAAIjC,uBADhDM,UAAUa,QAA2BpB,WACkCkC,CAAAA,EAAiB,CAAA;EAOhH5B,OAAOoB,IAAI,4BAA4BF,UAAAA;CAC3C;CAEA,MAAMT,mBAAmBT,QAAgBC,WAAsC;EAC3E,MAAMY,SAASZ,UAAUa,QAAQvB,kBAAAA;EACjC,MAAMsC,aAAa5B,UAAUa,QAAQlB,qBAAqBkC,UAAU;EAEpE,MAAMC,mBAAmB9B,UAAUa,QAAQtB,qBAAqBwC,QAAQ;EACxE,MAAMC,iBAAiBhC,UAAUa,QAAQxB,2BAA2B4C,cAAc;EAClF,MAAMC,sBAAsBlC,UAAUa,QAAQrB,qBAAqB2C,aAAa;EAKhF,MAAMlB,aAAavC,8BAA8B;GAC7CoD;GACAM,4BAN+BpC,UAAUa,QAAQtB,qBAAqB8C,kBAMtED;GACAE,oBAAAA,IAL2B1C,2BAA2BgC,UAKtDU;GACAJ;GACAF;GACAO,SAAS;IACLC,iBAAiB5B,OAAO4B;IACxBC,gBAAgB7B,OAAO6B;IACvBC,eAAe9B,OAAO8B;GAC1B;EACJ,CAAA;EAEA3C,OAAOoB,IAAIF,UAAAA;CACf;CAIQD,2BACJ2B,OACc;EACd,IAAI,OAAOA,UAAU,WACjB,OAAO,CAAC;EAGZ,OAAOA,SAAS,CAAC;CACrB;CAEQ7B,UAAa6B,OAAoB;EACrC,OAAO,OAAOA,UAAU,aAAaA,UAAU;CACnD;AACJ"}