@solidxai/core 0.1.12-beta.2 → 0.1.12-beta.4
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.
- package/.claude/settings.local.json +16 -0
- package/CLAUDE.md +26 -0
- package/dist/commands/seed.command.d.ts.map +1 -1
- package/dist/commands/seed.command.js +15 -2
- package/dist/commands/seed.command.js.map +1 -1
- package/dist/constants/media-file-types.d.ts +5 -0
- package/dist/constants/media-file-types.d.ts.map +1 -0
- package/dist/constants/media-file-types.js +27 -0
- package/dist/constants/media-file-types.js.map +1 -0
- package/dist/controllers/media.controller.d.ts +14 -11
- package/dist/controllers/media.controller.d.ts.map +1 -1
- package/dist/controllers/media.controller.js +72 -33
- package/dist/controllers/media.controller.js.map +1 -1
- package/dist/dtos/create-media.dto.d.ts +1 -0
- package/dist/dtos/create-media.dto.d.ts.map +1 -1
- package/dist/dtos/create-media.dto.js +7 -1
- package/dist/dtos/create-media.dto.js.map +1 -1
- package/dist/dtos/create-role-metadata.dto.d.ts +2 -0
- package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-role-metadata.dto.js +3 -1
- package/dist/dtos/create-role-metadata.dto.js.map +1 -1
- package/dist/dtos/update-media.dto.d.ts +1 -0
- package/dist/dtos/update-media.dto.d.ts.map +1 -1
- package/dist/dtos/update-media.dto.js +7 -1
- package/dist/dtos/update-media.dto.js.map +1 -1
- package/dist/entities/media.entity.d.ts +1 -0
- package/dist/entities/media.entity.d.ts.map +1 -1
- package/dist/entities/media.entity.js +9 -1
- package/dist/entities/media.entity.js.map +1 -1
- package/dist/enums/auth-type.enum.d.ts +2 -1
- package/dist/enums/auth-type.enum.d.ts.map +1 -1
- package/dist/enums/auth-type.enum.js +1 -0
- package/dist/enums/auth-type.enum.js.map +1 -1
- package/dist/guards/authentication.guard.d.ts +3 -1
- package/dist/guards/authentication.guard.d.ts.map +1 -1
- package/dist/guards/authentication.guard.js +5 -1
- package/dist/guards/authentication.guard.js.map +1 -1
- package/dist/guards/media-signed-url.guard.d.ts +9 -0
- package/dist/guards/media-signed-url.guard.d.ts.map +1 -0
- package/dist/guards/media-signed-url.guard.js +49 -0
- package/dist/guards/media-signed-url.guard.js.map +1 -0
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +10 -13
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
- package/dist/interfaces.d.ts +19 -1
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +2 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/repository/media.repository.d.ts.map +1 -1
- package/dist/repository/media.repository.js +2 -0
- package/dist/repository/media.repository.js.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts +7 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +87 -3
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/permission-metadata-seeder.service.d.ts +1 -0
- package/dist/seeders/permission-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/permission-metadata-seeder.service.js +6 -1
- package/dist/seeders/permission-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +114 -13
- package/dist/services/authentication.service.d.ts +1 -0
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +19 -1
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/media-download-url.service.d.ts +21 -0
- package/dist/services/media-download-url.service.d.ts.map +1 -0
- package/dist/services/media-download-url.service.js +67 -0
- package/dist/services/media-download-url.service.js.map +1 -0
- package/dist/services/media-storage.utils.d.ts +27 -0
- package/dist/services/media-storage.utils.d.ts.map +1 -0
- package/dist/services/media-storage.utils.js +82 -0
- package/dist/services/media-storage.utils.js.map +1 -0
- package/dist/services/media.service.d.ts +20 -4
- package/dist/services/media.service.d.ts.map +1 -1
- package/dist/services/media.service.js +157 -55
- package/dist/services/media.service.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +4 -4
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +37 -63
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +5 -5
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.js +37 -38
- package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
- package/dist/services/role-metadata.service.d.ts +1 -0
- package/dist/services/role-metadata.service.d.ts.map +1 -1
- package/dist/services/role-metadata.service.js +8 -5
- package/dist/services/role-metadata.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +11 -1
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.js +1 -1
- package/dist/subscribers/audit.subscriber.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/seed.command.ts +17 -3
- package/src/constants/media-file-types.ts +44 -0
- package/src/controllers/media.controller.ts +44 -24
- package/src/dtos/create-media.dto.ts +8 -3
- package/src/dtos/create-role-metadata.dto.ts +2 -0
- package/src/dtos/update-media.dto.ts +8 -3
- package/src/entities/media.entity.ts +4 -1
- package/src/enums/auth-type.enum.ts +1 -0
- package/src/guards/authentication.guard.ts +3 -0
- package/src/guards/media-signed-url.guard.ts +41 -0
- package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +12 -24
- package/src/interfaces.ts +20 -0
- package/src/repository/media.repository.ts +2 -0
- package/src/seeders/module-metadata-seeder.service.ts +109 -3
- package/src/seeders/permission-metadata-seeder.service.ts +6 -1
- package/src/seeders/seed-data/solid-core-metadata.json +114 -13
- package/src/services/1.js +6 -0
- package/src/services/authentication.service.ts +24 -1
- package/src/services/media-download-url.service.ts +67 -0
- package/src/services/media-storage.utils.ts +79 -0
- package/src/services/media.service.ts +189 -59
- package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +52 -76
- package/src/services/mediaStorageProviders/file-storage-provider.ts +44 -48
- package/src/services/role-metadata.service.ts +17 -5
- package/src/solid-core.module.ts +21 -2
- package/src/subscribers/audit.subscriber.ts +1 -1
- package/dist-tests/api/authenticate.spec.js +0 -119
- package/dist-tests/api/authenticate.spec.js.map +0 -1
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +0 -97
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +0 -1
- package/dist-tests/api/ping.spec.js +0 -21
- package/dist-tests/api/ping.spec.js.map +0 -1
- package/dist-tests/helpers/auth.js +0 -41
- package/dist-tests/helpers/auth.js.map +0 -1
- package/dist-tests/helpers/env.js +0 -11
- package/dist-tests/helpers/env.js.map +0 -1
- package/docs/agent-builder/notebook-lm-prompt-for-agent-builder.md +0 -136
- package/docs/agent-builder/team-ready-note-agent-builder.md +0 -305
- package/docs/agent-hub-grooming.md +0 -301
- package/docs/dashboards/AGENTIC_DASHBOARD_IMPLEMENTATION_PLAN.md +0 -438
- package/docs/dashboards/dashboard-curl-smoke-tests.txt +0 -146
- package/docs/dashboards/delete-legacy-dashboard-metadata.sql +0 -172
- package/docs/datasource-introspection-ddl-analysis.md +0 -326
- package/docs/datasource-introspection-implementation-plan.md +0 -306
- package/docs/grouping-enhancements.md +0 -89
- package/docs/java-spring/README.md +0 -3
- package/docs/java-spring/solid-core-module-deep-dive-report.md +0 -1317
- package/docs/module-package-import-handoff.md +0 -691
- package/docs/seed-changes.md +0 -65
- package/docs/test-data-workflow.md +0 -200
- package/docs/type-declaration-import-issue.md +0 -24
- package/docs/workflow/business-automation-example-notes.md +0 -309
- package/docs/workflow/data-engineering-pipeline-example-notes.md +0 -330
- package/docs/workflow/foreach-example-notes.md +0 -187
- package/docs/workflow/hello-world-example-notes.md +0 -271
- package/docs/workflow/kestra-concepts-plugins-blueprints.md +0 -315
- package/docs/workflow/loop-until-example-notes.md +0 -198
- package/docs/workflow/microservices-and-apis-example-notes.md +0 -264
- package/docs/workflow/samples.md +0 -25
- package/docs/workflow/what-is-kestra.md +0 -79
- package/docs/workflow/workflow-core-module-handoff-summary.md +0 -191
- package/docs/workflow/workflow-module-brd.md +0 -185
- package/docs/workflow/workflow-module-domain-model.md +0 -252
- package/docs/workflow/workflow-module-metadata-dsl.md +0 -302
- package/docs/workflow/workflow-module-technical-spec.md +0 -293
- package/docs/workflow/workflow-node-type-contracts.md +0 -635
- package/docs/workflow/workflow-node-ui-metadata-contract.md +0 -1262
- package/docs/workflow/workflow-solidx-model-field-spec.md +0 -284
|
@@ -18,6 +18,7 @@ export declare class RoleMetadataService extends CRUDService<RoleMetadata> {
|
|
|
18
18
|
createRolesIfNotExists(roles: CreateRoleMetadataDto[]): Promise<void>;
|
|
19
19
|
private resolveRoleModule;
|
|
20
20
|
addAllPermissionsToRole(roleName: string): Promise<RoleMetadata>;
|
|
21
|
+
addAllPermissionsToRoleExceptPrefixes(roleName: string, excludedPermissionPrefixes: string[]): Promise<RoleMetadata>;
|
|
21
22
|
addPermissionsToRole(roleName: string, permissionNames: string[]): Promise<RoleMetadata>;
|
|
22
23
|
addPermissionToRole(roleName: string, permissionName: string[]): Promise<RoleMetadata>;
|
|
23
24
|
private _addPermissionsToRole;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/role-metadata.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAM,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,qBACa,mBAAoB,SAAQ,WAAW,CAAC,YAAY,CAAC;IAM9D,QAAQ,CAAC,aAAa,EAAE,aAAa;IAGrC,QAAQ,CAAC,IAAI,EAAE,sBAAsB;IAGrC,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B;IAC3D,QAAQ,CAAC,SAAS,EAAE,SAAS;IAZ/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAO;gBAI1C,aAAa,EAAE,aAAa,EAG5B,IAAI,EAAE,sBAAsB,EAG5B,oBAAoB,EAAE,4BAA4B,EAClD,SAAS,EAAE,SAAS;IAMzB,cAAc,CAAC,QAAQ,EAAE,MAAM;IAe/B,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAevD,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,EAAE;YA0D7C,iBAAiB;IAgBzB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIhE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAIxF,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;YAItD,qBAAqB;
|
|
1
|
+
{"version":3,"file":"role-metadata.service.d.ts","sourceRoot":"","sources":["../../src/services/role-metadata.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAM,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,qBACa,mBAAoB,SAAQ,WAAW,CAAC,YAAY,CAAC;IAM9D,QAAQ,CAAC,aAAa,EAAE,aAAa;IAGrC,QAAQ,CAAC,IAAI,EAAE,sBAAsB;IAGrC,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B;IAC3D,QAAQ,CAAC,SAAS,EAAE,SAAS;IAZ/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAO;gBAI1C,aAAa,EAAE,aAAa,EAG5B,IAAI,EAAE,sBAAsB,EAG5B,oBAAoB,EAAE,4BAA4B,EAClD,SAAS,EAAE,SAAS;IAMzB,cAAc,CAAC,QAAQ,EAAE,MAAM;IAe/B,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAevD,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,EAAE;YA0D7C,iBAAiB;IAgBzB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIhE,qCAAqC,CAAC,QAAQ,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAIpH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAIxF,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;YAItD,qBAAqB;IAkD7B,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;YAsBrF,uBAAuB;YAUvB,qBAAqB;IAqBnC,OAAO,CAAC,yBAAyB;YAmBnB,4BAA4B;CAsB3C"}
|
|
@@ -110,13 +110,16 @@ let RoleMetadataService = RoleMetadataService_1 = class RoleMetadataService exte
|
|
|
110
110
|
async addAllPermissionsToRole(roleName) {
|
|
111
111
|
return await this._addPermissionsToRole(roleName, null);
|
|
112
112
|
}
|
|
113
|
+
async addAllPermissionsToRoleExceptPrefixes(roleName, excludedPermissionPrefixes) {
|
|
114
|
+
return await this._addPermissionsToRole(roleName, null, excludedPermissionPrefixes);
|
|
115
|
+
}
|
|
113
116
|
async addPermissionsToRole(roleName, permissionNames) {
|
|
114
117
|
return await this._addPermissionsToRole(roleName, permissionNames);
|
|
115
118
|
}
|
|
116
119
|
async addPermissionToRole(roleName, permissionName) {
|
|
117
120
|
return await this._addPermissionsToRole(roleName, permissionName);
|
|
118
121
|
}
|
|
119
|
-
async _addPermissionsToRole(roleName, permissionNames) {
|
|
122
|
+
async _addPermissionsToRole(roleName, permissionNames, excludedPermissionPrefixes = []) {
|
|
120
123
|
const role = await this.repo.findOne({
|
|
121
124
|
where: { name: roleName },
|
|
122
125
|
select: {
|
|
@@ -128,7 +131,7 @@ let RoleMetadataService = RoleMetadataService_1 = class RoleMetadataService exte
|
|
|
128
131
|
throw new Error(`Role '${roleName}' not found.`);
|
|
129
132
|
}
|
|
130
133
|
const joinInfo = this.getRolePermissionJoinInfo();
|
|
131
|
-
const targetPermissions = await this.loadTargetPermissions(permissionNames);
|
|
134
|
+
const targetPermissions = await this.loadTargetPermissions(permissionNames, excludedPermissionPrefixes);
|
|
132
135
|
if (!permissionNames || permissionNames.length === 0) {
|
|
133
136
|
await this.entityManager
|
|
134
137
|
.createQueryBuilder()
|
|
@@ -179,20 +182,20 @@ let RoleMetadataService = RoleMetadataService_1 = class RoleMetadataService exte
|
|
|
179
182
|
}
|
|
180
183
|
return existingPermission;
|
|
181
184
|
}
|
|
182
|
-
async loadTargetPermissions(permissionNames) {
|
|
185
|
+
async loadTargetPermissions(permissionNames, excludedPermissionPrefixes = []) {
|
|
183
186
|
if (permissionNames && permissionNames.length !== 0) {
|
|
184
187
|
const uniquePermissionNames = [...new Set(permissionNames)];
|
|
185
188
|
const permissions = await this.permissionRepository.find({ where: { name: (0, typeorm_2.In)(uniquePermissionNames) } });
|
|
186
189
|
if (permissions.length !== uniquePermissionNames.length) {
|
|
187
190
|
throw new Error(`One or more permissions not found.`);
|
|
188
191
|
}
|
|
189
|
-
return permissions;
|
|
192
|
+
return permissions.filter((permission) => !excludedPermissionPrefixes.some((prefix) => permission.name.startsWith(prefix)));
|
|
190
193
|
}
|
|
191
194
|
const permissions = await this.permissionRepository.find();
|
|
192
195
|
if (permissions.length === 0) {
|
|
193
196
|
throw new Error(`No permissions configured in the system. Did you forget to run the PermissionSeederService?`);
|
|
194
197
|
}
|
|
195
|
-
return permissions;
|
|
198
|
+
return permissions.filter((permission) => !excludedPermissionPrefixes.some((prefix) => permission.name.startsWith(prefix)));
|
|
196
199
|
}
|
|
197
200
|
getRolePermissionJoinInfo() {
|
|
198
201
|
const relation = this.repo.metadata.relations.find((candidate) => candidate.propertyName === 'permissions');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-metadata.service.js","sourceRoot":"","sources":["../../src/services/role-metadata.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger, NotFoundException } from '@nestjs/common';\nimport { ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager } from '@nestjs/typeorm';\nimport { CRUDService } from 'src/services/crud.service';\nimport { EntityManager, In } from 'typeorm';\n\nimport { ERROR_MESSAGES } from 'src/constants/error-messages';\nimport { PermissionMetadataRepository } from 'src/repository/permission-metadata.repository';\nimport { RoleMetadataRepository } from 'src/repository/role-metadata.repository';\nimport { CreateRoleMetadataDto } from '../dtos/create-role-metadata.dto';\nimport { ModuleMetadata } from '../entities/module-metadata.entity';\nimport { PermissionMetadata } from '../entities/permission-metadata.entity';\nimport { RoleMetadata } from '../entities/role-metadata.entity';\n\n@Injectable()\nexport class RoleMetadataService extends CRUDService<RoleMetadata> {\n private readonly logger = new Logger(RoleMetadataService.name);\n private readonly permissionAssignmentBatchSize = 500;\n\n constructor(\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n // @InjectRepository(RoleMetadata, 'default')\n // readonly repo: Repository<RoleMetadata>,\n readonly repo: RoleMetadataRepository,\n // @InjectRepository(PermissionMetadata)\n // private readonly permissionRepository: Repository<PermissionMetadata>,\n readonly permissionRepository: PermissionMetadataRepository,\n readonly moduleRef: ModuleRef\n\n ) {\n super(entityManager, repo, 'roleMetadata', 'solid-core', moduleRef);\n }\n\n async findRoleByName(roleName: string) {\n const entity = await this.repo.findOne({\n where: {\n name: roleName\n },\n relations: {\n permissions: true\n }\n });\n if (!entity) {\n throw new NotFoundException(`Entity #${roleName} not found`);\n }\n return entity;\n }\n\n async assertRoleExistsByName(roleName: string): Promise<void> {\n const entity = await this.repo.findOne({\n where: {\n name: roleName\n },\n select: {\n id: true\n }\n });\n if (!entity) {\n throw new NotFoundException(`Entity #${roleName} not found`);\n }\n }\n\n // OK\n async createRolesIfNotExists(roles: CreateRoleMetadataDto[]) {\n for (let id = 0; id < roles.length; id++) {\n try {\n const roleObj = roles[id];\n const module = await this.resolveRoleModule(roleObj);\n // this.logger.log(`Resolving role: ${JSON.stringify(roleObj)}`);\n\n const existingRole = await this.repo.findOne({\n where: {\n name: roleObj.name,\n },\n relations: {\n module: true,\n },\n });\n\n // Create only if not existing already.\n if (!existingRole) {\n this.logger.debug(`Role ${roleObj.name} does not exist, hence creating`);\n\n let permissions = [];\n\n if (roleObj.permissions && roleObj.permissions.length > 0) {\n await Promise.all(\n roleObj.permissions.map(permission => this.preloadPermissionByName(permission.name)),\n );\n }\n\n // const role = this.repo.create({ ...roleObj, permissions });\n const role = this.repo.create({ ...roleObj, ...(module ? { module } : {}) });\n await this.repo.save(role);\n } else {\n if (module && existingRole.module?.id !== module.id) {\n existingRole.module = module;\n await this.repo.save(existingRole);\n }\n /*\n this.logger.debug(`Role ${roleObj.name} already exists`);\n const existingPermissions = existingRole.permissions.map(permission => permission.name);\n const newPermissions = roleObj.permissions.map(permission => permission.name);\n const permissionsToAdd = newPermissions.filter(permission => !existingPermissions.includes(permission));\n const permissionsToRemove = existingPermissions.filter(permission => !newPermissions.includes(permission));\n this.logger.debug(`Permissions to add: ${JSON.stringify(permissionsToAdd)}`);\n if (permissionsToAdd.length > 0) {\n await this.addPermissionsToRole(roleObj.name, permissionsToAdd);\n }\n this.logger.debug(`Permissions to remove: ${JSON.stringify(permissionsToRemove)}`);\n if (permissionsToRemove.length > 0) {\n await this.removePermissionsFromRole(roleObj.name, permissionsToRemove);\n }\n */\n }\n } catch (error: any) {\n this.logger.error(error);\n }\n }\n }\n\n private async resolveRoleModule(roleObj: CreateRoleMetadataDto): Promise<ModuleMetadata | null> {\n if (roleObj.moduleId) {\n return await this.entityManager.getRepository(ModuleMetadata).findOne({\n where: { id: roleObj.moduleId },\n });\n }\n\n if (roleObj.moduleUserKey) {\n return await this.entityManager.getRepository(ModuleMetadata).findOne({\n where: { name: roleObj.moduleUserKey },\n });\n }\n\n return null;\n }\n\n async addAllPermissionsToRole(roleName: string): Promise<RoleMetadata> {\n return await this._addPermissionsToRole(roleName, null);\n }\n\n async addPermissionsToRole(roleName: string, permissionNames: string[]): Promise<RoleMetadata> {\n return await this._addPermissionsToRole(roleName, permissionNames);\n }\n\n async addPermissionToRole(roleName: string, permissionName: string[]) {\n return await this._addPermissionsToRole(roleName, permissionName);\n }\n\n private async _addPermissionsToRole(roleName: string, permissionNames: string[]): Promise<RoleMetadata> {\n const role = await this.repo.findOne({\n where: { name: roleName },\n select: {\n id: true,\n name: true,\n }\n });\n if (!role) {\n throw new Error(`Role '${roleName}' not found.`);\n }\n\n const joinInfo = this.getRolePermissionJoinInfo();\n const targetPermissions = await this.loadTargetPermissions(permissionNames);\n\n if (!permissionNames || permissionNames.length === 0) {\n await this.entityManager\n .createQueryBuilder()\n .delete()\n .from(joinInfo.tableName)\n .where(`${joinInfo.roleIdColumn} = :roleId`, { roleId: role.id })\n .execute();\n\n await this.insertRolePermissionMappings(role.id, targetPermissions.map((permission) => permission.id), joinInfo);\n }\n else {\n const existingRows = await this.entityManager\n .createQueryBuilder()\n .select(joinInfo.permissionIdColumn, 'permissionId')\n .from(joinInfo.tableName, 'role_permission')\n .where(`${joinInfo.roleIdColumn} = :roleId`, { roleId: role.id })\n .getRawMany();\n\n const existingPermissionIds = new Set(existingRows.map((row) => Number(row.permissionId)));\n const missingPermissionIds = targetPermissions\n .map((permission) => permission.id)\n .filter((permissionId) => !existingPermissionIds.has(permissionId));\n\n if (missingPermissionIds.length > 0) {\n await this.insertRolePermissionMappings(role.id, missingPermissionIds, joinInfo);\n }\n }\n\n return await this.findRoleByName(roleName);\n }\n\n async removePermissionsFromRole(roleName: string, permissionNames: string[]): Promise<RoleMetadata> {\n\n // load the role with the respective permissions.\n const role = await this.repo.findOne({\n where: {\n name: roleName\n },\n relations: {\n permissions: true\n }\n });\n\n if (!role) {\n throw new Error(ERROR_MESSAGES.ROLE_NOT_FOUND(roleName));\n }\n\n // modify the permissions array.\n role.permissions = role.permissions.filter(permission => !permissionNames.includes(permission.name));\n\n return await this.repo.save(role);\n }\n\n private async preloadPermissionByName(name: string): Promise<PermissionMetadata> {\n const existingPermission = await this.permissionRepository.findOne({\n where: { name },\n });\n if (!existingPermission) {\n throw new NotFoundException(ERROR_MESSAGES.PERMISSION_NOT_EXIST(name));\n }\n return existingPermission;\n }\n\n private async loadTargetPermissions(permissionNames: string[] | null): Promise<PermissionMetadata[]> {\n if (permissionNames && permissionNames.length !== 0) {\n const uniquePermissionNames = [...new Set(permissionNames)];\n const permissions = await this.permissionRepository.find({ where: { name: In(uniquePermissionNames) } });\n if (permissions.length !== uniquePermissionNames.length) {\n throw new Error(`One or more permissions not found.`);\n }\n return permissions;\n }\n\n const permissions = await this.permissionRepository.find();\n if (permissions.length === 0) {\n throw new Error(`No permissions configured in the system. Did you forget to run the PermissionSeederService?`);\n }\n return permissions;\n }\n\n private getRolePermissionJoinInfo(): { tableName: string; roleIdColumn: string; permissionIdColumn: string } {\n const relation = this.repo.metadata.relations.find((candidate) => candidate.propertyName === 'permissions');\n if (!relation?.junctionEntityMetadata) {\n throw new Error('Role-permission join table metadata not found.');\n }\n\n const roleIdColumn = relation.joinColumns[0]?.databaseName;\n const permissionIdColumn = relation.inverseJoinColumns[0]?.databaseName;\n if (!roleIdColumn || !permissionIdColumn) {\n throw new Error('Role-permission join table column metadata not found.');\n }\n\n return {\n tableName: relation.junctionEntityMetadata.tableName,\n roleIdColumn,\n permissionIdColumn,\n };\n }\n\n private async insertRolePermissionMappings(\n roleId: number,\n permissionIds: number[],\n joinInfo: { tableName: string; roleIdColumn: string; permissionIdColumn: string },\n ): Promise<void> {\n for (let index = 0; index < permissionIds.length; index += this.permissionAssignmentBatchSize) {\n const batch = permissionIds.slice(index, index + this.permissionAssignmentBatchSize);\n await this.entityManager\n .createQueryBuilder()\n .insert()\n .into(joinInfo.tableName)\n .values(\n batch.map((permissionId) => ({\n [joinInfo.roleIdColumn]: roleId,\n [joinInfo.permissionIdColumn]: permissionId,\n })),\n )\n .execute();\n }\n }\n\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"role-metadata.service.js","sourceRoot":"","sources":["../../src/services/role-metadata.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger, NotFoundException } from '@nestjs/common';\nimport { ModuleRef } from \"@nestjs/core\";\nimport { InjectEntityManager } from '@nestjs/typeorm';\nimport { CRUDService } from 'src/services/crud.service';\nimport { EntityManager, In } from 'typeorm';\n\nimport { ERROR_MESSAGES } from 'src/constants/error-messages';\nimport { PermissionMetadataRepository } from 'src/repository/permission-metadata.repository';\nimport { RoleMetadataRepository } from 'src/repository/role-metadata.repository';\nimport { CreateRoleMetadataDto } from '../dtos/create-role-metadata.dto';\nimport { ModuleMetadata } from '../entities/module-metadata.entity';\nimport { PermissionMetadata } from '../entities/permission-metadata.entity';\nimport { RoleMetadata } from '../entities/role-metadata.entity';\n\n@Injectable()\nexport class RoleMetadataService extends CRUDService<RoleMetadata> {\n private readonly logger = new Logger(RoleMetadataService.name);\n private readonly permissionAssignmentBatchSize = 500;\n\n constructor(\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n // @InjectRepository(RoleMetadata, 'default')\n // readonly repo: Repository<RoleMetadata>,\n readonly repo: RoleMetadataRepository,\n // @InjectRepository(PermissionMetadata)\n // private readonly permissionRepository: Repository<PermissionMetadata>,\n readonly permissionRepository: PermissionMetadataRepository,\n readonly moduleRef: ModuleRef\n\n ) {\n super(entityManager, repo, 'roleMetadata', 'solid-core', moduleRef);\n }\n\n async findRoleByName(roleName: string) {\n const entity = await this.repo.findOne({\n where: {\n name: roleName\n },\n relations: {\n permissions: true\n }\n });\n if (!entity) {\n throw new NotFoundException(`Entity #${roleName} not found`);\n }\n return entity;\n }\n\n async assertRoleExistsByName(roleName: string): Promise<void> {\n const entity = await this.repo.findOne({\n where: {\n name: roleName\n },\n select: {\n id: true\n }\n });\n if (!entity) {\n throw new NotFoundException(`Entity #${roleName} not found`);\n }\n }\n\n // OK\n async createRolesIfNotExists(roles: CreateRoleMetadataDto[]) {\n for (let id = 0; id < roles.length; id++) {\n try {\n const roleObj = roles[id];\n const module = await this.resolveRoleModule(roleObj);\n // this.logger.log(`Resolving role: ${JSON.stringify(roleObj)}`);\n\n const existingRole = await this.repo.findOne({\n where: {\n name: roleObj.name,\n },\n relations: {\n module: true,\n },\n });\n\n // Create only if not existing already.\n if (!existingRole) {\n this.logger.debug(`Role ${roleObj.name} does not exist, hence creating`);\n\n let permissions = [];\n\n if (roleObj.permissions && roleObj.permissions.length > 0) {\n await Promise.all(\n roleObj.permissions.map(permission => this.preloadPermissionByName(permission.name)),\n );\n }\n\n // const role = this.repo.create({ ...roleObj, permissions });\n const role = this.repo.create({ ...roleObj, ...(module ? { module } : {}) });\n await this.repo.save(role);\n } else {\n if (module && existingRole.module?.id !== module.id) {\n existingRole.module = module;\n await this.repo.save(existingRole);\n }\n /*\n this.logger.debug(`Role ${roleObj.name} already exists`);\n const existingPermissions = existingRole.permissions.map(permission => permission.name);\n const newPermissions = roleObj.permissions.map(permission => permission.name);\n const permissionsToAdd = newPermissions.filter(permission => !existingPermissions.includes(permission));\n const permissionsToRemove = existingPermissions.filter(permission => !newPermissions.includes(permission));\n this.logger.debug(`Permissions to add: ${JSON.stringify(permissionsToAdd)}`);\n if (permissionsToAdd.length > 0) {\n await this.addPermissionsToRole(roleObj.name, permissionsToAdd);\n }\n this.logger.debug(`Permissions to remove: ${JSON.stringify(permissionsToRemove)}`);\n if (permissionsToRemove.length > 0) {\n await this.removePermissionsFromRole(roleObj.name, permissionsToRemove);\n }\n */\n }\n } catch (error: any) {\n this.logger.error(error);\n }\n }\n }\n\n private async resolveRoleModule(roleObj: CreateRoleMetadataDto): Promise<ModuleMetadata | null> {\n if (roleObj.moduleId) {\n return await this.entityManager.getRepository(ModuleMetadata).findOne({\n where: { id: roleObj.moduleId },\n });\n }\n\n if (roleObj.moduleUserKey) {\n return await this.entityManager.getRepository(ModuleMetadata).findOne({\n where: { name: roleObj.moduleUserKey },\n });\n }\n\n return null;\n }\n\n async addAllPermissionsToRole(roleName: string): Promise<RoleMetadata> {\n return await this._addPermissionsToRole(roleName, null);\n }\n\n async addAllPermissionsToRoleExceptPrefixes(roleName: string, excludedPermissionPrefixes: string[]): Promise<RoleMetadata> {\n return await this._addPermissionsToRole(roleName, null, excludedPermissionPrefixes);\n }\n\n async addPermissionsToRole(roleName: string, permissionNames: string[]): Promise<RoleMetadata> {\n return await this._addPermissionsToRole(roleName, permissionNames);\n }\n\n async addPermissionToRole(roleName: string, permissionName: string[]) {\n return await this._addPermissionsToRole(roleName, permissionName);\n }\n\n private async _addPermissionsToRole(\n roleName: string,\n permissionNames: string[],\n excludedPermissionPrefixes: string[] = [],\n ): Promise<RoleMetadata> {\n const role = await this.repo.findOne({\n where: { name: roleName },\n select: {\n id: true,\n name: true,\n }\n });\n if (!role) {\n throw new Error(`Role '${roleName}' not found.`);\n }\n\n const joinInfo = this.getRolePermissionJoinInfo();\n const targetPermissions = await this.loadTargetPermissions(permissionNames, excludedPermissionPrefixes);\n\n if (!permissionNames || permissionNames.length === 0) {\n await this.entityManager\n .createQueryBuilder()\n .delete()\n .from(joinInfo.tableName)\n .where(`${joinInfo.roleIdColumn} = :roleId`, { roleId: role.id })\n .execute();\n\n await this.insertRolePermissionMappings(role.id, targetPermissions.map((permission) => permission.id), joinInfo);\n }\n else {\n const existingRows = await this.entityManager\n .createQueryBuilder()\n .select(joinInfo.permissionIdColumn, 'permissionId')\n .from(joinInfo.tableName, 'role_permission')\n .where(`${joinInfo.roleIdColumn} = :roleId`, { roleId: role.id })\n .getRawMany();\n\n const existingPermissionIds = new Set(existingRows.map((row) => Number(row.permissionId)));\n const missingPermissionIds = targetPermissions\n .map((permission) => permission.id)\n .filter((permissionId) => !existingPermissionIds.has(permissionId));\n\n if (missingPermissionIds.length > 0) {\n await this.insertRolePermissionMappings(role.id, missingPermissionIds, joinInfo);\n }\n }\n\n return await this.findRoleByName(roleName);\n }\n\n async removePermissionsFromRole(roleName: string, permissionNames: string[]): Promise<RoleMetadata> {\n\n // load the role with the respective permissions.\n const role = await this.repo.findOne({\n where: {\n name: roleName\n },\n relations: {\n permissions: true\n }\n });\n\n if (!role) {\n throw new Error(ERROR_MESSAGES.ROLE_NOT_FOUND(roleName));\n }\n\n // modify the permissions array.\n role.permissions = role.permissions.filter(permission => !permissionNames.includes(permission.name));\n\n return await this.repo.save(role);\n }\n\n private async preloadPermissionByName(name: string): Promise<PermissionMetadata> {\n const existingPermission = await this.permissionRepository.findOne({\n where: { name },\n });\n if (!existingPermission) {\n throw new NotFoundException(ERROR_MESSAGES.PERMISSION_NOT_EXIST(name));\n }\n return existingPermission;\n }\n\n private async loadTargetPermissions(permissionNames: string[] | null, excludedPermissionPrefixes: string[] = []): Promise<PermissionMetadata[]> {\n if (permissionNames && permissionNames.length !== 0) {\n const uniquePermissionNames = [...new Set(permissionNames)];\n const permissions = await this.permissionRepository.find({ where: { name: In(uniquePermissionNames) } });\n if (permissions.length !== uniquePermissionNames.length) {\n throw new Error(`One or more permissions not found.`);\n }\n return permissions.filter((permission) =>\n !excludedPermissionPrefixes.some((prefix) => permission.name.startsWith(prefix)),\n );\n }\n\n const permissions = await this.permissionRepository.find();\n if (permissions.length === 0) {\n throw new Error(`No permissions configured in the system. Did you forget to run the PermissionSeederService?`);\n }\n return permissions.filter((permission) =>\n !excludedPermissionPrefixes.some((prefix) => permission.name.startsWith(prefix)),\n );\n }\n\n private getRolePermissionJoinInfo(): { tableName: string; roleIdColumn: string; permissionIdColumn: string } {\n const relation = this.repo.metadata.relations.find((candidate) => candidate.propertyName === 'permissions');\n if (!relation?.junctionEntityMetadata) {\n throw new Error('Role-permission join table metadata not found.');\n }\n\n const roleIdColumn = relation.joinColumns[0]?.databaseName;\n const permissionIdColumn = relation.inverseJoinColumns[0]?.databaseName;\n if (!roleIdColumn || !permissionIdColumn) {\n throw new Error('Role-permission join table column metadata not found.');\n }\n\n return {\n tableName: relation.junctionEntityMetadata.tableName,\n roleIdColumn,\n permissionIdColumn,\n };\n }\n\n private async insertRolePermissionMappings(\n roleId: number,\n permissionIds: number[],\n joinInfo: { tableName: string; roleIdColumn: string; permissionIdColumn: string },\n ): Promise<void> {\n for (let index = 0; index < permissionIds.length; index += this.permissionAssignmentBatchSize) {\n const batch = permissionIds.slice(index, index + this.permissionAssignmentBatchSize);\n await this.entityManager\n .createQueryBuilder()\n .insert()\n .into(joinInfo.tableName)\n .values(\n batch.map((permissionId) => ({\n [joinInfo.roleIdColumn]: roleId,\n [joinInfo.permissionIdColumn]: permissionId,\n })),\n )\n .execute();\n }\n }\n\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid-core.module.d.ts","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC;AAChB,OAAO,EAAU,kBAAkB,EAAU,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"solid-core.module.d.ts","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC;AAChB,OAAO,EAAU,kBAAkB,EAAU,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAiZhF,qBA6fa,eAAgB,YAAW,UAAU;IAChD,SAAS,CAAC,QAAQ,EAAE,kBAAkB;CAQvC"}
|
|
@@ -81,6 +81,7 @@ const dashboard_runtime_service_1 = require("./services/dashboard-runtime.servic
|
|
|
81
81
|
const list_of_values_service_1 = require("./services/list-of-values.service");
|
|
82
82
|
const media_storage_provider_metadata_service_1 = require("./services/media-storage-provider-metadata.service");
|
|
83
83
|
const media_service_1 = require("./services/media.service");
|
|
84
|
+
const media_download_url_service_1 = require("./services/media-download-url.service");
|
|
84
85
|
const model_metadata_service_1 = require("./services/model-metadata.service");
|
|
85
86
|
const removed_field_migration_service_1 = require("./services/removed-field-migration.service");
|
|
86
87
|
const module_metadata_explorer_service_1 = require("./services/module-metadata-explorer.service");
|
|
@@ -91,6 +92,7 @@ const serve_static_1 = require("@nestjs/serve-static");
|
|
|
91
92
|
const path_1 = require("path");
|
|
92
93
|
const refresh_model_command_1 = require("./commands/refresh-model.command");
|
|
93
94
|
const media_controller_1 = require("./controllers/media.controller");
|
|
95
|
+
const media_file_types_1 = require("./constants/media-file-types");
|
|
94
96
|
const refresh_module_command_1 = require("./commands/refresh-module.command");
|
|
95
97
|
const model_metadata_subscriber_1 = require("./subscribers/model-metadata.subscriber");
|
|
96
98
|
const view_metadata_controller_1 = require("./controllers/view-metadata.controller");
|
|
@@ -133,6 +135,7 @@ const mq_message_entity_1 = require("./entities/mq-message.entity");
|
|
|
133
135
|
const sms_template_entity_1 = require("./entities/sms-template.entity");
|
|
134
136
|
const access_token_guard_1 = require("./guards/access-token.guard");
|
|
135
137
|
const api_key_guard_1 = require("./guards/api-key.guard");
|
|
138
|
+
const media_signed_url_guard_1 = require("./guards/media-signed-url.guard");
|
|
136
139
|
const authentication_guard_1 = require("./guards/authentication.guard");
|
|
137
140
|
const permissions_guard_1 = require("./guards/permissions.guard");
|
|
138
141
|
const solid_registry_1 = require("./helpers/solid-registry");
|
|
@@ -460,8 +463,13 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
|
|
|
460
463
|
rootPath: (0, path_1.join)(process.cwd(), "media-files-storage"),
|
|
461
464
|
serveRoot: "/media-files-storage",
|
|
462
465
|
serveStaticOptions: {
|
|
463
|
-
setHeaders: (res) => {
|
|
466
|
+
setHeaders: (res, path) => {
|
|
464
467
|
res.setHeader("Cross-Origin-Resource-Policy", "cross-origin");
|
|
468
|
+
res.setHeader("X-Content-Type-Options", "nosniff");
|
|
469
|
+
if (!media_file_types_1.INLINE_SAFE_EXTENSIONS.has((0, path_1.extname)(path).toLowerCase().replace(/^\./, ''))) {
|
|
470
|
+
res.setHeader("Content-Type", "application/octet-stream");
|
|
471
|
+
res.setHeader("Content-Disposition", "attachment");
|
|
472
|
+
}
|
|
465
473
|
},
|
|
466
474
|
},
|
|
467
475
|
}),
|
|
@@ -580,6 +588,7 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
|
|
|
580
588
|
schematic_service_1.SchematicService,
|
|
581
589
|
media_storage_provider_metadata_service_1.MediaStorageProviderMetadataService,
|
|
582
590
|
media_service_1.MediaService,
|
|
591
|
+
media_download_url_service_1.MediaDownloadUrlService,
|
|
583
592
|
module_metadata_seeder_service_1.ModuleMetadataSeederService,
|
|
584
593
|
module_test_data_service_1.ModuleTestDataService,
|
|
585
594
|
list_of_values_service_1.ListOfValuesService,
|
|
@@ -662,6 +671,7 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
|
|
|
662
671
|
soft_delete_aware_event_subscriber_1.SoftDeleteAwareEventSubscriber,
|
|
663
672
|
access_token_guard_1.AccessTokenGuard,
|
|
664
673
|
api_key_guard_1.ApiKeyGuard,
|
|
674
|
+
media_signed_url_guard_1.MediaSignedUrlGuard,
|
|
665
675
|
api_key_service_1.ApiKeyService,
|
|
666
676
|
active_session_storage_service_1.ActiveSessionStorageService,
|
|
667
677
|
authentication_service_1.AuthenticationService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid-core.module.js","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"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","sourcesContent":["import \"multer\";\nimport { Global, MiddlewareConsumer, Module, NestModule } from \"@nestjs/common\";\nimport * as express from \"express\";\nimport { ConfigModule, ConfigService } from \"@nestjs/config\";\nimport {\n APP_FILTER,\n APP_GUARD,\n APP_INTERCEPTOR,\n DiscoveryService,\n MetadataScanner,\n Reflector,\n} from \"@nestjs/core\";\nimport { MulterModule } from \"@nestjs/platform-express\";\nimport { TypeOrmModule } from \"@nestjs/typeorm\";\nimport { RemoveFieldsCommand } from \"./commands/remove-fields.command\";\nimport { MigrateRemovedFieldsCommand } from \"./commands/migrate-removed-fields.command\";\nimport { FieldMetadataController } from \"./controllers/field-metadata.controller\";\nimport { DashboardController } from \"./controllers/dashboard.controller\";\nimport { MediaStorageProviderMetadataController } from \"./controllers/media-storage-provider-metadata.controller\";\nimport { ModelMetadataController } from \"./controllers/model-metadata.controller\";\nimport { ModuleMetadataExplorerController } from \"./controllers/module-metadata-explorer.controller\";\nimport { ModuleMetadataController } from \"./controllers/module-metadata.controller\";\nimport { ModulePackageController } from \"./controllers/module-package.controller\";\nimport { DatasourceManagementController } from \"./controllers/datasource-management.controller\";\nimport { DatasourceIntrospectionController } from \"./controllers/datasource-introspection.controller\";\nimport { TestController } from \"./controllers/test.controller\";\nimport { FieldMetadata } from \"./entities/field-metadata.entity\";\nimport { ListOfValues } from \"./entities/list-of-values.entity\";\nimport { MediaStorageProviderMetadata } from \"./entities/media-storage-provider-metadata.entity\";\nimport { Media } from \"./entities/media.entity\";\nimport { ModelMetadata } from \"./entities/model-metadata.entity\";\nimport { ModuleMetadata } from \"./entities/module-metadata.entity\";\nimport { CommandService } from \"./helpers/command.service\";\nimport { SchematicService } from \"./helpers/schematic.service\";\nimport { ListOfValuesSelectionProvider } from \"./services/selection-providers/list-of-values-selection-providers.service\";\nimport { MqDashboardMessageBrokerVariableOptionsProvider } from \"./services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service\";\nimport { MqDashboardQueueNameVariableOptionsProvider } from \"./services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service\";\nimport { PseudoForeignKeySelectionProvider } from \"./services/selection-providers/pseudo-foreign-key-selection-provider.service\";\nimport { ModuleMetadataSeederService } from \"./seeders/module-metadata-seeder.service\";\nimport { ModuleTestDataService } from \"./seeders/module-test-data.service\";\nimport { CrudHelperService } from \"./services/crud-helper.service\";\nimport { DatasourceManagementService } from \"./services/datasource-management.service\";\nimport { DatasourceIntrospectionService } from \"./services/datasource-introspection.service\";\nimport { FieldMetadataService } from \"./services/field-metadata.service\";\nimport { DashboardRuntimeService } from \"./services/dashboard-runtime.service\";\nimport { ListOfValuesService } from \"./services/list-of-values.service\";\n// import { MediaStorageProviderMetadataSeederService } from './services/media-storage-provider-metadata-seeder.service';\nimport { MediaStorageProviderMetadataService } from \"./services/media-storage-provider-metadata.service\";\nimport { MediaService } from \"./services/media.service\";\nimport { ModelMetadataService } from \"./services/model-metadata.service\";\nimport { RemovedFieldMigrationService } from \"./services/removed-field-migration.service\";\nimport { ModuleMetadataExplorerService } from \"./services/module-metadata-explorer.service\";\nimport { ModuleMetadataService } from \"./services/module-metadata.service\";\nimport { ModulePackageService } from \"./services/module-package.service\";\nimport { SolidIntrospectService } from \"./services/solid-introspect.service\";\n// import { ListOfComputedFieldProvider } from './providers/list-of-computed-field-provider.service';\nimport { ServeStaticModule } from \"@nestjs/serve-static\";\nimport { join } from \"path\";\nimport { RefreshModelCommand } from \"./commands/refresh-model.command\";\nimport { MediaController } from \"./controllers/media.controller\";\n\nimport { RefreshModuleCommand } from \"./commands/refresh-module.command\";\nimport { ModelMetadataSubscriber } from \"./subscribers/model-metadata.subscriber\";\n\nimport { ViewMetadataController } from \"./controllers/view-metadata.controller\";\nimport { ViewMetadata } from \"./entities/view-metadata.entity\";\nimport { ViewMetadataService } from \"./services/view-metadata.service\";\n\nimport { ActionMetadataController } from \"./controllers/action-metadata.controller\";\nimport { ActionMetadata } from \"./entities/action-metadata.entity\";\nimport { ActionMetadataService } from \"./services/action-metadata.service\";\n\nimport { FacebookAuthenticationController } from \"./controllers/facebook-authentication.controller\";\nimport { MicrosoftAuthenticationController } from \"./controllers/microsoft-authentication.controller\";\nimport { MicrosoftActiveDirectoryAuthenticationController } from \"./controllers/microsoft-active-directory-authentication.controller\";\nimport { FacebookOAuthStrategy } from \"./passport-strategies/facebook-oauth.strategy\";\nimport { MicrosoftOAuthStrategy } from \"./passport-strategies/microsoft-oauth.strategy\";\nimport { MicrosoftActiveDirectoryOAuthStrategy } from \"./passport-strategies/microsoft-active-directory-oauth.strategy\";\n\nimport { GupshupOtpWhatsappService } from \"./services/whatsapp/GupshupOtpWhatsappService\";\nimport { MetaCloudWhatsappService } from \"./services/whatsapp/MetaCloudWhatsappService\";\nimport { GupshupWebhookController } from \"./controllers/gupshup-webhook.controller\";\nimport { MetaCloudWhatsappWebhookController } from \"./controllers/meta-cloud-whatsapp-webhook.controller\";\n\nimport { HttpModule } from \"@nestjs/axios\";\nimport { JwtModule } from \"@nestjs/jwt\";\nimport { SeedCommand } from \"./commands/seed.command\";\nimport { TestDataCommand } from \"./commands/test-data.command\";\nimport { TestRunCommand } from \"./commands/run-tests.command\";\nimport { TestCommand } from \"./commands/test.command\";\nimport { AuthenticationController } from \"./controllers/authentication.controller\";\nimport { EmailTemplateController } from \"./controllers/email-template.controller\";\nimport { GoogleAuthenticationController } from \"./controllers/google-authentication.controller\";\nimport { MenuItemMetadataController } from \"./controllers/menu-item-metadata.controller\";\nimport { MqMessageQueueController } from \"./controllers/mq-message-queue.controller\";\nimport { MqMessageController } from \"./controllers/mq-message.controller\";\nimport { OTPAuthenticationController } from \"./controllers/otp-authentication.controller\";\nimport { ServiceController } from \"./controllers/service.controller\";\nimport { SmsTemplateController } from \"./controllers/sms-template.controller\";\nimport { TestQueueController } from \"./controllers/test-queue.controller\";\nimport { EmailAttachment } from \"./entities/email-attachment.entity\";\nimport { EmailTemplate } from \"./entities/email-template.entity\";\nimport { MenuItemMetadata } from \"./entities/menu-item-metadata.entity\";\nimport { MqMessageQueue } from \"./entities/mq-message-queue.entity\";\nimport { MqMessage } from \"./entities/mq-message.entity\";\nimport { SmsTemplate } from \"./entities/sms-template.entity\";\nimport { AccessTokenGuard } from \"./guards/access-token.guard\";\nimport { ApiKeyGuard } from \"./guards/api-key.guard\";\nimport { AuthenticationGuard } from \"./guards/authentication.guard\";\nimport { PermissionsGuard } from \"./guards/permissions.guard\";\nimport { SolidRegistry } from \"./helpers/solid-registry\";\nimport { LoggingInterceptor } from \"./interceptors/logging.interceptor\";\nimport { ApiEmailQueuePublisher } from \"./jobs/rabbitmq/api-email-publisher.service\";\nimport { ApiEmailQueueSubscriber } from \"./jobs/rabbitmq/api-email-subscriber.service\";\nimport { TestQueuePublisherDatabase } from \"./jobs/database/test-queue-publisher-database.service\";\nimport { TestQueueSubscriberDatabase } from \"./jobs/database/test-queue-subscriber-database.service\";\nimport { TestQueuePublisherRedis } from \"./jobs/redis/test-queue-publisher-redis.service\";\nimport { TestQueueSubscriberRedis } from \"./jobs/redis/test-queue-subscriber-redis.service\";\nimport { Msg91WhatsappQueuePublisher } from \"./jobs/rabbitmq/msg91-whatsapp-publisher.service\";\nimport { Msg91WhatsappQueueSubscriber } from \"./jobs/rabbitmq/msg91-whatsapp-subscriber.service\";\nimport { Msg91OTPQueuePublisher } from \"./jobs/rabbitmq/msg91-otp-publisher.service\";\nimport { Msg91OTPQueueSubscriber } from \"./jobs/rabbitmq/msg91-otp-subscriber.service\";\nimport { Msg91SmsQueuePublisher } from \"./jobs/rabbitmq/msg91-sms-publisher.service\";\nimport { Msg91SmsQueueSubscriber } from \"./jobs/rabbitmq/msg91-sms-subscriber.service\";\nimport { SmtpEmailQueuePublisherRabbitmq } from \"./jobs/rabbitmq/smtp-email-publisher.service\";\nimport { SmtpEmailQueueSubscriberRabbitmq } from \"./jobs/rabbitmq/smtp-email-subscriber.service\";\nimport { TestQueuePublisher } from \"./jobs/rabbitmq/test-queue-publisher.service\";\nimport { TestQueueSubscriber } from \"./jobs/rabbitmq/test-queue-subscriber.service\";\nimport { ChatterQueuePublisherRabbitmq } from \"./jobs/rabbitmq/chatter-queue-publisher.service\";\nimport { ChatterQueueSubscriberRabbitmq } from \"./jobs/rabbitmq/chatter-queue-subscriber.service\";\nimport { ChatterQueuePublisherDatabase } from \"./jobs/database/chatter-queue-publisher-database.service\";\nimport { ChatterQueueSubscriberDatabase } from \"./jobs/database/chatter-queue-subscriber-database.service\";\nimport { ChatterMentionNotificationEmailQueueHandler } from \"./jobs/chatter-mention-notification-email-queue-handler.service\";\nimport { ChatterMentionNotificationEmailQueuePublisherDatabase } from \"./jobs/database/chatter-mention-notification-email-publisher-database.service\";\nimport { ChatterMentionNotificationEmailQueueSubscriberDatabase } from \"./jobs/database/chatter-mention-notification-email-subscriber-database.service\";\nimport { ChatterMentionNotificationEmailQueuePublisherRabbitmq } from \"./jobs/rabbitmq/chatter-mention-notification-email-publisher.service\";\nimport { ChatterMentionNotificationEmailQueueSubscriberRabbitmq } from \"./jobs/rabbitmq/chatter-mention-notification-email-subscriber.service\";\nimport { ApiEmailQueuePublisherRedis } from \"./jobs/redis/api-email-publisher-redis.service\";\nimport { ApiEmailQueueSubscriberRedis } from \"./jobs/redis/api-email-subscriber-redis.service\";\nimport { ChatterQueuePublisherRedis } from \"./jobs/redis/chatter-queue-publisher-redis.service\";\nimport { ChatterQueueSubscriberRedis } from \"./jobs/redis/chatter-queue-subscriber-redis.service\";\nimport { ChatterMentionNotificationEmailQueuePublisherRedis } from \"./jobs/redis/chatter-mention-notification-email-publisher-redis.service\";\nimport { ChatterMentionNotificationEmailQueueSubscriberRedis } from \"./jobs/redis/chatter-mention-notification-email-subscriber-redis.service\";\nimport { ComputedFieldEvaluationPublisherRedis } from \"./jobs/redis/computed-field-evaluation-publisher-redis.service\";\nimport { ComputedFieldEvaluationSubscriberRedis } from \"./jobs/redis/computed-field-evaluation-subscriber-redis.service\";\nimport { GenerateCodePublisherRedis } from \"./jobs/redis/generate-code-publisher-redis.service\";\nimport { GenerateCodeSubscriberRedis } from \"./jobs/redis/generate-code-subscriber-redis.service\";\nimport { Msg91OTPQueuePublisherRedis } from \"./jobs/redis/msg91-otp-publisher-redis.service\";\nimport { Msg91OTPQueueSubscriberRedis } from \"./jobs/redis/msg91-otp-subscriber-redis.service\";\nimport { Msg91SmsQueuePublisherRedis } from \"./jobs/redis/msg91-sms-publisher-redis.service\";\nimport { Msg91SmsQueueSubscriberRedis } from \"./jobs/redis/msg91-sms-subscriber-redis.service\";\nimport { Msg91WhatsappQueuePublisherRedis } from \"./jobs/redis/msg91-whatsapp-publisher-redis.service\";\nimport { Msg91WhatsappQueueSubscriberRedis } from \"./jobs/redis/msg91-whatsapp-subscriber-redis.service\";\nimport { SmtpEmailQueuePublisherRedis } from \"./jobs/redis/smtp-email-publisher-redis.service\";\nimport { SmtpEmailQueueSubscriberRedis } from \"./jobs/redis/smtp-email-subscriber-redis.service\";\nimport { Three60WhatsappQueuePublisherRedis } from \"./jobs/redis/three60-whatsapp-publisher-redis.service\";\nimport { Three60WhatsappQueueSubscriberRedis } from \"./jobs/redis/three60-whatsapp-subscriber-redis.service\";\nimport { TwilioSmsQueuePublisherRedis } from \"./jobs/redis/twilio-sms-publisher-redis.service\";\nimport { TwilioSmsQueueSubscriberRedis } from \"./jobs/redis/twilio-sms-subscriber-redis.service\";\nimport { UserRegistrationListener } from \"./listeners/user-registration.listener\";\nimport { GoogleOauthStrategy } from \"./passport-strategies/google-oauth.strategy\";\nimport { ApiKeyService } from \"./services/api-key.service\";\nimport { ActiveSessionStorageService } from \"./services/active-session-storage.service\";\nimport { AuthenticationService } from \"./services/authentication.service\";\nimport { BcryptService } from \"./services/bcrypt.service\";\nimport { UuidExternalIdEntityComputedFieldProvider } from \"./services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service\";\nimport { UuidExternalIdComputedFieldProvider } from \"./services/computed-fields/uuid-external-id-computed-field-provider.service\";\nimport { EmailTemplateService } from \"./services/email-template.service\";\nimport {\n DiskFileService,\n S3FileService,\n FileServiceFactory,\n DiskStoragePathBuilder,\n S3StoragePathBuilder,\n StoragePathBuilderFactory,\n} from \"./services/file\";\nimport { HashingService } from \"./services/hashing.service\";\nimport { ElasticEmailService } from \"./services/mail/elastic-email.service\";\nimport { SMTPEMailService } from \"./services/mail/smtp-email.service\";\nimport { MenuItemMetadataService } from \"./services/menu-item-metadata.service\";\nimport { MqMessageQueueService } from \"./services/mq-message-queue.service\";\nimport { MqMessageService } from \"./services/mq-message.service\";\nimport { PdfService } from \"./services/pdf.service\";\nimport { RefreshTokenIdsStorageService } from \"./services/refresh-token-ids-storage.service\";\nimport { SsoCodeStorageService } from \"./services/sso-code-storage.service\";\nimport { ListOfModelsSelectionProvider } from \"./services/selection-providers/list-of-models-selection-provider.service\";\nimport { TinyUrlService } from \"./services/short-url/tiny-url.service\";\nimport { SmsTemplateService } from \"./services/sms-template.service\";\nimport { Msg91OTPService } from \"./services/sms/Msg91OTPService\";\nimport { Msg91SMSService } from \"./services/sms/Msg91SMSService\";\n// import { UserService } from './services/user.service';\nimport { Msg91WhatsappService } from \"./services/whatsapp/Msg91WhatsappService\";\nimport { SoftDeleteAwareEventSubscriber } from \"./subscribers/soft-delete-aware-event.subscriber\";\n\nimport { PermissionMetadataController } from \"./controllers/permission-metadata.controller\";\nimport { PermissionMetadata } from \"./entities/permission-metadata.entity\";\nimport { PermissionMetadataService } from \"./services/permission-metadata.service\";\n\nimport { ScheduleModule } from \"@nestjs/schedule\";\nimport { ClsModule } from \"nestjs-cls\";\nimport { ChatterMessageDetailsController } from \"./controllers/chatter-message-details.controller\";\nimport { ChatterMessageController } from \"./controllers/chatter-message.controller\";\n\nimport { ExportTemplateController } from './controllers/export-template.controller';\nimport { ExportTransactionController } from './controllers/export-transaction.controller';\nimport { ImportTransactionErrorLogController } from './controllers/import-transaction-error-log.controller';\nimport { ImportTransactionController } from './controllers/import-transaction.controller';\nimport { ListOfValuesController } from './controllers/list-of-values.controller';\nimport { LocaleController } from './controllers/locale.controller';\nimport { RoleMetadataController } from './controllers/role-metadata.controller';\nimport { SavedFiltersController } from './controllers/saved-filters.controller';\nimport { ScheduledJobController } from './controllers/scheduled-job.controller';\nimport { AgentSessionController } from './controllers/agent-session.controller';\nimport { AgentEventController } from './controllers/agent-event.controller';\nimport { McpAuditLogController } from './controllers/mcp-audit-log.controller';\nimport { SecurityRuleController } from './controllers/security-rule.controller';\nimport { SettingController } from './controllers/setting.controller';\nimport { InfoController } from './controllers/info.controller';\nimport { InfoService } from './services/info.service';\nimport { UserActivityHistoryController } from './controllers/user-activity-history.controller';\nimport { UserViewMetadataController } from './controllers/user-view-metadata.controller';\nimport { UserController } from './controllers/user.controller';\nimport { ChatterMessageDetails } from './entities/chatter-message-details.entity';\nimport { ChatterMessage } from './entities/chatter-message.entity';\n\nimport { ExportTemplate } from './entities/export-template.entity';\nimport { ExportTransaction } from './entities/export-transaction.entity';\nimport { ImportTransactionErrorLog } from './entities/import-transaction-error-log.entity';\nimport { ImportTransaction } from './entities/import-transaction.entity';\nimport { Locale } from './entities/locale.entity';\nimport { RoleMetadata } from './entities/role-metadata.entity';\nimport { SavedFilters } from './entities/saved-filters.entity';\nimport { ScheduledJob } from './entities/scheduled-job.entity';\nimport { AgentSession } from './entities/agent-session.entity';\nimport { AgentEvent } from './entities/agent-event.entity';\nimport { McpAuditLog } from './entities/mcp-audit-log.entity';\nimport { SecurityRule } from './entities/security-rule.entity';\nimport { Setting } from './entities/setting.entity';\nimport { UserActivityHistory } from './entities/user-activity-history.entity';\nimport { UserViewMetadata } from './entities/user-view-metadata.entity';\nimport { UserApiKey } from './entities/user-api-key.entity';\nimport { User } from './entities/user.entity';\nimport { HttpExceptionFilter } from './filters/http-exception.filter';\nimport { ModelMetadataHelperService } from './helpers/model-metadata-helper.service';\nimport { ModuleMetadataHelperService } from './helpers/module-metadata-helper.service';\nimport { ApiEmailQueuePublisherDatabase } from './jobs/database/api-email-publisher-database.service';\nimport { ApiEmailQueueSubscriberDatabase } from './jobs/database/api-email-subscriber-database.service';\nimport { ComputedFieldEvaluationPublisherDatabase } from './jobs/database/computed-field-evaluation-publisher-database.service';\nimport { ComputedFieldEvaluationSubscriberDatabase } from './jobs/database/computed-field-evaluation-subscriber-database.service';\nimport { GenerateCodePublisherDatabase } from './jobs/database/generate-code-publisher-database.service';\nimport { GenerateCodeSubscriberDatabase } from './jobs/database/generate-code-subscriber-database.service';\nimport { OTPQueuePublisherDatabase } from './jobs/database/otp-publisher-database.service';\nimport { OTPQueueSubscriberDatabase } from './jobs/database/otp-subscriber-database.service';\nimport { Msg91SmsQueuePublisherDatabase } from './jobs/database/msg91-sms-publisher-database.service';\nimport { Msg91SmsQueueSubscriberDatabase } from './jobs/database/msg91-sms-subscriber-database.service';\nimport { SmtpEmailQueuePublisherDatabase } from './jobs/database/smtp-email-publisher-database.service';\nimport { SmtpEmailQueueSubscriberDatabase } from './jobs/database/smtp-email-subscriber-database.service';\n\nimport { TwilioSmsQueuePublisherDatabase } from \"./jobs/database/twilio-sms-publisher-database.service\";\nimport { TwilioSmsQueueSubscriberDatabase } from \"./jobs/database/twilio-sms-subscriber-database.service\";\n\n// import { ThrottlerModule } from '@nestjs/throttler';\nimport { MailFactory } from \"./factories/mail.factory\";\nimport { ErrorMapperService } from \"./helpers/error-mapper.service\";\nimport { SolidCoreErrorCodesProvider } from \"./helpers/solid-core-error-codes-provider.service\";\nimport { ComputedFieldEvaluationPublisherRabbitmq } from \"./jobs/rabbitmq/computed-field-evaluation-publisher.service\";\nimport { ComputedFieldEvaluationSubscriberRabbitmq } from \"./jobs/rabbitmq/computed-field-evaluation-subscriber.service\";\nimport { Msg91WhatsappQueuePublisherDatabase } from \"./jobs/database/msg91-whatsapp-publisher-database.service\";\nimport { Msg91WhatsappQueueSubscriberDatabase } from \"./jobs/database/msg91-whatsapp-subscriber-database.service\";\nimport { Three60WhatsappQueuePublisherDatabase } from \"./jobs/database/three60-whatsapp-publisher-database.service\";\nimport { Three60WhatsappQueueSubscriberDatabase } from \"./jobs/database/three60-whatsapp-subscriber-database.service\";\nimport { GenerateCodePublisherRabbitmq } from \"./jobs/rabbitmq/generate-code-publisher.service\";\nimport { GenerateCodeSubscriberRabbitmq } from \"./jobs/rabbitmq/generate-code-subscriber.service\";\nimport { Three60WhatsappQueuePublisher } from \"./jobs/rabbitmq/three60-whatsapp-publisher.service\";\nimport { Three60WhatsappQueueSubscriber } from \"./jobs/rabbitmq/three60-whatsapp-subscriber.service\";\nimport { TwilioSmsQueuePublisherRabbitmq } from \"./jobs/rabbitmq/twilio-sms-publisher.service\";\nimport { TwilioSmsQueueSubscriberRabbitmq } from \"./jobs/rabbitmq/twilio-sms-subscriber.service\";\nimport { ListOfValuesMapper } from \"./mappers/list-of-values-mapper\";\nimport { ActionMetadataRepository } from \"./repository/action-metadata.repository\";\nimport { ChatterMessageDetailsRepository } from \"./repository/chatter-message-details.repository\";\nimport { ChatterMessageRepository } from \"./repository/chatter-message.repository\";\n\nimport { EmailTemplateRepository } from './repository/email-template.repository';\nimport { ExportTemplateRepository } from './repository/export-template.repository';\nimport { ExportTransactionRepository } from './repository/export-transaction.repository';\nimport { FieldMetadataRepository } from './repository/field-metadata.repository';\nimport { ImportTransactionErrorLogRepository } from './repository/import-transaction-error-log.repository';\nimport { ImportTransactionRepository } from './repository/import-transaction.repository';\nimport { ListOfValuesRepository } from './repository/list-of-values.repository';\nimport { LocaleRepository } from './repository/locale.repository';\nimport { MediaRepository } from './repository/media.repository';\nimport { MenuItemMetadataRepository } from './repository/menu-item-metadata.repository';\nimport { ModelMetadataRepository } from './repository/model-metadata.repository';\nimport { ModuleMetadataRepository } from './repository/module-metadata.repository';\nimport { MqMessageQueueRepository } from './repository/mq-message-queue.repository';\nimport { MqMessageRepository } from './repository/mq-message.repository';\nimport { PermissionMetadataRepository } from './repository/permission-metadata.repository';\nimport { RoleMetadataRepository } from './repository/role-metadata.repository';\nimport { SavedFiltersRepository } from './repository/saved-filters.repository';\nimport { ScheduledJobRepository } from './repository/scheduled-job.repository';\nimport { AgentSessionRepository } from './repository/agent-session.repository';\nimport { AgentEventRepository } from './repository/agent-event.repository';\nimport { McpAuditLogRepository } from './repository/mcp-audit-log.repository';\nimport { SecurityRuleRepository } from './repository/security-rule.repository';\nimport { SettingRepository } from './repository/setting.repository';\nimport { SmsTemplateRepository } from './repository/sms-template.repository';\nimport { UserActivityHistoryRepository } from './repository/user-activity-history.repository';\nimport { UserViewMetadataRepository } from './repository/user-view-metadata.repository';\nimport { UserApiKeyRepository } from './repository/user-api-key.repository';\nimport { UserRepository } from './repository/user.repository';\nimport { ViewMetadataRepository } from './repository/view-metadata.repository';\nimport { PermissionMetadataSeederService } from './seeders/permission-metadata-seeder.service';\nimport { SystemFieldsSeederService } from './seeders/system-fields-seeder.service';\nimport { ChatterMessageDetailsService } from './services/chatter-message-details.service';\nimport { ChatterMessageService } from './services/chatter-message.service';\nimport { ConcatComputedFieldProvider } from './services/computed-fields/concat-computed-field-provider.service';\nimport { AlphaNumExternalIdComputationProvider } from './services/computed-fields/entity/alpha-num-external-id-computed-field-provider';\nimport { ConcatEntityComputedFieldProvider } from './services/computed-fields/entity/concat-entity-computed-field-provider.service';\nimport { MqDashboardFailedMessagesKpiProvider } from './services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service';\nimport { MqDashboardInflightMessagesKpiProvider } from './services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service';\nimport { MqDashboardLatencyTrendProvider } from './services/dashboard-providers/mq-dashboard-latency-trend-provider.service';\nimport { MqDashboardMessagesOverTimeProvider } from './services/dashboard-providers/mq-dashboard-messages-over-time-provider.service';\nimport { MqDashboardQueueWiseAvgElapsedProvider } from './services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service';\nimport { MqDashboardQueueWiseFailuresProvider } from './services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service';\nimport { MqDashboardQueueSlaHeatmapProvider } from './services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service';\nimport { MqDashboardRecentFailuresProvider } from './services/dashboard-providers/mq-dashboard-recent-failures-provider.service';\nimport { MqDashboardStageDistributionProvider } from './services/dashboard-providers/mq-dashboard-stage-distribution-provider.service';\nimport { MqDashboardSucceededMessagesKpiProvider } from './services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service';\nimport { MqDashboardSuccessRateKpiProvider } from './services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service';\nimport { MqDashboardTotalMessagesKpiProvider } from './services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service';\nimport { MqDashboardAvgElapsedKpiProvider } from './services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service';\nimport { NoopsEntityComputedFieldProviderService } from './services/computed-fields/entity/noops-entity-computed-field-provider.service';\nimport { CRUDService } from './services/crud.service';\nimport { CsvService } from './services/csv.service';\n\nimport { ExcelService } from './services/excel.service';\nimport { ExportTemplateService } from './services/export-template.service';\nimport { ExportTransactionService } from './services/export-transaction.service';\nimport { ImportTransactionErrorLogService } from './services/import-transaction-error-log.service';\nimport { ImportTransactionService } from './services/import-transaction.service';\nimport { LocaleService } from './services/locale.service';\nimport { FileS3StorageProvider } from './services/mediaStorageProviders/file-s3-storage-provider';\nimport { FileStorageProvider } from './services/mediaStorageProviders/file-storage-provider';\nimport { PollerService } from './services/poller.service';\nimport { PublisherFactory } from './services/queues/publisher-factory.service';\nimport { RequestContextService } from './services/request-context.service';\nimport { RoleMetadataService } from './services/role-metadata.service';\nimport { SavedFiltersService } from './services/saved-filters.service';\nimport { ScheduledJobService } from './services/scheduled-job.service';\nimport { AgentSessionService } from './services/agent-session.service';\nimport { AgentEventService } from './services/agent-event.service';\nimport { McpAuditLogService } from './services/mcp-audit-log.service';\nimport { SchedulerServiceImpl } from './services/scheduled-jobs/scheduler.service';\nimport { SecurityRuleService } from './services/security-rule.service';\nimport { ListOfScheduledJobsSelectionProvider } from './services/selection-providers/list-of-scheduled-jobs-selection-provider.service';\nimport { LocaleListSelectionProvider } from './services/selection-providers/locale-list-selection-provider.service';\nimport { SettingService } from './services/setting.service';\nimport { TwilioSMSService } from './services/sms/TwilioSMSService';\nimport { SolidTsMorphService } from './services/solid-ts-morph.service';\nimport { TextractService } from './services/textract.service';\nimport { UserActivityHistoryService } from './services/user-activity-history.service';\nimport { UserViewMetadataService } from './services/user-view-metadata.service';\nimport { UserService } from './services/user.service';\nimport { Three60WhatsappService } from './services/whatsapp/Three60WhatsappService';\nimport { AuditSubscriber } from './subscribers/audit.subscriber';\nimport { ComputedEntityFieldSubscriber } from './subscribers/computed-entity-field.subscriber';\nimport { CreatedByUpdatedBySubscriber } from './subscribers/created-by-updated-by.subscriber';\nimport { ListOfValuesSubscriber } from './subscribers/list-of-values.subscriber';\nimport { ScheduledJobSubscriber } from './subscribers/scheduled-job.subscriber';\nimport { SecurityRuleSubscriber } from './subscribers/security-rule.subscriber';\nimport { ViewMetadataSubsciber } from './subscribers/view-metadata.subscriber';\nimport { MediaStorageProviderMetadataRepository } from './repository/media-storage-provider-metadata.repository';\nimport { McpCommand } from './commands/mcp.command';\nimport { FixturesService } from './services/fixtures.service';\nimport { FixturesSetupCommand } from './commands/fixtures/fixtures-setup.command';\nimport { FixturesTearDownCommand } from './commands/fixtures/fixtures-tear-down.command';\nimport { SequenceNumComputedFieldProvider } from './services/computed-fields/entity/sequence-num-computed-field-provider';\nimport { ModelSequence } from './entities/model-sequence.entity';\nimport { ModelSequenceService } from './services/model-sequence.service';\nimport { ModelSequenceController } from './controllers/model-sequence.controller';\nimport { ModelSequenceRepository } from './repository/model-sequence.repository';\nimport { CacheModule } from '@nestjs/cache-manager';\nimport { CacheManagerOptions } from './config/cache.options';\nimport { SolidCoreDefaultSettingsProvider } from './services/settings/default-settings-provider.service';\nimport { SmsFactory } from './factories/sms.factory';\nimport { WhatsAppFactory } from './factories/whatsapp.factory';\nimport { ImageEncodingService } from './helpers/image-encoding.helper';\nimport { SolidMicroserviceAdapter } from './helpers/solid-microservice-adapter.service';\nimport { InfoCommand } from './commands/info.command';\nimport { ListOfRolesSelectionProvider } from './services/selection-providers/list-of-roles-selectionproviders.service';\nimport { Entity } from 'typeorm';\nimport { DashboardUserLayout } from './entities/dashboard-user-layout.entity';\nimport { DashboardUserLayoutService } from './services/dashboard-user-layout.service';\nimport { DashboardUserLayoutController } from './controllers/dashboard-user-layout.controller';\nimport { DashboardUserLayoutRepository } from './repositories/dashboard-user-layout.repository';\nimport { MssqlDatasourceIntrospectionProviderService } from \"./services/datasource-introspection/mssql-datasource-introspection-provider.service\";\nimport { MysqlDatasourceIntrospectionProviderService } from \"./services/datasource-introspection/mysql-datasource-introspection-provider.service\";\nimport { PostgresDatasourceIntrospectionProviderService } from \"./services/datasource-introspection/postgres-datasource-introspection-provider.service\";\n\n@Global()\n@Module({\n imports: [\n TypeOrmModule.forFeature([\n ActionMetadata,\n ChatterMessage,\n ChatterMessageDetails,\n EmailAttachment,\n EmailTemplate,\n ExportTemplate,\n ExportTransaction,\n FieldMetadata,\n ImportTransaction,\n ImportTransactionErrorLog,\n ListOfValues,\n Locale,\n Media,\n MediaStorageProviderMetadata,\n MenuItemMetadata,\n ModelMetadata,\n ModuleMetadata,\n MqMessage,\n MqMessageQueue,\n PermissionMetadata,\n RoleMetadata,\n SavedFilters,\n ScheduledJob,\n AgentSession,\n AgentEvent,\n McpAuditLog,\n SecurityRule,\n Setting,\n SmsTemplate,\n User,\n UserApiKey,\n UserActivityHistory,\n UserViewMetadata,\n ViewMetadata,\n ModelSequence,\n ]),\n\n CacheModule.registerAsync(CacheManagerOptions),\n ScheduleModule.forRoot(),\n ServeStaticModule.forRoot({\n rootPath: join(process.cwd(), \"media-files-storage\"),\n serveRoot: \"/media-files-storage\",\n serveStaticOptions: {\n setHeaders: (res /*, path, stat*/) => {\n // Allow use of these files from a different origin (e.g., :3000 UI)\n // Use 'same-site' if both origins are on the same site (localhost:* counts as same-site)\n res.setHeader(\"Cross-Origin-Resource-Policy\", \"cross-origin\"); // or 'same-site'\n\n // If you need to load into <canvas> without tainting or fetch images via XHR,\n // you can also expose CORS here (not needed for simple <img>):\n // res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000');\n },\n },\n }),\n MulterModule.registerAsync({\n imports: [ConfigModule],\n useFactory: async (configService: ConfigService) => ({\n dest: process.env.AB_MEDIA_UPLOAD_DIR ?? \"media-uploads\",\n }),\n inject: [ConfigService],\n }),\n HttpModule,\n ConfigModule,\n ClsModule,\n JwtModule.register({\n global: true,\n }),\n TypeOrmModule.forFeature([DashboardUserLayout]),\n ],\n controllers: [\n ActionMetadataController,\n AuthenticationController,\n ChatterMessageController,\n ChatterMessageDetailsController,\n EmailTemplateController,\n ExportTemplateController,\n ExportTransactionController,\n FieldMetadataController,\n DashboardController,\n DatasourceManagementController,\n DatasourceIntrospectionController,\n GoogleAuthenticationController,\n FacebookAuthenticationController,\n MicrosoftAuthenticationController,\n MicrosoftActiveDirectoryAuthenticationController,\n ImportTransactionController,\n ImportTransactionErrorLogController,\n ListOfValuesController,\n LocaleController,\n MediaController,\n MediaStorageProviderMetadataController,\n MenuItemMetadataController,\n ModelMetadataController,\n ModuleMetadataExplorerController,\n ModuleMetadataController,\n ModulePackageController,\n MqMessageController,\n MqMessageQueueController,\n GupshupWebhookController,\n MetaCloudWhatsappWebhookController,\n OTPAuthenticationController,\n PermissionMetadataController,\n RoleMetadataController,\n SavedFiltersController,\n ScheduledJobController,\n AgentSessionController,\n AgentEventController,\n McpAuditLogController,\n SecurityRuleController,\n ServiceController,\n SettingController,\n InfoController,\n SmsTemplateController,\n TestController,\n TestQueueController,\n UserActivityHistoryController,\n UserController,\n UserViewMetadataController,\n ViewMetadataController,\n ModelSequenceController,\n DashboardUserLayoutController,\n ],\n providers: [\n {\n provide: APP_INTERCEPTOR,\n useClass: LoggingInterceptor,\n },\n {\n provide: HashingService,\n useClass: BcryptService,\n },\n {\n provide: APP_GUARD,\n useClass: AuthenticationGuard,\n },\n {\n provide: APP_GUARD,\n useClass: PermissionsGuard,\n },\n {\n provide: APP_FILTER,\n useClass: HttpExceptionFilter,\n },\n ModuleMetadataService,\n DatasourceManagementService,\n DatasourceIntrospectionService,\n ModuleMetadataExplorerService,\n ModuleMetadataHelperService,\n ModulePackageService,\n ModelMetadataService,\n ModelMetadataHelperService,\n FieldMetadataService,\n DashboardRuntimeService,\n RemoveFieldsCommand,\n MigrateRemovedFieldsCommand,\n RefreshModelCommand,\n RefreshModuleCommand,\n InfoCommand,\n InfoService,\n SolidIntrospectService,\n DiscoveryService,\n CrudHelperService,\n CRUDService,\n Reflector,\n MetadataScanner,\n CommandService,\n SchematicService,\n MediaStorageProviderMetadataService,\n MediaService,\n // MediaStorageProviderMetadataSeederService,\n ModuleMetadataSeederService,\n ModuleTestDataService,\n ListOfValuesService,\n ListOfValuesSelectionProvider,\n MqDashboardQueueNameVariableOptionsProvider,\n MqDashboardMessageBrokerVariableOptionsProvider,\n PseudoForeignKeySelectionProvider,\n ModelMetadataSubscriber,\n ViewMetadataService,\n ActionMetadataService,\n MenuItemMetadataService,\n DiscoveryService,\n Reflector,\n MetadataScanner,\n DiskFileService,\n S3FileService,\n FileServiceFactory,\n DiskStoragePathBuilder,\n S3StoragePathBuilder,\n StoragePathBuilderFactory,\n TextractService,\n SolidRegistry,\n SeedCommand,\n TestCommand,\n TestDataCommand,\n TestRunCommand,\n McpCommand,\n SMTPEMailService,\n ElasticEmailService,\n Msg91SMSService,\n Msg91OTPService,\n Msg91WhatsappService,\n MetaCloudWhatsappService,\n GupshupOtpWhatsappService,\n TwilioSMSService,\n SmsTemplateService,\n EmailTemplateService,\n PublisherFactory,\n PollerService,\n ErrorMapperService,\n SolidCoreErrorCodesProvider,\n\n SmtpEmailQueuePublisherRabbitmq,\n SmtpEmailQueueSubscriberRabbitmq,\n SmtpEmailQueuePublisherDatabase,\n SmtpEmailQueueSubscriberDatabase,\n ApiEmailQueuePublisher,\n ApiEmailQueueSubscriber,\n ApiEmailQueuePublisherDatabase,\n ApiEmailQueueSubscriberDatabase,\n Msg91SmsQueuePublisher,\n Msg91SmsQueueSubscriber,\n Msg91SmsQueuePublisherDatabase,\n Msg91SmsQueueSubscriberDatabase,\n TwilioSmsQueuePublisherDatabase,\n TwilioSmsQueueSubscriberDatabase,\n TwilioSmsQueuePublisherRabbitmq,\n TwilioSmsQueueSubscriberRabbitmq,\n Msg91OTPQueuePublisher,\n Msg91OTPQueueSubscriber,\n OTPQueuePublisherDatabase,\n OTPQueueSubscriberDatabase,\n Msg91WhatsappQueuePublisher,\n Msg91WhatsappQueueSubscriber,\n Msg91WhatsappQueuePublisherDatabase,\n Msg91WhatsappQueueSubscriberDatabase,\n Three60WhatsappQueuePublisher,\n Three60WhatsappQueueSubscriber,\n Three60WhatsappQueuePublisherDatabase,\n Three60WhatsappQueueSubscriberDatabase,\n Three60WhatsappService,\n MqMessageService,\n MqMessageQueueService,\n TinyUrlService,\n PdfService,\n UuidExternalIdComputedFieldProvider,\n UuidExternalIdEntityComputedFieldProvider,\n ListOfModelsSelectionProvider,\n ListOfScheduledJobsSelectionProvider,\n LocaleListSelectionProvider,\n SoftDeleteAwareEventSubscriber,\n AccessTokenGuard,\n ApiKeyGuard,\n ApiKeyService,\n ActiveSessionStorageService,\n AuthenticationService,\n GoogleAuthenticationController,\n RefreshTokenIdsStorageService,\n SsoCodeStorageService,\n GoogleOauthStrategy,\n FacebookOAuthStrategy,\n MicrosoftOAuthStrategy,\n MicrosoftActiveDirectoryOAuthStrategy,\n UserRegistrationListener,\n TestQueuePublisher,\n TestQueueSubscriber,\n\n ChatterQueuePublisherRabbitmq,\n ChatterQueueSubscriberRabbitmq,\n ChatterQueuePublisherDatabase,\n ChatterQueueSubscriberDatabase,\n ChatterMentionNotificationEmailQueueHandler,\n ChatterMentionNotificationEmailQueuePublisherRabbitmq,\n ChatterMentionNotificationEmailQueueSubscriberRabbitmq,\n ChatterMentionNotificationEmailQueuePublisherDatabase,\n ChatterMentionNotificationEmailQueueSubscriberDatabase,\n\n TestQueuePublisherDatabase,\n TestQueueSubscriberDatabase,\n TestQueuePublisherRedis,\n TestQueueSubscriberRedis,\n ApiEmailQueuePublisherRedis,\n ApiEmailQueueSubscriberRedis,\n ChatterQueuePublisherRedis,\n ChatterQueueSubscriberRedis,\n ChatterMentionNotificationEmailQueuePublisherRedis,\n ChatterMentionNotificationEmailQueueSubscriberRedis,\n ComputedFieldEvaluationPublisherRedis,\n ComputedFieldEvaluationSubscriberRedis,\n GenerateCodePublisherRedis,\n GenerateCodeSubscriberRedis,\n Msg91OTPQueuePublisherRedis,\n Msg91OTPQueueSubscriberRedis,\n Msg91SmsQueuePublisherRedis,\n Msg91SmsQueueSubscriberRedis,\n Msg91WhatsappQueuePublisherRedis,\n Msg91WhatsappQueueSubscriberRedis,\n SmtpEmailQueuePublisherRedis,\n SmtpEmailQueueSubscriberRedis,\n Three60WhatsappQueuePublisherRedis,\n Three60WhatsappQueueSubscriberRedis,\n TwilioSmsQueuePublisherRedis,\n TwilioSmsQueueSubscriberRedis,\n GenerateCodePublisherDatabase,\n GenerateCodeSubscriberDatabase,\n GenerateCodePublisherRabbitmq,\n GenerateCodeSubscriberRabbitmq,\n Msg91OTPQueuePublisher,\n MqMessageQueueService,\n MqMessageService,\n ScheduledJobService,\n SchedulerServiceImpl,\n PermissionMetadataService,\n RoleMetadataService,\n PermissionMetadataSeederService,\n UserService,\n UserApiKeyRepository,\n UserRepository,\n SettingService,\n ConcatComputedFieldProvider,\n MqDashboardTotalMessagesKpiProvider,\n MqDashboardSucceededMessagesKpiProvider,\n MqDashboardFailedMessagesKpiProvider,\n MqDashboardInflightMessagesKpiProvider,\n MqDashboardSuccessRateKpiProvider,\n MqDashboardAvgElapsedKpiProvider,\n MqDashboardMessagesOverTimeProvider,\n MqDashboardStageDistributionProvider,\n MqDashboardQueueWiseFailuresProvider,\n MqDashboardQueueWiseAvgElapsedProvider,\n MqDashboardQueueSlaHeatmapProvider,\n MqDashboardLatencyTrendProvider,\n MqDashboardRecentFailuresProvider,\n FileStorageProvider,\n FileS3StorageProvider,\n MediaRepository,\n ViewMetadataSubsciber,\n SavedFiltersService,\n UserViewMetadataService,\n SecurityRuleService,\n SecurityRuleRepository,\n SecurityRuleSubscriber,\n RequestContextService,\n SavedFiltersService,\n ChatterMessageService,\n ChatterMessageDetailsService,\n LocaleService,\n AuditSubscriber,\n ExportTemplateService,\n ExportTransactionService,\n ExcelService,\n CsvService,\n DatasourceManagementService,\n DashboardRuntimeService,\n MssqlDatasourceIntrospectionProviderService,\n MysqlDatasourceIntrospectionProviderService,\n PostgresDatasourceIntrospectionProviderService,\n ImportTransactionService,\n ImportTransactionErrorLogService,\n CreatedByUpdatedBySubscriber,\n SystemFieldsSeederService,\n FieldMetadataRepository,\n ComputedEntityFieldSubscriber,\n ComputedFieldEvaluationPublisherDatabase,\n ComputedFieldEvaluationSubscriberDatabase,\n ComputedFieldEvaluationPublisherRabbitmq,\n ComputedFieldEvaluationSubscriberRabbitmq,\n ConcatEntityComputedFieldProvider,\n UserActivityHistoryService,\n NoopsEntityComputedFieldProviderService,\n\n SolidTsMorphService,\n\n ViewMetadataRepository,\n ScheduledJobRepository,\n AgentSessionRepository,\n AgentEventRepository,\n McpAuditLogRepository,\n AgentSessionService,\n AgentEventService,\n McpAuditLogService,\n ScheduledJobSubscriber,\n AlphaNumExternalIdComputationProvider,\n ListOfValuesSubscriber,\n ListOfValuesMapper,\n MailFactory,\n WhatsAppFactory,\n SmsFactory,\n ChatterMessageRepository,\n ChatterMessageDetailsRepository,\n EmailTemplateRepository,\n ExportTemplateRepository,\n ExportTransactionRepository,\n ImportTransactionErrorLogRepository,\n ImportTransactionRepository,\n ListOfValuesRepository,\n LocaleRepository,\n MenuItemMetadataRepository,\n MqMessageQueueRepository,\n MqMessageRepository,\n PermissionMetadataRepository,\n RoleMetadataRepository,\n SavedFiltersRepository,\n SettingRepository,\n SmsTemplateRepository,\n UserActivityHistoryRepository,\n UserViewMetadataRepository,\n ModelMetadataRepository,\n ModuleMetadataRepository,\n RemovedFieldMigrationService,\n ActionMetadataRepository,\n MediaStorageProviderMetadataRepository,\n FixturesService,\n FixturesSetupCommand,\n FixturesTearDownCommand,\n SequenceNumComputedFieldProvider,\n ModelSequenceService,\n ModelSequenceRepository,\n SolidCoreDefaultSettingsProvider,\n ImageEncodingService,\n SolidMicroserviceAdapter,\n ListOfRolesSelectionProvider,\n DashboardUserLayoutService,\n DashboardUserLayoutRepository,\n ],\n exports: [\n AuthenticationService,\n ChatterMessageDetailsRepository,\n ChatterMessageDetailsService,\n ChatterMessageRepository,\n ChatterMessageService,\n ConfigModule,\n CrudHelperService,\n CRUDService,\n CsvService,\n DiscoveryService,\n EmailTemplateService,\n ElasticEmailService,\n ExcelService,\n FieldMetadataService,\n DiskFileService,\n S3FileService,\n FileServiceFactory,\n DiskStoragePathBuilder,\n S3StoragePathBuilder,\n StoragePathBuilderFactory,\n HttpModule,\n ImportTransactionService,\n ListOfValuesService,\n MailFactory,\n WhatsAppFactory,\n SmsFactory,\n MediaService,\n MediaStorageProviderMetadataService,\n ModelMetadataHelperService,\n ModelMetadataService,\n ModuleMetadataService,\n DatasourceIntrospectionService,\n ModuleMetadataExplorerService,\n ModulePackageService,\n MqMessageQueueService,\n MqMessageService,\n Msg91OTPService,\n Msg91SMSService,\n Msg91WhatsappService,\n MulterModule,\n PdfService,\n PollerService,\n PublisherFactory,\n RefreshModelCommand,\n RefreshModuleCommand,\n RequestContextService,\n SchedulerServiceImpl,\n SecurityRuleRepository,\n SmsTemplateService,\n SMTPEMailService,\n SolidIntrospectService,\n SolidRegistry,\n TextractService,\n TinyUrlService,\n TwilioSMSService,\n TypeOrmModule,\n UserActivityHistoryService,\n ImageEncodingService,\n SolidMicroserviceAdapter,\n UserService,\n SettingService,\n ],\n})\nexport class SolidCoreModule implements NestModule {\n configure(consumer: MiddlewareConsumer) {\n consumer\n .apply(\n express.json({ limit: \"10mb\" }),\n express.urlencoded({ limit: \"10mb\", extended: true }),\n )\n .forRoutes(\"*\");\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"solid-core.module.js","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"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","sourcesContent":["import \"multer\";\nimport { Global, MiddlewareConsumer, Module, NestModule } from \"@nestjs/common\";\nimport * as express from \"express\";\nimport { ConfigModule, ConfigService } from \"@nestjs/config\";\nimport {\n APP_FILTER,\n APP_GUARD,\n APP_INTERCEPTOR,\n DiscoveryService,\n MetadataScanner,\n Reflector,\n} from \"@nestjs/core\";\nimport { MulterModule } from \"@nestjs/platform-express\";\nimport { TypeOrmModule } from \"@nestjs/typeorm\";\nimport { RemoveFieldsCommand } from \"./commands/remove-fields.command\";\nimport { MigrateRemovedFieldsCommand } from \"./commands/migrate-removed-fields.command\";\nimport { FieldMetadataController } from \"./controllers/field-metadata.controller\";\nimport { DashboardController } from \"./controllers/dashboard.controller\";\nimport { MediaStorageProviderMetadataController } from \"./controllers/media-storage-provider-metadata.controller\";\nimport { ModelMetadataController } from \"./controllers/model-metadata.controller\";\nimport { ModuleMetadataExplorerController } from \"./controllers/module-metadata-explorer.controller\";\nimport { ModuleMetadataController } from \"./controllers/module-metadata.controller\";\nimport { ModulePackageController } from \"./controllers/module-package.controller\";\nimport { DatasourceManagementController } from \"./controllers/datasource-management.controller\";\nimport { DatasourceIntrospectionController } from \"./controllers/datasource-introspection.controller\";\nimport { TestController } from \"./controllers/test.controller\";\nimport { FieldMetadata } from \"./entities/field-metadata.entity\";\nimport { ListOfValues } from \"./entities/list-of-values.entity\";\nimport { MediaStorageProviderMetadata } from \"./entities/media-storage-provider-metadata.entity\";\nimport { Media } from \"./entities/media.entity\";\nimport { ModelMetadata } from \"./entities/model-metadata.entity\";\nimport { ModuleMetadata } from \"./entities/module-metadata.entity\";\nimport { CommandService } from \"./helpers/command.service\";\nimport { SchematicService } from \"./helpers/schematic.service\";\nimport { ListOfValuesSelectionProvider } from \"./services/selection-providers/list-of-values-selection-providers.service\";\nimport { MqDashboardMessageBrokerVariableOptionsProvider } from \"./services/selection-providers/mq-dashboard-message-broker-variable-options-provider.service\";\nimport { MqDashboardQueueNameVariableOptionsProvider } from \"./services/selection-providers/mq-dashboard-queue-name-variable-options-provider.service\";\nimport { PseudoForeignKeySelectionProvider } from \"./services/selection-providers/pseudo-foreign-key-selection-provider.service\";\nimport { ModuleMetadataSeederService } from \"./seeders/module-metadata-seeder.service\";\nimport { ModuleTestDataService } from \"./seeders/module-test-data.service\";\nimport { CrudHelperService } from \"./services/crud-helper.service\";\nimport { DatasourceManagementService } from \"./services/datasource-management.service\";\nimport { DatasourceIntrospectionService } from \"./services/datasource-introspection.service\";\nimport { FieldMetadataService } from \"./services/field-metadata.service\";\nimport { DashboardRuntimeService } from \"./services/dashboard-runtime.service\";\nimport { ListOfValuesService } from \"./services/list-of-values.service\";\n// import { MediaStorageProviderMetadataSeederService } from './services/media-storage-provider-metadata-seeder.service';\nimport { MediaStorageProviderMetadataService } from \"./services/media-storage-provider-metadata.service\";\nimport { MediaService } from \"./services/media.service\";\nimport { MediaDownloadUrlService } from \"./services/media-download-url.service\";\nimport { ModelMetadataService } from \"./services/model-metadata.service\";\nimport { RemovedFieldMigrationService } from \"./services/removed-field-migration.service\";\nimport { ModuleMetadataExplorerService } from \"./services/module-metadata-explorer.service\";\nimport { ModuleMetadataService } from \"./services/module-metadata.service\";\nimport { ModulePackageService } from \"./services/module-package.service\";\nimport { SolidIntrospectService } from \"./services/solid-introspect.service\";\n// import { ListOfComputedFieldProvider } from './providers/list-of-computed-field-provider.service';\nimport { ServeStaticModule } from \"@nestjs/serve-static\";\nimport { extname, join } from \"path\";\nimport { RefreshModelCommand } from \"./commands/refresh-model.command\";\nimport { MediaController } from \"./controllers/media.controller\";\nimport { INLINE_SAFE_EXTENSIONS } from \"./constants/media-file-types\";\n\nimport { RefreshModuleCommand } from \"./commands/refresh-module.command\";\nimport { ModelMetadataSubscriber } from \"./subscribers/model-metadata.subscriber\";\n\nimport { ViewMetadataController } from \"./controllers/view-metadata.controller\";\nimport { ViewMetadata } from \"./entities/view-metadata.entity\";\nimport { ViewMetadataService } from \"./services/view-metadata.service\";\n\nimport { ActionMetadataController } from \"./controllers/action-metadata.controller\";\nimport { ActionMetadata } from \"./entities/action-metadata.entity\";\nimport { ActionMetadataService } from \"./services/action-metadata.service\";\n\nimport { FacebookAuthenticationController } from \"./controllers/facebook-authentication.controller\";\nimport { MicrosoftAuthenticationController } from \"./controllers/microsoft-authentication.controller\";\nimport { MicrosoftActiveDirectoryAuthenticationController } from \"./controllers/microsoft-active-directory-authentication.controller\";\nimport { FacebookOAuthStrategy } from \"./passport-strategies/facebook-oauth.strategy\";\nimport { MicrosoftOAuthStrategy } from \"./passport-strategies/microsoft-oauth.strategy\";\nimport { MicrosoftActiveDirectoryOAuthStrategy } from \"./passport-strategies/microsoft-active-directory-oauth.strategy\";\n\nimport { GupshupOtpWhatsappService } from \"./services/whatsapp/GupshupOtpWhatsappService\";\nimport { MetaCloudWhatsappService } from \"./services/whatsapp/MetaCloudWhatsappService\";\nimport { GupshupWebhookController } from \"./controllers/gupshup-webhook.controller\";\nimport { MetaCloudWhatsappWebhookController } from \"./controllers/meta-cloud-whatsapp-webhook.controller\";\n\nimport { HttpModule } from \"@nestjs/axios\";\nimport { JwtModule } from \"@nestjs/jwt\";\nimport { SeedCommand } from \"./commands/seed.command\";\nimport { TestDataCommand } from \"./commands/test-data.command\";\nimport { TestRunCommand } from \"./commands/run-tests.command\";\nimport { TestCommand } from \"./commands/test.command\";\nimport { AuthenticationController } from \"./controllers/authentication.controller\";\nimport { EmailTemplateController } from \"./controllers/email-template.controller\";\nimport { GoogleAuthenticationController } from \"./controllers/google-authentication.controller\";\nimport { MenuItemMetadataController } from \"./controllers/menu-item-metadata.controller\";\nimport { MqMessageQueueController } from \"./controllers/mq-message-queue.controller\";\nimport { MqMessageController } from \"./controllers/mq-message.controller\";\nimport { OTPAuthenticationController } from \"./controllers/otp-authentication.controller\";\nimport { ServiceController } from \"./controllers/service.controller\";\nimport { SmsTemplateController } from \"./controllers/sms-template.controller\";\nimport { TestQueueController } from \"./controllers/test-queue.controller\";\nimport { EmailAttachment } from \"./entities/email-attachment.entity\";\nimport { EmailTemplate } from \"./entities/email-template.entity\";\nimport { MenuItemMetadata } from \"./entities/menu-item-metadata.entity\";\nimport { MqMessageQueue } from \"./entities/mq-message-queue.entity\";\nimport { MqMessage } from \"./entities/mq-message.entity\";\nimport { SmsTemplate } from \"./entities/sms-template.entity\";\nimport { AccessTokenGuard } from \"./guards/access-token.guard\";\nimport { ApiKeyGuard } from \"./guards/api-key.guard\";\nimport { MediaSignedUrlGuard } from \"./guards/media-signed-url.guard\";\nimport { AuthenticationGuard } from \"./guards/authentication.guard\";\nimport { PermissionsGuard } from \"./guards/permissions.guard\";\nimport { SolidRegistry } from \"./helpers/solid-registry\";\nimport { LoggingInterceptor } from \"./interceptors/logging.interceptor\";\nimport { ApiEmailQueuePublisher } from \"./jobs/rabbitmq/api-email-publisher.service\";\nimport { ApiEmailQueueSubscriber } from \"./jobs/rabbitmq/api-email-subscriber.service\";\nimport { TestQueuePublisherDatabase } from \"./jobs/database/test-queue-publisher-database.service\";\nimport { TestQueueSubscriberDatabase } from \"./jobs/database/test-queue-subscriber-database.service\";\nimport { TestQueuePublisherRedis } from \"./jobs/redis/test-queue-publisher-redis.service\";\nimport { TestQueueSubscriberRedis } from \"./jobs/redis/test-queue-subscriber-redis.service\";\nimport { Msg91WhatsappQueuePublisher } from \"./jobs/rabbitmq/msg91-whatsapp-publisher.service\";\nimport { Msg91WhatsappQueueSubscriber } from \"./jobs/rabbitmq/msg91-whatsapp-subscriber.service\";\nimport { Msg91OTPQueuePublisher } from \"./jobs/rabbitmq/msg91-otp-publisher.service\";\nimport { Msg91OTPQueueSubscriber } from \"./jobs/rabbitmq/msg91-otp-subscriber.service\";\nimport { Msg91SmsQueuePublisher } from \"./jobs/rabbitmq/msg91-sms-publisher.service\";\nimport { Msg91SmsQueueSubscriber } from \"./jobs/rabbitmq/msg91-sms-subscriber.service\";\nimport { SmtpEmailQueuePublisherRabbitmq } from \"./jobs/rabbitmq/smtp-email-publisher.service\";\nimport { SmtpEmailQueueSubscriberRabbitmq } from \"./jobs/rabbitmq/smtp-email-subscriber.service\";\nimport { TestQueuePublisher } from \"./jobs/rabbitmq/test-queue-publisher.service\";\nimport { TestQueueSubscriber } from \"./jobs/rabbitmq/test-queue-subscriber.service\";\nimport { ChatterQueuePublisherRabbitmq } from \"./jobs/rabbitmq/chatter-queue-publisher.service\";\nimport { ChatterQueueSubscriberRabbitmq } from \"./jobs/rabbitmq/chatter-queue-subscriber.service\";\nimport { ChatterQueuePublisherDatabase } from \"./jobs/database/chatter-queue-publisher-database.service\";\nimport { ChatterQueueSubscriberDatabase } from \"./jobs/database/chatter-queue-subscriber-database.service\";\nimport { ChatterMentionNotificationEmailQueueHandler } from \"./jobs/chatter-mention-notification-email-queue-handler.service\";\nimport { ChatterMentionNotificationEmailQueuePublisherDatabase } from \"./jobs/database/chatter-mention-notification-email-publisher-database.service\";\nimport { ChatterMentionNotificationEmailQueueSubscriberDatabase } from \"./jobs/database/chatter-mention-notification-email-subscriber-database.service\";\nimport { ChatterMentionNotificationEmailQueuePublisherRabbitmq } from \"./jobs/rabbitmq/chatter-mention-notification-email-publisher.service\";\nimport { ChatterMentionNotificationEmailQueueSubscriberRabbitmq } from \"./jobs/rabbitmq/chatter-mention-notification-email-subscriber.service\";\nimport { ApiEmailQueuePublisherRedis } from \"./jobs/redis/api-email-publisher-redis.service\";\nimport { ApiEmailQueueSubscriberRedis } from \"./jobs/redis/api-email-subscriber-redis.service\";\nimport { ChatterQueuePublisherRedis } from \"./jobs/redis/chatter-queue-publisher-redis.service\";\nimport { ChatterQueueSubscriberRedis } from \"./jobs/redis/chatter-queue-subscriber-redis.service\";\nimport { ChatterMentionNotificationEmailQueuePublisherRedis } from \"./jobs/redis/chatter-mention-notification-email-publisher-redis.service\";\nimport { ChatterMentionNotificationEmailQueueSubscriberRedis } from \"./jobs/redis/chatter-mention-notification-email-subscriber-redis.service\";\nimport { ComputedFieldEvaluationPublisherRedis } from \"./jobs/redis/computed-field-evaluation-publisher-redis.service\";\nimport { ComputedFieldEvaluationSubscriberRedis } from \"./jobs/redis/computed-field-evaluation-subscriber-redis.service\";\nimport { GenerateCodePublisherRedis } from \"./jobs/redis/generate-code-publisher-redis.service\";\nimport { GenerateCodeSubscriberRedis } from \"./jobs/redis/generate-code-subscriber-redis.service\";\nimport { Msg91OTPQueuePublisherRedis } from \"./jobs/redis/msg91-otp-publisher-redis.service\";\nimport { Msg91OTPQueueSubscriberRedis } from \"./jobs/redis/msg91-otp-subscriber-redis.service\";\nimport { Msg91SmsQueuePublisherRedis } from \"./jobs/redis/msg91-sms-publisher-redis.service\";\nimport { Msg91SmsQueueSubscriberRedis } from \"./jobs/redis/msg91-sms-subscriber-redis.service\";\nimport { Msg91WhatsappQueuePublisherRedis } from \"./jobs/redis/msg91-whatsapp-publisher-redis.service\";\nimport { Msg91WhatsappQueueSubscriberRedis } from \"./jobs/redis/msg91-whatsapp-subscriber-redis.service\";\nimport { SmtpEmailQueuePublisherRedis } from \"./jobs/redis/smtp-email-publisher-redis.service\";\nimport { SmtpEmailQueueSubscriberRedis } from \"./jobs/redis/smtp-email-subscriber-redis.service\";\nimport { Three60WhatsappQueuePublisherRedis } from \"./jobs/redis/three60-whatsapp-publisher-redis.service\";\nimport { Three60WhatsappQueueSubscriberRedis } from \"./jobs/redis/three60-whatsapp-subscriber-redis.service\";\nimport { TwilioSmsQueuePublisherRedis } from \"./jobs/redis/twilio-sms-publisher-redis.service\";\nimport { TwilioSmsQueueSubscriberRedis } from \"./jobs/redis/twilio-sms-subscriber-redis.service\";\nimport { UserRegistrationListener } from \"./listeners/user-registration.listener\";\nimport { GoogleOauthStrategy } from \"./passport-strategies/google-oauth.strategy\";\nimport { ApiKeyService } from \"./services/api-key.service\";\nimport { ActiveSessionStorageService } from \"./services/active-session-storage.service\";\nimport { AuthenticationService } from \"./services/authentication.service\";\nimport { BcryptService } from \"./services/bcrypt.service\";\nimport { UuidExternalIdEntityComputedFieldProvider } from \"./services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service\";\nimport { UuidExternalIdComputedFieldProvider } from \"./services/computed-fields/uuid-external-id-computed-field-provider.service\";\nimport { EmailTemplateService } from \"./services/email-template.service\";\nimport {\n DiskFileService,\n S3FileService,\n FileServiceFactory,\n DiskStoragePathBuilder,\n S3StoragePathBuilder,\n StoragePathBuilderFactory,\n} from \"./services/file\";\nimport { HashingService } from \"./services/hashing.service\";\nimport { ElasticEmailService } from \"./services/mail/elastic-email.service\";\nimport { SMTPEMailService } from \"./services/mail/smtp-email.service\";\nimport { MenuItemMetadataService } from \"./services/menu-item-metadata.service\";\nimport { MqMessageQueueService } from \"./services/mq-message-queue.service\";\nimport { MqMessageService } from \"./services/mq-message.service\";\nimport { PdfService } from \"./services/pdf.service\";\nimport { RefreshTokenIdsStorageService } from \"./services/refresh-token-ids-storage.service\";\nimport { SsoCodeStorageService } from \"./services/sso-code-storage.service\";\nimport { ListOfModelsSelectionProvider } from \"./services/selection-providers/list-of-models-selection-provider.service\";\nimport { TinyUrlService } from \"./services/short-url/tiny-url.service\";\nimport { SmsTemplateService } from \"./services/sms-template.service\";\nimport { Msg91OTPService } from \"./services/sms/Msg91OTPService\";\nimport { Msg91SMSService } from \"./services/sms/Msg91SMSService\";\n// import { UserService } from './services/user.service';\nimport { Msg91WhatsappService } from \"./services/whatsapp/Msg91WhatsappService\";\nimport { SoftDeleteAwareEventSubscriber } from \"./subscribers/soft-delete-aware-event.subscriber\";\n\nimport { PermissionMetadataController } from \"./controllers/permission-metadata.controller\";\nimport { PermissionMetadata } from \"./entities/permission-metadata.entity\";\nimport { PermissionMetadataService } from \"./services/permission-metadata.service\";\n\nimport { ScheduleModule } from \"@nestjs/schedule\";\nimport { ClsModule } from \"nestjs-cls\";\nimport { ChatterMessageDetailsController } from \"./controllers/chatter-message-details.controller\";\nimport { ChatterMessageController } from \"./controllers/chatter-message.controller\";\n\nimport { ExportTemplateController } from './controllers/export-template.controller';\nimport { ExportTransactionController } from './controllers/export-transaction.controller';\nimport { ImportTransactionErrorLogController } from './controllers/import-transaction-error-log.controller';\nimport { ImportTransactionController } from './controllers/import-transaction.controller';\nimport { ListOfValuesController } from './controllers/list-of-values.controller';\nimport { LocaleController } from './controllers/locale.controller';\nimport { RoleMetadataController } from './controllers/role-metadata.controller';\nimport { SavedFiltersController } from './controllers/saved-filters.controller';\nimport { ScheduledJobController } from './controllers/scheduled-job.controller';\nimport { AgentSessionController } from './controllers/agent-session.controller';\nimport { AgentEventController } from './controllers/agent-event.controller';\nimport { McpAuditLogController } from './controllers/mcp-audit-log.controller';\nimport { SecurityRuleController } from './controllers/security-rule.controller';\nimport { SettingController } from './controllers/setting.controller';\nimport { InfoController } from './controllers/info.controller';\nimport { InfoService } from './services/info.service';\nimport { UserActivityHistoryController } from './controllers/user-activity-history.controller';\nimport { UserViewMetadataController } from './controllers/user-view-metadata.controller';\nimport { UserController } from './controllers/user.controller';\nimport { ChatterMessageDetails } from './entities/chatter-message-details.entity';\nimport { ChatterMessage } from './entities/chatter-message.entity';\n\nimport { ExportTemplate } from './entities/export-template.entity';\nimport { ExportTransaction } from './entities/export-transaction.entity';\nimport { ImportTransactionErrorLog } from './entities/import-transaction-error-log.entity';\nimport { ImportTransaction } from './entities/import-transaction.entity';\nimport { Locale } from './entities/locale.entity';\nimport { RoleMetadata } from './entities/role-metadata.entity';\nimport { SavedFilters } from './entities/saved-filters.entity';\nimport { ScheduledJob } from './entities/scheduled-job.entity';\nimport { AgentSession } from './entities/agent-session.entity';\nimport { AgentEvent } from './entities/agent-event.entity';\nimport { McpAuditLog } from './entities/mcp-audit-log.entity';\nimport { SecurityRule } from './entities/security-rule.entity';\nimport { Setting } from './entities/setting.entity';\nimport { UserActivityHistory } from './entities/user-activity-history.entity';\nimport { UserViewMetadata } from './entities/user-view-metadata.entity';\nimport { UserApiKey } from './entities/user-api-key.entity';\nimport { User } from './entities/user.entity';\nimport { HttpExceptionFilter } from './filters/http-exception.filter';\nimport { ModelMetadataHelperService } from './helpers/model-metadata-helper.service';\nimport { ModuleMetadataHelperService } from './helpers/module-metadata-helper.service';\nimport { ApiEmailQueuePublisherDatabase } from './jobs/database/api-email-publisher-database.service';\nimport { ApiEmailQueueSubscriberDatabase } from './jobs/database/api-email-subscriber-database.service';\nimport { ComputedFieldEvaluationPublisherDatabase } from './jobs/database/computed-field-evaluation-publisher-database.service';\nimport { ComputedFieldEvaluationSubscriberDatabase } from './jobs/database/computed-field-evaluation-subscriber-database.service';\nimport { GenerateCodePublisherDatabase } from './jobs/database/generate-code-publisher-database.service';\nimport { GenerateCodeSubscriberDatabase } from './jobs/database/generate-code-subscriber-database.service';\nimport { OTPQueuePublisherDatabase } from './jobs/database/otp-publisher-database.service';\nimport { OTPQueueSubscriberDatabase } from './jobs/database/otp-subscriber-database.service';\nimport { Msg91SmsQueuePublisherDatabase } from './jobs/database/msg91-sms-publisher-database.service';\nimport { Msg91SmsQueueSubscriberDatabase } from './jobs/database/msg91-sms-subscriber-database.service';\nimport { SmtpEmailQueuePublisherDatabase } from './jobs/database/smtp-email-publisher-database.service';\nimport { SmtpEmailQueueSubscriberDatabase } from './jobs/database/smtp-email-subscriber-database.service';\n\nimport { TwilioSmsQueuePublisherDatabase } from \"./jobs/database/twilio-sms-publisher-database.service\";\nimport { TwilioSmsQueueSubscriberDatabase } from \"./jobs/database/twilio-sms-subscriber-database.service\";\n\n// import { ThrottlerModule } from '@nestjs/throttler';\nimport { MailFactory } from \"./factories/mail.factory\";\nimport { ErrorMapperService } from \"./helpers/error-mapper.service\";\nimport { SolidCoreErrorCodesProvider } from \"./helpers/solid-core-error-codes-provider.service\";\nimport { ComputedFieldEvaluationPublisherRabbitmq } from \"./jobs/rabbitmq/computed-field-evaluation-publisher.service\";\nimport { ComputedFieldEvaluationSubscriberRabbitmq } from \"./jobs/rabbitmq/computed-field-evaluation-subscriber.service\";\nimport { Msg91WhatsappQueuePublisherDatabase } from \"./jobs/database/msg91-whatsapp-publisher-database.service\";\nimport { Msg91WhatsappQueueSubscriberDatabase } from \"./jobs/database/msg91-whatsapp-subscriber-database.service\";\nimport { Three60WhatsappQueuePublisherDatabase } from \"./jobs/database/three60-whatsapp-publisher-database.service\";\nimport { Three60WhatsappQueueSubscriberDatabase } from \"./jobs/database/three60-whatsapp-subscriber-database.service\";\nimport { GenerateCodePublisherRabbitmq } from \"./jobs/rabbitmq/generate-code-publisher.service\";\nimport { GenerateCodeSubscriberRabbitmq } from \"./jobs/rabbitmq/generate-code-subscriber.service\";\nimport { Three60WhatsappQueuePublisher } from \"./jobs/rabbitmq/three60-whatsapp-publisher.service\";\nimport { Three60WhatsappQueueSubscriber } from \"./jobs/rabbitmq/three60-whatsapp-subscriber.service\";\nimport { TwilioSmsQueuePublisherRabbitmq } from \"./jobs/rabbitmq/twilio-sms-publisher.service\";\nimport { TwilioSmsQueueSubscriberRabbitmq } from \"./jobs/rabbitmq/twilio-sms-subscriber.service\";\nimport { ListOfValuesMapper } from \"./mappers/list-of-values-mapper\";\nimport { ActionMetadataRepository } from \"./repository/action-metadata.repository\";\nimport { ChatterMessageDetailsRepository } from \"./repository/chatter-message-details.repository\";\nimport { ChatterMessageRepository } from \"./repository/chatter-message.repository\";\n\nimport { EmailTemplateRepository } from './repository/email-template.repository';\nimport { ExportTemplateRepository } from './repository/export-template.repository';\nimport { ExportTransactionRepository } from './repository/export-transaction.repository';\nimport { FieldMetadataRepository } from './repository/field-metadata.repository';\nimport { ImportTransactionErrorLogRepository } from './repository/import-transaction-error-log.repository';\nimport { ImportTransactionRepository } from './repository/import-transaction.repository';\nimport { ListOfValuesRepository } from './repository/list-of-values.repository';\nimport { LocaleRepository } from './repository/locale.repository';\nimport { MediaRepository } from './repository/media.repository';\nimport { MenuItemMetadataRepository } from './repository/menu-item-metadata.repository';\nimport { ModelMetadataRepository } from './repository/model-metadata.repository';\nimport { ModuleMetadataRepository } from './repository/module-metadata.repository';\nimport { MqMessageQueueRepository } from './repository/mq-message-queue.repository';\nimport { MqMessageRepository } from './repository/mq-message.repository';\nimport { PermissionMetadataRepository } from './repository/permission-metadata.repository';\nimport { RoleMetadataRepository } from './repository/role-metadata.repository';\nimport { SavedFiltersRepository } from './repository/saved-filters.repository';\nimport { ScheduledJobRepository } from './repository/scheduled-job.repository';\nimport { AgentSessionRepository } from './repository/agent-session.repository';\nimport { AgentEventRepository } from './repository/agent-event.repository';\nimport { McpAuditLogRepository } from './repository/mcp-audit-log.repository';\nimport { SecurityRuleRepository } from './repository/security-rule.repository';\nimport { SettingRepository } from './repository/setting.repository';\nimport { SmsTemplateRepository } from './repository/sms-template.repository';\nimport { UserActivityHistoryRepository } from './repository/user-activity-history.repository';\nimport { UserViewMetadataRepository } from './repository/user-view-metadata.repository';\nimport { UserApiKeyRepository } from './repository/user-api-key.repository';\nimport { UserRepository } from './repository/user.repository';\nimport { ViewMetadataRepository } from './repository/view-metadata.repository';\nimport { PermissionMetadataSeederService } from './seeders/permission-metadata-seeder.service';\nimport { SystemFieldsSeederService } from './seeders/system-fields-seeder.service';\nimport { ChatterMessageDetailsService } from './services/chatter-message-details.service';\nimport { ChatterMessageService } from './services/chatter-message.service';\nimport { ConcatComputedFieldProvider } from './services/computed-fields/concat-computed-field-provider.service';\nimport { AlphaNumExternalIdComputationProvider } from './services/computed-fields/entity/alpha-num-external-id-computed-field-provider';\nimport { ConcatEntityComputedFieldProvider } from './services/computed-fields/entity/concat-entity-computed-field-provider.service';\nimport { MqDashboardFailedMessagesKpiProvider } from './services/dashboard-providers/mq-dashboard-failed-messages-kpi-provider.service';\nimport { MqDashboardInflightMessagesKpiProvider } from './services/dashboard-providers/mq-dashboard-inflight-messages-kpi-provider.service';\nimport { MqDashboardLatencyTrendProvider } from './services/dashboard-providers/mq-dashboard-latency-trend-provider.service';\nimport { MqDashboardMessagesOverTimeProvider } from './services/dashboard-providers/mq-dashboard-messages-over-time-provider.service';\nimport { MqDashboardQueueWiseAvgElapsedProvider } from './services/dashboard-providers/mq-dashboard-queue-wise-avg-elapsed-provider.service';\nimport { MqDashboardQueueWiseFailuresProvider } from './services/dashboard-providers/mq-dashboard-queue-wise-failures-provider.service';\nimport { MqDashboardQueueSlaHeatmapProvider } from './services/dashboard-providers/mq-dashboard-queue-sla-heatmap-provider.service';\nimport { MqDashboardRecentFailuresProvider } from './services/dashboard-providers/mq-dashboard-recent-failures-provider.service';\nimport { MqDashboardStageDistributionProvider } from './services/dashboard-providers/mq-dashboard-stage-distribution-provider.service';\nimport { MqDashboardSucceededMessagesKpiProvider } from './services/dashboard-providers/mq-dashboard-succeeded-messages-kpi-provider.service';\nimport { MqDashboardSuccessRateKpiProvider } from './services/dashboard-providers/mq-dashboard-success-rate-kpi-provider.service';\nimport { MqDashboardTotalMessagesKpiProvider } from './services/dashboard-providers/mq-dashboard-total-messages-kpi-provider.service';\nimport { MqDashboardAvgElapsedKpiProvider } from './services/dashboard-providers/mq-dashboard-avg-elapsed-kpi-provider.service';\nimport { NoopsEntityComputedFieldProviderService } from './services/computed-fields/entity/noops-entity-computed-field-provider.service';\nimport { CRUDService } from './services/crud.service';\nimport { CsvService } from './services/csv.service';\n\nimport { ExcelService } from './services/excel.service';\nimport { ExportTemplateService } from './services/export-template.service';\nimport { ExportTransactionService } from './services/export-transaction.service';\nimport { ImportTransactionErrorLogService } from './services/import-transaction-error-log.service';\nimport { ImportTransactionService } from './services/import-transaction.service';\nimport { LocaleService } from './services/locale.service';\nimport { FileS3StorageProvider } from './services/mediaStorageProviders/file-s3-storage-provider';\nimport { FileStorageProvider } from './services/mediaStorageProviders/file-storage-provider';\nimport { PollerService } from './services/poller.service';\nimport { PublisherFactory } from './services/queues/publisher-factory.service';\nimport { RequestContextService } from './services/request-context.service';\nimport { RoleMetadataService } from './services/role-metadata.service';\nimport { SavedFiltersService } from './services/saved-filters.service';\nimport { ScheduledJobService } from './services/scheduled-job.service';\nimport { AgentSessionService } from './services/agent-session.service';\nimport { AgentEventService } from './services/agent-event.service';\nimport { McpAuditLogService } from './services/mcp-audit-log.service';\nimport { SchedulerServiceImpl } from './services/scheduled-jobs/scheduler.service';\nimport { SecurityRuleService } from './services/security-rule.service';\nimport { ListOfScheduledJobsSelectionProvider } from './services/selection-providers/list-of-scheduled-jobs-selection-provider.service';\nimport { LocaleListSelectionProvider } from './services/selection-providers/locale-list-selection-provider.service';\nimport { SettingService } from './services/setting.service';\nimport { TwilioSMSService } from './services/sms/TwilioSMSService';\nimport { SolidTsMorphService } from './services/solid-ts-morph.service';\nimport { TextractService } from './services/textract.service';\nimport { UserActivityHistoryService } from './services/user-activity-history.service';\nimport { UserViewMetadataService } from './services/user-view-metadata.service';\nimport { UserService } from './services/user.service';\nimport { Three60WhatsappService } from './services/whatsapp/Three60WhatsappService';\nimport { AuditSubscriber } from './subscribers/audit.subscriber';\nimport { ComputedEntityFieldSubscriber } from './subscribers/computed-entity-field.subscriber';\nimport { CreatedByUpdatedBySubscriber } from './subscribers/created-by-updated-by.subscriber';\nimport { ListOfValuesSubscriber } from './subscribers/list-of-values.subscriber';\nimport { ScheduledJobSubscriber } from './subscribers/scheduled-job.subscriber';\nimport { SecurityRuleSubscriber } from './subscribers/security-rule.subscriber';\nimport { ViewMetadataSubsciber } from './subscribers/view-metadata.subscriber';\nimport { MediaStorageProviderMetadataRepository } from './repository/media-storage-provider-metadata.repository';\nimport { McpCommand } from './commands/mcp.command';\nimport { FixturesService } from './services/fixtures.service';\nimport { FixturesSetupCommand } from './commands/fixtures/fixtures-setup.command';\nimport { FixturesTearDownCommand } from './commands/fixtures/fixtures-tear-down.command';\nimport { SequenceNumComputedFieldProvider } from './services/computed-fields/entity/sequence-num-computed-field-provider';\nimport { ModelSequence } from './entities/model-sequence.entity';\nimport { ModelSequenceService } from './services/model-sequence.service';\nimport { ModelSequenceController } from './controllers/model-sequence.controller';\nimport { ModelSequenceRepository } from './repository/model-sequence.repository';\nimport { CacheModule } from '@nestjs/cache-manager';\nimport { CacheManagerOptions } from './config/cache.options';\nimport { SolidCoreDefaultSettingsProvider } from './services/settings/default-settings-provider.service';\nimport { SmsFactory } from './factories/sms.factory';\nimport { WhatsAppFactory } from './factories/whatsapp.factory';\nimport { ImageEncodingService } from './helpers/image-encoding.helper';\nimport { SolidMicroserviceAdapter } from './helpers/solid-microservice-adapter.service';\nimport { InfoCommand } from './commands/info.command';\nimport { ListOfRolesSelectionProvider } from './services/selection-providers/list-of-roles-selectionproviders.service';\nimport { Entity } from 'typeorm';\nimport { DashboardUserLayout } from './entities/dashboard-user-layout.entity';\nimport { DashboardUserLayoutService } from './services/dashboard-user-layout.service';\nimport { DashboardUserLayoutController } from './controllers/dashboard-user-layout.controller';\nimport { DashboardUserLayoutRepository } from './repositories/dashboard-user-layout.repository';\nimport { MssqlDatasourceIntrospectionProviderService } from \"./services/datasource-introspection/mssql-datasource-introspection-provider.service\";\nimport { MysqlDatasourceIntrospectionProviderService } from \"./services/datasource-introspection/mysql-datasource-introspection-provider.service\";\nimport { PostgresDatasourceIntrospectionProviderService } from \"./services/datasource-introspection/postgres-datasource-introspection-provider.service\";\n\n@Global()\n@Module({\n imports: [\n TypeOrmModule.forFeature([\n ActionMetadata,\n ChatterMessage,\n ChatterMessageDetails,\n EmailAttachment,\n EmailTemplate,\n ExportTemplate,\n ExportTransaction,\n FieldMetadata,\n ImportTransaction,\n ImportTransactionErrorLog,\n ListOfValues,\n Locale,\n Media,\n MediaStorageProviderMetadata,\n MenuItemMetadata,\n ModelMetadata,\n ModuleMetadata,\n MqMessage,\n MqMessageQueue,\n PermissionMetadata,\n RoleMetadata,\n SavedFilters,\n ScheduledJob,\n AgentSession,\n AgentEvent,\n McpAuditLog,\n SecurityRule,\n Setting,\n SmsTemplate,\n User,\n UserApiKey,\n UserActivityHistory,\n UserViewMetadata,\n ViewMetadata,\n ModelSequence,\n ]),\n\n CacheModule.registerAsync(CacheManagerOptions),\n ScheduleModule.forRoot(),\n ServeStaticModule.forRoot({\n rootPath: join(process.cwd(), \"media-files-storage\"),\n serveRoot: \"/media-files-storage\",\n serveStaticOptions: {\n setHeaders: (res, path) => {\n // Allow use of these files from a different origin (e.g., :3000 UI)\n // Use 'same-site' if both origins are on the same site (localhost:* counts as same-site)\n res.setHeader(\"Cross-Origin-Resource-Policy\", \"cross-origin\"); // or 'same-site'\n\n // If you need to load into <canvas> without tainting or fetch images via XHR,\n // you can also expose CORS here (not needed for simple <img>):\n // res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000');\n\n // Prevent the browser from ever content-sniffing a served file into something\n // more dangerous than its declared Content-Type (e.g. rendering a mislabeled\n // upload as HTML and executing embedded script).\n res.setHeader(\"X-Content-Type-Options\", \"nosniff\");\n\n // Only a small allowlist of media types is ever safe to render inline. Everything\n // else (including svg, html, and any other uploaded file) is forced to download\n // rather than be displayed/executed by the browser, regardless of what mimetype or\n // extension it was uploaded with.\n if (!INLINE_SAFE_EXTENSIONS.has(extname(path).toLowerCase().replace(/^\\./, ''))) {\n res.setHeader(\"Content-Type\", \"application/octet-stream\");\n res.setHeader(\"Content-Disposition\", \"attachment\");\n }\n },\n },\n }),\n MulterModule.registerAsync({\n imports: [ConfigModule],\n useFactory: async (configService: ConfigService) => ({\n dest: process.env.AB_MEDIA_UPLOAD_DIR ?? \"media-uploads\",\n }),\n inject: [ConfigService],\n }),\n HttpModule,\n ConfigModule,\n ClsModule,\n JwtModule.register({\n global: true,\n }),\n TypeOrmModule.forFeature([DashboardUserLayout]),\n ],\n controllers: [\n ActionMetadataController,\n AuthenticationController,\n ChatterMessageController,\n ChatterMessageDetailsController,\n EmailTemplateController,\n ExportTemplateController,\n ExportTransactionController,\n FieldMetadataController,\n DashboardController,\n DatasourceManagementController,\n DatasourceIntrospectionController,\n GoogleAuthenticationController,\n FacebookAuthenticationController,\n MicrosoftAuthenticationController,\n MicrosoftActiveDirectoryAuthenticationController,\n ImportTransactionController,\n ImportTransactionErrorLogController,\n ListOfValuesController,\n LocaleController,\n MediaController,\n MediaStorageProviderMetadataController,\n MenuItemMetadataController,\n ModelMetadataController,\n ModuleMetadataExplorerController,\n ModuleMetadataController,\n ModulePackageController,\n MqMessageController,\n MqMessageQueueController,\n GupshupWebhookController,\n MetaCloudWhatsappWebhookController,\n OTPAuthenticationController,\n PermissionMetadataController,\n RoleMetadataController,\n SavedFiltersController,\n ScheduledJobController,\n AgentSessionController,\n AgentEventController,\n McpAuditLogController,\n SecurityRuleController,\n ServiceController,\n SettingController,\n InfoController,\n SmsTemplateController,\n TestController,\n TestQueueController,\n UserActivityHistoryController,\n UserController,\n UserViewMetadataController,\n ViewMetadataController,\n ModelSequenceController,\n DashboardUserLayoutController,\n ],\n providers: [\n {\n provide: APP_INTERCEPTOR,\n useClass: LoggingInterceptor,\n },\n {\n provide: HashingService,\n useClass: BcryptService,\n },\n {\n provide: APP_GUARD,\n useClass: AuthenticationGuard,\n },\n {\n provide: APP_GUARD,\n useClass: PermissionsGuard,\n },\n {\n provide: APP_FILTER,\n useClass: HttpExceptionFilter,\n },\n ModuleMetadataService,\n DatasourceManagementService,\n DatasourceIntrospectionService,\n ModuleMetadataExplorerService,\n ModuleMetadataHelperService,\n ModulePackageService,\n ModelMetadataService,\n ModelMetadataHelperService,\n FieldMetadataService,\n DashboardRuntimeService,\n RemoveFieldsCommand,\n MigrateRemovedFieldsCommand,\n RefreshModelCommand,\n RefreshModuleCommand,\n InfoCommand,\n InfoService,\n SolidIntrospectService,\n DiscoveryService,\n CrudHelperService,\n CRUDService,\n Reflector,\n MetadataScanner,\n CommandService,\n SchematicService,\n MediaStorageProviderMetadataService,\n MediaService,\n MediaDownloadUrlService,\n // MediaStorageProviderMetadataSeederService,\n ModuleMetadataSeederService,\n ModuleTestDataService,\n ListOfValuesService,\n ListOfValuesSelectionProvider,\n MqDashboardQueueNameVariableOptionsProvider,\n MqDashboardMessageBrokerVariableOptionsProvider,\n PseudoForeignKeySelectionProvider,\n ModelMetadataSubscriber,\n ViewMetadataService,\n ActionMetadataService,\n MenuItemMetadataService,\n DiscoveryService,\n Reflector,\n MetadataScanner,\n DiskFileService,\n S3FileService,\n FileServiceFactory,\n DiskStoragePathBuilder,\n S3StoragePathBuilder,\n StoragePathBuilderFactory,\n TextractService,\n SolidRegistry,\n SeedCommand,\n TestCommand,\n TestDataCommand,\n TestRunCommand,\n McpCommand,\n SMTPEMailService,\n ElasticEmailService,\n Msg91SMSService,\n Msg91OTPService,\n Msg91WhatsappService,\n MetaCloudWhatsappService,\n GupshupOtpWhatsappService,\n TwilioSMSService,\n SmsTemplateService,\n EmailTemplateService,\n PublisherFactory,\n PollerService,\n ErrorMapperService,\n SolidCoreErrorCodesProvider,\n\n SmtpEmailQueuePublisherRabbitmq,\n SmtpEmailQueueSubscriberRabbitmq,\n SmtpEmailQueuePublisherDatabase,\n SmtpEmailQueueSubscriberDatabase,\n ApiEmailQueuePublisher,\n ApiEmailQueueSubscriber,\n ApiEmailQueuePublisherDatabase,\n ApiEmailQueueSubscriberDatabase,\n Msg91SmsQueuePublisher,\n Msg91SmsQueueSubscriber,\n Msg91SmsQueuePublisherDatabase,\n Msg91SmsQueueSubscriberDatabase,\n TwilioSmsQueuePublisherDatabase,\n TwilioSmsQueueSubscriberDatabase,\n TwilioSmsQueuePublisherRabbitmq,\n TwilioSmsQueueSubscriberRabbitmq,\n Msg91OTPQueuePublisher,\n Msg91OTPQueueSubscriber,\n OTPQueuePublisherDatabase,\n OTPQueueSubscriberDatabase,\n Msg91WhatsappQueuePublisher,\n Msg91WhatsappQueueSubscriber,\n Msg91WhatsappQueuePublisherDatabase,\n Msg91WhatsappQueueSubscriberDatabase,\n Three60WhatsappQueuePublisher,\n Three60WhatsappQueueSubscriber,\n Three60WhatsappQueuePublisherDatabase,\n Three60WhatsappQueueSubscriberDatabase,\n Three60WhatsappService,\n MqMessageService,\n MqMessageQueueService,\n TinyUrlService,\n PdfService,\n UuidExternalIdComputedFieldProvider,\n UuidExternalIdEntityComputedFieldProvider,\n ListOfModelsSelectionProvider,\n ListOfScheduledJobsSelectionProvider,\n LocaleListSelectionProvider,\n SoftDeleteAwareEventSubscriber,\n AccessTokenGuard,\n ApiKeyGuard,\n MediaSignedUrlGuard,\n ApiKeyService,\n ActiveSessionStorageService,\n AuthenticationService,\n GoogleAuthenticationController,\n RefreshTokenIdsStorageService,\n SsoCodeStorageService,\n GoogleOauthStrategy,\n FacebookOAuthStrategy,\n MicrosoftOAuthStrategy,\n MicrosoftActiveDirectoryOAuthStrategy,\n UserRegistrationListener,\n TestQueuePublisher,\n TestQueueSubscriber,\n\n ChatterQueuePublisherRabbitmq,\n ChatterQueueSubscriberRabbitmq,\n ChatterQueuePublisherDatabase,\n ChatterQueueSubscriberDatabase,\n ChatterMentionNotificationEmailQueueHandler,\n ChatterMentionNotificationEmailQueuePublisherRabbitmq,\n ChatterMentionNotificationEmailQueueSubscriberRabbitmq,\n ChatterMentionNotificationEmailQueuePublisherDatabase,\n ChatterMentionNotificationEmailQueueSubscriberDatabase,\n\n TestQueuePublisherDatabase,\n TestQueueSubscriberDatabase,\n TestQueuePublisherRedis,\n TestQueueSubscriberRedis,\n ApiEmailQueuePublisherRedis,\n ApiEmailQueueSubscriberRedis,\n ChatterQueuePublisherRedis,\n ChatterQueueSubscriberRedis,\n ChatterMentionNotificationEmailQueuePublisherRedis,\n ChatterMentionNotificationEmailQueueSubscriberRedis,\n ComputedFieldEvaluationPublisherRedis,\n ComputedFieldEvaluationSubscriberRedis,\n GenerateCodePublisherRedis,\n GenerateCodeSubscriberRedis,\n Msg91OTPQueuePublisherRedis,\n Msg91OTPQueueSubscriberRedis,\n Msg91SmsQueuePublisherRedis,\n Msg91SmsQueueSubscriberRedis,\n Msg91WhatsappQueuePublisherRedis,\n Msg91WhatsappQueueSubscriberRedis,\n SmtpEmailQueuePublisherRedis,\n SmtpEmailQueueSubscriberRedis,\n Three60WhatsappQueuePublisherRedis,\n Three60WhatsappQueueSubscriberRedis,\n TwilioSmsQueuePublisherRedis,\n TwilioSmsQueueSubscriberRedis,\n GenerateCodePublisherDatabase,\n GenerateCodeSubscriberDatabase,\n GenerateCodePublisherRabbitmq,\n GenerateCodeSubscriberRabbitmq,\n Msg91OTPQueuePublisher,\n MqMessageQueueService,\n MqMessageService,\n ScheduledJobService,\n SchedulerServiceImpl,\n PermissionMetadataService,\n RoleMetadataService,\n PermissionMetadataSeederService,\n UserService,\n UserApiKeyRepository,\n UserRepository,\n SettingService,\n ConcatComputedFieldProvider,\n MqDashboardTotalMessagesKpiProvider,\n MqDashboardSucceededMessagesKpiProvider,\n MqDashboardFailedMessagesKpiProvider,\n MqDashboardInflightMessagesKpiProvider,\n MqDashboardSuccessRateKpiProvider,\n MqDashboardAvgElapsedKpiProvider,\n MqDashboardMessagesOverTimeProvider,\n MqDashboardStageDistributionProvider,\n MqDashboardQueueWiseFailuresProvider,\n MqDashboardQueueWiseAvgElapsedProvider,\n MqDashboardQueueSlaHeatmapProvider,\n MqDashboardLatencyTrendProvider,\n MqDashboardRecentFailuresProvider,\n FileStorageProvider,\n FileS3StorageProvider,\n MediaRepository,\n ViewMetadataSubsciber,\n SavedFiltersService,\n UserViewMetadataService,\n SecurityRuleService,\n SecurityRuleRepository,\n SecurityRuleSubscriber,\n RequestContextService,\n SavedFiltersService,\n ChatterMessageService,\n ChatterMessageDetailsService,\n LocaleService,\n AuditSubscriber,\n ExportTemplateService,\n ExportTransactionService,\n ExcelService,\n CsvService,\n DatasourceManagementService,\n DashboardRuntimeService,\n MssqlDatasourceIntrospectionProviderService,\n MysqlDatasourceIntrospectionProviderService,\n PostgresDatasourceIntrospectionProviderService,\n ImportTransactionService,\n ImportTransactionErrorLogService,\n CreatedByUpdatedBySubscriber,\n SystemFieldsSeederService,\n FieldMetadataRepository,\n ComputedEntityFieldSubscriber,\n ComputedFieldEvaluationPublisherDatabase,\n ComputedFieldEvaluationSubscriberDatabase,\n ComputedFieldEvaluationPublisherRabbitmq,\n ComputedFieldEvaluationSubscriberRabbitmq,\n ConcatEntityComputedFieldProvider,\n UserActivityHistoryService,\n NoopsEntityComputedFieldProviderService,\n\n SolidTsMorphService,\n\n ViewMetadataRepository,\n ScheduledJobRepository,\n AgentSessionRepository,\n AgentEventRepository,\n McpAuditLogRepository,\n AgentSessionService,\n AgentEventService,\n McpAuditLogService,\n ScheduledJobSubscriber,\n AlphaNumExternalIdComputationProvider,\n ListOfValuesSubscriber,\n ListOfValuesMapper,\n MailFactory,\n WhatsAppFactory,\n SmsFactory,\n ChatterMessageRepository,\n ChatterMessageDetailsRepository,\n EmailTemplateRepository,\n ExportTemplateRepository,\n ExportTransactionRepository,\n ImportTransactionErrorLogRepository,\n ImportTransactionRepository,\n ListOfValuesRepository,\n LocaleRepository,\n MenuItemMetadataRepository,\n MqMessageQueueRepository,\n MqMessageRepository,\n PermissionMetadataRepository,\n RoleMetadataRepository,\n SavedFiltersRepository,\n SettingRepository,\n SmsTemplateRepository,\n UserActivityHistoryRepository,\n UserViewMetadataRepository,\n ModelMetadataRepository,\n ModuleMetadataRepository,\n RemovedFieldMigrationService,\n ActionMetadataRepository,\n MediaStorageProviderMetadataRepository,\n FixturesService,\n FixturesSetupCommand,\n FixturesTearDownCommand,\n SequenceNumComputedFieldProvider,\n ModelSequenceService,\n ModelSequenceRepository,\n SolidCoreDefaultSettingsProvider,\n ImageEncodingService,\n SolidMicroserviceAdapter,\n ListOfRolesSelectionProvider,\n DashboardUserLayoutService,\n DashboardUserLayoutRepository,\n ],\n exports: [\n AuthenticationService,\n ChatterMessageDetailsRepository,\n ChatterMessageDetailsService,\n ChatterMessageRepository,\n ChatterMessageService,\n ConfigModule,\n CrudHelperService,\n CRUDService,\n CsvService,\n DiscoveryService,\n EmailTemplateService,\n ElasticEmailService,\n ExcelService,\n FieldMetadataService,\n DiskFileService,\n S3FileService,\n FileServiceFactory,\n DiskStoragePathBuilder,\n S3StoragePathBuilder,\n StoragePathBuilderFactory,\n HttpModule,\n ImportTransactionService,\n ListOfValuesService,\n MailFactory,\n WhatsAppFactory,\n SmsFactory,\n MediaService,\n MediaStorageProviderMetadataService,\n ModelMetadataHelperService,\n ModelMetadataService,\n ModuleMetadataService,\n DatasourceIntrospectionService,\n ModuleMetadataExplorerService,\n ModulePackageService,\n MqMessageQueueService,\n MqMessageService,\n Msg91OTPService,\n Msg91SMSService,\n Msg91WhatsappService,\n MulterModule,\n PdfService,\n PollerService,\n PublisherFactory,\n RefreshModelCommand,\n RefreshModuleCommand,\n RequestContextService,\n SchedulerServiceImpl,\n SecurityRuleRepository,\n SmsTemplateService,\n SMTPEMailService,\n SolidIntrospectService,\n SolidRegistry,\n TextractService,\n TinyUrlService,\n TwilioSMSService,\n TypeOrmModule,\n UserActivityHistoryService,\n ImageEncodingService,\n SolidMicroserviceAdapter,\n UserService,\n SettingService,\n ],\n})\nexport class SolidCoreModule implements NestModule {\n configure(consumer: MiddlewareConsumer) {\n consumer\n .apply(\n express.json({ limit: \"10mb\" }),\n express.urlencoded({ limit: \"10mb\", extended: true }),\n )\n .forRoutes(\"*\");\n }\n}\n"]}
|
|
@@ -90,7 +90,7 @@ let AuditSubscriber = AuditSubscriber_1 = class AuditSubscriber {
|
|
|
90
90
|
relations[field.name] = true;
|
|
91
91
|
});
|
|
92
92
|
const relationBefore = event.entity?.[AUDIT_BEFORE_SNAPSHOT] ?? null;
|
|
93
|
-
const relationAfter = await
|
|
93
|
+
const relationAfter = await event.queryRunner.manager.getRepository(event.metadata.target).findOne({
|
|
94
94
|
where: { id: entityId },
|
|
95
95
|
relations: relations,
|
|
96
96
|
});
|