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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1152) hide show
  1. package/dist/adapters/database/data-source/options/module.d.ts.map +1 -1
  2. package/dist/adapters/database/data-source/options/module.mjs +0 -13
  3. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.d.ts +16 -16
  5. package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
  6. package/dist/adapters/database/domains/client/entity.mjs +52 -34
  7. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  8. package/dist/adapters/database/domains/client/subscriber.mjs +1 -1
  9. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-permission/entity.d.ts +10 -10
  11. package/dist/adapters/database/domains/client-permission/entity.d.ts.map +1 -1
  12. package/dist/adapters/database/domains/client-permission/entity.mjs +40 -21
  13. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
  14. package/dist/adapters/database/domains/client-permission/subscriber.mjs +2 -2
  15. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
  16. package/dist/adapters/database/domains/client-role/entity.d.ts +8 -8
  17. package/dist/adapters/database/domains/client-role/entity.d.ts.map +1 -1
  18. package/dist/adapters/database/domains/client-role/entity.mjs +29 -17
  19. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/client-role/subscriber.mjs +2 -2
  21. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
  22. package/dist/adapters/database/domains/client-scope/entity.d.ts +8 -8
  23. package/dist/adapters/database/domains/client-scope/entity.d.ts.map +1 -1
  24. package/dist/adapters/database/domains/client-scope/entity.mjs +29 -17
  25. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  26. package/dist/adapters/database/domains/consent/entity.d.ts +7 -7
  27. package/dist/adapters/database/domains/consent/entity.d.ts.map +1 -1
  28. package/dist/adapters/database/domains/consent/entity.mjs +33 -18
  29. package/dist/adapters/database/domains/consent/entity.mjs.map +1 -1
  30. package/dist/adapters/database/domains/consent/subscriber.mjs +2 -2
  31. package/dist/adapters/database/domains/consent/subscriber.mjs.map +1 -1
  32. package/dist/adapters/database/domains/constants.d.ts +0 -3
  33. package/dist/adapters/database/domains/constants.d.ts.map +1 -1
  34. package/dist/adapters/database/domains/constants.mjs +0 -3
  35. package/dist/adapters/database/domains/constants.mjs.map +1 -1
  36. package/dist/adapters/database/domains/event/entity.d.ts +13 -13
  37. package/dist/adapters/database/domains/event/entity.d.ts.map +1 -1
  38. package/dist/adapters/database/domains/event/entity.mjs +43 -28
  39. package/dist/adapters/database/domains/event/entity.mjs.map +1 -1
  40. package/dist/adapters/database/domains/identity-provider/entity.d.ts +4 -4
  41. package/dist/adapters/database/domains/identity-provider/entity.d.ts.map +1 -1
  42. package/dist/adapters/database/domains/identity-provider/entity.mjs +17 -10
  43. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  44. package/dist/adapters/database/domains/identity-provider/repository.mjs +3 -3
  45. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
  46. package/dist/adapters/database/domains/identity-provider/subscriber.mjs +1 -1
  47. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  48. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts +15 -15
  49. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts.map +1 -1
  50. package/dist/adapters/database/domains/identity-provider-account/entity.mjs +50 -31
  51. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  52. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts +4 -4
  53. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts.map +1 -1
  54. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +18 -9
  55. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  56. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts +9 -9
  57. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts.map +1 -1
  58. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +29 -19
  59. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  60. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts +10 -10
  61. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts.map +1 -1
  62. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +32 -21
  63. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  64. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts +10 -10
  65. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts.map +1 -1
  66. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +32 -21
  67. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  68. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +1 -1
  69. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  70. package/dist/adapters/database/domains/index.d.ts +0 -3
  71. package/dist/adapters/database/domains/index.d.ts.map +1 -1
  72. package/dist/adapters/database/domains/index.mjs +1 -10
  73. package/dist/adapters/database/domains/key/entity.d.ts +6 -6
  74. package/dist/adapters/database/domains/key/entity.d.ts.map +1 -1
  75. package/dist/adapters/database/domains/key/entity.mjs +24 -14
  76. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  77. package/dist/adapters/database/domains/permission/entity.d.ts +7 -7
  78. package/dist/adapters/database/domains/permission/entity.d.ts.map +1 -1
  79. package/dist/adapters/database/domains/permission/entity.mjs +33 -18
  80. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  81. package/dist/adapters/database/domains/permission/subscriber.mjs +2 -2
  82. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  83. package/dist/adapters/database/domains/permission-policy/entity.d.ts +8 -8
  84. package/dist/adapters/database/domains/permission-policy/entity.d.ts.map +1 -1
  85. package/dist/adapters/database/domains/permission-policy/entity.mjs +29 -17
  86. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  87. package/dist/adapters/database/domains/policy/entity.d.ts +6 -6
  88. package/dist/adapters/database/domains/policy/entity.d.ts.map +1 -1
  89. package/dist/adapters/database/domains/policy/entity.mjs +28 -14
  90. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  91. package/dist/adapters/database/domains/policy/repository.mjs +3 -3
  92. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
  93. package/dist/adapters/database/domains/policy-attribute/entity.d.ts +4 -4
  94. package/dist/adapters/database/domains/policy-attribute/entity.d.ts.map +1 -1
  95. package/dist/adapters/database/domains/policy-attribute/entity.mjs +18 -9
  96. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  97. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +2 -2
  98. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
  99. package/dist/adapters/database/domains/realm/entity.d.ts +4 -4
  100. package/dist/adapters/database/domains/realm/entity.d.ts.map +1 -1
  101. package/dist/adapters/database/domains/realm/entity.mjs +16 -8
  102. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  103. package/dist/adapters/database/domains/role/entity.d.ts +6 -6
  104. package/dist/adapters/database/domains/role/entity.d.ts.map +1 -1
  105. package/dist/adapters/database/domains/role/entity.mjs +30 -16
  106. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  107. package/dist/adapters/database/domains/role/repository.mjs +3 -3
  108. package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
  109. package/dist/adapters/database/domains/role/subscriber.mjs +1 -1
  110. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  111. package/dist/adapters/database/domains/role-attribute/entity.d.ts +4 -4
  112. package/dist/adapters/database/domains/role-attribute/entity.d.ts.map +1 -1
  113. package/dist/adapters/database/domains/role-attribute/entity.mjs +18 -9
  114. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  115. package/dist/adapters/database/domains/role-attribute/subscriber.mjs +2 -2
  116. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  117. package/dist/adapters/database/domains/role-permission/entity.d.ts +10 -10
  118. package/dist/adapters/database/domains/role-permission/entity.d.ts.map +1 -1
  119. package/dist/adapters/database/domains/role-permission/entity.mjs +37 -21
  120. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  121. package/dist/adapters/database/domains/role-permission/subscriber.mjs +2 -2
  122. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  123. package/dist/adapters/database/domains/scope/entity.d.ts +5 -5
  124. package/dist/adapters/database/domains/scope/entity.d.ts.map +1 -1
  125. package/dist/adapters/database/domains/scope/entity.mjs +23 -12
  126. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  127. package/dist/adapters/database/domains/scope/subscriber.mjs +1 -1
  128. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  129. package/dist/adapters/database/domains/session/entity.d.ts +14 -17
  130. package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
  131. package/dist/adapters/database/domains/session/entity.mjs +42 -42
  132. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  133. package/dist/adapters/database/domains/session-token/entity.d.ts +9 -9
  134. package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -1
  135. package/dist/adapters/database/domains/session-token/entity.mjs +32 -19
  136. package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -1
  137. package/dist/adapters/database/domains/trust-anchor/entity.d.ts +3 -3
  138. package/dist/adapters/database/domains/trust-anchor/entity.d.ts.map +1 -1
  139. package/dist/adapters/database/domains/trust-anchor/entity.mjs +14 -8
  140. package/dist/adapters/database/domains/trust-anchor/entity.mjs.map +1 -1
  141. package/dist/adapters/database/domains/user/entity.d.ts +12 -12
  142. package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
  143. package/dist/adapters/database/domains/user/entity.mjs +42 -27
  144. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  145. package/dist/adapters/database/domains/user/repository.mjs +3 -3
  146. package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
  147. package/dist/adapters/database/domains/user/subscriber.mjs +1 -1
  148. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  149. package/dist/adapters/database/domains/user-attribute/entity.d.ts +4 -4
  150. package/dist/adapters/database/domains/user-attribute/entity.d.ts.map +1 -1
  151. package/dist/adapters/database/domains/user-attribute/entity.mjs +15 -9
  152. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  153. package/dist/adapters/database/domains/user-attribute/subscriber.mjs +2 -2
  154. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  155. package/dist/adapters/database/domains/user-authenticator/entity.d.ts +5 -5
  156. package/dist/adapters/database/domains/user-authenticator/entity.d.ts.map +1 -1
  157. package/dist/adapters/database/domains/user-authenticator/entity.mjs +24 -11
  158. package/dist/adapters/database/domains/user-authenticator/entity.mjs.map +1 -1
  159. package/dist/adapters/database/domains/user-permission/entity.d.ts +10 -10
  160. package/dist/adapters/database/domains/user-permission/entity.d.ts.map +1 -1
  161. package/dist/adapters/database/domains/user-permission/entity.mjs +37 -21
  162. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  163. package/dist/adapters/database/domains/user-permission/subscriber.mjs +2 -2
  164. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  165. package/dist/adapters/database/domains/user-role/entity.d.ts +8 -8
  166. package/dist/adapters/database/domains/user-role/entity.d.ts.map +1 -1
  167. package/dist/adapters/database/domains/user-role/entity.mjs +29 -17
  168. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  169. package/dist/adapters/database/domains/user-role/subscriber.mjs +2 -2
  170. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  171. package/dist/adapters/database/helpers/is-supported.mjs +1 -1
  172. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  173. package/dist/adapters/database/index.mjs +1 -7
  174. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts +12 -0
  175. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  176. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs +42 -0
  177. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  178. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts +18 -0
  179. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts.map +1 -0
  180. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs +161 -0
  181. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs.map +1 -0
  182. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts +12 -0
  183. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  184. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs +42 -0
  185. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  186. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts +18 -0
  187. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts.map +1 -0
  188. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs +167 -0
  189. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs.map +1 -0
  190. package/dist/adapters/http/adapters/index.mjs +1 -2
  191. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +2 -2
  192. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  193. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +3 -3
  194. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  195. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +1 -1
  196. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  197. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts +0 -1
  198. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts.map +1 -1
  199. package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +1 -2
  200. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +1 -1
  201. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  202. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +1 -1
  203. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  204. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +1 -4
  205. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
  206. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts.map +1 -1
  207. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +0 -3
  208. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
  209. package/dist/adapters/http/adapters/oauth2/index.mjs +1 -2
  210. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +3 -3
  211. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
  212. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +2 -2
  213. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
  214. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +2 -2
  215. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
  216. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  217. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +19 -13
  218. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  219. package/dist/adapters/http/controllers/entities/index.d.ts +0 -3
  220. package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
  221. package/dist/adapters/http/controllers/entities/index.mjs +1 -9
  222. package/dist/adapters/http/controllers/entities/key/module.d.ts.map +1 -1
  223. package/dist/adapters/http/controllers/entities/key/module.mjs +1 -7
  224. package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -1
  225. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts +1 -1
  226. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts.map +1 -1
  227. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +3 -3
  228. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
  229. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +1 -1
  230. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
  231. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +3 -3
  232. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
  233. package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
  234. package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts.map +1 -1
  235. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs +1 -7
  236. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -1
  237. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +1 -1
  238. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
  239. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs +1 -1
  240. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -1
  241. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +3 -3
  242. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
  243. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +2 -2
  244. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
  245. package/dist/adapters/http/controllers/index.mjs +1 -6
  246. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +4 -4
  247. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  248. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +10 -10
  249. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
  250. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +9 -9
  251. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
  252. package/dist/adapters/http/controllers/workflows/status/module.mjs +2 -2
  253. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  254. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  255. package/dist/adapters/http/controllers/workflows/token/module.mjs +2 -8
  256. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  257. package/dist/adapters/http/controllers/workflows/token/types.d.ts +1 -2
  258. package/dist/adapters/http/controllers/workflows/token/types.d.ts.map +1 -1
  259. package/dist/adapters/http/index.mjs +1 -7
  260. package/dist/adapters/http/middleware/built-in/assets.mjs +2 -2
  261. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  262. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +1 -2
  263. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
  264. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +1 -15
  265. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  266. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +0 -1
  267. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
  268. package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
  269. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +0 -1
  270. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  271. package/dist/adapters/http/request/client-certificate.d.ts +1 -0
  272. package/dist/adapters/http/request/client-certificate.d.ts.map +1 -1
  273. package/dist/adapters/http/request/client-certificate.mjs +1 -0
  274. package/dist/adapters/http/request/client-certificate.mjs.map +1 -1
  275. package/dist/adapters/http/request/helpers/body-realm-id.mjs +1 -1
  276. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
  277. package/dist/adapters/http/request/helpers/identity.d.ts +2 -2
  278. package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
  279. package/dist/adapters/http/request/helpers/identity.mjs +2 -2
  280. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
  281. package/dist/adapters/http/request/helpers/realm-id.mjs +1 -1
  282. package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -1
  283. package/dist/adapters/http/request/permission/module.d.ts +3 -2
  284. package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
  285. package/dist/adapters/http/request/permission/module.mjs +3 -0
  286. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  287. package/dist/adapters/http/ui/render.mjs +2 -2
  288. package/dist/adapters/http/ui/render.mjs.map +1 -1
  289. package/dist/adapters/http/ui/serve.d.ts.map +1 -1
  290. package/dist/adapters/http/ui/serve.mjs +4 -1
  291. package/dist/adapters/http/ui/serve.mjs.map +1 -1
  292. package/dist/app/index.mjs +1 -5
  293. package/dist/app/modules/authentication/repositories/session.d.ts +3 -2
  294. package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
  295. package/dist/app/modules/authentication/repositories/session.mjs +8 -40
  296. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  297. package/dist/app/modules/config/constants.d.ts +0 -4
  298. package/dist/app/modules/config/constants.d.ts.map +1 -1
  299. package/dist/app/modules/config/constants.mjs +0 -4
  300. package/dist/app/modules/config/constants.mjs.map +1 -1
  301. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  302. package/dist/app/modules/config/normalize.mjs +0 -4
  303. package/dist/app/modules/config/normalize.mjs.map +1 -1
  304. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  305. package/dist/app/modules/config/read/env.mjs +0 -8
  306. package/dist/app/modules/config/read/env.mjs.map +1 -1
  307. package/dist/app/modules/config/types.d.ts +0 -19
  308. package/dist/app/modules/config/types.d.ts.map +1 -1
  309. package/dist/app/modules/config/validator.d.ts.map +1 -1
  310. package/dist/app/modules/config/validator.mjs +0 -4
  311. package/dist/app/modules/config/validator.mjs.map +1 -1
  312. package/dist/app/modules/database/index.mjs +1 -4
  313. package/dist/app/modules/database/module.d.ts.map +1 -1
  314. package/dist/app/modules/database/module.mjs +2 -0
  315. package/dist/app/modules/database/module.mjs.map +1 -1
  316. package/dist/app/modules/database/repositories/bindings.d.ts +2 -2
  317. package/dist/app/modules/database/repositories/bindings.d.ts.map +1 -1
  318. package/dist/app/modules/database/repositories/bindings.mjs +3 -3
  319. package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
  320. package/dist/app/modules/database/repositories/client/repository.d.ts +3 -2
  321. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  322. package/dist/app/modules/database/repositories/client/repository.mjs +10 -82
  323. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  324. package/dist/app/modules/database/repositories/client-permission/repository.d.ts +2 -1
  325. package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
  326. package/dist/app/modules/database/repositories/client-permission/repository.mjs +3 -17
  327. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  328. package/dist/app/modules/database/repositories/client-role/repository.d.ts +2 -1
  329. package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
  330. package/dist/app/modules/database/repositories/client-role/repository.mjs +3 -17
  331. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  332. package/dist/app/modules/database/repositories/client-scope/repository.d.ts +2 -1
  333. package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
  334. package/dist/app/modules/database/repositories/client-scope/repository.mjs +3 -17
  335. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  336. package/dist/app/modules/database/repositories/event/repository.d.ts +2 -1
  337. package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -1
  338. package/dist/app/modules/database/repositories/event/repository.mjs +14 -53
  339. package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -1
  340. package/dist/app/modules/database/repositories/helpers.d.ts +17 -3
  341. package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
  342. package/dist/app/modules/database/repositories/helpers.mjs +40 -5
  343. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  344. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
  345. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  346. package/dist/app/modules/database/repositories/identity-provider/repository.mjs +6 -37
  347. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  348. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
  349. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
  350. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +3 -17
  351. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  352. package/dist/app/modules/database/repositories/index.d.ts +0 -3
  353. package/dist/app/modules/database/repositories/index.d.ts.map +1 -1
  354. package/dist/app/modules/database/repositories/index.mjs +1 -7
  355. package/dist/app/modules/database/repositories/key/repository.d.ts +3 -2
  356. package/dist/app/modules/database/repositories/key/repository.d.ts.map +1 -1
  357. package/dist/app/modules/database/repositories/key/repository.mjs +38 -72
  358. package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -1
  359. package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
  360. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  361. package/dist/app/modules/database/repositories/permission/repository.mjs +5 -20
  362. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  363. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
  364. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
  365. package/dist/app/modules/database/repositories/permission-policy/repository.mjs +3 -17
  366. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  367. package/dist/app/modules/database/repositories/permission-provider/module.mjs +6 -6
  368. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
  369. package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
  370. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  371. package/dist/app/modules/database/repositories/policy/repository.mjs +5 -39
  372. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  373. package/dist/app/modules/database/repositories/query.d.ts +18 -0
  374. package/dist/app/modules/database/repositories/query.d.ts.map +1 -0
  375. package/dist/app/modules/database/repositories/query.mjs +29 -0
  376. package/dist/app/modules/database/repositories/query.mjs.map +1 -0
  377. package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
  378. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  379. package/dist/app/modules/database/repositories/realm/repository.mjs +3 -25
  380. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  381. package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
  382. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  383. package/dist/app/modules/database/repositories/role/repository.mjs +6 -30
  384. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  385. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
  386. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  387. package/dist/app/modules/database/repositories/role-attribute/repository.mjs +3 -19
  388. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  389. package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
  390. package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
  391. package/dist/app/modules/database/repositories/role-permission/repository.mjs +3 -17
  392. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  393. package/dist/app/modules/database/repositories/schema-validation.d.ts +11 -0
  394. package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -0
  395. package/dist/app/modules/database/repositories/schema-validation.mjs +77 -0
  396. package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -0
  397. package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
  398. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  399. package/dist/app/modules/database/repositories/scope/repository.mjs +5 -29
  400. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  401. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts +2 -1
  402. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts.map +1 -1
  403. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +5 -29
  404. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs.map +1 -1
  405. package/dist/app/modules/database/repositories/user/repository.d.ts +3 -2
  406. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  407. package/dist/app/modules/database/repositories/user/repository.mjs +9 -66
  408. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  409. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
  410. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  411. package/dist/app/modules/database/repositories/user-attribute/repository.mjs +4 -20
  412. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  413. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts +2 -1
  414. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts.map +1 -1
  415. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs +8 -34
  416. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs.map +1 -1
  417. package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
  418. package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
  419. package/dist/app/modules/database/repositories/user-permission/repository.mjs +3 -17
  420. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  421. package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
  422. package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
  423. package/dist/app/modules/database/repositories/user-role/repository.mjs +3 -17
  424. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  425. package/dist/app/modules/http/modules/controller.d.ts +1 -4
  426. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  427. package/dist/app/modules/http/modules/controller.mjs +0 -52
  428. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  429. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  430. package/dist/app/modules/http/modules/middleware.mjs +0 -1
  431. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  432. package/dist/app/modules/identity/index.mjs +1 -2
  433. package/dist/app/modules/identity/module.d.ts.map +1 -1
  434. package/dist/app/modules/identity/module.mjs +1 -12
  435. package/dist/app/modules/identity/module.mjs.map +1 -1
  436. package/dist/app/modules/identity/repositories/client.mjs +2 -2
  437. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  438. package/dist/app/modules/identity/repositories/index.d.ts +0 -1
  439. package/dist/app/modules/identity/repositories/index.d.ts.map +1 -1
  440. package/dist/app/modules/identity/repositories/index.mjs +1 -2
  441. package/dist/app/modules/identity/repositories/provider/account/module.mjs +3 -3
  442. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  443. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +1 -1
  444. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  445. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +1 -1
  446. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  447. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +1 -1
  448. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  449. package/dist/app/modules/identity/repositories/user.mjs +18 -18
  450. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  451. package/dist/app/modules/index.mjs +1 -5
  452. package/dist/app/modules/oauth2/repositories/client/repository.mjs +1 -1
  453. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  454. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts +2 -1
  455. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -1
  456. package/dist/app/modules/oauth2/repositories/consent/repository.mjs +14 -38
  457. package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -1
  458. package/dist/app/modules/oauth2/repositories/scope/repository.mjs +1 -1
  459. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
  460. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +21 -18
  461. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
  462. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  463. package/dist/app/modules/provisioning/module.mjs +9 -24
  464. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  465. package/dist/app/modules/provisioning/sources/composite/module.d.ts +17 -0
  466. package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
  467. package/dist/app/modules/provisioning/sources/composite/module.mjs +54 -2
  468. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  469. package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
  470. package/dist/app/modules/provisioning/sources/default/module.mjs +43 -78
  471. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  472. package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
  473. package/dist/app/modules/provisioning/sources/file/module.mjs +4 -3
  474. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  475. package/dist/app/modules/provisioning/sources/file/types.d.ts +2 -0
  476. package/dist/app/modules/provisioning/sources/file/types.d.ts.map +1 -1
  477. package/dist/app/modules/provisioning/sources/index.mjs +1 -0
  478. package/dist/components/database/unique-entries/module.mjs +6 -6
  479. package/dist/components/database/unique-entries/module.mjs.map +1 -1
  480. package/dist/components/oauth2-cleaner/module.mjs +2 -2
  481. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  482. package/dist/core/authentication/credential/entities/client/module.d.ts +1 -1
  483. package/dist/core/authentication/credential/entities/client/module.d.ts.map +1 -1
  484. package/dist/core/authentication/credential/entities/client/module.mjs +3 -3
  485. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
  486. package/dist/core/authentication/credential/entities/index.d.ts +0 -1
  487. package/dist/core/authentication/credential/entities/index.d.ts.map +1 -1
  488. package/dist/core/authentication/credential/entities/index.mjs +1 -3
  489. package/dist/core/authentication/credential/index.mjs +1 -2
  490. package/dist/core/authentication/entities/client/module.mjs +1 -1
  491. package/dist/core/authentication/entities/client/module.mjs.map +1 -1
  492. package/dist/core/authentication/entities/index.d.ts +0 -1
  493. package/dist/core/authentication/entities/index.d.ts.map +1 -1
  494. package/dist/core/authentication/entities/index.mjs +1 -3
  495. package/dist/core/authentication/index.mjs +1 -3
  496. package/dist/core/authentication/session/module.d.ts.map +1 -1
  497. package/dist/core/authentication/session/module.mjs +14 -17
  498. package/dist/core/authentication/session/module.mjs.map +1 -1
  499. package/dist/core/authentication/session/types.d.ts +7 -6
  500. package/dist/core/authentication/session/types.d.ts.map +1 -1
  501. package/dist/core/authentication/session/types.mjs +4 -5
  502. package/dist/core/authentication/session/types.mjs.map +1 -1
  503. package/dist/core/client-certificate/module.d.ts +2 -1
  504. package/dist/core/client-certificate/module.d.ts.map +1 -1
  505. package/dist/core/client-certificate/module.mjs +2 -1
  506. package/dist/core/client-certificate/module.mjs.map +1 -1
  507. package/dist/core/client-certificate/reflect.d.ts +2 -0
  508. package/dist/core/client-certificate/reflect.d.ts.map +1 -0
  509. package/dist/core/{identity/entities/robot/index.mjs → client-certificate/reflect.mjs} +1 -0
  510. package/dist/core/client-certificate/types.d.ts +1 -1
  511. package/dist/core/client-certificate/types.d.ts.map +1 -1
  512. package/dist/core/entities/client/index.d.ts +1 -0
  513. package/dist/core/entities/client/index.d.ts.map +1 -1
  514. package/dist/core/entities/client/index.mjs +2 -1
  515. package/dist/core/entities/client/schema.d.ts +3 -0
  516. package/dist/core/entities/client/schema.d.ts.map +1 -0
  517. package/dist/core/entities/client/schema.mjs +59 -0
  518. package/dist/core/entities/client/schema.mjs.map +1 -0
  519. package/dist/core/entities/client/service.d.ts.map +1 -1
  520. package/dist/core/entities/client/service.mjs +42 -19
  521. package/dist/core/entities/client/service.mjs.map +1 -1
  522. package/dist/core/entities/client/types.d.ts +2 -1
  523. package/dist/core/entities/client/types.d.ts.map +1 -1
  524. package/dist/core/entities/client/web-client.d.ts +4 -4
  525. package/dist/core/entities/client/web-client.mjs +13 -13
  526. package/dist/core/entities/client/web-client.mjs.map +1 -1
  527. package/dist/core/entities/client-permission/index.d.ts +1 -0
  528. package/dist/core/entities/client-permission/index.d.ts.map +1 -1
  529. package/dist/core/entities/client-permission/index.mjs +2 -1
  530. package/dist/core/entities/client-permission/schema.d.ts +3 -0
  531. package/dist/core/entities/client-permission/schema.d.ts.map +1 -0
  532. package/dist/core/entities/client-permission/schema.mjs +41 -0
  533. package/dist/core/entities/client-permission/schema.mjs.map +1 -0
  534. package/dist/core/entities/client-permission/service.d.ts +1 -1
  535. package/dist/core/entities/client-permission/service.d.ts.map +1 -1
  536. package/dist/core/entities/client-permission/service.mjs +24 -18
  537. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  538. package/dist/core/entities/client-role/index.d.ts +1 -0
  539. package/dist/core/entities/client-role/index.d.ts.map +1 -1
  540. package/dist/core/entities/client-role/index.mjs +2 -1
  541. package/dist/core/entities/client-role/schema.d.ts +3 -0
  542. package/dist/core/entities/client-role/schema.d.ts.map +1 -0
  543. package/dist/core/entities/client-role/schema.mjs +39 -0
  544. package/dist/core/entities/client-role/schema.mjs.map +1 -0
  545. package/dist/core/entities/client-role/service.d.ts +1 -1
  546. package/dist/core/entities/client-role/service.d.ts.map +1 -1
  547. package/dist/core/entities/client-role/service.mjs +14 -8
  548. package/dist/core/entities/client-role/service.mjs.map +1 -1
  549. package/dist/core/entities/client-scope/index.d.ts +1 -0
  550. package/dist/core/entities/client-scope/index.d.ts.map +1 -1
  551. package/dist/core/entities/client-scope/index.mjs +2 -1
  552. package/dist/core/entities/client-scope/schema.d.ts +3 -0
  553. package/dist/core/entities/client-scope/schema.d.ts.map +1 -0
  554. package/dist/core/entities/client-scope/schema.mjs +37 -0
  555. package/dist/core/entities/client-scope/schema.mjs.map +1 -0
  556. package/dist/core/entities/client-scope/service.d.ts +1 -1
  557. package/dist/core/entities/client-scope/service.d.ts.map +1 -1
  558. package/dist/core/entities/client-scope/service.mjs +12 -6
  559. package/dist/core/entities/client-scope/service.mjs.map +1 -1
  560. package/dist/core/entities/consent/index.d.ts +1 -0
  561. package/dist/core/entities/consent/index.d.ts.map +1 -1
  562. package/dist/core/entities/consent/index.mjs +2 -1
  563. package/dist/core/entities/consent/schema.d.ts +3 -0
  564. package/dist/core/entities/consent/schema.d.ts.map +1 -0
  565. package/dist/core/entities/consent/schema.mjs +40 -0
  566. package/dist/core/entities/consent/schema.mjs.map +1 -0
  567. package/dist/core/entities/consent/service.d.ts.map +1 -1
  568. package/dist/core/entities/consent/service.mjs +22 -6
  569. package/dist/core/entities/consent/service.mjs.map +1 -1
  570. package/dist/core/entities/consent/types.d.ts +3 -2
  571. package/dist/core/entities/consent/types.d.ts.map +1 -1
  572. package/dist/core/entities/consent/types.mjs +3 -3
  573. package/dist/core/entities/consent/types.mjs.map +1 -1
  574. package/dist/core/entities/event/diff.d.ts +4 -4
  575. package/dist/core/entities/event/diff.mjs +5 -5
  576. package/dist/core/entities/event/diff.mjs.map +1 -1
  577. package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -1
  578. package/dist/core/entities/event/entity-event-handler.mjs +29 -31
  579. package/dist/core/entities/event/entity-event-handler.mjs.map +1 -1
  580. package/dist/core/entities/event/index.d.ts +1 -0
  581. package/dist/core/entities/event/index.d.ts.map +1 -1
  582. package/dist/core/entities/event/index.mjs +2 -1
  583. package/dist/core/entities/event/sanitize.mjs +8 -8
  584. package/dist/core/entities/event/sanitize.mjs.map +1 -1
  585. package/dist/core/entities/event/schema.d.ts +3 -0
  586. package/dist/core/entities/event/schema.d.ts.map +1 -0
  587. package/dist/core/entities/event/schema.mjs +51 -0
  588. package/dist/core/entities/event/schema.mjs.map +1 -0
  589. package/dist/core/entities/event/service.d.ts.map +1 -1
  590. package/dist/core/entities/event/service.mjs +38 -22
  591. package/dist/core/entities/event/service.mjs.map +1 -1
  592. package/dist/core/entities/event/types.d.ts +6 -5
  593. package/dist/core/entities/event/types.d.ts.map +1 -1
  594. package/dist/core/entities/identity-provider/index.d.ts +1 -0
  595. package/dist/core/entities/identity-provider/index.d.ts.map +1 -1
  596. package/dist/core/entities/identity-provider/index.mjs +2 -1
  597. package/dist/core/entities/identity-provider/schema.d.ts +3 -0
  598. package/dist/core/entities/identity-provider/schema.d.ts.map +1 -0
  599. package/dist/core/entities/identity-provider/schema.mjs +43 -0
  600. package/dist/core/entities/identity-provider/schema.mjs.map +1 -0
  601. package/dist/core/entities/identity-provider-role-mapping/index.d.ts +1 -0
  602. package/dist/core/entities/identity-provider-role-mapping/index.d.ts.map +1 -1
  603. package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -1
  604. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts +3 -0
  605. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts.map +1 -0
  606. package/dist/core/entities/identity-provider-role-mapping/schema.mjs +43 -0
  607. package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -0
  608. package/dist/core/entities/identity-provider-role-mapping/service.d.ts +1 -1
  609. package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
  610. package/dist/core/entities/identity-provider-role-mapping/service.mjs +17 -11
  611. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
  612. package/dist/core/entities/index.d.ts +0 -3
  613. package/dist/core/entities/index.d.ts.map +1 -1
  614. package/dist/core/entities/index.mjs +26 -7
  615. package/dist/core/entities/key/index.d.ts +1 -0
  616. package/dist/core/entities/key/index.d.ts.map +1 -1
  617. package/dist/core/entities/key/index.mjs +2 -1
  618. package/dist/core/entities/key/schema.d.ts +3 -0
  619. package/dist/core/entities/key/schema.d.ts.map +1 -0
  620. package/dist/core/entities/key/schema.mjs +53 -0
  621. package/dist/core/entities/key/schema.mjs.map +1 -0
  622. package/dist/core/entities/key/service.d.ts +2 -2
  623. package/dist/core/entities/key/service.d.ts.map +1 -1
  624. package/dist/core/entities/key/service.mjs +47 -28
  625. package/dist/core/entities/key/service.mjs.map +1 -1
  626. package/dist/core/entities/key/types.d.ts +9 -1
  627. package/dist/core/entities/key/types.d.ts.map +1 -1
  628. package/dist/core/entities/permission/index.d.ts +1 -0
  629. package/dist/core/entities/permission/index.d.ts.map +1 -1
  630. package/dist/core/entities/permission/index.mjs +2 -1
  631. package/dist/core/entities/permission/schema.d.ts +3 -0
  632. package/dist/core/entities/permission/schema.d.ts.map +1 -0
  633. package/dist/core/entities/permission/schema.mjs +28 -0
  634. package/dist/core/entities/permission/schema.mjs.map +1 -0
  635. package/dist/core/entities/permission/service.d.ts +7 -2
  636. package/dist/core/entities/permission/service.d.ts.map +1 -1
  637. package/dist/core/entities/permission/service.mjs +53 -40
  638. package/dist/core/entities/permission/service.mjs.map +1 -1
  639. package/dist/core/entities/permission-policy/index.d.ts +1 -0
  640. package/dist/core/entities/permission-policy/index.d.ts.map +1 -1
  641. package/dist/core/entities/permission-policy/index.mjs +2 -1
  642. package/dist/core/entities/permission-policy/schema.d.ts +3 -0
  643. package/dist/core/entities/permission-policy/schema.d.ts.map +1 -0
  644. package/dist/core/entities/permission-policy/schema.mjs +39 -0
  645. package/dist/core/entities/permission-policy/schema.mjs.map +1 -0
  646. package/dist/core/entities/permission-policy/service.d.ts +1 -1
  647. package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
  648. package/dist/core/entities/permission-policy/service.mjs +12 -6
  649. package/dist/core/entities/permission-policy/service.mjs.map +1 -1
  650. package/dist/core/entities/policy/index.d.ts +1 -0
  651. package/dist/core/entities/policy/index.d.ts.map +1 -1
  652. package/dist/core/entities/policy/index.mjs +2 -1
  653. package/dist/core/entities/policy/schema.d.ts +3 -0
  654. package/dist/core/entities/policy/schema.d.ts.map +1 -0
  655. package/dist/core/entities/policy/schema.mjs +49 -0
  656. package/dist/core/entities/policy/schema.mjs.map +1 -0
  657. package/dist/core/entities/policy/service.d.ts.map +1 -1
  658. package/dist/core/entities/policy/service.mjs +13 -7
  659. package/dist/core/entities/policy/service.mjs.map +1 -1
  660. package/dist/core/entities/realm/index.d.ts +1 -0
  661. package/dist/core/entities/realm/index.d.ts.map +1 -1
  662. package/dist/core/entities/realm/index.mjs +2 -1
  663. package/dist/core/entities/realm/schema.d.ts +3 -0
  664. package/dist/core/entities/realm/schema.d.ts.map +1 -0
  665. package/dist/core/entities/realm/schema.mjs +36 -0
  666. package/dist/core/entities/realm/schema.mjs.map +1 -0
  667. package/dist/core/entities/realm/service.d.ts.map +1 -1
  668. package/dist/core/entities/realm/service.mjs +5 -2
  669. package/dist/core/entities/realm/service.mjs.map +1 -1
  670. package/dist/core/entities/realm/types.d.ts +1 -1
  671. package/dist/core/entities/role/index.d.ts +1 -0
  672. package/dist/core/entities/role/index.d.ts.map +1 -1
  673. package/dist/core/entities/role/index.mjs +2 -1
  674. package/dist/core/entities/role/schema.d.ts +3 -0
  675. package/dist/core/entities/role/schema.d.ts.map +1 -0
  676. package/dist/core/entities/role/schema.mjs +43 -0
  677. package/dist/core/entities/role/schema.mjs.map +1 -0
  678. package/dist/core/entities/role/service.d.ts.map +1 -1
  679. package/dist/core/entities/role/service.mjs +11 -5
  680. package/dist/core/entities/role/service.mjs.map +1 -1
  681. package/dist/core/entities/role-attribute/index.d.ts +1 -0
  682. package/dist/core/entities/role-attribute/index.d.ts.map +1 -1
  683. package/dist/core/entities/role-attribute/index.mjs +2 -1
  684. package/dist/core/entities/role-attribute/schema.d.ts +3 -0
  685. package/dist/core/entities/role-attribute/schema.d.ts.map +1 -0
  686. package/dist/core/entities/role-attribute/schema.mjs +47 -0
  687. package/dist/core/entities/role-attribute/schema.mjs.map +1 -0
  688. package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
  689. package/dist/core/entities/role-attribute/service.mjs +19 -6
  690. package/dist/core/entities/role-attribute/service.mjs.map +1 -1
  691. package/dist/core/entities/role-permission/index.d.ts +1 -0
  692. package/dist/core/entities/role-permission/index.d.ts.map +1 -1
  693. package/dist/core/entities/role-permission/index.mjs +2 -1
  694. package/dist/core/entities/role-permission/schema.d.ts +3 -0
  695. package/dist/core/entities/role-permission/schema.d.ts.map +1 -0
  696. package/dist/core/entities/role-permission/schema.mjs +41 -0
  697. package/dist/core/entities/role-permission/schema.mjs.map +1 -0
  698. package/dist/core/entities/role-permission/service.d.ts +1 -1
  699. package/dist/core/entities/role-permission/service.d.ts.map +1 -1
  700. package/dist/core/entities/role-permission/service.mjs +24 -18
  701. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  702. package/dist/core/entities/scope/index.d.ts +1 -0
  703. package/dist/core/entities/scope/index.d.ts.map +1 -1
  704. package/dist/core/entities/scope/index.mjs +2 -1
  705. package/dist/core/entities/scope/schema.d.ts +3 -0
  706. package/dist/core/entities/scope/schema.d.ts.map +1 -0
  707. package/dist/core/entities/scope/schema.mjs +43 -0
  708. package/dist/core/entities/scope/schema.mjs.map +1 -0
  709. package/dist/core/entities/scope/service.d.ts.map +1 -1
  710. package/dist/core/entities/scope/service.mjs +11 -5
  711. package/dist/core/entities/scope/service.mjs.map +1 -1
  712. package/dist/core/entities/session/index.d.ts +1 -0
  713. package/dist/core/entities/session/index.d.ts.map +1 -1
  714. package/dist/core/entities/session/index.mjs +2 -1
  715. package/dist/core/entities/session/schema.d.ts +3 -0
  716. package/dist/core/entities/session/schema.d.ts.map +1 -0
  717. package/dist/core/entities/session/schema.mjs +44 -0
  718. package/dist/core/entities/session/schema.mjs.map +1 -0
  719. package/dist/core/entities/session/service.d.ts +11 -0
  720. package/dist/core/entities/session/service.d.ts.map +1 -1
  721. package/dist/core/entities/session/service.mjs +48 -11
  722. package/dist/core/entities/session/service.mjs.map +1 -1
  723. package/dist/core/entities/session/types.d.ts +2 -2
  724. package/dist/core/entities/trust-anchor/index.d.ts +1 -0
  725. package/dist/core/entities/trust-anchor/index.d.ts.map +1 -1
  726. package/dist/core/entities/trust-anchor/index.mjs +2 -1
  727. package/dist/core/entities/trust-anchor/schema.d.ts +3 -0
  728. package/dist/core/entities/trust-anchor/schema.d.ts.map +1 -0
  729. package/dist/core/entities/trust-anchor/schema.mjs +43 -0
  730. package/dist/core/entities/trust-anchor/schema.mjs.map +1 -0
  731. package/dist/core/entities/trust-anchor/service.d.ts +2 -2
  732. package/dist/core/entities/trust-anchor/service.d.ts.map +1 -1
  733. package/dist/core/entities/trust-anchor/service.mjs +23 -7
  734. package/dist/core/entities/trust-anchor/service.mjs.map +1 -1
  735. package/dist/core/entities/trust-anchor/types.d.ts +9 -1
  736. package/dist/core/entities/trust-anchor/types.d.ts.map +1 -1
  737. package/dist/core/entities/user/index.d.ts +1 -0
  738. package/dist/core/entities/user/index.d.ts.map +1 -1
  739. package/dist/core/entities/user/index.mjs +2 -1
  740. package/dist/core/entities/user/schema.d.ts +3 -0
  741. package/dist/core/entities/user/schema.d.ts.map +1 -0
  742. package/dist/core/entities/user/schema.mjs +50 -0
  743. package/dist/core/entities/user/schema.mjs.map +1 -0
  744. package/dist/core/entities/user/service.d.ts.map +1 -1
  745. package/dist/core/entities/user/service.mjs +33 -12
  746. package/dist/core/entities/user/service.mjs.map +1 -1
  747. package/dist/core/entities/user/types.d.ts +2 -1
  748. package/dist/core/entities/user/types.d.ts.map +1 -1
  749. package/dist/core/entities/user-attribute/index.d.ts +1 -0
  750. package/dist/core/entities/user-attribute/index.d.ts.map +1 -1
  751. package/dist/core/entities/user-attribute/index.mjs +2 -1
  752. package/dist/core/entities/user-attribute/schema.d.ts +3 -0
  753. package/dist/core/entities/user-attribute/schema.d.ts.map +1 -0
  754. package/dist/core/entities/user-attribute/schema.mjs +47 -0
  755. package/dist/core/entities/user-attribute/schema.mjs.map +1 -0
  756. package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
  757. package/dist/core/entities/user-attribute/service.mjs +26 -10
  758. package/dist/core/entities/user-attribute/service.mjs.map +1 -1
  759. package/dist/core/entities/user-authenticator/index.d.ts +1 -0
  760. package/dist/core/entities/user-authenticator/index.d.ts.map +1 -1
  761. package/dist/core/entities/user-authenticator/index.mjs +2 -1
  762. package/dist/core/entities/user-authenticator/schema.d.ts +3 -0
  763. package/dist/core/entities/user-authenticator/schema.d.ts.map +1 -0
  764. package/dist/core/entities/user-authenticator/schema.mjs +47 -0
  765. package/dist/core/entities/user-authenticator/schema.mjs.map +1 -0
  766. package/dist/core/entities/user-authenticator/service.d.ts.map +1 -1
  767. package/dist/core/entities/user-authenticator/service.mjs +49 -27
  768. package/dist/core/entities/user-authenticator/service.mjs.map +1 -1
  769. package/dist/core/entities/user-authenticator/types.d.ts +4 -3
  770. package/dist/core/entities/user-authenticator/types.d.ts.map +1 -1
  771. package/dist/core/entities/user-authenticator/types.mjs +2 -2
  772. package/dist/core/entities/user-authenticator/types.mjs.map +1 -1
  773. package/dist/core/entities/user-permission/index.d.ts +1 -0
  774. package/dist/core/entities/user-permission/index.d.ts.map +1 -1
  775. package/dist/core/entities/user-permission/index.mjs +2 -1
  776. package/dist/core/entities/user-permission/schema.d.ts +3 -0
  777. package/dist/core/entities/user-permission/schema.d.ts.map +1 -0
  778. package/dist/core/entities/user-permission/schema.mjs +41 -0
  779. package/dist/core/entities/user-permission/schema.mjs.map +1 -0
  780. package/dist/core/entities/user-permission/service.d.ts +1 -1
  781. package/dist/core/entities/user-permission/service.d.ts.map +1 -1
  782. package/dist/core/entities/user-permission/service.mjs +24 -18
  783. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  784. package/dist/core/entities/user-role/index.d.ts +1 -0
  785. package/dist/core/entities/user-role/index.d.ts.map +1 -1
  786. package/dist/core/entities/user-role/index.mjs +2 -1
  787. package/dist/core/entities/user-role/schema.d.ts +3 -0
  788. package/dist/core/entities/user-role/schema.d.ts.map +1 -0
  789. package/dist/core/entities/user-role/schema.mjs +39 -0
  790. package/dist/core/entities/user-role/schema.mjs.map +1 -0
  791. package/dist/core/entities/user-role/service.d.ts +1 -1
  792. package/dist/core/entities/user-role/service.d.ts.map +1 -1
  793. package/dist/core/entities/user-role/service.mjs +14 -8
  794. package/dist/core/entities/user-role/service.mjs.map +1 -1
  795. package/dist/core/identity/entities/index.d.ts +0 -1
  796. package/dist/core/identity/entities/index.d.ts.map +1 -1
  797. package/dist/core/identity/password-recovery/service.mjs +21 -21
  798. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  799. package/dist/core/identity/password-recovery/types.d.ts +2 -2
  800. package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
  801. package/dist/core/identity/permission/checker/service.mjs +2 -2
  802. package/dist/core/identity/permission/checker/service.mjs.map +1 -1
  803. package/dist/core/identity/permission/identity-policy-data.mjs +2 -2
  804. package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -1
  805. package/dist/core/identity/permission/junction-grant.d.ts +6 -6
  806. package/dist/core/identity/permission/junction-grant.mjs +14 -14
  807. package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
  808. package/dist/core/identity/permission/module.d.ts +0 -3
  809. package/dist/core/identity/permission/module.d.ts.map +1 -1
  810. package/dist/core/identity/permission/module.mjs +9 -15
  811. package/dist/core/identity/permission/module.mjs.map +1 -1
  812. package/dist/core/identity/permission/types.d.ts +0 -2
  813. package/dist/core/identity/permission/types.d.ts.map +1 -1
  814. package/dist/core/identity/policy/checker/service.mjs +1 -1
  815. package/dist/core/identity/policy/checker/service.mjs.map +1 -1
  816. package/dist/core/identity/provider/account/module.mjs +9 -9
  817. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  818. package/dist/core/identity/provider/authentication/presets/facebook.mjs +5 -5
  819. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  820. package/dist/core/identity/provider/authentication/presets/github.mjs +3 -3
  821. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  822. package/dist/core/identity/provider/authentication/presets/google.mjs +5 -5
  823. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  824. package/dist/core/identity/provider/authentication/presets/instagram.mjs +3 -3
  825. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  826. package/dist/core/identity/provider/authentication/presets/paypal.mjs +3 -3
  827. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  828. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +20 -20
  829. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
  830. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +5 -5
  831. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  832. package/dist/core/identity/provider/mapper/attributes/module.mjs +3 -3
  833. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
  834. package/dist/core/identity/provider/mapper/base.mjs +2 -2
  835. package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
  836. package/dist/core/identity/provider/mapper/permission/module.mjs +2 -2
  837. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
  838. package/dist/core/identity/provider/mapper/role/module.mjs +2 -2
  839. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
  840. package/dist/core/identity/registration/service.mjs +9 -9
  841. package/dist/core/identity/registration/service.mjs.map +1 -1
  842. package/dist/core/identity/resolver/module.d.ts +1 -3
  843. package/dist/core/identity/resolver/module.d.ts.map +1 -1
  844. package/dist/core/identity/resolver/module.mjs +0 -13
  845. package/dist/core/identity/resolver/module.mjs.map +1 -1
  846. package/dist/core/identity/resolver/types.d.ts +1 -2
  847. package/dist/core/identity/resolver/types.d.ts.map +1 -1
  848. package/dist/core/identity/role/module.d.ts +0 -2
  849. package/dist/core/identity/role/module.d.ts.map +1 -1
  850. package/dist/core/identity/role/module.mjs +1 -4
  851. package/dist/core/identity/role/module.mjs.map +1 -1
  852. package/dist/core/identity/role/types.d.ts +0 -2
  853. package/dist/core/identity/role/types.d.ts.map +1 -1
  854. package/dist/core/index.d.ts +1 -0
  855. package/dist/core/index.d.ts.map +1 -1
  856. package/dist/core/index.mjs +28 -9
  857. package/dist/core/key/realm-cipher.mjs +5 -5
  858. package/dist/core/key/realm-cipher.mjs.map +1 -1
  859. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +3 -3
  860. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  861. package/dist/core/oauth2/authorization/helpers.d.ts +2 -2
  862. package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
  863. package/dist/core/oauth2/authorization/helpers.mjs +5 -5
  864. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  865. package/dist/core/oauth2/authorization/module.mjs +8 -8
  866. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  867. package/dist/core/oauth2/client/authenticator.d.ts +1 -1
  868. package/dist/core/oauth2/client/authenticator.d.ts.map +1 -1
  869. package/dist/core/oauth2/client/authenticator.mjs +3 -3
  870. package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
  871. package/dist/core/oauth2/client/grant-type.d.ts +1 -1
  872. package/dist/core/oauth2/client/grant-type.d.ts.map +1 -1
  873. package/dist/core/oauth2/client/grant-type.mjs +2 -2
  874. package/dist/core/oauth2/client/grant-type.mjs.map +1 -1
  875. package/dist/core/oauth2/end-session/service.mjs +5 -5
  876. package/dist/core/oauth2/end-session/service.mjs.map +1 -1
  877. package/dist/core/oauth2/grant-types/authorize.mjs +9 -9
  878. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  879. package/dist/core/oauth2/grant-types/client-credentials.mjs +7 -7
  880. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
  881. package/dist/core/oauth2/grant-types/identity.mjs +10 -10
  882. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
  883. package/dist/core/oauth2/grant-types/index.d.ts +0 -1
  884. package/dist/core/oauth2/grant-types/index.d.ts.map +1 -1
  885. package/dist/core/oauth2/grant-types/index.mjs +1 -2
  886. package/dist/core/oauth2/grant-types/password.d.ts +1 -1
  887. package/dist/core/oauth2/grant-types/password.mjs +13 -13
  888. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  889. package/dist/core/oauth2/grant-types/refresh-token.mjs +12 -12
  890. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  891. package/dist/core/oauth2/index.mjs +1 -2
  892. package/dist/core/oauth2/mfa-login/module.mjs +21 -21
  893. package/dist/core/oauth2/mfa-login/module.mjs.map +1 -1
  894. package/dist/core/oauth2/mfa-login/types.d.ts +1 -1
  895. package/dist/core/oauth2/openid/claims.d.ts +1 -3
  896. package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
  897. package/dist/core/oauth2/openid/claims.mjs +6 -19
  898. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  899. package/dist/core/oauth2/scope/resolver.d.ts +1 -3
  900. package/dist/core/oauth2/scope/resolver.d.ts.map +1 -1
  901. package/dist/core/oauth2/scope/resolver.mjs +9 -31
  902. package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
  903. package/dist/core/oauth2/session-token/types.d.ts +8 -8
  904. package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
  905. package/dist/core/oauth2/token/issuer/access/module.mjs +7 -7
  906. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  907. package/dist/core/oauth2/token/issuer/refresh/module.mjs +5 -5
  908. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  909. package/dist/core/oauth2/token/signer/module.mjs +6 -6
  910. package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
  911. package/dist/core/oauth2/token/verifier/module.mjs +8 -8
  912. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  913. package/dist/core/provisioning/entities/index.d.ts +0 -1
  914. package/dist/core/provisioning/entities/index.d.ts.map +1 -1
  915. package/dist/core/provisioning/entities/index.mjs +1 -3
  916. package/dist/core/provisioning/entities/policy/validator.d.ts +2 -0
  917. package/dist/core/provisioning/entities/policy/validator.d.ts.map +1 -1
  918. package/dist/core/provisioning/entities/policy/validator.mjs +10 -1
  919. package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -1
  920. package/dist/core/provisioning/entities/realm/relations-validator.d.ts.map +1 -1
  921. package/dist/core/provisioning/entities/realm/relations-validator.mjs +0 -4
  922. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  923. package/dist/core/provisioning/entities/realm/types.d.ts +0 -2
  924. package/dist/core/provisioning/entities/realm/types.d.ts.map +1 -1
  925. package/dist/core/provisioning/entities/role/types.d.ts +2 -2
  926. package/dist/core/provisioning/index.mjs +1 -3
  927. package/dist/core/provisioning/synchronizer/client/module.mjs +11 -11
  928. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  929. package/dist/core/provisioning/synchronizer/entity-resolver.mjs +12 -12
  930. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  931. package/dist/core/provisioning/synchronizer/index.d.ts +0 -1
  932. package/dist/core/provisioning/synchronizer/index.d.ts.map +1 -1
  933. package/dist/core/provisioning/synchronizer/index.mjs +1 -3
  934. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +2 -2
  935. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
  936. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +2 -2
  937. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
  938. package/dist/core/provisioning/synchronizer/permission/module.mjs +8 -8
  939. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  940. package/dist/core/provisioning/synchronizer/policy/module.mjs +11 -11
  941. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
  942. package/dist/core/provisioning/synchronizer/realm/module.d.ts +0 -2
  943. package/dist/core/provisioning/synchronizer/realm/module.d.ts.map +1 -1
  944. package/dist/core/provisioning/synchronizer/realm/module.mjs +5 -15
  945. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  946. package/dist/core/provisioning/synchronizer/realm/types.d.ts +0 -2
  947. package/dist/core/provisioning/synchronizer/realm/types.d.ts.map +1 -1
  948. package/dist/core/provisioning/synchronizer/role/module.mjs +7 -7
  949. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  950. package/dist/core/provisioning/synchronizer/scope/module.mjs +1 -1
  951. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  952. package/dist/core/provisioning/synchronizer/user/module.mjs +13 -13
  953. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  954. package/dist/core/query/index.d.ts +4 -0
  955. package/dist/core/query/index.d.ts.map +1 -0
  956. package/dist/core/query/index.mjs +6 -0
  957. package/dist/core/query/module.d.ts +60 -0
  958. package/dist/core/query/module.d.ts.map +1 -0
  959. package/dist/core/query/module.mjs +128 -0
  960. package/dist/core/query/module.mjs.map +1 -0
  961. package/dist/core/query/relations.d.ts +39 -0
  962. package/dist/core/query/relations.d.ts.map +1 -0
  963. package/dist/core/query/relations.mjs +103 -0
  964. package/dist/core/query/relations.mjs.map +1 -0
  965. package/dist/core/query/types.d.ts +39 -0
  966. package/dist/core/query/types.d.ts.map +1 -0
  967. package/dist/core/security/policy/evaluator.d.ts +1 -0
  968. package/dist/core/security/policy/evaluator.d.ts.map +1 -1
  969. package/dist/core/security/policy/evaluator.mjs +52 -5
  970. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  971. package/dist/index.mjs +1 -17
  972. package/dist/swagger.json +2552 -3798
  973. package/dist/ui/client/.vite/ssr-manifest.json +1542 -894
  974. package/dist/ui/client/assets/{index-CT0Nq5pA.js → index-BmJ2X468.js} +21 -18
  975. package/dist/ui/client/assets/{index-BmWsoQro.css → index-DiOvW76Q.css} +1 -1
  976. package/dist/ui/client/index.html +2 -2
  977. package/dist/ui/server/server.js +9810 -3361
  978. package/package.json +27 -22
  979. package/dist/adapters/database/domains/robot/entity.d.ts +0 -19
  980. package/dist/adapters/database/domains/robot/entity.d.ts.map +0 -1
  981. package/dist/adapters/database/domains/robot/entity.mjs +0 -112
  982. package/dist/adapters/database/domains/robot/entity.mjs.map +0 -1
  983. package/dist/adapters/database/domains/robot/index.d.ts +0 -3
  984. package/dist/adapters/database/domains/robot/index.d.ts.map +0 -1
  985. package/dist/adapters/database/domains/robot/index.mjs +0 -6
  986. package/dist/adapters/database/domains/robot/subscriber.d.ts +0 -6
  987. package/dist/adapters/database/domains/robot/subscriber.d.ts.map +0 -1
  988. package/dist/adapters/database/domains/robot/subscriber.mjs +0 -42
  989. package/dist/adapters/database/domains/robot/subscriber.mjs.map +0 -1
  990. package/dist/adapters/database/domains/robot-permission/entity.d.ts +0 -18
  991. package/dist/adapters/database/domains/robot-permission/entity.d.ts.map +0 -1
  992. package/dist/adapters/database/domains/robot-permission/entity.mjs +0 -91
  993. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +0 -1
  994. package/dist/adapters/database/domains/robot-permission/index.d.ts +0 -3
  995. package/dist/adapters/database/domains/robot-permission/index.d.ts.map +0 -1
  996. package/dist/adapters/database/domains/robot-permission/index.mjs +0 -6
  997. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts +0 -6
  998. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts.map +0 -1
  999. package/dist/adapters/database/domains/robot-permission/subscriber.mjs +0 -45
  1000. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +0 -1
  1001. package/dist/adapters/database/domains/robot-role/entity.d.ts +0 -15
  1002. package/dist/adapters/database/domains/robot-role/entity.d.ts.map +0 -1
  1003. package/dist/adapters/database/domains/robot-role/entity.mjs +0 -72
  1004. package/dist/adapters/database/domains/robot-role/entity.mjs.map +0 -1
  1005. package/dist/adapters/database/domains/robot-role/index.d.ts +0 -3
  1006. package/dist/adapters/database/domains/robot-role/index.d.ts.map +0 -1
  1007. package/dist/adapters/database/domains/robot-role/index.mjs +0 -6
  1008. package/dist/adapters/database/domains/robot-role/subscriber.d.ts +0 -6
  1009. package/dist/adapters/database/domains/robot-role/subscriber.d.ts.map +0 -1
  1010. package/dist/adapters/database/domains/robot-role/subscriber.mjs +0 -45
  1011. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +0 -1
  1012. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts +0 -12
  1013. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1014. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +0 -27
  1015. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1016. package/dist/adapters/http/controllers/entities/robot/index.d.ts +0 -2
  1017. package/dist/adapters/http/controllers/entities/robot/index.d.ts.map +0 -1
  1018. package/dist/adapters/http/controllers/entities/robot/index.mjs +0 -5
  1019. package/dist/adapters/http/controllers/entities/robot/module.d.ts +0 -25
  1020. package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +0 -1
  1021. package/dist/adapters/http/controllers/entities/robot/module.mjs +0 -180
  1022. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +0 -1
  1023. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts +0 -3
  1024. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts.map +0 -1
  1025. package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +0 -7
  1026. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts +0 -17
  1027. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts.map +0 -1
  1028. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +0 -114
  1029. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +0 -1
  1030. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts +0 -2
  1031. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts.map +0 -1
  1032. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +0 -5
  1033. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts +0 -6
  1034. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts.map +0 -1
  1035. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +0 -21
  1036. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +0 -1
  1037. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts +0 -3
  1038. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts.map +0 -1
  1039. package/dist/adapters/http/controllers/entities/robot-role/index.mjs +0 -7
  1040. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts +0 -16
  1041. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts.map +0 -1
  1042. package/dist/adapters/http/controllers/entities/robot-role/module.mjs +0 -95
  1043. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +0 -1
  1044. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts +0 -2
  1045. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts.map +0 -1
  1046. package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +0 -5
  1047. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts +0 -6
  1048. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts.map +0 -1
  1049. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +0 -20
  1050. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +0 -1
  1051. package/dist/app/modules/database/repositories/robot/index.d.ts +0 -2
  1052. package/dist/app/modules/database/repositories/robot/index.d.ts.map +0 -1
  1053. package/dist/app/modules/database/repositories/robot/index.mjs +0 -5
  1054. package/dist/app/modules/database/repositories/robot/repository.d.ts +0 -31
  1055. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +0 -1
  1056. package/dist/app/modules/database/repositories/robot/repository.mjs +0 -190
  1057. package/dist/app/modules/database/repositories/robot/repository.mjs.map +0 -1
  1058. package/dist/app/modules/database/repositories/robot-permission/index.d.ts +0 -2
  1059. package/dist/app/modules/database/repositories/robot-permission/index.d.ts.map +0 -1
  1060. package/dist/app/modules/database/repositories/robot-permission/index.mjs +0 -5
  1061. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +0 -20
  1062. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +0 -1
  1063. package/dist/app/modules/database/repositories/robot-permission/repository.mjs +0 -79
  1064. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +0 -1
  1065. package/dist/app/modules/database/repositories/robot-role/index.d.ts +0 -2
  1066. package/dist/app/modules/database/repositories/robot-role/index.d.ts.map +0 -1
  1067. package/dist/app/modules/database/repositories/robot-role/index.mjs +0 -5
  1068. package/dist/app/modules/database/repositories/robot-role/repository.d.ts +0 -20
  1069. package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +0 -1
  1070. package/dist/app/modules/database/repositories/robot-role/repository.mjs +0 -79
  1071. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +0 -1
  1072. package/dist/app/modules/identity/repositories/robot.d.ts +0 -13
  1073. package/dist/app/modules/identity/repositories/robot.d.ts.map +0 -1
  1074. package/dist/app/modules/identity/repositories/robot.mjs +0 -47
  1075. package/dist/app/modules/identity/repositories/robot.mjs.map +0 -1
  1076. package/dist/core/authentication/credential/entities/robot/index.d.ts +0 -2
  1077. package/dist/core/authentication/credential/entities/robot/index.d.ts.map +0 -1
  1078. package/dist/core/authentication/credential/entities/robot/index.mjs +0 -5
  1079. package/dist/core/authentication/credential/entities/robot/module.d.ts +0 -8
  1080. package/dist/core/authentication/credential/entities/robot/module.d.ts.map +0 -1
  1081. package/dist/core/authentication/credential/entities/robot/module.mjs +0 -22
  1082. package/dist/core/authentication/credential/entities/robot/module.mjs.map +0 -1
  1083. package/dist/core/authentication/entities/robot/index.d.ts +0 -2
  1084. package/dist/core/authentication/entities/robot/index.d.ts.map +0 -1
  1085. package/dist/core/authentication/entities/robot/index.mjs +0 -5
  1086. package/dist/core/authentication/entities/robot/module.d.ts +0 -11
  1087. package/dist/core/authentication/entities/robot/module.d.ts.map +0 -1
  1088. package/dist/core/authentication/entities/robot/module.mjs +0 -29
  1089. package/dist/core/authentication/entities/robot/module.mjs.map +0 -1
  1090. package/dist/core/entities/robot/index.d.ts +0 -3
  1091. package/dist/core/entities/robot/index.d.ts.map +0 -1
  1092. package/dist/core/entities/robot/index.mjs +0 -5
  1093. package/dist/core/entities/robot/service.d.ts +0 -28
  1094. package/dist/core/entities/robot/service.d.ts.map +0 -1
  1095. package/dist/core/entities/robot/service.mjs +0 -201
  1096. package/dist/core/entities/robot/service.mjs.map +0 -1
  1097. package/dist/core/entities/robot/types.d.ts +0 -24
  1098. package/dist/core/entities/robot/types.d.ts.map +0 -1
  1099. package/dist/core/entities/robot/types.mjs +0 -4
  1100. package/dist/core/entities/robot-permission/index.d.ts +0 -3
  1101. package/dist/core/entities/robot-permission/index.d.ts.map +0 -1
  1102. package/dist/core/entities/robot-permission/index.mjs +0 -5
  1103. package/dist/core/entities/robot-permission/service.d.ts +0 -25
  1104. package/dist/core/entities/robot-permission/service.d.ts.map +0 -1
  1105. package/dist/core/entities/robot-permission/service.mjs +0 -137
  1106. package/dist/core/entities/robot-permission/service.mjs.map +0 -1
  1107. package/dist/core/entities/robot-permission/types.d.ts +0 -12
  1108. package/dist/core/entities/robot-permission/types.d.ts.map +0 -1
  1109. package/dist/core/entities/robot-role/index.d.ts +0 -3
  1110. package/dist/core/entities/robot-role/index.d.ts.map +0 -1
  1111. package/dist/core/entities/robot-role/index.mjs +0 -5
  1112. package/dist/core/entities/robot-role/service.d.ts +0 -22
  1113. package/dist/core/entities/robot-role/service.d.ts.map +0 -1
  1114. package/dist/core/entities/robot-role/service.mjs +0 -90
  1115. package/dist/core/entities/robot-role/service.mjs.map +0 -1
  1116. package/dist/core/entities/robot-role/types.d.ts +0 -11
  1117. package/dist/core/entities/robot-role/types.d.ts.map +0 -1
  1118. package/dist/core/entities/robot-role/types.mjs +0 -4
  1119. package/dist/core/identity/entities/robot/index.d.ts +0 -2
  1120. package/dist/core/identity/entities/robot/index.d.ts.map +0 -1
  1121. package/dist/core/identity/entities/robot/types.d.ts +0 -8
  1122. package/dist/core/identity/entities/robot/types.d.ts.map +0 -1
  1123. package/dist/core/identity/entities/robot/types.mjs +0 -4
  1124. package/dist/core/oauth2/grant-types/robot-credentials.d.ts +0 -8
  1125. package/dist/core/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1126. package/dist/core/oauth2/grant-types/robot-credentials.mjs +0 -39
  1127. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1128. package/dist/core/provisioning/entities/robot/index.d.ts +0 -3
  1129. package/dist/core/provisioning/entities/robot/index.d.ts.map +0 -1
  1130. package/dist/core/provisioning/entities/robot/index.mjs +0 -5
  1131. package/dist/core/provisioning/entities/robot/relations-validator.d.ts +0 -6
  1132. package/dist/core/provisioning/entities/robot/relations-validator.d.ts.map +0 -1
  1133. package/dist/core/provisioning/entities/robot/relations-validator.mjs +0 -20
  1134. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +0 -1
  1135. package/dist/core/provisioning/entities/robot/types.d.ts +0 -25
  1136. package/dist/core/provisioning/entities/robot/types.d.ts.map +0 -1
  1137. package/dist/core/provisioning/entities/robot/types.mjs +0 -4
  1138. package/dist/core/provisioning/entities/robot/validator.d.ts +0 -6
  1139. package/dist/core/provisioning/entities/robot/validator.d.ts.map +0 -1
  1140. package/dist/core/provisioning/entities/robot/validator.mjs +0 -24
  1141. package/dist/core/provisioning/entities/robot/validator.mjs.map +0 -1
  1142. package/dist/core/provisioning/synchronizer/robot/index.d.ts +0 -3
  1143. package/dist/core/provisioning/synchronizer/robot/index.d.ts.map +0 -1
  1144. package/dist/core/provisioning/synchronizer/robot/index.mjs +0 -5
  1145. package/dist/core/provisioning/synchronizer/robot/module.d.ts +0 -17
  1146. package/dist/core/provisioning/synchronizer/robot/module.d.ts.map +0 -1
  1147. package/dist/core/provisioning/synchronizer/robot/module.mjs +0 -72
  1148. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +0 -1
  1149. package/dist/core/provisioning/synchronizer/robot/types.d.ts +0 -9
  1150. package/dist/core/provisioning/synchronizer/robot/types.d.ts.map +0 -1
  1151. package/dist/core/provisioning/synchronizer/robot/types.mjs +0 -4
  1152. /package/dist/core/{entities/robot-permission → query}/types.mjs +0 -0
@@ -1,10 +1,14 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { roleAttributeSchema } from "./schema.mjs";
5
+ import { appendQueryConditions, decodeQuery } from "../../query/module.mjs";
6
+ import "../../query/index.mjs";
4
7
  import { PermissionName } from "@authup/core-kit";
5
8
  import { AbstractEntityService } from "@authup/server-kit";
6
9
  import { BuiltInPolicyType, definePolicyData } from "@authup/access";
7
10
  import { EntityNotFoundError, ValidationError } from "@authup/errors";
11
+ import { inArray } from "@rapiq/core";
8
12
  //#region src/core/entities/role-attribute/service.ts
9
13
  var RoleAttributeService = class extends AbstractEntityService {
10
14
  repository;
@@ -15,12 +19,21 @@ var RoleAttributeService = class extends AbstractEntityService {
15
19
  this.reservedNames = ctx.reservedNames ?? /* @__PURE__ */ new Set();
16
20
  }
17
21
  async getMany(query, actor) {
18
- await actor.permissionEvaluator.preEvaluateOneOf({ name: [
22
+ const permissionNames = [
19
23
  PermissionName.ROLE_READ,
20
24
  PermissionName.ROLE_UPDATE,
21
25
  PermissionName.ROLE_DELETE
22
- ] });
23
- const { data: entities, meta } = await this.repository.findMany(query);
26
+ ];
27
+ await actor.permissionEvaluator.preEvaluateOneOf({ name: permissionNames });
28
+ let parsed = await decodeQuery(query, {
29
+ schema: roleAttributeSchema,
30
+ actor
31
+ });
32
+ const compiled = await actor.permissionEvaluator.compile({ name: permissionNames });
33
+ if (compiled.verdict === "deny") parsed = appendQueryConditions(parsed, inArray("id", []));
34
+ else if (compiled.verdict === "conditional") parsed = appendQueryConditions(parsed, compiled.condition);
35
+ if (compiled.verdict !== "post") return this.repository.findMany(parsed);
36
+ const { data: entities, meta } = await this.repository.findMany(parsed);
24
37
  const data = [];
25
38
  let { total } = meta;
26
39
  for (const entity of entities) try {
@@ -72,7 +85,7 @@ var RoleAttributeService = class extends AbstractEntityService {
72
85
  await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_UPDATE });
73
86
  await this.repository.validateJoinColumns(data);
74
87
  if (typeof data.name === "string" && this.reservedNames.has(data.name)) throw new ValidationError(`The role-attribute name '${data.name}' collides with a Role entity column.`);
75
- data.realm_id = data.role.realm_id;
88
+ data.realmId = data.role.realmId;
76
89
  const entity = this.repository.create(data);
77
90
  await actor.permissionEvaluator.evaluate({
78
91
  name: PermissionName.ROLE_UPDATE,
@@ -90,9 +103,9 @@ var RoleAttributeService = class extends AbstractEntityService {
90
103
  if (typeof data.name === "string" && this.reservedNames.has(data.name)) throw new ValidationError(`The role-attribute name '${data.name}' collides with a Role entity column.`);
91
104
  let entity = await this.repository.findOneBy({ id });
92
105
  if (!entity) throw new EntityNotFoundError();
93
- delete data.role_id;
106
+ delete data.roleId;
94
107
  delete data.role;
95
- delete data.realm_id;
108
+ delete data.realmId;
96
109
  entity = this.repository.merge(entity, data);
97
110
  await actor.permissionEvaluator.evaluate({
98
111
  name: PermissionName.ROLE_UPDATE,
@@ -1 +1 @@
1
- {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","definePolicyData","EntityNotFoundError","ValidationError","PermissionName","AbstractEntityService","RoleAttributeService","repository","reservedNames","ctx","Set","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","ROLE_READ","ROLE_UPDATE","ROLE_DELETE","data","entities","meta","findMany","total","entity","evaluateOneOf","ATTRIBUTES","resourceRealmMatch","push","getOne","id","findOneBy","create","preEvaluate","validateJoinColumns","has","realm_id","role","evaluate","value","save","update","role_id","merge","delete","entityId","remove"],"sources":["../../../../src/core/entities/role-attribute/service.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 { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport { EntityNotFoundError, ValidationError } from '@authup/errors';\nimport { PermissionName } from '@authup/core-kit';\nimport type { RoleAttribute } from '@authup/core-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport type { IRoleAttributeRepository, IRoleAttributeService } from './types.ts';\n\nexport type RoleAttributeServiceContext = {\n repository: IRoleAttributeRepository;\n reservedNames?: ReadonlySet<string>;\n};\n\nexport class RoleAttributeService extends AbstractEntityService implements IRoleAttributeService {\n protected repository: IRoleAttributeRepository;\n\n protected reservedNames: ReadonlySet<string>;\n\n constructor(ctx: RoleAttributeServiceContext) {\n super();\n this.repository = ctx.repository;\n this.reservedNames = ctx.reservedNames ?? new Set();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<RoleAttribute>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROLE_READ,\n PermissionName.ROLE_UPDATE,\n PermissionName.ROLE_DELETE,\n ],\n });\n\n const {\n data: entities, \n meta, \n } = await this.repository.findMany(query);\n\n const data: RoleAttribute[] = [];\n let { total } = meta;\n\n for (const entity of entities) {\n try {\n await actor.permissionEvaluator.evaluateOneOf({\n name: [\n PermissionName.ROLE_READ,\n PermissionName.ROLE_UPDATE,\n PermissionName.ROLE_DELETE,\n ],\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, ...this.resourceRealmMatch(entity) }),\n });\n data.push(entity);\n } catch {\n total--;\n }\n }\n\n return {\n data,\n meta: {\n ...meta,\n total, \n }, \n };\n }\n\n async getOne(\n id: string,\n actor: ActorContext,\n ): Promise<RoleAttribute> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROLE_READ,\n PermissionName.ROLE_UPDATE,\n PermissionName.ROLE_DELETE,\n ],\n });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n await actor.permissionEvaluator.evaluateOneOf({\n name: [\n PermissionName.ROLE_READ,\n PermissionName.ROLE_UPDATE,\n PermissionName.ROLE_DELETE,\n ],\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, ...this.resourceRealmMatch(entity) }),\n });\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<RoleAttribute> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_UPDATE });\n\n await this.repository.validateJoinColumns(data);\n\n if (typeof data.name === 'string' && this.reservedNames.has(data.name)) {\n throw new ValidationError(`The role-attribute name '${data.name}' collides with a Role entity column.`);\n }\n\n data.realm_id = data.role.realm_id;\n\n const entity = this.repository.create(data);\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: { [data.name]: data.value },\n ...this.resourceRealmMatch(entity),\n }),\n });\n\n await this.repository.save(entity);\n\n return entity;\n }\n\n async update(\n id: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<RoleAttribute> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_UPDATE });\n\n await this.repository.validateJoinColumns(data);\n\n if (typeof data.name === 'string' && this.reservedNames.has(data.name)) {\n throw new ValidationError(`The role-attribute name '${data.name}' collides with a Role entity column.`);\n }\n\n let entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n // An attribute belongs to a fixed role; its owner (and the role-derived realm_id) is\n // IMMUTABLE on update — strip both from the body. This blocks reassigning the attribute\n // to another role (which would otherwise be authorized against the new realm, not the\n // one the attribute currently lives in) and blocks a caller-supplied realm_id that would\n // gate ROLE_UPDATE against a realm of their choosing. To move an attribute, delete + recreate.\n delete data.role_id;\n delete data.role;\n delete data.realm_id;\n\n entity = this.repository.merge(entity, data);\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: { [entity.name]: entity.value },\n ...this.resourceRealmMatch(entity),\n }),\n });\n\n await this.repository.save(entity);\n\n return entity;\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<RoleAttribute> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_UPDATE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_UPDATE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, ...this.resourceRealmMatch(entity) }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","definePolicyData","EntityNotFoundError","ValidationError","inArray","PermissionName","AbstractEntityService","appendQueryConditions","decodeQuery","roleAttributeSchema","RoleAttributeService","repository","reservedNames","ctx","Set","getMany","query","actor","permissionNames","ROLE_READ","ROLE_UPDATE","ROLE_DELETE","permissionEvaluator","preEvaluateOneOf","name","parsed","schema","compiled","compile","verdict","condition","findMany","data","entities","meta","total","entity","evaluateOneOf","ATTRIBUTES","resourceRealmMatch","push","getOne","id","findOneBy","create","preEvaluate","validateJoinColumns","has","realmId","role","evaluate","value","save","update","roleId","merge","delete","entityId","remove"],"sources":["../../../../src/core/entities/role-attribute/service.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 { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport { EntityNotFoundError, ValidationError } from '@authup/errors';\nimport { inArray } from '@rapiq/core';\nimport { PermissionName } from '@authup/core-kit';\nimport type { RoleAttribute } from '@authup/core-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport type { IRoleAttributeRepository, IRoleAttributeService } from './types.ts';\nimport { appendQueryConditions, decodeQuery } from '../../query/index.ts';\nimport { roleAttributeSchema } from './schema.ts';\n\nexport type RoleAttributeServiceContext = {\n repository: IRoleAttributeRepository;\n reservedNames?: ReadonlySet<string>;\n};\n\nexport class RoleAttributeService extends AbstractEntityService implements IRoleAttributeService {\n protected repository: IRoleAttributeRepository;\n\n protected reservedNames: ReadonlySet<string>;\n\n constructor(ctx: RoleAttributeServiceContext) {\n super();\n this.repository = ctx.repository;\n this.reservedNames = ctx.reservedNames ?? new Set();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<RoleAttribute>> {\n const permissionNames = [\n PermissionName.ROLE_READ,\n PermissionName.ROLE_UPDATE,\n PermissionName.ROLE_DELETE,\n ];\n\n await actor.permissionEvaluator.preEvaluateOneOf({ name: permissionNames });\n\n let parsed = await decodeQuery(query, { schema: roleAttributeSchema, actor });\n\n // Compile the read permissions into a row condition (#3286 phase 3): the\n // authorization runs as WHERE, so pagination and totals stay exact. A\n // non-expressible policy falls back to the per-row loop below.\n const compiled = await actor.permissionEvaluator.compile({ name: permissionNames });\n if (compiled.verdict === 'deny') {\n // no row can pass — a constant-false condition keeps the meta shape\n parsed = appendQueryConditions(parsed, inArray('id', []));\n } else if (compiled.verdict === 'conditional') {\n parsed = appendQueryConditions(parsed, compiled.condition);\n }\n\n if (compiled.verdict !== 'post') {\n return this.repository.findMany(parsed);\n }\n\n const {\n data: entities,\n meta,\n } = await this.repository.findMany(parsed);\n\n const data: RoleAttribute[] = [];\n let { total } = meta;\n\n for (const entity of entities) {\n try {\n await actor.permissionEvaluator.evaluateOneOf({\n name: [\n PermissionName.ROLE_READ,\n PermissionName.ROLE_UPDATE,\n PermissionName.ROLE_DELETE,\n ],\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, ...this.resourceRealmMatch(entity) }),\n });\n data.push(entity);\n } catch {\n total--;\n }\n }\n\n return {\n data,\n meta: {\n ...meta,\n total, \n }, \n };\n }\n\n async getOne(\n id: string,\n actor: ActorContext,\n ): Promise<RoleAttribute> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROLE_READ,\n PermissionName.ROLE_UPDATE,\n PermissionName.ROLE_DELETE,\n ],\n });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n await actor.permissionEvaluator.evaluateOneOf({\n name: [\n PermissionName.ROLE_READ,\n PermissionName.ROLE_UPDATE,\n PermissionName.ROLE_DELETE,\n ],\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, ...this.resourceRealmMatch(entity) }),\n });\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<RoleAttribute> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_UPDATE });\n\n await this.repository.validateJoinColumns(data);\n\n if (typeof data.name === 'string' && this.reservedNames.has(data.name)) {\n throw new ValidationError(`The role-attribute name '${data.name}' collides with a Role entity column.`);\n }\n\n data.realmId = data.role.realmId;\n\n const entity = this.repository.create(data);\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: { [data.name]: data.value },\n ...this.resourceRealmMatch(entity),\n }),\n });\n\n await this.repository.save(entity);\n\n return entity;\n }\n\n async update(\n id: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<RoleAttribute> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_UPDATE });\n\n await this.repository.validateJoinColumns(data);\n\n if (typeof data.name === 'string' && this.reservedNames.has(data.name)) {\n throw new ValidationError(`The role-attribute name '${data.name}' collides with a Role entity column.`);\n }\n\n let entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n // An attribute belongs to a fixed role; its owner (and the role-derived realmId) is\n // IMMUTABLE on update — strip both from the body. This blocks reassigning the attribute\n // to another role (which would otherwise be authorized against the new realm, not the\n // one the attribute currently lives in) and blocks a caller-supplied realmId that would\n // gate ROLE_UPDATE against a realm of their choosing. To move an attribute, delete + recreate.\n delete data.roleId;\n delete data.role;\n delete data.realmId;\n\n entity = this.repository.merge(entity, data);\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: { [entity.name]: entity.value },\n ...this.resourceRealmMatch(entity),\n }),\n });\n\n await this.repository.save(entity);\n\n return entity;\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<RoleAttribute> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_UPDATE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_UPDATE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, ...this.resourceRealmMatch(entity) }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":";;;;;;;;;;;;AAuBA,IAAaU,uBAAb,cAA0CJ,sBAAAA;CAC5BK;CAEAC;CAEV,YAAYC,KAAkC;EAC1C,MAAK;EACL,KAAKF,aAAaE,IAAIF;EACtB,KAAKC,gBAAgBC,IAAID,iCAAiB,IAAIE,IAAAA;CAClD;CAEA,MAAMC,QACFC,OACAC,OACsD;EACtD,MAAMC,kBAAkB;GACpBb,eAAec;GACfd,eAAee;GACff,eAAegB;;EAGnB,MAAMJ,MAAMK,oBAAoBC,iBAAiB,EAAEC,MAAMN,gBAAgB,CAAA;EAEzE,IAAIO,SAAS,MAAMjB,YAAYQ,OAAO;GAAEU,QAAQjB;GAAqBQ;EAAM,CAAA;EAK3E,MAAMU,WAAW,MAAMV,MAAMK,oBAAoBM,QAAQ,EAAEJ,MAAMN,gBAAgB,CAAA;EACjF,IAAIS,SAASE,YAAY,QAErBJ,SAASlB,sBAAsBkB,QAAQrB,QAAQ,MAAM,CAAA,CAAE,CAAA;OACpD,IAAIuB,SAASE,YAAY,eAC5BJ,SAASlB,sBAAsBkB,QAAQE,SAASG,SAAS;EAG7D,IAAIH,SAASE,YAAY,QACrB,OAAO,KAAKlB,WAAWoB,SAASN,MAAAA;EAGpC,MAAM,EACFO,MAAMC,UACNC,SACA,MAAM,KAAKvB,WAAWoB,SAASN,MAAAA;EAEnC,MAAMO,OAAwB,CAAA;EAC9B,IAAI,EAAEG,UAAUD;EAEhB,KAAK,MAAME,UAAUH,UACjB,IAAI;GACA,MAAMhB,MAAMK,oBAAoBe,cAAc;IAC1Cb,MAAM;KACFnB,eAAec;KACfd,eAAee;KACff,eAAegB;;IAEnBW,MAAM/B,iBAAiB;MAAGD,kBAAkBsC,aAAaF;KAAQ,GAAG,KAAKG,mBAAmBH,MAAAA;IAAQ,CAAA;GACxG,CAAA;GACAJ,KAAKQ,KAAKJ,MAAAA;EACd,QAAQ;GACJD;EACJ;EAGJ,OAAO;GACHH;GACAE,MAAM;IACF,GAAGA;IACHC;GACJ;EACJ;CACJ;CAEA,MAAMM,OACFC,IACAzB,OACsB;EACtB,MAAMA,MAAMK,oBAAoBC,iBAAiB,EAC7CC,MAAM;GACFnB,eAAec;GACfd,eAAee;GACff,eAAegB;IAEvB,CAAA;EAEA,MAAMe,SAAS,MAAM,KAAKzB,WAAWgC,UAAU,EAAED,GAAG,CAAA;EACpD,IAAI,CAACN,QACD,MAAM,IAAIlC,oBAAAA;EAGd,MAAMe,MAAMK,oBAAoBe,cAAc;GAC1Cb,MAAM;IACFnB,eAAec;IACfd,eAAee;IACff,eAAegB;;GAEnBW,MAAM/B,iBAAiB;KAAGD,kBAAkBsC,aAAaF;IAAQ,GAAG,KAAKG,mBAAmBH,MAAAA;GAAQ,CAAA;EACxG,CAAA;EAEA,OAAOA;CACX;CAEA,MAAMQ,OACFZ,MACAf,OACsB;EACtB,MAAMA,MAAMK,oBAAoBuB,YAAY,EAAErB,MAAMnB,eAAee,YAAY,CAAA;EAE/E,MAAM,KAAKT,WAAWmC,oBAAoBd,IAAAA;EAE1C,IAAI,OAAOA,KAAKR,SAAS,YAAY,KAAKZ,cAAcmC,IAAIf,KAAKR,IAAI,GACjE,MAAM,IAAIrB,gBAAgB,4BAA4B6B,KAAKR,KAAK,sCAAsC;EAG1GQ,KAAKgB,UAAUhB,KAAKiB,KAAKD;EAEzB,MAAMZ,SAAS,KAAKzB,WAAWiC,OAAOZ,IAAAA;EAEtC,MAAMf,MAAMK,oBAAoB4B,SAAS;GACrC1B,MAAMnB,eAAee;GACrBY,MAAM/B,iBAAiB;KAClBD,kBAAkBsC,aAAa,GAAGN,KAAKR,OAAOQ,KAAKmB,MAAM;IAC1D,GAAG,KAAKZ,mBAAmBH,MAAAA;GAC/B,CAAA;EACJ,CAAA;EAEA,MAAM,KAAKzB,WAAWyC,KAAKhB,MAAAA;EAE3B,OAAOA;CACX;CAEA,MAAMiB,OACFX,IACAV,MACAf,OACsB;EACtB,MAAMA,MAAMK,oBAAoBuB,YAAY,EAAErB,MAAMnB,eAAee,YAAY,CAAA;EAE/E,MAAM,KAAKT,WAAWmC,oBAAoBd,IAAAA;EAE1C,IAAI,OAAOA,KAAKR,SAAS,YAAY,KAAKZ,cAAcmC,IAAIf,KAAKR,IAAI,GACjE,MAAM,IAAIrB,gBAAgB,4BAA4B6B,KAAKR,KAAK,sCAAsC;EAG1G,IAAIY,SAAS,MAAM,KAAKzB,WAAWgC,UAAU,EAAED,GAAG,CAAA;EAClD,IAAI,CAACN,QACD,MAAM,IAAIlC,oBAAAA;EAQd,OAAO8B,KAAKsB;EACZ,OAAOtB,KAAKiB;EACZ,OAAOjB,KAAKgB;EAEZZ,SAAS,KAAKzB,WAAW4C,MAAMnB,QAAQJ,IAAAA;EAEvC,MAAMf,MAAMK,oBAAoB4B,SAAS;GACrC1B,MAAMnB,eAAee;GACrBY,MAAM/B,iBAAiB;KAClBD,kBAAkBsC,aAAa,GAAGF,OAAOZ,OAAOY,OAAOe,MAAM;IAC9D,GAAG,KAAKZ,mBAAmBH,MAAAA;GAC/B,CAAA;EACJ,CAAA;EAEA,MAAM,KAAKzB,WAAWyC,KAAKhB,MAAAA;EAE3B,OAAOA;CACX;CAEA,MAAMoB,OACFd,IACAzB,OACsB;EACtB,MAAMA,MAAMK,oBAAoBuB,YAAY,EAAErB,MAAMnB,eAAee,YAAY,CAAA;EAE/E,MAAMgB,SAAS,MAAM,KAAKzB,WAAWgC,UAAU,EAAED,GAAG,CAAA;EACpD,IAAI,CAACN,QACD,MAAM,IAAIlC,oBAAAA;EAGd,MAAMe,MAAMK,oBAAoB4B,SAAS;GACrC1B,MAAMnB,eAAee;GACrBY,MAAM/B,iBAAiB;KAAGD,kBAAkBsC,aAAaF;IAAQ,GAAG,KAAKG,mBAAmBH,MAAAA;GAAQ,CAAA;EACxG,CAAA;EAEA,MAAM,EAAEM,IAAIe,aAAarB;EACzB,MAAM,KAAKzB,WAAW+C,OAAOtB,MAAAA;EAC7BA,OAAOM,KAAKe;EAEZ,OAAOrB;CACX;AACJ"}
@@ -1,3 +1,4 @@
1
1
  export * from './service.ts';
2
2
  export * from './types.ts';
3
+ export * from './schema.ts';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/role-permission/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/role-permission/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { rolePermissionSchema } from "./schema.mjs";
4
5
  import { RolePermissionService } from "./service.mjs";
5
- export { RolePermissionService };
6
+ export { RolePermissionService, rolePermissionSchema };
@@ -0,0 +1,3 @@
1
+ import type { RolePermission } from '@authup/core-kit';
2
+ export declare const rolePermissionSchema: import("@rapiq/core").Schema<RolePermission, any>;
3
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/role-permission/schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD,eAAO,MAAM,oBAAoB,mDAqB/B,CAAC"}
@@ -0,0 +1,41 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { createRelationsReadGate } from "../../query/relations.mjs";
5
+ import { EntityType } from "@authup/core-kit";
6
+ import { defineSchema } from "@rapiq/core";
7
+ //#region src/core/entities/role-permission/schema.ts
8
+ const schemaMapping = {
9
+ role: EntityType.ROLE,
10
+ permission: EntityType.PERMISSION
11
+ };
12
+ const rolePermissionSchema = defineSchema({
13
+ name: EntityType.ROLE_PERMISSION,
14
+ fields: { default: [
15
+ "id",
16
+ "policyId",
17
+ "realmScope",
18
+ "permissionId",
19
+ "permissionRealmId",
20
+ "roleId",
21
+ "roleRealmId",
22
+ "createdAt",
23
+ "updatedAt"
24
+ ] },
25
+ filters: { allowed: ["roleId", "permissionId"] },
26
+ relations: {
27
+ allowed: ["role", "permission"],
28
+ validate: createRelationsReadGate(schemaMapping)
29
+ },
30
+ sort: { allowed: [
31
+ "id",
32
+ "createdAt",
33
+ "updatedAt"
34
+ ] },
35
+ pagination: { maxLimit: 50 },
36
+ schemaMapping
37
+ });
38
+ //#endregion
39
+ export { rolePermissionSchema };
40
+
41
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.mjs","names":["defineSchema","EntityType","createRelationsReadGate","schemaMapping","role","ROLE","permission","PERMISSION","rolePermissionSchema","name","ROLE_PERMISSION","fields","default","filters","allowed","relations","validate","sort","pagination","maxLimit"],"sources":["../../../../src/core/entities/role-permission/schema.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { defineSchema } from '@rapiq/core';\nimport type { RolePermission } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\nimport { createRelationsReadGate } from '../../query/relations.ts';\n\nconst schemaMapping = { role: EntityType.ROLE, permission: EntityType.PERMISSION };\n\nexport const rolePermissionSchema = defineSchema<RolePermission>({\n name: EntityType.ROLE_PERMISSION,\n // see user-role schema — explicit root projection for include= decodes\n fields: {\n default: [\n 'id',\n 'policyId',\n 'realmScope',\n 'permissionId',\n 'permissionRealmId',\n 'roleId',\n 'roleRealmId',\n 'createdAt',\n 'updatedAt',\n ],\n },\n filters: { allowed: ['roleId', 'permissionId'] },\n relations: { allowed: ['role', 'permission'], validate: createRelationsReadGate(schemaMapping) },\n sort: { allowed: ['id', 'createdAt', 'updatedAt'] },\n pagination: { maxLimit: 50 },\n schemaMapping,\n});\n"],"mappings":";;;;;;;AAYA,MAAMG,gBAAgB;CAAEC,MAAMH,WAAWI;CAAMC,YAAYL,WAAWM;AAAW;AAEjF,MAAaC,uBAAuBR,aAA6B;CAC7DS,MAAMR,WAAWS;CAEjBC,QAAQ,EACJC,SAAS;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GAER;CACAC,SAAS,EAAEC,SAAS,CAAC,UAAU,cAAA,EAAgB;CAC/CC,WAAW;EAAED,SAAS,CAAC,QAAQ,YAAA;EAAeE,UAAUd,wBAAwBC,aAAAA;CAAe;CAC/Fc,MAAM,EAAEH,SAAS;EAAC;EAAM;EAAa;GAAa;CAClDI,YAAY,EAAEC,UAAU,GAAG;CAC3BhB;AACJ,CAAA"}
@@ -10,7 +10,7 @@ export type RolePermissionServiceContext = {
10
10
  identityPermissionProvider: IIdentityPermissionProvider;
11
11
  };
12
12
  export declare class RolePermissionService extends JunctionEntityService implements IRolePermissionService {
13
- protected readonly ownerRealmKey = "role_realm_id";
13
+ protected readonly ownerRealmKey = "roleRealmId";
14
14
  protected repository: IRolePermissionRepository;
15
15
  protected permissionRepository: IEntityRepository<Permission>;
16
16
  protected identityPermissionProvider: IIdentityPermissionProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/role-permission/service.ts"],"names":[],"mappings":"AAcA,OAAO,EAEH,uBAAuB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpF,MAAM,MAAM,4BAA4B,GAAG;IACvC,UAAU,EAAE,yBAAyB,CAAC;IACtC,oBAAoB,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpD,0BAA0B,EAAE,2BAA2B,CAAC;CAC3D,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,qBAAsB,YAAW,sBAAsB;IAC9F,SAAS,CAAC,QAAQ,CAAC,aAAa,mBAAmB;IAEnD,SAAS,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAEhD,SAAS,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE9D,SAAS,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;IAElE,SAAS,CAAC,SAAS,EAAE,uBAAuB,CAAC;gBAEjC,GAAG,EAAE,4BAA4B;IAQvC,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAWpD,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC;IAgBpB,MAAM,CACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC;IA+DpB,MAAM,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC;IAoEpB,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC;CAsB7B"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/role-permission/service.ts"],"names":[],"mappings":"AAcA,OAAO,EAEH,uBAAuB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIpF,MAAM,MAAM,4BAA4B,GAAG;IACvC,UAAU,EAAE,yBAAyB,CAAC;IACtC,oBAAoB,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpD,0BAA0B,EAAE,2BAA2B,CAAC;CAC3D,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,qBAAsB,YAAW,sBAAsB;IAC9F,SAAS,CAAC,QAAQ,CAAC,aAAa,iBAAiB;IAEjD,SAAS,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAEhD,SAAS,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE9D,SAAS,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;IAElE,SAAS,CAAC,SAAS,EAAE,uBAAuB,CAAC;gBAEjC,GAAG,EAAE,4BAA4B;IAQvC,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAWpD,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC;IAgBpB,MAAM,CACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC;IA+DpB,MAAM,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC;IAoEpB,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC;CAsB7B"}
@@ -1,6 +1,9 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { rolePermissionSchema } from "./schema.mjs";
5
+ import { decodeQuery } from "../../query/module.mjs";
6
+ import "../../query/index.mjs";
4
7
  import { applyJunctionCreateGrant, buildJunctionUpdateData } from "../../identity/permission/junction-grant.mjs";
5
8
  import { ValidatorGroup } from "@authup/kit";
6
9
  import { PermissionName, RolePermissionValidator } from "@authup/core-kit";
@@ -9,7 +12,7 @@ import { BuiltInPolicyType, RealmScope, definePolicyData } from "@authup/access"
9
12
  import { EntityConflictError, EntityNotFoundError } from "@authup/errors";
10
13
  //#region src/core/entities/role-permission/service.ts
11
14
  var RolePermissionService = class extends JunctionEntityService {
12
- ownerRealmKey = "role_realm_id";
15
+ ownerRealmKey = "roleRealmId";
13
16
  repository;
14
17
  permissionRepository;
15
18
  identityPermissionProvider;
@@ -23,7 +26,10 @@ var RolePermissionService = class extends JunctionEntityService {
23
26
  }
24
27
  async getMany(query, actor) {
25
28
  await actor.permissionEvaluator.preEvaluateOneOf({ name: [PermissionName.ROLE_PERMISSION_DELETE, PermissionName.ROLE_PERMISSION_READ] });
26
- return this.repository.findMany(query);
29
+ return this.repository.findMany(await decodeQuery(query, {
30
+ schema: rolePermissionSchema,
31
+ actor
32
+ }));
27
33
  }
28
34
  async getOne(id, actor) {
29
35
  await actor.permissionEvaluator.preEvaluateOneOf({ name: [PermissionName.ROLE_PERMISSION_DELETE, PermissionName.ROLE_PERMISSION_READ] });
@@ -36,26 +42,26 @@ var RolePermissionService = class extends JunctionEntityService {
36
42
  const validated = await this.validator.run(data, { group: ValidatorGroup.CREATE });
37
43
  await this.repository.validateJoinColumns(validated);
38
44
  if (await this.repository.findOneBy({
39
- role_id: validated.role_id,
40
- permission_id: validated.permission_id
45
+ roleId: validated.roleId,
46
+ permissionId: validated.permissionId
41
47
  })) throw new EntityConflictError({ entity: "role-permission" });
42
48
  if (validated.permission) {
43
- validated.permission_realm_id = validated.permission.realm_id;
49
+ validated.permissionRealmId = validated.permission.realmId;
44
50
  await actor.permissionEvaluator.preEvaluate({
45
51
  name: validated.permission.name,
46
- realmId: validated.permission.realm_id,
47
- clientId: validated.permission.client_id
52
+ realmId: validated.permission.realmId,
53
+ clientId: validated.permission.clientId
48
54
  });
49
55
  }
50
- if (validated.role) validated.role_realm_id = validated.role.realm_id;
56
+ if (validated.role) validated.roleRealmId = validated.role.realmId;
51
57
  if (validated.permission && actor.identity) applyJunctionCreateGrant(validated, await this.identityPermissionProvider.resolveJunctionGrant({
52
58
  type: actor.identity.type,
53
59
  id: actor.identity.data.id
54
60
  }, {
55
61
  name: validated.permission.name,
56
- realmId: validated.permission.realm_id,
57
- clientId: validated.permission.client_id,
58
- realmScope: validated.realm_scope ?? RealmScope.OWN
62
+ realmId: validated.permission.realmId,
63
+ clientId: validated.permission.clientId,
64
+ realmScope: validated.realmScope ?? RealmScope.OWN
59
65
  }));
60
66
  await actor.permissionEvaluator.evaluate({
61
67
  name: PermissionName.ROLE_PERMISSION_CREATE,
@@ -73,11 +79,11 @@ var RolePermissionService = class extends JunctionEntityService {
73
79
  const entity = await this.repository.findOneBy({ id });
74
80
  if (!entity) throw new EntityNotFoundError();
75
81
  const validated = await this.validator.run(data, { group: ValidatorGroup.UPDATE });
76
- const permission = await this.permissionRepository.findOneById(entity.permission_id);
82
+ const permission = await this.permissionRepository.findOneById(entity.permissionId);
77
83
  if (permission) await actor.permissionEvaluator.preEvaluate({
78
84
  name: permission.name,
79
- realmId: permission.realm_id,
80
- clientId: permission.client_id
85
+ realmId: permission.realmId,
86
+ clientId: permission.clientId
81
87
  });
82
88
  let actorScope = RealmScope.ANY;
83
89
  let actorPolicyFree = true;
@@ -88,9 +94,9 @@ var RolePermissionService = class extends JunctionEntityService {
88
94
  id: actor.identity.data.id
89
95
  }, {
90
96
  name: permission.name,
91
- realmId: permission.realm_id,
92
- clientId: permission.client_id,
93
- realmScope: validated.realm_scope ?? entity.realm_scope
97
+ realmId: permission.realmId,
98
+ clientId: permission.clientId,
99
+ realmScope: validated.realmScope ?? entity.realmScope
94
100
  });
95
101
  actorScope = grant.realmScope;
96
102
  actorPolicyFree = !grant.policy;
@@ -98,7 +104,7 @@ var RolePermissionService = class extends JunctionEntityService {
98
104
  } else if (actor.identity) actorScope = RealmScope.OWN;
99
105
  const updateData = buildJunctionUpdateData({
100
106
  data: validated,
101
- existingScope: entity.realm_scope,
107
+ existingScope: entity.realmScope,
102
108
  actorScope,
103
109
  actorPolicyFree,
104
110
  actorPolicyId
@@ -1 +1 @@
1
- {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","RealmScope","definePolicyData","EntityConflictError","EntityNotFoundError","ValidatorGroup","PermissionName","RolePermissionValidator","applyJunctionCreateGrant","buildJunctionUpdateData","JunctionEntityService","RolePermissionService","ownerRealmKey","repository","permissionRepository","identityPermissionProvider","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","ROLE_PERMISSION_DELETE","ROLE_PERMISSION_READ","findMany","getOne","id","entity","findOneBy","create","data","preEvaluate","ROLE_PERMISSION_CREATE","validated","run","group","CREATE","validateJoinColumns","existing","role_id","permission_id","permission","permission_realm_id","realm_id","realmId","clientId","client_id","role","role_realm_id","identity","grant","resolveJunctionGrant","type","realmScope","realm_scope","OWN","evaluate","ATTRIBUTES","junctionAttributes","REALM_MATCH","junctionResourceRealm","save","update","ROLE_PERMISSION_UPDATE","UPDATE","findOneById","actorScope","ANY","actorPolicyFree","actorPolicyId","policy","updateData","existingScope","merged","merge","delete","entityId","remove"],"sources":["../../../../src/core/entities/role-permission/service.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 {\n BuiltInPolicyType,\n RealmScope,\n definePolicyData,\n} from '@authup/access';\nimport { EntityConflictError, EntityNotFoundError } from '@authup/errors';\nimport { ValidatorGroup } from '@authup/kit';\nimport {\n PermissionName,\n RolePermissionValidator,\n} from '@authup/core-kit';\nimport type { Permission, RolePermission } from '@authup/core-kit';\nimport type { IIdentityPermissionProvider } from '../../identity/permission/types.ts';\nimport { applyJunctionCreateGrant, buildJunctionUpdateData } from '../../identity/permission/junction-grant.ts';\nimport type { ActorContext, EntityRepositoryFindManyResult, IEntityRepository } from '@authup/server-kit';\nimport { JunctionEntityService } from '@authup/server-kit';\nimport type { IRolePermissionRepository, IRolePermissionService } from './types.ts';\n\nexport type RolePermissionServiceContext = {\n repository: IRolePermissionRepository;\n permissionRepository: IEntityRepository<Permission>;\n identityPermissionProvider: IIdentityPermissionProvider;\n};\n\nexport class RolePermissionService extends JunctionEntityService implements IRolePermissionService {\n protected readonly ownerRealmKey = 'role_realm_id';\n\n protected repository: IRolePermissionRepository;\n\n protected permissionRepository: IEntityRepository<Permission>;\n\n protected identityPermissionProvider: IIdentityPermissionProvider;\n\n protected validator: RolePermissionValidator;\n\n constructor(ctx: RolePermissionServiceContext) {\n super();\n this.repository = ctx.repository;\n this.permissionRepository = ctx.permissionRepository;\n this.identityPermissionProvider = ctx.identityPermissionProvider;\n this.validator = new RolePermissionValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<RolePermission>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROLE_PERMISSION_DELETE,\n PermissionName.ROLE_PERMISSION_READ,\n ],\n });\n\n return this.repository.findMany(query);\n }\n\n async getOne(\n id: string,\n actor: ActorContext,\n ): Promise<RolePermission> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROLE_PERMISSION_DELETE,\n PermissionName.ROLE_PERMISSION_READ,\n ],\n });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<RolePermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_PERMISSION_CREATE });\n\n const validated = await this.validator.run(data, { group: ValidatorGroup.CREATE });\n\n await this.repository.validateJoinColumns(validated);\n\n const existing = await this.repository.findOneBy({\n role_id: validated.role_id,\n permission_id: validated.permission_id,\n });\n if (existing) {\n throw new EntityConflictError({ entity: 'role-permission' });\n }\n\n if (validated.permission) {\n validated.permission_realm_id = validated.permission.realm_id;\n\n // Q4: the superset gate runs uniformly — no ROLE_ADMIN_NAME bypass.\n await actor.permissionEvaluator.preEvaluate({\n name: validated.permission.name,\n realmId: validated.permission.realm_id,\n clientId: validated.permission.client_id,\n });\n }\n\n if (validated.role) {\n validated.role_realm_id = validated.role.realm_id;\n }\n\n if (validated.permission && actor.identity) {\n const grant = await this.identityPermissionProvider.resolveJunctionGrant(\n {\n type: actor.identity.type,\n id: actor.identity.data.id,\n },\n {\n name: validated.permission.name,\n realmId: validated.permission.realm_id,\n clientId: validated.permission.client_id,\n realmScope: validated.realm_scope ?? RealmScope.OWN,\n },\n );\n\n applyJunctionCreateGrant(validated, grant);\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_PERMISSION_CREATE,\n // Stamp the owner (role) realm as the canonical `realm_id` so the realm_scope\n // factor gates this junction write against the actor's reach (no cross-realm).\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: this.junctionAttributes(validated),\n [BuiltInPolicyType.REALM_MATCH]: this.junctionResourceRealm(validated),\n }),\n });\n\n let entity = this.repository.create(validated);\n entity = await this.repository.save(entity);\n\n return entity;\n }\n\n async update(\n id: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<RolePermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_PERMISSION_UPDATE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n const validated = await this.validator.run(data, { group: ValidatorGroup.UPDATE });\n\n // Resolve the actor's grant for this junction's permission (the existing entity only\n // carries scalar FKs — load the permission relation to derive it).\n const permission = await this.permissionRepository.findOneById(entity.permission_id);\n if (permission) {\n // Member-permission gate: an actor may only modify a binding for a permission it\n // holds (mirrors create()).\n await actor.permissionEvaluator.preEvaluate({\n name: permission.name,\n realmId: permission.realm_id,\n clientId: permission.client_id,\n });\n }\n\n // No actor identity (system context) is not realm-gated here; the operation is still\n // authorized by the evaluate() below.\n let actorScope: `${RealmScope}` = RealmScope.ANY;\n let actorPolicyFree = true;\n let actorPolicyId: string | null = null;\n if (actor.identity && permission) {\n const grant = await this.identityPermissionProvider.resolveJunctionGrant(\n { type: actor.identity.type, id: actor.identity.data.id },\n {\n name: permission.name,\n realmId: permission.realm_id,\n clientId: permission.client_id,\n realmScope: validated.realm_scope ?? entity.realm_scope,\n },\n );\n actorScope = grant.realmScope;\n actorPolicyFree = !grant.policy;\n actorPolicyId = grant.policy ? grant.policy.id : null;\n } else if (actor.identity) {\n actorScope = RealmScope.OWN;\n }\n\n const updateData = buildJunctionUpdateData({\n data: validated,\n existingScope: entity.realm_scope,\n actorScope,\n actorPolicyFree,\n actorPolicyId,\n });\n\n await this.repository.validateJoinColumns(updateData);\n\n const merged = this.repository.merge(entity, updateData);\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_PERMISSION_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: this.junctionAttributes(merged),\n [BuiltInPolicyType.REALM_MATCH]: this.junctionResourceRealm(merged),\n }),\n });\n\n return this.repository.save(merged);\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<RolePermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_PERMISSION_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_PERMISSION_DELETE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: this.junctionAttributes(entity),\n [BuiltInPolicyType.REALM_MATCH]: this.junctionResourceRealm(entity),\n }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","RealmScope","definePolicyData","EntityConflictError","EntityNotFoundError","ValidatorGroup","PermissionName","RolePermissionValidator","applyJunctionCreateGrant","buildJunctionUpdateData","JunctionEntityService","decodeQuery","rolePermissionSchema","RolePermissionService","ownerRealmKey","repository","permissionRepository","identityPermissionProvider","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","ROLE_PERMISSION_DELETE","ROLE_PERMISSION_READ","findMany","schema","getOne","id","entity","findOneBy","create","data","preEvaluate","ROLE_PERMISSION_CREATE","validated","run","group","CREATE","validateJoinColumns","existing","roleId","permissionId","permission","permissionRealmId","realmId","clientId","role","roleRealmId","identity","grant","resolveJunctionGrant","type","realmScope","OWN","evaluate","ATTRIBUTES","junctionAttributes","REALM_MATCH","junctionResourceRealm","save","update","ROLE_PERMISSION_UPDATE","UPDATE","findOneById","actorScope","ANY","actorPolicyFree","actorPolicyId","policy","updateData","existingScope","merged","merge","delete","entityId","remove"],"sources":["../../../../src/core/entities/role-permission/service.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 {\n BuiltInPolicyType,\n RealmScope,\n definePolicyData,\n} from '@authup/access';\nimport { EntityConflictError, EntityNotFoundError } from '@authup/errors';\nimport { ValidatorGroup } from '@authup/kit';\nimport {\n PermissionName,\n RolePermissionValidator,\n} from '@authup/core-kit';\nimport type { Permission, RolePermission } from '@authup/core-kit';\nimport type { IIdentityPermissionProvider } from '../../identity/permission/types.ts';\nimport { applyJunctionCreateGrant, buildJunctionUpdateData } from '../../identity/permission/junction-grant.ts';\nimport type { ActorContext, EntityRepositoryFindManyResult, IEntityRepository } from '@authup/server-kit';\nimport { JunctionEntityService } from '@authup/server-kit';\nimport type { IRolePermissionRepository, IRolePermissionService } from './types.ts';\nimport { decodeQuery } from '../../query/index.ts';\nimport { rolePermissionSchema } from './schema.ts';\n\nexport type RolePermissionServiceContext = {\n repository: IRolePermissionRepository;\n permissionRepository: IEntityRepository<Permission>;\n identityPermissionProvider: IIdentityPermissionProvider;\n};\n\nexport class RolePermissionService extends JunctionEntityService implements IRolePermissionService {\n protected readonly ownerRealmKey = 'roleRealmId';\n\n protected repository: IRolePermissionRepository;\n\n protected permissionRepository: IEntityRepository<Permission>;\n\n protected identityPermissionProvider: IIdentityPermissionProvider;\n\n protected validator: RolePermissionValidator;\n\n constructor(ctx: RolePermissionServiceContext) {\n super();\n this.repository = ctx.repository;\n this.permissionRepository = ctx.permissionRepository;\n this.identityPermissionProvider = ctx.identityPermissionProvider;\n this.validator = new RolePermissionValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<RolePermission>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROLE_PERMISSION_DELETE,\n PermissionName.ROLE_PERMISSION_READ,\n ],\n });\n\n return this.repository.findMany(await decodeQuery(query, { schema: rolePermissionSchema, actor }));\n }\n\n async getOne(\n id: string,\n actor: ActorContext,\n ): Promise<RolePermission> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROLE_PERMISSION_DELETE,\n PermissionName.ROLE_PERMISSION_READ,\n ],\n });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<RolePermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_PERMISSION_CREATE });\n\n const validated = await this.validator.run(data, { group: ValidatorGroup.CREATE });\n\n await this.repository.validateJoinColumns(validated);\n\n const existing = await this.repository.findOneBy({\n roleId: validated.roleId,\n permissionId: validated.permissionId,\n });\n if (existing) {\n throw new EntityConflictError({ entity: 'role-permission' });\n }\n\n if (validated.permission) {\n validated.permissionRealmId = validated.permission.realmId;\n\n // Q4: the superset gate runs uniformly — no ROLE_ADMIN_NAME bypass.\n await actor.permissionEvaluator.preEvaluate({\n name: validated.permission.name,\n realmId: validated.permission.realmId,\n clientId: validated.permission.clientId,\n });\n }\n\n if (validated.role) {\n validated.roleRealmId = validated.role.realmId;\n }\n\n if (validated.permission && actor.identity) {\n const grant = await this.identityPermissionProvider.resolveJunctionGrant(\n {\n type: actor.identity.type,\n id: actor.identity.data.id,\n },\n {\n name: validated.permission.name,\n realmId: validated.permission.realmId,\n clientId: validated.permission.clientId,\n realmScope: validated.realmScope ?? RealmScope.OWN,\n },\n );\n\n applyJunctionCreateGrant(validated, grant);\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_PERMISSION_CREATE,\n // Stamp the owner (role) realm as the canonical `realmId` so the realmScope\n // factor gates this junction write against the actor's reach (no cross-realm).\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: this.junctionAttributes(validated),\n [BuiltInPolicyType.REALM_MATCH]: this.junctionResourceRealm(validated),\n }),\n });\n\n let entity = this.repository.create(validated);\n entity = await this.repository.save(entity);\n\n return entity;\n }\n\n async update(\n id: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<RolePermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_PERMISSION_UPDATE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n const validated = await this.validator.run(data, { group: ValidatorGroup.UPDATE });\n\n // Resolve the actor's grant for this junction's permission (the existing entity only\n // carries scalar FKs — load the permission relation to derive it).\n const permission = await this.permissionRepository.findOneById(entity.permissionId);\n if (permission) {\n // Member-permission gate: an actor may only modify a binding for a permission it\n // holds (mirrors create()).\n await actor.permissionEvaluator.preEvaluate({\n name: permission.name,\n realmId: permission.realmId,\n clientId: permission.clientId,\n });\n }\n\n // No actor identity (system context) is not realm-gated here; the operation is still\n // authorized by the evaluate() below.\n let actorScope: `${RealmScope}` = RealmScope.ANY;\n let actorPolicyFree = true;\n let actorPolicyId: string | null = null;\n if (actor.identity && permission) {\n const grant = await this.identityPermissionProvider.resolveJunctionGrant(\n { type: actor.identity.type, id: actor.identity.data.id },\n {\n name: permission.name,\n realmId: permission.realmId,\n clientId: permission.clientId,\n realmScope: validated.realmScope ?? entity.realmScope,\n },\n );\n actorScope = grant.realmScope;\n actorPolicyFree = !grant.policy;\n actorPolicyId = grant.policy ? grant.policy.id : null;\n } else if (actor.identity) {\n actorScope = RealmScope.OWN;\n }\n\n const updateData = buildJunctionUpdateData({\n data: validated,\n existingScope: entity.realmScope,\n actorScope,\n actorPolicyFree,\n actorPolicyId,\n });\n\n await this.repository.validateJoinColumns(updateData);\n\n const merged = this.repository.merge(entity, updateData);\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_PERMISSION_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: this.junctionAttributes(merged),\n [BuiltInPolicyType.REALM_MATCH]: this.junctionResourceRealm(merged),\n }),\n });\n\n return this.repository.save(merged);\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<RolePermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROLE_PERMISSION_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROLE_PERMISSION_DELETE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: this.junctionAttributes(entity),\n [BuiltInPolicyType.REALM_MATCH]: this.junctionResourceRealm(entity),\n }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './service.ts';
2
2
  export * from './types.ts';
3
+ export * from './schema.ts';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/scope/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/scope/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { scopeSchema } from "./schema.mjs";
4
5
  import { ScopeService } from "./service.mjs";
5
- export { ScopeService };
6
+ export { ScopeService, scopeSchema };
@@ -0,0 +1,3 @@
1
+ import type { Scope } from '@authup/core-kit';
2
+ export declare const scopeSchema: import("@rapiq/core").Schema<Scope, any>;
3
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/scope/schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAM9C,eAAO,MAAM,WAAW,0CAmBtB,CAAC"}
@@ -0,0 +1,43 @@
1
+ import "node:path";
2
+ import "node:url";
3
+ import.meta.url;
4
+ import { createRelationsReadGate } from "../../query/relations.mjs";
5
+ import { EntityType } from "@authup/core-kit";
6
+ import { defineSchema } from "@rapiq/core";
7
+ //#region src/core/entities/scope/schema.ts
8
+ const schemaMapping = { realm: EntityType.REALM };
9
+ const scopeSchema = defineSchema({
10
+ name: EntityType.SCOPE,
11
+ fields: { allowed: [
12
+ "id",
13
+ "builtIn",
14
+ "name",
15
+ "displayName",
16
+ "description",
17
+ "realmId",
18
+ "createdAt",
19
+ "updatedAt"
20
+ ] },
21
+ filters: { allowed: [
22
+ "id",
23
+ "builtIn",
24
+ "name",
25
+ "realmId"
26
+ ] },
27
+ relations: {
28
+ allowed: ["realm"],
29
+ validate: createRelationsReadGate(schemaMapping)
30
+ },
31
+ sort: { allowed: [
32
+ "id",
33
+ "name",
34
+ "updatedAt",
35
+ "createdAt"
36
+ ] },
37
+ pagination: { maxLimit: 50 },
38
+ schemaMapping
39
+ });
40
+ //#endregion
41
+ export { scopeSchema };
42
+
43
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.mjs","names":["defineSchema","EntityType","createRelationsReadGate","schemaMapping","realm","REALM","scopeSchema","name","SCOPE","fields","allowed","filters","relations","validate","sort","pagination","maxLimit"],"sources":["../../../../src/core/entities/scope/schema.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { defineSchema } from '@rapiq/core';\nimport type { Scope } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\nimport { createRelationsReadGate } from '../../query/relations.ts';\n\nconst schemaMapping = { realm: EntityType.REALM };\n\nexport const scopeSchema = defineSchema<Scope>({\n name: EntityType.SCOPE,\n fields: {\n allowed: [\n 'id',\n 'builtIn',\n 'name',\n 'displayName',\n 'description',\n 'realmId',\n 'createdAt',\n 'updatedAt',\n ],\n },\n filters: { allowed: ['id', 'builtIn', 'name', 'realmId'] },\n relations: { allowed: ['realm'], validate: createRelationsReadGate(schemaMapping) },\n sort: { allowed: ['id', 'name', 'updatedAt', 'createdAt'] },\n pagination: { maxLimit: 50 },\n schemaMapping,\n});\n"],"mappings":";;;;;;;AAYA,MAAMG,gBAAgB,EAAEC,OAAOH,WAAWI,MAAM;AAEhD,MAAaC,cAAcN,aAAoB;CAC3CO,MAAMN,WAAWO;CACjBC,QAAQ,EACJC,SAAS;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GAER;CACAC,SAAS,EAAED,SAAS;EAAC;EAAM;EAAW;EAAQ;GAAW;CACzDE,WAAW;EAAEF,SAAS,CAAC,OAAA;EAAUG,UAAUX,wBAAwBC,aAAAA;CAAe;CAClFW,MAAM,EAAEJ,SAAS;EAAC;EAAM;EAAQ;EAAa;GAAa;CAC1DK,YAAY,EAAEC,UAAU,GAAG;CAC3Bb;AACJ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/scope/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAEH,cAAc,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAG,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,eAAe,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,qBAAa,YAAa,SAAQ,qBAAsB,YAAW,aAAa;IAC5E,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEvC,SAAS,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAE5C,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC;gBAExB,GAAG,EAAE,mBAAmB;IAO9B,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAY3C,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;IAiBX,MAAM,CACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;IAKX,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;IAKX,IAAI,CACN,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GACvC,OAAO,CAAC;QACP,MAAM,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC;IAmFI,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;CAmBpB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/scope/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAEH,cAAc,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAG,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIlE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,eAAe,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,qBAAa,YAAa,SAAQ,qBAAsB,YAAW,aAAa;IAC5E,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEvC,SAAS,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAE5C,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC;gBAExB,GAAG,EAAE,mBAAmB;IAO9B,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAY3C,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;IAiBX,MAAM,CACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;IAKX,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;IAKX,IAAI,CACN,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GACvC,OAAO,CAAC;QACP,MAAM,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC;IAmFI,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;CAmBpB"}
@@ -1,6 +1,9 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { scopeSchema } from "./schema.mjs";
5
+ import { decodeQuery } from "../../query/module.mjs";
6
+ import "../../query/index.mjs";
4
7
  import { ValidatorGroup, isPropertySet, isUUID } from "@authup/kit";
5
8
  import { PermissionName, ScopeValidator } from "@authup/core-kit";
6
9
  import { AbstractEntityService } from "@authup/server-kit";
@@ -23,7 +26,10 @@ var ScopeService = class extends AbstractEntityService {
23
26
  PermissionName.SCOPE_UPDATE,
24
27
  PermissionName.SCOPE_DELETE
25
28
  ] });
26
- return this.repository.findMany(query);
29
+ return this.repository.findMany(await decodeQuery(query, {
30
+ schema: scopeSchema,
31
+ actor
32
+ }));
27
33
  }
28
34
  async getOne(idOrName, actor) {
29
35
  await actor.permissionEvaluator.preEvaluateOneOf({ name: [
@@ -45,13 +51,13 @@ var ScopeService = class extends AbstractEntityService {
45
51
  }
46
52
  async save(idOrName, data, actor, options = {}) {
47
53
  let group;
48
- const realm = typeof data.realm_id === "string" ? await this.realmRepository.resolve(data.realm_id) : void 0;
54
+ const realm = typeof data.realmId === "string" ? await this.realmRepository.resolve(data.realmId) : void 0;
49
55
  let entity;
50
56
  if (idOrName) {
51
57
  const where = {};
52
58
  if (isUUID(idOrName)) where.id = idOrName;
53
59
  else where.name = idOrName;
54
- if (realm) where.realm_id = realm.id;
60
+ if (realm) where.realmId = realm.id;
55
61
  entity = await this.repository.findOneBy(where);
56
62
  if (!entity && options.updateOnly) throw new EntityNotFoundError();
57
63
  } else if (options.updateOnly) throw new EntityNotFoundError();
@@ -72,7 +78,7 @@ var ScopeService = class extends AbstractEntityService {
72
78
  ...entity,
73
79
  ...validated
74
80
  },
75
- [BuiltInPolicyType.REALM_MATCH]: validated.realm_id ?? entity.realm_id ?? null
81
+ [BuiltInPolicyType.REALM_MATCH]: validated.realmId ?? entity.realmId ?? null
76
82
  })
77
83
  });
78
84
  await this.repository.checkUniqueness(validated, entity);
@@ -83,7 +89,7 @@ var ScopeService = class extends AbstractEntityService {
83
89
  created: false
84
90
  };
85
91
  }
86
- if (!isPropertySet(validated, "realm_id") && actor.identity) validated.realm_id = this.getActorRealmId(actor) || null;
92
+ if (!isPropertySet(validated, "realmId") && actor.identity) validated.realmId = this.getActorRealmId(actor) || null;
87
93
  await actor.permissionEvaluator.evaluate({
88
94
  name: PermissionName.SCOPE_CREATE,
89
95
  data: definePolicyData({
@@ -1 +1 @@
1
- {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","definePolicyData","ValidatorGroup","isPropertySet","isUUID","EntityNotFoundError","PermissionName","ScopeValidator","AbstractEntityService","ScopeService","repository","realmRepository","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","SCOPE_READ","SCOPE_UPDATE","SCOPE_DELETE","findMany","getOne","idOrName","entity","findOneByIdOrName","create","data","save","undefined","update","updateOnly","options","group","realm","realm_id","resolve","where","id","findOneBy","preEvaluate","UPDATE","SCOPE_CREATE","CREATE","validated","run","validateJoinColumns","evaluate","ATTRIBUTES","REALM_MATCH","checkUniqueness","merge","created","identity","getActorRealmId","resourceRealmMatch","delete","entityId","remove"],"sources":["../../../../src/core/entities/scope/service.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 { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport { ValidatorGroup, isPropertySet, isUUID } from '@authup/kit';\nimport { EntityNotFoundError } from '@authup/errors';\nimport {\n PermissionName,\n ScopeValidator,\n} from '@authup/core-kit';\nimport type { Scope } from '@authup/core-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport type { IRealmRepository } from '../realm/types.ts';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport type { IScopeRepository, IScopeService } from './types.ts';\n\nexport type ScopeServiceContext = {\n repository: IScopeRepository;\n realmRepository: IRealmRepository;\n};\n\nexport class ScopeService extends AbstractEntityService implements IScopeService {\n protected repository: IScopeRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected validator: ScopeValidator;\n\n constructor(ctx: ScopeServiceContext) {\n super();\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.validator = new ScopeValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<Scope>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.SCOPE_READ,\n PermissionName.SCOPE_UPDATE,\n PermissionName.SCOPE_DELETE,\n ],\n });\n\n return this.repository.findMany(query);\n }\n\n async getOne(\n idOrName: string,\n actor: ActorContext,\n ): Promise<Scope> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.SCOPE_READ,\n PermissionName.SCOPE_UPDATE,\n PermissionName.SCOPE_DELETE,\n ],\n });\n\n const entity = await this.repository.findOneByIdOrName(idOrName);\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Scope> {\n const { entity } = await this.save(undefined, data, actor);\n return entity;\n }\n\n async update(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Scope> {\n const { entity } = await this.save(idOrName, data, actor, { updateOnly: true });\n return entity;\n }\n\n async save(\n idOrName: string | undefined,\n data: Record<string, any>,\n actor: ActorContext,\n options: { updateOnly?: boolean } = {},\n ): Promise<{\n entity: Scope,\n created: boolean \n }> {\n let group: string;\n\n const realm = typeof data.realm_id === 'string' ?\n await this.realmRepository.resolve(data.realm_id) :\n undefined;\n\n let entity: Scope | null | undefined;\n if (idOrName) {\n const where: Record<string, any> = {};\n if (isUUID(idOrName)) {\n where.id = idOrName;\n } else {\n where.name = idOrName;\n }\n\n if (realm) {\n where.realm_id = realm.id;\n }\n\n entity = await this.repository.findOneBy(where);\n if (!entity && options.updateOnly) {\n throw new EntityNotFoundError();\n }\n } else if (options.updateOnly) {\n throw new EntityNotFoundError();\n }\n\n if (entity) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.SCOPE_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.SCOPE_CREATE });\n group = ValidatorGroup.CREATE;\n }\n\n const validated = await this.validator.run(data, { group });\n\n await this.repository.validateJoinColumns(validated);\n\n if (entity) {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.SCOPE_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n [BuiltInPolicyType.REALM_MATCH]: validated.realm_id ?? entity.realm_id ?? null,\n }),\n });\n\n await this.repository.checkUniqueness(validated, entity);\n\n entity = this.repository.merge(entity, validated);\n await this.repository.save(entity);\n\n return {\n entity,\n created: false, \n };\n }\n\n if (!isPropertySet(validated, 'realm_id') && actor.identity) {\n validated.realm_id = this.getActorRealmId(actor) || null;\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.SCOPE_CREATE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated, ...this.resourceRealmMatch(validated) }),\n });\n\n await this.repository.checkUniqueness(validated);\n\n entity = this.repository.create(validated);\n await this.repository.save(entity);\n\n return {\n entity,\n created: true, \n };\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Scope> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.SCOPE_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.SCOPE_DELETE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, ...this.resourceRealmMatch(entity) }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","definePolicyData","ValidatorGroup","isPropertySet","isUUID","EntityNotFoundError","PermissionName","ScopeValidator","AbstractEntityService","decodeQuery","scopeSchema","ScopeService","repository","realmRepository","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","SCOPE_READ","SCOPE_UPDATE","SCOPE_DELETE","findMany","schema","getOne","idOrName","entity","findOneByIdOrName","create","data","save","undefined","update","updateOnly","options","group","realm","realmId","resolve","where","id","findOneBy","preEvaluate","UPDATE","SCOPE_CREATE","CREATE","validated","run","validateJoinColumns","evaluate","ATTRIBUTES","REALM_MATCH","checkUniqueness","merge","created","identity","getActorRealmId","resourceRealmMatch","delete","entityId","remove"],"sources":["../../../../src/core/entities/scope/service.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 { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport { ValidatorGroup, isPropertySet, isUUID } from '@authup/kit';\nimport { EntityNotFoundError } from '@authup/errors';\nimport {\n PermissionName,\n ScopeValidator,\n} from '@authup/core-kit';\nimport type { Scope } from '@authup/core-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport type { IRealmRepository } from '../realm/types.ts';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport type { IScopeRepository, IScopeService } from './types.ts';\nimport { decodeQuery } from '../../query/index.ts';\nimport { scopeSchema } from './schema.ts';\n\nexport type ScopeServiceContext = {\n repository: IScopeRepository;\n realmRepository: IRealmRepository;\n};\n\nexport class ScopeService extends AbstractEntityService implements IScopeService {\n protected repository: IScopeRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected validator: ScopeValidator;\n\n constructor(ctx: ScopeServiceContext) {\n super();\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.validator = new ScopeValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<Scope>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.SCOPE_READ,\n PermissionName.SCOPE_UPDATE,\n PermissionName.SCOPE_DELETE,\n ],\n });\n\n return this.repository.findMany(await decodeQuery(query, { schema: scopeSchema, actor }));\n }\n\n async getOne(\n idOrName: string,\n actor: ActorContext,\n ): Promise<Scope> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.SCOPE_READ,\n PermissionName.SCOPE_UPDATE,\n PermissionName.SCOPE_DELETE,\n ],\n });\n\n const entity = await this.repository.findOneByIdOrName(idOrName);\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Scope> {\n const { entity } = await this.save(undefined, data, actor);\n return entity;\n }\n\n async update(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Scope> {\n const { entity } = await this.save(idOrName, data, actor, { updateOnly: true });\n return entity;\n }\n\n async save(\n idOrName: string | undefined,\n data: Record<string, any>,\n actor: ActorContext,\n options: { updateOnly?: boolean } = {},\n ): Promise<{\n entity: Scope,\n created: boolean \n }> {\n let group: string;\n\n const realm = typeof data.realmId === 'string' ?\n await this.realmRepository.resolve(data.realmId) :\n undefined;\n\n let entity: Scope | null | undefined;\n if (idOrName) {\n const where: Record<string, any> = {};\n if (isUUID(idOrName)) {\n where.id = idOrName;\n } else {\n where.name = idOrName;\n }\n\n if (realm) {\n where.realmId = realm.id;\n }\n\n entity = await this.repository.findOneBy(where);\n if (!entity && options.updateOnly) {\n throw new EntityNotFoundError();\n }\n } else if (options.updateOnly) {\n throw new EntityNotFoundError();\n }\n\n if (entity) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.SCOPE_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.SCOPE_CREATE });\n group = ValidatorGroup.CREATE;\n }\n\n const validated = await this.validator.run(data, { group });\n\n await this.repository.validateJoinColumns(validated);\n\n if (entity) {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.SCOPE_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n [BuiltInPolicyType.REALM_MATCH]: validated.realmId ?? entity.realmId ?? null,\n }),\n });\n\n await this.repository.checkUniqueness(validated, entity);\n\n entity = this.repository.merge(entity, validated);\n await this.repository.save(entity);\n\n return {\n entity,\n created: false, \n };\n }\n\n if (!isPropertySet(validated, 'realmId') && actor.identity) {\n validated.realmId = this.getActorRealmId(actor) || null;\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.SCOPE_CREATE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated, ...this.resourceRealmMatch(validated) }),\n });\n\n await this.repository.checkUniqueness(validated);\n\n entity = this.repository.create(validated);\n await this.repository.save(entity);\n\n return {\n entity,\n created: true, \n };\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Scope> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.SCOPE_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.SCOPE_DELETE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, ...this.resourceRealmMatch(entity) }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './service.ts';
2
2
  export * from './types.ts';
3
+ export * from './schema.ts';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/session/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/session/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { sessionSchema } from "./schema.mjs";
4
5
  import { SessionService } from "./service.mjs";
5
- export { SessionService };
6
+ export { SessionService, sessionSchema };