@elsikora/nestjs-crud-automator 1.17.0-dev.1 → 1.17.1-dev.1

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 (156) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/class/api/authorization/engine.class.d.ts +1 -1
  3. package/dist/cjs/class/api/authorization/engine.class.js +1 -1
  4. package/dist/cjs/class/api/authorization/guard.class.d.ts +1 -1
  5. package/dist/cjs/class/api/authorization/guard.class.js +3 -3
  6. package/dist/cjs/class/api/authorization/policy/base.class.d.ts +1 -1
  7. package/dist/cjs/class/api/authorization/policy/base.class.js +1 -1
  8. package/dist/cjs/class/api/authorization/policy/discovery-service.class.js +1 -1
  9. package/dist/cjs/class/api/authorization/policy/executor.class.d.ts +1 -1
  10. package/dist/cjs/class/api/authorization/policy/executor.class.js +1 -1
  11. package/dist/cjs/class/api/authorization/policy/registry.class.d.ts +1 -1
  12. package/dist/cjs/class/api/authorization/policy/registry.class.js +1 -1
  13. package/dist/cjs/constant/class/authorization/metadata/decision.constant.js.map +1 -0
  14. package/dist/cjs/constant/class/authorization/policy/decorator.constant.js.map +1 -0
  15. package/dist/cjs/constant/class/authorization/token/registry.constant.js.map +1 -0
  16. package/dist/cjs/constant/index.d.ts +1 -1
  17. package/dist/cjs/decorator/api/authorization/policy.decorator.d.ts +1 -1
  18. package/dist/cjs/decorator/api/authorization/policy.decorator.js +1 -1
  19. package/dist/cjs/enum/class/authorization/effect.enum.js.map +1 -0
  20. package/dist/cjs/enum/class/authorization/policy/on-type.enum.js.map +1 -0
  21. package/dist/cjs/enum/index.d.ts +1 -1
  22. package/dist/cjs/index.js +5 -5
  23. package/dist/cjs/interface/api-authentication-request.interface.d.ts +1 -1
  24. package/dist/cjs/interface/{authorization → class/api/authorization}/decision.interface.d.ts +3 -3
  25. package/dist/cjs/interface/{authorization → class/api/authorization}/engine.interface.d.ts +1 -1
  26. package/dist/cjs/interface/{authorization → class/api/authorization}/evaluate-options.interface.d.ts +1 -1
  27. package/dist/{esm/interface → cjs/interface/class/api}/authorization/policy/interface.d.ts +1 -1
  28. package/dist/cjs/interface/{authorization → class/api/authorization}/policy/registry.interface.d.ts +2 -2
  29. package/dist/cjs/interface/class/api/authorization/policy/subscriber/context.interface.d.ts +9 -0
  30. package/dist/{esm/interface → cjs/interface/class/api}/authorization/policy/subscriber/interface.d.ts +4 -4
  31. package/dist/cjs/interface/{authorization → class/api/authorization}/policy/subscriber/properties.interface.d.ts +1 -1
  32. package/dist/cjs/interface/{authorization → class/api/authorization}/policy/subscriber/registration.interface.d.ts +1 -1
  33. package/dist/{esm/interface → cjs/interface/class/api}/authorization/policy/subscriber/rule.interface.d.ts +5 -5
  34. package/dist/cjs/interface/{authorization → class/api/authorization}/rule/context.interface.d.ts +1 -1
  35. package/dist/{esm/interface → cjs/interface/class/api}/authorization/rule/interface.d.ts +5 -5
  36. package/dist/{esm/interface → cjs/interface/class/api}/authorization/scope.interface.d.ts +1 -1
  37. package/dist/cjs/interface/class/api/index.d.ts +1 -0
  38. package/dist/cjs/interface/class/api/subscriber/route-execution-context-data.interface.d.ts +1 -1
  39. package/dist/cjs/interface/index.d.ts +0 -1
  40. package/dist/cjs/module/api/authorization.module.js +1 -1
  41. package/dist/cjs/type/class/api/authorization/guard-request.type.d.ts +1 -1
  42. package/dist/cjs/type/class/api/authorization/policy/hook/type.d.ts +1 -1
  43. package/dist/cjs/type/class/api/authorization/policy/policy-subscriber-rule-result.type.d.ts +1 -1
  44. package/dist/cjs/type/class/api/authorization/rule/condition.type.d.ts +1 -1
  45. package/dist/cjs/type/class/api/authorization/rule/result-transform.type.d.ts +1 -1
  46. package/dist/cjs/type/class/api/authorization/rule/scope-resolver.type.d.ts +2 -2
  47. package/dist/cjs/utility/authorization/decision/apply-result.utility.d.ts +1 -1
  48. package/dist/cjs/utility/authorization/decision/attach-resource.utility.d.ts +1 -1
  49. package/dist/cjs/utility/authorization/decision/resolve-from-request.utility.d.ts +1 -1
  50. package/dist/cjs/utility/authorization/decision/resolve-from-request.utility.js +1 -1
  51. package/dist/cjs/utility/authorization/subject/resolve-default-subject.utility.d.ts +1 -1
  52. package/dist/esm/class/api/authorization/engine.class.d.ts +1 -1
  53. package/dist/esm/class/api/authorization/engine.class.js +1 -1
  54. package/dist/esm/class/api/authorization/guard.class.d.ts +1 -1
  55. package/dist/esm/class/api/authorization/guard.class.js +3 -3
  56. package/dist/esm/class/api/authorization/policy/base.class.d.ts +1 -1
  57. package/dist/esm/class/api/authorization/policy/base.class.js +1 -1
  58. package/dist/esm/class/api/authorization/policy/discovery-service.class.js +1 -1
  59. package/dist/esm/class/api/authorization/policy/executor.class.d.ts +1 -1
  60. package/dist/esm/class/api/authorization/policy/executor.class.js +1 -1
  61. package/dist/esm/class/api/authorization/policy/registry.class.d.ts +1 -1
  62. package/dist/esm/class/api/authorization/policy/registry.class.js +1 -1
  63. package/dist/esm/constant/class/authorization/metadata/decision.constant.js.map +1 -0
  64. package/dist/esm/constant/class/authorization/policy/decorator.constant.js.map +1 -0
  65. package/dist/esm/constant/class/authorization/token/registry.constant.js.map +1 -0
  66. package/dist/esm/constant/index.d.ts +1 -1
  67. package/dist/esm/decorator/api/authorization/policy.decorator.d.ts +1 -1
  68. package/dist/esm/decorator/api/authorization/policy.decorator.js +1 -1
  69. package/dist/esm/enum/class/authorization/effect.enum.js.map +1 -0
  70. package/dist/esm/enum/class/authorization/policy/on-type.enum.js.map +1 -0
  71. package/dist/esm/enum/index.d.ts +1 -1
  72. package/dist/esm/index.js +5 -5
  73. package/dist/esm/interface/api-authentication-request.interface.d.ts +1 -1
  74. package/dist/esm/interface/{authorization → class/api/authorization}/decision.interface.d.ts +3 -3
  75. package/dist/esm/interface/{authorization → class/api/authorization}/engine.interface.d.ts +1 -1
  76. package/dist/esm/interface/{authorization → class/api/authorization}/evaluate-options.interface.d.ts +1 -1
  77. package/dist/{cjs/interface → esm/interface/class/api}/authorization/policy/interface.d.ts +1 -1
  78. package/dist/esm/interface/{authorization → class/api/authorization}/policy/registry.interface.d.ts +2 -2
  79. package/dist/esm/interface/class/api/authorization/policy/subscriber/context.interface.d.ts +9 -0
  80. package/dist/{cjs/interface → esm/interface/class/api}/authorization/policy/subscriber/interface.d.ts +4 -4
  81. package/dist/esm/interface/{authorization → class/api/authorization}/policy/subscriber/properties.interface.d.ts +1 -1
  82. package/dist/esm/interface/{authorization → class/api/authorization}/policy/subscriber/registration.interface.d.ts +1 -1
  83. package/dist/{cjs/interface → esm/interface/class/api}/authorization/policy/subscriber/rule.interface.d.ts +5 -5
  84. package/dist/esm/interface/{authorization → class/api/authorization}/rule/context.interface.d.ts +1 -1
  85. package/dist/{cjs/interface → esm/interface/class/api}/authorization/rule/interface.d.ts +5 -5
  86. package/dist/{cjs/interface → esm/interface/class/api}/authorization/scope.interface.d.ts +1 -1
  87. package/dist/esm/interface/class/api/index.d.ts +1 -0
  88. package/dist/esm/interface/class/api/subscriber/route-execution-context-data.interface.d.ts +1 -1
  89. package/dist/esm/interface/index.d.ts +0 -1
  90. package/dist/esm/module/api/authorization.module.js +1 -1
  91. package/dist/esm/type/class/api/authorization/guard-request.type.d.ts +1 -1
  92. package/dist/esm/type/class/api/authorization/policy/hook/type.d.ts +1 -1
  93. package/dist/esm/type/class/api/authorization/policy/policy-subscriber-rule-result.type.d.ts +1 -1
  94. package/dist/esm/type/class/api/authorization/rule/condition.type.d.ts +1 -1
  95. package/dist/esm/type/class/api/authorization/rule/result-transform.type.d.ts +1 -1
  96. package/dist/esm/type/class/api/authorization/rule/scope-resolver.type.d.ts +2 -2
  97. package/dist/esm/utility/authorization/decision/apply-result.utility.d.ts +1 -1
  98. package/dist/esm/utility/authorization/decision/attach-resource.utility.d.ts +1 -1
  99. package/dist/esm/utility/authorization/decision/resolve-from-request.utility.d.ts +1 -1
  100. package/dist/esm/utility/authorization/decision/resolve-from-request.utility.js +1 -1
  101. package/dist/esm/utility/authorization/subject/resolve-default-subject.utility.d.ts +1 -1
  102. package/package.json +1 -1
  103. package/dist/cjs/constant/authorization/metadata/decision.constant.js.map +0 -1
  104. package/dist/cjs/constant/authorization/policy/decorator.constant.js.map +0 -1
  105. package/dist/cjs/constant/authorization/token/registry.constant.js.map +0 -1
  106. package/dist/cjs/enum/authorization/effect.enum.js.map +0 -1
  107. package/dist/cjs/enum/authorization/policy/on-type.enum.js.map +0 -1
  108. package/dist/cjs/interface/authorization/policy/subscriber/context.interface.d.ts +0 -9
  109. package/dist/esm/constant/authorization/metadata/decision.constant.js.map +0 -1
  110. package/dist/esm/constant/authorization/policy/decorator.constant.js.map +0 -1
  111. package/dist/esm/constant/authorization/token/registry.constant.js.map +0 -1
  112. package/dist/esm/enum/authorization/effect.enum.js.map +0 -1
  113. package/dist/esm/enum/authorization/policy/on-type.enum.js.map +0 -1
  114. package/dist/esm/interface/authorization/policy/subscriber/context.interface.d.ts +0 -9
  115. /package/dist/cjs/constant/{authorization → class/authorization}/index.d.ts +0 -0
  116. /package/dist/cjs/constant/{authorization → class/authorization}/metadata/decision.constant.d.ts +0 -0
  117. /package/dist/cjs/constant/{authorization → class/authorization}/metadata/decision.constant.js +0 -0
  118. /package/dist/cjs/constant/{authorization → class/authorization}/metadata/index.d.ts +0 -0
  119. /package/dist/cjs/constant/{authorization → class/authorization}/policy/decorator.constant.d.ts +0 -0
  120. /package/dist/cjs/constant/{authorization → class/authorization}/policy/decorator.constant.js +0 -0
  121. /package/dist/cjs/constant/{authorization → class/authorization}/policy/index.d.ts +0 -0
  122. /package/dist/cjs/constant/{authorization → class/authorization}/token/index.d.ts +0 -0
  123. /package/dist/cjs/constant/{authorization → class/authorization}/token/registry.constant.d.ts +0 -0
  124. /package/dist/cjs/constant/{authorization → class/authorization}/token/registry.constant.js +0 -0
  125. /package/dist/cjs/enum/{authorization → class/authorization}/effect.enum.d.ts +0 -0
  126. /package/dist/cjs/enum/{authorization → class/authorization}/effect.enum.js +0 -0
  127. /package/dist/cjs/enum/{authorization → class/authorization}/index.d.ts +0 -0
  128. /package/dist/cjs/enum/{authorization → class/authorization}/policy/index.d.ts +0 -0
  129. /package/dist/cjs/enum/{authorization → class/authorization}/policy/on-type.enum.d.ts +0 -0
  130. /package/dist/cjs/enum/{authorization → class/authorization}/policy/on-type.enum.js +0 -0
  131. /package/dist/cjs/interface/{authorization → class/api/authorization}/index.d.ts +0 -0
  132. /package/dist/cjs/interface/{authorization → class/api/authorization}/policy/index.d.ts +0 -0
  133. /package/dist/cjs/interface/{authorization → class/api/authorization}/policy/subscriber/index.d.ts +0 -0
  134. /package/dist/cjs/interface/{authorization → class/api/authorization}/rule/index.d.ts +0 -0
  135. /package/dist/cjs/interface/{authorization → class/api/authorization}/subject.interface.d.ts +0 -0
  136. /package/dist/esm/constant/{authorization → class/authorization}/index.d.ts +0 -0
  137. /package/dist/esm/constant/{authorization → class/authorization}/metadata/decision.constant.d.ts +0 -0
  138. /package/dist/esm/constant/{authorization → class/authorization}/metadata/decision.constant.js +0 -0
  139. /package/dist/esm/constant/{authorization → class/authorization}/metadata/index.d.ts +0 -0
  140. /package/dist/esm/constant/{authorization → class/authorization}/policy/decorator.constant.d.ts +0 -0
  141. /package/dist/esm/constant/{authorization → class/authorization}/policy/decorator.constant.js +0 -0
  142. /package/dist/esm/constant/{authorization → class/authorization}/policy/index.d.ts +0 -0
  143. /package/dist/esm/constant/{authorization → class/authorization}/token/index.d.ts +0 -0
  144. /package/dist/esm/constant/{authorization → class/authorization}/token/registry.constant.d.ts +0 -0
  145. /package/dist/esm/constant/{authorization → class/authorization}/token/registry.constant.js +0 -0
  146. /package/dist/esm/enum/{authorization → class/authorization}/effect.enum.d.ts +0 -0
  147. /package/dist/esm/enum/{authorization → class/authorization}/effect.enum.js +0 -0
  148. /package/dist/esm/enum/{authorization → class/authorization}/index.d.ts +0 -0
  149. /package/dist/esm/enum/{authorization → class/authorization}/policy/index.d.ts +0 -0
  150. /package/dist/esm/enum/{authorization → class/authorization}/policy/on-type.enum.d.ts +0 -0
  151. /package/dist/esm/enum/{authorization → class/authorization}/policy/on-type.enum.js +0 -0
  152. /package/dist/esm/interface/{authorization → class/api/authorization}/index.d.ts +0 -0
  153. /package/dist/esm/interface/{authorization → class/api/authorization}/policy/index.d.ts +0 -0
  154. /package/dist/esm/interface/{authorization → class/api/authorization}/policy/subscriber/index.d.ts +0 -0
  155. /package/dist/esm/interface/{authorization → class/api/authorization}/rule/index.d.ts +0 -0
  156. /package/dist/esm/interface/{authorization → class/api/authorization}/subject.interface.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorator.constant.js","sources":["../../../../../../../src/constant/class/authorization/policy/decorator.constant.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAW,uCAAuC;AAC3E,MAAM,wBAAwB,GAAW,uBAAuB;AAEzD,MAAM,uCAAuC,GAGhD;IACH,wBAAwB;AACxB,IAAA,YAAY,EAAE,mBAAmB;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.constant.js","sources":["../../../../../../../src/constant/class/authorization/token/registry.constant.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAW,mCAAmC;AAElE,MAAM,mCAAmC,GAAW;;;;"}
@@ -1,4 +1,4 @@
1
- export * from './authorization/index';
1
+ export * from './class/authorization/index';
2
2
  export { DATE_CONSTANT } from './date.constant';
3
3
  export * from './decorator/api/index';
4
4
  export * from './dto/index';
@@ -1,5 +1,5 @@
1
1
  import type { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
2
- import type { IApiAuthorizationPolicySubscriberProperties } from '../../../interface/authorization/policy/subscriber/properties.interface';
2
+ import type { IApiAuthorizationPolicySubscriberProperties } from '../../../interface/class/api/authorization/policy/subscriber/properties.interface';
3
3
  /**
4
4
  * Decorator that registers a class as an authorization policy for a specific entity.
5
5
  * @template E - Entity type extending IApiBaseEntity
@@ -1,4 +1,4 @@
1
- import { AUTHORIZATION_POLICY_DECORATOR_CONSTANT } from '../../../constant/authorization/policy/decorator.constant.js';
1
+ import { AUTHORIZATION_POLICY_DECORATOR_CONSTANT } from '../../../constant/class/authorization/policy/decorator.constant.js';
2
2
 
3
3
  /**
4
4
  * Decorator that registers a class as an authorization policy for a specific entity.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect.enum.js","sources":["../../../../../../src/enum/class/authorization/effect.enum.ts"],"sourcesContent":[null],"names":[],"mappings":"IAAY;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC/B,IAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACd,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-type.enum.js","sources":["../../../../../../../src/enum/class/authorization/policy/on-type.enum.ts"],"sourcesContent":[null],"names":[],"mappings":"IAAY;AAAZ,CAAA,UAAY,6BAA6B,EAAA;AACxC,IAAA,6BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AAClB,CAAC,EAFW,6BAA6B,KAA7B,6BAA6B,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- export * from './authorization/index';
1
+ export * from './class/authorization/index';
2
2
  export * from './decorator/api/index';
3
3
  export { EException } from './exception.enum';
4
4
  export { EFilterOperation, EFilterOperationArray, EFilterOperationBoolean, EFilterOperationDate, EFilterOperationEnum, EFilterOperationNumber, EFilterOperationObject, EFilterOperationRelation, EFilterOperationString, EFilterOperationUuid } from './filter-operation.enum';
package/dist/esm/index.js CHANGED
@@ -24,9 +24,9 @@ export { DtoStrategyBody } from './class/utility/dto/strategy/body.class.js';
24
24
  export { DtoStrategyQuery } from './class/utility/dto/strategy/query.class.js';
25
25
  export { DtoStrategyRequest } from './class/utility/dto/strategy/request.class.js';
26
26
  export { DtoStrategyResponse } from './class/utility/dto/strategy/response.class.js';
27
- export { AUTHORIZATION_DECISION_METADATA_CONSTANT } from './constant/authorization/metadata/decision.constant.js';
28
- export { AUTHORIZATION_POLICY_DECORATOR_CONSTANT } from './constant/authorization/policy/decorator.constant.js';
29
- export { AUTHORIZATION_POLICY_REGISTRY_TOKEN } from './constant/authorization/token/registry.constant.js';
27
+ export { AUTHORIZATION_DECISION_METADATA_CONSTANT } from './constant/class/authorization/metadata/decision.constant.js';
28
+ export { AUTHORIZATION_POLICY_DECORATOR_CONSTANT } from './constant/class/authorization/policy/decorator.constant.js';
29
+ export { AUTHORIZATION_POLICY_REGISTRY_TOKEN } from './constant/class/authorization/token/registry.constant.js';
30
30
  export { DATE_CONSTANT } from './constant/date.constant.js';
31
31
  export { CONTROLLER_API_DECORATOR_CONSTANT } from './constant/decorator/api/controller.constant.js';
32
32
  export { FUNCTION_API_DECORATOR_CONSTANT } from './constant/decorator/api/function.constant.js';
@@ -68,8 +68,8 @@ export { ApiServiceObservable } from './decorator/api/service/observable.decorat
68
68
  export { ApiService } from './decorator/api/service.decorator.js';
69
69
  export { ApiFunctionSubscriber } from './decorator/api/subscriber/function.decorator.js';
70
70
  export { ApiRouteSubscriber } from './decorator/api/subscriber/route.decorator.js';
71
- export { EAuthorizationEffect } from './enum/authorization/effect.enum.js';
72
- export { EApiAuthorizationPolicyOnType } from './enum/authorization/policy/on-type.enum.js';
71
+ export { EAuthorizationEffect } from './enum/class/authorization/effect.enum.js';
72
+ export { EApiAuthorizationPolicyOnType } from './enum/class/authorization/policy/on-type.enum.js';
73
73
  export { EApiAction } from './enum/decorator/api/action.enum.js';
74
74
  export { EApiAuthenticationType } from './enum/decorator/api/authentication-type.enum.js';
75
75
  export { EApiControllerLoadRelationsStrategy } from './enum/decorator/api/controller/load-relations-strategy.enum.js';
@@ -1,5 +1,5 @@
1
1
  import type { IApiBaseEntity } from './api-base-entity.interface';
2
- import type { IApiAuthorizationDecision } from './authorization/index';
2
+ import type { IApiAuthorizationDecision } from './class/api/authorization/index';
3
3
  import type { TApiAuthorizationRuleTransformPayload } from '../type/class/api/authorization/rule/transform-payload.type';
4
4
  export interface IApiAuthenticationRequest {
5
5
  authorizationDecision?: IApiAuthorizationDecision<IApiBaseEntity, TApiAuthorizationRuleTransformPayload<IApiBaseEntity>>;
@@ -1,9 +1,9 @@
1
- import type { EAuthorizationEffect } from '../../enum/authorization/effect.enum';
2
- import type { IApiBaseEntity } from '../api-base-entity.interface';
1
+ import type { EAuthorizationEffect } from '../../../../enum/class/authorization/effect.enum';
2
+ import type { IApiBaseEntity } from '../../../api-base-entity.interface';
3
3
  import type { IApiAuthorizationRule } from './rule/interface';
4
4
  import type { IApiAuthorizationScope } from './scope.interface';
5
5
  import type { IApiAuthorizationSubject } from './subject.interface';
6
- import type { TApiAuthorizationRuleResultTransform } from '../../type/class/api/authorization/rule/result-transform.type';
6
+ import type { TApiAuthorizationRuleResultTransform } from '../../../../type/class/api/authorization/rule/result-transform.type';
7
7
  export interface IApiAuthorizationDecision<E extends IApiBaseEntity, R> {
8
8
  action: string;
9
9
  appliedRules: Array<IApiAuthorizationRule<E, R>>;
@@ -1,4 +1,4 @@
1
- import type { IApiBaseEntity } from '../api-base-entity.interface';
1
+ import type { IApiBaseEntity } from '../../../api-base-entity.interface';
2
2
  import type { IApiAuthorizationDecision } from './decision.interface';
3
3
  import type { IApiAuthorizationEngineEvaluateOptions } from './evaluate-options.interface';
4
4
  export interface IApiAuthorizationEngine<E extends IApiBaseEntity> {
@@ -1,4 +1,4 @@
1
- import type { IApiBaseEntity } from '../api-base-entity.interface';
1
+ import type { IApiBaseEntity } from '../../../api-base-entity.interface';
2
2
  import type { IApiAuthorizationPolicy } from './policy/interface';
3
3
  import type { IApiAuthorizationSubject } from './subject.interface';
4
4
  export interface IApiAuthorizationEngineEvaluateOptions<E extends IApiBaseEntity, R> {
@@ -1,4 +1,4 @@
1
- import type { IApiBaseEntity } from '../../api-base-entity.interface';
1
+ import type { IApiBaseEntity } from '../../../../api-base-entity.interface';
2
2
  import type { IApiAuthorizationRule } from '../rule/interface';
3
3
  export interface IApiAuthorizationPolicy<E extends IApiBaseEntity, R> {
4
4
  action: string;
@@ -1,7 +1,7 @@
1
- import type { IApiBaseEntity } from '../../api-base-entity.interface';
1
+ import type { IApiBaseEntity } from '../../../../api-base-entity.interface';
2
2
  import type { IApiAuthorizationPolicy } from './interface';
3
3
  import type { IApiAuthorizationPolicySubscriberRegistration } from './subscriber/registration.interface';
4
- import type { TApiAuthorizationPolicyHookResult } from '../../../type/class/api/authorization/policy/hook/index';
4
+ import type { TApiAuthorizationPolicyHookResult } from '../../../../../type/class/api/authorization/policy/hook/index';
5
5
  export interface IApiAuthorizationPolicyRegistry {
6
6
  buildAggregatedPolicy<E extends IApiBaseEntity, TAction extends string>(entity: new () => E, action: TAction): Promise<IApiAuthorizationPolicy<E, TApiAuthorizationPolicyHookResult<TAction, E>> | undefined>;
7
7
  clear(): void;
@@ -0,0 +1,9 @@
1
+ import type { EApiRouteType } from '../../../../../../enum/decorator/api/route-type.enum';
2
+ import type { IApiBaseEntity } from '../../../../../api-base-entity.interface';
3
+ import type { IApiEntity } from '../../../../../entity/interface';
4
+ export interface IApiAuthorizationPolicySubscriberContext<E extends IApiBaseEntity> {
5
+ action: string;
6
+ entity: new () => E;
7
+ entityMetadata: IApiEntity<E>;
8
+ routeType?: EApiRouteType;
9
+ }
@@ -1,8 +1,8 @@
1
- import type { EApiRouteType } from '../../../../enum/decorator/api/route-type.enum';
2
- import type { IApiBaseEntity } from '../../../api-base-entity.interface';
1
+ import type { EApiRouteType } from '../../../../../../enum/decorator/api/route-type.enum';
2
+ import type { IApiBaseEntity } from '../../../../../api-base-entity.interface';
3
3
  import type { IApiAuthorizationPolicySubscriberContext } from './context.interface';
4
- import type { TApiAuthorizationPolicyHookResult } from '../../../../type/class/api/authorization/policy/hook/index';
5
- import type { TApiAuthorizationPolicySubscriberRuleResult } from '../../../../type/class/api/authorization/policy/policy-subscriber-rule-result.type';
4
+ import type { TApiAuthorizationPolicyHookResult } from '../../../../../../type/class/api/authorization/policy/hook/index';
5
+ import type { TApiAuthorizationPolicySubscriberRuleResult } from '../../../../../../type/class/api/authorization/policy/policy-subscriber-rule-result.type';
6
6
  export interface IApiAuthorizationPolicySubscriber<E extends IApiBaseEntity> {
7
7
  getCustomActionRule?<TAction extends string>(action: TAction, context: IApiAuthorizationPolicySubscriberContext<E>): Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<TAction, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<TAction, E>>;
8
8
  onBeforeCreate?(context: IApiAuthorizationPolicySubscriberContext<E>): Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.CREATE, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<EApiRouteType.CREATE, E>>;
@@ -1,4 +1,4 @@
1
- import type { IApiBaseEntity } from '../../../api-base-entity.interface';
1
+ import type { IApiBaseEntity } from '../../../../../api-base-entity.interface';
2
2
  export interface IApiAuthorizationPolicySubscriberProperties<E extends IApiBaseEntity> {
3
3
  description?: string;
4
4
  entity: new () => E;
@@ -1,4 +1,4 @@
1
- import type { IApiBaseEntity } from '../../../api-base-entity.interface';
1
+ import type { IApiBaseEntity } from '../../../../../api-base-entity.interface';
2
2
  import type { IApiAuthorizationPolicySubscriber } from './interface';
3
3
  export interface IApiAuthorizationPolicySubscriberRegistration<E extends IApiBaseEntity> {
4
4
  description?: string;
@@ -1,8 +1,8 @@
1
- import type { EAuthorizationEffect } from '../../../../enum/authorization/effect.enum';
2
- import type { IApiBaseEntity } from '../../../api-base-entity.interface';
3
- import type { TApiAuthorizationRuleCondition } from '../../../../type/class/api/authorization/rule/condition.type';
4
- import type { TApiAuthorizationRuleResultTransform } from '../../../../type/class/api/authorization/rule/result-transform.type';
5
- import type { TApiAuthorizationRuleScopeResolver } from '../../../../type/class/api/authorization/rule/scope-resolver.type';
1
+ import type { EAuthorizationEffect } from '../../../../../../enum/class/authorization/effect.enum';
2
+ import type { IApiBaseEntity } from '../../../../../api-base-entity.interface';
3
+ import type { TApiAuthorizationRuleCondition } from '../../../../../../type/class/api/authorization/rule/condition.type';
4
+ import type { TApiAuthorizationRuleResultTransform } from '../../../../../../type/class/api/authorization/rule/result-transform.type';
5
+ import type { TApiAuthorizationRuleScopeResolver } from '../../../../../../type/class/api/authorization/rule/scope-resolver.type';
6
6
  export interface IApiAuthorizationPolicySubscriberRule<E extends IApiBaseEntity, R> {
7
7
  condition?: TApiAuthorizationRuleCondition<E>;
8
8
  description?: string;
@@ -1,4 +1,4 @@
1
- import type { IApiBaseEntity } from '../../api-base-entity.interface';
1
+ import type { IApiBaseEntity } from '../../../../api-base-entity.interface';
2
2
  import type { IApiAuthorizationSubject } from '../subject.interface';
3
3
  export interface IApiAuthorizationRuleContext<E extends IApiBaseEntity> {
4
4
  resource?: E;
@@ -1,8 +1,8 @@
1
- import type { EAuthorizationEffect } from '../../../enum/authorization/effect.enum';
2
- import type { IApiBaseEntity } from '../../api-base-entity.interface';
3
- import type { TApiAuthorizationRuleCondition } from '../../../type/class/api/authorization/rule/condition.type';
4
- import type { TApiAuthorizationRuleResultTransform } from '../../../type/class/api/authorization/rule/result-transform.type';
5
- import type { TApiAuthorizationRuleScopeResolver } from '../../../type/class/api/authorization/rule/scope-resolver.type';
1
+ import type { EAuthorizationEffect } from '../../../../../enum/class/authorization/effect.enum';
2
+ import type { IApiBaseEntity } from '../../../../api-base-entity.interface';
3
+ import type { TApiAuthorizationRuleCondition } from '../../../../../type/class/api/authorization/rule/condition.type';
4
+ import type { TApiAuthorizationRuleResultTransform } from '../../../../../type/class/api/authorization/rule/result-transform.type';
5
+ import type { TApiAuthorizationRuleScopeResolver } from '../../../../../type/class/api/authorization/rule/scope-resolver.type';
6
6
  export interface IApiAuthorizationRule<E extends IApiBaseEntity, R> {
7
7
  action: string;
8
8
  condition?: TApiAuthorizationRuleCondition<E>;
@@ -1,4 +1,4 @@
1
- import type { IApiBaseEntity } from '../api-base-entity.interface';
1
+ import type { IApiBaseEntity } from '../../../api-base-entity.interface';
2
2
  import type { FindOptionsWhere } from "typeorm";
3
3
  export interface IApiAuthorizationScope<E extends IApiBaseEntity> {
4
4
  where?: Array<FindOptionsWhere<E>> | FindOptionsWhere<E>;
@@ -1 +1,2 @@
1
+ export type * from './authorization/index';
1
2
  export type * from './subscriber/index';
@@ -1,7 +1,7 @@
1
1
  import type { EApiRouteType } from '../../../../enum/decorator/api/route-type.enum';
2
2
  import type { IApiAuthenticationRequest } from '../../../api-authentication-request.interface';
3
3
  import type { IApiBaseEntity } from '../../../api-base-entity.interface';
4
- import type { IApiAuthorizationDecision } from '../../../authorization/index';
4
+ import type { IApiAuthorizationDecision } from '../authorization/index';
5
5
  import type { IApiControllerProperties } from '../../../decorator/api/controller/properties.interface';
6
6
  import type { IApiEntity } from '../../../entity/index';
7
7
  import type { TApiAuthorizationRuleTransformPayload } from '../../../../type/class/api/authorization/rule/transform-payload.type';
@@ -2,7 +2,6 @@ export { type IApiAuthenticationRequest } from './api-authentication-request.int
2
2
  export { type IApiBaseEntity } from './api-base-entity.interface';
3
3
  export { type IApiDtoValidator } from './api-dto-validator.interface';
4
4
  export { type IApiRequestValidator } from './api-request-validator.interface';
5
- export type * from './authorization/index';
6
5
  export type * from './class/index';
7
6
  export type * from './decorator/api/index';
8
7
  export { type IDtoGenerateFactory } from './dto-generate-factory.interface';
@@ -3,7 +3,7 @@ import { ApiAuthorizationEngine } from '../../class/api/authorization/engine.cla
3
3
  import { ApiAuthorizationGuard } from '../../class/api/authorization/guard.class.js';
4
4
  import { ApiAuthorizationPolicyDiscoveryService } from '../../class/api/authorization/policy/discovery-service.class.js';
5
5
  import { apiAuthorizationPolicyRegistry, ApiAuthorizationPolicyRegistry } from '../../class/api/authorization/policy/registry.class.js';
6
- import { AUTHORIZATION_POLICY_REGISTRY_TOKEN } from '../../constant/authorization/token/registry.constant.js';
6
+ import { AUTHORIZATION_POLICY_REGISTRY_TOKEN } from '../../constant/class/authorization/token/registry.constant.js';
7
7
  import { Global, Module } from '@nestjs/common';
8
8
  import { DiscoveryModule } from '@nestjs/core';
9
9
 
@@ -1,5 +1,5 @@
1
1
  import type { IApiBaseEntity } from '../../../../interface/api-base-entity.interface';
2
- import type { IApiAuthorizationDecision } from '../../../../interface/authorization/index';
2
+ import type { IApiAuthorizationDecision } from '../../../../interface/class/api/authorization/index';
3
3
  import type { TApiAuthorizationRuleTransformPayload } from './rule/transform-payload.type';
4
4
  export type TApiAuthorizationGuardRequest = {
5
5
  authorizationDecision?: IApiAuthorizationDecision<IApiBaseEntity, TApiAuthorizationRuleTransformPayload<IApiBaseEntity>>;
@@ -1,5 +1,5 @@
1
1
  import type { IApiBaseEntity } from '../../../../../../interface/api-base-entity.interface';
2
- import type { IApiAuthorizationPolicySubscriberContext } from '../../../../../../interface/authorization/index';
2
+ import type { IApiAuthorizationPolicySubscriberContext } from '../../../../../../interface/class/api/authorization/index';
3
3
  import type { TApiAuthorizationPolicySubscriberRuleResult } from '../policy-subscriber-rule-result.type';
4
4
  import type { TApiAuthorizationPolicyHookResult } from './result.type';
5
5
  export type TApiAuthorizationPolicyHook<E extends IApiBaseEntity, TAction extends string> = (context: IApiAuthorizationPolicySubscriberContext<E>) => Promise<TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<TAction, E>>> | TApiAuthorizationPolicySubscriberRuleResult<E, TApiAuthorizationPolicyHookResult<TAction, E>>;
@@ -1,3 +1,3 @@
1
1
  import type { IApiBaseEntity } from '../../../../../interface/api-base-entity.interface';
2
- import type { IApiAuthorizationPolicySubscriberRule } from '../../../../../interface/authorization/policy/subscriber/rule.interface';
2
+ import type { IApiAuthorizationPolicySubscriberRule } from '../../../../../interface/class/api/authorization/policy/subscriber/rule.interface';
3
3
  export type TApiAuthorizationPolicySubscriberRuleResult<E extends IApiBaseEntity, R> = Array<IApiAuthorizationPolicySubscriberRule<E, R>> | IApiAuthorizationPolicySubscriberRule<E, R> | undefined;
@@ -1,3 +1,3 @@
1
1
  import type { IApiBaseEntity } from '../../../../../interface/api-base-entity.interface';
2
- import type { IApiAuthorizationRuleContext } from '../../../../../interface/authorization/rule/context.interface';
2
+ import type { IApiAuthorizationRuleContext } from '../../../../../interface/class/api/authorization/rule/context.interface';
3
3
  export type TApiAuthorizationRuleCondition<E extends IApiBaseEntity> = (context: IApiAuthorizationRuleContext<E>) => boolean | Promise<boolean>;
@@ -1,4 +1,4 @@
1
1
  import type { IApiBaseEntity } from '../../../../../interface/api-base-entity.interface';
2
- import type { IApiAuthorizationRuleContext } from '../../../../../interface/authorization/rule/context.interface';
2
+ import type { IApiAuthorizationRuleContext } from '../../../../../interface/class/api/authorization/rule/context.interface';
3
3
  import type { TApiAuthorizationRuleTransformPayload } from './transform-payload.type';
4
4
  export type TApiAuthorizationRuleResultTransform<E extends IApiBaseEntity, R = TApiAuthorizationRuleTransformPayload<E>> = (result: R, context: IApiAuthorizationRuleContext<E>) => Promise<R> | R;
@@ -1,4 +1,4 @@
1
1
  import type { IApiBaseEntity } from '../../../../../interface/api-base-entity.interface';
2
- import type { IApiAuthorizationRuleContext } from '../../../../../interface/authorization/rule/context.interface';
3
- import type { IApiAuthorizationScope } from '../../../../../interface/authorization/scope.interface';
2
+ import type { IApiAuthorizationRuleContext } from '../../../../../interface/class/api/authorization/rule/context.interface';
3
+ import type { IApiAuthorizationScope } from '../../../../../interface/class/api/authorization/scope.interface';
4
4
  export type TApiAuthorizationRuleScopeResolver<E extends IApiBaseEntity> = (context: IApiAuthorizationRuleContext<E>) => IApiAuthorizationScope<E> | Promise<IApiAuthorizationScope<E> | undefined> | undefined;
@@ -1,5 +1,5 @@
1
1
  import type { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
2
- import type { IApiAuthorizationDecision } from '../../../interface/authorization/index';
2
+ import type { IApiAuthorizationDecision } from '../../../interface/class/api/authorization/decision.interface';
3
3
  import type { TApiAuthorizationRuleTransformPayload } from '../../../type/class/api/authorization/rule/transform-payload.type';
4
4
  /**
5
5
  * Applies decision result transforms sequentially to a response payload.
@@ -1,5 +1,5 @@
1
1
  import type { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
2
- import type { IApiAuthorizationDecision } from '../../../interface/authorization/index';
2
+ import type { IApiAuthorizationDecision } from '../../../interface/class/api/authorization/decision.interface';
3
3
  /**
4
4
  * Mutates authorization decision to include the resolved entity resource.
5
5
  * @template E - Entity type
@@ -1,6 +1,6 @@
1
1
  import type { IApiAuthenticationRequest } from '../../../interface/api-authentication-request.interface';
2
2
  import type { IApiBaseEntity } from '../../../interface/api-base-entity.interface';
3
- import type { IApiAuthorizationDecision } from '../../../interface/authorization/decision.interface';
3
+ import type { IApiAuthorizationDecision } from '../../../interface/class/api/authorization/decision.interface';
4
4
  import type { TApiAuthorizationRuleTransformPayload } from '../../../type/class/api/authorization/rule/transform-payload.type';
5
5
  /**
6
6
  * Extracts an authorization decision from the authentication request metadata stored on the HTTP request.
@@ -1,4 +1,4 @@
1
- import { AUTHORIZATION_DECISION_METADATA_CONSTANT } from '../../../constant/authorization/metadata/decision.constant.js';
1
+ import { AUTHORIZATION_DECISION_METADATA_CONSTANT } from '../../../constant/class/authorization/metadata/decision.constant.js';
2
2
 
3
3
  /**
4
4
  * Extracts an authorization decision from the authentication request metadata stored on the HTTP request.
@@ -1,4 +1,4 @@
1
- import type { IApiAuthorizationSubject } from '../../../interface/authorization/subject.interface';
1
+ import type { IApiAuthorizationSubject } from '../../../interface/class/api/authorization/subject.interface';
2
2
  /**
3
3
  * Resolves a subject from request.user with smart fallbacks.
4
4
  * @param {unknown} user - Request user payload.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elsikora/nestjs-crud-automator",
3
- "version": "1.17.0-dev.1",
3
+ "version": "1.17.1-dev.1",
4
4
  "description": "A library for automating the creation of CRUD operations in NestJS.",
5
5
  "keywords": [
6
6
  "NestJS",
@@ -1 +0,0 @@
1
- {"version":3,"file":"decision.constant.js","sources":["../../../../../../src/constant/authorization/metadata/decision.constant.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA,MAAM,oBAAoB,GAAW,4BAA4B;AAE1D,MAAM,wCAAwC,GAEjD;AACH,IAAA,WAAW,EAAE,oBAAoB;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorator.constant.js","sources":["../../../../../../src/constant/authorization/policy/decorator.constant.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA,MAAM,mBAAmB,GAAW,uCAAuC;AAC3E,MAAM,wBAAwB,GAAW,uBAAuB;AAEzD,MAAM,uCAAuC,GAGhD;IACH,wBAAwB;AACxB,IAAA,YAAY,EAAE,mBAAmB;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.constant.js","sources":["../../../../../../src/constant/authorization/token/registry.constant.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA,MAAM,qBAAqB,GAAW,mCAAmC;AAElE,MAAM,mCAAmC,GAAW;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"effect.enum.js","sources":["../../../../../src/enum/authorization/effect.enum.ts"],"sourcesContent":[null],"names":["EAuthorizationEffect"],"mappings":";;AAAYA;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC/B,IAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACd,CAAC,EAHWA,4BAAoB,KAApBA,4BAAoB,GAAA,EAAA,CAAA,CAAA;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"on-type.enum.js","sources":["../../../../../../src/enum/authorization/policy/on-type.enum.ts"],"sourcesContent":[null],"names":["EApiAuthorizationPolicyOnType"],"mappings":";;AAAYA;AAAZ,CAAA,UAAY,6BAA6B,EAAA;AACxC,IAAA,6BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AAClB,CAAC,EAFWA,qCAA6B,KAA7BA,qCAA6B,GAAA,EAAA,CAAA,CAAA;;"}
@@ -1,9 +0,0 @@
1
- import type { EApiRouteType } from '../../../../enum/decorator/api/route-type.enum';
2
- import type { IApiBaseEntity } from '../../../api-base-entity.interface';
3
- import type { IApiEntity } from '../../../entity/interface';
4
- export interface IApiAuthorizationPolicySubscriberContext<E extends IApiBaseEntity> {
5
- action: string;
6
- entity: new () => E;
7
- entityMetadata: IApiEntity<E>;
8
- routeType?: EApiRouteType;
9
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"decision.constant.js","sources":["../../../../../../src/constant/authorization/metadata/decision.constant.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAM,oBAAoB,GAAW,4BAA4B;AAE1D,MAAM,wCAAwC,GAEjD;AACH,IAAA,WAAW,EAAE,oBAAoB;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorator.constant.js","sources":["../../../../../../src/constant/authorization/policy/decorator.constant.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAW,uCAAuC;AAC3E,MAAM,wBAAwB,GAAW,uBAAuB;AAEzD,MAAM,uCAAuC,GAGhD;IACH,wBAAwB;AACxB,IAAA,YAAY,EAAE,mBAAmB;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.constant.js","sources":["../../../../../../src/constant/authorization/token/registry.constant.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAW,mCAAmC;AAElE,MAAM,mCAAmC,GAAW;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"effect.enum.js","sources":["../../../../../src/enum/authorization/effect.enum.ts"],"sourcesContent":[null],"names":[],"mappings":"IAAY;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC/B,IAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACd,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"on-type.enum.js","sources":["../../../../../../src/enum/authorization/policy/on-type.enum.ts"],"sourcesContent":[null],"names":[],"mappings":"IAAY;AAAZ,CAAA,UAAY,6BAA6B,EAAA;AACxC,IAAA,6BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AAClB,CAAC,EAFW,6BAA6B,KAA7B,6BAA6B,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -1,9 +0,0 @@
1
- import type { EApiRouteType } from '../../../../enum/decorator/api/route-type.enum';
2
- import type { IApiBaseEntity } from '../../../api-base-entity.interface';
3
- import type { IApiEntity } from '../../../entity/interface';
4
- export interface IApiAuthorizationPolicySubscriberContext<E extends IApiBaseEntity> {
5
- action: string;
6
- entity: new () => E;
7
- entityMetadata: IApiEntity<E>;
8
- routeType?: EApiRouteType;
9
- }