@authup/server-core 1.0.0-beta.36 → 1.0.0-beta.37

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 (1109) hide show
  1. package/dist/adapters/database/cache/index.mjs +2 -0
  2. package/dist/adapters/database/cache/module.mjs +48 -0
  3. package/dist/adapters/database/cache/module.mjs.map +1 -0
  4. package/dist/adapters/database/data-source/index.mjs +4 -0
  5. package/dist/adapters/database/data-source/options/index.mjs +2 -0
  6. package/dist/adapters/database/data-source/options/module.mjs +145 -0
  7. package/dist/adapters/database/data-source/options/module.mjs.map +1 -0
  8. package/dist/adapters/database/data-source/singleton.mjs +16 -0
  9. package/dist/adapters/database/data-source/singleton.mjs.map +1 -0
  10. package/dist/adapters/database/domains/client/entity.mjs +122 -0
  11. package/dist/adapters/database/domains/client/entity.mjs.map +1 -0
  12. package/dist/adapters/database/domains/client/index.mjs +4 -0
  13. package/dist/adapters/database/domains/client/repository.mjs +75 -0
  14. package/dist/adapters/database/domains/client/repository.mjs.map +1 -0
  15. package/dist/adapters/database/domains/client/subscriber.mjs +57 -0
  16. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -0
  17. package/dist/adapters/database/domains/client-permission/entity.mjs +80 -0
  18. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -0
  19. package/dist/adapters/database/domains/client-permission/index.mjs +3 -0
  20. package/dist/adapters/database/domains/client-permission/subscriber.mjs +67 -0
  21. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -0
  22. package/dist/adapters/database/domains/client-role/entity.mjs +67 -0
  23. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -0
  24. package/dist/adapters/database/domains/client-role/index.mjs +3 -0
  25. package/dist/adapters/database/domains/client-role/subscriber.mjs +67 -0
  26. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -0
  27. package/dist/adapters/database/domains/client-scope/entity.mjs +73 -0
  28. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -0
  29. package/dist/adapters/database/domains/client-scope/index.mjs +3 -0
  30. package/dist/adapters/database/domains/client-scope/subscriber.mjs +54 -0
  31. package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -0
  32. package/dist/adapters/database/domains/constants.mjs +31 -0
  33. package/dist/adapters/database/domains/constants.mjs.map +1 -0
  34. package/dist/adapters/database/domains/identity-provider/entity.mjs +66 -0
  35. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -0
  36. package/dist/adapters/database/domains/identity-provider/index.mjs +4 -0
  37. package/dist/adapters/database/domains/identity-provider/repository.mjs +28 -0
  38. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -0
  39. package/dist/adapters/database/domains/identity-provider/subscriber.mjs +57 -0
  40. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -0
  41. package/dist/adapters/database/domains/identity-provider-account/entity.mjs +113 -0
  42. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -0
  43. package/dist/adapters/database/domains/identity-provider-account/index.mjs +3 -0
  44. package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs +54 -0
  45. package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -0
  46. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +65 -0
  47. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -0
  48. package/dist/adapters/database/domains/identity-provider-attribute/index.mjs +3 -0
  49. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +54 -0
  50. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -0
  51. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +78 -0
  52. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -0
  53. package/dist/adapters/database/domains/identity-provider-attribute-mapping/index.mjs +2 -0
  54. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +88 -0
  55. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -0
  56. package/dist/adapters/database/domains/identity-provider-permission-mapping/index.mjs +2 -0
  57. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +88 -0
  58. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -0
  59. package/dist/adapters/database/domains/identity-provider-role-mapping/index.mjs +3 -0
  60. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +63 -0
  61. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -0
  62. package/dist/adapters/database/domains/index.mjs +88 -0
  63. package/dist/adapters/database/domains/key/entity.mjs +80 -0
  64. package/dist/adapters/database/domains/key/entity.mjs.map +1 -0
  65. package/dist/adapters/database/domains/key/index.mjs +2 -0
  66. package/dist/adapters/database/domains/permission/entity.mjs +89 -0
  67. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -0
  68. package/dist/adapters/database/domains/permission/index.mjs +3 -0
  69. package/dist/adapters/database/domains/permission/subscriber.mjs +66 -0
  70. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -0
  71. package/dist/adapters/database/domains/permission-policy/entity.mjs +68 -0
  72. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -0
  73. package/dist/adapters/database/domains/permission-policy/index.mjs +2 -0
  74. package/dist/adapters/database/domains/policy/entity.mjs +90 -0
  75. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -0
  76. package/dist/adapters/database/domains/policy/index.mjs +4 -0
  77. package/dist/adapters/database/domains/policy/repository.mjs +38 -0
  78. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -0
  79. package/dist/adapters/database/domains/policy/subscriber.mjs +54 -0
  80. package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -0
  81. package/dist/adapters/database/domains/policy-attribute/entity.mjs +65 -0
  82. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -0
  83. package/dist/adapters/database/domains/policy-attribute/index.mjs +3 -0
  84. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +63 -0
  85. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -0
  86. package/dist/adapters/database/domains/realm/entity.mjs +47 -0
  87. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -0
  88. package/dist/adapters/database/domains/realm/index.mjs +4 -0
  89. package/dist/adapters/database/domains/realm/repository.mjs +21 -0
  90. package/dist/adapters/database/domains/realm/repository.mjs.map +1 -0
  91. package/dist/adapters/database/domains/realm/subscriber.mjs +54 -0
  92. package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -0
  93. package/dist/adapters/database/domains/robot/entity.mjs +107 -0
  94. package/dist/adapters/database/domains/robot/entity.mjs.map +1 -0
  95. package/dist/adapters/database/domains/robot/index.mjs +4 -0
  96. package/dist/adapters/database/domains/robot/repository.mjs +75 -0
  97. package/dist/adapters/database/domains/robot/repository.mjs.map +1 -0
  98. package/dist/adapters/database/domains/robot/subscriber.mjs +57 -0
  99. package/dist/adapters/database/domains/robot/subscriber.mjs.map +1 -0
  100. package/dist/adapters/database/domains/robot-permission/entity.mjs +80 -0
  101. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +1 -0
  102. package/dist/adapters/database/domains/robot-permission/index.mjs +3 -0
  103. package/dist/adapters/database/domains/robot-permission/subscriber.mjs +67 -0
  104. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +1 -0
  105. package/dist/adapters/database/domains/robot-role/entity.mjs +67 -0
  106. package/dist/adapters/database/domains/robot-role/entity.mjs.map +1 -0
  107. package/dist/adapters/database/domains/robot-role/index.mjs +3 -0
  108. package/dist/adapters/database/domains/robot-role/subscriber.mjs +67 -0
  109. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +1 -0
  110. package/dist/adapters/database/domains/role/entity.mjs +87 -0
  111. package/dist/adapters/database/domains/role/entity.mjs.map +1 -0
  112. package/dist/adapters/database/domains/role/index.mjs +4 -0
  113. package/dist/adapters/database/domains/role/repository.mjs +83 -0
  114. package/dist/adapters/database/domains/role/repository.mjs.map +1 -0
  115. package/dist/adapters/database/domains/role/subscriber.mjs +59 -0
  116. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -0
  117. package/dist/adapters/database/domains/role-attribute/entity.mjs +65 -0
  118. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -0
  119. package/dist/adapters/database/domains/role-attribute/index.mjs +3 -0
  120. package/dist/adapters/database/domains/role-attribute/subscriber.mjs +63 -0
  121. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -0
  122. package/dist/adapters/database/domains/role-permission/entity.mjs +80 -0
  123. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -0
  124. package/dist/adapters/database/domains/role-permission/index.mjs +3 -0
  125. package/dist/adapters/database/domains/role-permission/subscriber.mjs +67 -0
  126. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -0
  127. package/dist/adapters/database/domains/scope/entity.mjs +62 -0
  128. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -0
  129. package/dist/adapters/database/domains/scope/index.mjs +3 -0
  130. package/dist/adapters/database/domains/scope/subscriber.mjs +59 -0
  131. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -0
  132. package/dist/adapters/database/domains/session/entity.mjs +135 -0
  133. package/dist/adapters/database/domains/session/entity.mjs.map +1 -0
  134. package/dist/adapters/database/domains/session/index.mjs +2 -0
  135. package/dist/adapters/database/domains/user/entity.mjs +178 -0
  136. package/dist/adapters/database/domains/user/entity.mjs.map +1 -0
  137. package/dist/adapters/database/domains/user/index.mjs +4 -0
  138. package/dist/adapters/database/domains/user/repository.mjs +87 -0
  139. package/dist/adapters/database/domains/user/repository.mjs.map +1 -0
  140. package/dist/adapters/database/domains/user/subscriber.mjs +57 -0
  141. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -0
  142. package/dist/adapters/database/domains/user-attribute/entity.mjs +62 -0
  143. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -0
  144. package/dist/adapters/database/domains/user-attribute/index.mjs +3 -0
  145. package/dist/adapters/database/domains/user-attribute/subscriber.mjs +61 -0
  146. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -0
  147. package/dist/adapters/database/domains/user-permission/entity.mjs +79 -0
  148. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -0
  149. package/dist/adapters/database/domains/user-permission/index.mjs +3 -0
  150. package/dist/adapters/database/domains/user-permission/subscriber.mjs +67 -0
  151. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -0
  152. package/dist/adapters/database/domains/user-role/entity.mjs +67 -0
  153. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -0
  154. package/dist/adapters/database/domains/user-role/index.mjs +3 -0
  155. package/dist/adapters/database/domains/user-role/subscriber.mjs +67 -0
  156. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -0
  157. package/dist/adapters/database/errors/conflict.mjs +11 -0
  158. package/dist/adapters/database/errors/conflict.mjs.map +1 -0
  159. package/dist/adapters/database/errors/index.mjs +2 -0
  160. package/dist/adapters/database/event-publisher/index.mjs +2 -0
  161. package/dist/adapters/database/event-publisher/module.mjs +22 -0
  162. package/dist/adapters/database/event-publisher/module.mjs.map +1 -0
  163. package/dist/adapters/database/extra-attribute-repository/adapter.mjs +120 -0
  164. package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -0
  165. package/dist/adapters/database/extra-attribute-repository/index.mjs +4 -0
  166. package/dist/adapters/database/extra-attribute-repository/repository.mjs +53 -0
  167. package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -0
  168. package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs +61 -0
  169. package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -0
  170. package/dist/adapters/database/extra-attribute-repository/tree/index.mjs +2 -0
  171. package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs +147 -0
  172. package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -0
  173. package/dist/adapters/database/extra-attribute-repository/types.mjs +1 -0
  174. package/dist/adapters/database/helpers/index.mjs +2 -0
  175. package/dist/adapters/database/helpers/is-supported.mjs +13 -0
  176. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -0
  177. package/dist/adapters/database/index.mjs +70 -0
  178. package/dist/adapters/database/logger/index.mjs +2 -0
  179. package/dist/adapters/database/logger/module.mjs +39 -0
  180. package/dist/adapters/database/logger/module.mjs.map +1 -0
  181. package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs +865 -0
  182. package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs.map +1 -0
  183. package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs +38 -0
  184. package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs.map +1 -0
  185. package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs +559 -0
  186. package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs.map +1 -0
  187. package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs +109 -0
  188. package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs.map +1 -0
  189. package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs +250 -0
  190. package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs.map +1 -0
  191. package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs +229 -0
  192. package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs.map +1 -0
  193. package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs +87 -0
  194. package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs.map +1 -0
  195. package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs +863 -0
  196. package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs.map +1 -0
  197. package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs +43 -0
  198. package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs.map +1 -0
  199. package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs +565 -0
  200. package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs.map +1 -0
  201. package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs +113 -0
  202. package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs.map +1 -0
  203. package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs +235 -0
  204. package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs.map +1 -0
  205. package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs +245 -0
  206. package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs.map +1 -0
  207. package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs +91 -0
  208. package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs.map +1 -0
  209. package/dist/adapters/http/adapters/index.mjs +10 -0
  210. package/dist/adapters/http/adapters/oauth2/authorization/index.mjs +2 -0
  211. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +36 -0
  212. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -0
  213. package/dist/adapters/http/adapters/oauth2/authorization/types.mjs +1 -0
  214. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +37 -0
  215. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -0
  216. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +37 -0
  217. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -0
  218. package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs +19 -0
  219. package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs.map +1 -0
  220. package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +9 -0
  221. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +24 -0
  222. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -0
  223. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +18 -0
  224. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -0
  225. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +24 -0
  226. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +1 -0
  227. package/dist/adapters/http/adapters/oauth2/grant-types/types.mjs +1 -0
  228. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +34 -0
  229. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -0
  230. package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.mjs +2 -0
  231. package/dist/adapters/http/adapters/oauth2/index.mjs +11 -0
  232. package/dist/adapters/http/controllers/entities/client/index.mjs +2 -0
  233. package/dist/adapters/http/controllers/entities/client/module.mjs +168 -0
  234. package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -0
  235. package/dist/adapters/http/controllers/entities/client-permission/index.mjs +4 -0
  236. package/dist/adapters/http/controllers/entities/client-permission/module.mjs +124 -0
  237. package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -0
  238. package/dist/adapters/http/controllers/entities/client-permission/utils/index.mjs +2 -0
  239. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +23 -0
  240. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -0
  241. package/dist/adapters/http/controllers/entities/client-role/index.mjs +4 -0
  242. package/dist/adapters/http/controllers/entities/client-role/module.mjs +105 -0
  243. package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -0
  244. package/dist/adapters/http/controllers/entities/client-role/utils/index.mjs +2 -0
  245. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +20 -0
  246. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -0
  247. package/dist/adapters/http/controllers/entities/client-scope/index.mjs +4 -0
  248. package/dist/adapters/http/controllers/entities/client-scope/module.mjs +105 -0
  249. package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -0
  250. package/dist/adapters/http/controllers/entities/client-scope/utils/index.mjs +2 -0
  251. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +20 -0
  252. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -0
  253. package/dist/adapters/http/controllers/entities/identity-provide-role/index.mjs +2 -0
  254. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +124 -0
  255. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -0
  256. package/dist/adapters/http/controllers/entities/identity-provider/index.mjs +2 -0
  257. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +358 -0
  258. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -0
  259. package/dist/adapters/http/controllers/entities/identity-provider/types.mjs +1 -0
  260. package/dist/adapters/http/controllers/entities/index.mjs +55 -0
  261. package/dist/adapters/http/controllers/entities/permission/index.mjs +2 -0
  262. package/dist/adapters/http/controllers/entities/permission/module.mjs +207 -0
  263. package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -0
  264. package/dist/adapters/http/controllers/entities/permission-policy/index.mjs +2 -0
  265. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +105 -0
  266. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -0
  267. package/dist/adapters/http/controllers/entities/policy/index.mjs +5 -0
  268. package/dist/adapters/http/controllers/entities/policy/module.mjs +216 -0
  269. package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -0
  270. package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs +42 -0
  271. package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs.map +1 -0
  272. package/dist/adapters/http/controllers/entities/policy/utils/index.mjs +3 -0
  273. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +61 -0
  274. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -0
  275. package/dist/adapters/http/controllers/entities/realm/index.mjs +2 -0
  276. package/dist/adapters/http/controllers/entities/realm/module.mjs +219 -0
  277. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -0
  278. package/dist/adapters/http/controllers/entities/robot/index.mjs +2 -0
  279. package/dist/adapters/http/controllers/entities/robot/module.mjs +190 -0
  280. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +1 -0
  281. package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +4 -0
  282. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +124 -0
  283. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +1 -0
  284. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +2 -0
  285. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +23 -0
  286. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +1 -0
  287. package/dist/adapters/http/controllers/entities/robot-role/index.mjs +4 -0
  288. package/dist/adapters/http/controllers/entities/robot-role/module.mjs +105 -0
  289. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +1 -0
  290. package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +2 -0
  291. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +20 -0
  292. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +1 -0
  293. package/dist/adapters/http/controllers/entities/role/index.mjs +2 -0
  294. package/dist/adapters/http/controllers/entities/role/module.mjs +145 -0
  295. package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -0
  296. package/dist/adapters/http/controllers/entities/role-attribute/index.mjs +4 -0
  297. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +124 -0
  298. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -0
  299. package/dist/adapters/http/controllers/entities/role-attribute/utils/index.mjs +2 -0
  300. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +29 -0
  301. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -0
  302. package/dist/adapters/http/controllers/entities/role-permission/index.mjs +4 -0
  303. package/dist/adapters/http/controllers/entities/role-permission/module.mjs +124 -0
  304. package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -0
  305. package/dist/adapters/http/controllers/entities/role-permission/utils/index.mjs +2 -0
  306. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +23 -0
  307. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -0
  308. package/dist/adapters/http/controllers/entities/scope/index.mjs +2 -0
  309. package/dist/adapters/http/controllers/entities/scope/module.mjs +145 -0
  310. package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -0
  311. package/dist/adapters/http/controllers/entities/user/index.mjs +2 -0
  312. package/dist/adapters/http/controllers/entities/user/module.mjs +149 -0
  313. package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -0
  314. package/dist/adapters/http/controllers/entities/user-attribute/index.mjs +4 -0
  315. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +124 -0
  316. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -0
  317. package/dist/adapters/http/controllers/entities/user-attribute/utils/authorization.mjs +35 -0
  318. package/dist/adapters/http/controllers/entities/user-attribute/utils/authorization.mjs.map +1 -0
  319. package/dist/adapters/http/controllers/entities/user-attribute/utils/index.mjs +2 -0
  320. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +32 -0
  321. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -0
  322. package/dist/adapters/http/controllers/entities/user-permission/index.mjs +4 -0
  323. package/dist/adapters/http/controllers/entities/user-permission/module.mjs +124 -0
  324. package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -0
  325. package/dist/adapters/http/controllers/entities/user-permission/utils/index.mjs +2 -0
  326. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +23 -0
  327. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -0
  328. package/dist/adapters/http/controllers/entities/user-role/index.mjs +4 -0
  329. package/dist/adapters/http/controllers/entities/user-role/module.mjs +105 -0
  330. package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -0
  331. package/dist/adapters/http/controllers/entities/user-role/utils/index.mjs +2 -0
  332. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +20 -0
  333. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -0
  334. package/dist/adapters/http/controllers/index.mjs +46 -0
  335. package/dist/adapters/http/controllers/workflows/activate/index.mjs +2 -0
  336. package/dist/adapters/http/controllers/workflows/activate/module.mjs +51 -0
  337. package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -0
  338. package/dist/adapters/http/controllers/workflows/activate/validator.mjs +18 -0
  339. package/dist/adapters/http/controllers/workflows/activate/validator.mjs.map +1 -0
  340. package/dist/adapters/http/controllers/workflows/authorize/index.mjs +2 -0
  341. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +137 -0
  342. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -0
  343. package/dist/adapters/http/controllers/workflows/authorize/types.mjs +1 -0
  344. package/dist/adapters/http/controllers/workflows/index.mjs +20 -0
  345. package/dist/adapters/http/controllers/workflows/jwks/handlers/index.mjs +2 -0
  346. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +50 -0
  347. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -0
  348. package/dist/adapters/http/controllers/workflows/jwks/index.mjs +4 -0
  349. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +96 -0
  350. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -0
  351. package/dist/adapters/http/controllers/workflows/openid/index.mjs +2 -0
  352. package/dist/adapters/http/controllers/workflows/openid/module.mjs +60 -0
  353. package/dist/adapters/http/controllers/workflows/openid/module.mjs.map +1 -0
  354. package/dist/adapters/http/controllers/workflows/password-forgot/index.mjs +2 -0
  355. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +48 -0
  356. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -0
  357. package/dist/adapters/http/controllers/workflows/password-reset/index.mjs +2 -0
  358. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +48 -0
  359. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -0
  360. package/dist/adapters/http/controllers/workflows/register/index.mjs +2 -0
  361. package/dist/adapters/http/controllers/workflows/register/module.mjs +48 -0
  362. package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -0
  363. package/dist/adapters/http/controllers/workflows/status/index.mjs +2 -0
  364. package/dist/adapters/http/controllers/workflows/status/module.mjs +35 -0
  365. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -0
  366. package/dist/adapters/http/controllers/workflows/token/index.mjs +2 -0
  367. package/dist/adapters/http/controllers/workflows/token/module.mjs +174 -0
  368. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -0
  369. package/dist/adapters/http/controllers/workflows/token/types.mjs +1 -0
  370. package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs +27 -0
  371. package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -0
  372. package/dist/adapters/http/controllers/workflows/token/utils/index.mjs +3 -0
  373. package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs +18 -0
  374. package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs.map +1 -0
  375. package/dist/adapters/http/index.mjs +81 -0
  376. package/dist/adapters/http/middleware/built-in/assets.mjs +44 -0
  377. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -0
  378. package/dist/adapters/http/middleware/built-in/authorization/factory.mjs +11 -0
  379. package/dist/adapters/http/middleware/built-in/authorization/factory.mjs.map +1 -0
  380. package/dist/adapters/http/middleware/built-in/authorization/index.mjs +3 -0
  381. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +131 -0
  382. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -0
  383. package/dist/adapters/http/middleware/built-in/authorization/types.mjs +1 -0
  384. package/dist/adapters/http/middleware/built-in/basic.mjs +9 -0
  385. package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -0
  386. package/dist/adapters/http/middleware/built-in/cors.mjs +17 -0
  387. package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -0
  388. package/dist/adapters/http/middleware/built-in/error.mjs +32 -0
  389. package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -0
  390. package/dist/adapters/http/middleware/built-in/index.mjs +15 -0
  391. package/dist/adapters/http/middleware/built-in/loggedin/index.mjs +3 -0
  392. package/dist/adapters/http/middleware/built-in/loggedin/module.mjs +13 -0
  393. package/dist/adapters/http/middleware/built-in/loggedin/module.mjs.map +1 -0
  394. package/dist/adapters/http/middleware/built-in/loggedin/user.mjs +15 -0
  395. package/dist/adapters/http/middleware/built-in/loggedin/user.mjs.map +1 -0
  396. package/dist/adapters/http/middleware/built-in/logger.mjs +39 -0
  397. package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -0
  398. package/dist/adapters/http/middleware/built-in/prometheus.mjs +19 -0
  399. package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -0
  400. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +25 -0
  401. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -0
  402. package/dist/adapters/http/middleware/built-in/swagger.mjs +22 -0
  403. package/dist/adapters/http/middleware/built-in/swagger.mjs.map +1 -0
  404. package/dist/adapters/http/middleware/index.mjs +14 -0
  405. package/dist/adapters/http/request/constants.mjs +13 -0
  406. package/dist/adapters/http/request/constants.mjs.map +1 -0
  407. package/dist/adapters/http/request/helpers/actor.mjs +14 -0
  408. package/dist/adapters/http/request/helpers/actor.mjs.map +1 -0
  409. package/dist/adapters/http/request/helpers/body-realm-id.mjs +13 -0
  410. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -0
  411. package/dist/adapters/http/request/helpers/identity.mjs +52 -0
  412. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -0
  413. package/dist/adapters/http/request/helpers/index.mjs +7 -0
  414. package/dist/adapters/http/request/helpers/param-id.mjs +36 -0
  415. package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -0
  416. package/dist/adapters/http/request/helpers/scopes.mjs +13 -0
  417. package/dist/adapters/http/request/helpers/scopes.mjs.map +1 -0
  418. package/dist/adapters/http/request/helpers/token.mjs +13 -0
  419. package/dist/adapters/http/request/helpers/token.mjs.map +1 -0
  420. package/dist/adapters/http/request/index.mjs +12 -0
  421. package/dist/adapters/http/request/permission/helper.mjs +15 -0
  422. package/dist/adapters/http/request/permission/helper.mjs.map +1 -0
  423. package/dist/adapters/http/request/permission/index.mjs +3 -0
  424. package/dist/adapters/http/request/permission/module.mjs +37 -0
  425. package/dist/adapters/http/request/permission/module.mjs.map +1 -0
  426. package/dist/adapters/http/server/index.mjs +2 -0
  427. package/dist/adapters/http/server/module.mjs +10 -0
  428. package/dist/adapters/http/server/module.mjs.map +1 -0
  429. package/dist/adapters/http/server/type.mjs +1 -0
  430. package/dist/adapters/http/swagger/index.mjs +2 -0
  431. package/dist/adapters/http/swagger/module.mjs +75 -0
  432. package/dist/adapters/http/swagger/module.mjs.map +1 -0
  433. package/dist/adapters/http/swagger/type.mjs +1 -0
  434. package/dist/adapters/shared/ldap/factory.mjs +11 -0
  435. package/dist/adapters/shared/ldap/factory.mjs.map +1 -0
  436. package/dist/adapters/shared/ldap/index.mjs +3 -0
  437. package/dist/adapters/shared/ldap/module.mjs +172 -0
  438. package/dist/adapters/shared/ldap/module.mjs.map +1 -0
  439. package/dist/adapters/shared/ldap/types.mjs +1 -0
  440. package/dist/app/builder.mjs +108 -0
  441. package/dist/app/builder.mjs.map +1 -0
  442. package/dist/app/factory.mjs +12 -0
  443. package/dist/app/factory.mjs.map +1 -0
  444. package/dist/app/index.mjs +63 -0
  445. package/dist/app/module.mjs +2 -0
  446. package/dist/app/modules/authentication/constants.mjs +10 -0
  447. package/dist/app/modules/authentication/constants.mjs.map +1 -0
  448. package/dist/app/modules/authentication/index.mjs +5 -0
  449. package/dist/app/modules/authentication/module.mjs +44 -0
  450. package/dist/app/modules/authentication/module.mjs.map +1 -0
  451. package/dist/app/modules/authentication/repositories/constants.mjs +9 -0
  452. package/dist/app/modules/authentication/repositories/constants.mjs.map +1 -0
  453. package/dist/app/modules/authentication/repositories/index.mjs +2 -0
  454. package/dist/app/modules/authentication/repositories/session.mjs +43 -0
  455. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -0
  456. package/dist/app/modules/cache/constants.mjs +7 -0
  457. package/dist/app/modules/cache/constants.mjs.map +1 -0
  458. package/dist/app/modules/cache/index.mjs +3 -0
  459. package/dist/app/modules/cache/module.mjs +26 -0
  460. package/dist/app/modules/cache/module.mjs.map +1 -0
  461. package/dist/app/modules/components/index.mjs +2 -0
  462. package/dist/app/modules/components/module.mjs +23 -0
  463. package/dist/app/modules/components/module.mjs.map +1 -0
  464. package/dist/app/modules/config/constants.mjs +36 -0
  465. package/dist/app/modules/config/constants.mjs.map +1 -0
  466. package/dist/app/modules/config/index.mjs +3 -0
  467. package/dist/app/modules/config/module.mjs +34 -0
  468. package/dist/app/modules/config/module.mjs.map +1 -0
  469. package/dist/app/modules/config/normalize.mjs +64 -0
  470. package/dist/app/modules/config/normalize.mjs.map +1 -0
  471. package/dist/app/modules/config/parse.mjs +55 -0
  472. package/dist/app/modules/config/parse.mjs.map +1 -0
  473. package/dist/app/modules/config/read/env.mjs +65 -0
  474. package/dist/app/modules/config/read/env.mjs.map +1 -0
  475. package/dist/app/modules/config/read/fs.mjs +34 -0
  476. package/dist/app/modules/config/read/fs.mjs.map +1 -0
  477. package/dist/app/modules/config/read/index.mjs +4 -0
  478. package/dist/app/modules/config/read/module.mjs +21 -0
  479. package/dist/app/modules/config/read/module.mjs.map +1 -0
  480. package/dist/app/modules/config/read/types.mjs +1 -0
  481. package/dist/app/modules/config/types.mjs +1 -0
  482. package/dist/app/modules/constants.mjs +21 -0
  483. package/dist/app/modules/constants.mjs.map +1 -0
  484. package/dist/app/modules/database/constants.mjs +7 -0
  485. package/dist/app/modules/database/constants.mjs.map +1 -0
  486. package/dist/app/modules/database/index.mjs +26 -0
  487. package/dist/app/modules/database/module.mjs +116 -0
  488. package/dist/app/modules/database/module.mjs.map +1 -0
  489. package/dist/app/modules/database/repositories/client/index.mjs +2 -0
  490. package/dist/app/modules/database/repositories/client/repository.mjs +131 -0
  491. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -0
  492. package/dist/app/modules/database/repositories/client-permission/index.mjs +2 -0
  493. package/dist/app/modules/database/repositories/client-permission/repository.mjs +76 -0
  494. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -0
  495. package/dist/app/modules/database/repositories/client-role/index.mjs +2 -0
  496. package/dist/app/modules/database/repositories/client-role/repository.mjs +76 -0
  497. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -0
  498. package/dist/app/modules/database/repositories/client-scope/index.mjs +2 -0
  499. package/dist/app/modules/database/repositories/client-scope/repository.mjs +76 -0
  500. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -0
  501. package/dist/app/modules/database/repositories/helpers.mjs +15 -0
  502. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -0
  503. package/dist/app/modules/database/repositories/identity-provider/index.mjs +2 -0
  504. package/dist/app/modules/database/repositories/identity-provider/repository.mjs +135 -0
  505. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -0
  506. package/dist/app/modules/database/repositories/identity-provider-role-mapping/index.mjs +2 -0
  507. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +76 -0
  508. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -0
  509. package/dist/app/modules/database/repositories/index.mjs +45 -0
  510. package/dist/app/modules/database/repositories/permission/index.mjs +2 -0
  511. package/dist/app/modules/database/repositories/permission/repository.mjs +97 -0
  512. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -0
  513. package/dist/app/modules/database/repositories/permission-policy/index.mjs +2 -0
  514. package/dist/app/modules/database/repositories/permission-policy/repository.mjs +76 -0
  515. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -0
  516. package/dist/app/modules/database/repositories/permission-provider/index.mjs +2 -0
  517. package/dist/app/modules/database/repositories/permission-provider/module.mjs +60 -0
  518. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -0
  519. package/dist/app/modules/database/repositories/policy/index.mjs +2 -0
  520. package/dist/app/modules/database/repositories/policy/repository.mjs +129 -0
  521. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -0
  522. package/dist/app/modules/database/repositories/realm/index.mjs +2 -0
  523. package/dist/app/modules/database/repositories/realm/repository.mjs +94 -0
  524. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -0
  525. package/dist/app/modules/database/repositories/robot/index.mjs +2 -0
  526. package/dist/app/modules/database/repositories/robot/repository.mjs +125 -0
  527. package/dist/app/modules/database/repositories/robot/repository.mjs.map +1 -0
  528. package/dist/app/modules/database/repositories/robot-permission/index.mjs +2 -0
  529. package/dist/app/modules/database/repositories/robot-permission/repository.mjs +76 -0
  530. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +1 -0
  531. package/dist/app/modules/database/repositories/robot-role/index.mjs +2 -0
  532. package/dist/app/modules/database/repositories/robot-role/repository.mjs +76 -0
  533. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +1 -0
  534. package/dist/app/modules/database/repositories/role/index.mjs +2 -0
  535. package/dist/app/modules/database/repositories/role/repository.mjs +106 -0
  536. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -0
  537. package/dist/app/modules/database/repositories/role-attribute/index.mjs +2 -0
  538. package/dist/app/modules/database/repositories/role-attribute/repository.mjs +78 -0
  539. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -0
  540. package/dist/app/modules/database/repositories/role-permission/index.mjs +2 -0
  541. package/dist/app/modules/database/repositories/role-permission/repository.mjs +76 -0
  542. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -0
  543. package/dist/app/modules/database/repositories/scope/index.mjs +2 -0
  544. package/dist/app/modules/database/repositories/scope/repository.mjs +106 -0
  545. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -0
  546. package/dist/app/modules/database/repositories/user/index.mjs +2 -0
  547. package/dist/app/modules/database/repositories/user/repository.mjs +166 -0
  548. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -0
  549. package/dist/app/modules/database/repositories/user-attribute/index.mjs +2 -0
  550. package/dist/app/modules/database/repositories/user-attribute/repository.mjs +78 -0
  551. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -0
  552. package/dist/app/modules/database/repositories/user-permission/index.mjs +2 -0
  553. package/dist/app/modules/database/repositories/user-permission/repository.mjs +76 -0
  554. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -0
  555. package/dist/app/modules/database/repositories/user-role/index.mjs +2 -0
  556. package/dist/app/modules/database/repositories/user-role/repository.mjs +76 -0
  557. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -0
  558. package/dist/app/modules/http/constants.mjs +7 -0
  559. package/dist/app/modules/http/constants.mjs.map +1 -0
  560. package/dist/app/modules/http/index.mjs +3 -0
  561. package/dist/app/modules/http/module.mjs +68 -0
  562. package/dist/app/modules/http/module.mjs.map +1 -0
  563. package/dist/app/modules/http/modules/controller.mjs +506 -0
  564. package/dist/app/modules/http/modules/controller.mjs.map +1 -0
  565. package/dist/app/modules/http/modules/index.mjs +3 -0
  566. package/dist/app/modules/http/modules/middleware.mjs +120 -0
  567. package/dist/app/modules/http/modules/middleware.mjs.map +1 -0
  568. package/dist/app/modules/identity/constants.mjs +11 -0
  569. package/dist/app/modules/identity/constants.mjs.map +1 -0
  570. package/dist/app/modules/identity/index.mjs +11 -0
  571. package/dist/app/modules/identity/module.mjs +78 -0
  572. package/dist/app/modules/identity/module.mjs.map +1 -0
  573. package/dist/app/modules/identity/repositories/client.mjs +44 -0
  574. package/dist/app/modules/identity/repositories/client.mjs.map +1 -0
  575. package/dist/app/modules/identity/repositories/index.mjs +9 -0
  576. package/dist/app/modules/identity/repositories/provider/account/index.mjs +2 -0
  577. package/dist/app/modules/identity/repositories/provider/account/module.mjs +22 -0
  578. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -0
  579. package/dist/app/modules/identity/repositories/provider/index.mjs +7 -0
  580. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +13 -0
  581. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -0
  582. package/dist/app/modules/identity/repositories/provider/mapper/index.mjs +4 -0
  583. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +13 -0
  584. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -0
  585. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +13 -0
  586. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -0
  587. package/dist/app/modules/identity/repositories/robot.mjs +44 -0
  588. package/dist/app/modules/identity/repositories/robot.mjs.map +1 -0
  589. package/dist/app/modules/identity/repositories/user.mjs +113 -0
  590. package/dist/app/modules/identity/repositories/user.mjs.map +1 -0
  591. package/dist/app/modules/index.mjs +73 -0
  592. package/dist/app/modules/ldap/constants.mjs +7 -0
  593. package/dist/app/modules/ldap/constants.mjs.map +1 -0
  594. package/dist/app/modules/ldap/index.mjs +3 -0
  595. package/dist/app/modules/ldap/module.mjs +18 -0
  596. package/dist/app/modules/ldap/module.mjs.map +1 -0
  597. package/dist/app/modules/logger/constants.mjs +7 -0
  598. package/dist/app/modules/logger/constants.mjs.map +1 -0
  599. package/dist/app/modules/logger/index.mjs +3 -0
  600. package/dist/app/modules/logger/module.mjs +33 -0
  601. package/dist/app/modules/logger/module.mjs.map +1 -0
  602. package/dist/app/modules/mail/adapter/index.mjs +3 -0
  603. package/dist/app/modules/mail/adapter/smtp/module.mjs +29 -0
  604. package/dist/app/modules/mail/adapter/smtp/module.mjs.map +1 -0
  605. package/dist/app/modules/mail/adapter/smtp/smtp.mjs +20 -0
  606. package/dist/app/modules/mail/adapter/smtp/smtp.mjs.map +1 -0
  607. package/dist/app/modules/mail/adapter/smtp/types.mjs +1 -0
  608. package/dist/app/modules/mail/adapter/void.mjs +10 -0
  609. package/dist/app/modules/mail/adapter/void.mjs.map +1 -0
  610. package/dist/app/modules/mail/constants.mjs +7 -0
  611. package/dist/app/modules/mail/constants.mjs.map +1 -0
  612. package/dist/app/modules/mail/index.mjs +3 -0
  613. package/dist/app/modules/mail/module.mjs +28 -0
  614. package/dist/app/modules/mail/module.mjs.map +1 -0
  615. package/dist/app/modules/oauth2/constants.mjs +24 -0
  616. package/dist/app/modules/oauth2/constants.mjs.map +1 -0
  617. package/dist/app/modules/oauth2/index.mjs +3 -0
  618. package/dist/app/modules/oauth2/module.mjs +113 -0
  619. package/dist/app/modules/oauth2/module.mjs.map +1 -0
  620. package/dist/app/modules/oauth2/repositories/authorize/code/index.mjs +2 -0
  621. package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs +46 -0
  622. package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs.map +1 -0
  623. package/dist/app/modules/oauth2/repositories/authorize/index.mjs +5 -0
  624. package/dist/app/modules/oauth2/repositories/authorize/state/index.mjs +2 -0
  625. package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs +37 -0
  626. package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs.map +1 -0
  627. package/dist/app/modules/oauth2/repositories/client/index.mjs +2 -0
  628. package/dist/app/modules/oauth2/repositories/client/repository.mjs +22 -0
  629. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -0
  630. package/dist/app/modules/oauth2/repositories/constants.mjs +13 -0
  631. package/dist/app/modules/oauth2/repositories/constants.mjs.map +1 -0
  632. package/dist/app/modules/oauth2/repositories/index.mjs +11 -0
  633. package/dist/app/modules/oauth2/repositories/key/index.mjs +2 -0
  634. package/dist/app/modules/oauth2/repositories/key/repository.mjs +45 -0
  635. package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +1 -0
  636. package/dist/app/modules/oauth2/repositories/scope/index.mjs +2 -0
  637. package/dist/app/modules/oauth2/repositories/scope/repository.mjs +17 -0
  638. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -0
  639. package/dist/app/modules/oauth2/repositories/token/index.mjs +2 -0
  640. package/dist/app/modules/oauth2/repositories/token/repository.mjs +83 -0
  641. package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -0
  642. package/dist/app/modules/provisioning/index.mjs +6 -0
  643. package/dist/app/modules/provisioning/module.mjs +170 -0
  644. package/dist/app/modules/provisioning/module.mjs.map +1 -0
  645. package/dist/app/modules/provisioning/sources/composite/index.mjs +2 -0
  646. package/dist/app/modules/provisioning/sources/composite/module.mjs +43 -0
  647. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -0
  648. package/dist/app/modules/provisioning/sources/default/index.mjs +2 -0
  649. package/dist/app/modules/provisioning/sources/default/module.mjs +250 -0
  650. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -0
  651. package/dist/app/modules/provisioning/sources/default/types.mjs +1 -0
  652. package/dist/app/modules/provisioning/sources/file/index.mjs +2 -0
  653. package/dist/app/modules/provisioning/sources/file/module.mjs +29 -0
  654. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -0
  655. package/dist/app/modules/provisioning/sources/file/types.mjs +1 -0
  656. package/dist/app/modules/provisioning/sources/index.mjs +6 -0
  657. package/dist/app/modules/runtime/index.mjs +2 -0
  658. package/dist/app/modules/runtime/module.mjs +28 -0
  659. package/dist/app/modules/runtime/module.mjs.map +1 -0
  660. package/dist/app/modules/swagger/index.mjs +2 -0
  661. package/dist/app/modules/swagger/module.mjs +32 -0
  662. package/dist/app/modules/swagger/module.mjs.map +1 -0
  663. package/dist/app/types.mjs +1 -0
  664. package/dist/cli/commands/healthcheck.mjs +34 -0
  665. package/dist/cli/commands/healthcheck.mjs.map +1 -0
  666. package/dist/cli/commands/index.mjs +6 -0
  667. package/dist/cli/commands/migration.mjs +133 -0
  668. package/dist/cli/commands/migration.mjs.map +1 -0
  669. package/dist/cli/commands/reset.mjs +20 -0
  670. package/dist/cli/commands/reset.mjs.map +1 -0
  671. package/dist/cli/commands/start.mjs +16 -0
  672. package/dist/cli/commands/start.mjs.map +1 -0
  673. package/dist/cli/commands/swagger.mjs +29 -0
  674. package/dist/cli/commands/swagger.mjs.map +1 -0
  675. package/dist/cli/index.mjs +18 -0
  676. package/dist/cli/index.mjs.map +1 -0
  677. package/dist/{cli.mjs → cli/module.mjs} +14 -19
  678. package/dist/cli/module.mjs.map +1 -0
  679. package/dist/components/database/index.mjs +4 -0
  680. package/dist/components/database/unique-entries/factory.mjs +9 -0
  681. package/dist/components/database/unique-entries/factory.mjs.map +1 -0
  682. package/dist/components/database/unique-entries/index.mjs +3 -0
  683. package/dist/components/database/unique-entries/module.mjs +66 -0
  684. package/dist/components/database/unique-entries/module.mjs.map +1 -0
  685. package/dist/components/index.mjs +6 -0
  686. package/dist/components/oauth2-cleaner/index.mjs +2 -0
  687. package/dist/components/oauth2-cleaner/module.mjs +22 -0
  688. package/dist/components/oauth2-cleaner/module.mjs.map +1 -0
  689. package/dist/components/types.mjs +1 -0
  690. package/dist/core/authentication/base.mjs +20 -0
  691. package/dist/core/authentication/base.mjs.map +1 -0
  692. package/dist/core/authentication/credential/entities/client/index.mjs +2 -0
  693. package/dist/core/authentication/credential/entities/client/module.mjs +21 -0
  694. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -0
  695. package/dist/core/authentication/credential/entities/index.mjs +7 -0
  696. package/dist/core/authentication/credential/entities/robot/index.mjs +2 -0
  697. package/dist/core/authentication/credential/entities/robot/module.mjs +19 -0
  698. package/dist/core/authentication/credential/entities/robot/module.mjs.map +1 -0
  699. package/dist/core/authentication/credential/entities/user/index.mjs +2 -0
  700. package/dist/core/authentication/credential/entities/user/module.mjs +15 -0
  701. package/dist/core/authentication/credential/entities/user/module.mjs.map +1 -0
  702. package/dist/core/authentication/credential/index.mjs +5 -0
  703. package/dist/core/authentication/credential/types.mjs +1 -0
  704. package/dist/core/authentication/entities/client/index.mjs +2 -0
  705. package/dist/core/authentication/entities/client/module.mjs +27 -0
  706. package/dist/core/authentication/entities/client/module.mjs.map +1 -0
  707. package/dist/core/authentication/entities/index.mjs +7 -0
  708. package/dist/core/authentication/entities/robot/index.mjs +2 -0
  709. package/dist/core/authentication/entities/robot/module.mjs +25 -0
  710. package/dist/core/authentication/entities/robot/module.mjs.map +1 -0
  711. package/dist/core/authentication/entities/user/index.mjs +2 -0
  712. package/dist/core/authentication/entities/user/module.mjs +25 -0
  713. package/dist/core/authentication/entities/user/module.mjs.map +1 -0
  714. package/dist/core/authentication/index.mjs +13 -0
  715. package/dist/core/authentication/module.mjs +23 -0
  716. package/dist/core/authentication/module.mjs.map +1 -0
  717. package/dist/core/authentication/session/index.mjs +2 -0
  718. package/dist/core/authentication/session/module.mjs +65 -0
  719. package/dist/core/authentication/session/module.mjs.map +1 -0
  720. package/dist/core/authentication/session/types.mjs +1 -0
  721. package/dist/core/authentication/types.mjs +1 -0
  722. package/dist/core/entities/actor/index.mjs +1 -0
  723. package/dist/core/entities/actor/types.mjs +1 -0
  724. package/dist/core/entities/client/index.mjs +2 -0
  725. package/dist/core/entities/client/service.mjs +168 -0
  726. package/dist/core/entities/client/service.mjs.map +1 -0
  727. package/dist/core/entities/client/types.mjs +1 -0
  728. package/dist/core/entities/client-permission/index.mjs +2 -0
  729. package/dist/core/entities/client-permission/service.mjs +93 -0
  730. package/dist/core/entities/client-permission/service.mjs.map +1 -0
  731. package/dist/core/entities/client-permission/types.mjs +1 -0
  732. package/dist/core/entities/client-role/index.mjs +2 -0
  733. package/dist/core/entities/client-role/service.mjs +79 -0
  734. package/dist/core/entities/client-role/service.mjs.map +1 -0
  735. package/dist/core/entities/client-role/types.mjs +1 -0
  736. package/dist/core/entities/client-scope/index.mjs +2 -0
  737. package/dist/core/entities/client-scope/service.mjs +67 -0
  738. package/dist/core/entities/client-scope/service.mjs.map +1 -0
  739. package/dist/core/entities/client-scope/types.mjs +1 -0
  740. package/dist/core/entities/identity-provider/index.mjs +1 -0
  741. package/dist/core/entities/identity-provider/types.mjs +1 -0
  742. package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -0
  743. package/dist/core/entities/identity-provider-role-mapping/service.mjs +93 -0
  744. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -0
  745. package/dist/core/entities/identity-provider-role-mapping/types.mjs +1 -0
  746. package/dist/core/entities/index.mjs +42 -0
  747. package/dist/core/entities/permission/index.mjs +2 -0
  748. package/dist/core/entities/permission/service.mjs +238 -0
  749. package/dist/core/entities/permission/service.mjs.map +1 -0
  750. package/dist/core/entities/permission/types.mjs +1 -0
  751. package/dist/core/entities/permission-policy/index.mjs +2 -0
  752. package/dist/core/entities/permission-policy/service.mjs +59 -0
  753. package/dist/core/entities/permission-policy/service.mjs.map +1 -0
  754. package/dist/core/entities/permission-policy/types.mjs +1 -0
  755. package/dist/core/entities/policy/attributes-validator.mjs +32 -0
  756. package/dist/core/entities/policy/attributes-validator.mjs.map +1 -0
  757. package/dist/core/entities/policy/index.mjs +2 -0
  758. package/dist/core/entities/policy/service.mjs +128 -0
  759. package/dist/core/entities/policy/service.mjs.map +1 -0
  760. package/dist/core/entities/policy/types.mjs +1 -0
  761. package/dist/core/entities/realm/index.mjs +2 -0
  762. package/dist/core/entities/realm/service.mjs +95 -0
  763. package/dist/core/entities/realm/service.mjs.map +1 -0
  764. package/dist/core/entities/realm/types.mjs +1 -0
  765. package/dist/core/entities/robot/index.mjs +2 -0
  766. package/dist/core/entities/robot/service.mjs +165 -0
  767. package/dist/core/entities/robot/service.mjs.map +1 -0
  768. package/dist/core/entities/robot/types.mjs +1 -0
  769. package/dist/core/entities/robot-permission/index.mjs +2 -0
  770. package/dist/core/entities/robot-permission/service.mjs +93 -0
  771. package/dist/core/entities/robot-permission/service.mjs.map +1 -0
  772. package/dist/core/entities/robot-permission/types.mjs +1 -0
  773. package/dist/core/entities/robot-role/index.mjs +2 -0
  774. package/dist/core/entities/robot-role/service.mjs +79 -0
  775. package/dist/core/entities/robot-role/service.mjs.map +1 -0
  776. package/dist/core/entities/robot-role/types.mjs +1 -0
  777. package/dist/core/entities/role/index.mjs +2 -0
  778. package/dist/core/entities/role/service.mjs +111 -0
  779. package/dist/core/entities/role/service.mjs.map +1 -0
  780. package/dist/core/entities/role/types.mjs +1 -0
  781. package/dist/core/entities/role-attribute/index.mjs +2 -0
  782. package/dist/core/entities/role-attribute/service.mjs +102 -0
  783. package/dist/core/entities/role-attribute/service.mjs.map +1 -0
  784. package/dist/core/entities/role-attribute/types.mjs +1 -0
  785. package/dist/core/entities/role-permission/index.mjs +2 -0
  786. package/dist/core/entities/role-permission/service.mjs +93 -0
  787. package/dist/core/entities/role-permission/service.mjs.map +1 -0
  788. package/dist/core/entities/role-permission/types.mjs +1 -0
  789. package/dist/core/entities/scope/index.mjs +2 -0
  790. package/dist/core/entities/scope/service.mjs +110 -0
  791. package/dist/core/entities/scope/service.mjs.map +1 -0
  792. package/dist/core/entities/scope/types.mjs +1 -0
  793. package/dist/core/entities/service.mjs +21 -0
  794. package/dist/core/entities/service.mjs.map +1 -0
  795. package/dist/core/entities/types.mjs +1 -0
  796. package/dist/core/entities/user/index.mjs +2 -0
  797. package/dist/core/entities/user/service.mjs +176 -0
  798. package/dist/core/entities/user/service.mjs.map +1 -0
  799. package/dist/core/entities/user/types.mjs +1 -0
  800. package/dist/core/entities/user-attribute/index.mjs +2 -0
  801. package/dist/core/entities/user-attribute/service.mjs +92 -0
  802. package/dist/core/entities/user-attribute/service.mjs.map +1 -0
  803. package/dist/core/entities/user-attribute/types.mjs +1 -0
  804. package/dist/core/entities/user-permission/index.mjs +2 -0
  805. package/dist/core/entities/user-permission/service.mjs +101 -0
  806. package/dist/core/entities/user-permission/service.mjs.map +1 -0
  807. package/dist/core/entities/user-permission/types.mjs +1 -0
  808. package/dist/core/entities/user-role/index.mjs +2 -0
  809. package/dist/core/entities/user-role/service.mjs +79 -0
  810. package/dist/core/entities/user-role/service.mjs.map +1 -0
  811. package/dist/core/entities/user-role/types.mjs +1 -0
  812. package/dist/core/identity/entities/client/index.mjs +1 -0
  813. package/dist/core/identity/entities/client/types.mjs +1 -0
  814. package/dist/core/identity/entities/index.mjs +1 -0
  815. package/dist/core/identity/entities/robot/index.mjs +1 -0
  816. package/dist/core/identity/entities/robot/types.mjs +1 -0
  817. package/dist/core/identity/entities/user/index.mjs +1 -0
  818. package/dist/core/identity/entities/user/types.mjs +1 -0
  819. package/dist/core/identity/index.mjs +27 -0
  820. package/dist/core/identity/password-recovery/index.mjs +2 -0
  821. package/dist/core/identity/password-recovery/service.mjs +124 -0
  822. package/dist/core/identity/password-recovery/service.mjs.map +1 -0
  823. package/dist/core/identity/password-recovery/types.mjs +1 -0
  824. package/dist/core/identity/permission/index.mjs +2 -0
  825. package/dist/core/identity/permission/module.mjs +90 -0
  826. package/dist/core/identity/permission/module.mjs.map +1 -0
  827. package/dist/core/identity/permission/types.mjs +1 -0
  828. package/dist/core/identity/provider/account/index.mjs +2 -0
  829. package/dist/core/identity/provider/account/module.mjs +141 -0
  830. package/dist/core/identity/provider/account/module.mjs.map +1 -0
  831. package/dist/core/identity/provider/account/types.mjs +1 -0
  832. package/dist/core/identity/provider/authentication/constants.mjs +7 -0
  833. package/dist/core/identity/provider/authentication/constants.mjs.map +1 -0
  834. package/dist/core/identity/provider/authentication/factory.mjs +24 -0
  835. package/dist/core/identity/provider/authentication/factory.mjs.map +1 -0
  836. package/dist/core/identity/provider/authentication/index.mjs +14 -0
  837. package/dist/core/identity/provider/authentication/presets/facebook.mjs +35 -0
  838. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -0
  839. package/dist/core/identity/provider/authentication/presets/github.mjs +37 -0
  840. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -0
  841. package/dist/core/identity/provider/authentication/presets/google.mjs +36 -0
  842. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -0
  843. package/dist/core/identity/provider/authentication/presets/index.mjs +6 -0
  844. package/dist/core/identity/provider/authentication/presets/instagram.mjs +30 -0
  845. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -0
  846. package/dist/core/identity/provider/authentication/presets/paypal.mjs +33 -0
  847. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -0
  848. package/dist/core/identity/provider/authentication/protocols/index.mjs +8 -0
  849. package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs +36 -0
  850. package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs.map +1 -0
  851. package/dist/core/identity/provider/authentication/protocols/ldap/index.mjs +3 -0
  852. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +154 -0
  853. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -0
  854. package/dist/core/identity/provider/authentication/protocols/ldap/types.mjs +1 -0
  855. package/dist/core/identity/provider/authentication/protocols/oauth2/index.mjs +2 -0
  856. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +62 -0
  857. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -0
  858. package/dist/core/identity/provider/authentication/protocols/oauth2/types.mjs +1 -0
  859. package/dist/core/identity/provider/authentication/protocols/open-id/index.mjs +2 -0
  860. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs +26 -0
  861. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -0
  862. package/dist/core/identity/provider/constants.mjs +10 -0
  863. package/dist/core/identity/provider/constants.mjs.map +1 -0
  864. package/dist/core/identity/provider/index.mjs +21 -0
  865. package/dist/core/identity/provider/mapper/attributes/index.mjs +2 -0
  866. package/dist/core/identity/provider/mapper/attributes/module.mjs +27 -0
  867. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -0
  868. package/dist/core/identity/provider/mapper/attributes/types.mjs +1 -0
  869. package/dist/core/identity/provider/mapper/base.mjs +26 -0
  870. package/dist/core/identity/provider/mapper/base.mjs.map +1 -0
  871. package/dist/core/identity/provider/mapper/constants.mjs +11 -0
  872. package/dist/core/identity/provider/mapper/constants.mjs.map +1 -0
  873. package/dist/core/identity/provider/mapper/index.mjs +9 -0
  874. package/dist/core/identity/provider/mapper/permission/index.mjs +2 -0
  875. package/dist/core/identity/provider/mapper/permission/module.mjs +26 -0
  876. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -0
  877. package/dist/core/identity/provider/mapper/permission/types.mjs +1 -0
  878. package/dist/core/identity/provider/mapper/role/index.mjs +2 -0
  879. package/dist/core/identity/provider/mapper/role/module.mjs +26 -0
  880. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -0
  881. package/dist/core/identity/provider/mapper/role/types.mjs +1 -0
  882. package/dist/core/identity/provider/mapper/types.mjs +1 -0
  883. package/dist/core/identity/provider/types.mjs +1 -0
  884. package/dist/core/identity/registration/index.mjs +2 -0
  885. package/dist/core/identity/registration/service.mjs +68 -0
  886. package/dist/core/identity/registration/service.mjs.map +1 -0
  887. package/dist/core/identity/registration/types.mjs +1 -0
  888. package/dist/core/identity/resolver/entities/ldap/module.mjs +8 -0
  889. package/dist/core/identity/resolver/entities/ldap/module.mjs.map +1 -0
  890. package/dist/core/identity/resolver/index.mjs +2 -0
  891. package/dist/core/identity/resolver/module.mjs +55 -0
  892. package/dist/core/identity/resolver/module.mjs.map +1 -0
  893. package/dist/core/identity/resolver/types.mjs +1 -0
  894. package/dist/core/index.mjs +104 -0
  895. package/dist/core/ldap/index.mjs +1 -0
  896. package/dist/core/ldap/types.mjs +1 -0
  897. package/dist/core/mail/index.mjs +1 -0
  898. package/dist/core/mail/types.mjs +1 -0
  899. package/dist/core/oauth2/authorization/code/index.mjs +4 -0
  900. package/dist/core/oauth2/authorization/code/issuer/index.mjs +2 -0
  901. package/dist/core/oauth2/authorization/code/issuer/module.mjs +33 -0
  902. package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -0
  903. package/dist/core/oauth2/authorization/code/issuer/types.mjs +1 -0
  904. package/dist/core/oauth2/authorization/code/repository/index.mjs +1 -0
  905. package/dist/core/oauth2/authorization/code/repository/types.mjs +1 -0
  906. package/dist/core/oauth2/authorization/code/verifier/index.mjs +2 -0
  907. package/dist/core/oauth2/authorization/code/verifier/module.mjs +27 -0
  908. package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -0
  909. package/dist/core/oauth2/authorization/code/verifier/types.mjs +1 -0
  910. package/dist/core/oauth2/authorization/code-request/index.mjs +4 -0
  911. package/dist/core/oauth2/authorization/code-request/validator.mjs +35 -0
  912. package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -0
  913. package/dist/core/oauth2/authorization/code-request/verifier/index.mjs +2 -0
  914. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +41 -0
  915. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -0
  916. package/dist/core/oauth2/authorization/code-request/verifier/types.mjs +1 -0
  917. package/dist/core/oauth2/authorization/helpers.mjs +27 -0
  918. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -0
  919. package/dist/core/oauth2/authorization/index.mjs +11 -0
  920. package/dist/core/oauth2/authorization/module.mjs +66 -0
  921. package/dist/core/oauth2/authorization/module.mjs.map +1 -0
  922. package/dist/core/oauth2/authorization/state/index.mjs +2 -0
  923. package/dist/core/oauth2/authorization/state/module.mjs +23 -0
  924. package/dist/core/oauth2/authorization/state/module.mjs.map +1 -0
  925. package/dist/core/oauth2/authorization/state/types.mjs +1 -0
  926. package/dist/core/oauth2/authorization/types.mjs +1 -0
  927. package/dist/core/oauth2/client/index.mjs +1 -0
  928. package/dist/core/oauth2/client/types.mjs +1 -0
  929. package/dist/core/oauth2/grant-types/authorize.mjs +50 -0
  930. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -0
  931. package/dist/core/oauth2/grant-types/base.mjs +13 -0
  932. package/dist/core/oauth2/grant-types/base.mjs.map +1 -0
  933. package/dist/core/oauth2/grant-types/client-credentials.mjs +35 -0
  934. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -0
  935. package/dist/core/oauth2/grant-types/identity.mjs +46 -0
  936. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -0
  937. package/dist/core/oauth2/grant-types/index.mjs +7 -0
  938. package/dist/core/oauth2/grant-types/password.mjs +48 -0
  939. package/dist/core/oauth2/grant-types/password.mjs.map +1 -0
  940. package/dist/core/oauth2/grant-types/refresh-token.mjs +53 -0
  941. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -0
  942. package/dist/core/oauth2/grant-types/robot-credentials.mjs +35 -0
  943. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +1 -0
  944. package/dist/core/oauth2/grant-types/types.mjs +1 -0
  945. package/dist/core/oauth2/helpers/erorr.mjs +26 -0
  946. package/dist/core/oauth2/helpers/erorr.mjs.map +1 -0
  947. package/dist/core/oauth2/helpers/index.mjs +2 -0
  948. package/dist/core/oauth2/index.mjs +28 -0
  949. package/dist/core/oauth2/key/index.mjs +1 -0
  950. package/dist/core/oauth2/key/types.mjs +1 -0
  951. package/dist/core/oauth2/openid/claims.mjs +75 -0
  952. package/dist/core/oauth2/openid/claims.mjs.map +1 -0
  953. package/dist/core/oauth2/openid/index.mjs +2 -0
  954. package/dist/core/oauth2/response/bearer.mjs +24 -0
  955. package/dist/core/oauth2/response/bearer.mjs.map +1 -0
  956. package/dist/core/oauth2/response/index.mjs +2 -0
  957. package/dist/core/oauth2/response/type.mjs +1 -0
  958. package/dist/core/oauth2/scope/index.mjs +2 -0
  959. package/dist/core/oauth2/scope/resolver.mjs +93 -0
  960. package/dist/core/oauth2/scope/resolver.mjs.map +1 -0
  961. package/dist/core/oauth2/scope/types.mjs +1 -0
  962. package/dist/core/oauth2/token/index.mjs +11 -0
  963. package/dist/core/oauth2/token/issuer/access/index.mjs +2 -0
  964. package/dist/core/oauth2/token/issuer/access/module.mjs +28 -0
  965. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -0
  966. package/dist/core/oauth2/token/issuer/base.mjs +26 -0
  967. package/dist/core/oauth2/token/issuer/base.mjs.map +1 -0
  968. package/dist/core/oauth2/token/issuer/index.mjs +7 -0
  969. package/dist/core/oauth2/token/issuer/open-id/index.mjs +2 -0
  970. package/dist/core/oauth2/token/issuer/open-id/module.mjs +47 -0
  971. package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -0
  972. package/dist/core/oauth2/token/issuer/open-id/types.mjs +1 -0
  973. package/dist/core/oauth2/token/issuer/refresh/index.mjs +2 -0
  974. package/dist/core/oauth2/token/issuer/refresh/module.mjs +28 -0
  975. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -0
  976. package/dist/core/oauth2/token/issuer/types.mjs +1 -0
  977. package/dist/core/oauth2/token/repository/index.mjs +1 -0
  978. package/dist/core/oauth2/token/repository/types.mjs +1 -0
  979. package/dist/core/oauth2/token/revoker/index.mjs +2 -0
  980. package/dist/core/oauth2/token/revoker/module.mjs +16 -0
  981. package/dist/core/oauth2/token/revoker/module.mjs.map +1 -0
  982. package/dist/core/oauth2/token/revoker/types.mjs +1 -0
  983. package/dist/core/oauth2/token/signer/index.mjs +2 -0
  984. package/dist/core/oauth2/token/signer/module.mjs +38 -0
  985. package/dist/core/oauth2/token/signer/module.mjs.map +1 -0
  986. package/dist/core/oauth2/token/signer/types.mjs +1 -0
  987. package/dist/core/oauth2/token/verifier/index.mjs +2 -0
  988. package/dist/core/oauth2/token/verifier/module.mjs +62 -0
  989. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -0
  990. package/dist/core/oauth2/token/verifier/types.mjs +1 -0
  991. package/dist/core/provisioning/entities/client/index.mjs +2 -0
  992. package/dist/core/provisioning/entities/client/relations-validator.mjs +25 -0
  993. package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -0
  994. package/dist/core/provisioning/entities/client/types.mjs +1 -0
  995. package/dist/core/provisioning/entities/client/validator.mjs +21 -0
  996. package/dist/core/provisioning/entities/client/validator.mjs.map +1 -0
  997. package/dist/core/provisioning/entities/index.mjs +17 -0
  998. package/dist/core/provisioning/entities/permission/index.mjs +2 -0
  999. package/dist/core/provisioning/entities/permission/types.mjs +1 -0
  1000. package/dist/core/provisioning/entities/permission/validator.mjs +18 -0
  1001. package/dist/core/provisioning/entities/permission/validator.mjs.map +1 -0
  1002. package/dist/core/provisioning/entities/policy/index.mjs +1 -0
  1003. package/dist/core/provisioning/entities/policy/types.mjs +1 -0
  1004. package/dist/core/provisioning/entities/realm/index.mjs +2 -0
  1005. package/dist/core/provisioning/entities/realm/relations-validator.mjs +81 -0
  1006. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -0
  1007. package/dist/core/provisioning/entities/realm/types.mjs +1 -0
  1008. package/dist/core/provisioning/entities/realm/validator.mjs +21 -0
  1009. package/dist/core/provisioning/entities/realm/validator.mjs.map +1 -0
  1010. package/dist/core/provisioning/entities/robot/index.mjs +2 -0
  1011. package/dist/core/provisioning/entities/robot/relations-validator.mjs +17 -0
  1012. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +1 -0
  1013. package/dist/core/provisioning/entities/robot/types.mjs +1 -0
  1014. package/dist/core/provisioning/entities/robot/validator.mjs +21 -0
  1015. package/dist/core/provisioning/entities/robot/validator.mjs.map +1 -0
  1016. package/dist/core/provisioning/entities/role/index.mjs +2 -0
  1017. package/dist/core/provisioning/entities/role/relations-validator.mjs +15 -0
  1018. package/dist/core/provisioning/entities/role/relations-validator.mjs.map +1 -0
  1019. package/dist/core/provisioning/entities/role/types.mjs +1 -0
  1020. package/dist/core/provisioning/entities/role/validator.mjs +21 -0
  1021. package/dist/core/provisioning/entities/role/validator.mjs.map +1 -0
  1022. package/dist/core/provisioning/entities/root/index.mjs +2 -0
  1023. package/dist/core/provisioning/entities/root/types.mjs +1 -0
  1024. package/dist/core/provisioning/entities/root/validator.mjs +53 -0
  1025. package/dist/core/provisioning/entities/root/validator.mjs.map +1 -0
  1026. package/dist/core/provisioning/entities/scope/index.mjs +2 -0
  1027. package/dist/core/provisioning/entities/scope/types.mjs +1 -0
  1028. package/dist/core/provisioning/entities/scope/validator.mjs +18 -0
  1029. package/dist/core/provisioning/entities/scope/validator.mjs.map +1 -0
  1030. package/dist/core/provisioning/entities/types.mjs +1 -0
  1031. package/dist/core/provisioning/entities/user/index.mjs +2 -0
  1032. package/dist/core/provisioning/entities/user/relations-validator.mjs +19 -0
  1033. package/dist/core/provisioning/entities/user/relations-validator.mjs.map +1 -0
  1034. package/dist/core/provisioning/entities/user/types.mjs +1 -0
  1035. package/dist/core/provisioning/entities/user/validator.mjs +21 -0
  1036. package/dist/core/provisioning/entities/user/validator.mjs.map +1 -0
  1037. package/dist/core/provisioning/index.mjs +26 -0
  1038. package/dist/core/provisioning/strategy/constants.mjs +12 -0
  1039. package/dist/core/provisioning/strategy/constants.mjs.map +1 -0
  1040. package/dist/core/provisioning/strategy/index.mjs +4 -0
  1041. package/dist/core/provisioning/strategy/normalize.mjs +10 -0
  1042. package/dist/core/provisioning/strategy/normalize.mjs.map +1 -0
  1043. package/dist/core/provisioning/strategy/types.mjs +1 -0
  1044. package/dist/core/provisioning/strategy/validator.mjs +30 -0
  1045. package/dist/core/provisioning/strategy/validator.mjs.map +1 -0
  1046. package/dist/core/provisioning/synchronizer/base.mjs +12 -0
  1047. package/dist/core/provisioning/synchronizer/base.mjs.map +1 -0
  1048. package/dist/core/provisioning/synchronizer/client/index.mjs +2 -0
  1049. package/dist/core/provisioning/synchronizer/client/module.mjs +88 -0
  1050. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -0
  1051. package/dist/core/provisioning/synchronizer/client/types.mjs +1 -0
  1052. package/dist/core/provisioning/synchronizer/entity-resolver.mjs +47 -0
  1053. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -0
  1054. package/dist/core/provisioning/synchronizer/index.mjs +19 -0
  1055. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +26 -0
  1056. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -0
  1057. package/dist/core/provisioning/synchronizer/permission/index.mjs +2 -0
  1058. package/dist/core/provisioning/synchronizer/permission/module.mjs +47 -0
  1059. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -0
  1060. package/dist/core/provisioning/synchronizer/permission/types.mjs +1 -0
  1061. package/dist/core/provisioning/synchronizer/policy/index.mjs +2 -0
  1062. package/dist/core/provisioning/synchronizer/policy/module.mjs +65 -0
  1063. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -0
  1064. package/dist/core/provisioning/synchronizer/policy/types.mjs +1 -0
  1065. package/dist/core/provisioning/synchronizer/realm/index.mjs +2 -0
  1066. package/dist/core/provisioning/synchronizer/realm/module.mjs +103 -0
  1067. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -0
  1068. package/dist/core/provisioning/synchronizer/realm/types.mjs +1 -0
  1069. package/dist/core/provisioning/synchronizer/robot/index.mjs +2 -0
  1070. package/dist/core/provisioning/synchronizer/robot/module.mjs +68 -0
  1071. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +1 -0
  1072. package/dist/core/provisioning/synchronizer/robot/types.mjs +1 -0
  1073. package/dist/core/provisioning/synchronizer/role/index.mjs +2 -0
  1074. package/dist/core/provisioning/synchronizer/role/module.mjs +93 -0
  1075. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -0
  1076. package/dist/core/provisioning/synchronizer/role/types.mjs +1 -0
  1077. package/dist/core/provisioning/synchronizer/root/index.mjs +2 -0
  1078. package/dist/core/provisioning/synchronizer/root/module.mjs +30 -0
  1079. package/dist/core/provisioning/synchronizer/root/module.mjs.map +1 -0
  1080. package/dist/core/provisioning/synchronizer/root/types.mjs +1 -0
  1081. package/dist/core/provisioning/synchronizer/scope/index.mjs +2 -0
  1082. package/dist/core/provisioning/synchronizer/scope/module.mjs +46 -0
  1083. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -0
  1084. package/dist/core/provisioning/synchronizer/scope/types.mjs +1 -0
  1085. package/dist/core/provisioning/synchronizer/user/index.mjs +2 -0
  1086. package/dist/core/provisioning/synchronizer/user/module.mjs +103 -0
  1087. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -0
  1088. package/dist/core/provisioning/synchronizer/user/types.mjs +1 -0
  1089. package/dist/core/provisioning/types.mjs +1 -0
  1090. package/dist/core/security/index.mjs +4 -0
  1091. package/dist/core/security/policy/engine.mjs +13 -0
  1092. package/dist/core/security/policy/engine.mjs.map +1 -0
  1093. package/dist/core/security/policy/evaluator.mjs +69 -0
  1094. package/dist/core/security/policy/evaluator.mjs.map +1 -0
  1095. package/dist/core/security/policy/index.mjs +3 -0
  1096. package/dist/index.mjs +208 -1
  1097. package/dist/path.mjs +12 -0
  1098. package/dist/path.mjs.map +1 -0
  1099. package/dist/utils/error.mjs +67 -0
  1100. package/dist/utils/error.mjs.map +1 -0
  1101. package/dist/utils/host.mjs +9 -0
  1102. package/dist/utils/host.mjs.map +1 -0
  1103. package/dist/utils/index.mjs +3 -0
  1104. package/dist/utils/self-id.mjs +8 -0
  1105. package/dist/utils/self-id.mjs.map +1 -0
  1106. package/package.json +14 -14
  1107. package/dist/cli.mjs.map +0 -1
  1108. package/dist/commands-D5p6u-xJ.mjs +0 -18546
  1109. package/dist/commands-D5p6u-xJ.mjs.map +0 -1
@@ -0,0 +1,67 @@
1
+ import { publishDomainEvent } from "../../event-publisher/module.mjs";
2
+ import "../../event-publisher/index.mjs";
3
+ import { CachePrefix } from "../constants.mjs";
4
+ import { UserRoleEntity } from "./entity.mjs";
5
+ import { EventSubscriber } from "typeorm";
6
+ import { EntityDefaultEventName, EntityType, buildEntityChannelName, buildEntityNamespaceName } from "@authup/core-kit";
7
+ import { buildRedisKeyPath } from "@authup/server-kit";
8
+ //#region src/adapters/database/domains/user-role/subscriber.ts
9
+ function _ts_decorate(decorators, target, key, desc) {
10
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
13
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14
+ }
15
+ async function publishEvent(event, data) {
16
+ const destinations = [{ channel: (id) => buildEntityChannelName(EntityType.USER_ROLE, id) }];
17
+ if (data.user_realm_id) destinations.push({
18
+ channel: (id) => buildEntityChannelName(EntityType.USER_ROLE, id),
19
+ namespace: buildEntityNamespaceName(data.user_realm_id)
20
+ });
21
+ if (data.role_realm_id) destinations.push({
22
+ channel: (id) => buildEntityChannelName(EntityType.USER_ROLE, id),
23
+ namespace: buildEntityNamespaceName(data.role_realm_id)
24
+ });
25
+ await publishDomainEvent({
26
+ content: {
27
+ type: EntityType.USER_ROLE,
28
+ event,
29
+ data
30
+ },
31
+ destinations
32
+ });
33
+ }
34
+ var UserRoleSubscriber = class {
35
+ listenTo() {
36
+ return UserRoleEntity;
37
+ }
38
+ async afterInsert(event) {
39
+ if (!event.entity) return;
40
+ if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
41
+ prefix: CachePrefix.USER_OWNED_ROLES,
42
+ key: event.entity.user_id
43
+ })]);
44
+ await publishEvent(EntityDefaultEventName.CREATED, event.entity);
45
+ }
46
+ async afterUpdate(event) {
47
+ if (!event.entity) return;
48
+ if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
49
+ prefix: CachePrefix.USER_OWNED_ROLES,
50
+ key: event.entity.user_id
51
+ })]);
52
+ await publishEvent(EntityDefaultEventName.UPDATED, event.entity);
53
+ }
54
+ async afterRemove(event) {
55
+ if (!event.entity) return;
56
+ if (event.connection.queryResultCache) await event.connection.queryResultCache.remove([buildRedisKeyPath({
57
+ prefix: CachePrefix.USER_OWNED_ROLES,
58
+ key: event.entity.user_id
59
+ })]);
60
+ await publishEvent(EntityDefaultEventName.DELETED, event.entity);
61
+ }
62
+ };
63
+ UserRoleSubscriber = _ts_decorate([EventSubscriber()], UserRoleSubscriber);
64
+ //#endregion
65
+ export { UserRoleSubscriber };
66
+
67
+ //# sourceMappingURL=subscriber.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriber.mjs","names":["EntityDefaultEventName","EntityType","buildEntityChannelName","buildEntityNamespaceName","buildRedisKeyPath","EventSubscriber","publishDomainEvent","UserRoleEntity","CachePrefix","publishEvent","event","data","destinations","channel","id","USER_ROLE","user_realm_id","push","namespace","role_realm_id","content","type","UserRoleSubscriber","listenTo","afterInsert","entity","connection","queryResultCache","remove","prefix","USER_OWNED_ROLES","key","user_id","CREATED","afterUpdate","UPDATED","afterRemove","DELETED"],"sources":["../../../../../src/adapters/database/domains/user-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 { UserRole } 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 { UserRoleEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\nasync function publishEvent(\n event: `${EntityDefaultEventName}`,\n data: UserRole,\n) {\n const destinations : DomainEventDestination[] = [\n { channel: (id) => buildEntityChannelName(EntityType.USER_ROLE, id) },\n ];\n if (data.user_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.USER_ROLE, id),\n namespace: buildEntityNamespaceName(data.user_realm_id),\n });\n }\n if (data.role_realm_id) {\n destinations.push({\n channel: (id) => buildEntityChannelName(EntityType.USER_ROLE, id),\n namespace: buildEntityNamespaceName(data.role_realm_id),\n });\n }\n\n await publishDomainEvent({\n content: {\n type: EntityType.USER_ROLE,\n event,\n data,\n },\n destinations,\n });\n}\n\n@EventSubscriber()\nexport class UserRoleSubscriber implements EntitySubscriberInterface<UserRole> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n listenTo(): Function | string {\n return UserRoleEntity;\n }\n\n async afterInsert(event: InsertEvent<UserRole>): 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.USER_OWNED_ROLES,\n key: event.entity.user_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.CREATED, event.entity);\n }\n\n async afterUpdate(event: UpdateEvent<UserRole>): 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.USER_OWNED_ROLES,\n key: event.entity.user_id,\n }),\n ]);\n }\n\n await publishEvent(EntityDefaultEventName.UPDATED, event.entity as UserRole);\n }\n\n async afterRemove(event: RemoveEvent<UserRole>): 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.USER_OWNED_ROLES,\n key: event.entity.user_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,MAAc;CAEd,MAAMC,eAA0C,CAC5C,EAAEC,UAAUC,OAAOZ,uBAAuBD,WAAWc,WAAWD,GAAAA,EAAI,CACvE;AACD,KAAIH,KAAKK,cACLJ,cAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,WAAWD,GAAAA;EAC9DI,WAAWf,yBAAyBQ,KAAKK,cAAa;EAC1D,CAAA;AAEJ,KAAIL,KAAKQ,cACLP,cAAaK,KAAK;EACdJ,UAAUC,OAAOZ,uBAAuBD,WAAWc,WAAWD,GAAAA;EAC9DI,WAAWf,yBAAyBQ,KAAKQ,cAAa;EAC1D,CAAA;AAGJ,OAAMb,mBAAmB;EACrBc,SAAS;GACLC,MAAMpB,WAAWc;GACjBL;GACAC;GACJ;EACAC;EACJ,CAAA;;AAIJ,IAAaU,qBAAb,MAAaA;CAETC,WAA8B;AAC1B,SAAOhB;;CAGX,MAAMiB,YAAYd,OAA4C;AAC1D,MAAI,CAACA,MAAMe,OACP;AAGJ,MAAIf,MAAMgB,WAAWC,iBACjB,OAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYsB;GACpBC,KAAKrB,MAAMe,OAAOO;GACtB,CAAA,CACH,CAAA;AAGL,QAAMvB,aAAaT,uBAAuBiC,SAASvB,MAAMe,OAAM;;CAGnE,MAAMS,YAAYxB,OAA4C;AAC1D,MAAI,CAACA,MAAMe,OACP;AAGJ,MAAIf,MAAMgB,WAAWC,iBACjB,OAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYsB;GACpBC,KAAKrB,MAAMe,OAAOO;GACtB,CAAA,CACH,CAAA;AAGL,QAAMvB,aAAaT,uBAAuBmC,SAASzB,MAAMe,OAAM;;CAGnE,MAAMW,YAAY1B,OAA4C;AAC1D,MAAI,CAACA,MAAMe,OACP;AAGJ,MAAIf,MAAMgB,WAAWC,iBACjB,OAAMjB,MAAMgB,WAAWC,iBAAiBC,OAAO,CAC3CxB,kBAAkB;GACdyB,QAAQrB,YAAYsB;GACpBC,KAAKrB,MAAMe,OAAOO;GACtB,CAAA,CACH,CAAA;AAGL,QAAMvB,aAAaT,uBAAuBqC,SAAS3B,MAAMe,OAAM"}
@@ -0,0 +1,11 @@
1
+ import { ConflictError } from "@ebec/http";
2
+ //#region src/adapters/database/errors/conflict.ts
3
+ var DatabaseConflictError = class extends ConflictError {
4
+ constructor() {
5
+ super("A db entry with some unique attributes already exist.");
6
+ }
7
+ };
8
+ //#endregion
9
+ export { DatabaseConflictError };
10
+
11
+ //# sourceMappingURL=conflict.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflict.mjs","names":["ConflictError","DatabaseConflictError"],"sources":["../../../../src/adapters/database/errors/conflict.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 { ConflictError } from '@ebec/http';\n\nexport class DatabaseConflictError extends ConflictError {\n constructor() {\n super('A db entry with some unique attributes already exist.');\n }\n}\n"],"mappings":";;AASA,IAAaC,wBAAb,cAA2CD,cAAAA;CACvC,cAAc;AACV,QAAM,wDAAA"}
@@ -0,0 +1,2 @@
1
+ import { DatabaseConflictError } from "./conflict.mjs";
2
+ export { DatabaseConflictError };
@@ -0,0 +1,2 @@
1
+ import { publishDomainEvent, setDomainEventPublisher, useDomainEventPublisher } from "./module.mjs";
2
+ export { publishDomainEvent, setDomainEventPublisher, useDomainEventPublisher };
@@ -0,0 +1,22 @@
1
+ import { DomainEventPublisher } from "@authup/server-kit";
2
+ import { singa } from "singa";
3
+ //#region src/adapters/database/event-publisher/module.ts
4
+ const singleton = singa({
5
+ name: "domainEvent",
6
+ factory() {
7
+ return new DomainEventPublisher();
8
+ }
9
+ });
10
+ function useDomainEventPublisher() {
11
+ return singleton.use();
12
+ }
13
+ function setDomainEventPublisher(domainEventPublisher) {
14
+ singleton.set(domainEventPublisher);
15
+ }
16
+ async function publishDomainEvent(ctx) {
17
+ await useDomainEventPublisher().publish(ctx);
18
+ }
19
+ //#endregion
20
+ export { publishDomainEvent, setDomainEventPublisher, useDomainEventPublisher };
21
+
22
+ //# sourceMappingURL=module.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.mjs","names":["DomainEventPublisher","singa","singleton","name","factory","useDomainEventPublisher","use","setDomainEventPublisher","domainEventPublisher","set","publishDomainEvent","ctx","publish"],"sources":["../../../../src/adapters/database/event-publisher/module.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 type { DomainEventPublishContext } from '@authup/server-kit';\nimport { DomainEventPublisher } from '@authup/server-kit';\nimport { singa } from 'singa';\n\nconst singleton = singa<DomainEventPublisher>({\n name: 'domainEvent',\n factory() {\n return new DomainEventPublisher();\n },\n});\n\nexport function useDomainEventPublisher() {\n return singleton.use();\n}\n\nexport function setDomainEventPublisher(domainEventPublisher: DomainEventPublisher) {\n singleton.set(domainEventPublisher);\n}\n\nexport async function publishDomainEvent(ctx: DomainEventPublishContext) : Promise<void> {\n await useDomainEventPublisher()\n .publish(ctx);\n}\n"],"mappings":";;;AAWA,MAAME,YAAYD,MAA4B;CAC1CE,MAAM;CACNC,UAAAA;AACI,SAAO,IAAIJ,sBAAAA;;CAEnB,CAAA;AAEA,SAAgBK,0BAAAA;AACZ,QAAOH,UAAUI,KAAG;;AAGxB,SAAgBC,wBAAwBC,sBAA0C;AAC9EN,WAAUO,IAAID,qBAAAA;;AAGlB,eAAsBE,mBAAmBC,KAA8B;AACnE,OAAMN,yBAAAA,CACDO,QAAQD,IAAAA"}
@@ -0,0 +1,120 @@
1
+ import { In } from "typeorm";
2
+ import { hasOwnProperty } from "@authup/kit";
3
+ //#region src/adapters/database/extra-attribute-repository/adapter.ts
4
+ var ExtraAttributesRepositoryAdapter = class {
5
+ repository;
6
+ primaryColumn;
7
+ attributeRepository;
8
+ attributeForeignColumn;
9
+ cachePrefix;
10
+ extra;
11
+ constructor(ctx) {
12
+ let extra;
13
+ if (ctx.attributeProperties) extra = ctx.attributeProperties;
14
+ else extra = (input) => input;
15
+ this.extra = extra;
16
+ this.repository = ctx.repository;
17
+ this.primaryColumn = ctx.entityPrimaryColumn;
18
+ this.attributeRepository = ctx.attributeRepository;
19
+ this.attributeForeignColumn = ctx.attributeForeignColumn;
20
+ this.cachePrefix = ctx.cachePrefix;
21
+ }
22
+ async findOneWithEA(options, extraOptions = {}) {
23
+ const entity = await this.repository.findOne(options);
24
+ if (!entity) return;
25
+ await this.extendWithEA(entity, extraOptions);
26
+ return entity;
27
+ }
28
+ async findWithEA(options, extraOptions = {}) {
29
+ const entities = await this.repository.find(options);
30
+ return this.extendManyWithEA(entities, extraOptions);
31
+ }
32
+ async saveWithEA(input, attributes, options) {
33
+ const columns = [];
34
+ for (let i = 0; i < this.repository.metadata.columns.length; i++) columns.push(this.repository.metadata.columns[i].propertyName);
35
+ for (let i = 0; i < this.repository.metadata.relations.length; i++) columns.push(this.repository.metadata.relations[i].propertyName);
36
+ let extra = {};
37
+ if (attributes) extra = { ...attributes };
38
+ const keys = Object.keys(input);
39
+ for (const key_ of keys) {
40
+ const key = key_;
41
+ if (columns.indexOf(key) === -1) {
42
+ extra[key] = input[key];
43
+ delete input[key];
44
+ }
45
+ }
46
+ await this.repository.save(input);
47
+ await this.saveEA(input, extra, options);
48
+ const extraKeys = Object.keys(extra);
49
+ for (const extraKey of extraKeys) input[extraKey] = extra[extraKey];
50
+ return input;
51
+ }
52
+ async findOneWithEAByPrimaryColumn(value, extraOptions = {}) {
53
+ return (await this.findWithEAByPrimaryColumn([value], extraOptions))[value] || {};
54
+ }
55
+ async extendWithEA(entity, extraOptions = {}) {
56
+ const attributes = await this.findOneWithEAByPrimaryColumn(entity[this.primaryColumn], extraOptions);
57
+ const attributeKeys = Object.keys(attributes);
58
+ for (const attributeKey of attributeKeys) entity[attributeKey] = attributes[attributeKey];
59
+ return entity;
60
+ }
61
+ async findWithEAByPrimaryColumn(value, extraOptions = {}) {
62
+ const where = {};
63
+ where[this.attributeForeignColumn] = In(value);
64
+ if (extraOptions.attributes) where.name = In(extraOptions.attributes);
65
+ const attributes = await this.attributeRepository.find({ where });
66
+ const output = {};
67
+ for (const element of value) output[element] = attributes.filter((attribute) => attribute[this.attributeForeignColumn] === element).reduce((acc, curr) => {
68
+ acc[curr.name] = curr.value;
69
+ return acc;
70
+ }, {});
71
+ return output;
72
+ }
73
+ async extendManyWithEA(entities, extraOptions = {}) {
74
+ const attributesByPrimaryKey = await this.findWithEAByPrimaryColumn(this.getPrimaryKeyValues(entities), extraOptions);
75
+ for (const entity of entities) {
76
+ const attributes = attributesByPrimaryKey[entity[this.primaryColumn]];
77
+ if (!attributes) continue;
78
+ const attributeKeys = Object.keys(attributes);
79
+ for (const attributeKey of attributeKeys) entity[attributeKey] = attributes[attributeKey];
80
+ }
81
+ return entities;
82
+ }
83
+ async saveEA(parent, input, options = {}) {
84
+ const foreignColumn = this.attributeForeignColumn;
85
+ const foreignColumnValue = parent[this.primaryColumn];
86
+ const where = {};
87
+ where[foreignColumn] = foreignColumnValue;
88
+ const items = await this.attributeRepository.findBy(where);
89
+ const itemsToDelete = [];
90
+ const itemsToUpdate = [];
91
+ const keysProcessed = [];
92
+ for (const item of items) if (hasOwnProperty(input, item.name)) {
93
+ item.value = input[item.name];
94
+ item[foreignColumn] = foreignColumnValue;
95
+ itemsToUpdate.push(this.extra(item, parent));
96
+ keysProcessed.push(item.name);
97
+ } else if (!options.keepAll) itemsToDelete.push(item);
98
+ if (itemsToUpdate.length > 0) await this.attributeRepository.save(itemsToUpdate);
99
+ if (itemsToDelete.length > 0) await this.attributeRepository.remove(itemsToDelete);
100
+ const itemsToAdd = [];
101
+ const keys = Object.keys(input);
102
+ let keyIndex;
103
+ for (const key of keys) {
104
+ keyIndex = keysProcessed.indexOf(key);
105
+ if (keyIndex === -1) itemsToAdd.push(this.extra({
106
+ name: key,
107
+ value: input[key],
108
+ [foreignColumn]: foreignColumnValue
109
+ }, parent));
110
+ }
111
+ if (itemsToAdd.length > 0) await this.attributeRepository.insert(itemsToAdd);
112
+ }
113
+ getPrimaryKeyValues(entities) {
114
+ return entities.map((entity) => entity[this.primaryColumn]);
115
+ }
116
+ };
117
+ //#endregion
118
+ export { ExtraAttributesRepositoryAdapter };
119
+
120
+ //# sourceMappingURL=adapter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.mjs","names":["hasOwnProperty","In","ExtraAttributesRepositoryAdapter","repository","primaryColumn","attributeRepository","attributeForeignColumn","cachePrefix","extra","ctx","attributeProperties","input","entityPrimaryColumn","findOneWithEA","options","extraOptions","entity","findOne","undefined","extendWithEA","findWithEA","entities","find","extendManyWithEA","saveWithEA","attributes","columns","i","metadata","length","push","propertyName","relations","keys","Object","key_","key","index","indexOf","save","saveEA","extraKeys","extraKey","findOneWithEAByPrimaryColumn","value","attributesByPrimary","findWithEAByPrimaryColumn","attributeKeys","attributeKey","where","name","output","element","entityAttributes","filter","attribute","reduce","acc","curr","attributesByPrimaryKey","getPrimaryKeyValues","parent","foreignColumn","foreignColumnValue","items","findBy","itemsToDelete","itemsToUpdate","keysProcessed","item","keepAll","remove","itemsToAdd","keyIndex","insert","map"],"sources":["../../../../src/adapters/database/extra-attribute-repository/adapter.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 type { ObjectLiteral } from '@authup/kit';\nimport { hasOwnProperty } from '@authup/kit';\nimport type {\n FindManyOptions,\n FindOneOptions,\n FindOptionsWhere,\n FindOptionsWhereProperty,\n Repository,\n} from 'typeorm';\nimport { In } from 'typeorm';\nimport type {\n EARepositoryAdapterOptions,\n EARepositoryEntityBase,\n EARepositoryFindOptions,\n EARepositoryPropertiesModifyFn,\n EARepositorySaveOptions,\n} from './types.ts';\n\nexport class ExtraAttributesRepositoryAdapter<\n T extends ObjectLiteral = ObjectLiteral,\n A extends EARepositoryEntityBase = EARepositoryEntityBase,\n> {\n protected repository : Repository<T>;\n\n public primaryColumn : keyof T;\n\n protected attributeRepository : Repository<A>;\n\n public attributeForeignColumn : keyof A;\n\n protected cachePrefix?: string;\n\n protected extra : EARepositoryPropertiesModifyFn<T, A>;\n\n // ------------------------------------------------------------------------------\n\n constructor(ctx: EARepositoryAdapterOptions<T, A>) {\n let extra : EARepositoryPropertiesModifyFn<T, A>;\n if (ctx.attributeProperties) {\n extra = ctx.attributeProperties;\n } else {\n extra = (input) => input;\n }\n this.extra = extra;\n\n this.repository = ctx.repository;\n this.primaryColumn = ctx.entityPrimaryColumn;\n this.attributeRepository = ctx.attributeRepository;\n this.attributeForeignColumn = ctx.attributeForeignColumn;\n this.cachePrefix = ctx.cachePrefix;\n }\n\n // ------------------------------------------------------------------------------\n\n async findOneWithEA(\n options: FindOneOptions<T>,\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<T | undefined> {\n const entity = await this.repository.findOne(options);\n if (!entity) {\n return undefined;\n }\n\n await this.extendWithEA(entity, extraOptions);\n\n return entity;\n }\n\n async findWithEA<\n E extends Record<string, any>,\n >(\n options: FindManyOptions<T>,\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<(T & E)[]> {\n const entities = await this.repository.find(options);\n\n return this.extendManyWithEA(entities, extraOptions);\n }\n\n async saveWithEA<E extends Record<string, any>>(\n input: T & E,\n attributes?: E,\n options?: EARepositorySaveOptions<T>,\n ) : Promise<T & E> {\n const columns : string[] = [];\n\n for (let i = 0; i < this.repository.metadata.columns.length; i++) {\n columns.push(this.repository.metadata.columns[i].propertyName);\n }\n for (let i = 0; i < this.repository.metadata.relations.length; i++) {\n columns.push(this.repository.metadata.relations[i].propertyName);\n }\n\n let extra : Record<string, any> = {};\n if (attributes) {\n extra = { ...attributes };\n }\n\n const keys = Object.keys(input) as (keyof T)[];\n for (const key_ of keys) {\n const key = key_ as string;\n const index = columns.indexOf(key);\n if (index === -1) {\n extra[key] = input[key];\n delete input[key];\n }\n }\n\n await this.repository.save(input);\n\n await this.saveEA(\n input,\n extra,\n options,\n );\n\n const extraKeys = Object.keys(extra);\n for (const extraKey of extraKeys) {\n input[extraKey as keyof T] = extra[extraKey];\n }\n\n return input;\n }\n\n async findOneWithEAByPrimaryColumn<E extends Record<string, any>>(\n value: T[keyof T],\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<E> {\n const attributesByPrimary = await this.findWithEAByPrimaryColumn([value], extraOptions);\n return (attributesByPrimary[value as string] || {}) as E;\n }\n\n async extendWithEA<E extends Record<string, any>>(\n entity: T,\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<T & E> {\n const attributes = await this.findOneWithEAByPrimaryColumn(entity[this.primaryColumn], extraOptions);\n const attributeKeys = Object.keys(attributes);\n for (const attributeKey of attributeKeys) {\n entity[attributeKey as keyof T] = attributes[attributeKey] as T[keyof T];\n }\n\n return entity as T & E;\n }\n\n async findWithEAByPrimaryColumn<E extends Record<string, any>>(\n value: (T[keyof T])[],\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<Record<string, E>> {\n const where : FindOptionsWhere<A> = {};\n where[this.attributeForeignColumn as keyof FindOptionsWhere<A>] = In(value) as any;\n if (extraOptions.attributes) {\n where.name = In(extraOptions.attributes) as FindOptionsWhereProperty<A['name']>;\n }\n\n const attributes = await this.attributeRepository.find({ where });\n const output : Record<string, E> = {};\n\n for (const element of value) {\n const entityAttributes = attributes.filter(\n (attribute) => attribute[this.attributeForeignColumn] === element as unknown as A[keyof A],\n );\n\n output[element as string] = entityAttributes\n .reduce((acc, curr) => {\n acc[curr.name as keyof E] = curr.value as E[keyof E];\n\n return acc;\n }, {} as E);\n }\n\n return output;\n }\n\n async extendManyWithEA<E extends Record<string, any>>(\n entities: T[],\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<(T & E)[]> {\n const attributesByPrimaryKey = await this.findWithEAByPrimaryColumn(\n this.getPrimaryKeyValues(entities),\n extraOptions,\n );\n\n for (const entity of entities) {\n const attributes = attributesByPrimaryKey[entity[this.primaryColumn] as string];\n if (!attributes) {\n continue;\n }\n\n const attributeKeys = Object.keys(attributes);\n for (const attributeKey of attributeKeys) {\n entity[attributeKey as keyof T] = attributes[attributeKey] as T[keyof T];\n }\n }\n\n return entities as (T & E)[];\n }\n\n // ------------------------------------------------------------------------------\n\n private async saveEA(\n parent: T,\n input: Record<string, any>,\n options: EARepositorySaveOptions<T> = {},\n ) {\n const foreignColumn = this.attributeForeignColumn as keyof A;\n const foreignColumnValue = parent[this.primaryColumn] as unknown as A[keyof A];\n\n const where : Partial<A> = {};\n where[foreignColumn] = foreignColumnValue;\n\n const items = await this.attributeRepository.findBy(where);\n\n const itemsToDelete : A[] = [];\n const itemsToUpdate : A[] = [];\n\n const keysProcessed : string[] = [];\n for (const item of items) {\n if (hasOwnProperty(input, item.name)) {\n item.value = input[item.name];\n item[foreignColumn] = foreignColumnValue;\n\n itemsToUpdate.push(this.extra(item, parent));\n\n keysProcessed.push(item.name);\n } else if (!options.keepAll) {\n itemsToDelete.push(item);\n }\n }\n\n if (itemsToUpdate.length > 0) {\n await this.attributeRepository.save(itemsToUpdate);\n }\n\n if (itemsToDelete.length > 0) {\n await this.attributeRepository.remove(itemsToDelete);\n }\n\n const itemsToAdd : A[] = [];\n\n const keys = Object.keys(input);\n let keyIndex : number;\n\n for (const key of keys) {\n keyIndex = keysProcessed.indexOf(key);\n if (keyIndex === -1) {\n itemsToAdd.push(this.extra({\n name: key,\n value: input[key],\n [foreignColumn]: foreignColumnValue,\n } as A, parent));\n }\n }\n\n if (itemsToAdd.length > 0) {\n await this.attributeRepository.insert(itemsToAdd);\n }\n }\n\n getPrimaryKeyValues(entities: T[]) : T[keyof T][] {\n return entities.map((entity) => entity[this.primaryColumn as keyof T]);\n }\n}\n"],"mappings":";;;AAyBA,IAAaE,mCAAb,MAAaA;CAICC;CAEHC;CAEGC;CAEHC;CAEGC;CAEAC;CAIV,YAAYC,KAAuC;EAC/C,IAAID;AACJ,MAAIC,IAAIC,oBACJF,SAAQC,IAAIC;MAEZF,UAASG,UAAUA;AAEvB,OAAKH,QAAQA;AAEb,OAAKL,aAAaM,IAAIN;AACtB,OAAKC,gBAAgBK,IAAIG;AACzB,OAAKP,sBAAsBI,IAAIJ;AAC/B,OAAKC,yBAAyBG,IAAIH;AAClC,OAAKC,cAAcE,IAAIF;;CAK3B,MAAMM,cACFC,SACAC,eAAwC,EAAE,EACnB;EACvB,MAAMC,SAAS,MAAM,KAAKb,WAAWc,QAAQH,QAAAA;AAC7C,MAAI,CAACE,OACD;AAGJ,QAAM,KAAKG,aAAaH,QAAQD,aAAAA;AAEhC,SAAOC;;CAGX,MAAMI,WAGFN,SACAC,eAAwC,EAAE,EACvB;EACnB,MAAMM,WAAW,MAAM,KAAKlB,WAAWmB,KAAKR,QAAAA;AAE5C,SAAO,KAAKS,iBAAiBF,UAAUN,aAAAA;;CAG3C,MAAMS,WACFb,OACAc,YACAX,SACe;EACf,MAAMY,UAAqB,EAAE;AAE7B,OAAK,IAAIC,IAAI,GAAGA,IAAI,KAAKxB,WAAWyB,SAASF,QAAQG,QAAQF,IACzDD,SAAQI,KAAK,KAAK3B,WAAWyB,SAASF,QAAQC,GAAGI,aAAY;AAEjE,OAAK,IAAIJ,IAAI,GAAGA,IAAI,KAAKxB,WAAWyB,SAASI,UAAUH,QAAQF,IAC3DD,SAAQI,KAAK,KAAK3B,WAAWyB,SAASI,UAAUL,GAAGI,aAAY;EAGnE,IAAIvB,QAA8B,EAAC;AACnC,MAAIiB,WACAjB,SAAQ,EAAE,GAAGiB,YAAW;EAG5B,MAAMQ,OAAOC,OAAOD,KAAKtB,MAAAA;AACzB,OAAK,MAAMwB,QAAQF,MAAM;GACrB,MAAMG,MAAMD;AAEZ,OADcT,QAAQY,QAAQF,IAC1BC,KAAU,IAAI;AACd7B,UAAM4B,OAAOzB,MAAMyB;AACnB,WAAOzB,MAAMyB;;;AAIrB,QAAM,KAAKjC,WAAWoC,KAAK5B,MAAAA;AAE3B,QAAM,KAAK6B,OACP7B,OACAH,OACAM,QAAAA;EAGJ,MAAM2B,YAAYP,OAAOD,KAAKzB,MAAAA;AAC9B,OAAK,MAAMkC,YAAYD,UACnB9B,OAAM+B,YAAuBlC,MAAMkC;AAGvC,SAAO/B;;CAGX,MAAMgC,6BACFC,OACA7B,eAAwC,EAAE,EAC/B;AAEX,UAAQ8B,MAD0B,KAAKC,0BAA0B,CAACF,MAAM,EAAE7B,aAAAA,EAC9C6B,UAAoB,EAAC;;CAGrD,MAAMzB,aACFH,QACAD,eAAwC,EAAE,EAC3B;EACf,MAAMU,aAAa,MAAM,KAAKkB,6BAA6B3B,OAAO,KAAKZ,gBAAgBW,aAAAA;EACvF,MAAMgC,gBAAgBb,OAAOD,KAAKR,WAAAA;AAClC,OAAK,MAAMuB,gBAAgBD,cACvB/B,QAAOgC,gBAA2BvB,WAAWuB;AAGjD,SAAOhC;;CAGX,MAAM8B,0BACFF,OACA7B,eAAwC,EAAE,EACf;EAC3B,MAAMkC,QAA8B,EAAC;AACrCA,QAAM,KAAK3C,0BAAuDL,GAAG2C,MAAAA;AACrE,MAAI7B,aAAaU,WACbwB,OAAMC,OAAOjD,GAAGc,aAAaU,WAAU;EAG3C,MAAMA,aAAa,MAAM,KAAKpB,oBAAoBiB,KAAK,EAAE2B,OAAM,CAAA;EAC/D,MAAME,SAA6B,EAAC;AAEpC,OAAK,MAAMC,WAAWR,MAKlBO,QAAOC,WAJkB3B,WAAW6B,QAC/BC,cAAcA,UAAU,KAAKjD,4BAA4B8C,QAGlCC,CACvBG,QAAQC,KAAKC,SAAAA;AACVD,OAAIC,KAAKR,QAAmBQ,KAAKd;AAEjC,UAAOa;KACR,EAAC,CAAA;AAGZ,SAAON;;CAGX,MAAM5B,iBACFF,UACAN,eAAwC,EAAE,EACvB;EACnB,MAAM4C,yBAAyB,MAAM,KAAKb,0BACtC,KAAKc,oBAAoBvC,SAAAA,EACzBN,aAAAA;AAGJ,OAAK,MAAMC,UAAUK,UAAU;GAC3B,MAAMI,aAAakC,uBAAuB3C,OAAO,KAAKZ;AACtD,OAAI,CAACqB,WACD;GAGJ,MAAMsB,gBAAgBb,OAAOD,KAAKR,WAAAA;AAClC,QAAK,MAAMuB,gBAAgBD,cACvB/B,QAAOgC,gBAA2BvB,WAAWuB;;AAIrD,SAAO3B;;CAKX,MAAcmB,OACVqB,QACAlD,OACAG,UAAsC,EAAE,EAC1C;EACE,MAAMgD,gBAAgB,KAAKxD;EAC3B,MAAMyD,qBAAqBF,OAAO,KAAKzD;EAEvC,MAAM6C,QAAqB,EAAC;AAC5BA,QAAMa,iBAAiBC;EAEvB,MAAMC,QAAQ,MAAM,KAAK3D,oBAAoB4D,OAAOhB,MAAAA;EAEpD,MAAMiB,gBAAsB,EAAE;EAC9B,MAAMC,gBAAsB,EAAE;EAE9B,MAAMC,gBAA2B,EAAE;AACnC,OAAK,MAAMC,QAAQL,MACf,KAAIhE,eAAeW,OAAO0D,KAAKnB,KAAI,EAAG;AAClCmB,QAAKzB,QAAQjC,MAAM0D,KAAKnB;AACxBmB,QAAKP,iBAAiBC;AAEtBI,iBAAcrC,KAAK,KAAKtB,MAAM6D,MAAMR,OAAAA,CAAAA;AAEpCO,iBAActC,KAAKuC,KAAKnB,KAAI;aACrB,CAACpC,QAAQwD,QAChBJ,eAAcpC,KAAKuC,KAAAA;AAI3B,MAAIF,cAActC,SAAS,EACvB,OAAM,KAAKxB,oBAAoBkC,KAAK4B,cAAAA;AAGxC,MAAID,cAAcrC,SAAS,EACvB,OAAM,KAAKxB,oBAAoBkE,OAAOL,cAAAA;EAG1C,MAAMM,aAAmB,EAAE;EAE3B,MAAMvC,OAAOC,OAAOD,KAAKtB,MAAAA;EACzB,IAAI8D;AAEJ,OAAK,MAAMrC,OAAOH,MAAM;AACpBwC,cAAWL,cAAc9B,QAAQF,IAAAA;AACjC,OAAIqC,aAAa,GACbD,YAAW1C,KAAK,KAAKtB,MAAM;IACvB0C,MAAMd;IACNQ,OAAOjC,MAAMyB;KACZ0B,gBAAgBC;IACrB,EAAQF,OAAAA,CAAAA;;AAIhB,MAAIW,WAAW3C,SAAS,EACpB,OAAM,KAAKxB,oBAAoBqE,OAAOF,WAAAA;;CAI9CZ,oBAAoBvC,UAA8B;AAC9C,SAAOA,SAASsD,KAAK3D,WAAWA,OAAO,KAAKZ,eAAyB"}
@@ -0,0 +1,4 @@
1
+ import { ExtraAttributesRepositoryAdapter } from "./adapter.mjs";
2
+ import { EARepository } from "./repository.mjs";
3
+ import { EATreeRepository } from "./tree/repository.mjs";
4
+ export { EARepository, EATreeRepository, ExtraAttributesRepositoryAdapter };
@@ -0,0 +1,53 @@
1
+ import { ExtraAttributesRepositoryAdapter } from "./adapter.mjs";
2
+ import { InstanceChecker, Repository } from "typeorm";
3
+ //#region src/adapters/database/extra-attribute-repository/repository.ts
4
+ var EARepository = class extends Repository {
5
+ adapter;
6
+ constructor(instance, options) {
7
+ const { entity, attributeEntity, ...ctx } = options;
8
+ super(entity, InstanceChecker.isDataSource(instance) ? instance.manager : instance);
9
+ this.adapter = new ExtraAttributesRepositoryAdapter({
10
+ ...ctx,
11
+ repository: this,
12
+ attributeRepository: this.manager.getRepository(attributeEntity)
13
+ });
14
+ }
15
+ create(entityLike) {
16
+ if (!entityLike) return super.create();
17
+ if (Array.isArray(entityLike)) return super.create(entityLike).map((entity, i) => {
18
+ this.preserveExtraAttributes(entity, entityLike[i]);
19
+ return entity;
20
+ });
21
+ const entity = super.create(entityLike);
22
+ this.preserveExtraAttributes(entity, entityLike);
23
+ return entity;
24
+ }
25
+ preserveExtraAttributes(entity, source) {
26
+ const columns = /* @__PURE__ */ new Set();
27
+ for (const col of this.metadata.columns) columns.add(col.propertyName);
28
+ for (const rel of this.metadata.relations) columns.add(rel.propertyName);
29
+ for (const key of Object.keys(source)) if (!columns.has(key) && !(key in entity)) entity[key] = source[key];
30
+ }
31
+ async saveOneWithEA(input, attributes, options) {
32
+ return this.adapter.saveWithEA(input, attributes, options);
33
+ }
34
+ async findOneWithEA(options, extraOptions = {}) {
35
+ return this.adapter.findOneWithEA(options, extraOptions);
36
+ }
37
+ async findManyWithEA(options, extraOptions = {}) {
38
+ return this.adapter.findWithEA(options, extraOptions);
39
+ }
40
+ async findOneWithEAByPrimaryColumn(value, extraOptions = {}) {
41
+ return this.adapter.findOneWithEAByPrimaryColumn(value, extraOptions);
42
+ }
43
+ async extendOneWithEA(entity, extraOptions = {}) {
44
+ return this.adapter.extendWithEA(entity, extraOptions);
45
+ }
46
+ async extendManyWithEA(entities, extraOptions = {}) {
47
+ return this.adapter.extendManyWithEA(entities, extraOptions);
48
+ }
49
+ };
50
+ //#endregion
51
+ export { EARepository };
52
+
53
+ //# sourceMappingURL=repository.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.mjs","names":["InstanceChecker","Repository","ExtraAttributesRepositoryAdapter","EARepository","adapter","instance","options","entity","attributeEntity","ctx","isDataSource","manager","repository","attributeRepository","getRepository","create","entityLike","Array","isArray","map","i","preserveExtraAttributes","source","columns","Set","col","metadata","add","propertyName","rel","relations","key","Object","keys","has","saveOneWithEA","input","attributes","saveWithEA","findOneWithEA","extraOptions","findManyWithEA","findWithEA","findOneWithEAByPrimaryColumn","value","extendOneWithEA","extendWithEA","extendManyWithEA","entities"],"sources":["../../../../src/adapters/database/extra-attribute-repository/repository.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 type {\n DataSource, \n DeepPartial, \n EntityManager, \n FindManyOptions, \n FindOneOptions,\n} from 'typeorm';\nimport { InstanceChecker, Repository } from 'typeorm';\nimport type { ObjectLiteral } from '@authup/kit';\nimport { ExtraAttributesRepositoryAdapter } from './adapter.ts';\nimport type {\n EARepositoryEntityBase, \n EARepositoryFindOptions, \n EARepositoryOptions, \n EARepositorySaveOptions, \n IEARepository,\n} from './types.ts';\n\nexport class EARepository<\n T extends ObjectLiteral = ObjectLiteral,\n A extends EARepositoryEntityBase = EARepositoryEntityBase,\n> extends Repository<T> implements IEARepository <T> {\n protected adapter : ExtraAttributesRepositoryAdapter<T, A>;\n\n constructor(\n instance: DataSource | EntityManager,\n options: EARepositoryOptions<T, A>,\n ) {\n const {\n entity,\n attributeEntity,\n ...ctx\n } = options;\n\n super(\n entity,\n InstanceChecker.isDataSource(instance) ? instance.manager : instance,\n );\n\n this.adapter = new ExtraAttributesRepositoryAdapter<T, A>({\n ...ctx,\n repository: this,\n attributeRepository: this.manager.getRepository(attributeEntity),\n });\n }\n // ------------------------------------------------------------------------------\n\n override create(): T;\n\n override create(entityLikeArray: DeepPartial<T>[]): T[];\n\n override create(entityLike: DeepPartial<T>): T;\n\n override create(entityLike?: DeepPartial<T> | DeepPartial<T>[]): T | T[] {\n if (!entityLike) {\n return super.create();\n }\n\n if (Array.isArray(entityLike)) {\n return super.create(entityLike).map((entity, i) => {\n this.preserveExtraAttributes(entity, entityLike[i]);\n return entity;\n });\n }\n\n const entity = super.create(entityLike);\n this.preserveExtraAttributes(entity, entityLike);\n return entity;\n }\n\n private preserveExtraAttributes(entity: T, source: DeepPartial<T>): void {\n const columns = new Set<string>();\n for (const col of this.metadata.columns) {\n columns.add(col.propertyName);\n }\n for (const rel of this.metadata.relations) {\n columns.add(rel.propertyName);\n }\n\n for (const key of Object.keys(source)) {\n if (!columns.has(key) && !(key in entity)) {\n (entity as Record<string, any>)[key] = (source as Record<string, any>)[key];\n }\n }\n }\n\n // ------------------------------------------------------------------------------\n\n async saveOneWithEA<E extends Record<string, any>>(\n input: T & E,\n attributes?: E,\n options?: EARepositorySaveOptions<T>,\n ) : Promise<T & E> {\n return this.adapter.saveWithEA(input, attributes, options);\n }\n\n // ------------------------------------------------------------------------------\n\n async findOneWithEA(\n options: FindOneOptions<T>,\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<T | undefined> {\n return this.adapter.findOneWithEA(options, extraOptions);\n }\n\n async findManyWithEA<\n E extends Record<string, any>,\n >(\n options: FindManyOptions<T>,\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<(T & E)[]> {\n return this.adapter.findWithEA(options, extraOptions);\n }\n\n async findOneWithEAByPrimaryColumn<E extends Record<string, any>>(\n value: T[keyof T],\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<E> {\n return this.adapter.findOneWithEAByPrimaryColumn(value, extraOptions);\n }\n\n async extendOneWithEA<E extends Record<string, any>>(\n entity: T,\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<T & E> {\n return this.adapter.extendWithEA(entity, extraOptions);\n }\n\n async extendManyWithEA<E extends Record<string, any>>(\n entities: T[],\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<(T & E)[]> {\n return this.adapter.extendManyWithEA(entities, extraOptions);\n }\n}\n"],"mappings":";;;AAyBA,IAAaG,eAAb,cAGUF,WAAAA;CACIG;CAEV,YACIC,UACAC,SACF;EACE,MAAM,EACFC,QACAC,iBACA,GAAGC,QACHH;AAEJ,QACIC,QACAP,gBAAgBU,aAAaL,SAAAA,GAAYA,SAASM,UAAUN,SAAAA;AAGhE,OAAKD,UAAU,IAAIF,iCAAuC;GACtD,GAAGO;GACHG,YAAY;GACZC,qBAAqB,KAAKF,QAAQG,cAAcN,gBAAAA;GACpD,CAAA;;CAUKO,OAAOC,YAAyD;AACrE,MAAI,CAACA,WACD,QAAO,MAAMD,QAAAA;AAGjB,MAAIE,MAAMC,QAAQF,WAAAA,CACd,QAAO,MAAMD,OAAOC,WAAAA,CAAYG,KAAKZ,QAAQa,MAAAA;AACzC,QAAKC,wBAAwBd,QAAQS,WAAWI,GAAE;AAClD,UAAOb;IACX;EAGJ,MAAMA,SAAS,MAAMQ,OAAOC,WAAAA;AAC5B,OAAKK,wBAAwBd,QAAQS,WAAAA;AACrC,SAAOT;;CAGHc,wBAAwBd,QAAWe,QAA8B;EACrE,MAAMC,0BAAU,IAAIC,KAAAA;AACpB,OAAK,MAAMC,OAAO,KAAKC,SAASH,QAC5BA,SAAQI,IAAIF,IAAIG,aAAY;AAEhC,OAAK,MAAMC,OAAO,KAAKH,SAASI,UAC5BP,SAAQI,IAAIE,IAAID,aAAY;AAGhC,OAAK,MAAMG,OAAOC,OAAOC,KAAKX,OAAAA,CAC1B,KAAI,CAACC,QAAQW,IAAIH,IAAAA,IAAQ,EAAEA,OAAOxB,QAC7BA,QAA+BwB,OAAO,OAAgCA;;CAOnF,MAAMI,cACFC,OACAC,YACA/B,SACe;AACf,SAAO,KAAKF,QAAQkC,WAAWF,OAAOC,YAAY/B,QAAAA;;CAKtD,MAAMiC,cACFjC,SACAkC,eAAwC,EAAE,EACnB;AACvB,SAAO,KAAKpC,QAAQmC,cAAcjC,SAASkC,aAAAA;;CAG/C,MAAMC,eAGFnC,SACAkC,eAAwC,EAAE,EACvB;AACnB,SAAO,KAAKpC,QAAQsC,WAAWpC,SAASkC,aAAAA;;CAG5C,MAAMG,6BACFC,OACAJ,eAAwC,EAAE,EAC/B;AACX,SAAO,KAAKpC,QAAQuC,6BAA6BC,OAAOJ,aAAAA;;CAG5D,MAAMK,gBACFtC,QACAiC,eAAwC,EAAE,EAC3B;AACf,SAAO,KAAKpC,QAAQ0C,aAAavC,QAAQiC,aAAAA;;CAG7C,MAAMO,iBACFC,UACAR,eAAwC,EAAE,EACvB;AACnB,SAAO,KAAKpC,QAAQ2C,iBAAiBC,UAAUR,aAAAA"}
@@ -0,0 +1,61 @@
1
+ import { ExtraAttributesRepositoryAdapter } from "../adapter.mjs";
2
+ //#region src/adapters/database/extra-attribute-repository/tree/adapter.ts
3
+ var ExtraAttributesTreeRepositoryAdapter = class extends ExtraAttributesRepositoryAdapter {
4
+ async saveWithEA(input, attributes, options) {
5
+ const childColumnName = this.repository.metadata.treeChildrenRelation?.propertyName;
6
+ const parentColumnName = this.repository.metadata.treeParentRelation?.propertyName;
7
+ let children;
8
+ if (childColumnName && input[childColumnName]) {
9
+ children = input[childColumnName];
10
+ delete input[childColumnName];
11
+ }
12
+ if (parentColumnName && options && options.parent) input[parentColumnName] = options.parent;
13
+ await super.saveWithEA(input, attributes, options);
14
+ if (parentColumnName && options && options.parent) delete input[parentColumnName];
15
+ if (childColumnName && parentColumnName && children) {
16
+ if (Array.isArray(children)) for (const child of children) await this.saveWithEA(child, void 0, {
17
+ ...options || {},
18
+ parent: input
19
+ });
20
+ else await this.saveWithEA(children, void 0, {
21
+ ...options || {},
22
+ parent: input
23
+ });
24
+ input[childColumnName] = children;
25
+ }
26
+ return input;
27
+ }
28
+ async extendManyWithEA(entities, extraOptions = {}) {
29
+ const flattened = this.flatten(entities);
30
+ const attributesByPrimaryKey = await this.findWithEAByPrimaryColumn(this.getPrimaryKeyValues(flattened), extraOptions);
31
+ this.traverse(entities, (entity) => {
32
+ const value = attributesByPrimaryKey[entity[this.primaryColumn]];
33
+ if (!value) return entity;
34
+ const keys = Object.keys(value);
35
+ for (const key of keys) entity[key] = value[key];
36
+ return entity;
37
+ });
38
+ return entities;
39
+ }
40
+ flatten(entities) {
41
+ const output = [];
42
+ this.traverse(entities, (entity) => {
43
+ output.push(entity);
44
+ return entity;
45
+ });
46
+ return output;
47
+ }
48
+ traverse(entities, fn) {
49
+ const data = Array.isArray(entities) ? entities : [entities];
50
+ const childColumnName = this.repository.metadata.treeChildrenRelation?.propertyName;
51
+ for (const datum of data) {
52
+ fn(datum);
53
+ if (childColumnName && datum[childColumnName]) if (Array.isArray(datum[childColumnName])) this.traverse(datum[childColumnName], fn);
54
+ else this.traverse([datum[childColumnName]], fn);
55
+ }
56
+ }
57
+ };
58
+ //#endregion
59
+ export { ExtraAttributesTreeRepositoryAdapter };
60
+
61
+ //# sourceMappingURL=adapter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.mjs","names":["ExtraAttributesRepositoryAdapter","ExtraAttributesTreeRepositoryAdapter","saveWithEA","input","attributes","options","childColumnName","repository","metadata","treeChildrenRelation","propertyName","parentColumnName","treeParentRelation","children","parent","Array","isArray","child","undefined","extendManyWithEA","entities","extraOptions","flattened","flatten","attributesByPrimaryKey","findWithEAByPrimaryColumn","getPrimaryKeyValues","traverse","entity","value","primaryColumn","keys","Object","key","output","push","fn","data","datum"],"sources":["../../../../../src/adapters/database/extra-attribute-repository/tree/adapter.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ObjectLiteral } from '@authup/kit';\nimport { ExtraAttributesRepositoryAdapter } from '../adapter.ts';\nimport type { EARepositoryEntityBase, EARepositoryFindOptions, EARepositorySaveOptions } from '../types.ts';\n\nexport class ExtraAttributesTreeRepositoryAdapter<\n T extends ObjectLiteral = ObjectLiteral,\n A extends EARepositoryEntityBase = EARepositoryEntityBase,\n> extends ExtraAttributesRepositoryAdapter<T, A> {\n async saveWithEA<E extends Record<string, any>>(\n input: T & E,\n attributes?: E,\n options?: EARepositorySaveOptions<T>,\n ) : Promise<T & E> {\n const childColumnName = this.repository.metadata.treeChildrenRelation?.propertyName;\n const parentColumnName = this.repository.metadata.treeParentRelation?.propertyName;\n\n let children : T | T[] | undefined;\n\n if (childColumnName && input[childColumnName]) {\n children = input[childColumnName];\n delete input[childColumnName];\n }\n\n if (\n parentColumnName &&\n options &&\n options.parent\n ) {\n input[parentColumnName as keyof T] = options.parent as (T & E)[keyof T];\n }\n\n await super.saveWithEA(input, attributes, options);\n\n if (\n parentColumnName &&\n options &&\n options.parent\n ) {\n delete input[parentColumnName as keyof T];\n }\n\n if (\n childColumnName &&\n parentColumnName &&\n children\n ) {\n if (Array.isArray(children)) {\n for (const child of children) {\n await this.saveWithEA(child, undefined, {\n ...(options || {}),\n parent: input,\n });\n }\n } else {\n await this.saveWithEA(children, undefined, {\n ...(options || {}),\n parent: input,\n });\n }\n\n input[childColumnName as keyof T] = children as (T & E)[keyof T];\n }\n\n return input;\n }\n\n // ------------------------------------------------------------------------------\n\n async extendManyWithEA<E extends Record<string, any>>(\n entities: T[],\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<(T & E)[]> {\n const flattened = this.flatten(entities);\n\n const attributesByPrimaryKey = await this.findWithEAByPrimaryColumn(\n this.getPrimaryKeyValues(flattened),\n extraOptions,\n );\n\n this.traverse(entities, (entity) => {\n const value = attributesByPrimaryKey[entity[this.primaryColumn] as string];\n if (!value) {\n return entity;\n }\n\n const keys = Object.keys(value);\n for (const key of keys) {\n entity[key as keyof T] = value[key] as T[keyof T];\n }\n\n return entity;\n });\n\n return entities as (T & E)[];\n }\n\n // ------------------------------------------------------------------------------\n\n protected flatten(entities: T | T[]) : T[] {\n const output : T[] = [];\n\n this.traverse(entities, (entity) => {\n output.push(entity);\n\n return entity;\n });\n\n return output;\n }\n\n protected traverse(entities: T | T[], fn: (entity: T) => T) {\n const data : T[] = Array.isArray(entities) ? entities : [entities];\n\n const childColumnName = this.repository.metadata.treeChildrenRelation?.propertyName;\n for (const datum of data) {\n fn(datum);\n\n if (childColumnName && datum[childColumnName]) {\n if (Array.isArray(datum[childColumnName])) {\n this.traverse(datum[childColumnName], fn);\n } else {\n this.traverse([datum[childColumnName]], fn);\n }\n }\n }\n }\n}\n"],"mappings":";;AAWA,IAAaC,uCAAb,cAGUD,iCAAAA;CACN,MAAME,WACFC,OACAC,YACAC,SACe;EACf,MAAMC,kBAAkB,KAAKC,WAAWC,SAASC,sBAAsBC;EACvE,MAAMC,mBAAmB,KAAKJ,WAAWC,SAASI,oBAAoBF;EAEtE,IAAIG;AAEJ,MAAIP,mBAAmBH,MAAMG,kBAAkB;AAC3CO,cAAWV,MAAMG;AACjB,UAAOH,MAAMG;;AAGjB,MACIK,oBACAN,WACAA,QAAQS,OAERX,OAAMQ,oBAA+BN,QAAQS;AAGjD,QAAM,MAAMZ,WAAWC,OAAOC,YAAYC,QAAAA;AAE1C,MACIM,oBACAN,WACAA,QAAQS,OAER,QAAOX,MAAMQ;AAGjB,MACIL,mBACAK,oBACAE,UACF;AACE,OAAIE,MAAMC,QAAQH,SAAAA,CACd,MAAK,MAAMI,SAASJ,SAChB,OAAM,KAAKX,WAAWe,OAAOC,KAAAA,GAAW;IACpC,GAAIb,WAAW,EAAE;IACjBS,QAAQX;IACZ,CAAA;OAGJ,OAAM,KAAKD,WAAWW,UAAUK,KAAAA,GAAW;IACvC,GAAIb,WAAW,EAAE;IACjBS,QAAQX;IACZ,CAAA;AAGJA,SAAMG,mBAA8BO;;AAGxC,SAAOV;;CAKX,MAAMgB,iBACFC,UACAC,eAAwC,EAAE,EACvB;EACnB,MAAMC,YAAY,KAAKC,QAAQH,SAAAA;EAE/B,MAAMI,yBAAyB,MAAM,KAAKC,0BACtC,KAAKC,oBAAoBJ,UAAAA,EACzBD,aAAAA;AAGJ,OAAKM,SAASP,WAAWQ,WAAAA;GACrB,MAAMC,QAAQL,uBAAuBI,OAAO,KAAKE;AACjD,OAAI,CAACD,MACD,QAAOD;GAGX,MAAMG,OAAOC,OAAOD,KAAKF,MAAAA;AACzB,QAAK,MAAMI,OAAOF,KACdH,QAAOK,OAAkBJ,MAAMI;AAGnC,UAAOL;IACX;AAEA,SAAOR;;CAKDG,QAAQH,UAAyB;EACvC,MAAMc,SAAe,EAAE;AAEvB,OAAKP,SAASP,WAAWQ,WAAAA;AACrBM,UAAOC,KAAKP,OAAAA;AAEZ,UAAOA;IACX;AAEA,SAAOM;;CAGDP,SAASP,UAAmBgB,IAAsB;EACxD,MAAMC,OAAatB,MAAMC,QAAQI,SAAAA,GAAYA,WAAW,CAACA,SAAS;EAElE,MAAMd,kBAAkB,KAAKC,WAAWC,SAASC,sBAAsBC;AACvE,OAAK,MAAM4B,SAASD,MAAM;AACtBD,MAAGE,MAAAA;AAEH,OAAIhC,mBAAmBgC,MAAMhC,iBACzB,KAAIS,MAAMC,QAAQsB,MAAMhC,iBAAgB,CACpC,MAAKqB,SAASW,MAAMhC,kBAAkB8B,GAAAA;OAEtC,MAAKT,SAAS,CAACW,MAAMhC,iBAAiB,EAAE8B,GAAAA"}
@@ -0,0 +1,2 @@
1
+ import { EATreeRepository } from "./repository.mjs";
2
+ export { EATreeRepository };
@@ -0,0 +1,147 @@
1
+ import { ExtraAttributesTreeRepositoryAdapter } from "./adapter.mjs";
2
+ import { FindOptionsUtils, InstanceChecker, TreeRepository, TreeRepositoryUtils } from "typeorm";
3
+ //#region src/adapters/database/extra-attribute-repository/tree/repository.ts
4
+ /**
5
+ * @see https://github.com/typeorm/typeorm/blob/master/src/repository/TreeRepository.ts
6
+ */ var EATreeRepository = class extends TreeRepository {
7
+ adapter;
8
+ options;
9
+ constructor(instance, options) {
10
+ const { entity, attributeEntity, ...ctx } = options;
11
+ super(entity, InstanceChecker.isDataSource(instance) ? instance.manager : instance);
12
+ this.options = options;
13
+ this.adapter = new ExtraAttributesTreeRepositoryAdapter({
14
+ ...ctx,
15
+ repository: this,
16
+ attributeRepository: this.manager.getRepository(attributeEntity)
17
+ });
18
+ }
19
+ create(entityLike) {
20
+ if (!entityLike) return super.create();
21
+ if (Array.isArray(entityLike)) return super.create(entityLike).map((entity, i) => {
22
+ this.preserveExtraAttributes(entity, entityLike[i]);
23
+ return entity;
24
+ });
25
+ const entity = super.create(entityLike);
26
+ this.preserveExtraAttributes(entity, entityLike);
27
+ return entity;
28
+ }
29
+ preserveExtraAttributes(entity, source) {
30
+ const columns = /* @__PURE__ */ new Set();
31
+ for (const col of this.metadata.columns) columns.add(col.propertyName);
32
+ for (const rel of this.metadata.relations) columns.add(rel.propertyName);
33
+ for (const key of Object.keys(source)) if (!columns.has(key) && !(key in entity)) entity[key] = source[key];
34
+ }
35
+ async saveOneWithEA(input, attributes, options) {
36
+ return this.adapter.saveWithEA(input, attributes, options);
37
+ }
38
+ async findOneWithEA(options, extraOptions = {}) {
39
+ return this.adapter.findOneWithEA(options, extraOptions);
40
+ }
41
+ async findOneWithEAByPrimaryColumn(value, extraOptions) {
42
+ return this.adapter.findOneWithEAByPrimaryColumn(value, extraOptions);
43
+ }
44
+ async findManyWithEA(options, extraOptions = {}) {
45
+ return this.adapter.findWithEA(options, extraOptions);
46
+ }
47
+ async extendOneWithEA(entity, extraOptions = {}) {
48
+ const [output] = await this.extendManyWithEA([entity], extraOptions);
49
+ return output;
50
+ }
51
+ async extendManyWithEA(entities, extraOptions = {}) {
52
+ return this.adapter.extendManyWithEA(entities, extraOptions);
53
+ }
54
+ async findRoots(options) {
55
+ const entities = await super.findRoots(options);
56
+ await this.extendManyWithEA(entities);
57
+ return entities;
58
+ }
59
+ async findDescendantsTree(entity, options) {
60
+ const qb = this.createDescendantsQueryBuilder("treeEntity", "treeClosure", entity);
61
+ FindOptionsUtils.applyOptionsToTreeQueryBuilder(qb, options);
62
+ const entities = await qb.getRawAndEntities();
63
+ const relationMaps = TreeRepositoryUtils.createRelationMaps(this.manager, this.metadata, "treeEntity", entities.raw);
64
+ await this.extendManyWithEA(entities.entities);
65
+ TreeRepositoryUtils.buildChildrenEntityTree(this.metadata, entity, entities.entities, relationMaps, {
66
+ depth: -1,
67
+ ...options
68
+ });
69
+ return entity;
70
+ }
71
+ async findAncestors(entity, options) {
72
+ const entities = await super.findAncestors(entity, options);
73
+ await this.extendManyWithEA(entities);
74
+ return entities;
75
+ }
76
+ async findAncestorsTree(entity, options) {
77
+ const qb = this.createAncestorsQueryBuilder("treeEntity", "treeClosure", entity);
78
+ FindOptionsUtils.applyOptionsToTreeQueryBuilder(qb, options);
79
+ const entities = await qb.getRawAndEntities();
80
+ const relationMaps = TreeRepositoryUtils.createRelationMaps(this.manager, this.metadata, "treeEntity", entities.raw);
81
+ await this.extendManyWithEA(entities.entities);
82
+ TreeRepositoryUtils.buildParentEntityTree(this.metadata, entity, entities.entities, relationMaps);
83
+ return entity;
84
+ }
85
+ async updateClosureTable(entity, manager) {
86
+ if (!this.metadata.primaryColumns[0].getEntityValue(entity)) return;
87
+ if (!this.metadata.closureJunctionTable) return;
88
+ if (manager) await this.executeClosureTableUpdate(entity, manager);
89
+ else await this.manager.connection.transaction(async (manager) => {
90
+ await this.executeClosureTableUpdate(entity, manager);
91
+ });
92
+ }
93
+ async executeClosureTableUpdate(entity, manager) {
94
+ const primaryKeyValue = this.metadata.primaryColumns[0].getEntityValue(entity);
95
+ const { tableName } = this.metadata.closureJunctionTable;
96
+ const ancestorColumn = this.metadata.closureJunctionTable.ancestorColumns[0];
97
+ const descendantColumn = this.metadata.closureJunctionTable.descendantColumns[0];
98
+ const param = (index) => manager.connection.driver.createParameter(`p${index}`, index);
99
+ const ancestors = await manager.query(`SELECT *
100
+ FROM ${tableName}
101
+ WHERE ${ancestorColumn.databasePath} != ${descendantColumn.databasePath} AND
102
+ ${descendantColumn.databasePath} = ${param(0)} AND
103
+ ${ancestorColumn.databasePath} != ${param(1)}`, [primaryKeyValue, primaryKeyValue]);
104
+ if (!this.metadata.treeParentRelation) return;
105
+ const parentId = this.metadata.treeParentRelation.joinColumns[0].getEntityValue(entity);
106
+ let ancestorIds;
107
+ if (parentId) ancestorIds = [parentId, ...ancestors.filter((ancestor) => ancestor[ancestorColumn.databasePath] !== parentId).map((ancestor) => ancestor[ancestorColumn.databasePath])];
108
+ else ancestorIds = ancestors.map((ancestor) => ancestor[ancestorColumn.databasePath]);
109
+ if (ancestorIds.length === 0) return;
110
+ const descendants = await manager.query(`SELECT *
111
+ FROM ${tableName}
112
+ WHERE ${ancestorColumn.databasePath} != ${descendantColumn.databasePath} AND
113
+ ${ancestorColumn.databasePath} = ${param(0)} AND
114
+ ${descendantColumn.databasePath} != ${param(1)}`, [primaryKeyValue, primaryKeyValue]);
115
+ if (parentId) {
116
+ const descendantIds = descendants.map((descendant) => descendant[descendantColumn.databasePath]);
117
+ if (descendantIds.length > 0) {
118
+ const placeholders = descendantIds.map((_, i) => param(i + 1)).join(",");
119
+ const acc = (await manager.query(`SELECT *
120
+ FROM ${tableName}
121
+ WHERE
122
+ ${ancestorColumn.databasePath} != ${param(0)} AND
123
+ ${ancestorColumn.databasePath} != ${descendantColumn.databasePath} AND
124
+ ${descendantColumn.databasePath} IN (${placeholders})`, [primaryKeyValue, ...descendantIds])).reduce((acc, curr) => {
125
+ if (!acc[curr[descendantColumn.databasePath]]) acc[curr[descendantColumn.databasePath]] = [];
126
+ acc[curr[descendantColumn.databasePath]].push(curr[ancestorColumn.databasePath]);
127
+ return acc;
128
+ }, {});
129
+ for (const descendant of descendantIds) {
130
+ const ancestorsOfDescendent = acc[descendant] ?? [];
131
+ for (const ancestorId of ancestorIds) if (ancestorsOfDescendent.indexOf(ancestorId) === -1) await manager.query(`INSERT INTO ${tableName}
132
+ (${ancestorColumn.databasePath}, ${descendantColumn.databasePath})
133
+ VALUES (${param(0)}, ${param(1)})`, [ancestorId, descendant]);
134
+ }
135
+ }
136
+ } else {
137
+ const descendantIds = [primaryKeyValue, ...descendants.map((descendant) => descendant[descendantColumn.databasePath])];
138
+ for (const ancestorId of ancestorIds) for (const descendantId of descendantIds) await manager.query(`DELETE FROM ${tableName}
139
+ WHERE ${ancestorColumn.databasePath} = ${param(0)}
140
+ AND ${descendantColumn.databasePath} = ${param(1)}`, [ancestorId, descendantId]);
141
+ }
142
+ }
143
+ };
144
+ //#endregion
145
+ export { EATreeRepository };
146
+
147
+ //# sourceMappingURL=repository.mjs.map