@lenne.tech/nest-server 11.35.0 → 11.36.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 (42) hide show
  1. package/.claude/rules/configurable-features.md +2 -1
  2. package/FRAMEWORK-API.md +1 -1
  3. package/dist/core/common/helpers/file.helper.js +3 -2
  4. package/dist/core/common/helpers/file.helper.js.map +1 -1
  5. package/dist/core/common/interfaces/server-options.interface.d.ts +1 -0
  6. package/dist/core/common/services/brevo.service.d.ts +1 -0
  7. package/dist/core/common/services/brevo.service.js +10 -2
  8. package/dist/core/common/services/brevo.service.js.map +1 -1
  9. package/dist/core/modules/better-auth/better-auth.config.js +1 -0
  10. package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
  11. package/dist/core/modules/better-auth/core-better-auth.controller.js +19 -0
  12. package/dist/core/modules/better-auth/core-better-auth.controller.js.map +1 -1
  13. package/dist/core/modules/file/core-file-access-audit.initializer.d.ts +13 -0
  14. package/dist/core/modules/file/core-file-access-audit.initializer.js +109 -0
  15. package/dist/core/modules/file/core-file-access-audit.initializer.js.map +1 -0
  16. package/dist/core/modules/file/file-roles.config.d.ts +21 -0
  17. package/dist/core/modules/file/file-roles.config.js +51 -2
  18. package/dist/core/modules/file/file-roles.config.js.map +1 -1
  19. package/dist/core/modules/file/file-roles.helper.d.ts +2 -2
  20. package/dist/core/modules/file/file-roles.helper.js +10 -16
  21. package/dist/core/modules/file/file-roles.helper.js.map +1 -1
  22. package/dist/core.module.js +3 -1
  23. package/dist/core.module.js.map +1 -1
  24. package/dist/index.d.ts +4 -0
  25. package/dist/index.js +4 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/tsconfig.build.tsbuildinfo +1 -1
  28. package/migration-guides/11.34.x-to-11.35.x.md +17 -3
  29. package/migration-guides/11.35.0-to-11.35.1.md +152 -0
  30. package/migration-guides/11.35.1-to-11.36.0.md +168 -0
  31. package/package.json +21 -21
  32. package/src/core/common/helpers/file.helper.ts +11 -5
  33. package/src/core/common/interfaces/server-options.interface.ts +24 -0
  34. package/src/core/common/services/brevo.service.ts +34 -6
  35. package/src/core/modules/better-auth/better-auth.config.ts +4 -0
  36. package/src/core/modules/better-auth/core-better-auth.controller.ts +38 -0
  37. package/src/core/modules/file/README.md +10 -0
  38. package/src/core/modules/file/core-file-access-audit.initializer.ts +164 -0
  39. package/src/core/modules/file/file-roles.config.ts +156 -1
  40. package/src/core/modules/file/file-roles.helper.ts +15 -22
  41. package/src/core.module.ts +10 -2
  42. package/src/index.ts +4 -0
@@ -1,10 +1,31 @@
1
1
  import { IFileConfig, IS3Config } from '../../common/interfaces/server-options.interface';
2
2
  export type FileRoleKey = 'deleteRoles' | 'downloadRoles' | 'uploadRoles';
3
3
  export declare const FILE_ROLE_DEFAULTS: Record<FileRoleKey, string[]>;
4
+ export declare const FILE_ROLE_MEMBERS: {
5
+ className: FileEndpointClassName;
6
+ key: FileRoleKey;
7
+ method: string;
8
+ }[];
9
+ export type FileEndpointClassName = 'CoreFileController' | 'CoreFileResolver';
4
10
  export declare function resolveRoles(key: FileRoleKey, config?: IFileConfig): string[];
11
+ export declare function hasDeclaredFilePolicy(options: {
12
+ fileConfig?: IFileConfig;
13
+ hasPerFileRule: boolean;
14
+ }): boolean;
5
15
  export declare function warnOnPresignedDownloadsWithRestrictedRoles(s3Config?: IS3Config, fileConfig?: IFileConfig): string | undefined;
6
16
  export declare function warnOnUndecidedFileAccess(options: {
7
17
  fileConfig?: IFileConfig;
8
18
  hasPerFileRule: boolean;
9
19
  multiTenancyEnabled: boolean;
10
20
  }): string | undefined;
21
+ export interface ObservedFileHandler {
22
+ key: FileRoleKey;
23
+ member: string;
24
+ roles: string[];
25
+ }
26
+ export declare function warnOnUndecidedEffectiveFileAccess(options: {
27
+ fileConfig?: IFileConfig;
28
+ handlers: ObservedFileHandler[];
29
+ hasPerFileRule: boolean;
30
+ multiTenancyEnabled: boolean;
31
+ }): string | undefined;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FILE_ROLE_DEFAULTS = void 0;
3
+ exports.FILE_ROLE_MEMBERS = exports.FILE_ROLE_DEFAULTS = void 0;
4
4
  exports.resolveRoles = resolveRoles;
5
+ exports.hasDeclaredFilePolicy = hasDeclaredFilePolicy;
5
6
  exports.warnOnPresignedDownloadsWithRestrictedRoles = warnOnPresignedDownloadsWithRestrictedRoles;
6
7
  exports.warnOnUndecidedFileAccess = warnOnUndecidedFileAccess;
8
+ exports.warnOnUndecidedEffectiveFileAccess = warnOnUndecidedEffectiveFileAccess;
7
9
  const common_1 = require("@nestjs/common");
8
10
  const role_enum_1 = require("../../common/enums/role.enum");
9
11
  const logger = new common_1.Logger('CoreFileRoles');
@@ -12,6 +14,14 @@ exports.FILE_ROLE_DEFAULTS = {
12
14
  downloadRoles: [role_enum_1.RoleEnum.ADMIN],
13
15
  uploadRoles: [role_enum_1.RoleEnum.ADMIN],
14
16
  };
17
+ exports.FILE_ROLE_MEMBERS = [
18
+ { className: 'CoreFileController', key: 'downloadRoles', method: 'getFileById' },
19
+ { className: 'CoreFileController', key: 'downloadRoles', method: 'getFile' },
20
+ { className: 'CoreFileResolver', key: 'downloadRoles', method: 'getFileInfo' },
21
+ { className: 'CoreFileResolver', key: 'uploadRoles', method: 'uploadFile' },
22
+ { className: 'CoreFileResolver', key: 'uploadRoles', method: 'uploadFiles' },
23
+ { className: 'CoreFileResolver', key: 'deleteRoles', method: 'deleteFile' },
24
+ ];
15
25
  function resolveRoles(key, config) {
16
26
  const configured = config?.[key];
17
27
  if (configured === undefined) {
@@ -24,6 +34,9 @@ function resolveRoles(key, config) {
24
34
  }
25
35
  return configured;
26
36
  }
37
+ function hasDeclaredFilePolicy(options) {
38
+ return options.hasPerFileRule || !!(options.fileConfig?.access && options.fileConfig.access !== 'custom');
39
+ }
27
40
  function warnOnPresignedDownloadsWithRestrictedRoles(s3Config, fileConfig) {
28
41
  const presigned = s3Config?.presignedDownloads;
29
42
  const presignedEnabled = presigned === true || (!!presigned && typeof presigned === 'object' && presigned.enabled !== false);
@@ -47,7 +60,7 @@ function warnOnPresignedDownloadsWithRestrictedRoles(s3Config, fileConfig) {
47
60
  }
48
61
  function warnOnUndecidedFileAccess(options) {
49
62
  const { fileConfig, hasPerFileRule, multiTenancyEnabled } = options;
50
- if (hasPerFileRule || (fileConfig?.access && fileConfig.access !== 'custom')) {
63
+ if (hasDeclaredFilePolicy({ fileConfig, hasPerFileRule })) {
51
64
  return undefined;
52
65
  }
53
66
  const widened = [];
@@ -75,4 +88,40 @@ function warnOnUndecidedFileAccess(options) {
75
88
  logger.warn(message);
76
89
  return message;
77
90
  }
91
+ function warnOnUndecidedEffectiveFileAccess(options) {
92
+ const { fileConfig, handlers, hasPerFileRule, multiTenancyEnabled } = options;
93
+ if (hasDeclaredFilePolicy({ fileConfig, hasPerFileRule })) {
94
+ return undefined;
95
+ }
96
+ const findings = [];
97
+ for (const handler of handlers) {
98
+ const configured = resolveRoles(handler.key, fileConfig);
99
+ const unexplained = handler.roles.filter((role) => role !== role_enum_1.RoleEnum.ADMIN && !configured.includes(role));
100
+ if (unexplained.length) {
101
+ findings.push(`${handler.member} → ${JSON.stringify([...new Set(unexplained)])}`);
102
+ }
103
+ }
104
+ if (!findings.length) {
105
+ return undefined;
106
+ }
107
+ const tenantNote = multiTenancyEnabled
108
+ ? ' multiTenancy is active, and the leak crosses tenants too: the file stores are reached outside ' +
109
+ 'Mongoose, so mongooseTenantPlugin never scopes them and these role names resolve against ' +
110
+ 'user.roles — a GLOBAL attribute — never against membership.role.'
111
+ : '';
112
+ const message = `A registered file endpoint is open beyond platform admins through roles declared in your own ` +
113
+ `class, not through configuration (${findings.join(', ')}), and no per-file policy is declared: ` +
114
+ `file.access is unset and CoreFileService.checkRights() is not overridden. Because the member is ` +
115
+ `RE-DECLARED, file.downloadRoles/uploadRoles/deleteRoles do NOT apply to it — decorator metadata ` +
116
+ `lives on the function object, so your override keeps its own @Roles() and the configuration ` +
117
+ `never reaches the route. Every holder of such a role can therefore read, overwrite or delete ` +
118
+ `EVERY file — and file ids are not secret, they are ENUMERABLE (an ObjectId shares a per-process ` +
119
+ `random part and an incrementing counter, so one own upload reveals the neighbourhood), with no ` +
120
+ `rate limit on the file routes.${tenantNote} Either inherit the member instead of re-declaring ` +
121
+ `it, so the knobs apply, or declare the per-file policy with file.access ` +
122
+ `('public' | 'authenticated' | 'owner' | 'tenant') or an overridden checkRights() — see ` +
123
+ `src/core/modules/file/README.md § Access control.`;
124
+ logger.warn(message);
125
+ return message;
126
+ }
78
127
  //# sourceMappingURL=file-roles.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-roles.config.js","sourceRoot":"","sources":["../../../../src/core/modules/file/file-roles.config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-roles.config.js","sourceRoot":"","sources":["../../../../src/core/modules/file/file-roles.config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { IFileConfig } from '../../common/interfaces/server-options.interface';
2
- export { FILE_ROLE_DEFAULTS, resolveRoles, warnOnPresignedDownloadsWithRestrictedRoles, warnOnUndecidedFileAccess, } from './file-roles.config';
3
- export type { FileRoleKey } from './file-roles.config';
2
+ export { FILE_ROLE_DEFAULTS, FILE_ROLE_MEMBERS, resolveRoles, warnOnPresignedDownloadsWithRestrictedRoles, warnOnUndecidedEffectiveFileAccess, warnOnUndecidedFileAccess, } from './file-roles.config';
3
+ export type { FileEndpointClassName, FileRoleKey, ObservedFileHandler } from './file-roles.config';
4
4
  export declare function applyFileRoles(config?: IFileConfig): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.warnOnUndecidedFileAccess = exports.warnOnPresignedDownloadsWithRestrictedRoles = exports.resolveRoles = exports.FILE_ROLE_DEFAULTS = void 0;
3
+ exports.warnOnUndecidedFileAccess = exports.warnOnUndecidedEffectiveFileAccess = exports.warnOnPresignedDownloadsWithRestrictedRoles = exports.resolveRoles = exports.FILE_ROLE_MEMBERS = exports.FILE_ROLE_DEFAULTS = void 0;
4
4
  exports.applyFileRoles = applyFileRoles;
5
5
  const common_1 = require("@nestjs/common");
6
6
  const core_file_controller_1 = require("./core-file.controller");
@@ -9,30 +9,24 @@ const file_roles_config_1 = require("./file-roles.config");
9
9
  const logger = new common_1.Logger('CoreFileRoles');
10
10
  var file_roles_config_2 = require("./file-roles.config");
11
11
  Object.defineProperty(exports, "FILE_ROLE_DEFAULTS", { enumerable: true, get: function () { return file_roles_config_2.FILE_ROLE_DEFAULTS; } });
12
+ Object.defineProperty(exports, "FILE_ROLE_MEMBERS", { enumerable: true, get: function () { return file_roles_config_2.FILE_ROLE_MEMBERS; } });
12
13
  Object.defineProperty(exports, "resolveRoles", { enumerable: true, get: function () { return file_roles_config_2.resolveRoles; } });
13
14
  Object.defineProperty(exports, "warnOnPresignedDownloadsWithRestrictedRoles", { enumerable: true, get: function () { return file_roles_config_2.warnOnPresignedDownloadsWithRestrictedRoles; } });
15
+ Object.defineProperty(exports, "warnOnUndecidedEffectiveFileAccess", { enumerable: true, get: function () { return file_roles_config_2.warnOnUndecidedEffectiveFileAccess; } });
14
16
  Object.defineProperty(exports, "warnOnUndecidedFileAccess", { enumerable: true, get: function () { return file_roles_config_2.warnOnUndecidedFileAccess; } });
15
- const ROLE_TARGETS = [
16
- {
17
- key: 'downloadRoles',
18
- member: 'CoreFileController.getFileById',
19
- owner: () => core_file_controller_1.CoreFileController.prototype.getFileById,
20
- },
21
- { key: 'downloadRoles', member: 'CoreFileController.getFile', owner: () => core_file_controller_1.CoreFileController.prototype.getFile },
22
- { key: 'downloadRoles', member: 'CoreFileResolver.getFileInfo', owner: () => core_file_resolver_1.CoreFileResolver.prototype.getFileInfo },
23
- { key: 'uploadRoles', member: 'CoreFileResolver.uploadFile', owner: () => core_file_resolver_1.CoreFileResolver.prototype.uploadFile },
24
- { key: 'uploadRoles', member: 'CoreFileResolver.uploadFiles', owner: () => core_file_resolver_1.CoreFileResolver.prototype.uploadFiles },
25
- { key: 'deleteRoles', member: 'CoreFileResolver.deleteFile', owner: () => core_file_resolver_1.CoreFileResolver.prototype.deleteFile },
26
- ];
17
+ const ENDPOINT_PROTOTYPES = {
18
+ CoreFileController: core_file_controller_1.CoreFileController.prototype,
19
+ CoreFileResolver: core_file_resolver_1.CoreFileResolver.prototype,
20
+ };
27
21
  function applyFileRoles(config) {
28
22
  const resolved = new Map();
29
- for (const { key, member, owner } of ROLE_TARGETS) {
23
+ for (const { className, key, method } of file_roles_config_1.FILE_ROLE_MEMBERS) {
30
24
  if (!resolved.has(key)) {
31
25
  resolved.set(key, (0, file_roles_config_1.resolveRoles)(key, config));
32
26
  }
33
- const target = owner();
27
+ const target = ENDPOINT_PROTOTYPES[className][method];
34
28
  if (typeof target !== 'function') {
35
- logger.warn(`Cannot apply file.${key}: ${member} is not a function — skipping.`);
29
+ logger.warn(`Cannot apply file.${key}: ${className}.${method} is not a function — skipping.`);
36
30
  continue;
37
31
  }
38
32
  Reflect.defineMetadata('roles', resolved.get(key), target);
@@ -1 +1 @@
1
- {"version":3,"file":"file-roles.helper.js","sourceRoot":"","sources":["../../../../src/core/modules/file/file-roles.helper.ts"],"names":[],"mappings":";;;AAgEA,wCAgBC;AAhFD,2CAAwC;AAGxC,iEAA4D;AAC5D,6DAAwD;AACxD,2DAAgE;AAEhE,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,eAAe,CAAC,CAAC;AAK3C,yDAK6B;AAJ3B,uHAAA,kBAAkB,OAAA;AAClB,iHAAA,YAAY,OAAA;AACZ,gJAAA,2CAA2C,OAAA;AAC3C,8HAAA,yBAAyB,OAAA;AAY3B,MAAM,YAAY,GAAiE;IACjF;QACE,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,gCAAgC;QACxC,KAAK,EAAE,GAAG,EAAE,CAAC,yCAAkB,CAAC,SAAS,CAAC,WAAW;KACtD;IACD,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,yCAAkB,CAAC,SAAS,CAAC,OAAO,EAAE;IACjH,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,qCAAgB,CAAC,SAAS,CAAC,WAAW,EAAE;IACrH,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,qCAAgB,CAAC,SAAS,CAAC,UAAU,EAAE;IACjH,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,qCAAgB,CAAC,SAAS,CAAC,WAAW,EAAE;IACnH,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,6BAA6B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,qCAAgB,CAAC,SAAS,CAAC,UAAU,EAAE;CAClH,CAAC;AAyBF,SAAgB,cAAc,CAAC,MAAoB;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAElD,KAAK,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAA,gCAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;QACvB,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,KAAK,MAAM,gCAAgC,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"file-roles.helper.js","sourceRoot":"","sources":["../../../../src/core/modules/file/file-roles.helper.ts"],"names":[],"mappings":";;;AAyDA,wCAgBC;AAzED,2CAAwC;AAGxC,iEAA4D;AAC5D,6DAAwD;AACxD,2DAA0G;AAE1G,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,eAAe,CAAC,CAAC;AAK3C,yDAO6B;AAN3B,uHAAA,kBAAkB,OAAA;AAClB,sHAAA,iBAAiB,OAAA;AACjB,iHAAA,YAAY,OAAA;AACZ,gJAAA,2CAA2C,OAAA;AAC3C,uIAAA,kCAAkC,OAAA;AAClC,8HAAA,yBAAyB,OAAA;AAW3B,MAAM,mBAAmB,GAA2C;IAClE,kBAAkB,EAAE,yCAAkB,CAAC,SAAS;IAChD,gBAAgB,EAAE,qCAAgB,CAAC,SAAS;CAC7C,CAAC;AAyBF,SAAgB,cAAc,CAAC,MAAoB;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAElD,KAAK,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,qCAAiB,EAAE,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAA,gCAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAI,mBAAmB,CAAC,SAAS,CAA6B,CAAC,MAAM,CAAC,CAAC;QACnF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,KAAK,SAAS,IAAI,MAAM,gCAAgC,CAAC,CAAC;YAC9F,SAAS;QACX,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
@@ -45,6 +45,7 @@ const core_better_auth_user_mapper_1 = require("./core/modules/better-auth/core-
45
45
  const core_better_auth_module_1 = require("./core/modules/better-auth/core-better-auth.module");
46
46
  const core_better_auth_service_1 = require("./core/modules/better-auth/core-better-auth.service");
47
47
  const error_code_module_1 = require("./core/modules/error-code/error-code.module");
48
+ const core_file_access_audit_initializer_1 = require("./core/modules/file/core-file-access-audit.initializer");
48
49
  const file_roles_helper_1 = require("./core/modules/file/file-roles.helper");
49
50
  const core_health_check_module_1 = require("./core/modules/health-check/core-health-check.module");
50
51
  const core_hub_module_1 = require("./core/modules/hub/core-hub.module");
@@ -148,6 +149,7 @@ let CoreModule = class CoreModule {
148
149
  useValue: new config_service_1.ConfigService(config),
149
150
  },
150
151
  core_cron_jobs_initializer_1.CoreCronJobsInitializer,
152
+ core_file_access_audit_initializer_1.CoreFileAccessAuditInitializer,
151
153
  core_redis_service_1.CoreRedisService,
152
154
  core_s3_service_1.CoreS3Service,
153
155
  core_trust_proxy_initializer_1.CoreTrustProxyInitializer,
@@ -198,7 +200,7 @@ let CoreModule = class CoreModule {
198
200
  config.mongoose.options.monitorCommands = true;
199
201
  }
200
202
  }
201
- const imports = [mongoose_1.MongooseModule.forRoot(config.mongoose.uri, config.mongoose.options)];
203
+ const imports = [core_1.DiscoveryModule, mongoose_1.MongooseModule.forRoot(config.mongoose.uri, config.mongoose.options)];
202
204
  if (isGraphQlEnabled && config.graphQl) {
203
205
  imports.push(graphql_1.GraphQLModule.forRootAsync(Object.assign({ driver: apollo_1.ApolloDriver }, config.graphQl.driver, config.graphQl.options)));
204
206
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAkE;AAClE,2CAAsH;AACtH,uCAA0E;AAC1E,6CAAgD;AAChD,+CAAkD;AAElD,+EAAgF;AAChF,uCAAgC;AAEhC,uEAA4D;AAC5D,+FAGyD;AACzD,sGAAiG;AACjG,sGAAiG;AACjG,sGAAiG;AACjG,8GAAyG;AACzG,yEAM8C;AAM9C,oGAA+F;AAC/F,qFAA+E;AAC/E,+EAA2E;AAC3E,iFAA4E;AAC5E,qGAA+F;AAC/F,6FAAwF;AACxF,iGAA2F;AAC3F,mGAA6F;AAC7F,yFAAoF;AACpF,0EAAsE;AACtE,kGAA4F;AAC5F,kFAA6E;AAC7E,4EAAuE;AACvE,sGAAgG;AAChG,wEAAoE;AACpE,4EAAwE;AACxE,gFAA2E;AAC3E,8EAA0E;AAC1E,qEAAgE;AAChE,0GAAmG;AACnG,gGAA0F;AAC1F,kGAA4F;AAC5F,mFAA8E;AAC9E,+GAAwG;AACxG,6EAAoH;AACpH,mGAA6F;AAC7F,wEAAmE;AACnE,4EAAyF;AACzF,gGAA2F;AAC3F,mGAA6F;AAC7F,iFAA4E;AAiBrE,IAAM,UAAU,GAAhB,MAAM,UAAU;;IACb,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAKrC,SAAS,CAAC,QAA4B;QAEpC,QAAQ,CAAC,KAAK,CAAC,qDAAwB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,YAAU,CAAC,cAAc,EAAE,CAAC;YAC9B,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAUD,MAAM,CAAC,kBAAkB,CAAC,KAAK;QAC7B,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IA+DD,MAAM,CAAC,OAAO,CACZ,oBAAyB,EACzB,qBAA2B,EAC3B,kBAA4C,EAC5C,oBAA2C;QAK3C,MAAM,aAAa,GAAG,OAAO,oBAAoB,KAAK,UAAU,CAAC;QACjE,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAChE,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAChE,MAAM,OAAO,GAA4B,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAInG,MAAM,SAAS,GAAqC,aAAa;YAC/D,CAAC,CAAE,qBAA0D;YAC7D,CAAC,CAAC,oBAAoB,CAAC;QAIzB,IAAA,4CAA2B,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAM5D,MAAM,IAAI,GAAmB,IAAA,+BAAc,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,gCAAe,EAAC,OAAO,CAAC,CAAC;QAG9F,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;QACnD,YAAU,CAAC,cAAc,GAAG,gBAAgB,CAAC;QAG7C,MAAM,aAAa,GAAG,OAAO,EAAE,UAAU,CAAC;QAC1C,MAAM,2BAA2B,GAAG,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,EAAE,YAAY,KAAK,KAAK,CAAC;QAG/G,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAC7B,IAAI,gBAAgB,EAAE,CAAC;YACrB,mBAAmB,GAAG,aAAa;gBACjC,CAAC,CAAC,2BAA2B;oBAC3B,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC/C,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC;gBACjD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,MAAM,GAAmB,IAAA,qBAAK,EAClC;YACE,GAAG,EAAE,SAAS;YACd,GAAG,CAAC,gBAAgB;gBAClB,CAAC,CAAC;oBACE,OAAO,EAAE;wBACP,MAAM,EAAE,mBAAmB;wBAC3B,sBAAsB,EAAE,IAAI;qBAC7B;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,iBAAiB,EAAE,CAAC,UAAU,EAAE,EAAE;wBAChC,UAAU,CAAC,MAAM,CAAC,qCAAgB,CAAC,CAAC;wBACpC,OAAO,UAAU,CAAC;oBACpB,CAAC;iBACF;gBACD,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,yCAAyC;aACjF;YACD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI;SACrB,EACnB,OAAO,CACR,CAAC;QAGF,MAAM,yBAAyB,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC;QAC9E,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QACxD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;YAE/D,IAAI,yBAAyB,EAAE,CAAC;gBAC9B,UAAU,GAAG,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,sBAAsB,KAAK,KAAK,EAAE,CAAC;gBACtD,UAAU,CAAC,MAAM,CAAC,iDAAsB,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,uBAAuB,KAAK,KAAK,EAAE,CAAC;gBACvD,UAAU,CAAC,MAAM,CAAC,oDAAuB,CAAC,CAAC;YAC7C,CAAC;YAMD,UAAU,CAAC,MAAM,CAAC,sDAAwB,CAAC,CAAC;YAE5C,IAAI,MAAM,CAAC,QAAQ,EAAE,yBAAyB,KAAK,KAAK,EAAE,CAAC;gBACzD,UAAU,CAAC,MAAM,CAAC,wDAAyB,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACjE,UAAU,CAAC,MAAM,CAAC,6CAAoB,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;QASF,IAAA,kCAAc,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAK5B,IAAA,+DAA2C,EAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAGpE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;QAC7B,IAAI,SAAS,EAAE,MAAM,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YAChH,OAAO,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;QACtG,CAAC;QAGD,MAAM,SAAS,GAAU;YAEvB;gBACE,OAAO,EAAE,8BAAa;gBACtB,QAAQ,EAAE,IAAI,8BAAa,CAAC,MAAM,CAAC;aACpC;YAGD,oDAAuB;YAKvB,mEAA8B;YAC9B,qCAAgB;YAChB,+BAAa;YACb,wDAAyB;YACzB,4BAAY;YACZ,kCAAe;YACf,gCAAc;SACf,CAAC;QAGF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,oCAAgB,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,wBAAwB,IAAI,IAAI,EAAE,CAAC;YAEtD,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE,qDAAwB;aACnC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,wBAAwB,IAAI,IAAI,EAAE,CAAC;YAEtD,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE,qDAAwB;aACnC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,kBAAkB,IAAI,IAAI,EAAE,CAAC;YAEhD,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,eAAQ;gBACjB,QAAQ,EAAE,0CAAkB;aAC7B,CAAC,CAAC;QACL,CAAC;QAKD,IAAI,MAAM,CAAC,QAAQ,EAAE,4BAA4B,KAAK,KAAK,EAAE,CAAC;YAC5D,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE,6DAA4B;aACvC,CAAC,CAAC;QACL,CAAC;QAKD,IAAI,MAAM,CAAC,QAAQ,EAAE,wBAAwB,KAAK,KAAK,EAAE,CAAC;YACxD,SAAS,CAAC,IAAI,CAAC;gBACb,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE,qDAAwB;aACnC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,mCAAe,CAAC,CAAC;QAClC,CAAC;QAKD,kBAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC;QAKlE,IAAI,IAAA,uCAAmB,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;YACxD,IAAK,MAAM,CAAC,QAAQ,CAAC,OAAyC,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC5F,MAAM,CAAC,QAAQ,CAAC,OAAyC,CAAC,eAAe,GAAG,IAAI,CAAC;YACpF,CAAC;QACH,CAAC;QAID,MAAM,OAAO,GAAU,CAAC,sBAAe,EAAE,yBAAc,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAE/G,IAAI,gBAAgB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CACV,uBAAa,CAAC,YAAY,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAY,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CACvF,CACF,CAAC;QACJ,CAAC;QAID,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,MAAM,uBAAuB,GAAG,eAAe,EAAE,YAAY,KAAK,KAAK,CAAC;QAExE,IAAI,CAAC,uBAAuB,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,IAAI,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YACpG,OAAO,CAAC,IAAI,CACV,uFAAuF;gBACrF,0GAA0G,CAC7G,CAAC;QACJ,CAAC;QAED,IAAI,uBAAuB,EAAE,CAAC;YAG5B,OAAO,CAAC,IAAI,CACV,mCAAe,CAAC,OAAO,CAAC;gBACtB,uBAAuB,EAAE,eAAe,EAAE,uBAAuB;gBACjE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU;gBAC5C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO;aACvC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,gDAAqB,CAAC,CAAC;QACtC,CAAC;QAGD,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;QAC7C,MAAM,kBAAkB,GACtB,iBAAiB,KAAK,IAAI,IAAI,CAAC,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;QAC/G,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,+CAAqB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACjE,CAAC;QAID,IAAI,IAAA,gCAAY,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,eAAe,GACnB,kBAAkB,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI;gBACnF,CAAC,CAAC,iBAAiB,CAAC,IAAI;gBACxB,CAAC,CAAC,kBAAkB;oBAClB,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,SAAS,CAAC;YAClB,OAAO,CAAC,IAAI,CACV,+BAAa,CAAC,OAAO,CAAC;gBACpB,iBAAiB,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB;gBACpD,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc;gBAC9C,MAAM,EAAE,MAAM,CAAC,GAAG;gBAClB,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU;gBACtC,GAAG,EAAE;oBACH,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,cAAc,EAAE,gBAAgB;oBAChC,eAAe;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,SAAS;iBACrC;gBACD,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW;gBACxC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO;aACjC,CAAC,CACH,CAAC;QACJ,CAAC;QAMD,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC;QAK3C,MAAM,oBAAoB,GACxB,gBAAgB,KAAK,KAAK,IAAI,CAAC,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC;QAC9G,MAAM,mBAAmB,GACvB,gBAAgB,KAAK,IAAI,IAAI,CAAC,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,EAAE,OAAO,KAAK,KAAK,CAAC,CAAC;QAI7G,MAAM,mBAAmB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAExF,MAAM,cAAc,GAAG,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,EAAE,YAAY,KAAK,IAAI,CAAC;QAEvG,MAAM,sBAAsB,GAAG,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,EAAE,YAAY,KAAK,KAAK,CAAC;QAGhH,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,MAAM,cAAc,GAAG,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAErG,IAAI,sBAAsB,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;YACrG,OAAO,CAAC,IAAI,CACV,yFAAyF;gBACvF,4GAA4G,CAC/G,CAAC;QACJ,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,IAAI,CAAC,sBAAsB,CAAC,IAAI,cAAc,EAAE,CAAC;gBACjE,OAAO,CAAC,IAAI,CACV,8CAAoB,CAAC,OAAO,CAAC;oBAC3B,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE;oBAE/D,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,IAAI,gBAAgB;oBAEjE,eAAe,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC;oBAGlE,0BAA0B,EAAE,aAAa;oBAEzC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,IAAI,cAAc;oBAG3D,YAAY,EAAE,MAAM,CAAC,MAAM;oBAC3B,aAAa,EAAE,MAAM,CAAC,OAAO;oBAE7B,gBAAgB,EAAE,MAAM,CAAC,IAAI;oBAC7B,SAAS,EAAE,MAAM,CAAC,GAAG;iBACtB,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAOD,IAAI,IAAA,gCAAY,EAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;YACnF,MAAM,mBAAmB,GAAG,aAAa,IAAI,CAAC,mBAAmB,CAAC;YAClE,IAAI,UAAU,IAAI,mBAAmB,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CACV,8FAA8F;oBAC5F,+FAA+F;oBAC/F,2FAA2F;oBAC3F,6FAA6F;oBAC7F,yBAAyB,CAC5B,CAAC;YACJ,CAAC;QACH,CAAC;QAID,IAAI,mBAAmB,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,gDAAqB,CAAC,CAAC;QACtC,CAAC;QAGD,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,WAAW,GACf,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;QACzG,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,MAAM,UAAU,GACd,KAAK,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;YAC/G,OAAO,CAAC,IAAI,CAAC,6BAAY,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAGD,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAEjE,MAAM,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,eAAe,IAAI,cAAc,CAAC;YAClF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBACxC,MAAM,CAAC,YAAY,CAAC,cAAc,GAAG,EAAE,CAAC;YAC1C,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACtE,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,qCAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QAGD,MAAM,OAAO,GAAU;YACrB,8BAAa;YACb,qCAAgB;YAChB,+BAAa;YACb,4BAAY;YACZ,kCAAe;YACf,gCAAc;SACf,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,oCAAgB,CAAC,CAAC;QACjC,CAAC;QAGD,OAAO;YACL,OAAO;YACP,OAAO;YACP,MAAM,EAAE,YAAU;YAClB,SAAS;SACV,CAAC;IACJ,CAAC;IAYO,MAAM,CAAC,yBAAyB,CAAC,IAAoB,EAAE,OAAgC;QAE7F,MAAM,WAAW,GAAG,OAAO,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,OAAO;YACL,OAAO,EAAE,CAAC,8CAAoB,CAAC;YAC/B,MAAM,EAAE,CAAC,gDAAqB,EAAE,uDAAwB,CAAC;YACzD,UAAU,EAAE,KAAK,EAAE,iBAAwC,EAAE,UAAoC,EAAE,EAAE,CACnG,MAAM,CAAC,MAAM,CACX;gBACE,cAAc,EAAE,YAAY;gBAC5B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBACzC,IAAI;gBACJ,2BAA2B,EAAE,IAAI;gBACjC,aAAa,EAAE;oBAcb,OAAO,EAAE,IAAA,2DAA+B,GAAE;oBAC1C,SAAS,EAAE,IAAA,6DAAiC,GAAE;oBAC9C,YAAY,EAAE;wBACZ,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;wBAC7B,SAAS,EAAE,KAAK,EAAE,OAA0B,EAAE,EAAE;4BAC9C,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;4BAC5C,MAAM,UAAU,GAAG,WAAW,EAAE,sBAAsB,IAAI,IAAI,CAAC;4BAE/D,IAAI,UAAU,EAAE,CAAC;gCAEf,MAAM,OAAO,GAAG,YAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gCACzE,MAAM,SAAS,GACb,gBAAgB,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAEzF,IAAI,SAAS,EAAE,CAAC;oCAEd,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC;wCACxE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,EAAE,EAAE;qCAClD,CAAC,CAAC;oCAEH,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;wCAC7B,MAAM,IAAI,8BAAqB,CAAC,4BAA4B,CAAC,CAAC;oCAChE,CAAC;oCAGD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oCAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;wCACV,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;oCACpD,CAAC;oCAED,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;oCAClB,KAAK,CAAC,OAAO,GAAG,gBAAgB,IAAI,OAAO,CAAC;oCAC5C,OAAO,KAAK,CAAC;gCACf,CAAC;gCAED,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC;qBACF;oBACD,4BAA4B,EAAE;wBAC5B,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;4BACpC,MAAM,UAAU,GAAG,WAAW,EAAE,sBAAsB,IAAI,IAAI,CAAC;4BAE/D,IAAI,UAAU,EAAE,CAAC;gCACf,MAAM,SAAS,GAAW,gBAAgB,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAEzE,IAAI,SAAS,EAAE,CAAC;oCAEd,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC;wCACxE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,EAAE,EAAE;qCAClD,CAAC,CAAC;oCAEH,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;wCAC7B,MAAM,IAAI,8BAAqB,CAAC,4BAA4B,CAAC,CAAC;oCAChE,CAAC;oCAGD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oCAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;wCACV,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;oCACpD,CAAC;oCAED,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;gCAC7C,CAAC;gCAED,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC;qBACF;iBACF;aACF,EACD,WAAW,EAAE,MAAM,CACpB;SACJ,CAAC;IACJ,CAAC;IAWO,MAAM,CAAC,yBAAyB,CAAC,IAAoB,EAAE,OAAgC;QAE7F,MAAM,WAAW,GAAG,OAAO,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,OAAO;YACL,UAAU,EAAE,KAAK,IAAI,EAAE,CACrB,MAAM,CAAC,MAAM,CACX;gBACE,cAAc,EAAE,YAAY;gBAC5B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBACzC,IAAI;gBACJ,2BAA2B,EAAE,IAAI;gBACjC,aAAa,EAAE;oBAcb,OAAO,EAAE,IAAA,2DAA+B,GAAE;oBAC1C,SAAS,EAAE,IAAA,6DAAiC,GAAE;oBAC9C,YAAY,EAAE;wBACZ,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;wBAC7B,SAAS,EAAE,KAAK,EAAE,OAA0B,EAAE,EAAE;4BAC9C,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;4BAC5C,MAAM,UAAU,GAAG,WAAW,EAAE,sBAAsB,IAAI,IAAI,CAAC;4BAE/D,IAAI,UAAU,EAAE,CAAC;gCACf,MAAM,iBAAiB,GAAG,8CAAoB,CAAC,kBAAkB,EAAE,CAAC;gCACpE,MAAM,UAAU,GAAG,8CAAoB,CAAC,qBAAqB,EAAE,CAAC;gCAEhE,IAAI,CAAC,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC;oCACtC,MAAM,IAAI,8BAAqB,CAAC,4BAA4B,CAAC,CAAC;gCAChE,CAAC;gCAED,MAAM,OAAO,GAAG,YAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gCACzE,MAAM,SAAS,GACb,gBAAgB,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAEzF,IAAI,SAAS,EAAE,CAAC;oCACd,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC;wCACxE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,EAAE,EAAE;qCAClD,CAAC,CAAC;oCAEH,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;wCAC7B,MAAM,IAAI,8BAAqB,CAAC,4BAA4B,CAAC,CAAC;oCAChE,CAAC;oCAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oCAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;wCACV,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;oCACpD,CAAC;oCAED,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;oCAClB,KAAK,CAAC,OAAO,GAAG,gBAAgB,IAAI,OAAO,CAAC;oCAC5C,OAAO,KAAK,CAAC;gCACf,CAAC;gCAED,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC;qBACF;oBACD,4BAA4B,EAAE;wBAC5B,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;4BACpC,MAAM,UAAU,GAAG,WAAW,EAAE,sBAAsB,IAAI,IAAI,CAAC;4BAE/D,IAAI,UAAU,EAAE,CAAC;gCACf,MAAM,iBAAiB,GAAG,8CAAoB,CAAC,kBAAkB,EAAE,CAAC;gCACpE,MAAM,UAAU,GAAG,8CAAoB,CAAC,qBAAqB,EAAE,CAAC;gCAEhE,IAAI,CAAC,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC;oCACtC,MAAM,IAAI,8BAAqB,CAAC,4BAA4B,CAAC,CAAC;gCAChE,CAAC;gCAED,MAAM,SAAS,GAAW,gBAAgB,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAEzE,IAAI,SAAS,EAAE,CAAC;oCACd,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC;wCACxE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,EAAE,EAAE;qCAClD,CAAC,CAAC;oCAEH,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;wCAC7B,MAAM,IAAI,8BAAqB,CAAC,4BAA4B,CAAC,CAAC;oCAChE,CAAC;oCAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oCAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;wCACV,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;oCACpD,CAAC;oCAED,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;gCAC7C,CAAC;gCAED,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC;qBACF;iBACF;aACF,EACD,WAAW,EAAE,MAAM,CACpB;SACJ,CAAC;IACJ,CAAC;IAUO,MAAM,CAAC,wBAAwB,CACrC,WAAgB,EAChB,UAAe,EACf,IAAoB,EACpB,OAAgC;QAGhC,MAAM,WAAW,GAAG,OAAO,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,MAAM,sBAAsB,GAAG,WAAW,EAAE,sBAAsB,IAAI,IAAI,CAAC;QAE3E,OAAO;YACL,OAAO,EAAE,CAAC,UAAU,CAAC;YACrB,MAAM,EAAE,CAAC,WAAW,CAAC;YACrB,UAAU,EAAE,KAAK,EAAE,WAAgB,EAAE,EAAE,CACrC,MAAM,CAAC,MAAM,CACX;gBACE,cAAc,EAAE,YAAY;gBAC5B,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;gBACzC,IAAI;gBACJ,2BAA2B,EAAE,IAAI;gBACjC,aAAa,EAAE;oBAcb,OAAO,EAAE,IAAA,2DAA+B,GAAE;oBAC1C,SAAS,EAAE,IAAA,6DAAiC,GAAE;oBAC9C,YAAY,EAAE;wBACZ,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK;wBAC7B,SAAS,EAAE,KAAK,EAAE,OAA0B,EAAE,EAAE;4BAC9C,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;4BAC5C,IAAI,sBAAsB,EAAE,CAAC;gCAE3B,MAAM,OAAO,GAAG,YAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gCACzE,MAAM,SAAS,GACb,gBAAgB,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACzF,IAAI,SAAS,EAAE,CAAC;oCAEd,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oCACjD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oCACrD,IAAI,CAAC,IAAI,EAAE,CAAC;wCACV,MAAM,IAAI,8BAAqB,CAAC,yBAAyB,CAAC,CAAC;oCAC7D,CAAC;oCAED,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;oCAClB,KAAK,CAAC,OAAO,GAAG,gBAAgB,IAAI,OAAO,CAAC;oCAC5C,OAAO,KAAK,CAAC;gCACf,CAAC;gCAED,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC;qBACF;oBACD,4BAA4B,EAAE;wBAC5B,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE;4BACpC,IAAI,sBAAsB,EAAE,CAAC;gCAE3B,MAAM,SAAS,GAAW,gBAAgB,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAEzE,IAAI,SAAS,EAAE,CAAC;oCAEd,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oCACjD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oCACrD,IAAI,CAAC,IAAI,EAAE,CAAC;wCACV,MAAM,IAAI,8BAAqB,CAAC,yBAAyB,CAAC,CAAC;oCAC7D,CAAC;oCAED,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;gCAC7C,CAAC;gCAED,MAAM,IAAI,8BAAqB,CAAC,8BAA8B,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC;qBACF;iBACF;aACF,EACD,WAAW,EAAE,MAAM,CACpB;SACJ,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,gBAAgB,CAAC,OAA6C;QACnE,OAAO,IAAA,iCAAgB,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAKD,MAAM,CAAC,0BAA0B,CAAC,OAA6C;QAC7E,OAAO,IAAA,2CAA0B,EAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;;AA51BU,gCAAU;qBAAV,UAAU;IAFtB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CA61BtB"}
package/dist/index.d.ts CHANGED
@@ -29,9 +29,11 @@ export * from './core/common/helpers/cookies.helper';
29
29
  export * from './core/common/helpers/graceful-shutdown.helper';
30
30
  export * from './core/common/helpers/db.helper';
31
31
  export * from './core/common/helpers/decorator.helper';
32
+ export * from './core/common/helpers/execution-context-request.helper';
32
33
  export * from './core/common/helpers/file.helper';
33
34
  export * from './core/common/helpers/filter.helper';
34
35
  export * from './core/common/helpers/graphql.helper';
36
+ export * from './core/common/helpers/graphql-ws-context.helper';
35
37
  export * from './core/common/helpers/interceptor.helper';
36
38
  export * from './core/common/helpers/gridfs.helper';
37
39
  export * from './core/common/helpers/input.helper';
@@ -87,6 +89,7 @@ export * from './core/common/services/core-cron-jobs.service';
87
89
  export * from './core/common/services/core-redis.service';
88
90
  export * from './core/common/services/core-redis-pubsub';
89
91
  export * from './core/common/services/core-s3.service';
92
+ export * from './core/common/services/core-tenant-context.registry';
90
93
  export * from './core/common/services/rate-limit-store';
91
94
  export * from './core/common/services/crud.service';
92
95
  export * from './core/common/services/email.service';
@@ -141,6 +144,7 @@ export * from './core/modules/auth/tokens.decorator';
141
144
  export * from './core/modules/ai';
142
145
  export * from './core/modules/better-auth';
143
146
  export * from './core/modules/error-code';
147
+ export * from './core/modules/file/core-file-access-audit.initializer';
144
148
  export * from './core/modules/file/core-file-info.model';
145
149
  export * from './core/modules/file/core-file.controller';
146
150
  export * from './core/modules/file/core-file.resolver';
package/dist/index.js CHANGED
@@ -44,9 +44,11 @@ __exportStar(require("./core/common/helpers/cookies.helper"), exports);
44
44
  __exportStar(require("./core/common/helpers/graceful-shutdown.helper"), exports);
45
45
  __exportStar(require("./core/common/helpers/db.helper"), exports);
46
46
  __exportStar(require("./core/common/helpers/decorator.helper"), exports);
47
+ __exportStar(require("./core/common/helpers/execution-context-request.helper"), exports);
47
48
  __exportStar(require("./core/common/helpers/file.helper"), exports);
48
49
  __exportStar(require("./core/common/helpers/filter.helper"), exports);
49
50
  __exportStar(require("./core/common/helpers/graphql.helper"), exports);
51
+ __exportStar(require("./core/common/helpers/graphql-ws-context.helper"), exports);
50
52
  __exportStar(require("./core/common/helpers/interceptor.helper"), exports);
51
53
  __exportStar(require("./core/common/helpers/gridfs.helper"), exports);
52
54
  __exportStar(require("./core/common/helpers/input.helper"), exports);
@@ -102,6 +104,7 @@ __exportStar(require("./core/common/services/core-cron-jobs.service"), exports);
102
104
  __exportStar(require("./core/common/services/core-redis.service"), exports);
103
105
  __exportStar(require("./core/common/services/core-redis-pubsub"), exports);
104
106
  __exportStar(require("./core/common/services/core-s3.service"), exports);
107
+ __exportStar(require("./core/common/services/core-tenant-context.registry"), exports);
105
108
  __exportStar(require("./core/common/services/rate-limit-store"), exports);
106
109
  __exportStar(require("./core/common/services/crud.service"), exports);
107
110
  __exportStar(require("./core/common/services/email.service"), exports);
@@ -156,6 +159,7 @@ __exportStar(require("./core/modules/auth/tokens.decorator"), exports);
156
159
  __exportStar(require("./core/modules/ai"), exports);
157
160
  __exportStar(require("./core/modules/better-auth"), exports);
158
161
  __exportStar(require("./core/modules/error-code"), exports);
162
+ __exportStar(require("./core/modules/file/core-file-access-audit.initializer"), exports);
159
163
  __exportStar(require("./core/modules/file/core-file-info.model"), exports);
160
164
  __exportStar(require("./core/modules/file/core-file.controller"), exports);
161
165
  __exportStar(require("./core/modules/file/core-file.resolver"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}