@venizia/ignis 0.0.7-2 → 0.0.7-21

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 (559) hide show
  1. package/README.md +2757 -28
  2. package/dist/base/applications/abstract.d.ts.map +1 -1
  3. package/dist/base/applications/abstract.js +0 -8
  4. package/dist/base/applications/abstract.js.map +1 -1
  5. package/dist/base/applications/base.d.ts.map +1 -1
  6. package/dist/base/applications/base.js +0 -17
  7. package/dist/base/applications/base.js.map +1 -1
  8. package/dist/base/applications/types.d.ts.map +1 -1
  9. package/dist/base/applications/types.js.map +1 -1
  10. package/dist/base/components/base.d.ts.map +1 -1
  11. package/dist/base/components/base.js +0 -2
  12. package/dist/base/components/base.js.map +1 -1
  13. package/dist/base/controllers/abstract.d.ts +16 -130
  14. package/dist/base/controllers/abstract.d.ts.map +1 -1
  15. package/dist/base/controllers/abstract.js +62 -112
  16. package/dist/base/controllers/abstract.js.map +1 -1
  17. package/dist/base/controllers/base.d.ts +10 -118
  18. package/dist/base/controllers/base.d.ts.map +1 -1
  19. package/dist/base/controllers/base.js +5 -113
  20. package/dist/base/controllers/base.js.map +1 -1
  21. package/dist/base/controllers/common/constants.d.ts +1 -16
  22. package/dist/base/controllers/common/constants.d.ts.map +1 -1
  23. package/dist/base/controllers/common/constants.js +10 -29
  24. package/dist/base/controllers/common/constants.js.map +1 -1
  25. package/dist/base/controllers/common/types.d.ts +34 -152
  26. package/dist/base/controllers/common/types.d.ts.map +1 -1
  27. package/dist/base/controllers/common/types.js +1 -4
  28. package/dist/base/controllers/common/types.js.map +1 -1
  29. package/dist/base/controllers/factory/controller.d.ts +37 -199
  30. package/dist/base/controllers/factory/controller.d.ts.map +1 -1
  31. package/dist/base/controllers/factory/controller.js +21 -146
  32. package/dist/base/controllers/factory/controller.js.map +1 -1
  33. package/dist/base/controllers/factory/definition.d.ts +15 -9
  34. package/dist/base/controllers/factory/definition.d.ts.map +1 -1
  35. package/dist/base/controllers/factory/definition.js +62 -58
  36. package/dist/base/controllers/factory/definition.js.map +1 -1
  37. package/dist/base/datasources/base.d.ts +2 -31
  38. package/dist/base/datasources/base.d.ts.map +1 -1
  39. package/dist/base/datasources/base.js +2 -39
  40. package/dist/base/datasources/base.js.map +1 -1
  41. package/dist/base/datasources/common/types.d.ts +2 -4
  42. package/dist/base/datasources/common/types.d.ts.map +1 -1
  43. package/dist/base/datasources/common/types.js +1 -8
  44. package/dist/base/datasources/common/types.js.map +1 -1
  45. package/dist/base/metadata/injectors.d.ts +1 -30
  46. package/dist/base/metadata/injectors.d.ts.map +1 -1
  47. package/dist/base/metadata/injectors.js +1 -30
  48. package/dist/base/metadata/injectors.js.map +1 -1
  49. package/dist/base/metadata/persistents.d.ts +3 -63
  50. package/dist/base/metadata/persistents.d.ts.map +1 -1
  51. package/dist/base/metadata/persistents.js +11 -88
  52. package/dist/base/metadata/persistents.js.map +1 -1
  53. package/dist/base/metadata/routes.d.ts +8 -31
  54. package/dist/base/metadata/routes.d.ts.map +1 -1
  55. package/dist/base/metadata/routes.js +1 -27
  56. package/dist/base/metadata/routes.js.map +1 -1
  57. package/dist/base/middlewares/app-error.middleware.d.ts +1 -10
  58. package/dist/base/middlewares/app-error.middleware.d.ts.map +1 -1
  59. package/dist/base/middlewares/app-error.middleware.js +2 -14
  60. package/dist/base/middlewares/app-error.middleware.js.map +1 -1
  61. package/dist/base/middlewares/emoji-favicon.middleware.d.ts +1 -7
  62. package/dist/base/middlewares/emoji-favicon.middleware.d.ts.map +1 -1
  63. package/dist/base/middlewares/emoji-favicon.middleware.js +1 -7
  64. package/dist/base/middlewares/emoji-favicon.middleware.js.map +1 -1
  65. package/dist/base/middlewares/not-found.middleware.d.ts +1 -8
  66. package/dist/base/middlewares/not-found.middleware.d.ts.map +1 -1
  67. package/dist/base/middlewares/not-found.middleware.js +1 -8
  68. package/dist/base/middlewares/not-found.middleware.js.map +1 -1
  69. package/dist/base/middlewares/request-spy.middleware.d.ts +3 -19
  70. package/dist/base/middlewares/request-spy.middleware.d.ts.map +1 -1
  71. package/dist/base/middlewares/request-spy.middleware.js +3 -23
  72. package/dist/base/middlewares/request-spy.middleware.js.map +1 -1
  73. package/dist/base/mixins/component.mixin.d.ts.map +1 -1
  74. package/dist/base/mixins/controller.mixin.d.ts.map +1 -1
  75. package/dist/base/mixins/repository.mixin.d.ts.map +1 -1
  76. package/dist/base/mixins/service.mixin.d.ts.map +1 -1
  77. package/dist/base/models/base.d.ts +4 -21
  78. package/dist/base/models/base.d.ts.map +1 -1
  79. package/dist/base/models/base.js +1 -11
  80. package/dist/base/models/base.js.map +1 -1
  81. package/dist/base/models/common/types.d.ts.map +1 -1
  82. package/dist/base/models/common/types.js +0 -2
  83. package/dist/base/models/common/types.js.map +1 -1
  84. package/dist/base/models/enrichers/id.enricher.d.ts.map +1 -1
  85. package/dist/base/models/enrichers/id.enricher.js.map +1 -1
  86. package/dist/base/models/enrichers/user-audit.enricher.d.ts.map +1 -1
  87. package/dist/base/models/enrichers/user-audit.enricher.js +1 -6
  88. package/dist/base/models/enrichers/user-audit.enricher.js.map +1 -1
  89. package/dist/base/repositories/common/constants.d.ts +5 -59
  90. package/dist/base/repositories/common/constants.d.ts.map +1 -1
  91. package/dist/base/repositories/common/constants.js +3 -51
  92. package/dist/base/repositories/common/constants.js.map +1 -1
  93. package/dist/base/repositories/common/shared.d.ts +1 -13
  94. package/dist/base/repositories/common/shared.d.ts.map +1 -1
  95. package/dist/base/repositories/common/shared.js +2 -19
  96. package/dist/base/repositories/common/shared.js.map +1 -1
  97. package/dist/base/repositories/common/types.d.ts +32 -461
  98. package/dist/base/repositories/common/types.d.ts.map +1 -1
  99. package/dist/base/repositories/common/types.js +13 -159
  100. package/dist/base/repositories/common/types.js.map +1 -1
  101. package/dist/base/repositories/core/abstract.d.ts +10 -204
  102. package/dist/base/repositories/core/abstract.d.ts.map +1 -1
  103. package/dist/base/repositories/core/abstract.js +6 -126
  104. package/dist/base/repositories/core/abstract.js.map +1 -1
  105. package/dist/base/repositories/core/default-crud.d.ts +1 -36
  106. package/dist/base/repositories/core/default-crud.d.ts.map +1 -1
  107. package/dist/base/repositories/core/default-crud.js +1 -36
  108. package/dist/base/repositories/core/default-crud.js.map +1 -1
  109. package/dist/base/repositories/core/index.d.ts +1 -0
  110. package/dist/base/repositories/core/index.d.ts.map +1 -1
  111. package/dist/base/repositories/core/index.js +1 -0
  112. package/dist/base/repositories/core/index.js.map +1 -1
  113. package/dist/base/repositories/core/persistable.d.ts +2 -71
  114. package/dist/base/repositories/core/persistable.d.ts.map +1 -1
  115. package/dist/base/repositories/core/persistable.js +2 -100
  116. package/dist/base/repositories/core/persistable.js.map +1 -1
  117. package/dist/base/repositories/core/readable.d.ts +12 -127
  118. package/dist/base/repositories/core/readable.d.ts.map +1 -1
  119. package/dist/base/repositories/core/readable.js +8 -124
  120. package/dist/base/repositories/core/readable.js.map +1 -1
  121. package/dist/base/repositories/core/soft-deletable.d.ts +140 -0
  122. package/dist/base/repositories/core/soft-deletable.d.ts.map +1 -0
  123. package/dist/base/repositories/core/soft-deletable.js +99 -0
  124. package/dist/base/repositories/core/soft-deletable.js.map +1 -0
  125. package/dist/base/repositories/mixins/default-filter.d.ts +3 -49
  126. package/dist/base/repositories/mixins/default-filter.d.ts.map +1 -1
  127. package/dist/base/repositories/mixins/default-filter.js +3 -57
  128. package/dist/base/repositories/mixins/default-filter.js.map +1 -1
  129. package/dist/base/repositories/mixins/fields-visibility.d.ts +3 -59
  130. package/dist/base/repositories/mixins/fields-visibility.d.ts.map +1 -1
  131. package/dist/base/repositories/mixins/fields-visibility.js +3 -67
  132. package/dist/base/repositories/mixins/fields-visibility.js.map +1 -1
  133. package/dist/base/repositories/operators/filter.d.ts +10 -115
  134. package/dist/base/repositories/operators/filter.d.ts.map +1 -1
  135. package/dist/base/repositories/operators/filter.js +13 -154
  136. package/dist/base/repositories/operators/filter.js.map +1 -1
  137. package/dist/base/repositories/operators/json-utils.d.ts +5 -38
  138. package/dist/base/repositories/operators/json-utils.d.ts.map +1 -1
  139. package/dist/base/repositories/operators/json-utils.js +5 -47
  140. package/dist/base/repositories/operators/json-utils.js.map +1 -1
  141. package/dist/base/repositories/operators/query.d.ts +3 -56
  142. package/dist/base/repositories/operators/query.d.ts.map +1 -1
  143. package/dist/base/repositories/operators/query.js +11 -106
  144. package/dist/base/repositories/operators/query.js.map +1 -1
  145. package/dist/base/repositories/operators/relation.d.ts +1 -33
  146. package/dist/base/repositories/operators/relation.d.ts.map +1 -1
  147. package/dist/base/repositories/operators/relation.js +1 -36
  148. package/dist/base/repositories/operators/relation.js.map +1 -1
  149. package/dist/base/repositories/operators/update.d.ts +7 -72
  150. package/dist/base/repositories/operators/update.d.ts.map +1 -1
  151. package/dist/base/repositories/operators/update.js +6 -91
  152. package/dist/base/repositories/operators/update.js.map +1 -1
  153. package/dist/base/services/types.d.ts.map +1 -1
  154. package/dist/common/bindings.d.ts +2 -17
  155. package/dist/common/bindings.d.ts.map +1 -1
  156. package/dist/common/bindings.js +2 -14
  157. package/dist/common/bindings.js.map +1 -1
  158. package/dist/common/constants.d.ts +1 -3
  159. package/dist/common/constants.d.ts.map +1 -1
  160. package/dist/common/constants.js +1 -4
  161. package/dist/common/constants.js.map +1 -1
  162. package/dist/common/environments.d.ts +1 -4
  163. package/dist/common/environments.d.ts.map +1 -1
  164. package/dist/common/environments.js +1 -4
  165. package/dist/common/environments.js.map +1 -1
  166. package/dist/common/statuses.d.ts +6 -19
  167. package/dist/common/statuses.d.ts.map +1 -1
  168. package/dist/common/statuses.js +6 -27
  169. package/dist/common/statuses.js.map +1 -1
  170. package/dist/components/auth/authenticate/common/codecs.d.ts +11 -0
  171. package/dist/components/auth/authenticate/common/codecs.d.ts.map +1 -0
  172. package/dist/components/auth/authenticate/common/codecs.js +28 -0
  173. package/dist/components/auth/authenticate/common/codecs.js.map +1 -0
  174. package/dist/components/auth/authenticate/common/constants.d.ts +31 -5
  175. package/dist/components/auth/authenticate/common/constants.d.ts.map +1 -1
  176. package/dist/components/auth/authenticate/common/constants.js +41 -9
  177. package/dist/components/auth/authenticate/common/constants.js.map +1 -1
  178. package/dist/components/auth/authenticate/common/index.d.ts +1 -0
  179. package/dist/components/auth/authenticate/common/index.d.ts.map +1 -1
  180. package/dist/components/auth/authenticate/common/index.js +1 -0
  181. package/dist/components/auth/authenticate/common/index.js.map +1 -1
  182. package/dist/components/auth/authenticate/common/keys.d.ts +1 -0
  183. package/dist/components/auth/authenticate/common/keys.d.ts.map +1 -1
  184. package/dist/components/auth/authenticate/common/keys.js +1 -0
  185. package/dist/components/auth/authenticate/common/keys.js.map +1 -1
  186. package/dist/components/auth/authenticate/common/types.d.ts +63 -37
  187. package/dist/components/auth/authenticate/common/types.d.ts.map +1 -1
  188. package/dist/components/auth/authenticate/component.d.ts +5 -18
  189. package/dist/components/auth/authenticate/component.d.ts.map +1 -1
  190. package/dist/components/auth/authenticate/component.js +114 -82
  191. package/dist/components/auth/authenticate/component.js.map +1 -1
  192. package/dist/components/auth/authenticate/controllers/factory.d.ts +12 -12
  193. package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
  194. package/dist/components/auth/authenticate/controllers/factory.js +23 -22
  195. package/dist/components/auth/authenticate/controllers/factory.js.map +1 -1
  196. package/dist/components/auth/authenticate/controllers/index.d.ts +1 -0
  197. package/dist/components/auth/authenticate/controllers/index.d.ts.map +1 -1
  198. package/dist/components/auth/authenticate/controllers/index.js +1 -0
  199. package/dist/components/auth/authenticate/controllers/index.js.map +1 -1
  200. package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts +9 -0
  201. package/dist/components/auth/authenticate/controllers/jwks/controller.d.ts.map +1 -0
  202. package/dist/components/auth/authenticate/controllers/jwks/controller.js +54 -0
  203. package/dist/components/auth/authenticate/controllers/jwks/controller.js.map +1 -0
  204. package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts +66 -0
  205. package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts.map +1 -0
  206. package/dist/components/auth/authenticate/controllers/jwks/definitions.js +32 -0
  207. package/dist/components/auth/authenticate/controllers/jwks/definitions.js.map +1 -0
  208. package/dist/components/auth/authenticate/controllers/jwks/index.d.ts +2 -0
  209. package/dist/components/auth/authenticate/controllers/jwks/index.d.ts.map +1 -0
  210. package/dist/components/auth/authenticate/controllers/jwks/index.js +18 -0
  211. package/dist/components/auth/authenticate/controllers/jwks/index.js.map +1 -0
  212. package/dist/components/auth/authenticate/index.d.ts +2 -0
  213. package/dist/components/auth/authenticate/index.d.ts.map +1 -1
  214. package/dist/components/auth/authenticate/index.js +2 -0
  215. package/dist/components/auth/authenticate/index.js.map +1 -1
  216. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts +6 -0
  217. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.d.ts.map +1 -0
  218. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js +12 -0
  219. package/dist/components/auth/authenticate/middlewares/authenticate.middleware.js.map +1 -0
  220. package/dist/components/auth/authenticate/middlewares/index.d.ts +2 -0
  221. package/dist/components/auth/authenticate/middlewares/index.d.ts.map +1 -0
  222. package/dist/components/auth/authenticate/middlewares/index.js +18 -0
  223. package/dist/components/auth/authenticate/middlewares/index.js.map +1 -0
  224. package/dist/components/auth/authenticate/providers/authentication.provider.d.ts +12 -0
  225. package/dist/components/auth/authenticate/providers/authentication.provider.d.ts.map +1 -0
  226. package/dist/components/auth/authenticate/providers/authentication.provider.js +117 -0
  227. package/dist/components/auth/authenticate/providers/authentication.provider.js.map +1 -0
  228. package/dist/components/auth/authenticate/providers/index.d.ts +2 -0
  229. package/dist/components/auth/authenticate/providers/index.d.ts.map +1 -0
  230. package/dist/components/auth/authenticate/providers/index.js +18 -0
  231. package/dist/components/auth/authenticate/providers/index.js.map +1 -0
  232. package/dist/components/auth/authenticate/services/basic/index.d.ts +2 -0
  233. package/dist/components/auth/authenticate/services/basic/index.d.ts.map +1 -0
  234. package/dist/components/auth/authenticate/services/basic/index.js +18 -0
  235. package/dist/components/auth/authenticate/services/basic/index.js.map +1 -0
  236. package/dist/components/auth/authenticate/services/basic/service.d.ts +24 -0
  237. package/dist/components/auth/authenticate/services/basic/service.d.ts.map +1 -0
  238. package/dist/components/auth/authenticate/services/{basic-token.service.js → basic/service.js} +10 -49
  239. package/dist/components/auth/authenticate/services/basic/service.js.map +1 -0
  240. package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts +52 -0
  241. package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts.map +1 -0
  242. package/dist/components/auth/authenticate/services/bearer/abstract.service.js +177 -0
  243. package/dist/components/auth/authenticate/services/bearer/abstract.service.js.map +1 -0
  244. package/dist/components/auth/authenticate/services/bearer/index.d.ts +4 -0
  245. package/dist/components/auth/authenticate/services/bearer/index.d.ts.map +1 -0
  246. package/dist/components/auth/authenticate/services/bearer/index.js +20 -0
  247. package/dist/components/auth/authenticate/services/bearer/index.js.map +1 -0
  248. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts +16 -0
  249. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts.map +1 -0
  250. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js +32 -0
  251. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js.map +1 -0
  252. package/dist/components/auth/authenticate/services/bearer/jwks/index.d.ts +4 -0
  253. package/dist/components/auth/authenticate/services/bearer/jwks/index.d.ts.map +1 -0
  254. package/dist/components/auth/authenticate/services/bearer/jwks/index.js +20 -0
  255. package/dist/components/auth/authenticate/services/bearer/jwks/index.js.map +1 -0
  256. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts +46 -0
  257. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts.map +1 -0
  258. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js +168 -0
  259. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -0
  260. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts +18 -0
  261. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts.map +1 -0
  262. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js +73 -0
  263. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js.map +1 -0
  264. package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts +19 -0
  265. package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts.map +1 -0
  266. package/dist/components/auth/authenticate/services/bearer/jws.service.js +76 -0
  267. package/dist/components/auth/authenticate/services/bearer/jws.service.js.map +1 -0
  268. package/dist/components/auth/authenticate/services/index.d.ts +2 -2
  269. package/dist/components/auth/authenticate/services/index.d.ts.map +1 -1
  270. package/dist/components/auth/authenticate/services/index.js +2 -2
  271. package/dist/components/auth/authenticate/services/index.js.map +1 -1
  272. package/dist/components/auth/authenticate/strategies/basic.strategy.d.ts +2 -23
  273. package/dist/components/auth/authenticate/strategies/basic.strategy.d.ts.map +1 -1
  274. package/dist/components/auth/authenticate/strategies/basic.strategy.js +12 -26
  275. package/dist/components/auth/authenticate/strategies/basic.strategy.js.map +1 -1
  276. package/dist/components/auth/authenticate/strategies/index.d.ts +2 -1
  277. package/dist/components/auth/authenticate/strategies/index.d.ts.map +1 -1
  278. package/dist/components/auth/authenticate/strategies/index.js +2 -1
  279. package/dist/components/auth/authenticate/strategies/index.js.map +1 -1
  280. package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts +21 -0
  281. package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts.map +1 -0
  282. package/dist/components/auth/authenticate/strategies/jwks.strategy.js +68 -0
  283. package/dist/components/auth/authenticate/strategies/jwks.strategy.js.map +1 -0
  284. package/dist/components/auth/authenticate/strategies/{jwt.strategy.d.ts → jws.strategy.d.ts} +6 -5
  285. package/dist/components/auth/authenticate/strategies/jws.strategy.d.ts.map +1 -0
  286. package/dist/components/auth/authenticate/strategies/{jwt.strategy.js → jws.strategy.js} +21 -13
  287. package/dist/components/auth/authenticate/strategies/jws.strategy.js.map +1 -0
  288. package/dist/components/auth/authenticate/strategies/strategy-registry.d.ts +11 -24
  289. package/dist/components/auth/authenticate/strategies/strategy-registry.d.ts.map +1 -1
  290. package/dist/components/auth/authenticate/strategies/strategy-registry.js +9 -132
  291. package/dist/components/auth/authenticate/strategies/strategy-registry.js.map +1 -1
  292. package/dist/components/auth/authorize/adapters/base-filtered.d.ts +73 -0
  293. package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -0
  294. package/dist/components/auth/authorize/adapters/base-filtered.js +90 -0
  295. package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -0
  296. package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts +40 -0
  297. package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts.map +1 -0
  298. package/dist/components/auth/authorize/adapters/drizzle-casbin.js +99 -0
  299. package/dist/components/auth/authorize/adapters/drizzle-casbin.js.map +1 -0
  300. package/dist/components/auth/authorize/adapters/index.d.ts +3 -0
  301. package/dist/components/auth/authorize/adapters/index.d.ts.map +1 -0
  302. package/dist/components/auth/authorize/adapters/index.js +19 -0
  303. package/dist/components/auth/authorize/adapters/index.js.map +1 -0
  304. package/dist/components/auth/authorize/common/constants.d.ts +70 -0
  305. package/dist/components/auth/authorize/common/constants.d.ts.map +1 -0
  306. package/dist/components/auth/authorize/common/constants.js +130 -0
  307. package/dist/components/auth/authorize/common/constants.js.map +1 -0
  308. package/dist/components/auth/authorize/common/index.d.ts +4 -0
  309. package/dist/components/auth/authorize/common/index.d.ts.map +1 -0
  310. package/dist/components/auth/authorize/common/index.js +20 -0
  311. package/dist/components/auth/authorize/common/index.js.map +1 -0
  312. package/dist/components/auth/authorize/common/keys.d.ts +6 -0
  313. package/dist/components/auth/authorize/common/keys.d.ts.map +1 -0
  314. package/dist/components/auth/authorize/common/keys.js +12 -0
  315. package/dist/components/auth/authorize/common/keys.js.map +1 -0
  316. package/dist/components/auth/authorize/common/types.d.ts +107 -0
  317. package/dist/components/auth/authorize/common/types.d.ts.map +1 -0
  318. package/dist/components/auth/authorize/{middleware.js → common/types.js} +1 -1
  319. package/dist/components/auth/authorize/common/types.js.map +1 -0
  320. package/dist/components/auth/authorize/component.d.ts +10 -0
  321. package/dist/components/auth/authorize/component.d.ts.map +1 -0
  322. package/dist/components/auth/authorize/component.js +58 -0
  323. package/dist/components/auth/authorize/component.js.map +1 -0
  324. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts +56 -0
  325. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -0
  326. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js +254 -0
  327. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -0
  328. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts +33 -0
  329. package/dist/components/auth/authorize/enforcers/enforcer-registry.d.ts.map +1 -0
  330. package/dist/components/auth/authorize/enforcers/enforcer-registry.js +79 -0
  331. package/dist/components/auth/authorize/enforcers/enforcer-registry.js.map +1 -0
  332. package/dist/components/auth/authorize/enforcers/index.d.ts +3 -0
  333. package/dist/components/auth/authorize/enforcers/index.d.ts.map +1 -0
  334. package/dist/components/auth/authorize/enforcers/index.js +19 -0
  335. package/dist/components/auth/authorize/enforcers/index.js.map +1 -0
  336. package/dist/components/auth/authorize/index.d.ts +7 -1
  337. package/dist/components/auth/authorize/index.d.ts.map +1 -1
  338. package/dist/components/auth/authorize/index.js +21 -0
  339. package/dist/components/auth/authorize/index.js.map +1 -1
  340. package/dist/components/auth/authorize/middlewares/authorize.middleware.d.ts +6 -0
  341. package/dist/components/auth/authorize/middlewares/authorize.middleware.d.ts.map +1 -0
  342. package/dist/components/auth/authorize/middlewares/authorize.middleware.js +12 -0
  343. package/dist/components/auth/authorize/middlewares/authorize.middleware.js.map +1 -0
  344. package/dist/components/auth/authorize/middlewares/index.d.ts +2 -0
  345. package/dist/components/auth/authorize/middlewares/index.d.ts.map +1 -0
  346. package/dist/components/auth/authorize/middlewares/index.js +18 -0
  347. package/dist/components/auth/authorize/middlewares/index.js.map +1 -0
  348. package/dist/components/auth/authorize/models/abilities/index.d.ts +3 -0
  349. package/dist/components/auth/authorize/models/abilities/index.d.ts.map +1 -0
  350. package/dist/components/auth/authorize/models/abilities/index.js +19 -0
  351. package/dist/components/auth/authorize/models/abilities/index.js.map +1 -0
  352. package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts +14 -0
  353. package/dist/components/auth/authorize/models/abilities/string-action.model.d.ts.map +1 -0
  354. package/dist/components/auth/authorize/models/abilities/string-action.model.js +23 -0
  355. package/dist/components/auth/authorize/models/abilities/string-action.model.js.map +1 -0
  356. package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts +13 -0
  357. package/dist/components/auth/authorize/models/abilities/string-resource.model.d.ts.map +1 -0
  358. package/dist/components/auth/authorize/models/abilities/string-resource.model.js +19 -0
  359. package/dist/components/auth/authorize/models/abilities/string-resource.model.js.map +1 -0
  360. package/dist/components/auth/authorize/models/authorization-role.model.d.ts +30 -0
  361. package/dist/components/auth/authorize/models/authorization-role.model.d.ts.map +1 -0
  362. package/dist/components/auth/authorize/models/authorization-role.model.js +30 -0
  363. package/dist/components/auth/authorize/models/authorization-role.model.js.map +1 -0
  364. package/dist/components/auth/authorize/models/index.d.ts +3 -0
  365. package/dist/components/auth/authorize/models/index.d.ts.map +1 -0
  366. package/dist/components/auth/authorize/models/index.js +19 -0
  367. package/dist/components/auth/authorize/models/index.js.map +1 -0
  368. package/dist/components/auth/authorize/providers/authorization.provider.d.ts +10 -0
  369. package/dist/components/auth/authorize/providers/authorization.provider.d.ts.map +1 -0
  370. package/dist/components/auth/authorize/providers/authorization.provider.js +135 -0
  371. package/dist/components/auth/authorize/providers/authorization.provider.js.map +1 -0
  372. package/dist/components/auth/authorize/providers/index.d.ts +2 -0
  373. package/dist/components/auth/authorize/providers/index.d.ts.map +1 -0
  374. package/dist/components/auth/authorize/providers/index.js +18 -0
  375. package/dist/components/auth/authorize/providers/index.js.map +1 -0
  376. package/dist/components/auth/base/abstract-auth-registry.d.ts +27 -0
  377. package/dist/components/auth/base/abstract-auth-registry.d.ts.map +1 -0
  378. package/dist/components/auth/base/abstract-auth-registry.js +62 -0
  379. package/dist/components/auth/base/abstract-auth-registry.js.map +1 -0
  380. package/dist/components/auth/base/index.d.ts +2 -0
  381. package/dist/components/auth/base/index.d.ts.map +1 -0
  382. package/dist/components/auth/base/index.js +18 -0
  383. package/dist/components/auth/base/index.js.map +1 -0
  384. package/dist/components/auth/context-variables.d.ts +14 -0
  385. package/dist/components/auth/context-variables.d.ts.map +1 -0
  386. package/dist/components/auth/context-variables.js +3 -0
  387. package/dist/components/auth/context-variables.js.map +1 -0
  388. package/dist/components/auth/index.d.ts +2 -0
  389. package/dist/components/auth/index.d.ts.map +1 -1
  390. package/dist/components/auth/index.js +2 -0
  391. package/dist/components/auth/index.js.map +1 -1
  392. package/dist/components/auth/models/entities/index.d.ts +1 -2
  393. package/dist/components/auth/models/entities/index.d.ts.map +1 -1
  394. package/dist/components/auth/models/entities/index.js +1 -2
  395. package/dist/components/auth/models/entities/index.js.map +1 -1
  396. package/dist/components/auth/models/entities/permission.model.d.ts +0 -1
  397. package/dist/components/auth/models/entities/permission.model.d.ts.map +1 -1
  398. package/dist/components/auth/models/entities/permission.model.js +0 -2
  399. package/dist/components/auth/models/entities/permission.model.js.map +1 -1
  400. package/dist/components/auth/models/entities/policy-definition.model.d.ts +24 -0
  401. package/dist/components/auth/models/entities/policy-definition.model.d.ts.map +1 -0
  402. package/dist/components/auth/models/entities/policy-definition.model.js +39 -0
  403. package/dist/components/auth/models/entities/policy-definition.model.js.map +1 -0
  404. package/dist/components/auth/models/entities/role.model.d.ts +3 -1
  405. package/dist/components/auth/models/entities/role.model.d.ts.map +1 -1
  406. package/dist/components/auth/models/entities/role.model.js +5 -3
  407. package/dist/components/auth/models/entities/role.model.js.map +1 -1
  408. package/dist/components/auth/models/entities/user.model.d.ts +4 -2
  409. package/dist/components/auth/models/entities/user.model.d.ts.map +1 -1
  410. package/dist/components/auth/models/entities/user.model.js +6 -5
  411. package/dist/components/auth/models/entities/user.model.js.map +1 -1
  412. package/dist/components/auth/models/requests/change-password.schema.js +3 -3
  413. package/dist/components/auth/models/requests/change-password.schema.js.map +1 -1
  414. package/dist/components/auth/models/requests/sign-in.schema.js +5 -5
  415. package/dist/components/auth/models/requests/sign-in.schema.js.map +1 -1
  416. package/dist/components/health-check/controller.d.ts.map +1 -1
  417. package/dist/components/health-check/controller.js +0 -1
  418. package/dist/components/health-check/controller.js.map +1 -1
  419. package/dist/components/index.d.ts +0 -2
  420. package/dist/components/index.d.ts.map +1 -1
  421. package/dist/components/index.js +4 -2
  422. package/dist/components/index.js.map +1 -1
  423. package/dist/components/mail/common/types.d.ts +1 -1
  424. package/dist/components/mail/common/types.d.ts.map +1 -1
  425. package/dist/components/mail/component.d.ts.map +1 -1
  426. package/dist/components/mail/component.js +2 -7
  427. package/dist/components/mail/component.js.map +1 -1
  428. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts +2 -1
  429. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts.map +1 -1
  430. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js +10 -9
  431. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js.map +1 -1
  432. package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts +1 -1
  433. package/dist/components/mail/helpers/executors/direct-executor.helper.d.ts.map +1 -1
  434. package/dist/components/mail/helpers/executors/direct-executor.helper.js +3 -3
  435. package/dist/components/mail/helpers/executors/direct-executor.helper.js.map +1 -1
  436. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts +1 -1
  437. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts.map +1 -1
  438. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js +4 -4
  439. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
  440. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts +1 -1
  441. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts.map +1 -1
  442. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js +3 -3
  443. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js.map +1 -1
  444. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts +1 -1
  445. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts.map +1 -1
  446. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js +3 -3
  447. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js.map +1 -1
  448. package/dist/components/mail/providers/mail-queue-executor.provider.d.ts.map +1 -1
  449. package/dist/components/mail/providers/mail-queue-executor.provider.js +8 -8
  450. package/dist/components/mail/providers/mail-queue-executor.provider.js.map +1 -1
  451. package/dist/components/mail/providers/mail-transporter.provider.d.ts.map +1 -1
  452. package/dist/components/mail/providers/mail-transporter.provider.js +6 -6
  453. package/dist/components/mail/providers/mail-transporter.provider.js.map +1 -1
  454. package/dist/components/mail/services/mail.service.d.ts +1 -1
  455. package/dist/components/mail/services/mail.service.d.ts.map +1 -1
  456. package/dist/components/mail/services/mail.service.js +9 -9
  457. package/dist/components/mail/services/mail.service.js.map +1 -1
  458. package/dist/components/mail/services/template.service.d.ts +1 -1
  459. package/dist/components/mail/services/template.service.d.ts.map +1 -1
  460. package/dist/components/mail/services/template.service.js +4 -4
  461. package/dist/components/mail/services/template.service.js.map +1 -1
  462. package/dist/components/mail/utilities/type.utility.d.ts +1 -1
  463. package/dist/components/mail/utilities/type.utility.d.ts.map +1 -1
  464. package/dist/components/socket-io/common/types.d.ts +2 -1
  465. package/dist/components/socket-io/common/types.d.ts.map +1 -1
  466. package/dist/components/socket-io/component.d.ts.map +1 -1
  467. package/dist/components/socket-io/component.js +2 -5
  468. package/dist/components/socket-io/component.js.map +1 -1
  469. package/dist/components/socket-io/handlers/node.handler.d.ts +1 -1
  470. package/dist/components/socket-io/handlers/node.handler.d.ts.map +1 -1
  471. package/dist/components/socket-io/handlers/node.handler.js +2 -1
  472. package/dist/components/socket-io/handlers/node.handler.js.map +1 -1
  473. package/dist/components/static-asset/common/constants.d.ts +1 -0
  474. package/dist/components/static-asset/common/constants.d.ts.map +1 -1
  475. package/dist/components/static-asset/common/constants.js +2 -1
  476. package/dist/components/static-asset/common/constants.js.map +1 -1
  477. package/dist/components/static-asset/common/types.d.ts +44 -1
  478. package/dist/components/static-asset/common/types.d.ts.map +1 -1
  479. package/dist/components/static-asset/controller/base.definition.d.ts +81 -80
  480. package/dist/components/static-asset/controller/base.definition.d.ts.map +1 -1
  481. package/dist/components/static-asset/controller/base.definition.js +1 -2
  482. package/dist/components/static-asset/controller/base.definition.js.map +1 -1
  483. package/dist/components/static-asset/controller/factory.d.ts +8 -12
  484. package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
  485. package/dist/components/static-asset/controller/factory.js +41 -42
  486. package/dist/components/static-asset/controller/factory.js.map +1 -1
  487. package/dist/components/static-asset/models/base.model.d.ts +49 -19
  488. package/dist/components/static-asset/models/base.model.d.ts.map +1 -1
  489. package/dist/components/static-asset/models/base.model.js +3 -7
  490. package/dist/components/static-asset/models/base.model.js.map +1 -1
  491. package/dist/components/swagger/ui-factory.d.ts.map +1 -1
  492. package/dist/components/swagger/ui-factory.js +0 -2
  493. package/dist/components/swagger/ui-factory.js.map +1 -1
  494. package/dist/components/websocket/component.d.ts.map +1 -1
  495. package/dist/components/websocket/component.js +0 -3
  496. package/dist/components/websocket/component.js.map +1 -1
  497. package/dist/helpers/base-helper.d.ts +2 -0
  498. package/dist/helpers/base-helper.d.ts.map +1 -0
  499. package/dist/helpers/base-helper.js +6 -0
  500. package/dist/helpers/base-helper.js.map +1 -0
  501. package/dist/helpers/index.d.ts +2 -1
  502. package/dist/helpers/index.d.ts.map +1 -1
  503. package/dist/helpers/index.js +1 -1
  504. package/dist/helpers/index.js.map +1 -1
  505. package/dist/helpers/inversion/common/keys.d.ts.map +1 -1
  506. package/dist/helpers/inversion/common/keys.js +0 -2
  507. package/dist/helpers/inversion/common/keys.js.map +1 -1
  508. package/dist/helpers/inversion/common/types.d.ts +18 -56
  509. package/dist/helpers/inversion/common/types.d.ts.map +1 -1
  510. package/dist/helpers/inversion/container.d.ts.map +1 -1
  511. package/dist/helpers/inversion/container.js +0 -1
  512. package/dist/helpers/inversion/container.js.map +1 -1
  513. package/dist/helpers/inversion/index.d.ts +1 -1
  514. package/dist/helpers/inversion/index.d.ts.map +1 -1
  515. package/dist/helpers/inversion/index.js +5 -1
  516. package/dist/helpers/inversion/index.js.map +1 -1
  517. package/dist/helpers/inversion/mixins/controller.mixin.d.ts.map +1 -1
  518. package/dist/helpers/inversion/mixins/controller.mixin.js +0 -3
  519. package/dist/helpers/inversion/mixins/controller.mixin.js.map +1 -1
  520. package/dist/helpers/inversion/mixins/datasource.mixin.d.ts.map +1 -1
  521. package/dist/helpers/inversion/mixins/datasource.mixin.js +0 -3
  522. package/dist/helpers/inversion/mixins/datasource.mixin.js.map +1 -1
  523. package/dist/helpers/inversion/mixins/model.mixin.d.ts +29 -1
  524. package/dist/helpers/inversion/mixins/model.mixin.d.ts.map +1 -1
  525. package/dist/helpers/inversion/mixins/model.mixin.js +66 -2
  526. package/dist/helpers/inversion/mixins/model.mixin.js.map +1 -1
  527. package/dist/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
  528. package/dist/helpers/inversion/mixins/repository.mixin.js +0 -2
  529. package/dist/helpers/inversion/mixins/repository.mixin.js.map +1 -1
  530. package/dist/helpers/inversion/registry.d.ts +22 -0
  531. package/dist/helpers/inversion/registry.d.ts.map +1 -1
  532. package/dist/utilities/jsx.utility.d.ts +2 -16
  533. package/dist/utilities/jsx.utility.d.ts.map +1 -1
  534. package/dist/utilities/jsx.utility.js +2 -16
  535. package/dist/utilities/jsx.utility.js.map +1 -1
  536. package/dist/utilities/schema.utility.d.ts.map +1 -1
  537. package/dist/utilities/schema.utility.js +0 -2
  538. package/dist/utilities/schema.utility.js.map +1 -1
  539. package/package.json +117 -77
  540. package/dist/components/auth/authenticate/services/basic-token.service.d.ts +0 -60
  541. package/dist/components/auth/authenticate/services/basic-token.service.d.ts.map +0 -1
  542. package/dist/components/auth/authenticate/services/basic-token.service.js.map +0 -1
  543. package/dist/components/auth/authenticate/services/jwt-token.service.d.ts +0 -34
  544. package/dist/components/auth/authenticate/services/jwt-token.service.d.ts.map +0 -1
  545. package/dist/components/auth/authenticate/services/jwt-token.service.js +0 -219
  546. package/dist/components/auth/authenticate/services/jwt-token.service.js.map +0 -1
  547. package/dist/components/auth/authenticate/strategies/jwt.strategy.d.ts.map +0 -1
  548. package/dist/components/auth/authenticate/strategies/jwt.strategy.js.map +0 -1
  549. package/dist/components/auth/authorize/middleware.d.ts +0 -2
  550. package/dist/components/auth/authorize/middleware.d.ts.map +0 -1
  551. package/dist/components/auth/authorize/middleware.js.map +0 -1
  552. package/dist/components/auth/models/entities/permission-mapping.model.d.ts +0 -26
  553. package/dist/components/auth/models/entities/permission-mapping.model.d.ts.map +0 -1
  554. package/dist/components/auth/models/entities/permission-mapping.model.js +0 -33
  555. package/dist/components/auth/models/entities/permission-mapping.model.js.map +0 -1
  556. package/dist/components/auth/models/entities/user-role.model.d.ts +0 -17
  557. package/dist/components/auth/models/entities/user-role.model.d.ts.map +0 -1
  558. package/dist/components/auth/models/entities/user-role.model.js +0 -34
  559. package/dist/components/auth/models/entities/user-role.model.js.map +0 -1
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.authenticate = exports.AuthenticationStrategyRegistry = void 0;
7
- const inversion_1 = require("../../../../helpers/inversion");
8
- const ignis_helpers_1 = require("@venizia/ignis-helpers");
9
- const factory_1 = require("hono/factory");
10
- const isEmpty_1 = __importDefault(require("lodash/isEmpty"));
3
+ exports.AuthenticationStrategyRegistry = void 0;
4
+ const base_1 = require("../../base");
11
5
  const common_1 = require("../common");
12
- class AuthenticationStrategyRegistry extends ignis_helpers_1.BaseHelper {
13
- // ------------------------------------------------------------------------------
6
+ // Authentication Strategy Registry — manages strategy registration and resolution
7
+ class AuthenticationStrategyRegistry extends base_1.AbstractAuthRegistry {
14
8
  constructor() {
15
9
  super({ scope: AuthenticationStrategyRegistry.name });
16
- this.strategies = new Map();
17
10
  }
18
11
  static getInstance() {
19
12
  if (!AuthenticationStrategyRegistry.instance) {
@@ -21,135 +14,19 @@ class AuthenticationStrategyRegistry extends ignis_helpers_1.BaseHelper {
21
14
  }
22
15
  return AuthenticationStrategyRegistry.instance;
23
16
  }
24
- // ------------------------------------------------------------------------------
25
- getStrategyKey(opts) {
26
- if (!opts?.name || (0, isEmpty_1.default)(opts.name)) {
27
- throw (0, ignis_helpers_1.getError)({ message: `[getStrategyKey] Invalid strategy name | name: ${opts.name}` });
28
- }
29
- return [common_1.Authentication.AUTHENTICATION_STRATEGY, opts.name].join('.');
30
- }
31
- getStrategy(opts) {
32
- const { container, name } = opts;
33
- return container.get({
34
- key: this.getStrategyKey({ name }),
35
- isOptional: false,
36
- });
17
+ getBindingPrefix() {
18
+ return common_1.Authentication.AUTHENTICATION_STRATEGY;
37
19
  }
38
- // ------------------------------------------------------------------------------
39
20
  register(opts) {
40
21
  const { container, strategies } = opts;
41
22
  for (const { strategy, name } of strategies) {
42
- this.strategies.set(name, { container, strategyClass: strategy });
43
- container
44
- .bind({
45
- key: [common_1.Authentication.AUTHENTICATION_STRATEGY, name].join('.'),
46
- })
47
- .toClass(strategy)
48
- .setScope(inversion_1.BindingScopes.SINGLETON);
23
+ this.registerDescriptor({ container, target: strategy, name });
49
24
  }
50
25
  return this;
51
26
  }
52
- // ------------------------------------------------------------------------------
53
- authenticate(opts) {
54
- const { strategies, mode = 'any' } = opts;
55
- const mw = (0, factory_1.createMiddleware)(async (context, next) => {
56
- const isSkipAuthenticate = context.get(common_1.Authentication.SKIP_AUTHENTICATION);
57
- if (isSkipAuthenticate) {
58
- const path = context.req.path;
59
- this.logger
60
- .for(this.authenticate.name)
61
- .debug('SKIP checking authentication | action: %s', path);
62
- return next();
63
- }
64
- const isAuthenticated = context.get(common_1.Authentication.CURRENT_USER);
65
- if (isAuthenticated) {
66
- return next();
67
- }
68
- switch (mode) {
69
- case common_1.AuthenticationModes.ANY: {
70
- // FALLBACK MODE: first success wins
71
- const errors = [];
72
- for (const strategyName of strategies) {
73
- try {
74
- const user = await this.executeStrategy({ context, strategyName });
75
- context.set(common_1.Authentication.CURRENT_USER, user);
76
- if (user?.userId) {
77
- context.set(common_1.Authentication.AUDIT_USER_ID, user.userId);
78
- }
79
- await next();
80
- return;
81
- }
82
- catch (error) {
83
- this.logger
84
- .for(this.authenticate.name)
85
- .debug('Strategy %s failed, trying next...', strategyName);
86
- errors.push(error);
87
- }
88
- }
89
- // All strategies failed
90
- throw (0, ignis_helpers_1.getError)({
91
- statusCode: ignis_helpers_1.HTTP.ResultCodes.RS_4.Unauthorized,
92
- message: `Authentication failed. Tried strategies: ${strategies.join(', ')}`,
93
- });
94
- }
95
- case common_1.AuthenticationModes.ALL: {
96
- // ALL MODE: all strategies must pass
97
- let authUser = null;
98
- for (const strategyName of strategies) {
99
- const user = await this.executeStrategy({ context, strategyName });
100
- authUser = user;
101
- }
102
- if (authUser?.userId) {
103
- context.set(common_1.Authentication.CURRENT_USER, authUser);
104
- context.set(common_1.Authentication.AUDIT_USER_ID, authUser.userId);
105
- }
106
- else {
107
- this.logger
108
- .for(this.authenticate.name)
109
- .error('Failed to identify authenticated user | user: %j | userId: %s', authUser, authUser?.userId);
110
- throw (0, ignis_helpers_1.getError)({
111
- statusCode: ignis_helpers_1.HTTP.ResultCodes.RS_4.Unauthorized,
112
- message: 'Failed to identify authenticated user!',
113
- });
114
- }
115
- return next();
116
- }
117
- default: {
118
- throw (0, ignis_helpers_1.getError)({
119
- statusCode: ignis_helpers_1.HTTP.ResultCodes.RS_5.InternalServerError,
120
- message: `Invalid authentication mode | mode: ${mode}`,
121
- });
122
- }
123
- }
124
- });
125
- return mw;
126
- }
127
- // ------------------------------------------------------------------------------
128
- executeStrategy(opts) {
129
- const { context, strategyName } = opts;
130
- const strategyMetadata = this.strategies.get(strategyName);
131
- if (!strategyMetadata) {
132
- throw (0, ignis_helpers_1.getError)({
133
- statusCode: ignis_helpers_1.HTTP.ResultCodes.RS_5.InternalServerError,
134
- message: `[executeStrategy] Strategy not found: ${strategyName}`,
135
- });
136
- }
137
- const { container } = strategyMetadata;
138
- const strategy = container.get({
139
- key: [common_1.Authentication.AUTHENTICATION_STRATEGY, strategyName].join('.'),
140
- });
141
- if (!strategy) {
142
- throw (0, ignis_helpers_1.getError)({
143
- statusCode: ignis_helpers_1.HTTP.ResultCodes.RS_5.InternalServerError,
144
- message: `[executeStrategy] strategy: ${strategyName} | Authentication Strategy NOT FOUND`,
145
- });
146
- }
147
- return strategy.authenticate(context);
27
+ resolveStrategy(opts) {
28
+ return this.resolveDescriptor(opts);
148
29
  }
149
30
  }
150
31
  exports.AuthenticationStrategyRegistry = AuthenticationStrategyRegistry;
151
- const authenticate = (opts) => {
152
- return AuthenticationStrategyRegistry.getInstance().authenticate(opts);
153
- };
154
- exports.authenticate = authenticate;
155
32
  //# sourceMappingURL=strategy-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-registry.js","sourceRoot":"","sources":["../../../../../src/components/auth/authenticate/strategies/strategy-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy-registry.js","sourceRoot":"","sources":["../../../../../src/components/auth/authenticate/strategies/strategy-registry.ts"],"names":[],"mappings":";;;AAEA,qCAAkD;AAClD,sCAAoE;AAEpE,kFAAkF;AAElF,MAAa,8BAA+B,SAAQ,2BAA6C;IAG/F;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,8BAA8B,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,CAAC;YAC7C,8BAA8B,CAAC,QAAQ,GAAG,IAAI,8BAA8B,EAAE,CAAC;QACjF,CAAC;QAED,OAAO,8BAA8B,CAAC,QAAQ,CAAC;IACjD,CAAC;IAES,gBAAgB;QACxB,OAAO,uBAAc,CAAC,uBAAuB,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,IAGR;QACC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAEvC,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,IAAsB;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACF;AAnCD,wEAmCC"}
@@ -0,0 +1,73 @@
1
+ import { BaseHelper, ValueOrPromise } from '@venizia/ignis-helpers';
2
+ import { type FilteredAdapter, type Model } from 'casbin';
3
+ export interface IBaseFilteredAdapterEntities {
4
+ role: {
5
+ principalType: string;
6
+ };
7
+ domain?: {
8
+ principalType: string;
9
+ };
10
+ }
11
+ export interface ICasbinPolicyFilter {
12
+ principalType: string;
13
+ principalValue: string | number;
14
+ }
15
+ /**
16
+ * Base policy row shape.
17
+ *
18
+ * Declared as `type` (not `interface`) so it carries an implicit index signature —
19
+ * required by Drizzle's `connector.execute<T>()` which constrains `T extends Record<string, unknown>`.
20
+ */
21
+ export type TBasePolicyRow = {
22
+ variant: string;
23
+ code: string;
24
+ action: string | null;
25
+ subjectType: string;
26
+ subjectId: string | number;
27
+ effect: string | null;
28
+ domain: string | null;
29
+ };
30
+ export declare abstract class BaseFilteredAdapter<TEntities extends IBaseFilteredAdapterEntities = IBaseFilteredAdapterEntities, TFilter = ICasbinPolicyFilter, TPolicyRow extends TBasePolicyRow = TBasePolicyRow> extends BaseHelper implements FilteredAdapter {
31
+ protected readonly entities: TEntities;
32
+ constructor(opts: {
33
+ scope: string;
34
+ entities: TEntities;
35
+ });
36
+ loadPolicy(): Promise<void>;
37
+ loadFilteredPolicy(model: Model, filter: TFilter): Promise<void>;
38
+ isFiltered(): boolean;
39
+ savePolicy(): Promise<boolean>;
40
+ addPolicy(): Promise<void>;
41
+ removePolicy(): Promise<void>;
42
+ removeFilteredPolicy(): Promise<void>;
43
+ /** Query direct permission policies assigned to the principal. Return casbin `p` lines. */
44
+ protected abstract buildDirectPolicies(opts: {
45
+ filter: TFilter;
46
+ rolePrincipal: string;
47
+ }): ValueOrPromise<string[]>;
48
+ /** Query role assignments for the principal. Return casbin `g` lines + role IDs. */
49
+ protected abstract buildGroupPolicies(opts: {
50
+ filter: TFilter;
51
+ }): ValueOrPromise<{
52
+ lines: string[];
53
+ roleIds: (string | number)[];
54
+ }>;
55
+ /** Query permission policies inherited through roles. Return casbin `p` lines. */
56
+ protected abstract buildRolePolicies(opts: {
57
+ roleIds: (string | number)[];
58
+ rolePrincipal: string;
59
+ }): ValueOrPromise<string[]>;
60
+ /** Format a domain value with optional entity prefix (e.g., `"Organization_<uuid>"`). */
61
+ protected formatDomain(domain: string | null): string | null;
62
+ /** Format a casbin grouping line: `g, <subject>, <role>[, <domain>]`. */
63
+ protected toGroupLine(opts: {
64
+ subject: string;
65
+ role: string;
66
+ domain: string | null;
67
+ }): string;
68
+ /** Format a casbin policy line: `p, <subject>, [<domain>,] <resource>, <action>, <effect>`. */
69
+ protected toPolicyLine(opts: {
70
+ row: TPolicyRow;
71
+ }): string | null;
72
+ }
73
+ //# sourceMappingURL=base-filtered.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-filtered.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/base-filtered.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE1D,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,MAAM,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAYF,8BAAsB,mBAAmB,CACvC,SAAS,SAAS,4BAA4B,GAAG,4BAA4B,EAC7E,OAAO,GAAG,mBAAmB,EAC7B,UAAU,SAAS,cAAc,GAAG,cAAc,CAElD,SAAQ,UACR,YAAW,eAAe;IAE1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAE3B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,SAAS,CAAA;KAAE;IAOlD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE,UAAU,IAAI,OAAO;IAMf,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAI9B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3C,2FAA2F;IAC3F,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE;QAC3C,MAAM,EAAE,OAAO,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;IAE5B,oFAAoF;IACpF,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE;QAC1C,MAAM,EAAE,OAAO,CAAC;KACjB,GAAG,cAAc,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC;IAErE,kFAAkF;IAClF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE;QACzC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;IAI5B,yFAAyF;IACzF,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5C,yEAAyE;IACzE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IASpF,+FAA+F;IAC/F,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,UAAU,CAAA;KAAE;CAkBjD"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseFilteredAdapter = void 0;
4
+ const ignis_helpers_1 = require("@venizia/ignis-helpers");
5
+ const common_1 = require("../common");
6
+ // Base Filtered Adapter — read-only template for casbin FilteredAdapter
7
+ //
8
+ // Generic parameters (ordered by likelihood of customization):
9
+ // TEntities — entity configuration (subclass adds data-source-specific fields like tableName)
10
+ // TFilter — filter shape passed to loadFilteredPolicy (opaque to the base)
11
+ // TPolicyRow — policy row shape consumed by toPolicyLine
12
+ //
13
+ // Subclasses implement the three query hooks; the base orchestrates loading,
14
+ // provides shared formatters, and satisfies the no-op write contract.
15
+ class BaseFilteredAdapter extends ignis_helpers_1.BaseHelper {
16
+ constructor(opts) {
17
+ super({ scope: opts.scope });
18
+ this.entities = opts.entities;
19
+ }
20
+ // FilteredAdapter — public API
21
+ async loadPolicy() {
22
+ return;
23
+ }
24
+ async loadFilteredPolicy(model, filter) {
25
+ const { Helper } = await import('casbin');
26
+ const rolePrincipal = this.entities.role.principalType;
27
+ const loadLine = (line) => Helper.loadPolicyLine(line, model);
28
+ // 1. Direct permissions assigned to the principal
29
+ const directLines = await this.buildDirectPolicies({ filter, rolePrincipal });
30
+ directLines.forEach(loadLine);
31
+ // 2. Role assignments + group lines
32
+ const { lines: groupLines, roleIds } = await this.buildGroupPolicies({ filter });
33
+ groupLines.forEach(loadLine);
34
+ // 3. Permissions inherited through roles
35
+ if (roleIds.length) {
36
+ const roleLines = await this.buildRolePolicies({ roleIds, rolePrincipal });
37
+ roleLines.forEach(loadLine);
38
+ }
39
+ }
40
+ isFiltered() {
41
+ return true;
42
+ }
43
+ // FilteredAdapter — no-op write methods (read-only adapter)
44
+ async savePolicy() {
45
+ return true;
46
+ }
47
+ async addPolicy() {
48
+ return;
49
+ }
50
+ async removePolicy() {
51
+ return;
52
+ }
53
+ async removeFilteredPolicy() {
54
+ return;
55
+ }
56
+ // Formatters — shared utilities for subclasses
57
+ /** Format a domain value with optional entity prefix (e.g., `"Organization_<uuid>"`). */
58
+ formatDomain(domain) {
59
+ if (!domain) {
60
+ return null;
61
+ }
62
+ const prefix = this.entities.domain?.principalType;
63
+ return prefix ? `${prefix}_${domain}` : domain;
64
+ }
65
+ /** Format a casbin grouping line: `g, <subject>, <role>[, <domain>]`. */
66
+ toGroupLine(opts) {
67
+ const { subject, role, domain } = opts;
68
+ if (domain) {
69
+ return [common_1.CasbinRuleVariants.G, subject, role, domain].join(', ');
70
+ }
71
+ return [common_1.CasbinRuleVariants.G, subject, role].join(', ');
72
+ }
73
+ /** Format a casbin policy line: `p, <subject>, [<domain>,] <resource>, <action>, <effect>`. */
74
+ toPolicyLine(opts) {
75
+ const { row } = opts;
76
+ const { code, action } = row;
77
+ const effect = row.effect ?? 'allow';
78
+ if (!action) {
79
+ return null;
80
+ }
81
+ const subject = `${row.subjectType}_${row.subjectId}`;
82
+ const domain = this.formatDomain(row.domain);
83
+ if (domain) {
84
+ return [common_1.CasbinRuleVariants.P, subject, domain, code, action, effect].join(', ');
85
+ }
86
+ return [common_1.CasbinRuleVariants.P, subject, code, action, effect].join(', ');
87
+ }
88
+ }
89
+ exports.BaseFilteredAdapter = BaseFilteredAdapter;
90
+ //# sourceMappingURL=base-filtered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-filtered.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/base-filtered.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { IDataSource } from '../../../../base/datasources';
2
+ import { BaseFilteredAdapter, type IBaseFilteredAdapterEntities, type ICasbinPolicyFilter } from './base-filtered';
3
+ export interface IDrizzleCasbinEntities extends IBaseFilteredAdapterEntities {
4
+ permission: {
5
+ tableName: string;
6
+ principalType: string;
7
+ };
8
+ role: {
9
+ tableName: string;
10
+ principalType: string;
11
+ };
12
+ policyDefinition: {
13
+ tableName: string;
14
+ principalType: string;
15
+ };
16
+ }
17
+ export interface IDrizzleCasbinAdapterOptions {
18
+ dataSource: IDataSource;
19
+ entities: IDrizzleCasbinEntities;
20
+ }
21
+ export declare class DrizzleCasbinAdapter extends BaseFilteredAdapter<IDrizzleCasbinEntities> {
22
+ private dataSource;
23
+ private get connector();
24
+ constructor(opts: IDrizzleCasbinAdapterOptions);
25
+ protected buildDirectPolicies(opts: {
26
+ filter: ICasbinPolicyFilter;
27
+ rolePrincipal: string;
28
+ }): Promise<string[]>;
29
+ protected buildGroupPolicies(opts: {
30
+ filter: ICasbinPolicyFilter;
31
+ }): Promise<{
32
+ lines: string[];
33
+ roleIds: (string | number)[];
34
+ }>;
35
+ protected buildRolePolicies(opts: {
36
+ roleIds: (string | number)[];
37
+ rolePrincipal: string;
38
+ }): Promise<string[]>;
39
+ }
40
+ //# sourceMappingURL=drizzle-casbin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-casbin.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/drizzle-casbin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EACL,mBAAmB,EACnB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EAEzB,MAAM,iBAAiB,CAAC;AACzB,MAAM,WAAW,sBAAuB,SAAQ,4BAA4B;IAC1E,UAAU,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,gBAAgB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAID,qBAAa,oBAAqB,SAAQ,mBAAmB,CAAC,sBAAsB,CAAC;IACnF,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO,KAAK,SAAS,GAEpB;gBAEW,IAAI,EAAE,4BAA4B;cAO9B,mBAAmB,CAAC,IAAI,EAAE;QACxC,MAAM,EAAE,mBAAmB,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAiCL,kBAAkB,CAAC,IAAI,EAAE;QACvC,MAAM,EAAE,mBAAmB,CAAC;KAC7B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC;cAqC9C,iBAAiB,CAAC,IAAI,EAAE;QACtC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAoCtB"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DrizzleCasbinAdapter = void 0;
4
+ const drizzle_orm_1 = require("drizzle-orm");
5
+ const common_1 = require("../common");
6
+ const base_filtered_1 = require("./base-filtered");
7
+ // Drizzle Casbin Adapter — read-only FilteredAdapter using raw SQL queries
8
+ class DrizzleCasbinAdapter extends base_filtered_1.BaseFilteredAdapter {
9
+ get connector() {
10
+ return this.dataSource.connector;
11
+ }
12
+ constructor(opts) {
13
+ super({ scope: DrizzleCasbinAdapter.name, entities: opts.entities });
14
+ this.dataSource = opts.dataSource;
15
+ }
16
+ // Query builders
17
+ async buildDirectPolicies(opts) {
18
+ const { permission: perm, policyDefinition: pd } = this.entities;
19
+ const { principalType, principalValue } = opts.filter;
20
+ const result = await this.connector.execute((0, drizzle_orm_1.sql) `
21
+ SELECT pd.variant, p.code, pd.action,
22
+ pd.subject_type AS "subjectType", pd.subject_id AS "subjectId",
23
+ pd.effect, pd.domain
24
+ FROM ${drizzle_orm_1.sql.identifier(pd.tableName)} pd
25
+ INNER JOIN ${drizzle_orm_1.sql.identifier(perm.tableName)} p ON pd.target_id = p.id
26
+ WHERE pd.variant = ${common_1.CasbinRuleVariants.POLICY}
27
+ AND pd.subject_type = ${principalType}
28
+ AND pd.subject_id = ${principalValue}
29
+ AND pd.target_type = ${perm.principalType}
30
+ `);
31
+ const policyLines = [];
32
+ if (!result.rows.length) {
33
+ return policyLines;
34
+ }
35
+ for (const row of result.rows) {
36
+ const line = this.toPolicyLine({ row });
37
+ if (!line) {
38
+ continue;
39
+ }
40
+ policyLines.push(line);
41
+ }
42
+ return policyLines;
43
+ }
44
+ async buildGroupPolicies(opts) {
45
+ const { role: rol, policyDefinition: pd } = this.entities;
46
+ const { principalType, principalValue } = opts.filter;
47
+ const result = await this.connector.execute((0, drizzle_orm_1.sql) `
48
+ SELECT pd.target_id AS "targetId", pd.domain
49
+ FROM ${drizzle_orm_1.sql.identifier(pd.tableName)} pd
50
+ WHERE pd.variant = ${common_1.CasbinRuleVariants.GROUP}
51
+ AND pd.subject_type = ${principalType}
52
+ AND pd.subject_id = ${principalValue}
53
+ AND pd.target_type = ${rol.principalType}
54
+ `);
55
+ const policyLines = [];
56
+ const roleIds = [];
57
+ if (!result.rows.length) {
58
+ return { lines: policyLines, roleIds };
59
+ }
60
+ for (const row of result.rows) {
61
+ roleIds.push(row.targetId);
62
+ policyLines.push(this.toGroupLine({
63
+ subject: `${principalType}_${principalValue}`,
64
+ role: `${rol.principalType}_${row.targetId}`,
65
+ domain: this.formatDomain(row.domain),
66
+ }));
67
+ }
68
+ return { lines: policyLines, roleIds };
69
+ }
70
+ async buildRolePolicies(opts) {
71
+ const { permission: perm, role: rol, policyDefinition: pd } = this.entities;
72
+ const { roleIds } = opts;
73
+ const result = await this.connector.execute((0, drizzle_orm_1.sql) `
74
+ SELECT pd.variant, p.code, pd.action,
75
+ pd.subject_type AS "subjectType", pd.subject_id AS "subjectId",
76
+ pd.effect, pd.domain
77
+ FROM ${drizzle_orm_1.sql.identifier(pd.tableName)} pd
78
+ INNER JOIN ${drizzle_orm_1.sql.identifier(perm.tableName)} p ON pd.target_id = p.id
79
+ WHERE pd.variant = ${common_1.CasbinRuleVariants.POLICY}
80
+ AND pd.subject_type = ${rol.principalType}
81
+ AND pd.subject_id IN (${drizzle_orm_1.sql.join(roleIds.map(id => (0, drizzle_orm_1.sql) `${id}`), (0, drizzle_orm_1.sql) `, `)})
82
+ AND pd.target_type = ${perm.principalType}
83
+ `);
84
+ const policyLines = [];
85
+ if (!result.rows.length) {
86
+ return policyLines;
87
+ }
88
+ for (const row of result.rows) {
89
+ const line = this.toPolicyLine({ row });
90
+ if (!line) {
91
+ continue;
92
+ }
93
+ policyLines.push(line);
94
+ }
95
+ return policyLines;
96
+ }
97
+ }
98
+ exports.DrizzleCasbinAdapter = DrizzleCasbinAdapter;
99
+ //# sourceMappingURL=drizzle-casbin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drizzle-casbin.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/drizzle-casbin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './base-filtered';
2
+ export * from './drizzle-casbin';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./base-filtered"), exports);
18
+ __exportStar(require("./drizzle-casbin"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,mDAAiC"}
@@ -0,0 +1,70 @@
1
+ import { TConstValue } from '@venizia/ignis-helpers';
2
+ import { AuthorizationRole } from '../models/authorization-role.model';
3
+ export declare class Authorization {
4
+ static readonly RULES = "authorization.rules";
5
+ static readonly SKIP_AUTHORIZATION = "authorization.skip";
6
+ static readonly ENFORCER = "authorization.enforcer";
7
+ }
8
+ export declare class AuthorizationActions {
9
+ static readonly CREATE = "create";
10
+ static readonly READ = "read";
11
+ static readonly UPDATE = "update";
12
+ static readonly DELETE = "delete";
13
+ static readonly EXECUTE = "execute";
14
+ static readonly SCHEME_SET: Set<string>;
15
+ static isValid(input: string): boolean;
16
+ }
17
+ export type TAuthorizationAction = TConstValue<typeof AuthorizationActions>;
18
+ export declare class AuthorizationDecisions {
19
+ static readonly ALLOW = "allow";
20
+ static readonly DENY = "deny";
21
+ static readonly ABSTAIN = "abstain";
22
+ static readonly SCHEME_SET: Set<string>;
23
+ static isValid(input: string): boolean;
24
+ static isAllow(input: string | number): boolean;
25
+ static isDeny(input: string | number): boolean;
26
+ static isAbstain(input: string | number): boolean;
27
+ }
28
+ export type TAuthorizationDecision = TConstValue<typeof AuthorizationDecisions>;
29
+ export declare class AuthorizationRoles {
30
+ static readonly SUPER_ADMIN: AuthorizationRole;
31
+ static readonly ADMIN: AuthorizationRole;
32
+ static readonly USER: AuthorizationRole;
33
+ static readonly GUEST: AuthorizationRole;
34
+ static readonly UNKNOWN_USER: AuthorizationRole;
35
+ static readonly SCHEME_SET: Set<string>;
36
+ static isValid(input: string): boolean;
37
+ }
38
+ export declare class AuthorizationEnforcerTypes {
39
+ static readonly CASBIN = "casbin";
40
+ static readonly CUSTOM = "custom";
41
+ static readonly SCHEME_SET: Set<string>;
42
+ static isValid(input: string): boolean;
43
+ }
44
+ export type TAuthorizationEnforcerType = TConstValue<typeof AuthorizationEnforcerTypes>;
45
+ export declare class CasbinEnforcerCachedDrivers {
46
+ static readonly IN_MEMORY = "in-memory";
47
+ static readonly REDIS = "redis";
48
+ static readonly SCHEME_SET: Set<string>;
49
+ static isValid(input: string): boolean;
50
+ }
51
+ export type TCasbinEnforcerCachedDriver = TConstValue<typeof CasbinEnforcerCachedDrivers>;
52
+ export declare class CasbinEnforcerModelDrivers {
53
+ static readonly FILE = "file";
54
+ static readonly TEXT = "text";
55
+ static readonly SCHEME_SET: Set<string>;
56
+ static isValid(input: string): boolean;
57
+ }
58
+ export type TCasbinEnforcerModelDriver = TConstValue<typeof CasbinEnforcerModelDrivers>;
59
+ export declare class CasbinRuleVariants {
60
+ static readonly POLICY = "policy";
61
+ static readonly GROUP = "group";
62
+ /** Casbin line prefix for policy rules. */
63
+ static readonly P = "p";
64
+ /** Casbin line prefix for grouping rules. */
65
+ static readonly G = "g";
66
+ static readonly SCHEME_SET: Set<string>;
67
+ static isValid(input: string): boolean;
68
+ }
69
+ export type TCasbinRuleVariant = TConstValue<typeof CasbinRuleVariants>;
70
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/common/constants.ts"],"names":[],"mappings":"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"}