@carlonicora/nestjs-neo4jsonapi 6.6.2 → 6.7.0

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 (201) hide show
  1. package/dist/agents/operator/controllers/operator.controller.d.ts.map +1 -1
  2. package/dist/agents/operator/controllers/operator.controller.js +3 -0
  3. package/dist/agents/operator/controllers/operator.controller.js.map +1 -1
  4. package/dist/bootstrap/app.module.factory.d.ts.map +1 -1
  5. package/dist/bootstrap/app.module.factory.js +9 -0
  6. package/dist/bootstrap/app.module.factory.js.map +1 -1
  7. package/dist/bootstrap/bootstrap.options.d.ts +19 -0
  8. package/dist/bootstrap/bootstrap.options.d.ts.map +1 -1
  9. package/dist/common/constants/core-module.ids.d.ts +39 -0
  10. package/dist/common/constants/core-module.ids.d.ts.map +1 -0
  11. package/dist/common/constants/core-module.ids.js +41 -0
  12. package/dist/common/constants/core-module.ids.js.map +1 -0
  13. package/dist/common/decorators/module.decorator.d.ts +19 -0
  14. package/dist/common/decorators/module.decorator.d.ts.map +1 -1
  15. package/dist/common/decorators/module.decorator.js +8 -2
  16. package/dist/common/decorators/module.decorator.js.map +1 -1
  17. package/dist/common/guards/jwt.auth.admin.guard.d.ts +3 -1
  18. package/dist/common/guards/jwt.auth.admin.guard.d.ts.map +1 -1
  19. package/dist/common/guards/jwt.auth.admin.guard.js +8 -2
  20. package/dist/common/guards/jwt.auth.admin.guard.js.map +1 -1
  21. package/dist/common/guards/jwt.auth.guard.d.ts +3 -1
  22. package/dist/common/guards/jwt.auth.guard.d.ts.map +1 -1
  23. package/dist/common/guards/jwt.auth.guard.js +8 -2
  24. package/dist/common/guards/jwt.auth.guard.js.map +1 -1
  25. package/dist/common/guards/jwt.auth.optional.guard.d.ts +3 -1
  26. package/dist/common/guards/jwt.auth.optional.guard.d.ts.map +1 -1
  27. package/dist/common/guards/jwt.auth.optional.guard.js +12 -3
  28. package/dist/common/guards/jwt.auth.optional.guard.js.map +1 -1
  29. package/dist/common/index.d.ts +1 -0
  30. package/dist/common/index.d.ts.map +1 -1
  31. package/dist/common/index.js +1 -0
  32. package/dist/common/index.js.map +1 -1
  33. package/dist/foundations/ai-connection/controllers/ai-connection.controller.d.ts.map +1 -1
  34. package/dist/foundations/ai-connection/controllers/ai-connection.controller.js +4 -0
  35. package/dist/foundations/ai-connection/controllers/ai-connection.controller.js.map +1 -1
  36. package/dist/foundations/analytics/controllers/analytics.admin.controller.d.ts.map +1 -1
  37. package/dist/foundations/analytics/controllers/analytics.admin.controller.js +3 -0
  38. package/dist/foundations/analytics/controllers/analytics.admin.controller.js.map +1 -1
  39. package/dist/foundations/analytics/controllers/analytics.controller.d.ts.map +1 -1
  40. package/dist/foundations/analytics/controllers/analytics.controller.js +3 -0
  41. package/dist/foundations/analytics/controllers/analytics.controller.js.map +1 -1
  42. package/dist/foundations/assistant/controllers/assistant.controller.d.ts.map +1 -1
  43. package/dist/foundations/assistant/controllers/assistant.controller.js +3 -0
  44. package/dist/foundations/assistant/controllers/assistant.controller.js.map +1 -1
  45. package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts.map +1 -1
  46. package/dist/foundations/assistant-action/controllers/assistant-action.controller.js +3 -0
  47. package/dist/foundations/assistant-action/controllers/assistant-action.controller.js.map +1 -1
  48. package/dist/foundations/assistant-message/controllers/assistant-message.controller.d.ts.map +1 -1
  49. package/dist/foundations/assistant-message/controllers/assistant-message.controller.js +3 -0
  50. package/dist/foundations/assistant-message/controllers/assistant-message.controller.js.map +1 -1
  51. package/dist/foundations/audit/controllers/audit.controller.d.ts.map +1 -1
  52. package/dist/foundations/audit/controllers/audit.controller.js +3 -0
  53. package/dist/foundations/audit/controllers/audit.controller.js.map +1 -1
  54. package/dist/foundations/auth/controllers/auth.controller.d.ts.map +1 -1
  55. package/dist/foundations/auth/controllers/auth.controller.js +3 -0
  56. package/dist/foundations/auth/controllers/auth.controller.js.map +1 -1
  57. package/dist/foundations/chunk/controllers/chunk.controller.d.ts.map +1 -1
  58. package/dist/foundations/chunk/controllers/chunk.controller.js +3 -0
  59. package/dist/foundations/chunk/controllers/chunk.controller.js.map +1 -1
  60. package/dist/foundations/company/controllers/company.controller.d.ts.map +1 -1
  61. package/dist/foundations/company/controllers/company.controller.js +3 -0
  62. package/dist/foundations/company/controllers/company.controller.js.map +1 -1
  63. package/dist/foundations/content/controllers/content.controller.d.ts.map +1 -1
  64. package/dist/foundations/content/controllers/content.controller.js +3 -0
  65. package/dist/foundations/content/controllers/content.controller.js.map +1 -1
  66. package/dist/foundations/email-automation/controllers/email-automation-step.controller.d.ts.map +1 -1
  67. package/dist/foundations/email-automation/controllers/email-automation-step.controller.js +3 -0
  68. package/dist/foundations/email-automation/controllers/email-automation-step.controller.js.map +1 -1
  69. package/dist/foundations/email-automation/controllers/email-automation.controller.d.ts.map +1 -1
  70. package/dist/foundations/email-automation/controllers/email-automation.controller.js +3 -0
  71. package/dist/foundations/email-automation/controllers/email-automation.controller.js.map +1 -1
  72. package/dist/foundations/feature/controllers/feature.controller.d.ts.map +1 -1
  73. package/dist/foundations/feature/controllers/feature.controller.js +3 -0
  74. package/dist/foundations/feature/controllers/feature.controller.js.map +1 -1
  75. package/dist/foundations/handbook/controllers/handbook-thread.controller.d.ts.map +1 -1
  76. package/dist/foundations/handbook/controllers/handbook-thread.controller.js +3 -0
  77. package/dist/foundations/handbook/controllers/handbook-thread.controller.js.map +1 -1
  78. package/dist/foundations/handbook/controllers/handbook.controller.d.ts.map +1 -1
  79. package/dist/foundations/handbook/controllers/handbook.controller.js +3 -0
  80. package/dist/foundations/handbook/controllers/handbook.controller.js.map +1 -1
  81. package/dist/foundations/how-to/controllers/how-to.controller.d.ts.map +1 -1
  82. package/dist/foundations/how-to/controllers/how-to.controller.js +3 -0
  83. package/dist/foundations/how-to/controllers/how-to.controller.js.map +1 -1
  84. package/dist/foundations/keyconcept/controllers/keyconcept.controller.d.ts.map +1 -1
  85. package/dist/foundations/keyconcept/controllers/keyconcept.controller.js +3 -0
  86. package/dist/foundations/keyconcept/controllers/keyconcept.controller.js.map +1 -1
  87. package/dist/foundations/notification/controllers/notification.controller.d.ts.map +1 -1
  88. package/dist/foundations/notification/controllers/notification.controller.js +4 -0
  89. package/dist/foundations/notification/controllers/notification.controller.js.map +1 -1
  90. package/dist/foundations/oauth/controllers/oauth.authorize.controller.d.ts.map +1 -1
  91. package/dist/foundations/oauth/controllers/oauth.authorize.controller.js +4 -0
  92. package/dist/foundations/oauth/controllers/oauth.authorize.controller.js.map +1 -1
  93. package/dist/foundations/oauth/controllers/oauth.management.controller.d.ts.map +1 -1
  94. package/dist/foundations/oauth/controllers/oauth.management.controller.js +3 -0
  95. package/dist/foundations/oauth/controllers/oauth.management.controller.js.map +1 -1
  96. package/dist/foundations/push/controllers/push.controller.d.ts.map +1 -1
  97. package/dist/foundations/push/controllers/push.controller.js +3 -0
  98. package/dist/foundations/push/controllers/push.controller.js.map +1 -1
  99. package/dist/foundations/rbac/controllers/rbac-dev.controller.d.ts.map +1 -1
  100. package/dist/foundations/rbac/controllers/rbac-dev.controller.js +3 -0
  101. package/dist/foundations/rbac/controllers/rbac-dev.controller.js.map +1 -1
  102. package/dist/foundations/rbac/controllers/rbac-module-paths.controller.d.ts.map +1 -1
  103. package/dist/foundations/rbac/controllers/rbac-module-paths.controller.js +3 -0
  104. package/dist/foundations/rbac/controllers/rbac-module-paths.controller.js.map +1 -1
  105. package/dist/foundations/rbac/controllers/rbac.controller.d.ts.map +1 -1
  106. package/dist/foundations/rbac/controllers/rbac.controller.js +3 -0
  107. package/dist/foundations/rbac/controllers/rbac.controller.js.map +1 -1
  108. package/dist/foundations/rbac/index.d.ts +5 -0
  109. package/dist/foundations/rbac/index.d.ts.map +1 -1
  110. package/dist/foundations/rbac/index.js +12 -1
  111. package/dist/foundations/rbac/index.js.map +1 -1
  112. package/dist/foundations/rbac/rbac-permission.module.d.ts +4 -0
  113. package/dist/foundations/rbac/rbac-permission.module.d.ts.map +1 -1
  114. package/dist/foundations/rbac/rbac-permission.module.js +18 -2
  115. package/dist/foundations/rbac/rbac-permission.module.js.map +1 -1
  116. package/dist/foundations/rbac/rbac.tokens.d.ts +8 -0
  117. package/dist/foundations/rbac/rbac.tokens.d.ts.map +1 -1
  118. package/dist/foundations/rbac/rbac.tokens.js +9 -1
  119. package/dist/foundations/rbac/rbac.tokens.js.map +1 -1
  120. package/dist/foundations/rbac/repositories/rbac-permission.repository.d.ts +29 -1
  121. package/dist/foundations/rbac/repositories/rbac-permission.repository.d.ts.map +1 -1
  122. package/dist/foundations/rbac/repositories/rbac-permission.repository.js +73 -1
  123. package/dist/foundations/rbac/repositories/rbac-permission.repository.js.map +1 -1
  124. package/dist/foundations/rbac/services/module-permission-audit.service.d.ts +34 -0
  125. package/dist/foundations/rbac/services/module-permission-audit.service.d.ts.map +1 -0
  126. package/dist/foundations/rbac/services/module-permission-audit.service.js +137 -0
  127. package/dist/foundations/rbac/services/module-permission-audit.service.js.map +1 -0
  128. package/dist/foundations/rbac/services/module-permission.gate.d.ts +51 -0
  129. package/dist/foundations/rbac/services/module-permission.gate.d.ts.map +1 -0
  130. package/dist/foundations/rbac/services/module-permission.gate.js +108 -0
  131. package/dist/foundations/rbac/services/module-permission.gate.js.map +1 -0
  132. package/dist/foundations/rbac/services/module-permission.service.d.ts +34 -0
  133. package/dist/foundations/rbac/services/module-permission.service.d.ts.map +1 -0
  134. package/dist/foundations/rbac/services/module-permission.service.js +64 -0
  135. package/dist/foundations/rbac/services/module-permission.service.js.map +1 -0
  136. package/dist/foundations/rbac/services/rbac-permission.service.d.ts +10 -1
  137. package/dist/foundations/rbac/services/rbac-permission.service.d.ts.map +1 -1
  138. package/dist/foundations/rbac/services/rbac-permission.service.js +32 -2
  139. package/dist/foundations/rbac/services/rbac-permission.service.js.map +1 -1
  140. package/dist/foundations/rbac/services/rbac-reconciler.service.d.ts +11 -2
  141. package/dist/foundations/rbac/services/rbac-reconciler.service.d.ts.map +1 -1
  142. package/dist/foundations/rbac/services/rbac-reconciler.service.js +19 -6
  143. package/dist/foundations/rbac/services/rbac-reconciler.service.js.map +1 -1
  144. package/dist/foundations/referral/controllers/referral.controller.d.ts.map +1 -1
  145. package/dist/foundations/referral/controllers/referral.controller.js +3 -0
  146. package/dist/foundations/referral/controllers/referral.controller.js.map +1 -1
  147. package/dist/foundations/role/controllers/role.controller.d.ts.map +1 -1
  148. package/dist/foundations/role/controllers/role.controller.js +3 -0
  149. package/dist/foundations/role/controllers/role.controller.js.map +1 -1
  150. package/dist/foundations/role/controllers/role.user.controller.d.ts.map +1 -1
  151. package/dist/foundations/role/controllers/role.user.controller.js +3 -0
  152. package/dist/foundations/role/controllers/role.user.controller.js.map +1 -1
  153. package/dist/foundations/s3/controllers/s3.controller.d.ts.map +1 -1
  154. package/dist/foundations/s3/controllers/s3.controller.js +3 -0
  155. package/dist/foundations/s3/controllers/s3.controller.js.map +1 -1
  156. package/dist/foundations/stripe/controllers/billing.controller.d.ts.map +1 -1
  157. package/dist/foundations/stripe/controllers/billing.controller.js +4 -0
  158. package/dist/foundations/stripe/controllers/billing.controller.js.map +1 -1
  159. package/dist/foundations/stripe-customer/controllers/stripe-customer.controller.d.ts.map +1 -1
  160. package/dist/foundations/stripe-customer/controllers/stripe-customer.controller.js +3 -0
  161. package/dist/foundations/stripe-customer/controllers/stripe-customer.controller.js.map +1 -1
  162. package/dist/foundations/stripe-invoice/controllers/stripe-invoice.controller.d.ts.map +1 -1
  163. package/dist/foundations/stripe-invoice/controllers/stripe-invoice.controller.js +3 -0
  164. package/dist/foundations/stripe-invoice/controllers/stripe-invoice.controller.js.map +1 -1
  165. package/dist/foundations/stripe-price/controllers/stripe-price.controller.d.ts.map +1 -1
  166. package/dist/foundations/stripe-price/controllers/stripe-price.controller.js +3 -0
  167. package/dist/foundations/stripe-price/controllers/stripe-price.controller.js.map +1 -1
  168. package/dist/foundations/stripe-product/controllers/stripe-product.controller.d.ts.map +1 -1
  169. package/dist/foundations/stripe-product/controllers/stripe-product.controller.js +3 -0
  170. package/dist/foundations/stripe-product/controllers/stripe-product.controller.js.map +1 -1
  171. package/dist/foundations/stripe-promotion-code/controllers/stripe-promotion-code.controller.d.ts.map +1 -1
  172. package/dist/foundations/stripe-promotion-code/controllers/stripe-promotion-code.controller.js +4 -0
  173. package/dist/foundations/stripe-promotion-code/controllers/stripe-promotion-code.controller.js.map +1 -1
  174. package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.d.ts.map +1 -1
  175. package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.js +3 -0
  176. package/dist/foundations/stripe-subscription/controllers/stripe-subscription.controller.js.map +1 -1
  177. package/dist/foundations/stripe-usage/controllers/stripe-usage.controller.d.ts.map +1 -1
  178. package/dist/foundations/stripe-usage/controllers/stripe-usage.controller.js +3 -0
  179. package/dist/foundations/stripe-usage/controllers/stripe-usage.controller.js.map +1 -1
  180. package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.d.ts.map +1 -1
  181. package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.js +3 -0
  182. package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.js.map +1 -1
  183. package/dist/foundations/tokenusage/controllers/tokenusage.report.controller.d.ts.map +1 -1
  184. package/dist/foundations/tokenusage/controllers/tokenusage.report.controller.js +3 -0
  185. package/dist/foundations/tokenusage/controllers/tokenusage.report.controller.js.map +1 -1
  186. package/dist/foundations/two-factor/controllers/passkey.controller.d.ts.map +1 -1
  187. package/dist/foundations/two-factor/controllers/passkey.controller.js +7 -0
  188. package/dist/foundations/two-factor/controllers/passkey.controller.js.map +1 -1
  189. package/dist/foundations/two-factor/controllers/totp.controller.d.ts.map +1 -1
  190. package/dist/foundations/two-factor/controllers/totp.controller.js +6 -0
  191. package/dist/foundations/two-factor/controllers/totp.controller.js.map +1 -1
  192. package/dist/foundations/two-factor/controllers/two-factor.controller.d.ts.map +1 -1
  193. package/dist/foundations/two-factor/controllers/two-factor.controller.js +7 -0
  194. package/dist/foundations/two-factor/controllers/two-factor.controller.js.map +1 -1
  195. package/dist/foundations/user/controllers/user.controller.d.ts.map +1 -1
  196. package/dist/foundations/user/controllers/user.controller.js +3 -0
  197. package/dist/foundations/user/controllers/user.controller.js.map +1 -1
  198. package/dist/foundations/waitlist/controllers/waitlist.controller.d.ts.map +1 -1
  199. package/dist/foundations/waitlist/controllers/waitlist.controller.js +3 -0
  200. package/dist/foundations/waitlist/controllers/waitlist.controller.js.map +1 -1
  201. package/package.json +1 -1
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ModulePermissionGate = void 0;
16
+ exports.rbacActionForHttpMethod = rbacActionForHttpMethod;
17
+ exports.resolveRouteAcl = resolveRouteAcl;
18
+ const common_1 = require("@nestjs/common");
19
+ const core_1 = require("@nestjs/core");
20
+ const nestjs_cls_1 = require("nestjs-cls");
21
+ const module_decorator_1 = require("../../../common/decorators/module.decorator");
22
+ const rbac_tokens_1 = require("../rbac.tokens");
23
+ const module_permission_service_1 = require("./module-permission.service");
24
+ /**
25
+ * HTTP method → permission action. GET/HEAD/OPTIONS read, POST create, PUT/PATCH
26
+ * update, DELETE delete. Anything else is treated as a write (update), so an
27
+ * unexpected verb never slips through as a read.
28
+ */
29
+ function rbacActionForHttpMethod(method) {
30
+ switch ((method ?? "").toUpperCase()) {
31
+ case "GET":
32
+ case "HEAD":
33
+ case "OPTIONS":
34
+ return "read";
35
+ case "POST":
36
+ return "create";
37
+ case "DELETE":
38
+ return "delete";
39
+ default:
40
+ return "update";
41
+ }
42
+ }
43
+ /**
44
+ * Section and action of a route: the handler `@ModuleACL` wins over the class
45
+ * one, field by field; the action falls back to the HTTP-method mapping.
46
+ */
47
+ function resolveRouteAcl(params) {
48
+ const module = params.handlerDefinition?.module ?? params.classDefinition?.module;
49
+ const action = params.handlerDefinition?.action ?? params.classDefinition?.action ?? rbacActionForHttpMethod(params.method);
50
+ return { module: module || undefined, action };
51
+ }
52
+ /**
53
+ * Request-level permission check, run by the session guards (`JwtAuthGuard`,
54
+ * `AdminJwtAuthGuard`, `OptionalJwtAuthGuard`) right after authentication.
55
+ *
56
+ * Off unless the app bootstraps with `permissions: { enforce: true }`: with it
57
+ * off, `assert` returns before reading metadata or touching the database.
58
+ *
59
+ * Rules:
60
+ * - A read with no section is allowed (company scoping still applies).
61
+ * - A write with no section is refused (the boot audit makes this unreachable).
62
+ * - Otherwise the caller's effective permission in the token's company decides:
63
+ * `true` or a record path allows, `false` or absent refuses with 403.
64
+ * - No administrator bypass.
65
+ */
66
+ let ModulePermissionGate = class ModulePermissionGate {
67
+ constructor(reflector, cls, permissions, enforce) {
68
+ this.reflector = reflector;
69
+ this.cls = cls;
70
+ this.permissions = permissions;
71
+ this.enforce = enforce;
72
+ }
73
+ get enabled() {
74
+ return this.enforce === true;
75
+ }
76
+ async assert(params) {
77
+ if (!this.enabled)
78
+ return;
79
+ const userId = params.request?.user?.userId;
80
+ // No authenticated session (optional guard, anonymous caller): nothing to evaluate.
81
+ if (!userId)
82
+ return;
83
+ const { module, action } = resolveRouteAcl({
84
+ classDefinition: this.reflector.get(module_decorator_1.MODULE_ACL_METADATA, params.context.getClass()),
85
+ handlerDefinition: this.reflector.get(module_decorator_1.MODULE_ACL_METADATA, params.context.getHandler()),
86
+ method: params.request?.method,
87
+ });
88
+ if (!module) {
89
+ if (action === "read")
90
+ return;
91
+ throw new common_1.ForbiddenException();
92
+ }
93
+ const companyId = (this.cls.isActive() ? this.cls.get("companyId") : undefined) ?? undefined;
94
+ const allowed = await this.permissions.allows({ userId, companyId, moduleId: module, action });
95
+ if (!allowed)
96
+ throw new common_1.ForbiddenException();
97
+ }
98
+ };
99
+ exports.ModulePermissionGate = ModulePermissionGate;
100
+ exports.ModulePermissionGate = ModulePermissionGate = __decorate([
101
+ (0, common_1.Injectable)(),
102
+ __param(3, (0, common_1.Optional)()),
103
+ __param(3, (0, common_1.Inject)(rbac_tokens_1.PERMISSIONS_ENFORCE)),
104
+ __metadata("design:paramtypes", [core_1.Reflector,
105
+ nestjs_cls_1.ClsService,
106
+ module_permission_service_1.ModulePermissionService, Boolean])
107
+ ], ModulePermissionGate);
108
+ //# sourceMappingURL=module-permission.gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-permission.gate.js","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/module-permission.gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { ClsService } from "nestjs-cls";
2
+ import { RbacPermissionRepository } from "../repositories/rbac-permission.repository";
3
+ import type { EffectivePermissions } from "../repositories/rbac-permission.repository";
4
+ import type { RbacAction } from "./rbac-permission.service";
5
+ export type { EffectivePermissions } from "../repositories/rbac-permission.repository";
6
+ /**
7
+ * Resolves a caller's effective permissions in the token's company, for the
8
+ * request-level permission gate (`ModulePermissionGate`).
9
+ *
10
+ * Mirrors `RbacPermissionService` (same `featureModuleQuery` resolution) with
11
+ * three differences: it binds the token's company instead of the legacy
12
+ * `BELONGS_TO` edge, it keeps record-path values (a string allows at the
13
+ * section level), and it resolves once per request (cached in CLS).
14
+ *
15
+ * No administrator bypass: the platform Administrator is resolved like any
16
+ * role, so its grants must exist in the app's permission table.
17
+ */
18
+ export declare class ModulePermissionService {
19
+ private readonly repository;
20
+ private readonly cls;
21
+ constructor(repository: RbacPermissionRepository, cls: ClsService);
22
+ resolve(params: {
23
+ userId: string;
24
+ companyId: string | undefined;
25
+ }): Promise<EffectivePermissions>;
26
+ /** True when the effective value is `true` or a non-empty record path. */
27
+ allows(params: {
28
+ userId: string;
29
+ companyId: string | undefined;
30
+ moduleId: string;
31
+ action: RbacAction;
32
+ }): Promise<boolean>;
33
+ }
34
+ //# sourceMappingURL=module-permission.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-permission.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/module-permission.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,YAAY,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAUvF;;;;;;;;;;;GAWG;AACH,qBACa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,UAAU,EAAE,wBAAwB,EACpC,GAAG,EAAE,UAAU;IAG5B,OAAO,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmBvG,0EAA0E;IACpE,MAAM,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,UAAU,CAAC;KACpB,GAAG,OAAO,CAAC,OAAO,CAAC;CAKrB"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ModulePermissionService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const nestjs_cls_1 = require("nestjs-cls");
15
+ const rbac_permission_repository_1 = require("../repositories/rbac-permission.repository");
16
+ /** CLS key holding the permissions resolved for the current request. */
17
+ const CLS_KEY = "effectivePermissions";
18
+ /**
19
+ * Resolves a caller's effective permissions in the token's company, for the
20
+ * request-level permission gate (`ModulePermissionGate`).
21
+ *
22
+ * Mirrors `RbacPermissionService` (same `featureModuleQuery` resolution) with
23
+ * three differences: it binds the token's company instead of the legacy
24
+ * `BELONGS_TO` edge, it keeps record-path values (a string allows at the
25
+ * section level), and it resolves once per request (cached in CLS).
26
+ *
27
+ * No administrator bypass: the platform Administrator is resolved like any
28
+ * role, so its grants must exist in the app's permission table.
29
+ */
30
+ let ModulePermissionService = class ModulePermissionService {
31
+ constructor(repository, cls) {
32
+ this.repository = repository;
33
+ this.cls = cls;
34
+ }
35
+ async resolve(params) {
36
+ const key = `${params.userId}|${params.companyId ?? ""}`;
37
+ const clsActive = this.cls.isActive();
38
+ if (clsActive) {
39
+ const cached = this.cls.get(CLS_KEY);
40
+ if (cached && cached.key === key)
41
+ return cached.permissions;
42
+ }
43
+ const permissions = await this.repository.findEffectivePermissions({
44
+ userId: params.userId,
45
+ companyId: params.companyId || undefined,
46
+ });
47
+ if (clsActive)
48
+ this.cls.set(CLS_KEY, { key, permissions });
49
+ return permissions;
50
+ }
51
+ /** True when the effective value is `true` or a non-empty record path. */
52
+ async allows(params) {
53
+ const permissions = await this.resolve({ userId: params.userId, companyId: params.companyId });
54
+ const value = permissions.get(params.moduleId)?.[params.action];
55
+ return value === true || (typeof value === "string" && value.length > 0);
56
+ }
57
+ };
58
+ exports.ModulePermissionService = ModulePermissionService;
59
+ exports.ModulePermissionService = ModulePermissionService = __decorate([
60
+ (0, common_1.Injectable)(),
61
+ __metadata("design:paramtypes", [rbac_permission_repository_1.RbacPermissionRepository,
62
+ nestjs_cls_1.ClsService])
63
+ ], ModulePermissionService);
64
+ //# sourceMappingURL=module-permission.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-permission.service.js","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/module-permission.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAAwC;AACxC,2FAAsF;AAMtF,wEAAwE;AACxE,MAAM,OAAO,GAAG,sBAAsB,CAAC;AAOvC;;;;;;;;;;;GAWG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YACmB,UAAoC,EACpC,GAAe;QADf,eAAU,GAAV,UAAU,CAA0B;QACpC,QAAG,GAAH,GAAG,CAAY;IAC/B,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,MAAyD;QACrE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAEtC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgC,OAAO,CAAC,CAAC;YACpE,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG;gBAAE,OAAO,MAAM,CAAC,WAAW,CAAC;QAC9D,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACjE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS;SACzC,CAAC,CAAC;QAEH,IAAI,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,OAAO,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAE9E,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,MAAM,CAAC,MAKZ;QACC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/F,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF,CAAA;AApCY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;qCAGoB,qDAAwB;QAC/B,uBAAU;GAHvB,uBAAuB,CAoCnC"}
@@ -1,4 +1,6 @@
1
+ import { ClsService } from "nestjs-cls";
1
2
  import { RbacPermissionRepository } from "../repositories/rbac-permission.repository";
3
+ import { ModulePermissionService } from "./module-permission.service";
2
4
  /**
3
5
  * The four permission flags resolved per module by the RBAC permission model.
4
6
  *
@@ -13,10 +15,17 @@ export type RbacAction = "read" | "create" | "update" | "delete";
13
15
  * UserModulesRepository for the chatbot catalog).
14
16
  *
15
17
  * Consumed by the MCP layer to gate reads and writes per tool call.
18
+ *
19
+ * With `permissions.enforce` on, it delegates to `ModulePermissionService`
20
+ * (token company from CLS, record paths allow) so tool calls and HTTP routes
21
+ * never disagree. With it off, it behaves exactly as before.
16
22
  */
17
23
  export declare class RbacPermissionService {
18
24
  private readonly repository;
19
- constructor(repository: RbacPermissionRepository);
25
+ private readonly modulePermissions?;
26
+ private readonly cls?;
27
+ private readonly enforce?;
28
+ constructor(repository: RbacPermissionRepository, modulePermissions?: ModulePermissionService, cls?: ClsService, enforce?: boolean);
20
29
  /**
21
30
  * True iff the user's effective permission flag for `action` on the module
22
31
  * resolves to `true`. Unknown modules (not in the user's effective set)
@@ -1 +1 @@
1
- {"version":3,"file":"rbac-permission.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/rbac-permission.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjE;;;;;;GAMG;AACH,qBACa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,wBAAwB;IAEjE;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAI9F"}
1
+ {"version":3,"file":"rbac-permission.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/rbac-permission.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAEtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,qBACa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IACkB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IACZ,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAHjD,UAAU,EAAE,wBAAwB,EACS,iBAAiB,CAAC,EAAE,uBAAuB,EACxD,GAAG,CAAC,EAAE,UAAU,EACP,OAAO,CAAC,EAAE,OAAO;IAG7E;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAc9F"}
@@ -8,20 +8,33 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.RbacPermissionService = void 0;
13
16
  const common_1 = require("@nestjs/common");
17
+ const nestjs_cls_1 = require("nestjs-cls");
14
18
  const rbac_permission_repository_1 = require("../repositories/rbac-permission.repository");
19
+ const rbac_tokens_1 = require("../rbac.tokens");
20
+ const module_permission_service_1 = require("./module-permission.service");
15
21
  /**
16
22
  * Answers `can(userId, moduleId, action)` using the same `featureModuleQuery`
17
23
  * permission resolution as the rest of the app (AuthRepository at login,
18
24
  * UserModulesRepository for the chatbot catalog).
19
25
  *
20
26
  * Consumed by the MCP layer to gate reads and writes per tool call.
27
+ *
28
+ * With `permissions.enforce` on, it delegates to `ModulePermissionService`
29
+ * (token company from CLS, record paths allow) so tool calls and HTTP routes
30
+ * never disagree. With it off, it behaves exactly as before.
21
31
  */
22
32
  let RbacPermissionService = class RbacPermissionService {
23
- constructor(repository) {
33
+ constructor(repository, modulePermissions, cls, enforce) {
24
34
  this.repository = repository;
35
+ this.modulePermissions = modulePermissions;
36
+ this.cls = cls;
37
+ this.enforce = enforce;
25
38
  }
26
39
  /**
27
40
  * True iff the user's effective permission flag for `action` on the module
@@ -29,6 +42,15 @@ let RbacPermissionService = class RbacPermissionService {
29
42
  * always deny.
30
43
  */
31
44
  async can(params) {
45
+ if (this.enforce === true && this.modulePermissions) {
46
+ const companyId = this.cls?.isActive() ? (this.cls.get("companyId") ?? undefined) : undefined;
47
+ return this.modulePermissions.allows({
48
+ userId: params.userId,
49
+ companyId,
50
+ moduleId: params.moduleId,
51
+ action: params.action,
52
+ });
53
+ }
32
54
  const perms = await this.repository.findEffectivePermissionsForUser(params.userId);
33
55
  return perms.get(params.moduleId)?.[params.action] === true;
34
56
  }
@@ -36,6 +58,14 @@ let RbacPermissionService = class RbacPermissionService {
36
58
  exports.RbacPermissionService = RbacPermissionService;
37
59
  exports.RbacPermissionService = RbacPermissionService = __decorate([
38
60
  (0, common_1.Injectable)(),
39
- __metadata("design:paramtypes", [rbac_permission_repository_1.RbacPermissionRepository])
61
+ __param(1, (0, common_1.Optional)()),
62
+ __param(1, (0, common_1.Inject)(module_permission_service_1.ModulePermissionService)),
63
+ __param(2, (0, common_1.Optional)()),
64
+ __param(2, (0, common_1.Inject)(nestjs_cls_1.ClsService)),
65
+ __param(3, (0, common_1.Optional)()),
66
+ __param(3, (0, common_1.Inject)(rbac_tokens_1.PERMISSIONS_ENFORCE)),
67
+ __metadata("design:paramtypes", [rbac_permission_repository_1.RbacPermissionRepository,
68
+ module_permission_service_1.ModulePermissionService,
69
+ nestjs_cls_1.ClsService, Boolean])
40
70
  ], RbacPermissionService);
41
71
  //# sourceMappingURL=rbac-permission.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rbac-permission.service.js","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/rbac-permission.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2FAAsF;AAWtF;;;;;;GAMG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,YAA6B,UAAoC;QAApC,eAAU,GAAV,UAAU,CAA0B;IAAG,CAAC;IAErE;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,MAAgE;QACxE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnF,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC9D,CAAC;CACF,CAAA;AAZY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAE8B,qDAAwB;GADtD,qBAAqB,CAYjC"}
1
+ {"version":3,"file":"rbac-permission.service.js","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/rbac-permission.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,2CAAwC;AACxC,2FAAsF;AACtF,gDAAqD;AACrD,2EAAsE;AAWtE;;;;;;;;;;GAUG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,YACmB,UAAoC,EACS,iBAA2C,EACxD,GAAgB,EACP,OAAiB;QAH1D,eAAU,GAAV,UAAU,CAA0B;QACS,sBAAiB,GAAjB,iBAAiB,CAA0B;QACxD,QAAG,GAAH,GAAG,CAAa;QACP,YAAO,GAAP,OAAO,CAAU;IAC1E,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAC,MAAgE;QACxE,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpD,MAAM,SAAS,GAAuB,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClH,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACnC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS;gBACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnF,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC9D,CAAC;CACF,CAAA;AA3BY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,mDAAuB,CAAC,CAAA;IAC3C,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,uBAAU,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,iCAAmB,CAAC,CAAA;qCAHX,qDAAwB;QAC6B,mDAAuB;QAClD,uBAAU;GAJxD,qBAAqB,CA2BjC"}
@@ -7,7 +7,9 @@ import type { RbacMatrix } from "../dsl/types";
7
7
  *
8
8
  * Behaviour (per spec §6.3):
9
9
  * - Administrator role is never written as an HAS_PERMISSIONS edge — the
10
- * security layer short-circuits for it.
10
+ * security layer short-circuits for it. Exception: with
11
+ * `permissions.enforce` on (no administrator bypass in the request gate)
12
+ * its edges are reconciled like any other role's.
11
13
  * - Module defaults are stored on `Module.permissions`.
12
14
  * - Role-specific permissions are stored on `(Role)-[:HAS_PERMISSIONS]->(Module)`.
13
15
  * - Deletions are scoped to modules declared in the matrix: edges for
@@ -19,7 +21,14 @@ export declare class RbacReconcilerService implements OnApplicationBootstrap {
19
21
  private readonly neo4j;
20
22
  private readonly matrix;
21
23
  private readonly logger;
22
- constructor(neo4j: Neo4jService, matrix: RbacMatrix | null, logger: AppLoggingService);
24
+ private readonly enforce?;
25
+ constructor(neo4j: Neo4jService, matrix: RbacMatrix | null, logger: AppLoggingService, enforce?: boolean);
26
+ /**
27
+ * The Administrator role is skipped (never written, never deleted) unless the
28
+ * request permission gate is on: the gate has no administrator bypass, so the
29
+ * Administrator's grants must then be reconciled like any other role's.
30
+ */
31
+ private skipsRole;
23
32
  onApplicationBootstrap(): Promise<void>;
24
33
  private preflight;
25
34
  private findMissing;
@@ -1 +1 @@
1
- {"version":3,"file":"rbac-reconciler.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/rbac-reconciler.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAGnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAe/C;;;;;;;;;;;;GAYG;AACH,qBACa,qBAAsB,YAAW,sBAAsB;IAEhE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACiB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,KAAK,EAAE,YAAY,EACoB,MAAM,EAAE,UAAU,GAAG,IAAI,EAChE,MAAM,EAAE,iBAAiB;IAGtC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;YAsB/B,SAAS;YAyBT,WAAW;YAOX,eAAe;IAsB7B,OAAO,CAAC,WAAW;YAkEL,KAAK;CA4BpB"}
1
+ {"version":3,"file":"rbac-reconciler.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/rbac-reconciler.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAGnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAe/C;;;;;;;;;;;;;;GAcG;AACH,qBACa,qBAAsB,YAAW,sBAAsB;IAEhE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACiB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM;IACkB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAHjD,KAAK,EAAE,YAAY,EACoB,MAAM,EAAE,UAAU,GAAG,IAAI,EAChE,MAAM,EAAE,iBAAiB,EACgB,OAAO,CAAC,EAAE,OAAO;IAG7E;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIX,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;YAsB/B,SAAS;YAyBT,WAAW;YAOX,eAAe;IAsB7B,OAAO,CAAC,WAAW;YAkEL,KAAK;CA4BpB"}
@@ -25,7 +25,9 @@ const ADMINISTRATOR_ID = system_roles_1.SystemRoles.Administrator;
25
25
  *
26
26
  * Behaviour (per spec §6.3):
27
27
  * - Administrator role is never written as an HAS_PERMISSIONS edge — the
28
- * security layer short-circuits for it.
28
+ * security layer short-circuits for it. Exception: with
29
+ * `permissions.enforce` on (no administrator bypass in the request gate)
30
+ * its edges are reconciled like any other role's.
29
31
  * - Module defaults are stored on `Module.permissions`.
30
32
  * - Role-specific permissions are stored on `(Role)-[:HAS_PERMISSIONS]->(Module)`.
31
33
  * - Deletions are scoped to modules declared in the matrix: edges for
@@ -34,10 +36,19 @@ const ADMINISTRATOR_ID = system_roles_1.SystemRoles.Administrator;
34
36
  * missing from the DB (seed migrations must run first).
35
37
  */
36
38
  let RbacReconcilerService = class RbacReconcilerService {
37
- constructor(neo4j, matrix, logger) {
39
+ constructor(neo4j, matrix, logger, enforce) {
38
40
  this.neo4j = neo4j;
39
41
  this.matrix = matrix;
40
42
  this.logger = logger;
43
+ this.enforce = enforce;
44
+ }
45
+ /**
46
+ * The Administrator role is skipped (never written, never deleted) unless the
47
+ * request permission gate is on: the gate has no administrator bypass, so the
48
+ * Administrator's grants must then be reconciled like any other role's.
49
+ */
50
+ skipsRole(roleId) {
51
+ return this.enforce !== true && roleId === ADMINISTRATOR_ID;
41
52
  }
42
53
  async onApplicationBootstrap() {
43
54
  if (!this.matrix) {
@@ -61,7 +72,7 @@ let RbacReconcilerService = class RbacReconcilerService {
61
72
  moduleIds.add(moduleId);
62
73
  }
63
74
  for (const { roleId } of (0, resolver_1.iterateDeclaredEdges)(this.matrix)) {
64
- if (roleId === ADMINISTRATOR_ID)
75
+ if (this.skipsRole(roleId))
65
76
  continue;
66
77
  roleIds.add(roleId);
67
78
  }
@@ -118,7 +129,7 @@ let RbacReconcilerService = class RbacReconcilerService {
118
129
  // Edges — expected (Administrator excluded)
119
130
  const expectedEdgeKeys = new Set();
120
131
  const sortedEdges = Array.from((0, resolver_1.iterateDeclaredEdges)(this.matrix))
121
- .filter((e) => e.roleId !== ADMINISTRATOR_ID)
132
+ .filter((e) => !this.skipsRole(e.roleId))
122
133
  .sort((a, b) => (a.moduleId + a.roleId).localeCompare(b.moduleId + b.roleId));
123
134
  const actualByKey = new Map();
124
135
  for (const edge of actual.edges) {
@@ -142,7 +153,7 @@ let RbacReconcilerService = class RbacReconcilerService {
142
153
  for (const edge of actual.edges) {
143
154
  if (!declaredModules.has(edge.moduleId))
144
155
  continue;
145
- if (edge.roleId === ADMINISTRATOR_ID)
156
+ if (this.skipsRole(edge.roleId))
146
157
  continue;
147
158
  const key = `${edge.roleId}|${edge.moduleId}`;
148
159
  if (!expectedEdgeKeys.has(key)) {
@@ -187,6 +198,8 @@ exports.RbacReconcilerService = RbacReconcilerService = __decorate([
187
198
  (0, common_1.Injectable)(),
188
199
  __param(1, (0, common_1.Optional)()),
189
200
  __param(1, (0, common_1.Inject)(rbac_tokens_1.RBAC_MATRIX_TOKEN)),
190
- __metadata("design:paramtypes", [neo4j_service_1.Neo4jService, Object, logging_service_1.AppLoggingService])
201
+ __param(3, (0, common_1.Optional)()),
202
+ __param(3, (0, common_1.Inject)(rbac_tokens_1.PERMISSIONS_ENFORCE)),
203
+ __metadata("design:paramtypes", [neo4j_service_1.Neo4jService, Object, logging_service_1.AppLoggingService, Boolean])
191
204
  ], RbacReconcilerService);
192
205
  //# sourceMappingURL=rbac-reconciler.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rbac-reconciler.service.js","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/rbac-reconciler.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rbac-reconciler.service.js","sourceRoot":"","sources":["../../../../src/foundations/rbac/services/rbac-reconciler.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAsF;AACtF,8EAA0E;AAC1E,oFAAmF;AACnF,yEAAqE;AACrE,gDAAwE;AAExE,8CAA+G;AAE/G,MAAM,gBAAgB,GAAW,0BAAW,CAAC,aAAa,CAAC;AAY3D;;;;;;;;;;;;;;GAcG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,YACmB,KAAmB,EACoB,MAAyB,EAChE,MAAyB,EACgB,OAAiB;QAH1D,UAAK,GAAL,KAAK,CAAc;QACoB,WAAM,GAAN,MAAM,CAAmB;QAChE,WAAM,GAAN,MAAM,CAAmB;QACgB,YAAO,GAAP,OAAO,CAAU;IAC1E,CAAC;IAEJ;;;;OAIG;IACK,SAAS,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,KAAK,gBAAgB,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,mBAAmB,IAAI,CAAC,eAAe,sBAAsB,IAAI,CAAC,aAAa,oBAAoB,IAAI,CAAC,YAAY,gBAAgB,CACrI,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,KAAK,MAAM,QAAQ,IAAI,IAAA,iCAAsB,EAAC,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC;YAC5D,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,IAAA,+BAAoB,EAAC,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBAAE,SAAS;YACrC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAE/E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,gEAAgE;gBAC9D,kBAAkB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI;gBACvD,oBAAoB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI;gBAC3D,6DAA6D,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAwB,EAAE,GAAa;QAC/D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,wCAAwC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACzG,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAW,CAAC,CAAC,CAAC;QACrF,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kEAAkE,EAAE,EAAE,CAAC,CAAC;QACpH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACvC,sHAAsH,EACtH,EAAE,CACH,CAAC;QAEF,MAAM,cAAc,GAAkC,EAAE,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YACxC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAW,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAkB,CAAC;QACpF,CAAC;QACD,MAAM,KAAK,GAAqE,EAAE,CAAC;QACnF,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAW;gBACnC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAW;gBACvC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAW;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAEO,WAAW,CAAC,MAAmB;QAMrC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAC5C,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,IAAI,CAAC,IAAA,iCAAsB,EAAC,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC;QAC1F,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC;QAEzD,WAAW;QACX,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,MAAO,EAAE,QAAQ,CAAC,CAAC;YACxD,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAS;YACrC,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACjD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACrF,eAAe,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAA,+BAAoB,EAAC,IAAI,CAAC,MAAO,CAAC,CAAC;aAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aACxC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,MAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChE,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAS;YACrC,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;YACpC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;iBACpD,CAAC,CAAC;gBACH,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAClD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC1C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;iBACzD,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,UAAgC;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACpC,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC7B,OAAO;oBACL,KAAK,EAAE,mEAAmE;oBAC1E,MAAM,EAAE,EAAE,CAAC,MAAM;iBAClB,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC7B,OAAO;oBACL,KAAK,EACH,kCAAkC;wBAClC,wCAAwC;wBACxC,uDAAuD;wBACvD,uDAAuD;wBACvD,qDAAqD;oBACvD,MAAM,EAAE,EAAE,CAAC,MAAM;iBAClB,CAAC;YACJ,CAAC;YACD,aAAa;YACb,OAAO;gBACL,KAAK,EAAE,+FAA+F;gBACtG,MAAM,EAAE,EAAE,CAAC,MAAM;aAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AA3LY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,+BAAiB,CAAC,CAAA;IAErC,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,iCAAmB,CAAC,CAAA;qCAHhB,4BAAY,UAEX,mCAAiB;GAJjC,qBAAqB,CA2LjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"referral.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/referral/controllers/referral.controller.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAmB,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,qBAEa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IACP,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAD/B,eAAe,EAAE,eAAe,EACP,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IAGlF;;;OAGG;IACH,OAAO,CAAC,YAAY;IAMpB;;;OAGG;IAEG,SAAS,CAAQ,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1D;;;OAGG;IAGG,UAAU,CAAQ,KAAK,EAAE,YAAY,EAAU,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5F;;;OAGG;IAEG,QAAQ,CAAQ,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1D"}
1
+ {"version":3,"file":"referral.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/referral/controllers/referral.controller.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAmB,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,qBAGa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IACP,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAD/B,eAAe,EAAE,eAAe,EACP,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC;IAGlF;;;OAGG;IACH,OAAO,CAAC,YAAY;IAMpB;;;OAGG;IAEG,SAAS,CAAQ,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1D;;;OAGG;IAGG,UAAU,CAAQ,KAAK,EAAE,YAAY,EAAU,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5F;;;OAGG;IAEG,QAAQ,CAAQ,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1D"}
@@ -19,6 +19,8 @@ const referral_invite_dto_1 = require("../dtos/referral-invite.dto");
19
19
  const referral_meta_1 = require("../entities/referral.meta");
20
20
  const referral_config_interface_1 = require("../interfaces/referral.config.interface");
21
21
  const referral_service_1 = require("../services/referral.service");
22
+ const module_decorator_1 = require("../../../common/decorators/module.decorator");
23
+ const core_module_ids_1 = require("../../../common/constants/core-module.ids");
22
24
  let ReferralController = class ReferralController {
23
25
  constructor(referralService, config) {
24
26
  this.referralService = referralService;
@@ -87,6 +89,7 @@ __decorate([
87
89
  ], ReferralController.prototype, "getStats", null);
88
90
  exports.ReferralController = ReferralController = __decorate([
89
91
  (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),
92
+ (0, module_decorator_1.ModuleACL)({ module: core_module_ids_1.CoreModuleId.Referral }),
90
93
  (0, common_1.Controller)(),
91
94
  __param(1, (0, common_1.Inject)(referral_config_interface_1.REFERRAL_CONFIG)),
92
95
  __metadata("design:paramtypes", [referral_service_1.ReferralService, Object])
@@ -1 +1 @@
1
- {"version":3,"file":"referral.controller.js","sourceRoot":"","sources":["../../../../src/foundations/referral/controllers/referral.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAWwB;AAGxB,0EAAqE;AACrE,qEAAgE;AAChE,6DAAyD;AACzD,uFAAgG;AAChG,mEAA+D;AAIxD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,eAAgC,EACP,MAAsC;QAD/D,oBAAe,GAAf,eAAe,CAAiB;QACP,WAAM,GAAN,MAAM,CAAgC;IAC/E,CAAC;IAEJ;;;OAGG;IACK,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,iCAAiC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,SAAS,CAAQ,KAAmB;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED;;;OAGG;IAGG,AAAN,KAAK,CAAC,UAAU,CAAQ,KAAmB,EAAU,IAAuB;QAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,QAAQ,CAAQ,KAAmB;QACvC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;CACF,CAAA;AAjDY,gDAAkB;AAqBvB;IADL,IAAA,YAAG,EAAC,GAAG,4BAAY,CAAC,QAAQ,UAAU,CAAC;IACvB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;mDAIrB;AAQK;IAFL,IAAA,aAAI,EAAC,GAAG,4BAAY,CAAC,QAAQ,SAAS,CAAC;IACvC,IAAA,iBAAQ,EAAC,mBAAU,CAAC,UAAU,CAAC;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;IAAuB,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,uCAAiB;;oDAI3E;AAOK;IADL,IAAA,YAAG,EAAC,GAAG,4BAAY,CAAC,QAAQ,QAAQ,CAAC;IACtB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;kDAIpB;6BAhDU,kBAAkB;IAF9B,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,eAAM,EAAC,2CAAe,CAAC,CAAA;qCADU,kCAAe;GAFxC,kBAAkB,CAiD9B"}
1
+ {"version":3,"file":"referral.controller.js","sourceRoot":"","sources":["../../../../src/foundations/referral/controllers/referral.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAWwB;AAGxB,0EAAqE;AACrE,qEAAgE;AAChE,6DAAyD;AACzD,uFAAgG;AAChG,mEAA+D;AAC/D,kFAAwE;AACxE,+EAAyE;AAKlE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,eAAgC,EACP,MAAsC;QAD/D,oBAAe,GAAf,eAAe,CAAiB;QACP,WAAM,GAAN,MAAM,CAAgC;IAC/E,CAAC;IAEJ;;;OAGG;IACK,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,0BAAiB,CAAC,iCAAiC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,SAAS,CAAQ,KAAmB;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED;;;OAGG;IAGG,AAAN,KAAK,CAAC,UAAU,CAAQ,KAAmB,EAAU,IAAuB;QAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IAEG,AAAN,KAAK,CAAC,QAAQ,CAAQ,KAAmB;QACvC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;CACF,CAAA;AAjDY,gDAAkB;AAqBvB;IADL,IAAA,YAAG,EAAC,GAAG,4BAAY,CAAC,QAAQ,UAAU,CAAC;IACvB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;mDAIrB;AAQK;IAFL,IAAA,aAAI,EAAC,GAAG,4BAAY,CAAC,QAAQ,SAAS,CAAC;IACvC,IAAA,iBAAQ,EAAC,mBAAU,CAAC,UAAU,CAAC;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;IAAuB,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAO,uCAAiB;;oDAI3E;AAOK;IADL,IAAA,YAAG,EAAC,GAAG,4BAAY,CAAC,QAAQ,QAAQ,CAAC;IACtB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;kDAIpB;6BAhDU,kBAAkB;IAH9B,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,4BAAS,EAAC,EAAE,MAAM,EAAE,8BAAY,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,eAAM,EAAC,2CAAe,CAAC,CAAA;qCADU,kCAAe;GAFxC,kBAAkB,CAiD9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"role.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/role/controllers/role.controller.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,qBACa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFZ,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY;IAMvC,IAAI,CAAU,KAAK,EAAE,GAAG,EAAmB,MAAM,CAAC,EAAE,MAAM;IAQ1D,QAAQ,CAAkB,MAAM,EAAE,MAAM;IAWxC,MAAM,CAAS,IAAI,EAAE,WAAW;IAchC,MAAM,CAAS,IAAI,EAAE,WAAW,EAAmB,MAAM,EAAE,MAAM;IAcjE,MAAM,CAAkB,MAAM,EAAE,MAAM;CAK7C"}
1
+ {"version":3,"file":"role.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/role/controllers/role.controller.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,qBAEa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFZ,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY;IAMvC,IAAI,CAAU,KAAK,EAAE,GAAG,EAAmB,MAAM,CAAC,EAAE,MAAM;IAQ1D,QAAQ,CAAkB,MAAM,EAAE,MAAM;IAWxC,MAAM,CAAS,IAAI,EAAE,WAAW;IAchC,MAAM,CAAS,IAAI,EAAE,WAAW,EAAmB,MAAM,EAAE,MAAM;IAcjE,MAAM,CAAkB,MAAM,EAAE,MAAM;CAK7C"}
@@ -23,6 +23,8 @@ const audit_service_1 = require("../../audit/services/audit.service");
23
23
  const role_post_dto_1 = require("../../role/dtos/role.post.dto");
24
24
  const role_meta_1 = require("../../role/entities/role.meta");
25
25
  const role_service_1 = require("../services/role.service");
26
+ const module_decorator_1 = require("../../../common/decorators/module.decorator");
27
+ const core_module_ids_1 = require("../../../common/constants/core-module.ids");
26
28
  let RoleController = class RoleController {
27
29
  constructor(roleService, auditService, cacheService) {
28
30
  this.roleService = roleService;
@@ -115,6 +117,7 @@ __decorate([
115
117
  __metadata("design:returntype", Promise)
116
118
  ], RoleController.prototype, "delete", null);
117
119
  exports.RoleController = RoleController = __decorate([
120
+ (0, module_decorator_1.ModuleACL)({ module: core_module_ids_1.CoreModuleId.Role }),
118
121
  (0, common_1.Controller)(role_meta_1.roleMeta.endpoint),
119
122
  __metadata("design:paramtypes", [role_service_1.RoleService,
120
123
  audit_service_1.AuditService,
@@ -1 +1 @@
1
- {"version":3,"file":"role.controller.js","sourceRoot":"","sources":["../../../../src/foundations/role/controllers/role.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role.controller.js","sourceRoot":"","sources":["../../../../src/foundations/role/controllers/role.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"role.user.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/role/controllers/role.user.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAGnF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAG/D,qBACa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,eAAe;IAKtC,YAAY,CACL,GAAG,EAAE,GAAG,EACV,KAAK,EAAE,GAAG,EACF,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,OAAO;CAe1C"}
1
+ {"version":3,"file":"role.user.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/role/controllers/role.user.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAGnF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAK/D,qBAEa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,eAAe;IAKtC,YAAY,CACL,GAAG,EAAE,GAAG,EACV,KAAK,EAAE,GAAG,EACF,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,OAAO;CAe1C"}
@@ -19,6 +19,8 @@ const security_service_1 = require("../../../core/security/services/security.ser
19
19
  const role_meta_1 = require("../../role/entities/role.meta");
20
20
  const role_service_1 = require("../../role/services/role.service");
21
21
  const user_meta_1 = require("../../user/entities/user.meta");
22
+ const module_decorator_1 = require("../../../common/decorators/module.decorator");
23
+ const core_module_ids_1 = require("../../../common/constants/core-module.ids");
22
24
  let RoleUserController = class RoleUserController {
23
25
  constructor(roleServide, security) {
24
26
  this.roleServide = roleServide;
@@ -52,6 +54,7 @@ __decorate([
52
54
  __metadata("design:returntype", Promise)
53
55
  ], RoleUserController.prototype, "findBySearch", null);
54
56
  exports.RoleUserController = RoleUserController = __decorate([
57
+ (0, module_decorator_1.ModuleACL)({ module: core_module_ids_1.CoreModuleId.Role }),
55
58
  (0, common_1.Controller)(user_meta_1.userMeta.endpoint),
56
59
  __metadata("design:paramtypes", [role_service_1.RoleService,
57
60
  security_service_1.SecurityService])
@@ -1 +1 @@
1
- {"version":3,"file":"role.user.controller.js","sourceRoot":"","sources":["../../../../src/foundations/role/controllers/role.user.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmF;AAEnF,0EAAqE;AACrE,uFAAmF;AACnF,6DAAyD;AAEzD,mEAA+D;AAC/D,6DAAyD;AAGlD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,WAAwB,EACxB,QAAyB;QADzB,gBAAW,GAAX,WAAW,CAAa;QACxB,aAAQ,GAAR,QAAQ,CAAiB;IACzC,CAAC;IAIE,AAAN,KAAK,CAAC,YAAY,CACL,GAAQ,EACV,KAAU,EACF,MAAc,EACd,MAAe,EACZ,SAAmB;QAEvC,IAAI,SAAS;YACX,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC1C,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QAEL,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YACxC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA5BY,gDAAkB;AAQvB;IAFL,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,YAAG,EAAC,WAAW,oBAAQ,CAAC,QAAQ,EAAE,CAAC;IAEjC,WAAA,IAAA,gBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAK,GAAE,CAAA;IACP,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;;;;sDAcpB;6BA3BU,kBAAkB;IAD9B,IAAA,mBAAU,EAAC,oBAAQ,CAAC,QAAQ,CAAC;qCAGI,0BAAW;QACd,kCAAe;GAHjC,kBAAkB,CA4B9B"}
1
+ {"version":3,"file":"role.user.controller.js","sourceRoot":"","sources":["../../../../src/foundations/role/controllers/role.user.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmF;AAEnF,0EAAqE;AACrE,uFAAmF;AACnF,6DAAyD;AAEzD,mEAA+D;AAC/D,6DAAyD;AACzD,kFAAwE;AACxE,+EAAyE;AAIlE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,WAAwB,EACxB,QAAyB;QADzB,gBAAW,GAAX,WAAW,CAAa;QACxB,aAAQ,GAAR,QAAQ,CAAiB;IACzC,CAAC;IAIE,AAAN,KAAK,CAAC,YAAY,CACL,GAAQ,EACV,KAAU,EACF,MAAc,EACd,MAAe,EACZ,SAAmB;QAEvC,IAAI,SAAS;YACX,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC1C,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QAEL,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YACxC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA5BY,gDAAkB;AAQvB;IAFL,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACvB,IAAA,YAAG,EAAC,WAAW,oBAAQ,CAAC,QAAQ,EAAE,CAAC;IAEjC,WAAA,IAAA,gBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAK,GAAE,CAAA;IACP,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;;;;sDAcpB;6BA3BU,kBAAkB;IAF9B,IAAA,4BAAS,EAAC,EAAE,MAAM,EAAE,8BAAY,CAAC,IAAI,EAAE,CAAC;IACxC,IAAA,mBAAU,EAAC,oBAAQ,CAAC,QAAQ,CAAC;qCAGI,0BAAW;QACd,kCAAe;GAHjC,kBAAkB,CA4B9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"s3.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/controllers/s3.controller.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIvD,OAAO,EAGL,iBAAiB,EAClB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAEL,sBAAsB,EACvB,MAAM,kEAAkE,CAAC;AAS1E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAQtD,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,+BAA+B,EAAE,WAAW,CAAC,MAAM,CAI9D,CAAC;AAOH,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAG3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAK3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAZf,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAEjD,UAAU,EAAE,kBAAkB,EAG9B,SAAS,CAAC,EAAE,iBAAiB,EAK7B,cAAc,CAAC,EAAE,sBAAsB;IAKpD,eAAe,CACL,GAAG,EAAE,MAAM,EACH,WAAW,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO;IAgBhC,YAAY,CACF,GAAG,EAAE,MAAM,EACN,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,MAAM;IAchC,UAAU,CAAe,GAAG,EAAE,MAAM;IAM1C;;;OAGG;IAEG,SAAS,CACN,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,YAAY,EACV,KAAK,EAAE,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAwChB;;OAEG;IAEG,SAAS,CAAQ,KAAK,EAAE,YAAY,EAAkB,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzF;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB;;;;OAIG;YACW,eAAe;IAiB7B,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;CAwBrB"}
1
+ {"version":3,"file":"s3.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/controllers/s3.controller.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIvD,OAAO,EAGL,iBAAiB,EAClB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAEL,sBAAsB,EACvB,MAAM,kEAAkE,CAAC;AAS1E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOzD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAQtD,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,+BAA+B,EAAE,WAAW,CAAC,MAAM,CAI9D,CAAC;AAOH,qBAEa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAG3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAK3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAZf,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAEjD,UAAU,EAAE,kBAAkB,EAG9B,SAAS,CAAC,EAAE,iBAAiB,EAK7B,cAAc,CAAC,EAAE,sBAAsB;IAKpD,eAAe,CACL,GAAG,EAAE,MAAM,EACH,WAAW,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO;IAgBhC,YAAY,CACF,GAAG,EAAE,MAAM,EACN,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,MAAM;IAchC,UAAU,CAAe,GAAG,EAAE,MAAM;IAM1C;;;OAGG;IAEG,SAAS,CACN,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,YAAY,EACV,KAAK,EAAE,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAwChB;;OAEG;IAEG,SAAS,CAAQ,KAAK,EAAE,YAAY,EAAkB,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzF;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB;;;;OAIG;YACW,eAAe;IAiB7B,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;CAwBrB"}
@@ -24,6 +24,8 @@ const s3_meta_1 = require("../../s3/entities/s3.meta");
24
24
  const s3_cipher_service_1 = require("../../s3/services/s3-cipher.service");
25
25
  const s3_client_key_service_1 = require("../../s3/services/s3-client-key.service");
26
26
  const s3_service_1 = require("../../s3/services/s3.service");
27
+ const module_decorator_1 = require("../../../common/decorators/module.decorator");
28
+ const core_module_ids_1 = require("../../../common/constants/core-module.ids");
27
29
  /** How long the browser keeps a file reached through a permanent (non-expiring) link. */
28
30
  const PERMANENT_LINK_CACHE_SECONDS = 3600;
29
31
  /**
@@ -303,6 +305,7 @@ __decorate([
303
305
  __metadata("design:returntype", Promise)
304
306
  ], S3Controller.prototype, "getObject", null);
305
307
  exports.S3Controller = S3Controller = __decorate([
308
+ (0, module_decorator_1.ModuleACL)({ module: core_module_ids_1.CoreModuleId.S3 }),
306
309
  (0, common_1.Controller)(s3_meta_1.s3Meta.endpoint),
307
310
  __param(4, (0, common_1.Optional)()),
308
311
  __param(4, (0, common_1.Inject)(s3_key_access_policy_interface_1.S3_KEY_ACCESS_POLICY)),