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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (687) hide show
  1. package/dist/adapters/database/cache/module.mjs.map +1 -1
  2. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  3. package/dist/adapters/database/data-source/singleton.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  5. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
  6. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
  7. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
  8. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  9. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  11. package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -1
  12. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  13. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
  14. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  15. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  16. package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -1
  17. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  18. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
  19. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  21. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  22. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  23. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  24. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  25. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  26. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  27. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  28. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
  29. package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -1
  30. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  31. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
  32. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  33. package/dist/adapters/database/domains/realm/repository.mjs.map +1 -1
  34. package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -1
  35. package/dist/adapters/database/domains/robot/entity.mjs.map +1 -1
  36. package/dist/adapters/database/domains/robot/subscriber.mjs.map +1 -1
  37. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +1 -1
  38. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +1 -1
  39. package/dist/adapters/database/domains/robot-role/entity.mjs.map +1 -1
  40. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +1 -1
  41. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  42. package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
  43. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  44. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  45. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  46. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  47. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  48. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  49. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  50. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  51. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  52. package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
  53. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  54. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  55. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  56. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  57. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  58. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  59. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  60. package/dist/adapters/database/errors/conflict.d.ts +2 -2
  61. package/dist/adapters/database/errors/conflict.d.ts.map +1 -1
  62. package/dist/adapters/database/errors/conflict.mjs +6 -3
  63. package/dist/adapters/database/errors/conflict.mjs.map +1 -1
  64. package/dist/adapters/database/event-publisher/module.mjs.map +1 -1
  65. package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -1
  66. package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -1
  67. package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
  68. package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -1
  69. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  70. package/dist/adapters/database/logger/module.mjs.map +1 -1
  71. package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs.map +1 -1
  72. package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs.map +1 -1
  73. package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs.map +1 -1
  74. package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs.map +1 -1
  75. package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs.map +1 -1
  76. package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs.map +1 -1
  77. package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs.map +1 -1
  78. package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs.map +1 -1
  79. package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs.map +1 -1
  80. package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs.map +1 -1
  81. package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs.map +1 -1
  82. package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs.map +1 -1
  83. package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs.map +1 -1
  84. package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs.map +1 -1
  85. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  86. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +2 -2
  87. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  88. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +2 -2
  89. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  90. package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs.map +1 -1
  91. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  92. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +4 -4
  93. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  94. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +1 -1
  95. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +4 -4
  96. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs.map +1 -1
  97. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
  98. package/dist/adapters/http/controllers/entities/client/module.d.ts.map +1 -1
  99. package/dist/adapters/http/controllers/entities/client/module.mjs +10 -6
  100. package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -1
  101. package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -1
  102. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
  103. package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -1
  104. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
  105. package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -1
  106. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
  107. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -1
  108. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  109. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +19 -17
  110. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  111. package/dist/adapters/http/controllers/entities/permission/module.d.ts +3 -10
  112. package/dist/adapters/http/controllers/entities/permission/module.d.ts.map +1 -1
  113. package/dist/adapters/http/controllers/entities/permission/module.mjs +16 -49
  114. package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -1
  115. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -1
  116. package/dist/adapters/http/controllers/entities/policy/module.d.ts +3 -7
  117. package/dist/adapters/http/controllers/entities/policy/module.d.ts.map +1 -1
  118. package/dist/adapters/http/controllers/entities/policy/module.mjs +16 -39
  119. package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -1
  120. package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs.map +1 -1
  121. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
  122. package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
  123. package/dist/adapters/http/controllers/entities/realm/module.mjs +1 -1
  124. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
  125. package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +1 -1
  126. package/dist/adapters/http/controllers/entities/robot/module.mjs +11 -7
  127. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +1 -1
  128. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +1 -1
  129. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +1 -1
  130. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +1 -1
  131. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +1 -1
  132. package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -1
  133. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -1
  134. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
  135. package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -1
  136. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
  137. package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -1
  138. package/dist/adapters/http/controllers/entities/user/module.d.ts.map +1 -1
  139. package/dist/adapters/http/controllers/entities/user/module.mjs +7 -3
  140. package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -1
  141. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -1
  142. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
  143. package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -1
  144. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
  145. package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -1
  146. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
  147. package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
  148. package/dist/adapters/http/controllers/workflows/activate/validator.mjs.map +1 -1
  149. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
  150. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +2 -2
  151. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  152. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts.map +1 -1
  153. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +3 -4
  154. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
  155. package/dist/adapters/http/controllers/workflows/jwks/module.d.ts.map +1 -1
  156. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +3 -4
  157. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
  158. package/dist/adapters/http/controllers/workflows/openid/module.mjs.map +1 -1
  159. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -1
  160. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
  161. package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
  162. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  163. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  164. package/dist/adapters/http/controllers/workflows/token/module.mjs +6 -6
  165. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  166. package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -1
  167. package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs.map +1 -1
  168. package/dist/adapters/http/index.mjs +4 -1
  169. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  170. package/dist/adapters/http/middleware/built-in/authorization/factory.mjs.map +1 -1
  171. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +2 -2
  172. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  173. package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -1
  174. package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
  175. package/dist/adapters/http/middleware/built-in/error.mjs +5 -3
  176. package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
  177. package/dist/adapters/http/middleware/built-in/index.d.ts +1 -0
  178. package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
  179. package/dist/adapters/http/middleware/built-in/index.mjs +4 -1
  180. package/dist/adapters/http/middleware/built-in/loggedin/module.mjs.map +1 -1
  181. package/dist/adapters/http/middleware/built-in/loggedin/user.mjs +1 -1
  182. package/dist/adapters/http/middleware/built-in/loggedin/user.mjs.map +1 -1
  183. package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
  184. package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
  185. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  186. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.d.ts +4 -0
  187. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.d.ts.map +1 -0
  188. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.mjs +14 -0
  189. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.mjs.map +1 -0
  190. package/dist/adapters/http/middleware/built-in/realm-resolver/index.d.ts +4 -0
  191. package/dist/adapters/http/middleware/built-in/realm-resolver/index.d.ts.map +1 -0
  192. package/dist/adapters/http/middleware/built-in/realm-resolver/index.mjs +3 -0
  193. package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts +9 -0
  194. package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts.map +1 -0
  195. package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs +26 -0
  196. package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs.map +1 -0
  197. package/dist/adapters/http/middleware/built-in/realm-resolver/types.d.ts +5 -0
  198. package/dist/adapters/http/middleware/built-in/realm-resolver/types.d.ts.map +1 -0
  199. package/dist/adapters/http/middleware/built-in/swagger.mjs.map +1 -1
  200. package/dist/adapters/http/middleware/index.mjs +3 -1
  201. package/dist/adapters/http/request/helpers/actor.d.ts +1 -1
  202. package/dist/adapters/http/request/helpers/actor.d.ts.map +1 -1
  203. package/dist/adapters/http/request/helpers/actor.mjs.map +1 -1
  204. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
  205. package/dist/adapters/http/request/helpers/identity.mjs +1 -1
  206. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
  207. package/dist/adapters/http/request/helpers/index.d.ts +1 -0
  208. package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
  209. package/dist/adapters/http/request/helpers/index.mjs +2 -1
  210. package/dist/adapters/http/request/helpers/locations.mjs.map +1 -1
  211. package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -1
  212. package/dist/adapters/http/request/helpers/realm-id.d.ts +5 -0
  213. package/dist/adapters/http/request/helpers/realm-id.d.ts.map +1 -0
  214. package/dist/adapters/http/request/helpers/realm-id.mjs +19 -0
  215. package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -0
  216. package/dist/adapters/http/request/helpers/scopes.mjs.map +1 -1
  217. package/dist/adapters/http/request/helpers/token.mjs.map +1 -1
  218. package/dist/adapters/http/request/index.mjs +2 -1
  219. package/dist/adapters/http/request/permission/helper.mjs.map +1 -1
  220. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  221. package/dist/adapters/shared/ldap/factory.mjs.map +1 -1
  222. package/dist/adapters/shared/ldap/module.mjs.map +1 -1
  223. package/dist/app/builder.mjs.map +1 -1
  224. package/dist/app/factory.mjs.map +1 -1
  225. package/dist/app/modules/authentication/constants.mjs.map +1 -1
  226. package/dist/app/modules/authentication/module.mjs.map +1 -1
  227. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  228. package/dist/app/modules/cache/constants.mjs.map +1 -1
  229. package/dist/app/modules/cache/module.mjs.map +1 -1
  230. package/dist/app/modules/components/module.mjs.map +1 -1
  231. package/dist/app/modules/config/constants.mjs.map +1 -1
  232. package/dist/app/modules/config/module.mjs.map +1 -1
  233. package/dist/app/modules/config/normalize.mjs.map +1 -1
  234. package/dist/app/modules/config/parse.mjs.map +1 -1
  235. package/dist/app/modules/config/read/env.mjs.map +1 -1
  236. package/dist/app/modules/config/read/fs.mjs.map +1 -1
  237. package/dist/app/modules/config/read/module.mjs.map +1 -1
  238. package/dist/app/modules/constants.mjs.map +1 -1
  239. package/dist/app/modules/database/constants.mjs.map +1 -1
  240. package/dist/app/modules/database/module.mjs.map +1 -1
  241. package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
  242. package/dist/app/modules/database/repositories/client/repository.d.ts +2 -1
  243. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  244. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  245. package/dist/app/modules/database/repositories/client-permission/repository.d.ts +1 -1
  246. package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
  247. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  248. package/dist/app/modules/database/repositories/client-role/repository.d.ts +1 -1
  249. package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
  250. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  251. package/dist/app/modules/database/repositories/client-scope/repository.d.ts +1 -1
  252. package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
  253. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  254. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  255. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
  256. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  257. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  258. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
  259. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
  260. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  261. package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
  262. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  263. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  264. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
  265. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
  266. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  267. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
  268. package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
  269. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  270. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  271. package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
  272. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  273. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  274. package/dist/app/modules/database/repositories/robot/repository.d.ts +2 -1
  275. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +1 -1
  276. package/dist/app/modules/database/repositories/robot/repository.mjs.map +1 -1
  277. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +1 -1
  278. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +1 -1
  279. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +1 -1
  280. package/dist/app/modules/database/repositories/robot-role/repository.d.ts +2 -1
  281. package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +1 -1
  282. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +1 -1
  283. package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
  284. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  285. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  286. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
  287. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  288. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  289. package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
  290. package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
  291. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  292. package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
  293. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  294. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  295. package/dist/app/modules/database/repositories/user/repository.d.ts +2 -1
  296. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  297. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  298. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
  299. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  300. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  301. package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
  302. package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
  303. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  304. package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
  305. package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
  306. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  307. package/dist/app/modules/http/constants.mjs.map +1 -1
  308. package/dist/app/modules/http/module.mjs.map +1 -1
  309. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  310. package/dist/app/modules/http/modules/controller.mjs +27 -19
  311. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  312. package/dist/app/modules/http/modules/middleware.d.ts +1 -0
  313. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  314. package/dist/app/modules/http/modules/middleware.mjs +10 -0
  315. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  316. package/dist/app/modules/identity/constants.mjs.map +1 -1
  317. package/dist/app/modules/identity/module.mjs.map +1 -1
  318. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  319. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  320. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  321. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  322. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  323. package/dist/app/modules/identity/repositories/robot.mjs.map +1 -1
  324. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  325. package/dist/app/modules/ldap/constants.mjs.map +1 -1
  326. package/dist/app/modules/ldap/module.mjs.map +1 -1
  327. package/dist/app/modules/logger/constants.mjs.map +1 -1
  328. package/dist/app/modules/logger/module.mjs.map +1 -1
  329. package/dist/app/modules/mail/adapter/smtp/module.mjs.map +1 -1
  330. package/dist/app/modules/mail/adapter/smtp/smtp.mjs.map +1 -1
  331. package/dist/app/modules/mail/adapter/void.mjs.map +1 -1
  332. package/dist/app/modules/mail/constants.mjs.map +1 -1
  333. package/dist/app/modules/mail/module.mjs.map +1 -1
  334. package/dist/app/modules/oauth2/constants.mjs.map +1 -1
  335. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  336. package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs.map +1 -1
  337. package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs.map +1 -1
  338. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  339. package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +1 -1
  340. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
  341. package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -1
  342. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  343. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  344. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  345. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  346. package/dist/app/modules/runtime/module.mjs.map +1 -1
  347. package/dist/cli/commands/healthcheck.mjs.map +1 -1
  348. package/dist/cli/commands/migration.mjs.map +1 -1
  349. package/dist/cli/commands/reset.mjs.map +1 -1
  350. package/dist/cli/commands/start.mjs.map +1 -1
  351. package/dist/cli/index.mjs.map +1 -1
  352. package/dist/cli/module.mjs.map +1 -1
  353. package/dist/components/database/unique-entries/factory.mjs.map +1 -1
  354. package/dist/components/database/unique-entries/module.mjs.map +1 -1
  355. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  356. package/dist/core/authentication/base.mjs.map +1 -1
  357. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
  358. package/dist/core/authentication/credential/entities/robot/module.mjs.map +1 -1
  359. package/dist/core/authentication/credential/entities/user/module.mjs.map +1 -1
  360. package/dist/core/authentication/entities/client/module.d.ts.map +1 -1
  361. package/dist/core/authentication/entities/client/module.mjs +7 -5
  362. package/dist/core/authentication/entities/client/module.mjs.map +1 -1
  363. package/dist/core/authentication/entities/robot/module.d.ts.map +1 -1
  364. package/dist/core/authentication/entities/robot/module.mjs +5 -4
  365. package/dist/core/authentication/entities/robot/module.mjs.map +1 -1
  366. package/dist/core/authentication/entities/user/module.d.ts.map +1 -1
  367. package/dist/core/authentication/entities/user/module.mjs +5 -4
  368. package/dist/core/authentication/entities/user/module.mjs.map +1 -1
  369. package/dist/core/authentication/module.mjs.map +1 -1
  370. package/dist/core/authentication/session/module.mjs.map +1 -1
  371. package/dist/core/entities/client/service.d.ts +2 -3
  372. package/dist/core/entities/client/service.d.ts.map +1 -1
  373. package/dist/core/entities/client/service.mjs +8 -8
  374. package/dist/core/entities/client/service.mjs.map +1 -1
  375. package/dist/core/entities/client/types.d.ts +1 -2
  376. package/dist/core/entities/client/types.d.ts.map +1 -1
  377. package/dist/core/entities/client-permission/service.d.ts +2 -3
  378. package/dist/core/entities/client-permission/service.d.ts.map +1 -1
  379. package/dist/core/entities/client-permission/service.mjs +8 -7
  380. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  381. package/dist/core/entities/client-permission/types.d.ts +1 -2
  382. package/dist/core/entities/client-permission/types.d.ts.map +1 -1
  383. package/dist/core/entities/client-role/service.d.ts +2 -3
  384. package/dist/core/entities/client-role/service.d.ts.map +1 -1
  385. package/dist/core/entities/client-role/service.mjs +9 -8
  386. package/dist/core/entities/client-role/service.mjs.map +1 -1
  387. package/dist/core/entities/client-role/types.d.ts +1 -2
  388. package/dist/core/entities/client-role/types.d.ts.map +1 -1
  389. package/dist/core/entities/client-scope/service.d.ts +2 -3
  390. package/dist/core/entities/client-scope/service.d.ts.map +1 -1
  391. package/dist/core/entities/client-scope/service.mjs +7 -6
  392. package/dist/core/entities/client-scope/service.mjs.map +1 -1
  393. package/dist/core/entities/client-scope/types.d.ts +1 -2
  394. package/dist/core/entities/client-scope/types.d.ts.map +1 -1
  395. package/dist/core/entities/identity-provider/types.d.ts +1 -1
  396. package/dist/core/entities/identity-provider/types.d.ts.map +1 -1
  397. package/dist/core/entities/identity-provider-role-mapping/service.d.ts +2 -3
  398. package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
  399. package/dist/core/entities/identity-provider-role-mapping/service.mjs +10 -9
  400. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
  401. package/dist/core/entities/identity-provider-role-mapping/types.d.ts +1 -2
  402. package/dist/core/entities/identity-provider-role-mapping/types.d.ts.map +1 -1
  403. package/dist/core/entities/index.d.ts +0 -3
  404. package/dist/core/entities/index.d.ts.map +1 -1
  405. package/dist/core/entities/index.mjs +1 -2
  406. package/dist/core/entities/permission/service.d.ts +2 -3
  407. package/dist/core/entities/permission/service.d.ts.map +1 -1
  408. package/dist/core/entities/permission/service.mjs +8 -9
  409. package/dist/core/entities/permission/service.mjs.map +1 -1
  410. package/dist/core/entities/permission/types.d.ts +1 -2
  411. package/dist/core/entities/permission/types.d.ts.map +1 -1
  412. package/dist/core/entities/permission-policy/service.d.ts +2 -3
  413. package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
  414. package/dist/core/entities/permission-policy/service.mjs +7 -6
  415. package/dist/core/entities/permission-policy/service.mjs.map +1 -1
  416. package/dist/core/entities/permission-policy/types.d.ts +1 -2
  417. package/dist/core/entities/permission-policy/types.d.ts.map +1 -1
  418. package/dist/core/entities/policy/attributes-validator.mjs.map +1 -1
  419. package/dist/core/entities/policy/service.d.ts +2 -3
  420. package/dist/core/entities/policy/service.d.ts.map +1 -1
  421. package/dist/core/entities/policy/service.mjs +8 -8
  422. package/dist/core/entities/policy/service.mjs.map +1 -1
  423. package/dist/core/entities/policy/types.d.ts +1 -2
  424. package/dist/core/entities/policy/types.d.ts.map +1 -1
  425. package/dist/core/entities/realm/service.d.ts +2 -3
  426. package/dist/core/entities/realm/service.d.ts.map +1 -1
  427. package/dist/core/entities/realm/service.mjs +8 -8
  428. package/dist/core/entities/realm/service.mjs.map +1 -1
  429. package/dist/core/entities/realm/types.d.ts +1 -2
  430. package/dist/core/entities/realm/types.d.ts.map +1 -1
  431. package/dist/core/entities/robot/service.d.ts +2 -3
  432. package/dist/core/entities/robot/service.d.ts.map +1 -1
  433. package/dist/core/entities/robot/service.mjs +8 -8
  434. package/dist/core/entities/robot/service.mjs.map +1 -1
  435. package/dist/core/entities/robot/types.d.ts +1 -2
  436. package/dist/core/entities/robot/types.d.ts.map +1 -1
  437. package/dist/core/entities/robot-permission/service.d.ts +2 -3
  438. package/dist/core/entities/robot-permission/service.d.ts.map +1 -1
  439. package/dist/core/entities/robot-permission/service.mjs +8 -7
  440. package/dist/core/entities/robot-permission/service.mjs.map +1 -1
  441. package/dist/core/entities/robot-permission/types.d.ts +1 -2
  442. package/dist/core/entities/robot-permission/types.d.ts.map +1 -1
  443. package/dist/core/entities/robot-role/service.d.ts +2 -3
  444. package/dist/core/entities/robot-role/service.d.ts.map +1 -1
  445. package/dist/core/entities/robot-role/service.mjs +9 -8
  446. package/dist/core/entities/robot-role/service.mjs.map +1 -1
  447. package/dist/core/entities/robot-role/types.d.ts +1 -2
  448. package/dist/core/entities/robot-role/types.d.ts.map +1 -1
  449. package/dist/core/entities/role/service.d.ts +2 -3
  450. package/dist/core/entities/role/service.d.ts.map +1 -1
  451. package/dist/core/entities/role/service.mjs +8 -8
  452. package/dist/core/entities/role/service.mjs.map +1 -1
  453. package/dist/core/entities/role/types.d.ts +1 -2
  454. package/dist/core/entities/role/types.d.ts.map +1 -1
  455. package/dist/core/entities/role-attribute/service.d.ts +2 -3
  456. package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
  457. package/dist/core/entities/role-attribute/service.mjs +5 -5
  458. package/dist/core/entities/role-attribute/service.mjs.map +1 -1
  459. package/dist/core/entities/role-attribute/types.d.ts +1 -2
  460. package/dist/core/entities/role-attribute/types.d.ts.map +1 -1
  461. package/dist/core/entities/role-permission/service.d.ts +2 -3
  462. package/dist/core/entities/role-permission/service.d.ts.map +1 -1
  463. package/dist/core/entities/role-permission/service.mjs +8 -7
  464. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  465. package/dist/core/entities/role-permission/types.d.ts +1 -2
  466. package/dist/core/entities/role-permission/types.d.ts.map +1 -1
  467. package/dist/core/entities/scope/service.d.ts +2 -3
  468. package/dist/core/entities/scope/service.d.ts.map +1 -1
  469. package/dist/core/entities/scope/service.mjs +8 -8
  470. package/dist/core/entities/scope/service.mjs.map +1 -1
  471. package/dist/core/entities/scope/types.d.ts +1 -2
  472. package/dist/core/entities/scope/types.d.ts.map +1 -1
  473. package/dist/core/entities/user/service.d.ts +2 -3
  474. package/dist/core/entities/user/service.d.ts.map +1 -1
  475. package/dist/core/entities/user/service.mjs +8 -8
  476. package/dist/core/entities/user/service.mjs.map +1 -1
  477. package/dist/core/entities/user/types.d.ts +1 -2
  478. package/dist/core/entities/user/types.d.ts.map +1 -1
  479. package/dist/core/entities/user-attribute/service.d.ts +2 -3
  480. package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
  481. package/dist/core/entities/user-attribute/service.mjs +8 -8
  482. package/dist/core/entities/user-attribute/service.mjs.map +1 -1
  483. package/dist/core/entities/user-attribute/types.d.ts +1 -2
  484. package/dist/core/entities/user-attribute/types.d.ts.map +1 -1
  485. package/dist/core/entities/user-permission/service.d.ts +2 -3
  486. package/dist/core/entities/user-permission/service.d.ts.map +1 -1
  487. package/dist/core/entities/user-permission/service.mjs +8 -7
  488. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  489. package/dist/core/entities/user-permission/types.d.ts +1 -2
  490. package/dist/core/entities/user-permission/types.d.ts.map +1 -1
  491. package/dist/core/entities/user-role/service.d.ts +2 -3
  492. package/dist/core/entities/user-role/service.d.ts.map +1 -1
  493. package/dist/core/entities/user-role/service.mjs +9 -8
  494. package/dist/core/entities/user-role/service.mjs.map +1 -1
  495. package/dist/core/entities/user-role/types.d.ts +1 -2
  496. package/dist/core/entities/user-role/types.d.ts.map +1 -1
  497. package/dist/core/identity/index.d.ts +1 -0
  498. package/dist/core/identity/index.d.ts.map +1 -1
  499. package/dist/core/identity/index.mjs +4 -1
  500. package/dist/core/identity/password-recovery/check.d.ts +7 -0
  501. package/dist/core/identity/password-recovery/check.d.ts.map +1 -0
  502. package/dist/core/identity/password-recovery/check.mjs +24 -0
  503. package/dist/core/identity/password-recovery/check.mjs.map +1 -0
  504. package/dist/core/identity/password-recovery/disabled.d.ts +6 -0
  505. package/dist/core/identity/password-recovery/disabled.d.ts.map +1 -0
  506. package/dist/core/identity/password-recovery/disabled.mjs +16 -0
  507. package/dist/core/identity/password-recovery/disabled.mjs.map +1 -0
  508. package/dist/core/identity/password-recovery/email-verification-required.d.ts +6 -0
  509. package/dist/core/identity/password-recovery/email-verification-required.d.ts.map +1 -0
  510. package/dist/core/identity/password-recovery/email-verification-required.mjs +16 -0
  511. package/dist/core/identity/password-recovery/email-verification-required.mjs.map +1 -0
  512. package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
  513. package/dist/core/identity/password-recovery/service.mjs +10 -7
  514. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  515. package/dist/core/identity/password-recovery/token-expired.d.ts +6 -0
  516. package/dist/core/identity/password-recovery/token-expired.d.ts.map +1 -0
  517. package/dist/core/identity/password-recovery/token-expired.mjs +16 -0
  518. package/dist/core/identity/password-recovery/token-expired.mjs.map +1 -0
  519. package/dist/core/identity/permission/checker/index.d.ts +3 -0
  520. package/dist/core/identity/permission/checker/index.d.ts.map +1 -0
  521. package/dist/core/identity/permission/checker/index.mjs +2 -0
  522. package/dist/core/identity/permission/checker/service.d.ts +10 -0
  523. package/dist/core/identity/permission/checker/service.d.ts.map +1 -0
  524. package/dist/core/identity/permission/checker/service.mjs +55 -0
  525. package/dist/core/identity/permission/checker/service.mjs.map +1 -0
  526. package/dist/core/identity/permission/checker/types.d.ts +42 -0
  527. package/dist/core/identity/permission/checker/types.d.ts.map +1 -0
  528. package/dist/core/identity/permission/identity-policy-data.d.ts +4 -0
  529. package/dist/core/identity/permission/identity-policy-data.d.ts.map +1 -0
  530. package/dist/core/identity/permission/identity-policy-data.mjs +23 -0
  531. package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -0
  532. package/dist/core/identity/permission/index.d.ts +1 -0
  533. package/dist/core/identity/permission/index.d.ts.map +1 -1
  534. package/dist/core/identity/permission/index.mjs +3 -1
  535. package/dist/core/identity/permission/module.mjs.map +1 -1
  536. package/dist/core/identity/policy/checker/index.d.ts +3 -0
  537. package/dist/core/identity/policy/checker/index.d.ts.map +1 -0
  538. package/dist/core/identity/policy/checker/index.mjs +2 -0
  539. package/dist/core/identity/policy/checker/service.d.ts +10 -0
  540. package/dist/core/identity/policy/checker/service.d.ts.map +1 -0
  541. package/dist/core/identity/policy/checker/service.mjs +46 -0
  542. package/dist/core/identity/policy/checker/service.mjs.map +1 -0
  543. package/dist/core/identity/policy/checker/types.d.ts +40 -0
  544. package/dist/core/identity/policy/checker/types.d.ts.map +1 -0
  545. package/dist/core/identity/policy/index.d.ts +2 -0
  546. package/dist/core/identity/policy/index.d.ts.map +1 -0
  547. package/dist/core/identity/policy/index.mjs +3 -0
  548. package/dist/core/identity/provider/account/module.d.ts.map +1 -1
  549. package/dist/core/identity/provider/account/module.mjs +2 -2
  550. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  551. package/dist/core/identity/provider/authentication/constants.mjs.map +1 -1
  552. package/dist/core/identity/provider/authentication/factory.mjs.map +1 -1
  553. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  554. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  555. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  556. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  557. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  558. package/dist/core/identity/provider/authentication/protocols/ldap/collection.d.ts.map +1 -1
  559. package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs +3 -2
  560. package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs.map +1 -1
  561. package/dist/core/identity/provider/authentication/protocols/ldap/module.d.ts.map +1 -1
  562. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +7 -4
  563. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
  564. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  565. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -1
  566. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
  567. package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
  568. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
  569. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
  570. package/dist/core/identity/registration/check.d.ts +3 -0
  571. package/dist/core/identity/registration/check.d.ts.map +1 -0
  572. package/dist/core/identity/registration/check.mjs +12 -0
  573. package/dist/core/identity/registration/check.mjs.map +1 -0
  574. package/dist/core/identity/registration/error.d.ts +6 -0
  575. package/dist/core/identity/registration/error.d.ts.map +1 -0
  576. package/dist/core/identity/registration/error.mjs +16 -0
  577. package/dist/core/identity/registration/error.mjs.map +1 -0
  578. package/dist/core/identity/registration/service.d.ts.map +1 -1
  579. package/dist/core/identity/registration/service.mjs +4 -3
  580. package/dist/core/identity/registration/service.mjs.map +1 -1
  581. package/dist/core/identity/resolver/entities/ldap/module.mjs.map +1 -1
  582. package/dist/core/identity/resolver/module.mjs.map +1 -1
  583. package/dist/core/identity/role/module.mjs.map +1 -1
  584. package/dist/core/index.mjs +5 -4
  585. package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -1
  586. package/dist/core/oauth2/authorization/code/verifier/module.mjs +8 -8
  587. package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
  588. package/dist/core/oauth2/authorization/code-request/validator.mjs +2 -2
  589. package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -1
  590. package/dist/core/oauth2/authorization/code-request/verifier/module.d.ts.map +1 -1
  591. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +8 -8
  592. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  593. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  594. package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
  595. package/dist/core/oauth2/authorization/module.mjs +4 -4
  596. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  597. package/dist/core/oauth2/authorization/state/module.mjs +4 -4
  598. package/dist/core/oauth2/authorization/state/module.mjs.map +1 -1
  599. package/dist/core/oauth2/client/authenticator.mjs +6 -6
  600. package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
  601. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  602. package/dist/core/oauth2/grant-types/base.mjs.map +1 -1
  603. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
  604. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
  605. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  606. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  607. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +1 -1
  608. package/dist/core/oauth2/helpers/{erorr.d.ts → error.d.ts} +1 -1
  609. package/dist/core/oauth2/helpers/error.d.ts.map +1 -0
  610. package/dist/core/oauth2/helpers/{erorr.mjs → error.mjs} +6 -7
  611. package/dist/core/oauth2/helpers/error.mjs.map +1 -0
  612. package/dist/core/oauth2/helpers/index.d.ts +1 -1
  613. package/dist/core/oauth2/helpers/index.mjs +1 -1
  614. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  615. package/dist/core/oauth2/response/bearer.mjs.map +1 -1
  616. package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
  617. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  618. package/dist/core/oauth2/token/issuer/base.mjs.map +1 -1
  619. package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -1
  620. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  621. package/dist/core/oauth2/token/revoker/module.mjs.map +1 -1
  622. package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
  623. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  624. package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -1
  625. package/dist/core/provisioning/entities/client/validator.mjs.map +1 -1
  626. package/dist/core/provisioning/entities/permission/validator.mjs.map +1 -1
  627. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  628. package/dist/core/provisioning/entities/realm/validator.mjs.map +1 -1
  629. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +1 -1
  630. package/dist/core/provisioning/entities/robot/validator.mjs.map +1 -1
  631. package/dist/core/provisioning/entities/role/relations-validator.mjs.map +1 -1
  632. package/dist/core/provisioning/entities/role/validator.mjs.map +1 -1
  633. package/dist/core/provisioning/entities/root/validator.mjs.map +1 -1
  634. package/dist/core/provisioning/entities/scope/validator.mjs.map +1 -1
  635. package/dist/core/provisioning/entities/user/relations-validator.mjs.map +1 -1
  636. package/dist/core/provisioning/entities/user/validator.mjs.map +1 -1
  637. package/dist/core/provisioning/strategy/normalize.mjs.map +1 -1
  638. package/dist/core/provisioning/strategy/validator.mjs.map +1 -1
  639. package/dist/core/provisioning/synchronizer/base.mjs.map +1 -1
  640. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  641. package/dist/core/provisioning/synchronizer/entity-resolver.d.ts +1 -1
  642. package/dist/core/provisioning/synchronizer/entity-resolver.d.ts.map +1 -1
  643. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  644. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +1 -1
  645. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
  646. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
  647. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  648. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
  649. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  650. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +1 -1
  651. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  652. package/dist/core/provisioning/synchronizer/root/module.mjs.map +1 -1
  653. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  654. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  655. package/dist/core/security/policy/engine.mjs.map +1 -1
  656. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  657. package/dist/index.mjs +4 -1
  658. package/dist/path.mjs.map +1 -1
  659. package/dist/swagger.json +3125 -1269
  660. package/dist/ui/client/.vite/ssr-manifest.json +30 -35
  661. package/dist/ui/client/assets/index-BdPtpN2t.js +66 -0
  662. package/dist/ui/client/index.html +1 -1
  663. package/dist/ui/server/server.js +24261 -972
  664. package/dist/utils/error.d.ts +13 -0
  665. package/dist/utils/error.d.ts.map +1 -1
  666. package/dist/utils/error.mjs +26 -23
  667. package/dist/utils/error.mjs.map +1 -1
  668. package/dist/utils/host.mjs.map +1 -1
  669. package/dist/utils/self-id.mjs.map +1 -1
  670. package/dist/utils/url.mjs.map +1 -1
  671. package/package.json +26 -27
  672. package/dist/core/entities/actor/index.d.ts +0 -2
  673. package/dist/core/entities/actor/index.d.ts.map +0 -1
  674. package/dist/core/entities/actor/types.d.ts +0 -7
  675. package/dist/core/entities/actor/types.d.ts.map +0 -1
  676. package/dist/core/entities/service.d.ts +0 -6
  677. package/dist/core/entities/service.d.ts.map +0 -1
  678. package/dist/core/entities/service.mjs +0 -21
  679. package/dist/core/entities/service.mjs.map +0 -1
  680. package/dist/core/entities/types.d.ts +0 -22
  681. package/dist/core/entities/types.d.ts.map +0 -1
  682. package/dist/core/oauth2/helpers/erorr.d.ts.map +0 -1
  683. package/dist/core/oauth2/helpers/erorr.mjs.map +0 -1
  684. package/dist/ui/client/assets/index-DJBdH-x_.js +0 -64
  685. /package/dist/{core/entities/actor → adapters/http/middleware/built-in/realm-resolver}/types.mjs +0 -0
  686. /package/dist/core/{entities → identity/permission/checker}/types.mjs +0 -0
  687. /package/dist/core/{entities/actor/index.mjs → identity/policy/checker/types.mjs} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["escapeRedisKey","DatabaseQueryResultCache","instance","cache","buildKey","id","clear","prefix","connect","Promise","resolve","disconnect","getFromCache","options","output","identifier","get","query","encodeURIComponent","undefined","isExpired","savedCache","time","duration","Date","getTime","remove","identifiers","keys","map","dropMany","storeInCache","set","ttl","synchronize"],"sources":["../../../../src/adapters/database/cache/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ICache } from '@authup/server-kit';\nimport { escapeRedisKey } from '@authup/server-kit';\nimport type { QueryResultCache } from 'typeorm/cache/QueryResultCache.js';\nimport type { QueryResultCacheOptions } from 'typeorm/cache/QueryResultCacheOptions.js';\n\nexport class DatabaseQueryResultCache implements QueryResultCache {\n protected instance : ICache;\n\n constructor(cache: ICache) {\n this.instance = cache;\n }\n\n protected buildKey(id: string) {\n return escapeRedisKey(`db:${id}`);\n }\n\n async clear(): Promise<void> {\n await this.instance.clear({ prefix: this.buildKey('') });\n }\n\n async connect(): Promise<void> {\n return Promise.resolve();\n }\n\n async disconnect(): Promise<void> {\n return Promise.resolve();\n }\n\n async getFromCache(options: QueryResultCacheOptions): Promise<QueryResultCacheOptions | undefined> {\n let output : QueryResultCacheOptions | undefined | null;\n if (options.identifier) {\n output = await this.instance.get(this.buildKey(options.identifier));\n } else if (typeof options.query !== 'undefined') {\n output = await this.instance.get(this.buildKey(encodeURIComponent(options.query)));\n }\n\n if (output) {\n return output;\n }\n\n return undefined;\n }\n\n isExpired(savedCache: QueryResultCacheOptions): boolean {\n if (typeof savedCache.time === 'undefined') {\n return true;\n }\n\n return (savedCache.time + savedCache.duration) < new Date().getTime();\n }\n\n async remove(identifiers: string[]): Promise<void> {\n const keys = identifiers.map((identifier) => this.buildKey(identifier));\n await this.instance.dropMany(keys);\n }\n\n async storeInCache(options: QueryResultCacheOptions): Promise<void> {\n if (options.identifier) {\n await this.instance.set(\n this.buildKey(options.identifier),\n options,\n { ttl: options.duration },\n );\n\n return;\n }\n\n if (typeof options.query !== 'undefined') {\n await this.instance.set(\n this.buildKey(encodeURIComponent(options.query)),\n options,\n { ttl: options.duration },\n );\n }\n }\n\n synchronize(): Promise<void> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":";;AAYA,IAAaC,2BAAb,MAAaA;CACCC;CAEV,YAAYC,OAAe;AACvB,OAAKD,WAAWC;;CAGVC,SAASC,IAAY;AAC3B,SAAOL,eAAe,MAAMK,KAAI;;CAGpC,MAAMC,QAAuB;AACzB,QAAM,KAAKJ,SAASI,MAAM,EAAEC,QAAQ,KAAKH,SAAS,GAAA,EAAI,CAAA;;CAG1D,MAAMI,UAAyB;AAC3B,SAAOC,QAAQC,SAAO;;CAG1B,MAAMC,aAA4B;AAC9B,SAAOF,QAAQC,SAAO;;CAG1B,MAAME,aAAaC,SAAgF;EAC/F,IAAIC;AACJ,MAAID,QAAQE,WACRD,UAAS,MAAM,KAAKZ,SAASc,IAAI,KAAKZ,SAASS,QAAQE,WAAU,CAAA;WAC1D,OAAOF,QAAQI,UAAU,YAChCH,UAAS,MAAM,KAAKZ,SAASc,IAAI,KAAKZ,SAASc,mBAAmBL,QAAQI,MAAK,CAAA,CAAA;AAGnF,MAAIH,OACA,QAAOA;;CAMfM,UAAUC,YAA8C;AACpD,MAAI,OAAOA,WAAWC,SAAS,YAC3B,QAAO;AAGX,SAAO,WAAYA,OAAOD,WAAWE,4BAAY,IAAIC,MAAAA,EAAOC,SAAO;;CAGvE,MAAMC,OAAOC,aAAsC;EAC/C,MAAMC,OAAOD,YAAYE,KAAKd,eAAe,KAAKX,SAASW,WAAAA,CAAAA;AAC3D,QAAM,KAAKb,SAAS4B,SAASF,KAAAA;;CAGjC,MAAMG,aAAalB,SAAiD;AAChE,MAAIA,QAAQE,YAAY;AACpB,SAAM,KAAKb,SAAS8B,IAChB,KAAK5B,SAASS,QAAQE,WAAU,EAChCF,SACA,EAAEoB,KAAKpB,QAAQU,UAAS,CAAA;AAG5B;;AAGJ,MAAI,OAAOV,QAAQI,UAAU,YACzB,OAAM,KAAKf,SAAS8B,IAChB,KAAK5B,SAASc,mBAAmBL,QAAQI,MAAK,CAAA,EAC9CJ,SACA,EAAEoB,KAAKpB,QAAQU,UAAS,CAAA;;CAKpCW,cAA6B;AACzB,SAAOzB,QAAQC,QAAQS,KAAAA,EAAAA"}
1
+ {"version":3,"file":"module.mjs","names":["escapeRedisKey","DatabaseQueryResultCache","instance","cache","buildKey","id","clear","prefix","connect","Promise","resolve","disconnect","getFromCache","options","output","identifier","get","query","encodeURIComponent","undefined","isExpired","savedCache","time","duration","Date","getTime","remove","identifiers","keys","map","dropMany","storeInCache","set","ttl","synchronize"],"sources":["../../../../src/adapters/database/cache/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ICache } from '@authup/server-kit';\nimport { escapeRedisKey } from '@authup/server-kit';\nimport type { QueryResultCache } from 'typeorm/cache/QueryResultCache.js';\nimport type { QueryResultCacheOptions } from 'typeorm/cache/QueryResultCacheOptions.js';\n\nexport class DatabaseQueryResultCache implements QueryResultCache {\n protected instance : ICache;\n\n constructor(cache: ICache) {\n this.instance = cache;\n }\n\n protected buildKey(id: string) {\n return escapeRedisKey(`db:${id}`);\n }\n\n async clear(): Promise<void> {\n await this.instance.clear({ prefix: this.buildKey('') });\n }\n\n async connect(): Promise<void> {\n return Promise.resolve();\n }\n\n async disconnect(): Promise<void> {\n return Promise.resolve();\n }\n\n async getFromCache(options: QueryResultCacheOptions): Promise<QueryResultCacheOptions | undefined> {\n let output : QueryResultCacheOptions | undefined | null;\n if (options.identifier) {\n output = await this.instance.get(this.buildKey(options.identifier));\n } else if (typeof options.query !== 'undefined') {\n output = await this.instance.get(this.buildKey(encodeURIComponent(options.query)));\n }\n\n if (output) {\n return output;\n }\n\n return undefined;\n }\n\n isExpired(savedCache: QueryResultCacheOptions): boolean {\n if (typeof savedCache.time === 'undefined') {\n return true;\n }\n\n return (savedCache.time + savedCache.duration) < new Date().getTime();\n }\n\n async remove(identifiers: string[]): Promise<void> {\n const keys = identifiers.map((identifier) => this.buildKey(identifier));\n await this.instance.dropMany(keys);\n }\n\n async storeInCache(options: QueryResultCacheOptions): Promise<void> {\n if (options.identifier) {\n await this.instance.set(\n this.buildKey(options.identifier),\n options,\n { ttl: options.duration },\n );\n\n return;\n }\n\n if (typeof options.query !== 'undefined') {\n await this.instance.set(\n this.buildKey(encodeURIComponent(options.query)),\n options,\n { ttl: options.duration },\n );\n }\n }\n\n synchronize(): Promise<void> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":";;AAYA,IAAaC,2BAAb,MAAaA;CACCC;CAEV,YAAYC,OAAe;EACvB,KAAKD,WAAWC;CACpB;CAEUC,SAASC,IAAY;EAC3B,OAAOL,eAAe,MAAMK,IAAI;CACpC;CAEA,MAAMC,QAAuB;EACzB,MAAM,KAAKJ,SAASI,MAAM,EAAEC,QAAQ,KAAKH,SAAS,EAAA,EAAI,CAAA;CAC1D;CAEA,MAAMI,UAAyB;EAC3B,OAAOC,QAAQC,QAAO;CAC1B;CAEA,MAAMC,aAA4B;EAC9B,OAAOF,QAAQC,QAAO;CAC1B;CAEA,MAAME,aAAaC,SAAgF;EAC/F,IAAIC;EACJ,IAAID,QAAQE,YACRD,SAAS,MAAM,KAAKZ,SAASc,IAAI,KAAKZ,SAASS,QAAQE,UAAU,CAAA;OAC9D,IAAI,OAAOF,QAAQI,UAAU,aAChCH,SAAS,MAAM,KAAKZ,SAASc,IAAI,KAAKZ,SAASc,mBAAmBL,QAAQI,KAAK,CAAA,CAAA;EAGnF,IAAIH,QACA,OAAOA;CAIf;CAEAM,UAAUC,YAA8C;EACpD,IAAI,OAAOA,WAAWC,SAAS,aAC3B,OAAO;EAGX,OAAO,WAAYA,OAAOD,WAAWE,4BAAY,IAAIC,KAAAA,GAAOC,QAAO;CACvE;CAEA,MAAMC,OAAOC,aAAsC;EAC/C,MAAMC,OAAOD,YAAYE,KAAKd,eAAe,KAAKX,SAASW,UAAAA,CAAAA;EAC3D,MAAM,KAAKb,SAAS4B,SAASF,IAAAA;CACjC;CAEA,MAAMG,aAAalB,SAAiD;EAChE,IAAIA,QAAQE,YAAY;GACpB,MAAM,KAAKb,SAAS8B,IAChB,KAAK5B,SAASS,QAAQE,UAAU,GAChCF,SACA,EAAEoB,KAAKpB,QAAQU,SAAS,CAAA;GAG5B;EACJ;EAEA,IAAI,OAAOV,QAAQI,UAAU,aACzB,MAAM,KAAKf,SAAS8B,IAChB,KAAK5B,SAASc,mBAAmBL,QAAQI,KAAK,CAAA,GAC9CJ,SACA,EAAEoB,KAAKpB,QAAQU,SAAS,CAAA;CAGpC;CAEAW,cAA6B;EACzB,OAAOzB,QAAQC,QAAQS,KAAAA,CAAAA;CAC3B;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["AuthupError","CodeTransformation","isCodeTransformation","readDataSourceOptionsFromEnv","transformFilePath","ClientEntity","ClientPermissionEntity","ClientPermissionSubscriber","ClientRoleEntity","ClientRoleSubscriber","ClientScopeEntity","ClientScopeSubscriber","ClientSubscriber","IdentityProviderAccountEntity","IdentityProviderAccountSubscriber","IdentityProviderAttributeEntity","IdentityProviderAttributeMappingEntity","IdentityProviderAttributeSubscriber","IdentityProviderEntity","IdentityProviderPermissionMappingEntity","IdentityProviderRoleMappingEntity","IdentityProviderRoleSubscriber","IdentityProviderSubscriber","KeyEntity","PermissionEntity","PermissionPolicyEntity","PermissionSubscriber","PolicyAttributeEntity","PolicyAttributeSubscriber","PolicyEntity","PolicySubscriber","RealmEntity","RealmSubscriber","RobotEntity","RobotPermissionEntity","RobotPermissionSubscriber","RobotRoleEntity","RobotRoleSubscriber","RobotSubscriber","RoleAttributeEntity","RoleAttributeSubscriber","RoleEntity","RolePermissionEntity","RolePermissionSubscriber","RoleSubscriber","ScopeEntity","ScopeSubscriber","SessionEntity","UserAttributeEntity","UserAttributeSubscriber","UserEntity","UserPermissionEntity","UserPermissionSubscriber","UserRoleEntity","UserRoleSubscriber","UserSubscriber","DataSourceOptionsBuilder","buildWithEnv","options","normalize","buildWith","type","logging","entities","migrations","migrationsTransactionMode","subscribers","migrationPath","JUST_IN_TIME","Object","assign","connectorPackage"],"sources":["../../../../../src/adapters/database/data-source/options/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2024.\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 { AuthupError } from '@authup/errors';\nimport type { DataSourceOptions } from 'typeorm';\nimport {\n CodeTransformation, \n isCodeTransformation, \n readDataSourceOptionsFromEnv, \n transformFilePath,\n} from 'typeorm-extension';\nimport {\n ClientEntity,\n ClientPermissionEntity,\n ClientPermissionSubscriber,\n ClientRoleEntity,\n ClientRoleSubscriber,\n ClientScopeEntity,\n ClientScopeSubscriber,\n ClientSubscriber,\n IdentityProviderAccountEntity,\n IdentityProviderAccountSubscriber,\n IdentityProviderAttributeEntity,\n IdentityProviderAttributeMappingEntity,\n IdentityProviderAttributeSubscriber,\n IdentityProviderEntity,\n IdentityProviderPermissionMappingEntity,\n IdentityProviderRoleMappingEntity,\n IdentityProviderRoleSubscriber,\n IdentityProviderSubscriber,\n KeyEntity,\n PermissionEntity,\n PermissionPolicyEntity,\n PermissionSubscriber,\n PolicyAttributeEntity,\n PolicyAttributeSubscriber,\n PolicyEntity,\n PolicySubscriber,\n RealmEntity,\n RealmSubscriber,\n RobotEntity,\n RobotPermissionEntity,\n RobotPermissionSubscriber,\n RobotRoleEntity,\n RobotRoleSubscriber,\n RobotSubscriber,\n RoleAttributeEntity,\n RoleAttributeSubscriber,\n RoleEntity,\n RolePermissionEntity,\n RolePermissionSubscriber,\n RoleSubscriber,\n ScopeEntity,\n ScopeSubscriber,\n SessionEntity,\n UserAttributeEntity,\n UserAttributeSubscriber,\n UserEntity,\n UserPermissionEntity,\n UserPermissionSubscriber,\n UserRoleEntity,\n UserRoleSubscriber,\n UserSubscriber,\n} from '../../domains/index.ts';\n\nexport class DataSourceOptionsBuilder {\n buildWithEnv() {\n const options = readDataSourceOptionsFromEnv();\n\n if (!options) {\n throw new AuthupError('The database configuration could not be read from env variables.');\n }\n\n return this.normalize(options);\n }\n\n buildWith(options: DataSourceOptions) {\n return this.normalize(options);\n }\n\n // ------------------------------------------------------------------\n\n protected normalize(options: DataSourceOptions) : DataSourceOptions {\n if (\n options.type !== 'mysql' &&\n options.type !== 'postgres' &&\n options.type !== 'better-sqlite3'\n ) {\n throw new AuthupError(`The database type ${options.type} is not supported.`);\n }\n\n options = {\n ...options,\n logging: false,\n entities: [\n ...(options.entities ? options.entities : []) as string[],\n KeyEntity,\n\n SessionEntity,\n\n ClientEntity,\n ClientPermissionEntity,\n ClientRoleEntity,\n ClientScopeEntity,\n\n IdentityProviderEntity,\n IdentityProviderAttributeEntity,\n IdentityProviderAccountEntity,\n IdentityProviderRoleMappingEntity,\n IdentityProviderPermissionMappingEntity,\n IdentityProviderAttributeMappingEntity,\n\n PermissionEntity,\n PermissionPolicyEntity,\n\n PolicyEntity,\n PolicyAttributeEntity,\n\n RealmEntity,\n\n RobotEntity,\n RobotPermissionEntity,\n RobotRoleEntity,\n\n RoleEntity,\n RoleAttributeEntity,\n RolePermissionEntity,\n\n ScopeEntity,\n\n UserEntity,\n UserAttributeEntity,\n UserPermissionEntity,\n UserRoleEntity,\n ],\n migrations: [],\n migrationsTransactionMode: 'each',\n subscribers: [\n ...(options.subscribers || []) as string[],\n ClientSubscriber,\n ClientPermissionSubscriber,\n ClientRoleSubscriber,\n ClientScopeSubscriber,\n\n IdentityProviderSubscriber,\n IdentityProviderAccountSubscriber,\n IdentityProviderAttributeSubscriber,\n IdentityProviderRoleSubscriber,\n\n PermissionSubscriber,\n PolicySubscriber,\n PolicyAttributeSubscriber,\n\n RealmSubscriber,\n\n RobotSubscriber,\n RobotRoleSubscriber,\n RobotPermissionSubscriber,\n\n RoleSubscriber,\n RoleAttributeSubscriber,\n RolePermissionSubscriber,\n\n ScopeSubscriber,\n\n UserSubscriber,\n UserAttributeSubscriber,\n UserPermissionSubscriber,\n UserRoleSubscriber,\n ],\n };\n\n if (\n options.type === 'mysql' ||\n options.type === 'postgres'\n ) {\n let migrationPath = `src/adapters/database/migrations/${options.type}/*.{ts,js,mjs}`;\n if (!isCodeTransformation(CodeTransformation.JUST_IN_TIME)) {\n migrationPath = transformFilePath(migrationPath, './dist', './src');\n }\n\n Object.assign(options, {\n migrations: [migrationPath],\n migrationsTransactionMode: 'all',\n } as DataSourceOptions);\n }\n\n if (options.type === 'mysql') {\n Object.assign(options, { connectorPackage: 'mysql2' } satisfies Partial<DataSourceOptions>);\n }\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEA,IAAawD,2BAAb,MAAaA;CACTC,eAAe;EACX,MAAMC,UAAUvD,8BAAAA;AAEhB,MAAI,CAACuD,QACD,OAAM,IAAI1D,YAAY,mEAAA;AAG1B,SAAO,KAAK2D,UAAUD,QAAAA;;CAG1BE,UAAUF,SAA4B;AAClC,SAAO,KAAKC,UAAUD,QAAAA;;CAKhBC,UAAUD,SAAgD;AAChE,MACIA,QAAQG,SAAS,WACjBH,QAAQG,SAAS,cACjBH,QAAQG,SAAS,iBAEjB,OAAM,IAAI7D,YAAY,qBAAqB0D,QAAQG,KAAK,oBAAmB;AAG/EH,YAAU;GACN,GAAGA;GACHI,SAAS;GACTC,UAAU;OACFL,QAAQK,WAAWL,QAAQK,WAAW,EAAE;IAC5CxC;IAEAwB;IAEA1C;IACAC;IACAE;IACAE;IAEAQ;IACAH;IACAF;IACAO;IACAD;IACAH;IAEAQ;IACAC;IAEAI;IACAF;IAEAI;IAEAE;IACAC;IACAE;IAEAK;IACAF;IACAG;IAEAG;IAEAK;IACAF;IACAG;IACAE;IACH;GACDW,YAAY,EAAE;GACdC,2BAA2B;GAC3BC,aAAa;OACLR,QAAQQ,eAAe,EAAE;IAC7BtD;IACAL;IACAE;IACAE;IAEAW;IACAR;IACAG;IACAI;IAEAK;IACAI;IACAF;IAEAI;IAEAM;IACAD;IACAF;IAEAS;IACAJ;IACAG;IAEAG;IAEAS;IACAN;IACAG;IACAE;IACH;GACL;AAEA,MACII,QAAQG,SAAS,WACjBH,QAAQG,SAAS,YACnB;GACE,IAAIM,gBAAgB,oCAAoCT,QAAQG,KAAK;AACrE,OAAI,CAAC3D,qBAAqBD,mBAAmBmE,aAAY,CACrDD,iBAAgB/D,kBAAkB+D,eAAe,UAAU,QAAA;AAG/DE,UAAOC,OAAOZ,SAAS;IACnBM,YAAY,CAACG,cAAc;IAC3BF,2BAA2B;IAC/B,CAAA;;AAGJ,MAAIP,QAAQG,SAAS,QACjBQ,QAAOC,OAAOZ,SAAS,EAAEa,kBAAkB,UAAS,CAAA;AAGxD,SAAOb"}
1
+ {"version":3,"file":"module.mjs","names":["AuthupError","CodeTransformation","isCodeTransformation","readDataSourceOptionsFromEnv","transformFilePath","ClientEntity","ClientPermissionEntity","ClientPermissionSubscriber","ClientRoleEntity","ClientRoleSubscriber","ClientScopeEntity","ClientScopeSubscriber","ClientSubscriber","IdentityProviderAccountEntity","IdentityProviderAccountSubscriber","IdentityProviderAttributeEntity","IdentityProviderAttributeMappingEntity","IdentityProviderAttributeSubscriber","IdentityProviderEntity","IdentityProviderPermissionMappingEntity","IdentityProviderRoleMappingEntity","IdentityProviderRoleSubscriber","IdentityProviderSubscriber","KeyEntity","PermissionEntity","PermissionPolicyEntity","PermissionSubscriber","PolicyAttributeEntity","PolicyAttributeSubscriber","PolicyEntity","PolicySubscriber","RealmEntity","RealmSubscriber","RobotEntity","RobotPermissionEntity","RobotPermissionSubscriber","RobotRoleEntity","RobotRoleSubscriber","RobotSubscriber","RoleAttributeEntity","RoleAttributeSubscriber","RoleEntity","RolePermissionEntity","RolePermissionSubscriber","RoleSubscriber","ScopeEntity","ScopeSubscriber","SessionEntity","UserAttributeEntity","UserAttributeSubscriber","UserEntity","UserPermissionEntity","UserPermissionSubscriber","UserRoleEntity","UserRoleSubscriber","UserSubscriber","DataSourceOptionsBuilder","buildWithEnv","options","normalize","buildWith","type","logging","entities","migrations","migrationsTransactionMode","subscribers","migrationPath","JUST_IN_TIME","Object","assign","connectorPackage"],"sources":["../../../../../src/adapters/database/data-source/options/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2024.\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 { AuthupError } from '@authup/errors';\nimport type { DataSourceOptions } from 'typeorm';\nimport {\n CodeTransformation, \n isCodeTransformation, \n readDataSourceOptionsFromEnv, \n transformFilePath,\n} from 'typeorm-extension';\nimport {\n ClientEntity,\n ClientPermissionEntity,\n ClientPermissionSubscriber,\n ClientRoleEntity,\n ClientRoleSubscriber,\n ClientScopeEntity,\n ClientScopeSubscriber,\n ClientSubscriber,\n IdentityProviderAccountEntity,\n IdentityProviderAccountSubscriber,\n IdentityProviderAttributeEntity,\n IdentityProviderAttributeMappingEntity,\n IdentityProviderAttributeSubscriber,\n IdentityProviderEntity,\n IdentityProviderPermissionMappingEntity,\n IdentityProviderRoleMappingEntity,\n IdentityProviderRoleSubscriber,\n IdentityProviderSubscriber,\n KeyEntity,\n PermissionEntity,\n PermissionPolicyEntity,\n PermissionSubscriber,\n PolicyAttributeEntity,\n PolicyAttributeSubscriber,\n PolicyEntity,\n PolicySubscriber,\n RealmEntity,\n RealmSubscriber,\n RobotEntity,\n RobotPermissionEntity,\n RobotPermissionSubscriber,\n RobotRoleEntity,\n RobotRoleSubscriber,\n RobotSubscriber,\n RoleAttributeEntity,\n RoleAttributeSubscriber,\n RoleEntity,\n RolePermissionEntity,\n RolePermissionSubscriber,\n RoleSubscriber,\n ScopeEntity,\n ScopeSubscriber,\n SessionEntity,\n UserAttributeEntity,\n UserAttributeSubscriber,\n UserEntity,\n UserPermissionEntity,\n UserPermissionSubscriber,\n UserRoleEntity,\n UserRoleSubscriber,\n UserSubscriber,\n} from '../../domains/index.ts';\n\nexport class DataSourceOptionsBuilder {\n buildWithEnv() {\n const options = readDataSourceOptionsFromEnv();\n\n if (!options) {\n throw new AuthupError('The database configuration could not be read from env variables.');\n }\n\n return this.normalize(options);\n }\n\n buildWith(options: DataSourceOptions) {\n return this.normalize(options);\n }\n\n // ------------------------------------------------------------------\n\n protected normalize(options: DataSourceOptions) : DataSourceOptions {\n if (\n options.type !== 'mysql' &&\n options.type !== 'postgres' &&\n options.type !== 'better-sqlite3'\n ) {\n throw new AuthupError(`The database type ${options.type} is not supported.`);\n }\n\n options = {\n ...options,\n logging: false,\n entities: [\n ...(options.entities ? options.entities : []) as string[],\n KeyEntity,\n\n SessionEntity,\n\n ClientEntity,\n ClientPermissionEntity,\n ClientRoleEntity,\n ClientScopeEntity,\n\n IdentityProviderEntity,\n IdentityProviderAttributeEntity,\n IdentityProviderAccountEntity,\n IdentityProviderRoleMappingEntity,\n IdentityProviderPermissionMappingEntity,\n IdentityProviderAttributeMappingEntity,\n\n PermissionEntity,\n PermissionPolicyEntity,\n\n PolicyEntity,\n PolicyAttributeEntity,\n\n RealmEntity,\n\n RobotEntity,\n RobotPermissionEntity,\n RobotRoleEntity,\n\n RoleEntity,\n RoleAttributeEntity,\n RolePermissionEntity,\n\n ScopeEntity,\n\n UserEntity,\n UserAttributeEntity,\n UserPermissionEntity,\n UserRoleEntity,\n ],\n migrations: [],\n migrationsTransactionMode: 'each',\n subscribers: [\n ...(options.subscribers || []) as string[],\n ClientSubscriber,\n ClientPermissionSubscriber,\n ClientRoleSubscriber,\n ClientScopeSubscriber,\n\n IdentityProviderSubscriber,\n IdentityProviderAccountSubscriber,\n IdentityProviderAttributeSubscriber,\n IdentityProviderRoleSubscriber,\n\n PermissionSubscriber,\n PolicySubscriber,\n PolicyAttributeSubscriber,\n\n RealmSubscriber,\n\n RobotSubscriber,\n RobotRoleSubscriber,\n RobotPermissionSubscriber,\n\n RoleSubscriber,\n RoleAttributeSubscriber,\n RolePermissionSubscriber,\n\n ScopeSubscriber,\n\n UserSubscriber,\n UserAttributeSubscriber,\n UserPermissionSubscriber,\n UserRoleSubscriber,\n ],\n };\n\n if (\n options.type === 'mysql' ||\n options.type === 'postgres'\n ) {\n let migrationPath = `src/adapters/database/migrations/${options.type}/*.{ts,js,mjs}`;\n if (!isCodeTransformation(CodeTransformation.JUST_IN_TIME)) {\n migrationPath = transformFilePath(migrationPath, './dist', './src');\n }\n\n Object.assign(options, {\n migrations: [migrationPath],\n migrationsTransactionMode: 'all',\n } as DataSourceOptions);\n }\n\n if (options.type === 'mysql') {\n Object.assign(options, { connectorPackage: 'mysql2' } satisfies Partial<DataSourceOptions>);\n }\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEA,IAAawD,2BAAb,MAAaA;CACTC,eAAe;EACX,MAAMC,UAAUvD,6BAAAA;EAEhB,IAAI,CAACuD,SACD,MAAM,IAAI1D,YAAY,kEAAA;EAG1B,OAAO,KAAK2D,UAAUD,OAAAA;CAC1B;CAEAE,UAAUF,SAA4B;EAClC,OAAO,KAAKC,UAAUD,OAAAA;CAC1B;CAIUC,UAAUD,SAAgD;EAChE,IACIA,QAAQG,SAAS,WACjBH,QAAQG,SAAS,cACjBH,QAAQG,SAAS,kBAEjB,MAAM,IAAI7D,YAAY,qBAAqB0D,QAAQG,KAAK,mBAAmB;EAG/EH,UAAU;GACN,GAAGA;GACHI,SAAS;GACTC,UAAU;OACFL,QAAQK,WAAWL,QAAQK,WAAW,CAAA;IAC1CxC;IAEAwB;IAEA1C;IACAC;IACAE;IACAE;IAEAQ;IACAH;IACAF;IACAO;IACAD;IACAH;IAEAQ;IACAC;IAEAI;IACAF;IAEAI;IAEAE;IACAC;IACAE;IAEAK;IACAF;IACAG;IAEAG;IAEAK;IACAF;IACAG;IACAE;;GAEJW,YAAY,CAAA;GACZC,2BAA2B;GAC3BC,aAAa;OACLR,QAAQQ,eAAe,CAAA;IAC3BtD;IACAL;IACAE;IACAE;IAEAW;IACAR;IACAG;IACAI;IAEAK;IACAI;IACAF;IAEAI;IAEAM;IACAD;IACAF;IAEAS;IACAJ;IACAG;IAEAG;IAEAS;IACAN;IACAG;IACAE;;EAER;EAEA,IACII,QAAQG,SAAS,WACjBH,QAAQG,SAAS,YACnB;GACE,IAAIM,gBAAgB,oCAAoCT,QAAQG,KAAK;GACrE,IAAI,CAAC3D,qBAAqBD,mBAAmBmE,YAAY,GACrDD,gBAAgB/D,kBAAkB+D,eAAe,UAAU,OAAA;GAG/DE,OAAOC,OAAOZ,SAAS;IACnBM,YAAY,CAACG,aAAAA;IACbF,2BAA2B;GAC/B,CAAA;EACJ;EAEA,IAAIP,QAAQG,SAAS,SACjBQ,OAAOC,OAAOZ,SAAS,EAAEa,kBAAkB,SAAS,CAAA;EAGxD,OAAOb;CACX;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"singleton.mjs","names":["singa","instance","name","setDataSourceSync","dataSource","setFactory","unsetDataSourceSync","unset","useDataSourceSync","use"],"sources":["../../../../src/adapters/database/data-source/singleton.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\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 { singa } from 'singa';\nimport type { DataSource } from 'typeorm';\n\nconst instance = singa<DataSource>({ name: 'dataSource' });\n\nexport function setDataSourceSync(dataSource: DataSource) {\n instance.setFactory(() => dataSource);\n}\n\nexport function unsetDataSourceSync() {\n instance.unset();\n}\n\nexport function useDataSourceSync() {\n return instance.use();\n}\n"],"mappings":";;AAUA,MAAMC,WAAWD,MAAkB,EAAEE,MAAM,cAAa,CAAA;AAExD,SAAgBC,kBAAkBC,YAAsB;AACpDH,UAASI,iBAAiBD,WAAAA;;AAG9B,SAAgBE,sBAAAA;AACZL,UAASM,OAAK;;AAGlB,SAAgBC,oBAAAA;AACZ,QAAOP,SAASQ,KAAG"}
1
+ {"version":3,"file":"singleton.mjs","names":["singa","instance","name","setDataSourceSync","dataSource","setFactory","unsetDataSourceSync","unset","useDataSourceSync","use"],"sources":["../../../../src/adapters/database/data-source/singleton.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\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 { singa } from 'singa';\nimport type { DataSource } from 'typeorm';\n\nconst instance = singa<DataSource>({ name: 'dataSource' });\n\nexport function setDataSourceSync(dataSource: DataSource) {\n instance.setFactory(() => dataSource);\n}\n\nexport function unsetDataSourceSync() {\n instance.unset();\n}\n\nexport function useDataSourceSync() {\n return instance.use();\n}\n"],"mappings":";;AAUA,MAAMC,WAAWD,MAAkB,EAAEE,MAAM,aAAa,CAAA;AAExD,SAAgBC,kBAAkBC,YAAsB;CACpDH,SAASI,iBAAiBD,UAAAA;AAC9B;AAEA,SAAgBE,sBAAAA;CACZL,SAASM,MAAK;AAClB;AAEA,SAAgBC,oBAAAA;CACZ,OAAOP,SAASQ,IAAG;AACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","names":["BeforeInsert","BeforeUpdate","Column","CreateDateColumn","Entity","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","RealmEntity","ClientEntity","id","active","built_in","is_confidential","name","display_name","description","secret","secret_hashed","secret_encrypted","redirect_uri","grant_types","scope","base_url","root_url","created_at","updated_at","realm_id","realm","setDisplayName","length","type","default","nullable","select","onDelete"],"sources":["../../../../../src/adapters/database/domains/client/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n BeforeInsert, \n BeforeUpdate,\n Column,\n CreateDateColumn,\n Entity,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport type { Client, Realm } from '@authup/core-kit';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_clients' })\n@Unique(['name', 'realm_id'])\nexport class ClientEntity implements Client {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'boolean',\n default: true,\n })\n active: boolean;\n\n @Column({\n type: 'boolean',\n default: false,\n })\n built_in: boolean;\n\n @Column({\n type: 'boolean',\n default: false,\n })\n is_confidential: boolean;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'varchar',\n length: 256,\n })\n name: string;\n\n @Column({\n type: 'varchar',\n length: 256,\n nullable: true, \n })\n display_name: string | null;\n\n @Column({\n type: 'text',\n nullable: true,\n })\n description: string | null;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'varchar',\n length: 256,\n select: false,\n nullable: true,\n })\n secret: string | null;\n\n @Column({\n type: 'boolean',\n default: false,\n })\n secret_hashed: boolean;\n\n @Column({\n type: 'boolean',\n default: false,\n })\n secret_encrypted: boolean;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'text',\n nullable: true,\n })\n redirect_uri: string | null;\n\n @Column({\n type: 'varchar',\n length: 512,\n nullable: true,\n })\n grant_types: string | null;\n\n @Column({\n type: 'varchar',\n length: 512,\n nullable: true,\n default: null,\n })\n scope: string | null;\n\n @Column({\n type: 'varchar',\n length: 2000,\n nullable: true,\n })\n base_url: string | null;\n\n @Column({\n type: 'varchar',\n length: 2000,\n nullable: true,\n })\n root_url: string | null;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn()\n created_at: string;\n\n @UpdateDateColumn()\n updated_at: string;\n\n // ------------------------------------------------------------------\n\n @Column()\n realm_id: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'realm_id' })\n realm: RealmEntity;\n\n // ------------------------------------------------------------------\n\n @BeforeInsert()\n @BeforeUpdate()\n setDisplayName() {\n if (\n typeof this.display_name !== 'string' ||\n this.display_name.length === 0\n ) {\n this.display_name = this.name;\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAwBA,IAAaW,eAAb,MAAaA;CAETC;CAQAC;CAMAC;CAMAC;CAQAC;CAOAC;CAMAC;CAUAC;CAMAC;CAMAC;CAQAC;CAOAC;CAQAC;CAOAC;CAOAC;CAKAC;CAGAC;CAKAC;CAIAC;CAMAC,iBAAiB;AACb,MACI,OAAO,KAAKd,iBAAiB,YAC7B,KAAKA,aAAae,WAAW,EAE7B,MAAKf,eAAe,KAAKD;;;;;CA3H7BiB,MAAM;CACNC,SAAS;;;CAKTD,MAAM;CACNC,SAAS;;;CAKTD,MAAM;CACNC,SAAS;;;CAOTD,MAAM;CACND,QAAQ;;;CAKRC,MAAM;CACND,QAAQ;CACRG,UAAU;;;CAKVF,MAAM;CACNE,UAAU;;;CAOVF,MAAM;CACND,QAAQ;CACRI,QAAQ;CACRD,UAAU;;;CAKVF,MAAM;CACNC,SAAS;;;CAKTD,MAAM;CACNC,SAAS;;;CAOTD,MAAM;CACNE,UAAU;;;CAKVF,MAAM;CACND,QAAQ;CACRG,UAAU;;;CAKVF,MAAM;CACND,QAAQ;CACRG,UAAU;CACVD,SAAS;;;CAKTD,MAAM;CACND,QAAQ;CACRG,UAAU;;;CAKVF,MAAM;CACND,QAAQ;CACRG,UAAU;;;;;;iBAiBGzB,aAAAA,EAAe2B,UAAU,WAAA,CAAA;cAC5BrB,MAAM,YAAA,CAAA;;;;;;;;;;sCAxHdA,MAAM,gBAAA,CAAA,EAAA,OAAA,CACP,QAAQ,WAAA,CAAA,CAAA,EAAA,aAAA"}
1
+ {"version":3,"file":"entity.mjs","names":["BeforeInsert","BeforeUpdate","Column","CreateDateColumn","Entity","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","RealmEntity","ClientEntity","id","active","built_in","is_confidential","name","display_name","description","secret","secret_hashed","secret_encrypted","redirect_uri","grant_types","scope","base_url","root_url","created_at","updated_at","realm_id","realm","setDisplayName","length","type","default","nullable","select","onDelete"],"sources":["../../../../../src/adapters/database/domains/client/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n BeforeInsert, \n BeforeUpdate,\n Column,\n CreateDateColumn,\n Entity,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport type { Client, Realm } from '@authup/core-kit';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_clients' })\n@Unique(['name', 'realm_id'])\nexport class ClientEntity implements Client {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'boolean',\n default: true,\n })\n active: boolean;\n\n @Column({\n type: 'boolean',\n default: false,\n })\n built_in: boolean;\n\n @Column({\n type: 'boolean',\n default: false,\n })\n is_confidential: boolean;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'varchar',\n length: 256,\n })\n name: string;\n\n @Column({\n type: 'varchar',\n length: 256,\n nullable: true, \n })\n display_name: string | null;\n\n @Column({\n type: 'text',\n nullable: true,\n })\n description: string | null;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'varchar',\n length: 256,\n select: false,\n nullable: true,\n })\n secret: string | null;\n\n @Column({\n type: 'boolean',\n default: false,\n })\n secret_hashed: boolean;\n\n @Column({\n type: 'boolean',\n default: false,\n })\n secret_encrypted: boolean;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'text',\n nullable: true,\n })\n redirect_uri: string | null;\n\n @Column({\n type: 'varchar',\n length: 512,\n nullable: true,\n })\n grant_types: string | null;\n\n @Column({\n type: 'varchar',\n length: 512,\n nullable: true,\n default: null,\n })\n scope: string | null;\n\n @Column({\n type: 'varchar',\n length: 2000,\n nullable: true,\n })\n base_url: string | null;\n\n @Column({\n type: 'varchar',\n length: 2000,\n nullable: true,\n })\n root_url: string | null;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn()\n created_at: string;\n\n @UpdateDateColumn()\n updated_at: string;\n\n // ------------------------------------------------------------------\n\n @Column()\n realm_id: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'realm_id' })\n realm: RealmEntity;\n\n // ------------------------------------------------------------------\n\n @BeforeInsert()\n @BeforeUpdate()\n setDisplayName() {\n if (\n typeof this.display_name !== 'string' ||\n this.display_name.length === 0\n ) {\n this.display_name = this.name;\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAwBA,IAAaW,eAAb,MAAaA;CAETC;CAQAC;CAMAC;CAMAC;CAQAC;CAOAC;CAMAC;CAUAC;CAMAC;CAMAC;CAQAC;CAOAC;CAQAC;CAOAC;CAOAC;CAKAC;CAGAC;CAKAC;CAIAC;CAMAC,iBAAiB;EACb,IACI,OAAO,KAAKd,iBAAiB,YAC7B,KAAKA,aAAae,WAAW,GAE7B,KAAKf,eAAe,KAAKD;CAEjC;AACJ;;;CA9HQiB,MAAM;CACNC,SAAS;;;CAKTD,MAAM;CACNC,SAAS;;;CAKTD,MAAM;CACNC,SAAS;;;CAOTD,MAAM;CACND,QAAQ;;;CAKRC,MAAM;CACND,QAAQ;CACRG,UAAU;;;CAKVF,MAAM;CACNE,UAAU;;;CAOVF,MAAM;CACND,QAAQ;CACRI,QAAQ;CACRD,UAAU;;;CAKVF,MAAM;CACNC,SAAS;;;CAKTD,MAAM;CACNC,SAAS;;;CAOTD,MAAM;CACNE,UAAU;;;CAKVF,MAAM;CACND,QAAQ;CACRG,UAAU;;;CAKVF,MAAM;CACND,QAAQ;CACRG,UAAU;CACVD,SAAS;;;CAKTD,MAAM;CACND,QAAQ;CACRG,UAAU;;;CAKVF,MAAM;CACND,QAAQ;CACRG,UAAU;;;;;;iBAiBGzB,aAAAA,EAAe2B,UAAU,UAAA,CAAA;cAC5BrB,MAAM,WAAA,CAAA;;;;;;;;;;sCAxHdA,MAAM,eAAA,CAAA,GAAA,OAAA,CACP,QAAQ,UAAA,CAAA,CAAA,GAAA,YAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","ClientEntity","CachePrefix","publishEvent","event","data","content","type","CLIENT","destinations","channel","id","namespace","realm_id","ClientSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/client/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Client } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType, \n buildEntityChannelName, \n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { ClientEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: Client,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.CLIENT,\n event,\n data,\n },\n destinations: [\n {\n channel: (id) => buildEntityChannelName(EntityType.CLIENT, id),\n namespace: buildEntityNamespaceName(data.realm_id),\n },\n { channel: (id) => buildEntityChannelName(EntityType.CLIENT, id) },\n ],\n });\n}\n\n@EventSubscriber()\nexport class ClientSubscriber implements EntitySubscriberInterface<Client> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return ClientEntity;\n }\n\n async afterInsert(event: InsertEvent<Client>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<Client>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as Client);\n }\n\n async afterRemove(event: RemoveEvent<Client>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAqBD,eAAeS,aACXC,OACAC,MAAY;AAEZ,OAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMZ,WAAWa;GACjBJ;GACAC;GACJ;EACAI,cAAc,CACV;GACIC,UAAUC,OAAOf,uBAAuBD,WAAWa,QAAQG,GAAAA;GAC3DC,WAAWf,yBAAyBQ,KAAKQ,SAAQ;GACrD,EACA,EAAEH,UAAUC,OAAOf,uBAAuBD,WAAWa,QAAQG,GAAAA,EAAI,CACpE;EACL,CAAA;;AAIJ,IAAaG,mBAAb,MAAaA;CAETC,WAA8B;AAC1B,SAAOd;;CAGX,MAAMe,YAAYZ,OAA0C;AACxD,MAAI,CAACA,MAAMa,OACP;AAGJ,QAAMd,aAAaT,uBAAuBwB,SAASd,MAAMa,OAAM;;CAGnE,MAAME,YAAYf,OAA0C;AACxD,MAAI,CAACA,MAAMa,OACP;AAGJ,MAAIb,MAAMgB,WAAWC,iBACjB,OAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYM;GACpBgB,KAAKpB,MAAMa,OAAON;GACtB,CAAA,CACH,CAAA;AAGL,QAAMR,aAAaT,uBAAuB+B,SAASrB,MAAMa,OAAM;;CAGnE,MAAMS,YAAYtB,OAA0C;AACxD,MAAI,CAACA,MAAMa,OACP;AAGJ,MAAIb,MAAMgB,WAAWC,iBACjB,OAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYM;GACpBgB,KAAKpB,MAAMa,OAAON;GACtB,CAAA,CACH,CAAA;AAGL,QAAMR,aAAaT,uBAAuBiC,SAASvB,MAAMa,OAAM"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","ClientEntity","CachePrefix","publishEvent","event","data","content","type","CLIENT","destinations","channel","id","namespace","realm_id","ClientSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/client/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Client } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType, \n buildEntityChannelName, \n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { ClientEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: Client,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.CLIENT,\n event,\n data,\n },\n destinations: [\n {\n channel: (id) => buildEntityChannelName(EntityType.CLIENT, id),\n namespace: buildEntityNamespaceName(data.realm_id),\n },\n { channel: (id) => buildEntityChannelName(EntityType.CLIENT, id) },\n ],\n });\n}\n\n@EventSubscriber()\nexport class ClientSubscriber implements EntitySubscriberInterface<Client> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return ClientEntity;\n }\n\n async afterInsert(event: InsertEvent<Client>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<Client>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as Client);\n }\n\n async afterRemove(event: RemoveEvent<Client>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAqBD,eAAeS,aACXC,OACAC,MAAY;CAEZ,MAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMZ,WAAWa;GACjBJ;GACAC;EACJ;EACAI,cAAc,CACV;GACIC,UAAUC,OAAOf,uBAAuBD,WAAWa,QAAQG,EAAAA;GAC3DC,WAAWf,yBAAyBQ,KAAKQ,QAAQ;EACrD,GACA,EAAEH,UAAUC,OAAOf,uBAAuBD,WAAWa,QAAQG,EAAAA,EAAI,CAAA;CAEzE,CAAA;AACJ;AAGA,IAAaG,mBAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOd;CACX;CAEA,MAAMe,YAAYZ,OAA0C;EACxD,IAAI,CAACA,MAAMa,QACP;EAGJ,MAAMd,aAAaT,uBAAuBwB,SAASd,MAAMa,MAAM;CACnE;CAEA,MAAME,YAAYf,OAA0C;EACxD,IAAI,CAACA,MAAMa,QACP;EAGJ,IAAIb,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYM;GACpBgB,KAAKpB,MAAMa,OAAON;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaT,uBAAuB+B,SAASrB,MAAMa,MAAM;CACnE;CAEA,MAAMS,YAAYtB,OAA0C;EACxD,IAAI,CAACA,MAAMa,QACP;EAGJ,IAAIb,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYM;GACpBgB,KAAKpB,MAAMa,OAAON;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaT,uBAAuBiC,SAASvB,MAAMa,MAAM;CACnE;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","PermissionEntity","PolicyEntity","ClientEntity","RealmEntity","ClientPermissionEntity","id","policy_id","policy","client_id","client","client_realm_id","client_realm","permission_id","permission","permission_realm_id","permission_realm","created_at","updated_at","nullable","onDelete","name","type","unique"],"sources":["../../../../../src/adapters/database/domains/client-permission/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity, \n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n Client,\n ClientPermission,\n Permission,\n Policy,\n Realm,\n} from '@authup/core-kit';\nimport { PermissionEntity } from '../permission/index.ts';\nimport { PolicyEntity } from '../policy/index.ts';\nimport { ClientEntity } from '../client/entity.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_client_permissions' })\n@Index(['client_id', 'permission_id'], { unique: true })\nexport class ClientPermissionEntity implements ClientPermission {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n // ------------------------------------------------------------------\n\n @Column({ nullable: true })\n policy_id: string | null;\n\n @ManyToOne(() => PolicyEntity, {\n onDelete: 'SET NULL',\n nullable: true, \n })\n @JoinColumn({ name: 'policy_id' })\n policy: Policy | null;\n\n @Column()\n client_id: string;\n\n @ManyToOne(() => ClientEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'client_id' })\n client: Client;\n\n @Column({ nullable: true })\n client_realm_id: Client['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'client_realm_id' })\n client_realm: Realm | null;\n\n @Column({ type: 'varchar' })\n permission_id: string;\n\n @ManyToOne(() => PermissionEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'permission_id' })\n permission: Permission;\n\n @Column({ nullable: true })\n permission_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'permission_realm_id' })\n permission_realm: Realm | null;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA+BA,IAAaY,yBAAb,MAAaA;CAETC;CAKAC;CAOAC;CAGAC;CAIAC;CAGAC;CAOAC;CAGAC;CAIAC;CAGAC;CAOAC;CAKAC;CAGAC;;;uBAlDUC,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,uBAAA,WAAA,aAAA,KAAA,EAAA;;iBAGHjB,cAAAA;EACbkB,UAAU;EACVD,UAAU;;cAEAE,MAAM,aAAA,CAAA;;;;;iBAMHlB,cAAAA,EAAgBiB,UAAU,WAAA,CAAA;cAC7BC,MAAM,aAAA,CAAA;;;uBAGVF,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,uBAAA,WAAA,mBAAA,KAAA,EAAA;;iBAGHf,aAAAA;EACbgB,UAAU;EACVD,UAAU;;cAEAE,MAAM,mBAAA,CAAA;;;uBAGVC,MAAM,WAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,uBAAA,WAAA,iBAAA,KAAA,EAAA;;iBAGCrB,kBAAAA,EAAoBmB,UAAU,WAAA,CAAA;cACjCC,MAAM,iBAAA,CAAA;;;uBAGVF,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,uBAAA,WAAA,uBAAA,KAAA,EAAA;;iBAGHf,aAAAA;EACbgB,UAAU;EACVD,UAAU;;cAEAE,MAAM,uBAAA,CAAA;;;;;gDAjDdA,MAAM,2BAAA,CAAA,EAAA,MAAA,CACR,aAAa,gBAAA,EAAA,EAAoBE,QAAQ,MAAA,CAAA,CAAA,EAAA,uBAAA"}
1
+ {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","PermissionEntity","PolicyEntity","ClientEntity","RealmEntity","ClientPermissionEntity","id","policy_id","policy","client_id","client","client_realm_id","client_realm","permission_id","permission","permission_realm_id","permission_realm","created_at","updated_at","nullable","onDelete","name","type","unique"],"sources":["../../../../../src/adapters/database/domains/client-permission/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity, \n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n Client,\n ClientPermission,\n Permission,\n Policy,\n Realm,\n} from '@authup/core-kit';\nimport { PermissionEntity } from '../permission/index.ts';\nimport { PolicyEntity } from '../policy/index.ts';\nimport { ClientEntity } from '../client/entity.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_client_permissions' })\n@Index(['client_id', 'permission_id'], { unique: true })\nexport class ClientPermissionEntity implements ClientPermission {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n // ------------------------------------------------------------------\n\n @Column({ nullable: true })\n policy_id: string | null;\n\n @ManyToOne(() => PolicyEntity, {\n onDelete: 'SET NULL',\n nullable: true, \n })\n @JoinColumn({ name: 'policy_id' })\n policy: Policy | null;\n\n @Column()\n client_id: string;\n\n @ManyToOne(() => ClientEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'client_id' })\n client: Client;\n\n @Column({ nullable: true })\n client_realm_id: Client['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'client_realm_id' })\n client_realm: Realm | null;\n\n @Column({ type: 'varchar' })\n permission_id: string;\n\n @ManyToOne(() => PermissionEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'permission_id' })\n permission: Permission;\n\n @Column({ nullable: true })\n permission_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'permission_realm_id' })\n permission_realm: Realm | null;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA+BA,IAAaY,yBAAb,MAAaA;CAETC;CAKAC;CAOAC;CAGAC;CAIAC;CAGAC;CAOAC;CAGAC;CAIAC;CAGAC;CAOAC;CAKAC;CAGAC;AACJ;;uBAnDcC,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,uBAAA,WAAA,aAAA,KAAA,CAAA;;iBAGHjB,cAAAA;EACbkB,UAAU;EACVD,UAAU;;cAEAE,MAAM,YAAA,CAAA;;;;;iBAMHlB,cAAAA,EAAgBiB,UAAU,UAAA,CAAA;cAC7BC,MAAM,YAAA,CAAA;;;uBAGVF,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,uBAAA,WAAA,mBAAA,KAAA,CAAA;;iBAGHf,aAAAA;EACbgB,UAAU;EACVD,UAAU;;cAEAE,MAAM,kBAAA,CAAA;;;uBAGVC,MAAM,UAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,uBAAA,WAAA,iBAAA,KAAA,CAAA;;iBAGCrB,kBAAAA,EAAoBmB,UAAU,UAAA,CAAA;cACjCC,MAAM,gBAAA,CAAA;;;uBAGVF,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,uBAAA,WAAA,uBAAA,KAAA,CAAA;;iBAGHf,aAAAA;EACbgB,UAAU;EACVD,UAAU;;cAEAE,MAAM,sBAAA,CAAA;;;;;gDAjDdA,MAAM,0BAAA,CAAA,GAAA,MAAA,CACR,aAAa,eAAA,GAAA,EAAoBE,QAAQ,KAAA,CAAA,CAAA,GAAA,sBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","CachePrefix","ClientPermissionEntity","publishEvent","event","data","destinations","channel","id","CLIENT_PERMISSION","client_realm_id","push","namespace","permission_realm_id","content","type","ClientPermissionSubscriber","listenTo","afterInsert","connection","queryResultCache","remove","prefix","CLIENT_OWNED_PERMISSIONS","key","entity","client_id","CREATED","Promise","resolve","undefined","afterUpdate","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/client-permission/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ClientPermission } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType,\n buildEntityChannelName,\n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport type { DomainEventDestination } from '@authup/server-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { CachePrefix } from '../constants.ts';\nimport { ClientPermissionEntity } from './entity.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: ClientPermission,\n) {\n const destinations : DomainEventDestination[] = [\n { channel: (id) => buildEntityChannelName(EntityType.CLIENT_PERMISSION, id) },\n ];\n if (data.client_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.CLIENT_PERMISSION, id),\n namespace: buildEntityNamespaceName(data.client_realm_id),\n });\n }\n if (data.permission_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.CLIENT_PERMISSION, id),\n namespace: buildEntityNamespaceName(data.permission_realm_id),\n });\n }\n\n await publishDomainEvent({\n content: {\n type: EntityType.CLIENT_PERMISSION,\n event,\n data,\n },\n destinations,\n });\n}\n\n@EventSubscriber()\nexport class ClientPermissionSubscriber implements EntitySubscriberInterface<ClientPermission> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return ClientPermissionEntity;\n }\n\n async afterInsert(event: InsertEvent<ClientPermission>): Promise<any> {\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_PERMISSIONS,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n\n return Promise.resolve(undefined);\n }\n\n async afterUpdate(event: UpdateEvent<ClientPermission>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_PERMISSIONS,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as ClientPermission);\n }\n\n async afterRemove(event: RemoveEvent<ClientPermission>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_PERMISSIONS,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAsBD,eAAeS,aACXC,OACAC,MAAsB;CAEtB,MAAMC,eAA0C,CAC5C,EAAEC,UAAUC,OAAOZ,uBAAuBD,WAAWc,mBAAmBD,GAAAA,EAAI,CAC/E;AACD,KAAIH,KAAKK,gBACLJ,cAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,mBAAmBD,GAAAA;EACtEI,WAAWf,yBAAyBQ,KAAKK,gBAAe;EAC5D,CAAA;AAEJ,KAAIL,KAAKQ,oBACLP,cAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,mBAAmBD,GAAAA;EACtEI,WAAWf,yBAAyBQ,KAAKQ,oBAAmB;EAChE,CAAA;AAGJ,OAAMb,mBAAmB;EACrBc,SAAS;GACLC,MAAMpB,WAAWc;GACjBL;GACAC;GACJ;EACAC;EACJ,CAAA;;AAIJ,IAAaU,6BAAb,MAAaA;CAETC,WAA8B;AAC1B,SAAOf;;CAGX,MAAMgB,YAAYd,OAAoD;AAClE,MAAIA,MAAMe,WAAWC,iBACjB,OAAMhB,MAAMe,WAAWC,iBAAiBC,OAAO,CAC3CvB,kBAAkB;GACdwB,QAAQrB,YAAYsB;GACpBC,KAAKpB,MAAMqB,OAAOC;GACtB,CAAA,CACH,CAAA;AAGL,QAAMvB,aAAaT,uBAAuBiC,SAASvB,MAAMqB,OAAM;AAE/D,SAAOG,QAAQC,QAAQC,KAAAA,EAAAA;;CAG3B,MAAMC,YAAY3B,OAAoD;AAClE,MAAI,CAACA,MAAMqB,OACP;AAGJ,MAAIrB,MAAMe,WAAWC,iBACjB,OAAMhB,MAAMe,WAAWC,iBAAiBC,OAAO,CAC3CvB,kBAAkB;GACdwB,QAAQrB,YAAYsB;GACpBC,KAAKpB,MAAMqB,OAAOC;GACtB,CAAA,CACH,CAAA;AAGL,QAAMvB,aAAaT,uBAAuBsC,SAAS5B,MAAMqB,OAAM;;CAGnE,MAAMQ,YAAY7B,OAAoD;AAClE,MAAI,CAACA,MAAMqB,OACP;AAGJ,MAAIrB,MAAMe,WAAWC,iBACjB,OAAMhB,MAAMe,WAAWC,iBAAiBC,OAAO,CAC3CvB,kBAAkB;GACdwB,QAAQrB,YAAYsB;GACpBC,KAAKpB,MAAMqB,OAAOC;GACtB,CAAA,CACH,CAAA;AAGL,QAAMvB,aAAaT,uBAAuBwC,SAAS9B,MAAMqB,OAAM"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","CachePrefix","ClientPermissionEntity","publishEvent","event","data","destinations","channel","id","CLIENT_PERMISSION","client_realm_id","push","namespace","permission_realm_id","content","type","ClientPermissionSubscriber","listenTo","afterInsert","connection","queryResultCache","remove","prefix","CLIENT_OWNED_PERMISSIONS","key","entity","client_id","CREATED","Promise","resolve","undefined","afterUpdate","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/client-permission/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ClientPermission } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType,\n buildEntityChannelName,\n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport type { DomainEventDestination } from '@authup/server-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { CachePrefix } from '../constants.ts';\nimport { ClientPermissionEntity } from './entity.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: ClientPermission,\n) {\n const destinations : DomainEventDestination[] = [\n { channel: (id) => buildEntityChannelName(EntityType.CLIENT_PERMISSION, id) },\n ];\n if (data.client_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.CLIENT_PERMISSION, id),\n namespace: buildEntityNamespaceName(data.client_realm_id),\n });\n }\n if (data.permission_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.CLIENT_PERMISSION, id),\n namespace: buildEntityNamespaceName(data.permission_realm_id),\n });\n }\n\n await publishDomainEvent({\n content: {\n type: EntityType.CLIENT_PERMISSION,\n event,\n data,\n },\n destinations,\n });\n}\n\n@EventSubscriber()\nexport class ClientPermissionSubscriber implements EntitySubscriberInterface<ClientPermission> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return ClientPermissionEntity;\n }\n\n async afterInsert(event: InsertEvent<ClientPermission>): Promise<any> {\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_PERMISSIONS,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n\n return Promise.resolve(undefined);\n }\n\n async afterUpdate(event: UpdateEvent<ClientPermission>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_PERMISSIONS,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as ClientPermission);\n }\n\n async afterRemove(event: RemoveEvent<ClientPermission>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_PERMISSIONS,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAsBD,eAAeS,aACXC,OACAC,MAAsB;CAEtB,MAAMC,eAA0C,CAC5C,EAAEC,UAAUC,OAAOZ,uBAAuBD,WAAWc,mBAAmBD,EAAAA,EAAI,CAAA;CAEhF,IAAIH,KAAKK,iBACLJ,aAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,mBAAmBD,EAAAA;EACtEI,WAAWf,yBAAyBQ,KAAKK,eAAe;CAC5D,CAAA;CAEJ,IAAIL,KAAKQ,qBACLP,aAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,mBAAmBD,EAAAA;EACtEI,WAAWf,yBAAyBQ,KAAKQ,mBAAmB;CAChE,CAAA;CAGJ,MAAMb,mBAAmB;EACrBc,SAAS;GACLC,MAAMpB,WAAWc;GACjBL;GACAC;EACJ;EACAC;CACJ,CAAA;AACJ;AAGA,IAAaU,6BAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOf;CACX;CAEA,MAAMgB,YAAYd,OAAoD;EAClE,IAAIA,MAAMe,WAAWC,kBACjB,MAAMhB,MAAMe,WAAWC,iBAAiBC,OAAO,CAC3CvB,kBAAkB;GACdwB,QAAQrB,YAAYsB;GACpBC,KAAKpB,MAAMqB,OAAOC;EACtB,CAAA,CAAA,CACH;EAGL,MAAMvB,aAAaT,uBAAuBiC,SAASvB,MAAMqB,MAAM;EAE/D,OAAOG,QAAQC,QAAQC,KAAAA,CAAAA;CAC3B;CAEA,MAAMC,YAAY3B,OAAoD;EAClE,IAAI,CAACA,MAAMqB,QACP;EAGJ,IAAIrB,MAAMe,WAAWC,kBACjB,MAAMhB,MAAMe,WAAWC,iBAAiBC,OAAO,CAC3CvB,kBAAkB;GACdwB,QAAQrB,YAAYsB;GACpBC,KAAKpB,MAAMqB,OAAOC;EACtB,CAAA,CAAA,CACH;EAGL,MAAMvB,aAAaT,uBAAuBsC,SAAS5B,MAAMqB,MAAM;CACnE;CAEA,MAAMQ,YAAY7B,OAAoD;EAClE,IAAI,CAACA,MAAMqB,QACP;EAGJ,IAAIrB,MAAMe,WAAWC,kBACjB,MAAMhB,MAAMe,WAAWC,iBAAiBC,OAAO,CAC3CvB,kBAAkB;GACdwB,QAAQrB,YAAYsB;GACpBC,KAAKpB,MAAMqB,OAAOC;EACtB,CAAA,CAAA,CACH;EAGL,MAAMvB,aAAaT,uBAAuBwC,SAAS9B,MAAMqB,MAAM;CACnE;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","RoleEntity","ClientEntity","RealmEntity","ClientRoleEntity","id","role_id","role","role_realm_id","role_realm","client_id","client","client_realm_id","client_realm","created_at","updated_at","onDelete","name","nullable","unique"],"sources":["../../../../../src/adapters/database/domains/client-role/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n Client, \n ClientRole, \n Realm, \n Role,\n} from '@authup/core-kit';\nimport { RoleEntity } from '../role/index.ts';\nimport { ClientEntity } from '../client/entity.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_client_roles' })\n@Index(['role_id', 'client_id'], { unique: true })\nexport class ClientRoleEntity implements ClientRole {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n // ------------------------------------------------------------------\n\n @Column()\n role_id: string;\n\n @ManyToOne(() => RoleEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'role_id' })\n role: Role;\n\n @Column({ nullable: true })\n role_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'role_realm_id' })\n role_realm: Realm | null;\n\n @Column()\n client_id: string;\n\n @ManyToOne(() => ClientEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'client_id' })\n client: Client;\n\n @Column({ nullable: true })\n client_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'client_realm_id' })\n client_realm: Realm | null;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn()\n created_at: string;\n\n @UpdateDateColumn()\n updated_at: string;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA6BA,IAAaW,mBAAb,MAAaA;CAETC;CAKAC;CAIAC;CAGAC;CAOAC;CAGAC;CAIAC;CAGAC;CAOAC;CAKAC;CAGAC;;;;;iBArCiBd,YAAAA,EAAce,UAAU,WAAA,CAAA;cAC3BC,MAAM,WAAA,CAAA;;;uBAGVC,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,iBAAA,WAAA,iBAAA,KAAA,EAAA;;iBAGHf,aAAAA;EACba,UAAU;EACVE,UAAU;;cAEAD,MAAM,iBAAA,CAAA;;;;;iBAMHf,cAAAA,EAAgBc,UAAU,WAAA,CAAA;cAC7BC,MAAM,aAAA,CAAA;;;uBAGVC,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,iBAAA,WAAA,mBAAA,KAAA,EAAA;;iBAGHf,aAAAA;EACba,UAAU;EACVE,UAAU;;cAEAD,MAAM,mBAAA,CAAA;;;;;0CAvCdA,MAAM,qBAAA,CAAA,EAAA,MAAA,CACR,WAAW,YAAA,EAAA,EAAgBE,QAAQ,MAAA,CAAA,CAAA,EAAA,iBAAA"}
1
+ {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","RoleEntity","ClientEntity","RealmEntity","ClientRoleEntity","id","role_id","role","role_realm_id","role_realm","client_id","client","client_realm_id","client_realm","created_at","updated_at","onDelete","name","nullable","unique"],"sources":["../../../../../src/adapters/database/domains/client-role/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n Client, \n ClientRole, \n Realm, \n Role,\n} from '@authup/core-kit';\nimport { RoleEntity } from '../role/index.ts';\nimport { ClientEntity } from '../client/entity.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_client_roles' })\n@Index(['role_id', 'client_id'], { unique: true })\nexport class ClientRoleEntity implements ClientRole {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n // ------------------------------------------------------------------\n\n @Column()\n role_id: string;\n\n @ManyToOne(() => RoleEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'role_id' })\n role: Role;\n\n @Column({ nullable: true })\n role_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'role_realm_id' })\n role_realm: Realm | null;\n\n @Column()\n client_id: string;\n\n @ManyToOne(() => ClientEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'client_id' })\n client: Client;\n\n @Column({ nullable: true })\n client_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'client_realm_id' })\n client_realm: Realm | null;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn()\n created_at: string;\n\n @UpdateDateColumn()\n updated_at: string;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA6BA,IAAaW,mBAAb,MAAaA;CAETC;CAKAC;CAIAC;CAGAC;CAOAC;CAGAC;CAIAC;CAGAC;CAOAC;CAKAC;CAGAC;AACJ;;;;iBAtCqBd,YAAAA,EAAce,UAAU,UAAA,CAAA;cAC3BC,MAAM,UAAA,CAAA;;;uBAGVC,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,iBAAA,WAAA,iBAAA,KAAA,CAAA;;iBAGHf,aAAAA;EACba,UAAU;EACVE,UAAU;;cAEAD,MAAM,gBAAA,CAAA;;;;;iBAMHf,cAAAA,EAAgBc,UAAU,UAAA,CAAA;cAC7BC,MAAM,YAAA,CAAA;;;uBAGVC,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,iBAAA,WAAA,mBAAA,KAAA,CAAA;;iBAGHf,aAAAA;EACba,UAAU;EACVE,UAAU;;cAEAD,MAAM,kBAAA,CAAA;;;;;0CAvCdA,MAAM,oBAAA,CAAA,GAAA,MAAA,CACR,WAAW,WAAA,GAAA,EAAgBE,QAAQ,KAAA,CAAA,CAAA,GAAA,gBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","CachePrefix","ClientRoleEntity","publishEvent","event","data","destinations","channel","id","CLIENT_ROLE","client_realm_id","push","namespace","role_realm_id","content","type","ClientRoleSubscriber","listenTo","afterInsert","entity","connection","queryResultCache","remove","prefix","CLIENT_OWNED_ROLES","key","client_id","CREATED","afterUpdate","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/client-role/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ClientRole } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType,\n buildEntityChannelName,\n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport type { DomainEventDestination } from '@authup/server-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { CachePrefix } from '../constants.ts';\nimport { ClientRoleEntity } from './entity.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: ClientRole,\n) {\n const destinations : DomainEventDestination[] = [\n { channel: (id) => buildEntityChannelName(EntityType.CLIENT_ROLE, id) },\n ];\n if (data.client_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.CLIENT_ROLE, id),\n namespace: buildEntityNamespaceName(data.client_realm_id),\n });\n }\n if (data.role_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.CLIENT_ROLE, id),\n namespace: buildEntityNamespaceName(data.role_realm_id),\n });\n }\n\n await publishDomainEvent({\n content: {\n type: EntityType.CLIENT_ROLE,\n event,\n data,\n },\n destinations,\n });\n}\n\n@EventSubscriber()\nexport class ClientRoleSubscriber implements EntitySubscriberInterface<ClientRole> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return ClientRoleEntity;\n }\n\n async afterInsert(event: InsertEvent<ClientRole>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_ROLES,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<ClientRole>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_ROLES,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as ClientRole);\n }\n\n async afterRemove(event: RemoveEvent<ClientRole>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_ROLES,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAsBD,eAAeS,aACXC,OACAC,MAAgB;CAEhB,MAAMC,eAA0C,CAC5C,EAAEC,UAAUC,OAAOZ,uBAAuBD,WAAWc,aAAaD,GAAAA,EAAI,CACzE;AACD,KAAIH,KAAKK,gBACLJ,cAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,aAAaD,GAAAA;EAChEI,WAAWf,yBAAyBQ,KAAKK,gBAAe;EAC5D,CAAA;AAEJ,KAAIL,KAAKQ,cACLP,cAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,aAAaD,GAAAA;EAChEI,WAAWf,yBAAyBQ,KAAKQ,cAAa;EAC1D,CAAA;AAGJ,OAAMb,mBAAmB;EACrBc,SAAS;GACLC,MAAMpB,WAAWc;GACjBL;GACAC;GACJ;EACAC;EACJ,CAAA;;AAIJ,IAAaU,uBAAb,MAAaA;CAETC,WAA8B;AAC1B,SAAOf;;CAGX,MAAMgB,YAAYd,OAA8C;AAC5D,MAAI,CAACA,MAAMe,OACP;AAGJ,MAAIf,MAAMgB,WAAWC,iBACjB,OAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQtB,YAAYuB;GACpBC,KAAKrB,MAAMe,OAAOO;GACtB,CAAA,CACH,CAAA;AAGL,QAAMvB,aAAaT,uBAAuBiC,SAASvB,MAAMe,OAAM;;CAGnE,MAAMS,YAAYxB,OAA8C;AAC5D,MAAI,CAACA,MAAMe,OACP;AAGJ,MAAIf,MAAMgB,WAAWC,iBACjB,OAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQtB,YAAYuB;GACpBC,KAAKrB,MAAMe,OAAOO;GACtB,CAAA,CACH,CAAA;AAGL,QAAMvB,aAAaT,uBAAuBmC,SAASzB,MAAMe,OAAM;;CAGnE,MAAMW,YAAY1B,OAA8C;AAC5D,MAAI,CAACA,MAAMe,OACP;AAGJ,MAAIf,MAAMgB,WAAWC,iBACjB,OAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQtB,YAAYuB;GACpBC,KAAKrB,MAAMe,OAAOO;GACtB,CAAA,CACH,CAAA;AAGL,QAAMvB,aAAaT,uBAAuBqC,SAAS3B,MAAMe,OAAM"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","CachePrefix","ClientRoleEntity","publishEvent","event","data","destinations","channel","id","CLIENT_ROLE","client_realm_id","push","namespace","role_realm_id","content","type","ClientRoleSubscriber","listenTo","afterInsert","entity","connection","queryResultCache","remove","prefix","CLIENT_OWNED_ROLES","key","client_id","CREATED","afterUpdate","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/client-role/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ClientRole } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType,\n buildEntityChannelName,\n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport type { DomainEventDestination } from '@authup/server-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { CachePrefix } from '../constants.ts';\nimport { ClientRoleEntity } from './entity.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: ClientRole,\n) {\n const destinations : DomainEventDestination[] = [\n { channel: (id) => buildEntityChannelName(EntityType.CLIENT_ROLE, id) },\n ];\n if (data.client_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.CLIENT_ROLE, id),\n namespace: buildEntityNamespaceName(data.client_realm_id),\n });\n }\n if (data.role_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.CLIENT_ROLE, id),\n namespace: buildEntityNamespaceName(data.role_realm_id),\n });\n }\n\n await publishDomainEvent({\n content: {\n type: EntityType.CLIENT_ROLE,\n event,\n data,\n },\n destinations,\n });\n}\n\n@EventSubscriber()\nexport class ClientRoleSubscriber implements EntitySubscriberInterface<ClientRole> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return ClientRoleEntity;\n }\n\n async afterInsert(event: InsertEvent<ClientRole>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_ROLES,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<ClientRole>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_ROLES,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as ClientRole);\n }\n\n async afterRemove(event: RemoveEvent<ClientRole>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_OWNED_ROLES,\n key: event.entity.client_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAsBD,eAAeS,aACXC,OACAC,MAAgB;CAEhB,MAAMC,eAA0C,CAC5C,EAAEC,UAAUC,OAAOZ,uBAAuBD,WAAWc,aAAaD,EAAAA,EAAI,CAAA;CAE1E,IAAIH,KAAKK,iBACLJ,aAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,aAAaD,EAAAA;EAChEI,WAAWf,yBAAyBQ,KAAKK,eAAe;CAC5D,CAAA;CAEJ,IAAIL,KAAKQ,eACLP,aAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,aAAaD,EAAAA;EAChEI,WAAWf,yBAAyBQ,KAAKQ,aAAa;CAC1D,CAAA;CAGJ,MAAMb,mBAAmB;EACrBc,SAAS;GACLC,MAAMpB,WAAWc;GACjBL;GACAC;EACJ;EACAC;CACJ,CAAA;AACJ;AAGA,IAAaU,uBAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOf;CACX;CAEA,MAAMgB,YAAYd,OAA8C;EAC5D,IAAI,CAACA,MAAMe,QACP;EAGJ,IAAIf,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQtB,YAAYuB;GACpBC,KAAKrB,MAAMe,OAAOO;EACtB,CAAA,CAAA,CACH;EAGL,MAAMvB,aAAaT,uBAAuBiC,SAASvB,MAAMe,MAAM;CACnE;CAEA,MAAMS,YAAYxB,OAA8C;EAC5D,IAAI,CAACA,MAAMe,QACP;EAGJ,IAAIf,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQtB,YAAYuB;GACpBC,KAAKrB,MAAMe,OAAOO;EACtB,CAAA,CAAA,CACH;EAGL,MAAMvB,aAAaT,uBAAuBmC,SAASzB,MAAMe,MAAM;CACnE;CAEA,MAAMW,YAAY1B,OAA8C;EAC5D,IAAI,CAACA,MAAMe,QACP;EAGJ,IAAIf,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQtB,YAAYuB;GACpBC,KAAKrB,MAAMe,OAAOO;EACtB,CAAA,CAAA,CACH;EAGL,MAAMvB,aAAaT,uBAAuBqC,SAAS3B,MAAMe,MAAM;CACnE;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","ClientEntity","RealmEntity","ScopeEntity","ClientScopeEntity","id","default","created_at","updated_at","client_id","client","client_realm_id","client_realm","scope_id","scope","scope_realm_id","scope_realm","type","onDelete","name","nullable"],"sources":["../../../../../src/adapters/database/domains/client-scope/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n Client,\n ClientScope,\n Realm,\n Scope,\n} from '@authup/core-kit';\nimport { ClientEntity } from '../client/index.ts';\nimport { RealmEntity } from '../realm/index.ts';\nimport { ScopeEntity } from '../scope/index.ts';\n\n@Entity({ name: 'auth_client_scopes' })\n@Unique(['client_id', 'scope_id'])\nexport class ClientScopeEntity implements ClientScope {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'boolean',\n default: false, \n })\n default: boolean;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n\n // ------------------------------------------------------------------\n\n @Column()\n client_id: Client['id'];\n\n @ManyToOne(() => ClientEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'client_id' })\n client: Client;\n\n @Column({ nullable: true })\n client_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'client_realm_id' })\n client_realm: RealmEntity | null;\n\n // ------------------------------------------------------------------\n\n @Column()\n scope_id: Scope['id'];\n\n @ManyToOne(() => ScopeEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'scope_id' })\n scope: Scope;\n\n @Column({ nullable: true })\n scope_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'scope_realm_id' })\n scope_realm: RealmEntity | null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA6BA,IAAaW,oBAAb,MAAaA;CAETC;CAMAC;CAKAC;CAGAC;CAKAC;CAIAC;CAGAC;CAOAC;CAKAC;CAIAC;CAGAC;CAOAC;;;;CAjDIC,MAAM;CACNX,SAAS;;;;;;iBAiBIL,cAAAA,EAAgBiB,UAAU,WAAA,CAAA;cAC7BC,MAAM,aAAA,CAAA;;;uBAGVC,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,kBAAA,WAAA,mBAAA,KAAA,EAAA;;iBAGHlB,aAAAA;EACbgB,UAAU;EACVE,UAAU;;cAEAD,MAAM,mBAAA,CAAA;;;;;iBAQHhB,aAAAA,EAAee,UAAU,WAAA,CAAA;cAC5BC,MAAM,YAAA,CAAA;;;uBAGVC,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,kBAAA,WAAA,kBAAA,KAAA,EAAA;;iBAGHlB,aAAAA;EACbgB,UAAU;EACVE,UAAU;;cAEAD,MAAM,kBAAA,CAAA;;;2CAvDdA,MAAM,sBAAA,CAAA,EAAA,OAAA,CACP,aAAa,WAAA,CAAA,CAAA,EAAA,kBAAA"}
1
+ {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","ClientEntity","RealmEntity","ScopeEntity","ClientScopeEntity","id","default","created_at","updated_at","client_id","client","client_realm_id","client_realm","scope_id","scope","scope_realm_id","scope_realm","type","onDelete","name","nullable"],"sources":["../../../../../src/adapters/database/domains/client-scope/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n Client,\n ClientScope,\n Realm,\n Scope,\n} from '@authup/core-kit';\nimport { ClientEntity } from '../client/index.ts';\nimport { RealmEntity } from '../realm/index.ts';\nimport { ScopeEntity } from '../scope/index.ts';\n\n@Entity({ name: 'auth_client_scopes' })\n@Unique(['client_id', 'scope_id'])\nexport class ClientScopeEntity implements ClientScope {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'boolean',\n default: false, \n })\n default: boolean;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n\n // ------------------------------------------------------------------\n\n @Column()\n client_id: Client['id'];\n\n @ManyToOne(() => ClientEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'client_id' })\n client: Client;\n\n @Column({ nullable: true })\n client_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'client_realm_id' })\n client_realm: RealmEntity | null;\n\n // ------------------------------------------------------------------\n\n @Column()\n scope_id: Scope['id'];\n\n @ManyToOne(() => ScopeEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'scope_id' })\n scope: Scope;\n\n @Column({ nullable: true })\n scope_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'scope_realm_id' })\n scope_realm: RealmEntity | null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA6BA,IAAaW,oBAAb,MAAaA;CAETC;CAMAC;CAKAC;CAGAC;CAKAC;CAIAC;CAGAC;CAOAC;CAKAC;CAIAC;CAGAC;CAOAC;AACJ;;;CAlDQC,MAAM;CACNX,SAAS;;;;;;iBAiBIL,cAAAA,EAAgBiB,UAAU,UAAA,CAAA;cAC7BC,MAAM,YAAA,CAAA;;;uBAGVC,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,kBAAA,WAAA,mBAAA,KAAA,CAAA;;iBAGHlB,aAAAA;EACbgB,UAAU;EACVE,UAAU;;cAEAD,MAAM,kBAAA,CAAA;;;;;iBAQHhB,aAAAA,EAAee,UAAU,UAAA,CAAA;cAC5BC,MAAM,WAAA,CAAA;;;uBAGVC,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,kBAAA,WAAA,kBAAA,KAAA,CAAA;;iBAGHlB,aAAAA;EACbgB,UAAU;EACVE,UAAU;;cAEAD,MAAM,iBAAA,CAAA;;;2CAvDdA,MAAM,qBAAA,CAAA,GAAA,OAAA,CACP,aAAa,UAAA,CAAA,CAAA,GAAA,iBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","ClientScopeEntity","CachePrefix","publishEvent","event","data","content","type","CLIENT_SCOPE","destinations","channel","id","ClientScopeSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/client-scope/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ClientScope } from '@authup/core-kit';\nimport { EntityDefaultEventName, EntityType, buildEntityChannelName } from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { ClientScopeEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: ClientScope,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.CLIENT_SCOPE,\n event,\n data,\n },\n destinations: [\n { channel: (id) => buildEntityChannelName(EntityType.CLIENT_SCOPE, id) },\n\n // todo: realm attribute\n ],\n });\n}\n\n@EventSubscriber()\nexport class ClientScopeSubscriber implements EntitySubscriberInterface<ClientScope> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return ClientScopeEntity;\n }\n\n async afterInsert(event: InsertEvent<ClientScope>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<ClientScope>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_SCOPE,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as ClientScope);\n }\n\n async afterRemove(event: RemoveEvent<ClientScope>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_SCOPE,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAgBD,eAAeQ,aACXC,OACAC,MAAiB;AAEjB,OAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMX,WAAWY;GACjBJ;GACAC;GACJ;EACAI,cAAc,CACV,EAAEC,UAAUC,OAAOd,uBAAuBD,WAAWY,cAAcG,GAAAA,EAAI,CAG1E;EACL,CAAA;;AAIJ,IAAaC,wBAAb,MAAaA;CAETC,WAA8B;AAC1B,SAAOZ;;CAGX,MAAMa,YAAYV,OAA+C;AAC7D,MAAI,CAACA,MAAMW,OACP;AAGJ,QAAMZ,aAAaR,uBAAuBqB,SAASZ,MAAMW,OAAM;;CAGnE,MAAME,YAAYb,OAA+C;AAC7D,MAAI,CAACA,MAAMW,OACP;AAGJ,MAAIX,MAAMc,WAAWC,iBACjB,OAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;GACtB,CAAA,CACH,CAAA;AAGL,QAAMR,aAAaR,uBAAuB4B,SAASnB,MAAMW,OAAM;;CAGnE,MAAMS,YAAYpB,OAA+C;AAC7D,MAAI,CAACA,MAAMW,OACP;AAGJ,MAAIX,MAAMc,WAAWC,iBACjB,OAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;GACtB,CAAA,CACH,CAAA;AAGL,QAAMR,aAAaR,uBAAuB8B,SAASrB,MAAMW,OAAM"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","ClientScopeEntity","CachePrefix","publishEvent","event","data","content","type","CLIENT_SCOPE","destinations","channel","id","ClientScopeSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/client-scope/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ClientScope } from '@authup/core-kit';\nimport { EntityDefaultEventName, EntityType, buildEntityChannelName } from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { ClientScopeEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: ClientScope,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.CLIENT_SCOPE,\n event,\n data,\n },\n destinations: [\n { channel: (id) => buildEntityChannelName(EntityType.CLIENT_SCOPE, id) },\n\n // todo: realm attribute\n ],\n });\n}\n\n@EventSubscriber()\nexport class ClientScopeSubscriber implements EntitySubscriberInterface<ClientScope> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return ClientScopeEntity;\n }\n\n async afterInsert(event: InsertEvent<ClientScope>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<ClientScope>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_SCOPE,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as ClientScope);\n }\n\n async afterRemove(event: RemoveEvent<ClientScope>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.CLIENT_SCOPE,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAgBD,eAAeQ,aACXC,OACAC,MAAiB;CAEjB,MAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMX,WAAWY;GACjBJ;GACAC;EACJ;EACAI,cAAc,CACV,EAAEC,UAAUC,OAAOd,uBAAuBD,WAAWY,cAAcG,EAAAA,EAAI,CAAA;CAI/E,CAAA;AACJ;AAGA,IAAaC,wBAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOZ;CACX;CAEA,MAAMa,YAAYV,OAA+C;EAC7D,IAAI,CAACA,MAAMW,QACP;EAGJ,MAAMZ,aAAaR,uBAAuBqB,SAASZ,MAAMW,MAAM;CACnE;CAEA,MAAME,YAAYb,OAA+C;EAC7D,IAAI,CAACA,MAAMW,QACP;EAGJ,IAAIX,MAAMc,WAAWC,kBACjB,MAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaR,uBAAuB4B,SAASnB,MAAMW,MAAM;CACnE;CAEA,MAAMS,YAAYpB,OAA+C;EAC7D,IAAI,CAACA,MAAMW,QACP;EAGJ,IAAIX,MAAMc,WAAWC,kBACjB,MAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaR,uBAAuB8B,SAASrB,MAAMW,MAAM;CACnE;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","RealmEntity","IdentityProviderEntity","id","name","display_name","protocol","preset","enabled","created_at","updated_at","realm_id","realm","type","length","nullable","default","onDelete"],"sources":["../../../../../src/adapters/database/domains/identity-provider/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity, \n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n IdentityProvider,\n IdentityProviderPreset,\n IdentityProviderProtocol,\n Realm,\n} from '@authup/core-kit';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Unique(['name', 'realm_id'])\n@Entity({ name: 'auth_identity_providers' })\nexport class IdentityProviderEntity implements IdentityProvider {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'varchar',\n length: 128, \n })\n name: string;\n\n @Column({\n type: 'varchar',\n length: 256,\n nullable: true, \n })\n display_name: string | null;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n protocol: `${IdentityProviderProtocol}` | null;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n preset: `${IdentityProviderPreset}` | null;\n\n @Column({\n type: 'boolean',\n default: true, \n })\n enabled: boolean;\n\n @CreateDateColumn()\n created_at: string;\n\n @UpdateDateColumn()\n updated_at: string;\n\n @Index()\n @Column()\n realm_id: string;\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'realm_id' })\n realm: Realm;\n}\n"],"mappings":";;;;;;;;;;;;;AA4BA,IAAaU,yBAAb,MAAaA;CAETC;CAMAC;CAOAC;CAOAC;CAOAC;CAMAC;CAGAC;CAGAC;CAIAC;CAIAC;;;;CA5CIC,MAAM;CACNC,QAAQ;;;CAKRD,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNG,SAAS;;;;;;;;;;iBAcIf,aAAAA,EAAegB,UAAU,WAAA,CAAA;cAC5Bb,MAAM,YAAA,CAAA;;;+CAlDf,QAAQ,WAAA,CAAA,EAAA,OAAA,EACPA,MAAM,2BAAA,CAAA,CAAA,EAAA,uBAAA"}
1
+ {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","RealmEntity","IdentityProviderEntity","id","name","display_name","protocol","preset","enabled","created_at","updated_at","realm_id","realm","type","length","nullable","default","onDelete"],"sources":["../../../../../src/adapters/database/domains/identity-provider/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity, \n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n IdentityProvider,\n IdentityProviderPreset,\n IdentityProviderProtocol,\n Realm,\n} from '@authup/core-kit';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Unique(['name', 'realm_id'])\n@Entity({ name: 'auth_identity_providers' })\nexport class IdentityProviderEntity implements IdentityProvider {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'varchar',\n length: 128, \n })\n name: string;\n\n @Column({\n type: 'varchar',\n length: 256,\n nullable: true, \n })\n display_name: string | null;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n protocol: `${IdentityProviderProtocol}` | null;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n preset: `${IdentityProviderPreset}` | null;\n\n @Column({\n type: 'boolean',\n default: true, \n })\n enabled: boolean;\n\n @CreateDateColumn()\n created_at: string;\n\n @UpdateDateColumn()\n updated_at: string;\n\n @Index()\n @Column()\n realm_id: string;\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'realm_id' })\n realm: Realm;\n}\n"],"mappings":";;;;;;;;;;;;;AA4BA,IAAaU,yBAAb,MAAaA;CAETC;CAMAC;CAOAC;CAOAC;CAOAC;CAMAC;CAGAC;CAGAC;CAIAC;CAIAC;AACJ;;;CA7CQC,MAAM;CACNC,QAAQ;;;CAKRD,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNG,SAAS;;;;;;;;;;iBAcIf,aAAAA,EAAegB,UAAU,UAAA,CAAA;cAC5Bb,MAAM,WAAA,CAAA;;;+CAlDf,QAAQ,UAAA,CAAA,GAAA,OAAA,EACPA,MAAM,0BAAA,CAAA,CAAA,GAAA,sBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"repository.mjs","names":["InstanceChecker","CachePrefix","EARepository","IdentityProviderEntity","IdentityProviderAttributeEntity","IdentityProviderRepository","instance","isDataSource","manager","attributeProperties","entity","parent","provider_id","id","realm_id","entityPrimaryColumn","attributeEntity","attributeForeignColumn","cachePrefix","IDENTITY_PROVIDER_ATTRIBUTE"],"sources":["../../../../../src/adapters/database/domains/identity-provider/repository.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { IdentityProvider, IdentityProviderAttribute } from '@authup/core-kit';\nimport type { DataSource, EntityManager } from 'typeorm';\nimport { InstanceChecker } from 'typeorm';\nimport { CachePrefix } from '../constants.ts';\nimport { EARepository } from '../../extra-attribute-repository/index.ts';\nimport { IdentityProviderEntity } from './entity.ts';\nimport { IdentityProviderAttributeEntity } from '../identity-provider-attribute/index.ts';\n\nexport class IdentityProviderRepository extends EARepository<\n IdentityProvider,\n IdentityProviderAttribute\n> {\n constructor(instance: DataSource | EntityManager) {\n super(\n InstanceChecker.isDataSource(instance) ? instance.manager : instance,\n {\n attributeProperties: (entity, parent) => {\n entity.provider_id = parent.id;\n entity.realm_id = parent.realm_id;\n\n return entity;\n },\n entity: IdentityProviderEntity,\n entityPrimaryColumn: 'id',\n attributeEntity: IdentityProviderAttributeEntity,\n attributeForeignColumn: 'provider_id',\n cachePrefix: CachePrefix.IDENTITY_PROVIDER_ATTRIBUTE,\n },\n );\n }\n}\n"],"mappings":";;;;;;;;AAeA,IAAaK,6BAAb,cAAgDH,aAAAA;CAI5C,YAAYI,UAAsC;AAC9C,QACIN,gBAAgBO,aAAaD,SAAAA,GAAYA,SAASE,UAAUF,UAC5D;GACIG,sBAAsBC,QAAQC,WAAAA;AAC1BD,WAAOE,cAAcD,OAAOE;AAC5BH,WAAOI,WAAWH,OAAOG;AAEzB,WAAOJ;;GAEXA,QAAQP;GACRY,qBAAqB;GACrBC,iBAAiBZ;GACjBa,wBAAwB;GACxBC,aAAajB,YAAYkB;GAC7B,CAAA"}
1
+ {"version":3,"file":"repository.mjs","names":["InstanceChecker","CachePrefix","EARepository","IdentityProviderEntity","IdentityProviderAttributeEntity","IdentityProviderRepository","instance","isDataSource","manager","attributeProperties","entity","parent","provider_id","id","realm_id","entityPrimaryColumn","attributeEntity","attributeForeignColumn","cachePrefix","IDENTITY_PROVIDER_ATTRIBUTE"],"sources":["../../../../../src/adapters/database/domains/identity-provider/repository.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { IdentityProvider, IdentityProviderAttribute } from '@authup/core-kit';\nimport type { DataSource, EntityManager } from 'typeorm';\nimport { InstanceChecker } from 'typeorm';\nimport { CachePrefix } from '../constants.ts';\nimport { EARepository } from '../../extra-attribute-repository/index.ts';\nimport { IdentityProviderEntity } from './entity.ts';\nimport { IdentityProviderAttributeEntity } from '../identity-provider-attribute/index.ts';\n\nexport class IdentityProviderRepository extends EARepository<\n IdentityProvider,\n IdentityProviderAttribute\n> {\n constructor(instance: DataSource | EntityManager) {\n super(\n InstanceChecker.isDataSource(instance) ? instance.manager : instance,\n {\n attributeProperties: (entity, parent) => {\n entity.provider_id = parent.id;\n entity.realm_id = parent.realm_id;\n\n return entity;\n },\n entity: IdentityProviderEntity,\n entityPrimaryColumn: 'id',\n attributeEntity: IdentityProviderAttributeEntity,\n attributeForeignColumn: 'provider_id',\n cachePrefix: CachePrefix.IDENTITY_PROVIDER_ATTRIBUTE,\n },\n );\n }\n}\n"],"mappings":";;;;;;;;AAeA,IAAaK,6BAAb,cAAgDH,aAAAA;CAI5C,YAAYI,UAAsC;EAC9C,MACIN,gBAAgBO,aAAaD,QAAAA,IAAYA,SAASE,UAAUF,UAC5D;GACIG,sBAAsBC,QAAQC,WAAAA;IAC1BD,OAAOE,cAAcD,OAAOE;IAC5BH,OAAOI,WAAWH,OAAOG;IAEzB,OAAOJ;GACX;GACAA,QAAQP;GACRY,qBAAqB;GACrBC,iBAAiBZ;GACjBa,wBAAwB;GACxBC,aAAajB,YAAYkB;EAC7B,CAAA;CAER;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","IdentityProviderEntity","CachePrefix","publishEvent","event","data","content","type","IDENTITY_PROVIDER","destinations","channel","id","namespace","realm_id","IdentityProviderSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/identity-provider/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { IdentityProvider } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType, \n buildEntityChannelName, \n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { IdentityProviderEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: IdentityProvider,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.IDENTITY_PROVIDER,\n event,\n data,\n },\n destinations: [\n {\n channel: (id) => buildEntityChannelName(EntityType.IDENTITY_PROVIDER, id),\n namespace: buildEntityNamespaceName(data.realm_id),\n },\n { channel: (id) => buildEntityChannelName(EntityType.IDENTITY_PROVIDER, id) },\n ],\n });\n}\n\n@EventSubscriber()\nexport class IdentityProviderSubscriber implements EntitySubscriberInterface<IdentityProvider> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return IdentityProviderEntity;\n }\n\n async afterInsert(event: InsertEvent<IdentityProvider>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<IdentityProvider>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as IdentityProvider);\n }\n\n async afterRemove(event: RemoveEvent<IdentityProvider>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAqBD,eAAeS,aACXC,OACAC,MAAsB;AAEtB,OAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMZ,WAAWa;GACjBJ;GACAC;GACJ;EACAI,cAAc,CACV;GACIC,UAAUC,OAAOf,uBAAuBD,WAAWa,mBAAmBG,GAAAA;GACtEC,WAAWf,yBAAyBQ,KAAKQ,SAAQ;GACrD,EACA,EAAEH,UAAUC,OAAOf,uBAAuBD,WAAWa,mBAAmBG,GAAAA,EAAI,CAC/E;EACL,CAAA;;AAIJ,IAAaG,6BAAb,MAAaA;CAETC,WAA8B;AAC1B,SAAOd;;CAGX,MAAMe,YAAYZ,OAAoD;AAClE,MAAI,CAACA,MAAMa,OACP;AAGJ,QAAMd,aAAaT,uBAAuBwB,SAASd,MAAMa,OAAM;;CAGnE,MAAME,YAAYf,OAAoD;AAClE,MAAI,CAACA,MAAMa,OACP;AAGJ,MAAIb,MAAMgB,WAAWC,iBACjB,OAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYM;GACpBgB,KAAKpB,MAAMa,OAAON;GACtB,CAAA,CACH,CAAA;AAGL,QAAMR,aAAaT,uBAAuB+B,SAASrB,MAAMa,OAAM;;CAGnE,MAAMS,YAAYtB,OAAoD;AAClE,MAAI,CAACA,MAAMa,OACP;AAGJ,MAAIb,MAAMgB,WAAWC,iBACjB,OAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYM;GACpBgB,KAAKpB,MAAMa,OAAON;GACtB,CAAA,CACH,CAAA;AAGL,QAAMR,aAAaT,uBAAuBiC,SAASvB,MAAMa,OAAM"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","IdentityProviderEntity","CachePrefix","publishEvent","event","data","content","type","IDENTITY_PROVIDER","destinations","channel","id","namespace","realm_id","IdentityProviderSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/identity-provider/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { IdentityProvider } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType, \n buildEntityChannelName, \n buildEntityNamespaceName,\n} from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { IdentityProviderEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: IdentityProvider,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.IDENTITY_PROVIDER,\n event,\n data,\n },\n destinations: [\n {\n channel: (id) => buildEntityChannelName(EntityType.IDENTITY_PROVIDER, id),\n namespace: buildEntityNamespaceName(data.realm_id),\n },\n { channel: (id) => buildEntityChannelName(EntityType.IDENTITY_PROVIDER, id) },\n ],\n });\n}\n\n@EventSubscriber()\nexport class IdentityProviderSubscriber implements EntitySubscriberInterface<IdentityProvider> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return IdentityProviderEntity;\n }\n\n async afterInsert(event: InsertEvent<IdentityProvider>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<IdentityProvider>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as IdentityProvider);\n }\n\n async afterRemove(event: RemoveEvent<IdentityProvider>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAqBD,eAAeS,aACXC,OACAC,MAAsB;CAEtB,MAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMZ,WAAWa;GACjBJ;GACAC;EACJ;EACAI,cAAc,CACV;GACIC,UAAUC,OAAOf,uBAAuBD,WAAWa,mBAAmBG,EAAAA;GACtEC,WAAWf,yBAAyBQ,KAAKQ,QAAQ;EACrD,GACA,EAAEH,UAAUC,OAAOf,uBAAuBD,WAAWa,mBAAmBG,EAAAA,EAAI,CAAA;CAEpF,CAAA;AACJ;AAGA,IAAaG,6BAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOd;CACX;CAEA,MAAMe,YAAYZ,OAAoD;EAClE,IAAI,CAACA,MAAMa,QACP;EAGJ,MAAMd,aAAaT,uBAAuBwB,SAASd,MAAMa,MAAM;CACnE;CAEA,MAAME,YAAYf,OAAoD;EAClE,IAAI,CAACA,MAAMa,QACP;EAGJ,IAAIb,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYM;GACpBgB,KAAKpB,MAAMa,OAAON;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaT,uBAAuB+B,SAASrB,MAAMa,MAAM;CACnE;CAEA,MAAMS,YAAYtB,OAAoD;EAClE,IAAI,CAACA,MAAMa,QACP;EAGJ,IAAIb,MAAMgB,WAAWC,kBACjB,MAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYM;GACpBgB,KAAKpB,MAAMa,OAAON;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaT,uBAAuBiC,SAASvB,MAAMa,MAAM;CACnE;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","RealmEntity","UserEntity","IdentityProviderEntity","IdentityProviderAccountEntity","id","access_token","refresh_token","provider_user_id","provider_user_name","provider_user_email","expires_in","expires_at","created_at","updated_at","user_id","user","user_realm_id","user_realm","provider_id","provider","provider_realm_id","provider_realm","type","nullable","default","length","unsigned","onDelete","name","unique"],"sources":["../../../../../src/adapters/database/domains/identity-provider-account/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n \n IdentityProvider, \n IdentityProviderAccount, \n Realm, \n User, \n} from '@authup/core-kit';\nimport { RealmEntity } from '../realm/index.ts';\nimport { UserEntity } from '../user/index.ts';\nimport { IdentityProviderEntity } from '../identity-provider/index.ts';\n\n@Entity({ name: 'auth_identity_provider_accounts' })\n@Index(['provider_id', 'user_id'], { unique: true })\nexport class IdentityProviderAccountEntity implements IdentityProviderAccount {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'text',\n nullable: true,\n default: null, \n })\n access_token: string;\n\n @Column({\n type: 'text',\n nullable: true,\n default: null, \n })\n refresh_token: string;\n\n @Column({\n type: 'varchar',\n length: 256, \n })\n provider_user_id: string;\n\n @Column({\n type: 'varchar',\n length: 256,\n nullable: true,\n default: null,\n })\n provider_user_name: string;\n\n @Column({\n type: 'varchar',\n length: 512,\n nullable: true,\n default: null,\n })\n provider_user_email: string;\n\n @Column({\n type: 'int',\n unsigned: true,\n nullable: true,\n default: null,\n })\n expires_in: number | null;\n\n @Column({\n type: 'varchar',\n length: 28,\n nullable: true,\n default: null,\n })\n expires_at: string | null;\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n\n // -----------------------------------------------\n\n @Column()\n user_id: User['id'];\n\n @ManyToOne(() => UserEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'user_id' })\n user: UserEntity;\n\n @Column({ nullable: true })\n user_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'user_realm_id' })\n user_realm: RealmEntity | null;\n\n // -----------------------------------------------\n\n @Column()\n provider_id: IdentityProvider['id'];\n\n @ManyToOne(() => IdentityProviderEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_id' })\n provider: IdentityProviderEntity;\n\n @Column({ nullable: true })\n provider_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'provider_realm_id' })\n provider_realm: RealmEntity | null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA8BA,IAAaW,gCAAb,MAAaA;CAETC;CAOAC;CAOAC;CAMAC;CAQAC;CAQAC;CAQAC;CAQAC;CAGAC;CAGAC;CAKAC;CAIAC;CAGAC;CAOAC;CAKAC;CAIAC;CAGAC;CAOAC;;;;CA7FIC,MAAM;CACNC,UAAU;CACVC,SAAS;;;CAKTF,MAAM;CACNC,UAAU;CACVC,SAAS;;;CAKTF,MAAM;CACNG,QAAQ;;;CAKRH,MAAM;CACNG,QAAQ;CACRF,UAAU;CACVC,SAAS;;;CAKTF,MAAM;CACNG,QAAQ;CACRF,UAAU;CACVC,SAAS;;;CAKTF,MAAM;CACNI,UAAU;CACVH,UAAU;CACVC,SAAS;;;CAKTF,MAAM;CACNG,QAAQ;CACRF,UAAU;CACVC,SAAS;;;;;;iBAeIvB,YAAAA,EAAc0B,UAAU,WAAA,CAAA;cAC3BC,MAAM,WAAA,CAAA;;;uBAGVL,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,8BAAA,WAAA,iBAAA,KAAA,EAAA;;iBAGHvB,aAAAA;EACb2B,UAAU;EACVJ,UAAU;;cAEAK,MAAM,iBAAA,CAAA;;;;;iBAQH1B,wBAAAA,EAA0ByB,UAAU,WAAA,CAAA;cACvCC,MAAM,eAAA,CAAA;;;uBAGVL,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,8BAAA,WAAA,qBAAA,KAAA,EAAA;;iBAGHvB,aAAAA;EACb2B,UAAU;EACVJ,UAAU;;cAEAK,MAAM,qBAAA,CAAA;;;uDAnGdA,MAAM,mCAAA,CAAA,EAAA,MAAA,CACR,eAAe,UAAA,EAAA,EAAcC,QAAQ,MAAA,CAAA,CAAA,EAAA,8BAAA"}
1
+ {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","RealmEntity","UserEntity","IdentityProviderEntity","IdentityProviderAccountEntity","id","access_token","refresh_token","provider_user_id","provider_user_name","provider_user_email","expires_in","expires_at","created_at","updated_at","user_id","user","user_realm_id","user_realm","provider_id","provider","provider_realm_id","provider_realm","type","nullable","default","length","unsigned","onDelete","name","unique"],"sources":["../../../../../src/adapters/database/domains/identity-provider-account/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n \n IdentityProvider, \n IdentityProviderAccount, \n Realm, \n User, \n} from '@authup/core-kit';\nimport { RealmEntity } from '../realm/index.ts';\nimport { UserEntity } from '../user/index.ts';\nimport { IdentityProviderEntity } from '../identity-provider/index.ts';\n\n@Entity({ name: 'auth_identity_provider_accounts' })\n@Index(['provider_id', 'user_id'], { unique: true })\nexport class IdentityProviderAccountEntity implements IdentityProviderAccount {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'text',\n nullable: true,\n default: null, \n })\n access_token: string;\n\n @Column({\n type: 'text',\n nullable: true,\n default: null, \n })\n refresh_token: string;\n\n @Column({\n type: 'varchar',\n length: 256, \n })\n provider_user_id: string;\n\n @Column({\n type: 'varchar',\n length: 256,\n nullable: true,\n default: null,\n })\n provider_user_name: string;\n\n @Column({\n type: 'varchar',\n length: 512,\n nullable: true,\n default: null,\n })\n provider_user_email: string;\n\n @Column({\n type: 'int',\n unsigned: true,\n nullable: true,\n default: null,\n })\n expires_in: number | null;\n\n @Column({\n type: 'varchar',\n length: 28,\n nullable: true,\n default: null,\n })\n expires_at: string | null;\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n\n // -----------------------------------------------\n\n @Column()\n user_id: User['id'];\n\n @ManyToOne(() => UserEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'user_id' })\n user: UserEntity;\n\n @Column({ nullable: true })\n user_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'user_realm_id' })\n user_realm: RealmEntity | null;\n\n // -----------------------------------------------\n\n @Column()\n provider_id: IdentityProvider['id'];\n\n @ManyToOne(() => IdentityProviderEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_id' })\n provider: IdentityProviderEntity;\n\n @Column({ nullable: true })\n provider_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'provider_realm_id' })\n provider_realm: RealmEntity | null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA8BA,IAAaW,gCAAb,MAAaA;CAETC;CAOAC;CAOAC;CAMAC;CAQAC;CAQAC;CAQAC;CAQAC;CAGAC;CAGAC;CAKAC;CAIAC;CAGAC;CAOAC;CAKAC;CAIAC;CAGAC;CAOAC;AACJ;;;CA9FQC,MAAM;CACNC,UAAU;CACVC,SAAS;;;CAKTF,MAAM;CACNC,UAAU;CACVC,SAAS;;;CAKTF,MAAM;CACNG,QAAQ;;;CAKRH,MAAM;CACNG,QAAQ;CACRF,UAAU;CACVC,SAAS;;;CAKTF,MAAM;CACNG,QAAQ;CACRF,UAAU;CACVC,SAAS;;;CAKTF,MAAM;CACNI,UAAU;CACVH,UAAU;CACVC,SAAS;;;CAKTF,MAAM;CACNG,QAAQ;CACRF,UAAU;CACVC,SAAS;;;;;;iBAeIvB,YAAAA,EAAc0B,UAAU,UAAA,CAAA;cAC3BC,MAAM,UAAA,CAAA;;;uBAGVL,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,8BAAA,WAAA,iBAAA,KAAA,CAAA;;iBAGHvB,aAAAA;EACb2B,UAAU;EACVJ,UAAU;;cAEAK,MAAM,gBAAA,CAAA;;;;;iBAQH1B,wBAAAA,EAA0ByB,UAAU,UAAA,CAAA;cACvCC,MAAM,cAAA,CAAA;;;uBAGVL,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,8BAAA,WAAA,qBAAA,KAAA,CAAA;;iBAGHvB,aAAAA;EACb2B,UAAU;EACVJ,UAAU;;cAEAK,MAAM,oBAAA,CAAA;;;uDAnGdA,MAAM,kCAAA,CAAA,GAAA,MAAA,CACR,eAAe,SAAA,GAAA,EAAcC,QAAQ,KAAA,CAAA,CAAA,GAAA,6BAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","IdentityProviderAccountEntity","CachePrefix","publishEvent","event","data","content","type","IDENTITY_PROVIDER_ACCOUNT","destinations","channel","id","IdentityProviderAccountSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/identity-provider-account/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { IdentityProviderAccount } from '@authup/core-kit';\nimport { EntityDefaultEventName, EntityType, buildEntityChannelName } from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { IdentityProviderAccountEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: IdentityProviderAccount,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.IDENTITY_PROVIDER_ACCOUNT,\n event,\n data,\n },\n destinations: [\n { channel: (id) => buildEntityChannelName(EntityType.IDENTITY_PROVIDER_ACCOUNT, id) },\n ],\n });\n}\n\n@EventSubscriber()\nexport class IdentityProviderAccountSubscriber implements EntitySubscriberInterface<IdentityProviderAccount> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return IdentityProviderAccountEntity;\n }\n\n async afterInsert(event: InsertEvent<IdentityProviderAccount>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<IdentityProviderAccount>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER_ACCOUNT,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as IdentityProviderAccount);\n }\n\n async afterRemove(event: RemoveEvent<IdentityProviderAccount>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER_ACCOUNT,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAgBD,eAAeQ,aACXC,OACAC,MAA6B;AAE7B,OAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMX,WAAWY;GACjBJ;GACAC;GACJ;EACAI,cAAc,CACV,EAAEC,UAAUC,OAAOd,uBAAuBD,WAAWY,2BAA2BG,GAAAA,EAAI,CACvF;EACL,CAAA;;AAIJ,IAAaC,oCAAb,MAAaA;CAETC,WAA8B;AAC1B,SAAOZ;;CAGX,MAAMa,YAAYV,OAA2D;AACzE,MAAI,CAACA,MAAMW,OACP;AAGJ,QAAMZ,aAAaR,uBAAuBqB,SAASZ,MAAMW,OAAM;;CAGnE,MAAME,YAAYb,OAA2D;AACzE,MAAI,CAACA,MAAMW,OACP;AAGJ,MAAIX,MAAMc,WAAWC,iBACjB,OAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;GACtB,CAAA,CACH,CAAA;AAGL,QAAMR,aAAaR,uBAAuB4B,SAASnB,MAAMW,OAAM;;CAGnE,MAAMS,YAAYpB,OAA2D;AACzE,MAAI,CAACA,MAAMW,OACP;AAGJ,MAAIX,MAAMc,WAAWC,iBACjB,OAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;GACtB,CAAA,CACH,CAAA;AAGL,QAAMR,aAAaR,uBAAuB8B,SAASrB,MAAMW,OAAM"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","IdentityProviderAccountEntity","CachePrefix","publishEvent","event","data","content","type","IDENTITY_PROVIDER_ACCOUNT","destinations","channel","id","IdentityProviderAccountSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/identity-provider-account/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { IdentityProviderAccount } from '@authup/core-kit';\nimport { EntityDefaultEventName, EntityType, buildEntityChannelName } from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { IdentityProviderAccountEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: IdentityProviderAccount,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.IDENTITY_PROVIDER_ACCOUNT,\n event,\n data,\n },\n destinations: [\n { channel: (id) => buildEntityChannelName(EntityType.IDENTITY_PROVIDER_ACCOUNT, id) },\n ],\n });\n}\n\n@EventSubscriber()\nexport class IdentityProviderAccountSubscriber implements EntitySubscriberInterface<IdentityProviderAccount> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return IdentityProviderAccountEntity;\n }\n\n async afterInsert(event: InsertEvent<IdentityProviderAccount>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<IdentityProviderAccount>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER_ACCOUNT,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as IdentityProviderAccount);\n }\n\n async afterRemove(event: RemoveEvent<IdentityProviderAccount>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER_ACCOUNT,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAgBD,eAAeQ,aACXC,OACAC,MAA6B;CAE7B,MAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMX,WAAWY;GACjBJ;GACAC;EACJ;EACAI,cAAc,CACV,EAAEC,UAAUC,OAAOd,uBAAuBD,WAAWY,2BAA2BG,EAAAA,EAAI,CAAA;CAE5F,CAAA;AACJ;AAGA,IAAaC,oCAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOZ;CACX;CAEA,MAAMa,YAAYV,OAA2D;EACzE,IAAI,CAACA,MAAMW,QACP;EAGJ,MAAMZ,aAAaR,uBAAuBqB,SAASZ,MAAMW,MAAM;CACnE;CAEA,MAAME,YAAYb,OAA2D;EACzE,IAAI,CAACA,MAAMW,QACP;EAGJ,IAAIX,MAAMc,WAAWC,kBACjB,MAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaR,uBAAuB4B,SAASnB,MAAMW,MAAM;CACnE;CAEA,MAAMS,YAAYpB,OAA2D;EACzE,IAAI,CAACA,MAAMW,QACP;EAGJ,IAAIX,MAAMc,WAAWC,kBACjB,MAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaR,uBAAuB8B,SAASrB,MAAMW,MAAM;CACnE;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","deserialize","serialize","IdentityProviderEntity","RealmEntity","IdentityProviderAttributeEntity","id","name","value","provider_id","provider","realm_id","realm","created_at","updated_at","type","length","nullable","transformer","to","from","onDelete"],"sources":["../../../../../src/adapters/database/domains/identity-provider-attribute/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity, \n JoinColumn, \n ManyToOne,\n PrimaryGeneratedColumn, \n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport type { IdentityProvider, IdentityProviderAttribute, Realm } from '@authup/core-kit';\nimport {\n deserialize,\n serialize,\n} from '@authup/kit';\nimport { IdentityProviderEntity } from '../identity-provider/entity.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Unique(['name', 'provider_id'])\n@Entity({ name: 'auth_identity_provider_attributes' })\nexport class IdentityProviderAttributeEntity implements IdentityProviderAttribute {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'varchar',\n length: 255, \n })\n name: string;\n\n @Column({\n type: 'text',\n nullable: true,\n transformer: {\n to(value: any): any {\n return serialize(value);\n },\n from(value: any): any {\n return deserialize(value);\n },\n },\n })\n value: string | null;\n\n // ------------------------------------------------------------------\n\n @Column()\n provider_id: IdentityProvider['id'];\n\n @ManyToOne(() => IdentityProviderEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_id' })\n provider: IdentityProviderEntity;\n\n // ------------------------------------------------------------------\n @Column({ nullable: true })\n realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'realm_id' })\n realm: RealmEntity | null;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn()\n created_at: string;\n\n @UpdateDateColumn()\n updated_at: string;\n}\n"],"mappings":";;;;;;;;;;;;;;;AA2BA,IAAaY,kCAAb,MAAaA;CAETC;CAMAC;CAcAC;CAKAC;CAIAC;CAIAC;CAOAC;CAKAC;CAGAC;;;;CA7CIC,MAAM;CACNC,QAAQ;;;CAKRD,MAAM;CACNE,UAAU;CACVC,aAAa;EACTC,GAAGX,OAAU;AACT,UAAON,UAAUM,MAAAA;;EAErBY,KAAKZ,OAAU;AACX,UAAOP,YAAYO,MAAAA;;EAE3B;;;;iBASaL,wBAAAA,EAA0BkB,UAAU,WAAA,CAAA;cACvCd,MAAM,eAAA,CAAA;;;uBAIVU,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,gCAAA,WAAA,YAAA,KAAA,EAAA;;iBAGHb,aAAAA;EACbiB,UAAU;EACVJ,UAAU;;cAEAV,MAAM,YAAA,CAAA;;;;;wDA3Cf,QAAQ,cAAA,CAAA,EAAA,OAAA,EACPA,MAAM,qCAAA,CAAA,CAAA,EAAA,gCAAA"}
1
+ {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","deserialize","serialize","IdentityProviderEntity","RealmEntity","IdentityProviderAttributeEntity","id","name","value","provider_id","provider","realm_id","realm","created_at","updated_at","type","length","nullable","transformer","to","from","onDelete"],"sources":["../../../../../src/adapters/database/domains/identity-provider-attribute/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity, \n JoinColumn, \n ManyToOne,\n PrimaryGeneratedColumn, \n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport type { IdentityProvider, IdentityProviderAttribute, Realm } from '@authup/core-kit';\nimport {\n deserialize,\n serialize,\n} from '@authup/kit';\nimport { IdentityProviderEntity } from '../identity-provider/entity.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Unique(['name', 'provider_id'])\n@Entity({ name: 'auth_identity_provider_attributes' })\nexport class IdentityProviderAttributeEntity implements IdentityProviderAttribute {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'varchar',\n length: 255, \n })\n name: string;\n\n @Column({\n type: 'text',\n nullable: true,\n transformer: {\n to(value: any): any {\n return serialize(value);\n },\n from(value: any): any {\n return deserialize(value);\n },\n },\n })\n value: string | null;\n\n // ------------------------------------------------------------------\n\n @Column()\n provider_id: IdentityProvider['id'];\n\n @ManyToOne(() => IdentityProviderEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_id' })\n provider: IdentityProviderEntity;\n\n // ------------------------------------------------------------------\n @Column({ nullable: true })\n realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'realm_id' })\n realm: RealmEntity | null;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn()\n created_at: string;\n\n @UpdateDateColumn()\n updated_at: string;\n}\n"],"mappings":";;;;;;;;;;;;;;;AA2BA,IAAaY,kCAAb,MAAaA;CAETC;CAMAC;CAcAC;CAKAC;CAIAC;CAIAC;CAOAC;CAKAC;CAGAC;AACJ;;;CA9CQC,MAAM;CACNC,QAAQ;;;CAKRD,MAAM;CACNE,UAAU;CACVC,aAAa;EACTC,GAAGX,OAAU;GACT,OAAON,UAAUM,KAAAA;EACrB;EACAY,KAAKZ,OAAU;GACX,OAAOP,YAAYO,KAAAA;EACvB;CACJ;;;;iBASaL,wBAAAA,EAA0BkB,UAAU,UAAA,CAAA;cACvCd,MAAM,cAAA,CAAA;;;uBAIVU,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,gCAAA,WAAA,YAAA,KAAA,CAAA;;iBAGHb,aAAAA;EACbiB,UAAU;EACVJ,UAAU;;cAEAV,MAAM,WAAA,CAAA;;;;;wDA3Cf,QAAQ,aAAA,CAAA,GAAA,OAAA,EACPA,MAAM,oCAAA,CAAA,CAAA,GAAA,+BAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","IdentityProviderAttributeEntity","CachePrefix","publishEvent","event","data","content","type","IDENTITY_PROVIDER_ATTRIBUTE","destinations","channel","id","IdentityProviderAttributeSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/identity-provider-attribute/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { IdentityProviderAttribute } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType,\n buildEntityChannelName,\n} from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { IdentityProviderAttributeEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: IdentityProviderAttribute,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.IDENTITY_PROVIDER_ATTRIBUTE,\n event,\n data,\n },\n destinations: [\n { channel: (id) => buildEntityChannelName(EntityType.IDENTITY_PROVIDER_ATTRIBUTE, id) },\n\n // todo: realm attribute\n ],\n });\n}\n\n@EventSubscriber()\nexport class IdentityProviderAttributeSubscriber implements EntitySubscriberInterface<IdentityProviderAttribute> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return IdentityProviderAttributeEntity;\n }\n\n async afterInsert(event: InsertEvent<IdentityProviderAttribute>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<IdentityProviderAttribute>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER_ATTRIBUTE,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as IdentityProviderAttribute);\n }\n\n async afterRemove(event: RemoveEvent<IdentityProviderAttribute>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER_ATTRIBUTE,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAoBD,eAAeQ,aACXC,OACAC,MAA+B;AAE/B,OAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMX,WAAWY;GACjBJ;GACAC;GACJ;EACAI,cAAc,CACV,EAAEC,UAAUC,OAAOd,uBAAuBD,WAAWY,6BAA6BG,GAAAA,EAAI,CAGzF;EACL,CAAA;;AAIJ,IAAaC,sCAAb,MAAaA;CAETC,WAA8B;AAC1B,SAAOZ;;CAGX,MAAMa,YAAYV,OAA6D;AAC3E,MAAI,CAACA,MAAMW,OACP;AAGJ,QAAMZ,aAAaR,uBAAuBqB,SAASZ,MAAMW,OAAM;;CAGnE,MAAME,YAAYb,OAA6D;AAC3E,MAAI,CAACA,MAAMW,OACP;AAGJ,MAAIX,MAAMc,WAAWC,iBACjB,OAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;GACtB,CAAA,CACH,CAAA;AAGL,QAAMR,aAAaR,uBAAuB4B,SAASnB,MAAMW,OAAM;;CAGnE,MAAMS,YAAYpB,OAA6D;AAC3E,MAAI,CAACA,MAAMW,OACP;AAGJ,MAAIX,MAAMc,WAAWC,iBACjB,OAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;GACtB,CAAA,CACH,CAAA;AAGL,QAAMR,aAAaR,uBAAuB8B,SAASrB,MAAMW,OAAM"}
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","IdentityProviderAttributeEntity","CachePrefix","publishEvent","event","data","content","type","IDENTITY_PROVIDER_ATTRIBUTE","destinations","channel","id","IdentityProviderAttributeSubscriber","listenTo","afterInsert","entity","CREATED","afterUpdate","connection","queryResultCache","remove","prefix","key","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/identity-provider-attribute/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { IdentityProviderAttribute } from '@authup/core-kit';\nimport {\n EntityDefaultEventName, \n EntityType,\n buildEntityChannelName,\n} from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type {\n EntitySubscriberInterface, \n InsertEvent,\n RemoveEvent,\n UpdateEvent,\n} from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { publishDomainEvent } from '../../event-publisher/index.ts';\nimport { IdentityProviderAttributeEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: IdentityProviderAttribute,\n) {\n await publishDomainEvent({\n content: {\n type: EntityType.IDENTITY_PROVIDER_ATTRIBUTE,\n event,\n data,\n },\n destinations: [\n { channel: (id) => buildEntityChannelName(EntityType.IDENTITY_PROVIDER_ATTRIBUTE, id) },\n\n // todo: realm attribute\n ],\n });\n}\n\n@EventSubscriber()\nexport class IdentityProviderAttributeSubscriber implements EntitySubscriberInterface<IdentityProviderAttribute> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return IdentityProviderAttributeEntity;\n }\n\n async afterInsert(event: InsertEvent<IdentityProviderAttribute>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<IdentityProviderAttribute>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER_ATTRIBUTE,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as IdentityProviderAttribute);\n }\n\n async afterRemove(event: RemoveEvent<IdentityProviderAttribute>): Promise<any> {\n if (!event.entity) {\n return;\n }\n\n if (event.connection.queryResultCache) {\n await event.connection.queryResultCache.remove([\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER_ATTRIBUTE,\n key: event.entity.id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.DELETED, event.entity);\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;AAoBD,eAAeQ,aACXC,OACAC,MAA+B;CAE/B,MAAML,mBAAmB;EACrBM,SAAS;GACLC,MAAMX,WAAWY;GACjBJ;GACAC;EACJ;EACAI,cAAc,CACV,EAAEC,UAAUC,OAAOd,uBAAuBD,WAAWY,6BAA6BG,EAAAA,EAAI,CAAA;CAI9F,CAAA;AACJ;AAGA,IAAaC,sCAAb,MAAaA;CAETC,WAA8B;EAC1B,OAAOZ;CACX;CAEA,MAAMa,YAAYV,OAA6D;EAC3E,IAAI,CAACA,MAAMW,QACP;EAGJ,MAAMZ,aAAaR,uBAAuBqB,SAASZ,MAAMW,MAAM;CACnE;CAEA,MAAME,YAAYb,OAA6D;EAC3E,IAAI,CAACA,MAAMW,QACP;EAGJ,IAAIX,MAAMc,WAAWC,kBACjB,MAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaR,uBAAuB4B,SAASnB,MAAMW,MAAM;CACnE;CAEA,MAAMS,YAAYpB,OAA6D;EAC3E,IAAI,CAACA,MAAMW,QACP;EAGJ,IAAIX,MAAMc,WAAWC,kBACjB,MAAMf,MAAMc,WAAWC,iBAAiBC,OAAO,CAC3CtB,kBAAkB;GACduB,QAAQnB,YAAYM;GACpBc,KAAKlB,MAAMW,OAAOJ;EACtB,CAAA,CAAA,CACH;EAGL,MAAMR,aAAaR,uBAAuB8B,SAASrB,MAAMW,MAAM;CACnE;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","IdentityProviderEntity","RealmEntity","IdentityProviderAttributeMappingEntity","id","synchronization_mode","name","value","value_is_regex","target_name","target_value","created_at","updated_at","provider_id","provider","provider_realm_id","provider_realm","type","length","nullable","default","onDelete","unique"],"sources":["../../../../../src/adapters/database/domains/identity-provider-attribute-mapping/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type { IdentityProviderAttributeMapping, IdentityProviderMappingSyncMode, Realm } from '@authup/core-kit';\nimport { IdentityProviderEntity } from '../identity-provider/index.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_identity_provider_attribute_mappings' })\n@Index(['provider_id', 'target_name'], { unique: true })\nexport class IdentityProviderAttributeMappingEntity implements IdentityProviderAttributeMapping {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n synchronization_mode: `${IdentityProviderMappingSyncMode}` | null;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n name: string | null;\n\n @Column({\n type: 'varchar',\n length: 128,\n nullable: true, \n })\n value: string | null;\n\n @Column({\n type: 'boolean',\n default: false, \n })\n value_is_regex: boolean;\n\n @Column({\n type: 'varchar',\n length: 64, \n })\n target_name: string;\n\n @Column({\n type: 'varchar',\n length: 128,\n nullable: true, \n })\n target_value: string | null;\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n\n // -----------------------------------------------\n\n @Column()\n provider_id: string;\n\n @ManyToOne(() => IdentityProviderEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_id' })\n provider: IdentityProviderEntity;\n\n @Column()\n provider_realm_id: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_realm_id' })\n provider_realm: RealmEntity;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAuBA,IAAaU,yCAAb,MAAaA;CAETC;CAOAC;CAOAC;CAOAC;CAMAC;CAMAC;CAOAC;CAGAC;CAGAC;CAKAC;CAIAC;CAGAC;CAIAC;;;;CA3DIC,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNG,SAAS;;;CAKTH,MAAM;CACNC,QAAQ;;;CAKRD,MAAM;CACNC,QAAQ;CACRC,UAAU;;;;;;iBAeGlB,wBAAAA,EAA0BoB,UAAU,WAAA,CAAA;cACvCf,MAAM,eAAA,CAAA;;;;;iBAMHJ,aAAAA,EAAemB,UAAU,WAAA,CAAA;cAC5Bf,MAAM,qBAAA,CAAA;;;gEAjEdA,MAAM,6CAAA,CAAA,EAAA,MAAA,CACR,eAAe,cAAA,EAAA,EAAkBgB,QAAQ,MAAA,CAAA,CAAA,EAAA,uCAAA"}
1
+ {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","IdentityProviderEntity","RealmEntity","IdentityProviderAttributeMappingEntity","id","synchronization_mode","name","value","value_is_regex","target_name","target_value","created_at","updated_at","provider_id","provider","provider_realm_id","provider_realm","type","length","nullable","default","onDelete","unique"],"sources":["../../../../../src/adapters/database/domains/identity-provider-attribute-mapping/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type { IdentityProviderAttributeMapping, IdentityProviderMappingSyncMode, Realm } from '@authup/core-kit';\nimport { IdentityProviderEntity } from '../identity-provider/index.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_identity_provider_attribute_mappings' })\n@Index(['provider_id', 'target_name'], { unique: true })\nexport class IdentityProviderAttributeMappingEntity implements IdentityProviderAttributeMapping {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n synchronization_mode: `${IdentityProviderMappingSyncMode}` | null;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n name: string | null;\n\n @Column({\n type: 'varchar',\n length: 128,\n nullable: true, \n })\n value: string | null;\n\n @Column({\n type: 'boolean',\n default: false, \n })\n value_is_regex: boolean;\n\n @Column({\n type: 'varchar',\n length: 64, \n })\n target_name: string;\n\n @Column({\n type: 'varchar',\n length: 128,\n nullable: true, \n })\n target_value: string | null;\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n\n // -----------------------------------------------\n\n @Column()\n provider_id: string;\n\n @ManyToOne(() => IdentityProviderEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_id' })\n provider: IdentityProviderEntity;\n\n @Column()\n provider_realm_id: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_realm_id' })\n provider_realm: RealmEntity;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAuBA,IAAaU,yCAAb,MAAaA;CAETC;CAOAC;CAOAC;CAOAC;CAMAC;CAMAC;CAOAC;CAGAC;CAGAC;CAKAC;CAIAC;CAGAC;CAIAC;AACJ;;;CA5DQC,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNG,SAAS;;;CAKTH,MAAM;CACNC,QAAQ;;;CAKRD,MAAM;CACNC,QAAQ;CACRC,UAAU;;;;;;iBAeGlB,wBAAAA,EAA0BoB,UAAU,UAAA,CAAA;cACvCf,MAAM,cAAA,CAAA;;;;;iBAMHJ,aAAAA,EAAemB,UAAU,UAAA,CAAA;cAC5Bf,MAAM,oBAAA,CAAA;;;gEAjEdA,MAAM,4CAAA,CAAA,GAAA,MAAA,CACR,eAAe,aAAA,GAAA,EAAkBgB,QAAQ,KAAA,CAAA,CAAA,GAAA,sCAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","IdentityProviderEntity","PermissionEntity","RealmEntity","IdentityProviderPermissionMappingEntity","id","synchronization_mode","name","value","value_is_regex","created_at","updated_at","permission_id","permission","permission_realm_id","permission_realm","provider_id","provider","provider_realm_id","provider_realm","type","length","nullable","default","onDelete","unique"],"sources":["../../../../../src/adapters/database/domains/identity-provider-permission-mapping/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n IdentityProviderMappingSyncMode, \n IdentityProviderPermissionMapping,\n Realm, \n Role, \n} from '@authup/core-kit';\nimport { IdentityProviderEntity } from '../identity-provider/index.ts';\nimport { PermissionEntity } from '../permission/index.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_identity_provider_permission_mappings' })\n@Index(['provider_id', 'permission_id'], { unique: true })\nexport class IdentityProviderPermissionMappingEntity implements IdentityProviderPermissionMapping {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n synchronization_mode: `${IdentityProviderMappingSyncMode}` | null;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n name: string | null;\n\n @Column({\n type: 'varchar',\n length: 128,\n nullable: true, \n })\n value: string | null;\n\n @Column({\n type: 'boolean',\n default: false, \n })\n value_is_regex: boolean;\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n\n // -----------------------------------------------\n\n @Column()\n permission_id: string;\n\n @ManyToOne(() => PermissionEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'permission_id' })\n permission: Role;\n\n @Column({ nullable: true })\n permission_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'permission_realm_id' })\n permission_realm: RealmEntity | null;\n\n @Column()\n provider_id: string;\n\n @ManyToOne(() => IdentityProviderEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_id' })\n provider: IdentityProviderEntity;\n\n @Column()\n provider_realm_id: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_realm_id' })\n provider_realm: RealmEntity;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA6BA,IAAaW,0CAAb,MAAaA;CAETC;CAOAC;CAOAC;CAOAC;CAMAC;CAGAC;CAGAC;CAKAC;CAIAC;CAGAC;CAOAC;CAGAC;CAIAC;CAGAC;CAIAC;;;;CA/DIC,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNG,SAAS;;;;;;iBAeIrB,kBAAAA,EAAoBsB,UAAU,WAAA,CAAA;cACjCjB,MAAM,iBAAA,CAAA;;;uBAGVe,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,wCAAA,WAAA,uBAAA,KAAA,EAAA;;iBAGHnB,aAAAA;EACbqB,UAAU;EACVF,UAAU;;cAEAf,MAAM,uBAAA,CAAA;;;;;iBAMHN,wBAAAA,EAA0BuB,UAAU,WAAA,CAAA;cACvCjB,MAAM,eAAA,CAAA;;;;;iBAMHJ,aAAAA,EAAeqB,UAAU,WAAA,CAAA;cAC5BjB,MAAM,qBAAA,CAAA;;;iEArEdA,MAAM,8CAAA,CAAA,EAAA,MAAA,CACR,eAAe,gBAAA,EAAA,EAAoBkB,QAAQ,MAAA,CAAA,CAAA,EAAA,wCAAA"}
1
+ {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","IdentityProviderEntity","PermissionEntity","RealmEntity","IdentityProviderPermissionMappingEntity","id","synchronization_mode","name","value","value_is_regex","created_at","updated_at","permission_id","permission","permission_realm_id","permission_realm","provider_id","provider","provider_realm_id","provider_realm","type","length","nullable","default","onDelete","unique"],"sources":["../../../../../src/adapters/database/domains/identity-provider-permission-mapping/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n IdentityProviderMappingSyncMode, \n IdentityProviderPermissionMapping,\n Realm, \n Role, \n} from '@authup/core-kit';\nimport { IdentityProviderEntity } from '../identity-provider/index.ts';\nimport { PermissionEntity } from '../permission/index.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_identity_provider_permission_mappings' })\n@Index(['provider_id', 'permission_id'], { unique: true })\nexport class IdentityProviderPermissionMappingEntity implements IdentityProviderPermissionMapping {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n synchronization_mode: `${IdentityProviderMappingSyncMode}` | null;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n name: string | null;\n\n @Column({\n type: 'varchar',\n length: 128,\n nullable: true, \n })\n value: string | null;\n\n @Column({\n type: 'boolean',\n default: false, \n })\n value_is_regex: boolean;\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n\n // -----------------------------------------------\n\n @Column()\n permission_id: string;\n\n @ManyToOne(() => PermissionEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'permission_id' })\n permission: Role;\n\n @Column({ nullable: true })\n permission_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'permission_realm_id' })\n permission_realm: RealmEntity | null;\n\n @Column()\n provider_id: string;\n\n @ManyToOne(() => IdentityProviderEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_id' })\n provider: IdentityProviderEntity;\n\n @Column()\n provider_realm_id: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_realm_id' })\n provider_realm: RealmEntity;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA6BA,IAAaW,0CAAb,MAAaA;CAETC;CAOAC;CAOAC;CAOAC;CAMAC;CAGAC;CAGAC;CAKAC;CAIAC;CAGAC;CAOAC;CAGAC;CAIAC;CAGAC;CAIAC;AACJ;;;CAhEQC,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNG,SAAS;;;;;;iBAeIrB,kBAAAA,EAAoBsB,UAAU,UAAA,CAAA;cACjCjB,MAAM,gBAAA,CAAA;;;uBAGVe,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,wCAAA,WAAA,uBAAA,KAAA,CAAA;;iBAGHnB,aAAAA;EACbqB,UAAU;EACVF,UAAU;;cAEAf,MAAM,sBAAA,CAAA;;;;;iBAMHN,wBAAAA,EAA0BuB,UAAU,UAAA,CAAA;cACvCjB,MAAM,cAAA,CAAA;;;;;iBAMHJ,aAAAA,EAAeqB,UAAU,UAAA,CAAA;cAC5BjB,MAAM,oBAAA,CAAA;;;iEArEdA,MAAM,6CAAA,CAAA,GAAA,MAAA,CACR,eAAe,eAAA,GAAA,EAAoBkB,QAAQ,KAAA,CAAA,CAAA,GAAA,uCAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","IdentityProviderEntity","RoleEntity","RealmEntity","IdentityProviderRoleMappingEntity","id","synchronization_mode","name","value","value_is_regex","created_at","updated_at","role_id","role","role_realm_id","role_realm","provider_id","provider","provider_realm_id","provider_realm","type","length","nullable","default","onDelete","unique"],"sources":["../../../../../src/adapters/database/domains/identity-provider-role-mapping/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n IdentityProviderMappingSyncMode, \n IdentityProviderRoleMapping, \n Realm,\n Role, \n} from '@authup/core-kit';\nimport { IdentityProviderEntity } from '../identity-provider/index.ts';\nimport { RoleEntity } from '../role/index.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_identity_provider_role_mappings' })\n@Index(['provider_id', 'role_id'], { unique: true })\nexport class IdentityProviderRoleMappingEntity implements IdentityProviderRoleMapping {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n synchronization_mode: `${IdentityProviderMappingSyncMode}` | null;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n name: string | null;\n\n @Column({\n type: 'varchar',\n length: 128,\n nullable: true, \n })\n value: string | null;\n\n @Column({\n type: 'boolean',\n default: false, \n })\n value_is_regex: boolean;\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n\n // -----------------------------------------------\n\n @Column()\n role_id: string;\n\n @ManyToOne(() => RoleEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'role_id' })\n role: Role;\n\n @Column({ nullable: true })\n role_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'role_realm_id' })\n role_realm: RealmEntity | null;\n\n @Column()\n provider_id: string;\n\n @ManyToOne(() => IdentityProviderEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_id' })\n provider: IdentityProviderEntity;\n\n @Column()\n provider_realm_id: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_realm_id' })\n provider_realm: RealmEntity;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA6BA,IAAaW,oCAAb,MAAaA;CAETC;CAOAC;CAOAC;CAOAC;CAMAC;CAGAC;CAGAC;CAKAC;CAIAC;CAGAC;CAOAC;CAGAC;CAIAC;CAGAC;CAIAC;;;;CA/DIC,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNG,SAAS;;;;;;iBAeIrB,YAAAA,EAAcsB,UAAU,WAAA,CAAA;cAC3BjB,MAAM,WAAA,CAAA;;;uBAGVe,UAAU,MAAA,CAAA,EAAA,aAAA,eAAA,OAAA,CAAA,EAAA,kCAAA,WAAA,iBAAA,KAAA,EAAA;;iBAGHnB,aAAAA;EACbqB,UAAU;EACVF,UAAU;;cAEAf,MAAM,iBAAA,CAAA;;;;;iBAMHN,wBAAAA,EAA0BuB,UAAU,WAAA,CAAA;cACvCjB,MAAM,eAAA,CAAA;;;;;iBAMHJ,aAAAA,EAAeqB,UAAU,WAAA,CAAA;cAC5BjB,MAAM,qBAAA,CAAA;;;2DArEdA,MAAM,wCAAA,CAAA,EAAA,MAAA,CACR,eAAe,UAAA,EAAA,EAAckB,QAAQ,MAAA,CAAA,CAAA,EAAA,kCAAA"}
1
+ {"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","IdentityProviderEntity","RoleEntity","RealmEntity","IdentityProviderRoleMappingEntity","id","synchronization_mode","name","value","value_is_regex","created_at","updated_at","role_id","role","role_realm_id","role_realm","provider_id","provider","provider_realm_id","provider_realm","type","length","nullable","default","onDelete","unique"],"sources":["../../../../../src/adapters/database/domains/identity-provider-role-mapping/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport type {\n IdentityProviderMappingSyncMode, \n IdentityProviderRoleMapping, \n Realm,\n Role, \n} from '@authup/core-kit';\nimport { IdentityProviderEntity } from '../identity-provider/index.ts';\nimport { RoleEntity } from '../role/index.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_identity_provider_role_mappings' })\n@Index(['provider_id', 'role_id'], { unique: true })\nexport class IdentityProviderRoleMappingEntity implements IdentityProviderRoleMapping {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n synchronization_mode: `${IdentityProviderMappingSyncMode}` | null;\n\n @Column({\n type: 'varchar',\n length: 64,\n nullable: true, \n })\n name: string | null;\n\n @Column({\n type: 'varchar',\n length: 128,\n nullable: true, \n })\n value: string | null;\n\n @Column({\n type: 'boolean',\n default: false, \n })\n value_is_regex: boolean;\n\n @CreateDateColumn()\n created_at: Date;\n\n @UpdateDateColumn()\n updated_at: Date;\n\n // -----------------------------------------------\n\n @Column()\n role_id: string;\n\n @ManyToOne(() => RoleEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'role_id' })\n role: Role;\n\n @Column({ nullable: true })\n role_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'role_realm_id' })\n role_realm: RealmEntity | null;\n\n @Column()\n provider_id: string;\n\n @ManyToOne(() => IdentityProviderEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_id' })\n provider: IdentityProviderEntity;\n\n @Column()\n provider_realm_id: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'provider_realm_id' })\n provider_realm: RealmEntity;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA6BA,IAAaW,oCAAb,MAAaA;CAETC;CAOAC;CAOAC;CAOAC;CAMAC;CAGAC;CAGAC;CAKAC;CAIAC;CAGAC;CAOAC;CAGAC;CAIAC;CAGAC;CAIAC;AACJ;;;CAhEQC,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNC,QAAQ;CACRC,UAAU;;;CAKVF,MAAM;CACNG,SAAS;;;;;;iBAeIrB,YAAAA,EAAcsB,UAAU,UAAA,CAAA;cAC3BjB,MAAM,UAAA,CAAA;;;uBAGVe,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,kCAAA,WAAA,iBAAA,KAAA,CAAA;;iBAGHnB,aAAAA;EACbqB,UAAU;EACVF,UAAU;;cAEAf,MAAM,gBAAA,CAAA;;;;;iBAMHN,wBAAAA,EAA0BuB,UAAU,UAAA,CAAA;cACvCjB,MAAM,cAAA,CAAA;;;;;iBAMHJ,aAAAA,EAAeqB,UAAU,UAAA,CAAA;cAC5BjB,MAAM,oBAAA,CAAA;;;2DArEdA,MAAM,uCAAA,CAAA,GAAA,MAAA,CACR,eAAe,SAAA,GAAA,EAAckB,QAAQ,KAAA,CAAA,CAAA,GAAA,iCAAA"}