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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (900) hide show
  1. package/dist/adapters/database/cache/module.mjs.map +1 -1
  2. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  3. package/dist/adapters/database/data-source/singleton.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  5. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
  6. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
  7. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
  8. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  9. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  11. package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -1
  12. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  13. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
  14. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  15. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  16. package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -1
  17. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  18. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
  19. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  21. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  22. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  23. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  24. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  25. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  26. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  27. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  28. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
  29. package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -1
  30. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  31. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
  32. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  33. package/dist/adapters/database/domains/realm/repository.mjs.map +1 -1
  34. package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -1
  35. package/dist/adapters/database/domains/robot/entity.mjs.map +1 -1
  36. package/dist/adapters/database/domains/robot/subscriber.mjs.map +1 -1
  37. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +1 -1
  38. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +1 -1
  39. package/dist/adapters/database/domains/robot-role/entity.mjs.map +1 -1
  40. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +1 -1
  41. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  42. package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
  43. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  44. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  45. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  46. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  47. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  48. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  49. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  50. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  51. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  52. package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
  53. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  54. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  55. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  56. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  57. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  58. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  59. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  60. package/dist/adapters/database/errors/conflict.d.ts +2 -2
  61. package/dist/adapters/database/errors/conflict.d.ts.map +1 -1
  62. package/dist/adapters/database/errors/conflict.mjs +6 -3
  63. package/dist/adapters/database/errors/conflict.mjs.map +1 -1
  64. package/dist/adapters/database/event-publisher/module.mjs.map +1 -1
  65. package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -1
  66. package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -1
  67. package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
  68. package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -1
  69. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  70. package/dist/adapters/database/logger/module.mjs.map +1 -1
  71. package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs.map +1 -1
  72. package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs.map +1 -1
  73. package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs.map +1 -1
  74. package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs.map +1 -1
  75. package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs.map +1 -1
  76. package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs.map +1 -1
  77. package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs.map +1 -1
  78. package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs.map +1 -1
  79. package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs.map +1 -1
  80. package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs.map +1 -1
  81. package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs.map +1 -1
  82. package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs.map +1 -1
  83. package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs.map +1 -1
  84. package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs.map +1 -1
  85. package/dist/adapters/http/adapters/oauth2/authorization/module.d.ts +5 -8
  86. package/dist/adapters/http/adapters/oauth2/authorization/module.d.ts.map +1 -1
  87. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +8 -10
  88. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  89. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts +3 -3
  90. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts.map +1 -1
  91. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +15 -14
  92. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  93. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.d.ts +2 -2
  94. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.d.ts.map +1 -1
  95. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +8 -8
  96. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  97. package/dist/adapters/http/adapters/oauth2/grant-types/identity.d.ts +2 -2
  98. package/dist/adapters/http/adapters/oauth2/grant-types/identity.d.ts.map +1 -1
  99. package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs +4 -4
  100. package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs.map +1 -1
  101. package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts +2 -2
  102. package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts.map +1 -1
  103. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +6 -6
  104. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  105. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts +2 -2
  106. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts.map +1 -1
  107. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +12 -11
  108. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  109. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts +2 -2
  110. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts.map +1 -1
  111. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +5 -5
  112. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +1 -1
  113. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +2 -2
  114. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
  115. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.d.ts +2 -2
  116. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.d.ts.map +1 -1
  117. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +15 -14
  118. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs.map +1 -1
  119. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts +2 -2
  120. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts.map +1 -1
  121. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +16 -13
  122. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
  123. package/dist/adapters/http/controllers/entities/client/module.d.ts +9 -6
  124. package/dist/adapters/http/controllers/entities/client/module.d.ts.map +1 -1
  125. package/dist/adapters/http/controllers/entities/client/module.mjs +54 -65
  126. package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -1
  127. package/dist/adapters/http/controllers/entities/client-permission/module.d.ts +8 -5
  128. package/dist/adapters/http/controllers/entities/client-permission/module.d.ts.map +1 -1
  129. package/dist/adapters/http/controllers/entities/client-permission/module.mjs +35 -48
  130. package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -1
  131. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
  132. package/dist/adapters/http/controllers/entities/client-role/module.d.ts +7 -4
  133. package/dist/adapters/http/controllers/entities/client-role/module.d.ts.map +1 -1
  134. package/dist/adapters/http/controllers/entities/client-role/module.mjs +27 -40
  135. package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -1
  136. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
  137. package/dist/adapters/http/controllers/entities/client-scope/module.d.ts +7 -4
  138. package/dist/adapters/http/controllers/entities/client-scope/module.d.ts.map +1 -1
  139. package/dist/adapters/http/controllers/entities/client-scope/module.mjs +27 -40
  140. package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -1
  141. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
  142. package/dist/adapters/http/controllers/entities/identity-provide-role/module.d.ts +8 -6
  143. package/dist/adapters/http/controllers/entities/identity-provide-role/module.d.ts.map +1 -1
  144. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +35 -48
  145. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -1
  146. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts +10 -9
  147. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  148. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +92 -114
  149. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  150. package/dist/adapters/http/controllers/entities/permission/module.d.ts +13 -17
  151. package/dist/adapters/http/controllers/entities/permission/module.d.ts.map +1 -1
  152. package/dist/adapters/http/controllers/entities/permission/module.mjs +60 -112
  153. package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -1
  154. package/dist/adapters/http/controllers/entities/permission-policy/module.d.ts +7 -4
  155. package/dist/adapters/http/controllers/entities/permission-policy/module.d.ts.map +1 -1
  156. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +27 -40
  157. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -1
  158. package/dist/adapters/http/controllers/entities/policy/module.d.ts +14 -16
  159. package/dist/adapters/http/controllers/entities/policy/module.d.ts.map +1 -1
  160. package/dist/adapters/http/controllers/entities/policy/module.mjs +65 -106
  161. package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -1
  162. package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs.map +1 -1
  163. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
  164. package/dist/adapters/http/controllers/entities/realm/module.d.ts +13 -8
  165. package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
  166. package/dist/adapters/http/controllers/entities/realm/module.mjs +55 -74
  167. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
  168. package/dist/adapters/http/controllers/entities/robot/module.d.ts +9 -6
  169. package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +1 -1
  170. package/dist/adapters/http/controllers/entities/robot/module.mjs +54 -67
  171. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +1 -1
  172. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts +8 -5
  173. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts.map +1 -1
  174. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +35 -48
  175. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +1 -1
  176. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +1 -1
  177. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts +7 -4
  178. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts.map +1 -1
  179. package/dist/adapters/http/controllers/entities/robot-role/module.mjs +27 -40
  180. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +1 -1
  181. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +1 -1
  182. package/dist/adapters/http/controllers/entities/role/module.d.ts +9 -6
  183. package/dist/adapters/http/controllers/entities/role/module.d.ts.map +1 -1
  184. package/dist/adapters/http/controllers/entities/role/module.mjs +42 -57
  185. package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -1
  186. package/dist/adapters/http/controllers/entities/role-attribute/module.d.ts +8 -5
  187. package/dist/adapters/http/controllers/entities/role-attribute/module.d.ts.map +1 -1
  188. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +35 -48
  189. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -1
  190. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
  191. package/dist/adapters/http/controllers/entities/role-permission/module.d.ts +8 -5
  192. package/dist/adapters/http/controllers/entities/role-permission/module.d.ts.map +1 -1
  193. package/dist/adapters/http/controllers/entities/role-permission/module.mjs +35 -48
  194. package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -1
  195. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
  196. package/dist/adapters/http/controllers/entities/scope/module.d.ts +9 -6
  197. package/dist/adapters/http/controllers/entities/scope/module.d.ts.map +1 -1
  198. package/dist/adapters/http/controllers/entities/scope/module.mjs +42 -57
  199. package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -1
  200. package/dist/adapters/http/controllers/entities/user/module.d.ts +9 -6
  201. package/dist/adapters/http/controllers/entities/user/module.d.ts.map +1 -1
  202. package/dist/adapters/http/controllers/entities/user/module.mjs +48 -59
  203. package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -1
  204. package/dist/adapters/http/controllers/entities/user-attribute/module.d.ts +8 -5
  205. package/dist/adapters/http/controllers/entities/user-attribute/module.d.ts.map +1 -1
  206. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +35 -48
  207. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -1
  208. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
  209. package/dist/adapters/http/controllers/entities/user-permission/module.d.ts +8 -5
  210. package/dist/adapters/http/controllers/entities/user-permission/module.d.ts.map +1 -1
  211. package/dist/adapters/http/controllers/entities/user-permission/module.mjs +35 -48
  212. package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -1
  213. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
  214. package/dist/adapters/http/controllers/entities/user-role/module.d.ts +7 -4
  215. package/dist/adapters/http/controllers/entities/user-role/module.d.ts.map +1 -1
  216. package/dist/adapters/http/controllers/entities/user-role/module.mjs +27 -40
  217. package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -1
  218. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
  219. package/dist/adapters/http/controllers/workflows/activate/module.d.ts +3 -2
  220. package/dist/adapters/http/controllers/workflows/activate/module.d.ts.map +1 -1
  221. package/dist/adapters/http/controllers/workflows/activate/module.mjs +6 -11
  222. package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
  223. package/dist/adapters/http/controllers/workflows/activate/validator.mjs.map +1 -1
  224. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts +7 -5
  225. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
  226. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +21 -22
  227. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  228. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts +5 -3
  229. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts.map +1 -1
  230. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +15 -18
  231. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
  232. package/dist/adapters/http/controllers/workflows/jwks/module.d.ts +6 -3
  233. package/dist/adapters/http/controllers/workflows/jwks/module.d.ts.map +1 -1
  234. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +20 -30
  235. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
  236. package/dist/adapters/http/controllers/workflows/openid/module.d.ts.map +1 -1
  237. package/dist/adapters/http/controllers/workflows/openid/module.mjs +10 -7
  238. package/dist/adapters/http/controllers/workflows/openid/module.mjs.map +1 -1
  239. package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts +3 -3
  240. package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts.map +1 -1
  241. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +7 -11
  242. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -1
  243. package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts +3 -3
  244. package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts.map +1 -1
  245. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +7 -11
  246. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
  247. package/dist/adapters/http/controllers/workflows/register/module.d.ts +3 -3
  248. package/dist/adapters/http/controllers/workflows/register/module.d.ts.map +1 -1
  249. package/dist/adapters/http/controllers/workflows/register/module.mjs +7 -11
  250. package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
  251. package/dist/adapters/http/controllers/workflows/status/module.d.ts.map +1 -1
  252. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  253. package/dist/adapters/http/controllers/workflows/token/module.d.ts +5 -5
  254. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  255. package/dist/adapters/http/controllers/workflows/token/module.mjs +26 -27
  256. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  257. package/dist/adapters/http/controllers/workflows/token/utils/extract.d.ts +2 -2
  258. package/dist/adapters/http/controllers/workflows/token/utils/extract.d.ts.map +1 -1
  259. package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs +8 -7
  260. package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -1
  261. package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs.map +1 -1
  262. package/dist/adapters/http/index.d.ts +0 -2
  263. package/dist/adapters/http/index.d.ts.map +1 -1
  264. package/dist/adapters/http/index.mjs +7 -7
  265. package/dist/adapters/http/middleware/built-in/assets.d.ts +1 -0
  266. package/dist/adapters/http/middleware/built-in/assets.d.ts.map +1 -1
  267. package/dist/adapters/http/middleware/built-in/assets.mjs +9 -9
  268. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  269. package/dist/adapters/http/middleware/built-in/authorization/factory.d.ts.map +1 -1
  270. package/dist/adapters/http/middleware/built-in/authorization/factory.mjs +5 -2
  271. package/dist/adapters/http/middleware/built-in/authorization/factory.mjs.map +1 -1
  272. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +4 -10
  273. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
  274. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +25 -40
  275. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  276. package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -1
  277. package/dist/adapters/http/middleware/built-in/cors.d.ts +1 -1
  278. package/dist/adapters/http/middleware/built-in/cors.d.ts.map +1 -1
  279. package/dist/adapters/http/middleware/built-in/cors.mjs +18 -10
  280. package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
  281. package/dist/adapters/http/middleware/built-in/error.d.ts.map +1 -1
  282. package/dist/adapters/http/middleware/built-in/error.mjs +9 -18
  283. package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
  284. package/dist/adapters/http/middleware/built-in/index.d.ts +1 -0
  285. package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
  286. package/dist/adapters/http/middleware/built-in/index.mjs +5 -2
  287. package/dist/adapters/http/middleware/built-in/loggedin/module.d.ts +2 -2
  288. package/dist/adapters/http/middleware/built-in/loggedin/module.d.ts.map +1 -1
  289. package/dist/adapters/http/middleware/built-in/loggedin/module.mjs +3 -3
  290. package/dist/adapters/http/middleware/built-in/loggedin/module.mjs.map +1 -1
  291. package/dist/adapters/http/middleware/built-in/loggedin/user.d.ts +2 -2
  292. package/dist/adapters/http/middleware/built-in/loggedin/user.d.ts.map +1 -1
  293. package/dist/adapters/http/middleware/built-in/loggedin/user.mjs +4 -4
  294. package/dist/adapters/http/middleware/built-in/loggedin/user.mjs.map +1 -1
  295. package/dist/adapters/http/middleware/built-in/logger.d.ts.map +1 -1
  296. package/dist/adapters/http/middleware/built-in/logger.mjs +21 -29
  297. package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
  298. package/dist/adapters/http/middleware/built-in/prometheus.d.ts.map +1 -1
  299. package/dist/adapters/http/middleware/built-in/prometheus.mjs +2 -3
  300. package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
  301. package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
  302. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +2 -2
  303. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  304. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.d.ts +4 -0
  305. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.d.ts.map +1 -0
  306. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.mjs +14 -0
  307. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.mjs.map +1 -0
  308. package/dist/adapters/http/middleware/built-in/realm-resolver/index.d.ts +4 -0
  309. package/dist/adapters/http/middleware/built-in/realm-resolver/index.d.ts.map +1 -0
  310. package/dist/adapters/http/middleware/built-in/realm-resolver/index.mjs +3 -0
  311. package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts +9 -0
  312. package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts.map +1 -0
  313. package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs +26 -0
  314. package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs.map +1 -0
  315. package/dist/adapters/http/middleware/built-in/realm-resolver/types.d.ts +5 -0
  316. package/dist/adapters/http/middleware/built-in/realm-resolver/types.d.ts.map +1 -0
  317. package/dist/adapters/http/middleware/built-in/swagger.d.ts +3 -4
  318. package/dist/adapters/http/middleware/built-in/swagger.d.ts.map +1 -1
  319. package/dist/adapters/http/middleware/built-in/swagger.mjs +4 -16
  320. package/dist/adapters/http/middleware/built-in/swagger.mjs.map +1 -1
  321. package/dist/adapters/http/middleware/index.mjs +4 -2
  322. package/dist/adapters/http/request/helpers/actor.d.ts +3 -3
  323. package/dist/adapters/http/request/helpers/actor.d.ts.map +1 -1
  324. package/dist/adapters/http/request/helpers/actor.mjs +3 -3
  325. package/dist/adapters/http/request/helpers/actor.mjs.map +1 -1
  326. package/dist/adapters/http/request/helpers/body-realm-id.d.ts +1 -2
  327. package/dist/adapters/http/request/helpers/body-realm-id.d.ts.map +1 -1
  328. package/dist/adapters/http/request/helpers/body-realm-id.mjs +3 -4
  329. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
  330. package/dist/adapters/http/request/helpers/identity.d.ts +4 -4
  331. package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
  332. package/dist/adapters/http/request/helpers/identity.mjs +7 -8
  333. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
  334. package/dist/adapters/http/request/helpers/index.d.ts +2 -0
  335. package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
  336. package/dist/adapters/http/request/helpers/index.mjs +4 -2
  337. package/dist/adapters/http/request/helpers/locations.d.ts +4 -0
  338. package/dist/adapters/http/request/helpers/locations.d.ts.map +1 -0
  339. package/dist/adapters/http/request/helpers/locations.mjs +28 -0
  340. package/dist/adapters/http/request/helpers/locations.mjs.map +1 -0
  341. package/dist/adapters/http/request/helpers/param-id.d.ts +5 -5
  342. package/dist/adapters/http/request/helpers/param-id.d.ts.map +1 -1
  343. package/dist/adapters/http/request/helpers/param-id.mjs +8 -9
  344. package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -1
  345. package/dist/adapters/http/request/helpers/realm-id.d.ts +5 -0
  346. package/dist/adapters/http/request/helpers/realm-id.d.ts.map +1 -0
  347. package/dist/adapters/http/request/helpers/realm-id.mjs +19 -0
  348. package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -0
  349. package/dist/adapters/http/request/helpers/scopes.d.ts +3 -3
  350. package/dist/adapters/http/request/helpers/scopes.d.ts.map +1 -1
  351. package/dist/adapters/http/request/helpers/scopes.mjs +4 -5
  352. package/dist/adapters/http/request/helpers/scopes.mjs.map +1 -1
  353. package/dist/adapters/http/request/helpers/token.d.ts +3 -3
  354. package/dist/adapters/http/request/helpers/token.d.ts.map +1 -1
  355. package/dist/adapters/http/request/helpers/token.mjs +4 -5
  356. package/dist/adapters/http/request/helpers/token.mjs.map +1 -1
  357. package/dist/adapters/http/request/index.mjs +4 -2
  358. package/dist/adapters/http/request/permission/helper.d.ts +3 -3
  359. package/dist/adapters/http/request/permission/helper.d.ts.map +1 -1
  360. package/dist/adapters/http/request/permission/helper.mjs +4 -5
  361. package/dist/adapters/http/request/permission/helper.mjs.map +1 -1
  362. package/dist/adapters/http/request/permission/module.d.ts +3 -3
  363. package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
  364. package/dist/adapters/http/request/permission/module.mjs +5 -5
  365. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  366. package/dist/adapters/shared/ldap/factory.mjs.map +1 -1
  367. package/dist/adapters/shared/ldap/module.mjs.map +1 -1
  368. package/dist/app/builder.d.ts +1 -2
  369. package/dist/app/builder.d.ts.map +1 -1
  370. package/dist/app/builder.mjs +0 -5
  371. package/dist/app/builder.mjs.map +1 -1
  372. package/dist/app/factory.d.ts.map +1 -1
  373. package/dist/app/factory.mjs +1 -1
  374. package/dist/app/factory.mjs.map +1 -1
  375. package/dist/app/index.mjs +1 -2
  376. package/dist/app/modules/authentication/constants.mjs.map +1 -1
  377. package/dist/app/modules/authentication/module.mjs.map +1 -1
  378. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  379. package/dist/app/modules/cache/constants.mjs.map +1 -1
  380. package/dist/app/modules/cache/module.mjs.map +1 -1
  381. package/dist/app/modules/components/module.mjs.map +1 -1
  382. package/dist/app/modules/config/constants.mjs.map +1 -1
  383. package/dist/app/modules/config/module.mjs.map +1 -1
  384. package/dist/app/modules/config/normalize.mjs.map +1 -1
  385. package/dist/app/modules/config/parse.mjs.map +1 -1
  386. package/dist/app/modules/config/read/env.mjs.map +1 -1
  387. package/dist/app/modules/config/read/fs.mjs.map +1 -1
  388. package/dist/app/modules/config/read/module.mjs.map +1 -1
  389. package/dist/app/modules/config/types.d.ts +2 -2
  390. package/dist/app/modules/config/types.d.ts.map +1 -1
  391. package/dist/app/modules/constants.d.ts +0 -1
  392. package/dist/app/modules/constants.d.ts.map +1 -1
  393. package/dist/app/modules/constants.mjs +0 -1
  394. package/dist/app/modules/constants.mjs.map +1 -1
  395. package/dist/app/modules/database/constants.mjs.map +1 -1
  396. package/dist/app/modules/database/module.mjs.map +1 -1
  397. package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
  398. package/dist/app/modules/database/repositories/client/repository.d.ts +2 -1
  399. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  400. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  401. package/dist/app/modules/database/repositories/client-permission/repository.d.ts +1 -1
  402. package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
  403. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  404. package/dist/app/modules/database/repositories/client-role/repository.d.ts +1 -1
  405. package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
  406. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  407. package/dist/app/modules/database/repositories/client-scope/repository.d.ts +1 -1
  408. package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
  409. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  410. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  411. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
  412. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  413. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  414. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
  415. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
  416. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  417. package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
  418. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  419. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  420. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
  421. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
  422. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  423. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
  424. package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
  425. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  426. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  427. package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
  428. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  429. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  430. package/dist/app/modules/database/repositories/robot/repository.d.ts +2 -1
  431. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +1 -1
  432. package/dist/app/modules/database/repositories/robot/repository.mjs.map +1 -1
  433. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +1 -1
  434. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +1 -1
  435. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +1 -1
  436. package/dist/app/modules/database/repositories/robot-role/repository.d.ts +2 -1
  437. package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +1 -1
  438. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +1 -1
  439. package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
  440. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  441. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  442. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
  443. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  444. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  445. package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
  446. package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
  447. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  448. package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
  449. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  450. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  451. package/dist/app/modules/database/repositories/user/repository.d.ts +2 -1
  452. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  453. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  454. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
  455. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  456. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  457. package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
  458. package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
  459. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  460. package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
  461. package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
  462. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  463. package/dist/app/modules/http/constants.d.ts +3 -2
  464. package/dist/app/modules/http/constants.d.ts.map +1 -1
  465. package/dist/app/modules/http/constants.mjs.map +1 -1
  466. package/dist/app/modules/http/module.d.ts +2 -2
  467. package/dist/app/modules/http/module.d.ts.map +1 -1
  468. package/dist/app/modules/http/module.mjs +10 -17
  469. package/dist/app/modules/http/module.mjs.map +1 -1
  470. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  471. package/dist/app/modules/http/modules/controller.mjs +59 -70
  472. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  473. package/dist/app/modules/http/modules/middleware.d.ts +1 -0
  474. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  475. package/dist/app/modules/http/modules/middleware.mjs +13 -6
  476. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  477. package/dist/app/modules/identity/constants.mjs.map +1 -1
  478. package/dist/app/modules/identity/module.mjs.map +1 -1
  479. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  480. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  481. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  482. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  483. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  484. package/dist/app/modules/identity/repositories/robot.mjs.map +1 -1
  485. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  486. package/dist/app/modules/index.d.ts +0 -1
  487. package/dist/app/modules/index.d.ts.map +1 -1
  488. package/dist/app/modules/index.mjs +1 -3
  489. package/dist/app/modules/ldap/constants.mjs.map +1 -1
  490. package/dist/app/modules/ldap/module.mjs.map +1 -1
  491. package/dist/app/modules/logger/constants.mjs.map +1 -1
  492. package/dist/app/modules/logger/module.mjs.map +1 -1
  493. package/dist/app/modules/mail/adapter/smtp/module.mjs.map +1 -1
  494. package/dist/app/modules/mail/adapter/smtp/smtp.mjs.map +1 -1
  495. package/dist/app/modules/mail/adapter/void.mjs.map +1 -1
  496. package/dist/app/modules/mail/constants.mjs.map +1 -1
  497. package/dist/app/modules/mail/module.mjs.map +1 -1
  498. package/dist/app/modules/oauth2/constants.mjs.map +1 -1
  499. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  500. package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs.map +1 -1
  501. package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs.map +1 -1
  502. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  503. package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +1 -1
  504. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
  505. package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -1
  506. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  507. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  508. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  509. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  510. package/dist/app/modules/runtime/module.d.ts.map +1 -1
  511. package/dist/app/modules/runtime/module.mjs +3 -1
  512. package/dist/app/modules/runtime/module.mjs.map +1 -1
  513. package/dist/cli/commands/healthcheck.mjs +1 -1
  514. package/dist/cli/commands/healthcheck.mjs.map +1 -1
  515. package/dist/cli/commands/index.d.ts +0 -1
  516. package/dist/cli/commands/index.d.ts.map +1 -1
  517. package/dist/cli/commands/index.mjs +1 -2
  518. package/dist/cli/commands/migration.mjs.map +1 -1
  519. package/dist/cli/commands/reset.mjs.map +1 -1
  520. package/dist/cli/commands/start.d.ts.map +1 -1
  521. package/dist/cli/commands/start.mjs +22 -1
  522. package/dist/cli/commands/start.mjs.map +1 -1
  523. package/dist/cli/index.mjs.map +1 -1
  524. package/dist/cli/module.d.ts.map +1 -1
  525. package/dist/cli/module.mjs +1 -3
  526. package/dist/cli/module.mjs.map +1 -1
  527. package/dist/components/database/unique-entries/factory.mjs.map +1 -1
  528. package/dist/components/database/unique-entries/module.mjs.map +1 -1
  529. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  530. package/dist/core/authentication/base.mjs.map +1 -1
  531. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
  532. package/dist/core/authentication/credential/entities/robot/module.mjs.map +1 -1
  533. package/dist/core/authentication/credential/entities/user/module.mjs.map +1 -1
  534. package/dist/core/authentication/entities/client/module.d.ts.map +1 -1
  535. package/dist/core/authentication/entities/client/module.mjs +7 -5
  536. package/dist/core/authentication/entities/client/module.mjs.map +1 -1
  537. package/dist/core/authentication/entities/robot/module.d.ts.map +1 -1
  538. package/dist/core/authentication/entities/robot/module.mjs +5 -4
  539. package/dist/core/authentication/entities/robot/module.mjs.map +1 -1
  540. package/dist/core/authentication/entities/user/module.d.ts.map +1 -1
  541. package/dist/core/authentication/entities/user/module.mjs +5 -4
  542. package/dist/core/authentication/entities/user/module.mjs.map +1 -1
  543. package/dist/core/authentication/module.mjs.map +1 -1
  544. package/dist/core/authentication/session/module.mjs.map +1 -1
  545. package/dist/core/entities/client/service.d.ts +2 -3
  546. package/dist/core/entities/client/service.d.ts.map +1 -1
  547. package/dist/core/entities/client/service.mjs +8 -8
  548. package/dist/core/entities/client/service.mjs.map +1 -1
  549. package/dist/core/entities/client/types.d.ts +1 -2
  550. package/dist/core/entities/client/types.d.ts.map +1 -1
  551. package/dist/core/entities/client-permission/service.d.ts +2 -3
  552. package/dist/core/entities/client-permission/service.d.ts.map +1 -1
  553. package/dist/core/entities/client-permission/service.mjs +8 -7
  554. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  555. package/dist/core/entities/client-permission/types.d.ts +1 -2
  556. package/dist/core/entities/client-permission/types.d.ts.map +1 -1
  557. package/dist/core/entities/client-role/service.d.ts +2 -3
  558. package/dist/core/entities/client-role/service.d.ts.map +1 -1
  559. package/dist/core/entities/client-role/service.mjs +9 -8
  560. package/dist/core/entities/client-role/service.mjs.map +1 -1
  561. package/dist/core/entities/client-role/types.d.ts +1 -2
  562. package/dist/core/entities/client-role/types.d.ts.map +1 -1
  563. package/dist/core/entities/client-scope/service.d.ts +2 -3
  564. package/dist/core/entities/client-scope/service.d.ts.map +1 -1
  565. package/dist/core/entities/client-scope/service.mjs +7 -6
  566. package/dist/core/entities/client-scope/service.mjs.map +1 -1
  567. package/dist/core/entities/client-scope/types.d.ts +1 -2
  568. package/dist/core/entities/client-scope/types.d.ts.map +1 -1
  569. package/dist/core/entities/identity-provider/types.d.ts +1 -1
  570. package/dist/core/entities/identity-provider/types.d.ts.map +1 -1
  571. package/dist/core/entities/identity-provider-role-mapping/service.d.ts +2 -3
  572. package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
  573. package/dist/core/entities/identity-provider-role-mapping/service.mjs +10 -9
  574. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
  575. package/dist/core/entities/identity-provider-role-mapping/types.d.ts +1 -2
  576. package/dist/core/entities/identity-provider-role-mapping/types.d.ts.map +1 -1
  577. package/dist/core/entities/index.d.ts +0 -3
  578. package/dist/core/entities/index.d.ts.map +1 -1
  579. package/dist/core/entities/index.mjs +1 -2
  580. package/dist/core/entities/permission/service.d.ts +2 -3
  581. package/dist/core/entities/permission/service.d.ts.map +1 -1
  582. package/dist/core/entities/permission/service.mjs +8 -9
  583. package/dist/core/entities/permission/service.mjs.map +1 -1
  584. package/dist/core/entities/permission/types.d.ts +1 -2
  585. package/dist/core/entities/permission/types.d.ts.map +1 -1
  586. package/dist/core/entities/permission-policy/service.d.ts +2 -3
  587. package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
  588. package/dist/core/entities/permission-policy/service.mjs +7 -6
  589. package/dist/core/entities/permission-policy/service.mjs.map +1 -1
  590. package/dist/core/entities/permission-policy/types.d.ts +1 -2
  591. package/dist/core/entities/permission-policy/types.d.ts.map +1 -1
  592. package/dist/core/entities/policy/attributes-validator.mjs.map +1 -1
  593. package/dist/core/entities/policy/service.d.ts +2 -3
  594. package/dist/core/entities/policy/service.d.ts.map +1 -1
  595. package/dist/core/entities/policy/service.mjs +8 -8
  596. package/dist/core/entities/policy/service.mjs.map +1 -1
  597. package/dist/core/entities/policy/types.d.ts +1 -2
  598. package/dist/core/entities/policy/types.d.ts.map +1 -1
  599. package/dist/core/entities/realm/service.d.ts +2 -3
  600. package/dist/core/entities/realm/service.d.ts.map +1 -1
  601. package/dist/core/entities/realm/service.mjs +8 -8
  602. package/dist/core/entities/realm/service.mjs.map +1 -1
  603. package/dist/core/entities/realm/types.d.ts +1 -2
  604. package/dist/core/entities/realm/types.d.ts.map +1 -1
  605. package/dist/core/entities/robot/service.d.ts +2 -3
  606. package/dist/core/entities/robot/service.d.ts.map +1 -1
  607. package/dist/core/entities/robot/service.mjs +8 -8
  608. package/dist/core/entities/robot/service.mjs.map +1 -1
  609. package/dist/core/entities/robot/types.d.ts +1 -2
  610. package/dist/core/entities/robot/types.d.ts.map +1 -1
  611. package/dist/core/entities/robot-permission/service.d.ts +2 -3
  612. package/dist/core/entities/robot-permission/service.d.ts.map +1 -1
  613. package/dist/core/entities/robot-permission/service.mjs +8 -7
  614. package/dist/core/entities/robot-permission/service.mjs.map +1 -1
  615. package/dist/core/entities/robot-permission/types.d.ts +1 -2
  616. package/dist/core/entities/robot-permission/types.d.ts.map +1 -1
  617. package/dist/core/entities/robot-role/service.d.ts +2 -3
  618. package/dist/core/entities/robot-role/service.d.ts.map +1 -1
  619. package/dist/core/entities/robot-role/service.mjs +9 -8
  620. package/dist/core/entities/robot-role/service.mjs.map +1 -1
  621. package/dist/core/entities/robot-role/types.d.ts +1 -2
  622. package/dist/core/entities/robot-role/types.d.ts.map +1 -1
  623. package/dist/core/entities/role/service.d.ts +2 -3
  624. package/dist/core/entities/role/service.d.ts.map +1 -1
  625. package/dist/core/entities/role/service.mjs +8 -8
  626. package/dist/core/entities/role/service.mjs.map +1 -1
  627. package/dist/core/entities/role/types.d.ts +1 -2
  628. package/dist/core/entities/role/types.d.ts.map +1 -1
  629. package/dist/core/entities/role-attribute/service.d.ts +2 -3
  630. package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
  631. package/dist/core/entities/role-attribute/service.mjs +5 -5
  632. package/dist/core/entities/role-attribute/service.mjs.map +1 -1
  633. package/dist/core/entities/role-attribute/types.d.ts +1 -2
  634. package/dist/core/entities/role-attribute/types.d.ts.map +1 -1
  635. package/dist/core/entities/role-permission/service.d.ts +2 -3
  636. package/dist/core/entities/role-permission/service.d.ts.map +1 -1
  637. package/dist/core/entities/role-permission/service.mjs +8 -7
  638. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  639. package/dist/core/entities/role-permission/types.d.ts +1 -2
  640. package/dist/core/entities/role-permission/types.d.ts.map +1 -1
  641. package/dist/core/entities/scope/service.d.ts +2 -3
  642. package/dist/core/entities/scope/service.d.ts.map +1 -1
  643. package/dist/core/entities/scope/service.mjs +8 -8
  644. package/dist/core/entities/scope/service.mjs.map +1 -1
  645. package/dist/core/entities/scope/types.d.ts +1 -2
  646. package/dist/core/entities/scope/types.d.ts.map +1 -1
  647. package/dist/core/entities/user/service.d.ts +2 -3
  648. package/dist/core/entities/user/service.d.ts.map +1 -1
  649. package/dist/core/entities/user/service.mjs +8 -8
  650. package/dist/core/entities/user/service.mjs.map +1 -1
  651. package/dist/core/entities/user/types.d.ts +1 -2
  652. package/dist/core/entities/user/types.d.ts.map +1 -1
  653. package/dist/core/entities/user-attribute/service.d.ts +2 -3
  654. package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
  655. package/dist/core/entities/user-attribute/service.mjs +8 -8
  656. package/dist/core/entities/user-attribute/service.mjs.map +1 -1
  657. package/dist/core/entities/user-attribute/types.d.ts +1 -2
  658. package/dist/core/entities/user-attribute/types.d.ts.map +1 -1
  659. package/dist/core/entities/user-permission/service.d.ts +2 -3
  660. package/dist/core/entities/user-permission/service.d.ts.map +1 -1
  661. package/dist/core/entities/user-permission/service.mjs +8 -7
  662. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  663. package/dist/core/entities/user-permission/types.d.ts +1 -2
  664. package/dist/core/entities/user-permission/types.d.ts.map +1 -1
  665. package/dist/core/entities/user-role/service.d.ts +2 -3
  666. package/dist/core/entities/user-role/service.d.ts.map +1 -1
  667. package/dist/core/entities/user-role/service.mjs +9 -8
  668. package/dist/core/entities/user-role/service.mjs.map +1 -1
  669. package/dist/core/entities/user-role/types.d.ts +1 -2
  670. package/dist/core/entities/user-role/types.d.ts.map +1 -1
  671. package/dist/core/identity/index.d.ts +1 -0
  672. package/dist/core/identity/index.d.ts.map +1 -1
  673. package/dist/core/identity/index.mjs +4 -1
  674. package/dist/core/identity/password-recovery/check.d.ts +7 -0
  675. package/dist/core/identity/password-recovery/check.d.ts.map +1 -0
  676. package/dist/core/identity/password-recovery/check.mjs +24 -0
  677. package/dist/core/identity/password-recovery/check.mjs.map +1 -0
  678. package/dist/core/identity/password-recovery/disabled.d.ts +6 -0
  679. package/dist/core/identity/password-recovery/disabled.d.ts.map +1 -0
  680. package/dist/core/identity/password-recovery/disabled.mjs +16 -0
  681. package/dist/core/identity/password-recovery/disabled.mjs.map +1 -0
  682. package/dist/core/identity/password-recovery/email-verification-required.d.ts +6 -0
  683. package/dist/core/identity/password-recovery/email-verification-required.d.ts.map +1 -0
  684. package/dist/core/identity/password-recovery/email-verification-required.mjs +16 -0
  685. package/dist/core/identity/password-recovery/email-verification-required.mjs.map +1 -0
  686. package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
  687. package/dist/core/identity/password-recovery/service.mjs +10 -7
  688. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  689. package/dist/core/identity/password-recovery/token-expired.d.ts +6 -0
  690. package/dist/core/identity/password-recovery/token-expired.d.ts.map +1 -0
  691. package/dist/core/identity/password-recovery/token-expired.mjs +16 -0
  692. package/dist/core/identity/password-recovery/token-expired.mjs.map +1 -0
  693. package/dist/core/identity/permission/checker/index.d.ts +3 -0
  694. package/dist/core/identity/permission/checker/index.d.ts.map +1 -0
  695. package/dist/core/identity/permission/checker/index.mjs +2 -0
  696. package/dist/core/identity/permission/checker/service.d.ts +10 -0
  697. package/dist/core/identity/permission/checker/service.d.ts.map +1 -0
  698. package/dist/core/identity/permission/checker/service.mjs +55 -0
  699. package/dist/core/identity/permission/checker/service.mjs.map +1 -0
  700. package/dist/core/identity/permission/checker/types.d.ts +42 -0
  701. package/dist/core/identity/permission/checker/types.d.ts.map +1 -0
  702. package/dist/core/identity/permission/identity-policy-data.d.ts +4 -0
  703. package/dist/core/identity/permission/identity-policy-data.d.ts.map +1 -0
  704. package/dist/core/identity/permission/identity-policy-data.mjs +23 -0
  705. package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -0
  706. package/dist/core/identity/permission/index.d.ts +1 -0
  707. package/dist/core/identity/permission/index.d.ts.map +1 -1
  708. package/dist/core/identity/permission/index.mjs +3 -1
  709. package/dist/core/identity/permission/module.mjs.map +1 -1
  710. package/dist/core/identity/policy/checker/index.d.ts +3 -0
  711. package/dist/core/identity/policy/checker/index.d.ts.map +1 -0
  712. package/dist/core/identity/policy/checker/index.mjs +2 -0
  713. package/dist/core/identity/policy/checker/service.d.ts +10 -0
  714. package/dist/core/identity/policy/checker/service.d.ts.map +1 -0
  715. package/dist/core/identity/policy/checker/service.mjs +46 -0
  716. package/dist/core/identity/policy/checker/service.mjs.map +1 -0
  717. package/dist/core/identity/policy/checker/types.d.ts +40 -0
  718. package/dist/core/identity/policy/checker/types.d.ts.map +1 -0
  719. package/dist/core/identity/policy/index.d.ts +2 -0
  720. package/dist/core/identity/policy/index.d.ts.map +1 -0
  721. package/dist/core/identity/policy/index.mjs +3 -0
  722. package/dist/core/identity/provider/account/module.d.ts.map +1 -1
  723. package/dist/core/identity/provider/account/module.mjs +2 -2
  724. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  725. package/dist/core/identity/provider/authentication/constants.mjs.map +1 -1
  726. package/dist/core/identity/provider/authentication/factory.mjs.map +1 -1
  727. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  728. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  729. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  730. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  731. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  732. package/dist/core/identity/provider/authentication/protocols/ldap/collection.d.ts.map +1 -1
  733. package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs +3 -2
  734. package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs.map +1 -1
  735. package/dist/core/identity/provider/authentication/protocols/ldap/module.d.ts.map +1 -1
  736. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +7 -4
  737. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
  738. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  739. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -1
  740. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
  741. package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
  742. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
  743. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
  744. package/dist/core/identity/registration/check.d.ts +3 -0
  745. package/dist/core/identity/registration/check.d.ts.map +1 -0
  746. package/dist/core/identity/registration/check.mjs +12 -0
  747. package/dist/core/identity/registration/check.mjs.map +1 -0
  748. package/dist/core/identity/registration/error.d.ts +6 -0
  749. package/dist/core/identity/registration/error.d.ts.map +1 -0
  750. package/dist/core/identity/registration/error.mjs +16 -0
  751. package/dist/core/identity/registration/error.mjs.map +1 -0
  752. package/dist/core/identity/registration/service.d.ts.map +1 -1
  753. package/dist/core/identity/registration/service.mjs +4 -3
  754. package/dist/core/identity/registration/service.mjs.map +1 -1
  755. package/dist/core/identity/resolver/entities/ldap/module.mjs.map +1 -1
  756. package/dist/core/identity/resolver/module.mjs.map +1 -1
  757. package/dist/core/identity/role/module.mjs.map +1 -1
  758. package/dist/core/index.mjs +5 -4
  759. package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -1
  760. package/dist/core/oauth2/authorization/code/verifier/module.mjs +8 -8
  761. package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
  762. package/dist/core/oauth2/authorization/code-request/validator.mjs +2 -2
  763. package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -1
  764. package/dist/core/oauth2/authorization/code-request/verifier/module.d.ts.map +1 -1
  765. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +8 -8
  766. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  767. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  768. package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
  769. package/dist/core/oauth2/authorization/module.mjs +4 -4
  770. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  771. package/dist/core/oauth2/authorization/state/module.mjs +4 -4
  772. package/dist/core/oauth2/authorization/state/module.mjs.map +1 -1
  773. package/dist/core/oauth2/client/authenticator.mjs +6 -6
  774. package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
  775. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  776. package/dist/core/oauth2/grant-types/base.mjs.map +1 -1
  777. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
  778. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
  779. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  780. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  781. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +1 -1
  782. package/dist/core/oauth2/helpers/error.d.ts +8 -0
  783. package/dist/core/oauth2/helpers/error.d.ts.map +1 -0
  784. package/dist/core/oauth2/helpers/error.mjs +26 -0
  785. package/dist/core/oauth2/helpers/error.mjs.map +1 -0
  786. package/dist/core/oauth2/helpers/index.d.ts +1 -1
  787. package/dist/core/oauth2/helpers/index.mjs +1 -1
  788. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  789. package/dist/core/oauth2/response/bearer.mjs.map +1 -1
  790. package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
  791. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  792. package/dist/core/oauth2/token/issuer/base.mjs.map +1 -1
  793. package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -1
  794. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  795. package/dist/core/oauth2/token/revoker/module.mjs.map +1 -1
  796. package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
  797. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  798. package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -1
  799. package/dist/core/provisioning/entities/client/validator.mjs.map +1 -1
  800. package/dist/core/provisioning/entities/permission/validator.mjs.map +1 -1
  801. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  802. package/dist/core/provisioning/entities/realm/validator.mjs.map +1 -1
  803. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +1 -1
  804. package/dist/core/provisioning/entities/robot/validator.mjs.map +1 -1
  805. package/dist/core/provisioning/entities/role/relations-validator.mjs.map +1 -1
  806. package/dist/core/provisioning/entities/role/validator.mjs.map +1 -1
  807. package/dist/core/provisioning/entities/root/validator.mjs.map +1 -1
  808. package/dist/core/provisioning/entities/scope/validator.mjs.map +1 -1
  809. package/dist/core/provisioning/entities/user/relations-validator.mjs.map +1 -1
  810. package/dist/core/provisioning/entities/user/validator.mjs.map +1 -1
  811. package/dist/core/provisioning/strategy/normalize.mjs.map +1 -1
  812. package/dist/core/provisioning/strategy/validator.mjs.map +1 -1
  813. package/dist/core/provisioning/synchronizer/base.mjs.map +1 -1
  814. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  815. package/dist/core/provisioning/synchronizer/entity-resolver.d.ts +1 -1
  816. package/dist/core/provisioning/synchronizer/entity-resolver.d.ts.map +1 -1
  817. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  818. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +1 -1
  819. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
  820. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
  821. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  822. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
  823. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  824. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +1 -1
  825. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  826. package/dist/core/provisioning/synchronizer/root/module.mjs.map +1 -1
  827. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  828. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  829. package/dist/core/security/policy/engine.mjs.map +1 -1
  830. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  831. package/dist/index.mjs +7 -7
  832. package/dist/path.mjs.map +1 -1
  833. package/dist/swagger.json +9413 -2773
  834. package/dist/ui/client/.vite/ssr-manifest.json +33 -113
  835. package/dist/ui/client/assets/index-BdPtpN2t.js +66 -0
  836. package/dist/ui/client/index.html +1 -1
  837. package/dist/ui/server/server.js +1483 -1066
  838. package/dist/utils/error.d.ts +13 -0
  839. package/dist/utils/error.d.ts.map +1 -1
  840. package/dist/utils/error.mjs +26 -24
  841. package/dist/utils/error.mjs.map +1 -1
  842. package/dist/utils/host.mjs.map +1 -1
  843. package/dist/utils/index.d.ts +1 -0
  844. package/dist/utils/index.d.ts.map +1 -1
  845. package/dist/utils/index.mjs +2 -1
  846. package/dist/utils/self-id.mjs.map +1 -1
  847. package/dist/utils/url.d.ts +10 -0
  848. package/dist/utils/url.d.ts.map +1 -0
  849. package/dist/utils/url.mjs +17 -0
  850. package/dist/utils/url.mjs.map +1 -0
  851. package/package.json +32 -33
  852. package/dist/adapters/http/server/index.d.ts +0 -3
  853. package/dist/adapters/http/server/index.d.ts.map +0 -1
  854. package/dist/adapters/http/server/index.mjs +0 -2
  855. package/dist/adapters/http/server/module.d.ts +0 -3
  856. package/dist/adapters/http/server/module.d.ts.map +0 -1
  857. package/dist/adapters/http/server/module.mjs +0 -10
  858. package/dist/adapters/http/server/module.mjs.map +0 -1
  859. package/dist/adapters/http/server/type.d.ts +0 -8
  860. package/dist/adapters/http/server/type.d.ts.map +0 -1
  861. package/dist/adapters/http/swagger/index.d.ts +0 -3
  862. package/dist/adapters/http/swagger/index.d.ts.map +0 -1
  863. package/dist/adapters/http/swagger/index.mjs +0 -2
  864. package/dist/adapters/http/swagger/module.d.ts +0 -12
  865. package/dist/adapters/http/swagger/module.d.ts.map +0 -1
  866. package/dist/adapters/http/swagger/module.mjs +0 -75
  867. package/dist/adapters/http/swagger/module.mjs.map +0 -1
  868. package/dist/adapters/http/swagger/type.d.ts +0 -4
  869. package/dist/adapters/http/swagger/type.d.ts.map +0 -1
  870. package/dist/adapters/http/swagger/type.mjs +0 -1
  871. package/dist/app/modules/swagger/index.d.ts +0 -2
  872. package/dist/app/modules/swagger/index.d.ts.map +0 -1
  873. package/dist/app/modules/swagger/index.mjs +0 -2
  874. package/dist/app/modules/swagger/module.d.ts +0 -9
  875. package/dist/app/modules/swagger/module.d.ts.map +0 -1
  876. package/dist/app/modules/swagger/module.mjs +0 -32
  877. package/dist/app/modules/swagger/module.mjs.map +0 -1
  878. package/dist/cli/commands/swagger.d.ts +0 -8
  879. package/dist/cli/commands/swagger.d.ts.map +0 -1
  880. package/dist/cli/commands/swagger.mjs +0 -29
  881. package/dist/cli/commands/swagger.mjs.map +0 -1
  882. package/dist/core/entities/actor/index.d.ts +0 -2
  883. package/dist/core/entities/actor/index.d.ts.map +0 -1
  884. package/dist/core/entities/actor/index.mjs +0 -1
  885. package/dist/core/entities/actor/types.d.ts +0 -7
  886. package/dist/core/entities/actor/types.d.ts.map +0 -1
  887. package/dist/core/entities/service.d.ts +0 -6
  888. package/dist/core/entities/service.d.ts.map +0 -1
  889. package/dist/core/entities/service.mjs +0 -21
  890. package/dist/core/entities/service.mjs.map +0 -1
  891. package/dist/core/entities/types.d.ts +0 -22
  892. package/dist/core/entities/types.d.ts.map +0 -1
  893. package/dist/core/oauth2/helpers/erorr.d.ts +0 -9
  894. package/dist/core/oauth2/helpers/erorr.d.ts.map +0 -1
  895. package/dist/core/oauth2/helpers/erorr.mjs +0 -26
  896. package/dist/core/oauth2/helpers/erorr.mjs.map +0 -1
  897. package/dist/ui/client/assets/index-Noe7uiOY.js +0 -41
  898. /package/dist/{core/entities/actor → adapters/http/middleware/built-in/realm-resolver}/types.mjs +0 -0
  899. /package/dist/core/{entities → identity/permission/checker}/types.mjs +0 -0
  900. /package/dist/{adapters/http/server/type.mjs → core/identity/policy/checker/types.mjs} +0 -0
@@ -1,9 +1,9 @@
1
- import { AbstractEntityService } from "../service.mjs";
2
1
  import { PolicyAttributesValidator } from "./attributes-validator.mjs";
3
- import { PermissionName, PolicyValidator, ValidatorGroup } from "@authup/core-kit";
4
- import { extendObject, isPropertySet, isUUID, removeObjectProperty } from "@authup/kit";
2
+ import { PermissionName, PolicyValidator } from "@authup/core-kit";
3
+ import { AbstractEntityService } from "@authup/server-kit";
4
+ import { ValidatorGroup, extendObject, isPropertySet, isUUID, removeObjectProperty } from "@authup/kit";
5
5
  import { BuiltInPolicyType, PolicyData } from "@authup/access";
6
- import { BadRequestError, NotFoundError } from "@ebec/http";
6
+ import { BadRequestError, EntityNotFoundError } from "@authup/errors";
7
7
  //#region src/core/entities/policy/service.ts
8
8
  var PolicyService = class extends AbstractEntityService {
9
9
  repository;
@@ -32,7 +32,7 @@ var PolicyService = class extends AbstractEntityService {
32
32
  PermissionName.PERMISSION_DELETE
33
33
  ] });
34
34
  const entity = await this.repository.findOneByIdOrName(idOrName, realm);
35
- if (!entity) throw new NotFoundError();
35
+ if (!entity) throw new EntityNotFoundError();
36
36
  return entity;
37
37
  }
38
38
  async create(data, actor) {
@@ -53,8 +53,8 @@ var PolicyService = class extends AbstractEntityService {
53
53
  else where.name = idOrName;
54
54
  if (realm) where.realm_id = realm.id;
55
55
  entity = await this.repository.findOneBy(where);
56
- if (!entity && options.updateOnly) throw new NotFoundError();
57
- } else if (options.updateOnly) throw new NotFoundError();
56
+ if (!entity && options.updateOnly) throw new EntityNotFoundError();
57
+ } else if (options.updateOnly) throw new EntityNotFoundError();
58
58
  if (entity) {
59
59
  await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_UPDATE });
60
60
  group = ValidatorGroup.UPDATE;
@@ -109,7 +109,7 @@ var PolicyService = class extends AbstractEntityService {
109
109
  async delete(id, actor) {
110
110
  await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_DELETE });
111
111
  const entity = await this.repository.findOneBy({ id });
112
- if (!entity) throw new NotFoundError();
112
+ if (!entity) throw new EntityNotFoundError();
113
113
  if (entity.built_in) throw new BadRequestError("A built-in policy can not be deleted.");
114
114
  await actor.permissionEvaluator.evaluate({
115
115
  name: PermissionName.PERMISSION_DELETE,
@@ -1 +1 @@
1
- {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","extendObject","isPropertySet","isUUID","removeObjectProperty","BadRequestError","NotFoundError","PermissionName","PolicyValidator","ValidatorGroup","AbstractEntityService","PolicyAttributesValidator","PolicyService","repository","realmRepository","validator","attributesValidator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","PERMISSION_READ","PERMISSION_UPDATE","PERMISSION_DELETE","findMany","getOne","idOrName","realm","entity","findOneByIdOrName","create","data","save","undefined","update","updateOnly","options","group","realm_id","resolve","where","id","findOneBy","preEvaluate","UPDATE","PERMISSION_CREATE","CREATE","validated","validate","validateJoinColumns","parent","type","COMPOSITE","built_in","evaluate","input","ATTRIBUTES","checkUniqueness","saveWithEA","created","identity","getActorRealmId","run","attributes","Array","isArray","children","promises","map","child","Promise","all","delete","entityId","deleteFromTree"],"sources":["../../../../src/core/entities/policy/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, PolicyData } from '@authup/access';\nimport {\n \n extendObject, \n isPropertySet, \n isUUID, \n removeObjectProperty, \n} from '@authup/kit';\nimport { BadRequestError, NotFoundError } from '@ebec/http';\nimport {\n PermissionName,\n PolicyValidator,\n ValidatorGroup,\n} from '@authup/core-kit';\nimport type { Policy } from '@authup/core-kit';\nimport type { ActorContext } from '../actor/types.ts';\nimport type { IRealmRepository } from '../realm/types.ts';\nimport { AbstractEntityService } from '../service.ts';\nimport type { EntityRepositoryFindManyResult } from '../types.ts';\nimport { PolicyAttributesValidator } from './attributes-validator.ts';\nimport type { IPolicyRepository, IPolicyService } from './types.ts';\n\nexport type PolicyServiceContext = {\n repository: IPolicyRepository;\n realmRepository: IRealmRepository;\n};\n\nexport class PolicyService extends AbstractEntityService implements IPolicyService {\n protected repository: IPolicyRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected validator: PolicyValidator;\n\n protected attributesValidator: PolicyAttributesValidator;\n\n constructor(ctx: PolicyServiceContext) {\n super();\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.validator = new PolicyValidator();\n this.attributesValidator = new PolicyAttributesValidator({});\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<Policy>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.PERMISSION_READ,\n PermissionName.PERMISSION_UPDATE,\n PermissionName.PERMISSION_DELETE,\n ],\n });\n\n return this.repository.findMany(query);\n }\n\n async getOne(\n idOrName: string,\n actor: ActorContext,\n realm?: string,\n ): Promise<Policy> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.PERMISSION_READ,\n PermissionName.PERMISSION_UPDATE,\n PermissionName.PERMISSION_DELETE,\n ],\n });\n\n const entity = await this.repository.findOneByIdOrName(idOrName, realm);\n if (!entity) {\n throw new NotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Policy> {\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<Policy> {\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: Policy,\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: Policy | 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 NotFoundError();\n }\n } else if (options.updateOnly) {\n throw new NotFoundError();\n }\n\n if (entity) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_CREATE });\n group = ValidatorGroup.CREATE;\n }\n\n const validated = await this.validate(data, group);\n\n await this.repository.validateJoinColumns(validated);\n\n if (\n validated.parent &&\n validated.parent.type !== BuiltInPolicyType.COMPOSITE\n ) {\n throw new BadRequestError('The parent policy must be of type group.');\n }\n\n if (entity) {\n if (entity.built_in) {\n throw new BadRequestError('A built-in policy can not be updated.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_UPDATE,\n input: new PolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n }),\n });\n\n await this.repository.checkUniqueness(validated, entity);\n\n extendObject(entity, validated);\n\n await this.repository.saveWithEA(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.PERMISSION_CREATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\n\n await this.repository.checkUniqueness(validated);\n\n entity = this.repository.create(validated);\n await this.repository.saveWithEA(entity);\n\n return {\n entity,\n created: true, \n };\n }\n\n private async validate(\n data: Record<string, any>,\n group: string,\n ): Promise<Policy> {\n const validated = await this.validator.run(data, { group });\n\n const attributes = await this.attributesValidator.run(data);\n extendObject(validated, attributes);\n\n if (Array.isArray(data.children)) {\n if (data.type === BuiltInPolicyType.COMPOSITE) {\n const promises = data.children.map(\n (child) => this.validate(child, group),\n );\n validated.children = await Promise.all(promises);\n }\n }\n\n return validated;\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Policy> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new NotFoundError();\n }\n\n if (entity.built_in) {\n throw new BadRequestError('A built-in policy can not be deleted.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_DELETE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n\n const { id: entityId } = entity;\n\n await this.repository.deleteFromTree(entity);\n\n entity.id = entityId;\n\n // todo: remove after PolicyEntity - parent delete on cascade\n removeObjectProperty(entity, 'children');\n\n return entity;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","ValidatorGroup","extendObject","isPropertySet","isUUID","removeObjectProperty","BadRequestError","EntityNotFoundError","PermissionName","PolicyValidator","AbstractEntityService","PolicyAttributesValidator","PolicyService","repository","realmRepository","validator","attributesValidator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","PERMISSION_READ","PERMISSION_UPDATE","PERMISSION_DELETE","findMany","getOne","idOrName","realm","entity","findOneByIdOrName","create","data","save","undefined","update","updateOnly","options","group","realm_id","resolve","where","id","findOneBy","preEvaluate","UPDATE","PERMISSION_CREATE","CREATE","validated","validate","validateJoinColumns","parent","type","COMPOSITE","built_in","evaluate","input","ATTRIBUTES","checkUniqueness","saveWithEA","created","identity","getActorRealmId","run","attributes","Array","isArray","children","promises","map","child","Promise","all","delete","entityId","deleteFromTree"],"sources":["../../../../src/core/entities/policy/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, PolicyData } from '@authup/access';\nimport {\n ValidatorGroup,\n extendObject,\n isPropertySet,\n isUUID,\n removeObjectProperty,\n} from '@authup/kit';\nimport { BadRequestError, EntityNotFoundError } from '@authup/errors';\nimport {\n PermissionName,\n PolicyValidator,\n} from '@authup/core-kit';\nimport type { Policy } 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 { PolicyAttributesValidator } from './attributes-validator.ts';\nimport type { IPolicyRepository, IPolicyService } from './types.ts';\n\nexport type PolicyServiceContext = {\n repository: IPolicyRepository;\n realmRepository: IRealmRepository;\n};\n\nexport class PolicyService extends AbstractEntityService implements IPolicyService {\n protected repository: IPolicyRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected validator: PolicyValidator;\n\n protected attributesValidator: PolicyAttributesValidator;\n\n constructor(ctx: PolicyServiceContext) {\n super();\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.validator = new PolicyValidator();\n this.attributesValidator = new PolicyAttributesValidator({});\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<Policy>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.PERMISSION_READ,\n PermissionName.PERMISSION_UPDATE,\n PermissionName.PERMISSION_DELETE,\n ],\n });\n\n return this.repository.findMany(query);\n }\n\n async getOne(\n idOrName: string,\n actor: ActorContext,\n realm?: string,\n ): Promise<Policy> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.PERMISSION_READ,\n PermissionName.PERMISSION_UPDATE,\n PermissionName.PERMISSION_DELETE,\n ],\n });\n\n const entity = await this.repository.findOneByIdOrName(idOrName, realm);\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<Policy> {\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<Policy> {\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: Policy,\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: Policy | 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.PERMISSION_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_CREATE });\n group = ValidatorGroup.CREATE;\n }\n\n const validated = await this.validate(data, group);\n\n await this.repository.validateJoinColumns(validated);\n\n if (\n validated.parent &&\n validated.parent.type !== BuiltInPolicyType.COMPOSITE\n ) {\n throw new BadRequestError('The parent policy must be of type group.');\n }\n\n if (entity) {\n if (entity.built_in) {\n throw new BadRequestError('A built-in policy can not be updated.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_UPDATE,\n input: new PolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n }),\n });\n\n await this.repository.checkUniqueness(validated, entity);\n\n extendObject(entity, validated);\n\n await this.repository.saveWithEA(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.PERMISSION_CREATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\n\n await this.repository.checkUniqueness(validated);\n\n entity = this.repository.create(validated);\n await this.repository.saveWithEA(entity);\n\n return {\n entity,\n created: true, \n };\n }\n\n private async validate(\n data: Record<string, any>,\n group: string,\n ): Promise<Policy> {\n const validated = await this.validator.run(data, { group });\n\n const attributes = await this.attributesValidator.run(data);\n extendObject(validated, attributes);\n\n if (Array.isArray(data.children)) {\n if (data.type === BuiltInPolicyType.COMPOSITE) {\n const promises = data.children.map(\n (child) => this.validate(child, group),\n );\n validated.children = await Promise.all(promises);\n }\n }\n\n return validated;\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Policy> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n if (entity.built_in) {\n throw new BadRequestError('A built-in policy can not be deleted.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_DELETE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n\n const { id: entityId } = entity;\n\n await this.repository.deleteFromTree(entity);\n\n entity.id = entityId;\n\n // todo: remove after PolicyEntity - parent delete on cascade\n removeObjectProperty(entity, 'children');\n\n return entity;\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { Policy } from '@authup/core-kit';
2
- import type { ActorContext } from '../actor/types.ts';
3
- import type { EntityRepositoryFindManyResult, IEntityRepository } from '../types.ts';
2
+ import type { ActorContext, EntityRepositoryFindManyResult, IEntityRepository } from '@authup/server-kit';
4
3
  export interface IPolicyRepository extends IEntityRepository<Policy> {
5
4
  checkUniqueness(data: Partial<Policy>, existing?: Policy): Promise<void>;
6
5
  saveWithEA(entity: Policy, data?: Record<string, any>): Promise<Policy>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/policy/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAChE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAExE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1G,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1F,IAAI,CACA,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC;QACP,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/policy/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAE,iBAAiB,EAAG,MAAM,oBAAoB,CAAC;AAE3G,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAChE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAExE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1G,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1F,IAAI,CACA,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC;QACP,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D"}
@@ -1,8 +1,7 @@
1
1
  import { RealmValidator } from '@authup/core-kit';
2
2
  import type { Realm } from '@authup/core-kit';
3
- import type { ActorContext } from '../actor/types.ts';
4
- import { AbstractEntityService } from '../service.ts';
5
- import type { EntityRepositoryFindManyResult } from '../types.ts';
3
+ import type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';
4
+ import { AbstractEntityService } from '@authup/server-kit';
6
5
  import type { IRealmRepository, IRealmService } from './types.ts';
7
6
  export type RealmServiceContext = {
8
7
  repository: IRealmRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/realm/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAGH,cAAc,EAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,gBAAgB,CAAC;CAChC,CAAC;AAEF,qBAAa,YAAa,SAAQ,qBAAsB,YAAW,aAAa;IAC5E,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEvC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC;gBAExB,GAAG,EAAE,mBAAmB;IAM9B,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAI3C,MAAM,CACR,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,CAAC;IASX,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;IAsEI,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;CAuBpB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/realm/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAGH,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,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;CAChC,CAAC;AAEF,qBAAa,YAAa,SAAQ,qBAAsB,YAAW,aAAa;IAC5E,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEvC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC;gBAExB,GAAG,EAAE,mBAAmB;IAM9B,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAI3C,MAAM,CACR,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,CAAC;IASX,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;IAsEI,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;CAuBpB"}
@@ -1,8 +1,8 @@
1
- import { AbstractEntityService } from "../service.mjs";
2
- import { PermissionName, REALM_MASTER_NAME, RealmValidator, ValidatorGroup } from "@authup/core-kit";
3
- import { isPropertySet, isUUID } from "@authup/kit";
1
+ import { PermissionName, REALM_MASTER_NAME, RealmValidator } from "@authup/core-kit";
2
+ import { AbstractEntityService } from "@authup/server-kit";
3
+ import { ValidatorGroup, isPropertySet, isUUID } from "@authup/kit";
4
4
  import { BuiltInPolicyType, PolicyData } from "@authup/access";
5
- import { BadRequestError, NotFoundError } from "@ebec/http";
5
+ import { BadRequestError, EntityNotFoundError } from "@authup/errors";
6
6
  //#region src/core/entities/realm/service.ts
7
7
  var RealmService = class extends AbstractEntityService {
8
8
  repository;
@@ -17,7 +17,7 @@ var RealmService = class extends AbstractEntityService {
17
17
  }
18
18
  async getOne(idOrName) {
19
19
  const entity = await this.repository.findOneByIdOrName(idOrName);
20
- if (!entity) throw new NotFoundError();
20
+ if (!entity) throw new EntityNotFoundError();
21
21
  return entity;
22
22
  }
23
23
  async create(data, actor) {
@@ -36,8 +36,8 @@ var RealmService = class extends AbstractEntityService {
36
36
  if (isUUID(idOrName)) where.id = idOrName;
37
37
  else where.name = idOrName;
38
38
  entity = await this.repository.findOneBy(where);
39
- if (!entity && options.updateOnly) throw new NotFoundError();
40
- } else if (options.updateOnly) throw new NotFoundError();
39
+ if (!entity && options.updateOnly) throw new EntityNotFoundError();
40
+ } else if (options.updateOnly) throw new EntityNotFoundError();
41
41
  if (entity) {
42
42
  await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_UPDATE });
43
43
  group = ValidatorGroup.UPDATE;
@@ -77,7 +77,7 @@ var RealmService = class extends AbstractEntityService {
77
77
  async delete(id, actor) {
78
78
  await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_DELETE });
79
79
  const entity = await this.repository.findOneBy({ id });
80
- if (!entity) throw new NotFoundError();
80
+ if (!entity) throw new EntityNotFoundError();
81
81
  if (entity.built_in) throw new BadRequestError("A built-in realm can not be deleted.");
82
82
  await actor.permissionEvaluator.evaluate({
83
83
  name: PermissionName.REALM_DELETE,
@@ -1 +1 @@
1
- {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","isPropertySet","isUUID","BadRequestError","NotFoundError","PermissionName","REALM_MASTER_NAME","RealmValidator","ValidatorGroup","AbstractEntityService","RealmService","repository","validator","ctx","getMany","query","findMany","getOne","idOrName","entity","findOneByIdOrName","create","data","actor","save","undefined","update","updateOnly","options","group","where","id","name","findOneBy","permissionEvaluator","preEvaluate","REALM_UPDATE","UPDATE","REALM_CREATE","CREATE","validated","run","validateJoinColumns","evaluate","input","ATTRIBUTES","merge","created","delete","REALM_DELETE","built_in","entityId","remove"],"sources":["../../../../src/core/entities/realm/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, PolicyData } from '@authup/access';\nimport { isPropertySet, isUUID } from '@authup/kit';\nimport { BadRequestError, NotFoundError } from '@ebec/http';\nimport {\n PermissionName,\n REALM_MASTER_NAME,\n RealmValidator,\n ValidatorGroup,\n} from '@authup/core-kit';\nimport type { Realm } from '@authup/core-kit';\nimport type { ActorContext } from '../actor/types.ts';\nimport { AbstractEntityService } from '../service.ts';\nimport type { EntityRepositoryFindManyResult } from '../types.ts';\nimport type { IRealmRepository, IRealmService } from './types.ts';\n\nexport type RealmServiceContext = {\n repository: IRealmRepository;\n};\n\nexport class RealmService extends AbstractEntityService implements IRealmService {\n protected repository: IRealmRepository;\n\n protected validator: RealmValidator;\n\n constructor(ctx: RealmServiceContext) {\n super();\n this.repository = ctx.repository;\n this.validator = new RealmValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n ): Promise<EntityRepositoryFindManyResult<Realm>> {\n return this.repository.findMany(query);\n }\n\n async getOne(\n idOrName: string,\n ): Promise<Realm> {\n const entity = await this.repository.findOneByIdOrName(idOrName);\n if (!entity) {\n throw new NotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Realm> {\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<Realm> {\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: Realm,\n created: boolean \n }> {\n let group: string;\n\n let entity: Realm | 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 entity = await this.repository.findOneBy(where);\n if (!entity && options.updateOnly) {\n throw new NotFoundError();\n }\n } else if (options.updateOnly) {\n throw new NotFoundError();\n }\n\n if (entity) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_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.REALM_UPDATE,\n input: new PolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n }),\n });\n\n if (entity.name === REALM_MASTER_NAME && isPropertySet(validated, 'name') && entity.name !== validated.name) {\n throw new BadRequestError(`The name of the ${REALM_MASTER_NAME} can not be changed.`);\n }\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 await actor.permissionEvaluator.evaluate({\n name: PermissionName.REALM_CREATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\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<Realm> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new NotFoundError();\n }\n\n if (entity.built_in) {\n throw new BadRequestError('A built-in realm can not be deleted.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.REALM_DELETE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: 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","PolicyData","ValidatorGroup","isPropertySet","isUUID","BadRequestError","EntityNotFoundError","PermissionName","REALM_MASTER_NAME","RealmValidator","AbstractEntityService","RealmService","repository","validator","ctx","getMany","query","findMany","getOne","idOrName","entity","findOneByIdOrName","create","data","actor","save","undefined","update","updateOnly","options","group","where","id","name","findOneBy","permissionEvaluator","preEvaluate","REALM_UPDATE","UPDATE","REALM_CREATE","CREATE","validated","run","validateJoinColumns","evaluate","input","ATTRIBUTES","merge","created","delete","REALM_DELETE","built_in","entityId","remove"],"sources":["../../../../src/core/entities/realm/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, PolicyData } from '@authup/access';\nimport { ValidatorGroup, isPropertySet, isUUID } from '@authup/kit';\nimport { BadRequestError, EntityNotFoundError } from '@authup/errors';\nimport {\n PermissionName,\n REALM_MASTER_NAME,\n RealmValidator,\n} from '@authup/core-kit';\nimport type { Realm } from '@authup/core-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport type { IRealmRepository, IRealmService } from './types.ts';\n\nexport type RealmServiceContext = {\n repository: IRealmRepository;\n};\n\nexport class RealmService extends AbstractEntityService implements IRealmService {\n protected repository: IRealmRepository;\n\n protected validator: RealmValidator;\n\n constructor(ctx: RealmServiceContext) {\n super();\n this.repository = ctx.repository;\n this.validator = new RealmValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n ): Promise<EntityRepositoryFindManyResult<Realm>> {\n return this.repository.findMany(query);\n }\n\n async getOne(\n idOrName: string,\n ): Promise<Realm> {\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<Realm> {\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<Realm> {\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: Realm,\n created: boolean \n }> {\n let group: string;\n\n let entity: Realm | 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 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.REALM_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_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.REALM_UPDATE,\n input: new PolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n }),\n });\n\n if (entity.name === REALM_MASTER_NAME && isPropertySet(validated, 'name') && entity.name !== validated.name) {\n throw new BadRequestError(`The name of the ${REALM_MASTER_NAME} can not be changed.`);\n }\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 await actor.permissionEvaluator.evaluate({\n name: PermissionName.REALM_CREATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\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<Realm> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n if (entity.built_in) {\n throw new BadRequestError('A built-in realm can not be deleted.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.REALM_DELETE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: 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,6 +1,5 @@
1
1
  import type { Realm } from '@authup/core-kit';
2
- import type { ActorContext } from '../actor/types.ts';
3
- import type { EntityRepositoryFindManyResult, IEntityRepository } from '../types.ts';
2
+ import type { ActorContext, EntityRepositoryFindManyResult, IEntityRepository } from '@authup/server-kit';
4
3
  export interface IRealmRepository extends IEntityRepository<Realm> {
5
4
  resolve(id: string | undefined, withFallback: true): Promise<Realm>;
6
5
  resolve(id: string | undefined, withFallback?: boolean): Promise<Realm | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/realm/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IAC9D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACpE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;CAClF;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzF,IAAI,CACA,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC;QACP,MAAM,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAC3D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/realm/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAE,iBAAiB,EAAG,MAAM,oBAAoB,CAAC;AAE3G,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IAC9D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACpE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;CAClF;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzF,IAAI,CACA,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC;QACP,MAAM,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAC3D"}
@@ -1,9 +1,8 @@
1
1
  import { RobotValidator } from '@authup/core-kit';
2
2
  import type { Robot } from '@authup/core-kit';
3
- import type { ActorContext } from '../actor/types.ts';
3
+ import type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';
4
4
  import type { IRealmRepository } from '../realm/types.ts';
5
- import { AbstractEntityService } from '../service.ts';
6
- import type { EntityRepositoryFindManyResult } from '../types.ts';
5
+ import { AbstractEntityService } from '@authup/server-kit';
7
6
  import type { IRobotRepository, IRobotService } from './types.ts';
8
7
  export type RobotServiceContext = {
9
8
  repository: IRobotRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/robot/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAEH,cAAc,EAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAElE,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;IAoD3C,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,CAAC;IAsCX,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;IAuHI,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;CA0CpB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/robot/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;AAE3D,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;IAoD3C,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,CAAC;IAsCX,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;IAuHI,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;CA0CpB"}
@@ -1,9 +1,9 @@
1
1
  import { RobotCredentialsService } from "../../authentication/credential/entities/robot/module.mjs";
2
- import { AbstractEntityService } from "../service.mjs";
3
- import { PermissionName, RobotValidator, ValidatorGroup } from "@authup/core-kit";
4
- import { isUUID } from "@authup/kit";
2
+ import { PermissionName, RobotValidator } from "@authup/core-kit";
3
+ import { AbstractEntityService } from "@authup/server-kit";
4
+ import { ValidatorGroup, isUUID } from "@authup/kit";
5
5
  import { BuiltInPolicyType, PolicyData } from "@authup/access";
6
- import { NotFoundError } from "@ebec/http";
6
+ import { EntityNotFoundError } from "@authup/errors";
7
7
  //#region src/core/entities/robot/service.ts
8
8
  var RobotService = class extends AbstractEntityService {
9
9
  repository;
@@ -60,7 +60,7 @@ var RobotService = class extends AbstractEntityService {
60
60
  let isMe = !!actor.identity && actor.identity.type === "robot" && (actor.identity.data.id === idOrName || actor.identity.data.name === idOrName);
61
61
  if (!isMe) await actor.permissionEvaluator.preEvaluateOneOf({ name: permissionNames });
62
62
  const entity = await this.repository.findOne(idOrName, query, realmId);
63
- if (!entity) throw new NotFoundError();
63
+ if (!entity) throw new EntityNotFoundError();
64
64
  if (isMe && actor.identity.data.id !== entity.id) {
65
65
  isMe = false;
66
66
  await actor.permissionEvaluator.preEvaluateOneOf({ name: permissionNames });
@@ -89,8 +89,8 @@ var RobotService = class extends AbstractEntityService {
89
89
  else where.name = idOrName;
90
90
  if (realm) where.realm_id = realm.id;
91
91
  entity = await this.repository.findOneBy(where);
92
- if (!entity && options.updateOnly) throw new NotFoundError();
93
- } else if (options.updateOnly) throw new NotFoundError();
92
+ if (!entity && options.updateOnly) throw new EntityNotFoundError();
93
+ } else if (options.updateOnly) throw new EntityNotFoundError();
94
94
  let isSelfEdit = false;
95
95
  if (entity) {
96
96
  try {
@@ -150,7 +150,7 @@ var RobotService = class extends AbstractEntityService {
150
150
  }
151
151
  async delete(id, actor) {
152
152
  const entity = await this.repository.findOneBy({ id });
153
- if (!entity) throw new NotFoundError();
153
+ if (!entity) throw new EntityNotFoundError();
154
154
  const isOwner = entity.user_id && actor.identity && actor.identity.type === "user" && actor.identity.data.id === entity.user_id;
155
155
  let isSelfDelete = false;
156
156
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","isUUID","NotFoundError","PermissionName","RobotValidator","ValidatorGroup","AbstractEntityService","RobotCredentialsService","RobotService","repository","realmRepository","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","ROBOT_READ","ROBOT_UPDATE","ROBOT_DELETE","data","entities","meta","findMany","total","entity","identity","type","id","push","evaluateOneOf","input","ATTRIBUTES","getOne","idOrName","realmId","permissionNames","isMe","findOne","create","save","undefined","update","updateOnly","options","group","realm","realm_id","resolve","where","findOneBy","isSelfEdit","preEvaluate","e","ROBOT_SELF_MANAGE","UPDATE","ROBOT_CREATE","CREATE","validated","run","validateJoinColumns","checkUniqueness","credentialsService","evaluate","merge","secret","protect","created","actorRealmId","getActorRealmId","generateSecret","delete","isOwner","user_id","isSelfDelete","entityId","remove"],"sources":["../../../../src/core/entities/robot/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, PolicyData } from '@authup/access';\nimport { isUUID } from '@authup/kit';\nimport { NotFoundError } from '@ebec/http';\nimport {\n PermissionName,\n RobotValidator,\n ValidatorGroup,\n} from '@authup/core-kit';\nimport type { Robot } from '@authup/core-kit';\nimport type { ActorContext } from '../actor/types.ts';\nimport type { IRealmRepository } from '../realm/types.ts';\nimport { AbstractEntityService } from '../service.ts';\nimport type { EntityRepositoryFindManyResult } from '../types.ts';\nimport { RobotCredentialsService } from '../../authentication/credential/entities/robot/module.ts';\nimport type { IRobotRepository, IRobotService } from './types.ts';\n\nexport type RobotServiceContext = {\n repository: IRobotRepository;\n realmRepository: IRealmRepository;\n};\n\nexport class RobotService extends AbstractEntityService implements IRobotService {\n protected repository: IRobotRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected validator: RobotValidator;\n\n constructor(ctx: RobotServiceContext) {\n super();\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.validator = new RobotValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<Robot>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROBOT_READ,\n PermissionName.ROBOT_UPDATE,\n PermissionName.ROBOT_DELETE,\n ],\n });\n\n const {\n data: entities, \n meta, \n } = await this.repository.findMany(query);\n\n const data: Robot[] = [];\n let { total } = meta;\n\n for (const entity of entities) {\n if (\n actor.identity &&\n actor.identity.type === 'robot' &&\n actor.identity.data.id === entity.id\n ) {\n data.push(entity);\n continue;\n }\n\n try {\n await actor.permissionEvaluator.evaluateOneOf({\n name: [\n PermissionName.ROBOT_READ,\n PermissionName.ROBOT_UPDATE,\n PermissionName.ROBOT_DELETE,\n ],\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n\n data.push(entity);\n } catch {\n total -= 1;\n }\n }\n\n return {\n data,\n meta: {\n ...meta,\n total, \n }, \n };\n }\n\n async getOne(\n idOrName: string,\n actor: ActorContext,\n query?: Record<string, any>,\n realmId?: string,\n ): Promise<Robot> {\n const permissionNames = [\n PermissionName.ROBOT_READ,\n PermissionName.ROBOT_UPDATE,\n PermissionName.ROBOT_DELETE,\n ];\n\n let isMe = !!actor.identity &&\n actor.identity.type === 'robot' &&\n (\n actor.identity.data.id === idOrName ||\n actor.identity.data.name === idOrName\n );\n\n if (!isMe) {\n await actor.permissionEvaluator.preEvaluateOneOf({ name: permissionNames });\n }\n\n const entity = await this.repository.findOne(idOrName, query, realmId);\n if (!entity) {\n throw new NotFoundError();\n }\n\n if (isMe && actor.identity!.data.id !== entity.id) {\n isMe = false;\n await actor.permissionEvaluator.preEvaluateOneOf({ name: permissionNames });\n }\n\n if (!isMe) {\n await actor.permissionEvaluator.evaluateOneOf({\n name: permissionNames,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Robot> {\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<Robot> {\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: Robot,\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: Robot | 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 NotFoundError();\n }\n } else if (options.updateOnly) {\n throw new NotFoundError();\n }\n\n let isSelfEdit = false;\n if (entity) {\n try {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_UPDATE });\n } catch (e) {\n if (\n !actor.identity ||\n actor.identity.type !== 'robot' ||\n actor.identity.data.id !== entity.id\n ) {\n throw e;\n }\n isSelfEdit = true;\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_SELF_MANAGE });\n }\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_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 await this.repository.checkUniqueness(validated, entity || undefined);\n\n const credentialsService = new RobotCredentialsService();\n\n if (entity) {\n if (isSelfEdit) {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_SELF_MANAGE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\n } else {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_UPDATE,\n input: new PolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n }),\n });\n }\n\n entity = this.repository.merge(entity, validated);\n if (validated.secret) {\n entity.secret = await credentialsService.protect(validated.secret);\n }\n\n await this.repository.save(entity);\n\n if (validated.secret) {\n entity.secret = validated.secret;\n }\n\n return {\n entity,\n created: false, \n };\n }\n\n if (!validated.realm_id) {\n const actorRealmId = this.getActorRealmId(actor);\n if (actorRealmId) {\n validated.realm_id = actorRealmId;\n }\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_CREATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\n\n if (!validated.secret) {\n validated.secret = credentialsService.generateSecret();\n }\n\n entity = this.repository.create(validated);\n entity.secret = await credentialsService.protect(validated.secret);\n await this.repository.save(entity);\n entity.secret = validated.secret;\n\n return {\n entity,\n created: true, \n };\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Robot> {\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new NotFoundError();\n }\n\n const isOwner = entity.user_id &&\n actor.identity &&\n actor.identity.type === 'user' &&\n actor.identity.data.id === entity.user_id;\n\n let isSelfDelete = false;\n try {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_DELETE });\n } catch (e) {\n if (!isOwner) {\n throw e;\n }\n isSelfDelete = true;\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_SELF_MANAGE });\n }\n\n if (isSelfDelete) {\n // Delete carries no attributes to validate; pass an empty input so\n // the ATTRIBUTE_NAMES denylist has no keys to reject.\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_SELF_MANAGE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: {} }),\n });\n } else {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_DELETE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: 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":";;;;;;;AA4BA,IAAaS,eAAb,cAAkCF,sBAAAA;CACpBG;CAEAC;CAEAC;CAEV,YAAYC,KAA0B;AAClC,SAAK;AACL,OAAKH,aAAaG,IAAIH;AACtB,OAAKC,kBAAkBE,IAAIF;AAC3B,OAAKC,YAAY,IAAIP,gBAAAA;;CAGzB,MAAMS,QACFC,OACAC,OAC8C;AAC9C,QAAMA,MAAMC,oBAAoBC,iBAAiB,EAC7CC,MAAM;GACFf,eAAegB;GACfhB,eAAeiB;GACfjB,eAAekB;GAClB,EACL,CAAA;EAEA,MAAM,EACFC,MAAMC,UACNC,SACA,MAAM,KAAKf,WAAWgB,SAASX,MAAAA;EAEnC,MAAMQ,OAAgB,EAAE;EACxB,IAAI,EAAEI,UAAUF;AAEhB,OAAK,MAAMG,UAAUJ,UAAU;AAC3B,OACIR,MAAMa,YACNb,MAAMa,SAASC,SAAS,WACxBd,MAAMa,SAASN,KAAKQ,OAAOH,OAAOG,IACpC;AACER,SAAKS,KAAKJ,OAAAA;AACV;;AAGJ,OAAI;AACA,UAAMZ,MAAMC,oBAAoBgB,cAAc;KAC1Cd,MAAM;MACFf,eAAegB;MACfhB,eAAeiB;MACfjB,eAAekB;MAClB;KACDY,OAAO,IAAIjC,WAAW,GAAGD,kBAAkBmC,aAAaP,QAAO,CAAA;KACnE,CAAA;AAEAL,SAAKS,KAAKJ,OAAAA;WACN;AACJD,aAAS;;;AAIjB,SAAO;GACHJ;GACAE,MAAM;IACF,GAAGA;IACHE;IACJ;GACJ;;CAGJ,MAAMS,OACFC,UACArB,OACAD,OACAuB,SACc;EACd,MAAMC,kBAAkB;GACpBnC,eAAegB;GACfhB,eAAeiB;GACfjB,eAAekB;GAClB;EAED,IAAIkB,OAAO,CAAC,CAACxB,MAAMa,YACfb,MAAMa,SAASC,SAAS,YAEpBd,MAAMa,SAASN,KAAKQ,OAAOM,YAC3BrB,MAAMa,SAASN,KAAKJ,SAASkB;AAGrC,MAAI,CAACG,KACD,OAAMxB,MAAMC,oBAAoBC,iBAAiB,EAAEC,MAAMoB,iBAAgB,CAAA;EAG7E,MAAMX,SAAS,MAAM,KAAKlB,WAAW+B,QAAQJ,UAAUtB,OAAOuB,QAAAA;AAC9D,MAAI,CAACV,OACD,OAAM,IAAIzB,eAAAA;AAGd,MAAIqC,QAAQxB,MAAMa,SAAUN,KAAKQ,OAAOH,OAAOG,IAAI;AAC/CS,UAAO;AACP,SAAMxB,MAAMC,oBAAoBC,iBAAiB,EAAEC,MAAMoB,iBAAgB,CAAA;;AAG7E,MAAI,CAACC,KACD,OAAMxB,MAAMC,oBAAoBgB,cAAc;GAC1Cd,MAAMoB;GACNL,OAAO,IAAIjC,WAAW,GAAGD,kBAAkBmC,aAAaP,QAAO,CAAA;GACnE,CAAA;AAGJ,SAAOA;;CAGX,MAAMc,OACFnB,MACAP,OACc;EACd,MAAM,EAAEY,WAAW,MAAM,KAAKe,KAAKC,KAAAA,GAAWrB,MAAMP,MAAAA;AACpD,SAAOY;;CAGX,MAAMiB,OACFR,UACAd,MACAP,OACc;EACd,MAAM,EAAEY,WAAW,MAAM,KAAKe,KAAKN,UAAUd,MAAMP,OAAO,EAAE8B,YAAY,MAAK,CAAA;AAC7E,SAAOlB;;CAGX,MAAMe,KACFN,UACAd,MACAP,OACA+B,UAAoC,EAAE,EAIvC;EACC,IAAIC;EAEJ,MAAMC,QAAQ,OAAO1B,KAAK2B,aAAa,WACnC,MAAM,KAAKvC,gBAAgBwC,QAAQ5B,KAAK2B,SAAQ,GAChDN,KAAAA;EAEJ,IAAIhB;AACJ,MAAIS,UAAU;GACV,MAAMe,QAA6B,EAAC;AACpC,OAAIlD,OAAOmC,SAAAA,CACPe,OAAMrB,KAAKM;OAEXe,OAAMjC,OAAOkB;AAGjB,OAAIY,MACAG,OAAMF,WAAWD,MAAMlB;AAG3BH,YAAS,MAAM,KAAKlB,WAAW2C,UAAUD,MAAAA;AACzC,OAAI,CAACxB,UAAUmB,QAAQD,WACnB,OAAM,IAAI3C,eAAAA;aAEP4C,QAAQD,WACf,OAAM,IAAI3C,eAAAA;EAGd,IAAImD,aAAa;AACjB,MAAI1B,QAAQ;AACR,OAAI;AACA,UAAMZ,MAAMC,oBAAoBsC,YAAY,EAAEpC,MAAMf,eAAeiB,cAAa,CAAA;YAC3EmC,GAAG;AACR,QACI,CAACxC,MAAMa,YACPb,MAAMa,SAASC,SAAS,WACxBd,MAAMa,SAASN,KAAKQ,OAAOH,OAAOG,GAElC,OAAMyB;AAEVF,iBAAa;AACb,UAAMtC,MAAMC,oBAAoBsC,YAAY,EAAEpC,MAAMf,eAAeqD,mBAAkB,CAAA;;AAEzFT,WAAQ1C,eAAeoD;SACpB;AACH,SAAM1C,MAAMC,oBAAoBsC,YAAY,EAAEpC,MAAMf,eAAeuD,cAAa,CAAA;AAChFX,WAAQ1C,eAAesD;;EAG3B,MAAMC,YAAY,MAAM,KAAKjD,UAAUkD,IAAIvC,MAAM,EAAEyB,OAAM,CAAA;AAEzD,QAAM,KAAKtC,WAAWqD,oBAAoBF,UAAAA;AAE1C,QAAM,KAAKnD,WAAWsD,gBAAgBH,WAAWjC,UAAUgB,KAAAA,EAAAA;EAE3D,MAAMqB,qBAAqB,IAAIzD,yBAAAA;AAE/B,MAAIoB,QAAQ;AACR,OAAI0B,WACA,OAAMtC,MAAMC,oBAAoBiD,SAAS;IACrC/C,MAAMf,eAAeqD;IACrBvB,OAAO,IAAIjC,WAAW,GAAGD,kBAAkBmC,aAAa0B,WAAU,CAAA;IACtE,CAAA;OAEA,OAAM7C,MAAMC,oBAAoBiD,SAAS;IACrC/C,MAAMf,eAAeiB;IACrBa,OAAO,IAAIjC,WAAW,GACjBD,kBAAkBmC,aAAa;KAC5B,GAAGP;KACH,GAAGiC;KACP,EACJ,CAAA;IACJ,CAAA;AAGJjC,YAAS,KAAKlB,WAAWyD,MAAMvC,QAAQiC,UAAAA;AACvC,OAAIA,UAAUO,OACVxC,QAAOwC,SAAS,MAAMH,mBAAmBI,QAAQR,UAAUO,OAAM;AAGrE,SAAM,KAAK1D,WAAWiC,KAAKf,OAAAA;AAE3B,OAAIiC,UAAUO,OACVxC,QAAOwC,SAASP,UAAUO;AAG9B,UAAO;IACHxC;IACA0C,SAAS;IACb;;AAGJ,MAAI,CAACT,UAAUX,UAAU;GACrB,MAAMqB,eAAe,KAAKC,gBAAgBxD,MAAAA;AAC1C,OAAIuD,aACAV,WAAUX,WAAWqB;;AAI7B,QAAMvD,MAAMC,oBAAoBiD,SAAS;GACrC/C,MAAMf,eAAeuD;GACrBzB,OAAO,IAAIjC,WAAW,GAAGD,kBAAkBmC,aAAa0B,WAAU,CAAA;GACtE,CAAA;AAEA,MAAI,CAACA,UAAUO,OACXP,WAAUO,SAASH,mBAAmBQ,gBAAc;AAGxD7C,WAAS,KAAKlB,WAAWgC,OAAOmB,UAAAA;AAChCjC,SAAOwC,SAAS,MAAMH,mBAAmBI,QAAQR,UAAUO,OAAM;AACjE,QAAM,KAAK1D,WAAWiC,KAAKf,OAAAA;AAC3BA,SAAOwC,SAASP,UAAUO;AAE1B,SAAO;GACHxC;GACA0C,SAAS;GACb;;CAGJ,MAAMI,OACF3C,IACAf,OACc;EACd,MAAMY,SAAS,MAAM,KAAKlB,WAAW2C,UAAU,EAAEtB,IAAG,CAAA;AACpD,MAAI,CAACH,OACD,OAAM,IAAIzB,eAAAA;EAGd,MAAMwE,UAAU/C,OAAOgD,WACnB5D,MAAMa,YACNb,MAAMa,SAASC,SAAS,UACxBd,MAAMa,SAASN,KAAKQ,OAAOH,OAAOgD;EAEtC,IAAIC,eAAe;AACnB,MAAI;AACA,SAAM7D,MAAMC,oBAAoBsC,YAAY,EAAEpC,MAAMf,eAAekB,cAAa,CAAA;WAC3EkC,GAAG;AACR,OAAI,CAACmB,QACD,OAAMnB;AAEVqB,kBAAe;AACf,SAAM7D,MAAMC,oBAAoBsC,YAAY,EAAEpC,MAAMf,eAAeqD,mBAAkB,CAAA;;AAGzF,MAAIoB,aAGA,OAAM7D,MAAMC,oBAAoBiD,SAAS;GACrC/C,MAAMf,eAAeqD;GACrBvB,OAAO,IAAIjC,WAAW,GAAGD,kBAAkBmC,aAAa,EAAC,EAAE,CAAA;GAC/D,CAAA;MAEA,OAAMnB,MAAMC,oBAAoBiD,SAAS;GACrC/C,MAAMf,eAAekB;GACrBY,OAAO,IAAIjC,WAAW,GAAGD,kBAAkBmC,aAAaP,QAAO,CAAA;GACnE,CAAA;EAGJ,MAAM,EAAEG,IAAI+C,aAAalD;AACzB,QAAM,KAAKlB,WAAWqE,OAAOnD,OAAAA;AAC7BA,SAAOG,KAAK+C;AAEZ,SAAOlD"}
1
+ {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","ValidatorGroup","isUUID","EntityNotFoundError","PermissionName","RobotValidator","AbstractEntityService","RobotCredentialsService","RobotService","repository","realmRepository","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","ROBOT_READ","ROBOT_UPDATE","ROBOT_DELETE","data","entities","meta","findMany","total","entity","identity","type","id","push","evaluateOneOf","input","ATTRIBUTES","getOne","idOrName","realmId","permissionNames","isMe","findOne","create","save","undefined","update","updateOnly","options","group","realm","realm_id","resolve","where","findOneBy","isSelfEdit","preEvaluate","e","ROBOT_SELF_MANAGE","UPDATE","ROBOT_CREATE","CREATE","validated","run","validateJoinColumns","checkUniqueness","credentialsService","evaluate","merge","secret","protect","created","actorRealmId","getActorRealmId","generateSecret","delete","isOwner","user_id","isSelfDelete","entityId","remove"],"sources":["../../../../src/core/entities/robot/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, PolicyData } from '@authup/access';\nimport { ValidatorGroup, isUUID } from '@authup/kit';\nimport { EntityNotFoundError } from '@authup/errors';\nimport {\n PermissionName,\n RobotValidator,\n} from '@authup/core-kit';\nimport type { Robot } 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 { RobotCredentialsService } from '../../authentication/credential/entities/robot/module.ts';\nimport type { IRobotRepository, IRobotService } from './types.ts';\n\nexport type RobotServiceContext = {\n repository: IRobotRepository;\n realmRepository: IRealmRepository;\n};\n\nexport class RobotService extends AbstractEntityService implements IRobotService {\n protected repository: IRobotRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected validator: RobotValidator;\n\n constructor(ctx: RobotServiceContext) {\n super();\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.validator = new RobotValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<Robot>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROBOT_READ,\n PermissionName.ROBOT_UPDATE,\n PermissionName.ROBOT_DELETE,\n ],\n });\n\n const {\n data: entities, \n meta, \n } = await this.repository.findMany(query);\n\n const data: Robot[] = [];\n let { total } = meta;\n\n for (const entity of entities) {\n if (\n actor.identity &&\n actor.identity.type === 'robot' &&\n actor.identity.data.id === entity.id\n ) {\n data.push(entity);\n continue;\n }\n\n try {\n await actor.permissionEvaluator.evaluateOneOf({\n name: [\n PermissionName.ROBOT_READ,\n PermissionName.ROBOT_UPDATE,\n PermissionName.ROBOT_DELETE,\n ],\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n\n data.push(entity);\n } catch {\n total -= 1;\n }\n }\n\n return {\n data,\n meta: {\n ...meta,\n total, \n }, \n };\n }\n\n async getOne(\n idOrName: string,\n actor: ActorContext,\n query?: Record<string, any>,\n realmId?: string,\n ): Promise<Robot> {\n const permissionNames = [\n PermissionName.ROBOT_READ,\n PermissionName.ROBOT_UPDATE,\n PermissionName.ROBOT_DELETE,\n ];\n\n let isMe = !!actor.identity &&\n actor.identity.type === 'robot' &&\n (\n actor.identity.data.id === idOrName ||\n actor.identity.data.name === idOrName\n );\n\n if (!isMe) {\n await actor.permissionEvaluator.preEvaluateOneOf({ name: permissionNames });\n }\n\n const entity = await this.repository.findOne(idOrName, query, realmId);\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n if (isMe && actor.identity!.data.id !== entity.id) {\n isMe = false;\n await actor.permissionEvaluator.preEvaluateOneOf({ name: permissionNames });\n }\n\n if (!isMe) {\n await actor.permissionEvaluator.evaluateOneOf({\n name: permissionNames,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Robot> {\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<Robot> {\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: Robot,\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: Robot | 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 let isSelfEdit = false;\n if (entity) {\n try {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_UPDATE });\n } catch (e) {\n if (\n !actor.identity ||\n actor.identity.type !== 'robot' ||\n actor.identity.data.id !== entity.id\n ) {\n throw e;\n }\n isSelfEdit = true;\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_SELF_MANAGE });\n }\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_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 await this.repository.checkUniqueness(validated, entity || undefined);\n\n const credentialsService = new RobotCredentialsService();\n\n if (entity) {\n if (isSelfEdit) {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_SELF_MANAGE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\n } else {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_UPDATE,\n input: new PolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n }),\n });\n }\n\n entity = this.repository.merge(entity, validated);\n if (validated.secret) {\n entity.secret = await credentialsService.protect(validated.secret);\n }\n\n await this.repository.save(entity);\n\n if (validated.secret) {\n entity.secret = validated.secret;\n }\n\n return {\n entity,\n created: false, \n };\n }\n\n if (!validated.realm_id) {\n const actorRealmId = this.getActorRealmId(actor);\n if (actorRealmId) {\n validated.realm_id = actorRealmId;\n }\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_CREATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\n\n if (!validated.secret) {\n validated.secret = credentialsService.generateSecret();\n }\n\n entity = this.repository.create(validated);\n entity.secret = await credentialsService.protect(validated.secret);\n await this.repository.save(entity);\n entity.secret = validated.secret;\n\n return {\n entity,\n created: true, \n };\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Robot> {\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n const isOwner = entity.user_id &&\n actor.identity &&\n actor.identity.type === 'user' &&\n actor.identity.data.id === entity.user_id;\n\n let isSelfDelete = false;\n try {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_DELETE });\n } catch (e) {\n if (!isOwner) {\n throw e;\n }\n isSelfDelete = true;\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_SELF_MANAGE });\n }\n\n if (isSelfDelete) {\n // Delete carries no attributes to validate; pass an empty input so\n // the ATTRIBUTE_NAMES denylist has no keys to reject.\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_SELF_MANAGE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: {} }),\n });\n } else {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_DELETE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: 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,7 +1,6 @@
1
1
  import type { Robot, Role } from '@authup/core-kit';
2
2
  import type { PermissionPolicyBinding } from '@authup/access';
3
- import type { ActorContext } from '../actor/types.ts';
4
- import type { EntityRepositoryFindManyResult, IEntityRepository } from '../types.ts';
3
+ import type { ActorContext, EntityRepositoryFindManyResult, IEntityRepository } from '@authup/server-kit';
5
4
  export interface IRobotRepository extends IEntityRepository<Robot> {
6
5
  checkUniqueness(data: Partial<Robot>, existing?: Robot): Promise<void>;
7
6
  findOne(id: string, query?: Record<string, any>, realm?: string): Promise<Robot | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/robot/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IAC9D,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAExF,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAErE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEvD,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;IACzG,MAAM,CACF,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,CAAC,CAAC;IAClB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzF,IAAI,CACA,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC;QACP,MAAM,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAC3D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/robot/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAE,iBAAiB,EAAG,MAAM,oBAAoB,CAAC;AAE3G,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB,CAAC,KAAK,CAAC;IAC9D,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAExF,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAErE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEvD,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;IACzG,MAAM,CACF,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,CAAC,CAAC;IAClB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzF,IAAI,CACA,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC;QACP,MAAM,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAC3D"}
@@ -1,9 +1,8 @@
1
1
  import { RobotPermissionValidator } from '@authup/core-kit';
2
2
  import type { RobotPermission } from '@authup/core-kit';
3
3
  import type { IIdentityPermissionProvider } from '../../identity/permission/types.ts';
4
- import type { ActorContext } from '../actor/types.ts';
5
- import { AbstractEntityService } from '../service.ts';
6
- import type { EntityRepositoryFindManyResult } from '../types.ts';
4
+ import type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';
5
+ import { AbstractEntityService } from '@authup/server-kit';
7
6
  import type { IRobotPermissionRepository, IRobotPermissionService } from './types.ts';
8
7
  export type RobotPermissionServiceContext = {
9
8
  repository: IRobotPermissionRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/robot-permission/service.ts"],"names":[],"mappings":"AASA,OAAO,EAAkB,wBAAwB,EAAkB,MAAM,kBAAkB,CAAC;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEtF,MAAM,MAAM,6BAA6B,GAAG;IACxC,UAAU,EAAE,0BAA0B,CAAC;IACvC,0BAA0B,EAAE,2BAA2B,CAAC;CAC3D,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,qBAAsB,YAAW,uBAAuB;IAChG,SAAS,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAEjD,SAAS,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;IAElE,SAAS,CAAC,SAAS,EAAE,wBAAwB,CAAC;gBAElC,GAAG,EAAE,6BAA6B;IAOxC,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC;IAWrD,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,eAAe,CAAC;IAgBrB,MAAM,CACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,eAAe,CAAC;IA6DrB,MAAM,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,eAAe,CAAC;IAyBrB,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,eAAe,CAAC;CAmB9B"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/robot-permission/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAAkB,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAG,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEtF,MAAM,MAAM,6BAA6B,GAAG;IACxC,UAAU,EAAE,0BAA0B,CAAC;IACvC,0BAA0B,EAAE,2BAA2B,CAAC;CAC3D,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,qBAAsB,YAAW,uBAAuB;IAChG,SAAS,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAEjD,SAAS,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;IAElE,SAAS,CAAC,SAAS,EAAE,wBAAwB,CAAC;gBAElC,GAAG,EAAE,6BAA6B;IAOxC,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC;IAWrD,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,eAAe,CAAC;IAgBrB,MAAM,CACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,eAAe,CAAC;IA6DrB,MAAM,CACR,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,eAAe,CAAC;IAyBrB,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,eAAe,CAAC;CAmB9B"}
@@ -1,7 +1,8 @@
1
- import { AbstractEntityService } from "../service.mjs";
2
- import { PermissionName, RobotPermissionValidator, ValidatorGroup } from "@authup/core-kit";
1
+ import { PermissionName, RobotPermissionValidator } from "@authup/core-kit";
2
+ import { AbstractEntityService } from "@authup/server-kit";
3
+ import { ValidatorGroup } from "@authup/kit";
3
4
  import { BuiltInPolicyType, PolicyData } from "@authup/access";
4
- import { ConflictError, NotFoundError } from "@ebec/http";
5
+ import { EntityConflictError, EntityNotFoundError } from "@authup/errors";
5
6
  //#region src/core/entities/robot-permission/service.ts
6
7
  var RobotPermissionService = class extends AbstractEntityService {
7
8
  repository;
@@ -20,7 +21,7 @@ var RobotPermissionService = class extends AbstractEntityService {
20
21
  async getOne(id, actor) {
21
22
  await actor.permissionEvaluator.preEvaluateOneOf({ name: [PermissionName.ROBOT_PERMISSION_CREATE, PermissionName.ROBOT_PERMISSION_DELETE] });
22
23
  const entity = await this.repository.findOneBy({ id });
23
- if (!entity) throw new NotFoundError();
24
+ if (!entity) throw new EntityNotFoundError();
24
25
  return entity;
25
26
  }
26
27
  async create(data, actor) {
@@ -30,7 +31,7 @@ var RobotPermissionService = class extends AbstractEntityService {
30
31
  if (await this.repository.findOneBy({
31
32
  permission_id: validated.permission_id,
32
33
  robot_id: validated.robot_id
33
- })) throw new ConflictError("The robot-permission assignment already exists.");
34
+ })) throw new EntityConflictError({ entity: "robot-permission" });
34
35
  if (validated.permission) {
35
36
  validated.permission_realm_id = validated.permission.realm_id;
36
37
  await actor.permissionEvaluator.preEvaluate({
@@ -62,7 +63,7 @@ var RobotPermissionService = class extends AbstractEntityService {
62
63
  async update(id, data, actor) {
63
64
  await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_PERMISSION_UPDATE });
64
65
  const entity = await this.repository.findOneBy({ id });
65
- if (!entity) throw new NotFoundError();
66
+ if (!entity) throw new EntityNotFoundError();
66
67
  const updateData = {};
67
68
  if (Object.prototype.hasOwnProperty.call(data, "policy_id")) updateData.policy_id = data.policy_id;
68
69
  await this.repository.validateJoinColumns(updateData);
@@ -76,7 +77,7 @@ var RobotPermissionService = class extends AbstractEntityService {
76
77
  async delete(id, actor) {
77
78
  await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_PERMISSION_DELETE });
78
79
  const entity = await this.repository.findOneBy({ id });
79
- if (!entity) throw new NotFoundError();
80
+ if (!entity) throw new EntityNotFoundError();
80
81
  await actor.permissionEvaluator.evaluate({
81
82
  name: PermissionName.ROBOT_PERMISSION_DELETE,
82
83
  input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity })
@@ -1 +1 @@
1
- {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","ConflictError","NotFoundError","PermissionName","RobotPermissionValidator","ValidatorGroup","AbstractEntityService","RobotPermissionService","repository","identityPermissionProvider","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","ROBOT_PERMISSION_CREATE","ROBOT_PERMISSION_DELETE","findMany","getOne","id","entity","findOneBy","create","data","preEvaluate","validated","run","group","CREATE","validateJoinColumns","existing","permission_id","robot_id","permission","permission_realm_id","realm_id","realmId","clientId","client_id","robot","robot_realm_id","identity","policy_id","junctionPolicy","resolveJunctionPolicy","type","evaluate","input","ATTRIBUTES","save","update","ROBOT_PERMISSION_UPDATE","updateData","Object","prototype","hasOwnProperty","call","merged","merge","delete","entityId","remove"],"sources":["../../../../src/core/entities/robot-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 { BuiltInPolicyType, PolicyData } from '@authup/access';\nimport { ConflictError, NotFoundError } from '@ebec/http';\nimport { PermissionName, RobotPermissionValidator, ValidatorGroup } from '@authup/core-kit';\nimport type { RobotPermission } from '@authup/core-kit';\nimport type { IIdentityPermissionProvider } from '../../identity/permission/types.ts';\nimport type { ActorContext } from '../actor/types.ts';\nimport { AbstractEntityService } from '../service.ts';\nimport type { EntityRepositoryFindManyResult } from '../types.ts';\nimport type { IRobotPermissionRepository, IRobotPermissionService } from './types.ts';\n\nexport type RobotPermissionServiceContext = {\n repository: IRobotPermissionRepository;\n identityPermissionProvider: IIdentityPermissionProvider;\n};\n\nexport class RobotPermissionService extends AbstractEntityService implements IRobotPermissionService {\n protected repository: IRobotPermissionRepository;\n\n protected identityPermissionProvider: IIdentityPermissionProvider;\n\n protected validator: RobotPermissionValidator;\n\n constructor(ctx: RobotPermissionServiceContext) {\n super();\n this.repository = ctx.repository;\n this.identityPermissionProvider = ctx.identityPermissionProvider;\n this.validator = new RobotPermissionValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<RobotPermission>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROBOT_PERMISSION_CREATE,\n PermissionName.ROBOT_PERMISSION_DELETE,\n ],\n });\n\n return this.repository.findMany(query);\n }\n\n async getOne(\n id: string,\n actor: ActorContext,\n ): Promise<RobotPermission> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROBOT_PERMISSION_CREATE,\n PermissionName.ROBOT_PERMISSION_DELETE,\n ],\n });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new NotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<RobotPermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_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 permission_id: validated.permission_id,\n robot_id: validated.robot_id,\n });\n if (existing) {\n throw new ConflictError('The robot-permission assignment already exists.');\n }\n\n if (validated.permission) {\n validated.permission_realm_id = validated.permission.realm_id;\n\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.robot) {\n validated.robot_realm_id = validated.robot.realm_id;\n }\n\n if (\n validated.permission &&\n actor.identity &&\n typeof validated.policy_id === 'undefined'\n ) {\n const junctionPolicy = await this.identityPermissionProvider.resolveJunctionPolicy(\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 },\n );\n if (junctionPolicy) {\n validated.policy_id = junctionPolicy.id;\n }\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_PERMISSION_CREATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\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<RobotPermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_PERMISSION_UPDATE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new NotFoundError();\n }\n\n const updateData: Record<string, any> = {};\n if (Object.prototype.hasOwnProperty.call(data, 'policy_id')) {\n updateData.policy_id = data.policy_id;\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.ROBOT_PERMISSION_UPDATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: merged }),\n });\n\n return this.repository.save(merged);\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<RobotPermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_PERMISSION_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new NotFoundError();\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_PERMISSION_DELETE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: 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":";;;;;AAsBA,IAAaQ,yBAAb,cAA4CD,sBAAAA;CAC9BE;CAEAC;CAEAC;CAEV,YAAYC,KAAoC;AAC5C,SAAK;AACL,OAAKH,aAAaG,IAAIH;AACtB,OAAKC,6BAA6BE,IAAIF;AACtC,OAAKC,YAAY,IAAIN,0BAAAA;;CAGzB,MAAMQ,QACFC,OACAC,OACwD;AACxD,QAAMA,MAAMC,oBAAoBC,iBAAiB,EAC7CC,MAAM,CACFd,eAAee,yBACff,eAAegB,wBAClB,EACL,CAAA;AAEA,SAAO,KAAKX,WAAWY,SAASP,MAAAA;;CAGpC,MAAMQ,OACFC,IACAR,OACwB;AACxB,QAAMA,MAAMC,oBAAoBC,iBAAiB,EAC7CC,MAAM,CACFd,eAAee,yBACff,eAAegB,wBAClB,EACL,CAAA;EAEA,MAAMI,SAAS,MAAM,KAAKf,WAAWgB,UAAU,EAAEF,IAAG,CAAA;AACpD,MAAI,CAACC,OACD,OAAM,IAAIrB,eAAAA;AAGd,SAAOqB;;CAGX,MAAME,OACFC,MACAZ,OACwB;AACxB,QAAMA,MAAMC,oBAAoBY,YAAY,EAAEV,MAAMd,eAAee,yBAAwB,CAAA;EAE3F,MAAMU,YAAY,MAAM,KAAKlB,UAAUmB,IAAIH,MAAM,EAAEI,OAAOzB,eAAe0B,QAAO,CAAA;AAEhF,QAAM,KAAKvB,WAAWwB,oBAAoBJ,UAAAA;AAM1C,MAAIK,MAJmB,KAAKzB,WAAWgB,UAAU;GAC7CU,eAAeN,UAAUM;GACzBC,UAAUP,UAAUO;GACxB,CAAA,CAEI,OAAM,IAAIlC,cAAc,kDAAA;AAG5B,MAAI2B,UAAUQ,YAAY;AACtBR,aAAUS,sBAAsBT,UAAUQ,WAAWE;AAErD,SAAMxB,MAAMC,oBAAoBY,YAAY;IACxCV,MAAMW,UAAUQ,WAAWnB;IAC3BsB,SAASX,UAAUQ,WAAWE;IAC9BE,UAAUZ,UAAUQ,WAAWK;IACnC,CAAA;;AAGJ,MAAIb,UAAUc,MACVd,WAAUe,iBAAiBf,UAAUc,MAAMJ;AAG/C,MACIV,UAAUQ,cACVtB,MAAM8B,YACN,OAAOhB,UAAUiB,cAAc,aACjC;GACE,MAAMC,iBAAiB,MAAM,KAAKrC,2BAA2BsC,sBACzD;IACIC,MAAMlC,MAAM8B,SAASI;IACrB1B,IAAIR,MAAM8B,SAASlB,KAAKJ;IAC5B,EACA;IACIL,MAAMW,UAAUQ,WAAWnB;IAC3BsB,SAASX,UAAUQ,WAAWE;IAC9BE,UAAUZ,UAAUQ,WAAWK;IACnC,CAAA;AAEJ,OAAIK,eACAlB,WAAUiB,YAAYC,eAAexB;;AAI7C,QAAMR,MAAMC,oBAAoBkC,SAAS;GACrChC,MAAMd,eAAee;GACrBgC,OAAO,IAAIlD,WAAW,GAAGD,kBAAkBoD,aAAavB,WAAU,CAAA;GACtE,CAAA;EAEA,IAAIL,SAAS,KAAKf,WAAWiB,OAAOG,UAAAA;AACpCL,WAAS,MAAM,KAAKf,WAAW4C,KAAK7B,OAAAA;AAEpC,SAAOA;;CAGX,MAAM8B,OACF/B,IACAI,MACAZ,OACwB;AACxB,QAAMA,MAAMC,oBAAoBY,YAAY,EAAEV,MAAMd,eAAemD,yBAAwB,CAAA;EAE3F,MAAM/B,SAAS,MAAM,KAAKf,WAAWgB,UAAU,EAAEF,IAAG,CAAA;AACpD,MAAI,CAACC,OACD,OAAM,IAAIrB,eAAAA;EAGd,MAAMqD,aAAkC,EAAC;AACzC,MAAIC,OAAOC,UAAUC,eAAeC,KAAKjC,MAAM,YAAA,CAC3C6B,YAAWV,YAAYnB,KAAKmB;AAGhC,QAAM,KAAKrC,WAAWwB,oBAAoBuB,WAAAA;EAE1C,MAAMK,SAAS,KAAKpD,WAAWqD,MAAMtC,QAAQgC,WAAAA;AAE7C,QAAMzC,MAAMC,oBAAoBkC,SAAS;GACrChC,MAAMd,eAAemD;GACrBJ,OAAO,IAAIlD,WAAW,GAAGD,kBAAkBoD,aAAaS,QAAO,CAAA;GACnE,CAAA;AAEA,SAAO,KAAKpD,WAAW4C,KAAKQ,OAAAA;;CAGhC,MAAME,OACFxC,IACAR,OACwB;AACxB,QAAMA,MAAMC,oBAAoBY,YAAY,EAAEV,MAAMd,eAAegB,yBAAwB,CAAA;EAE3F,MAAMI,SAAS,MAAM,KAAKf,WAAWgB,UAAU,EAAEF,IAAG,CAAA;AACpD,MAAI,CAACC,OACD,OAAM,IAAIrB,eAAAA;AAGd,QAAMY,MAAMC,oBAAoBkC,SAAS;GACrChC,MAAMd,eAAegB;GACrB+B,OAAO,IAAIlD,WAAW,GAAGD,kBAAkBoD,aAAa5B,QAAO,CAAA;GACnE,CAAA;EAEA,MAAM,EAAED,IAAIyC,aAAaxC;AACzB,QAAM,KAAKf,WAAWwD,OAAOzC,OAAAA;AAC7BA,SAAOD,KAAKyC;AAEZ,SAAOxC"}
1
+ {"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","EntityConflictError","EntityNotFoundError","ValidatorGroup","PermissionName","RobotPermissionValidator","AbstractEntityService","RobotPermissionService","repository","identityPermissionProvider","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","ROBOT_PERMISSION_CREATE","ROBOT_PERMISSION_DELETE","findMany","getOne","id","entity","findOneBy","create","data","preEvaluate","validated","run","group","CREATE","validateJoinColumns","existing","permission_id","robot_id","permission","permission_realm_id","realm_id","realmId","clientId","client_id","robot","robot_realm_id","identity","policy_id","junctionPolicy","resolveJunctionPolicy","type","evaluate","input","ATTRIBUTES","save","update","ROBOT_PERMISSION_UPDATE","updateData","Object","prototype","hasOwnProperty","call","merged","merge","delete","entityId","remove"],"sources":["../../../../src/core/entities/robot-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 { BuiltInPolicyType, PolicyData } from '@authup/access';\nimport { EntityConflictError, EntityNotFoundError } from '@authup/errors';\nimport { ValidatorGroup } from '@authup/kit';\nimport { PermissionName, RobotPermissionValidator } from '@authup/core-kit';\nimport type { RobotPermission } from '@authup/core-kit';\nimport type { IIdentityPermissionProvider } from '../../identity/permission/types.ts';\nimport type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport type { IRobotPermissionRepository, IRobotPermissionService } from './types.ts';\n\nexport type RobotPermissionServiceContext = {\n repository: IRobotPermissionRepository;\n identityPermissionProvider: IIdentityPermissionProvider;\n};\n\nexport class RobotPermissionService extends AbstractEntityService implements IRobotPermissionService {\n protected repository: IRobotPermissionRepository;\n\n protected identityPermissionProvider: IIdentityPermissionProvider;\n\n protected validator: RobotPermissionValidator;\n\n constructor(ctx: RobotPermissionServiceContext) {\n super();\n this.repository = ctx.repository;\n this.identityPermissionProvider = ctx.identityPermissionProvider;\n this.validator = new RobotPermissionValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<RobotPermission>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROBOT_PERMISSION_CREATE,\n PermissionName.ROBOT_PERMISSION_DELETE,\n ],\n });\n\n return this.repository.findMany(query);\n }\n\n async getOne(\n id: string,\n actor: ActorContext,\n ): Promise<RobotPermission> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.ROBOT_PERMISSION_CREATE,\n PermissionName.ROBOT_PERMISSION_DELETE,\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<RobotPermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_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 permission_id: validated.permission_id,\n robot_id: validated.robot_id,\n });\n if (existing) {\n throw new EntityConflictError({ entity: 'robot-permission' });\n }\n\n if (validated.permission) {\n validated.permission_realm_id = validated.permission.realm_id;\n\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.robot) {\n validated.robot_realm_id = validated.robot.realm_id;\n }\n\n if (\n validated.permission &&\n actor.identity &&\n typeof validated.policy_id === 'undefined'\n ) {\n const junctionPolicy = await this.identityPermissionProvider.resolveJunctionPolicy(\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 },\n );\n if (junctionPolicy) {\n validated.policy_id = junctionPolicy.id;\n }\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.ROBOT_PERMISSION_CREATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\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<RobotPermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_PERMISSION_UPDATE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n const updateData: Record<string, any> = {};\n if (Object.prototype.hasOwnProperty.call(data, 'policy_id')) {\n updateData.policy_id = data.policy_id;\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.ROBOT_PERMISSION_UPDATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: merged }),\n });\n\n return this.repository.save(merged);\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<RobotPermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.ROBOT_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.ROBOT_PERMISSION_DELETE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: 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,6 +1,5 @@
1
1
  import type { RobotPermission } from '@authup/core-kit';
2
- import type { ActorContext } from '../actor/types.ts';
3
- import type { EntityRepositoryFindManyResult, IEntityRepository } from '../types.ts';
2
+ import type { ActorContext, EntityRepositoryFindManyResult, IEntityRepository } from '@authup/server-kit';
4
3
  export interface IRobotPermissionRepository extends IEntityRepository<RobotPermission> {
5
4
  }
6
5
  export interface IRobotPermissionService {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/robot-permission/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErF,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB,CAAC,eAAe,CAAC;CACrF;AAED,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC,CAAC;IACnH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACjF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACrE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/robot-permission/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAE,iBAAiB,EAAG,MAAM,oBAAoB,CAAC;AAE3G,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB,CAAC,eAAe,CAAC;CACrF;AAED,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC,CAAC;IACnH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACjF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACrE"}
@@ -1,8 +1,7 @@
1
1
  import { RobotRoleValidator } from '@authup/core-kit';
2
2
  import type { RobotRole } from '@authup/core-kit';
3
- import type { ActorContext } from '../actor/types.ts';
4
- import { AbstractEntityService } from '../service.ts';
5
- import type { EntityRepositoryFindManyResult } from '../types.ts';
3
+ import type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';
4
+ import { AbstractEntityService } from '@authup/server-kit';
6
5
  import type { IIdentityPermissionProvider } from '../../identity/permission/types.ts';
7
6
  import type { IRobotRoleRepository, IRobotRoleService } from './types.ts';
8
7
  export type RobotRoleServiceContext = {