@solidxai/core 0.1.11-beta.2 → 0.1.11-beta.5
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/dist/commands/migrate-removed-fields.command.d.ts +19 -0
- package/dist/commands/migrate-removed-fields.command.d.ts.map +1 -0
- package/dist/commands/migrate-removed-fields.command.js +77 -0
- package/dist/commands/migrate-removed-fields.command.js.map +1 -0
- package/dist/controllers/datasource-introspection.controller.d.ts +38 -1
- package/dist/controllers/datasource-introspection.controller.d.ts.map +1 -1
- package/dist/controllers/datasource-introspection.controller.js +38 -0
- package/dist/controllers/datasource-introspection.controller.js.map +1 -1
- package/dist/dtos/datasource-introspection-mapping.dto.d.ts +5 -0
- package/dist/dtos/datasource-introspection-mapping.dto.d.ts.map +1 -1
- package/dist/dtos/datasource-introspection-mapping.dto.js +24 -2
- package/dist/dtos/datasource-introspection-mapping.dto.js.map +1 -1
- package/dist/entities/{legacy-common-with-id.entity.d.ts → legacy-common-with-generated-id.entity.d.ts} +2 -2
- package/dist/entities/legacy-common-with-generated-id.entity.d.ts.map +1 -0
- package/dist/entities/{legacy-common-with-id.entity.js → legacy-common-with-generated-id.entity.js} +4 -4
- package/dist/entities/legacy-common-with-generated-id.entity.js.map +1 -0
- package/dist/entities/{legacy-common.entity.d.ts → legacy-common.entity-with-existing-id.entity.d.ts} +1 -1
- package/dist/entities/legacy-common.entity-with-existing-id.entity.d.ts.map +1 -0
- package/dist/entities/{legacy-common.entity.js → legacy-common.entity-with-existing-id.entity.js} +1 -1
- package/dist/entities/legacy-common.entity-with-existing-id.entity.js.map +1 -0
- package/dist/helpers/command.service.d.ts +2 -0
- package/dist/helpers/command.service.d.ts.map +1 -1
- package/dist/helpers/command.service.js +6 -2
- package/dist/helpers/command.service.js.map +1 -1
- package/dist/helpers/model-metadata-helper.service.js +3 -3
- package/dist/helpers/model-metadata-helper.service.js.map +1 -1
- package/dist/helpers/nodemon-heartbeat.d.ts +5 -0
- package/dist/helpers/nodemon-heartbeat.d.ts.map +1 -0
- package/dist/helpers/nodemon-heartbeat.js +67 -0
- package/dist/helpers/nodemon-heartbeat.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces/datasource-introspection-provider.interface.d.ts +1 -0
- package/dist/interfaces/datasource-introspection-provider.interface.d.ts.map +1 -1
- package/dist/interfaces/datasource-introspection-provider.interface.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 +101 -1
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +121 -34
- package/dist/services/api-key.service.d.ts.map +1 -1
- package/dist/services/api-key.service.js.map +1 -1
- package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts +4 -0
- package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts.map +1 -1
- package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.js +18 -1
- package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +1 -0
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +27 -0
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/datasource-introspection/mssql-datasource-introspection-provider.service.d.ts.map +1 -1
- package/dist/services/datasource-introspection/mssql-datasource-introspection-provider.service.js +12 -0
- package/dist/services/datasource-introspection/mssql-datasource-introspection-provider.service.js.map +1 -1
- package/dist/services/datasource-introspection/mysql-datasource-introspection-provider.service.d.ts.map +1 -1
- package/dist/services/datasource-introspection/mysql-datasource-introspection-provider.service.js +2 -0
- package/dist/services/datasource-introspection/mysql-datasource-introspection-provider.service.js.map +1 -1
- package/dist/services/datasource-introspection/postgres-datasource-introspection-provider.service.d.ts.map +1 -1
- package/dist/services/datasource-introspection/postgres-datasource-introspection-provider.service.js +28 -15
- package/dist/services/datasource-introspection/postgres-datasource-introspection-provider.service.js.map +1 -1
- package/dist/services/datasource-introspection.service.d.ts +53 -2
- package/dist/services/datasource-introspection.service.d.ts.map +1 -1
- package/dist/services/datasource-introspection.service.js +559 -174
- package/dist/services/datasource-introspection.service.js.map +1 -1
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +3 -0
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +10 -10
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts +1 -0
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +28 -0
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/module-metadata.service.d.ts.map +1 -1
- package/dist/services/module-metadata.service.js +27 -0
- package/dist/services/module-metadata.service.js.map +1 -1
- package/dist/services/removed-field-migration.service.d.ts +30 -0
- package/dist/services/removed-field-migration.service.d.ts.map +1 -0
- package/dist/services/removed-field-migration.service.js +319 -0
- package/dist/services/removed-field-migration.service.js.map +1 -0
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +4 -0
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.d.ts +4 -1
- package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
- package/dist/subscribers/audit.subscriber.js +54 -6
- package/dist/subscribers/audit.subscriber.js.map +1 -1
- package/dist-tests/api/authenticate.spec.js +119 -0
- package/dist-tests/api/authenticate.spec.js.map +1 -0
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +97 -0
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +1 -0
- package/dist-tests/api/ping.spec.js +21 -0
- package/dist-tests/api/ping.spec.js.map +1 -0
- package/dist-tests/helpers/auth.js +41 -0
- package/dist-tests/helpers/auth.js.map +1 -0
- package/dist-tests/helpers/env.js +11 -0
- package/dist-tests/helpers/env.js.map +1 -0
- package/docs/agent-hub-grooming.md +301 -0
- package/docs/dashboards/AGENTIC_DASHBOARD_IMPLEMENTATION_PLAN.md +438 -0
- package/docs/dashboards/dashboard-curl-smoke-tests.txt +146 -0
- package/docs/dashboards/delete-legacy-dashboard-metadata.sql +172 -0
- package/docs/datasource-introspection-ddl-analysis.md +326 -0
- package/docs/datasource-introspection-implementation-plan.md +306 -0
- package/docs/grouping-enhancements.md +89 -0
- package/docs/java-spring/README.md +3 -0
- package/docs/java-spring/solid-core-module-deep-dive-report.md +1317 -0
- package/docs/module-package-import-handoff.md +691 -0
- package/docs/seed-changes.md +65 -0
- package/docs/test-data-workflow.md +200 -0
- package/docs/type-declaration-import-issue.md +24 -0
- package/package.json +1 -1
- package/src/commands/migrate-removed-fields.command.ts +81 -0
- package/src/controllers/datasource-introspection.controller.ts +27 -1
- package/src/dtos/datasource-introspection-mapping.dto.ts +15 -0
- package/src/entities/{legacy-common-with-id.entity.ts → legacy-common-with-generated-id.entity.ts} +1 -1
- package/src/helpers/command.service.ts +10 -2
- package/src/helpers/model-metadata-helper.service.ts +1 -1
- package/src/helpers/nodemon-heartbeat.ts +59 -0
- package/src/index.ts +3 -2
- package/src/interfaces/datasource-introspection-provider.interface.ts +1 -0
- package/src/seeders/module-metadata-seeder.service.ts +118 -0
- package/src/seeders/seed-data/solid-core-metadata.json +121 -34
- package/src/services/api-key.service.ts +36 -36
- package/src/services/computed-fields/entity/concat-entity-computed-field-provider.service.ts +15 -1
- package/src/services/crud.service.ts +36 -11
- package/src/services/datasource-introspection/mssql-datasource-introspection-provider.service.ts +12 -0
- package/src/services/datasource-introspection/mysql-datasource-introspection-provider.service.ts +2 -0
- package/src/services/datasource-introspection/postgres-datasource-introspection-provider.service.ts +28 -15
- package/src/services/datasource-introspection.service.ts +653 -150
- package/src/services/import-transaction.service.ts +5 -0
- package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +2 -2
- package/src/services/model-metadata.service.ts +45 -1
- package/src/services/module-metadata.service.ts +35 -0
- package/src/services/removed-field-migration.service.ts +334 -0
- package/src/solid-core.module.ts +4 -0
- package/src/subscribers/audit.subscriber.ts +70 -5
- package/.claude/settings.local.json +0 -15
- package/CLAUDE.md +0 -26
- package/dist/entities/legacy-common-with-id.entity.d.ts.map +0 -1
- package/dist/entities/legacy-common-with-id.entity.js.map +0 -1
- package/dist/entities/legacy-common.entity.d.ts.map +0 -1
- package/dist/entities/legacy-common.entity.js.map +0 -1
- package/src/services/1.js +0 -6
- /package/src/entities/{legacy-common.entity.ts → legacy-common.entity-with-existing-id.entity.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removed-field-migration.service.js","sourceRoot":"","sources":["../../src/services/removed-field-migration.service.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from \"fs/promises\";\nimport { BadRequestException, Injectable, Logger, NotFoundException } from \"@nestjs/common\";\nimport { ModuleRef } from \"@nestjs/core\";\nimport { getDataSourceToken } from \"@nestjs/typeorm\";\nimport { kebabCase, snakeCase } from \"lodash\";\nimport * as path from \"path\";\nimport { ERROR_MESSAGES } from \"src/constants/error-messages\";\nimport { RelationType, SolidFieldType } from \"src/dtos/create-field-metadata.dto\";\nimport { FieldMetadata } from \"src/entities/field-metadata.entity\";\nimport { ModelMetadata } from \"src/entities/model-metadata.entity\";\nimport { ModuleMetadataHelperService } from \"src/helpers/module-metadata-helper.service\";\nimport { classify } from \"src/helpers/string.helper\";\nimport { FieldMetadataRepository } from \"src/repository/field-metadata.repository\";\nimport { ModelMetadataRepository } from \"src/repository/model-metadata.repository\";\nimport { DataSource, EntityMetadata, QueryRunner, Table } from \"typeorm\";\n\nexport interface RemovedFieldMigrationResult {\n dryRun: boolean;\n modelName: string;\n operations: string[];\n removedFieldNames: string[];\n}\n\n@Injectable()\nexport class RemovedFieldMigrationService {\n constructor(\n private readonly modelMetadataRepo: ModelMetadataRepository,\n private readonly fieldMetadataRepo: FieldMetadataRepository,\n private readonly moduleMetadataHelperService: ModuleMetadataHelperService,\n private readonly moduleRef: ModuleRef,\n ) { }\n\n private readonly logger = new Logger(RemovedFieldMigrationService.name);\n\n // Cleans fields marked for removal by updating schema state and metadata for a single model.\n async migrateMarkedFields(modelUserKey: string, dryRun: boolean = false): Promise<RemovedFieldMigrationResult> {\n if (!modelUserKey) {\n throw new BadRequestException(\"Model name is required\");\n }\n\n const model = await this.modelMetadataRepo.findOne({\n where: { singularName: modelUserKey },\n relations: { fields: true, module: true },\n });\n\n if (!model) {\n throw new NotFoundException(ERROR_MESSAGES.MODEL_NOT_FOUND(modelUserKey));\n }\n\n const fieldsForRemoval = model.fields.filter((field) => field.isMarkedForRemoval);\n const operations: string[] = [];\n\n if (fieldsForRemoval.length === 0) {\n const message = `No fields marked for removal were found for model \"${model.singularName}\".`;\n this.logger.log(message);\n operations.push(message);\n return {\n dryRun,\n modelName: model.singularName,\n operations,\n removedFieldNames: [],\n };\n }\n\n const dataSource = await this.resolveDataSource(model.dataSource);\n const entityMetadata = this.resolveEntityMetadata(dataSource, model);\n const queryRunner = dataSource.createQueryRunner();\n\n try {\n await queryRunner.connect();\n\n if (!dryRun) {\n await queryRunner.startTransaction();\n }\n\n for (const field of fieldsForRemoval) {\n await this.cleanupMarkedField({\n field,\n model,\n entityMetadata,\n queryRunner,\n dryRun,\n operations,\n });\n }\n\n if (!dryRun) {\n await queryRunner.commitTransaction();\n }\n } catch (error) {\n if (!dryRun && queryRunner.isTransactionActive) {\n await queryRunner.rollbackTransaction();\n }\n throw error;\n } finally {\n await queryRunner.release();\n }\n\n return {\n dryRun,\n modelName: model.singularName,\n operations,\n removedFieldNames: fieldsForRemoval.map((field) => field.name),\n };\n }\n\n private async cleanupMarkedField(params: { field: FieldMetadata; model: ModelMetadata; entityMetadata?: EntityMetadata; queryRunner: QueryRunner; dryRun: boolean; operations: string[]; }): Promise<void> {\n const { field, model, entityMetadata, queryRunner, dryRun, operations } = params;\n const relationMetadata = entityMetadata?.relations.find((relation) => relation.propertyName === field.name);\n const resolvedTableName = entityMetadata?.tableName || model.tableName;\n\n if (field.type !== SolidFieldType.relation) {\n const columnCandidates = this.buildColumnCandidates(field, entityMetadata, relationMetadata);\n await this.dropColumnsForField(resolvedTableName, field, columnCandidates, queryRunner, dryRun, operations);\n return;\n }\n\n if (field.relationType === RelationType.manyToOne) {\n const columnCandidates = this.buildColumnCandidates(field, entityMetadata, relationMetadata);\n await this.dropColumnsForField(resolvedTableName, field, columnCandidates, queryRunner, dryRun, operations);\n return;\n }\n\n if (field.relationType === RelationType.manyTomany) {\n const joinTableName = relationMetadata?.junctionEntityMetadata?.tableName || field.relationJoinTableName;\n const ownsJoinTable = relationMetadata?.isOwning || field.isRelationManyToManyOwner;\n\n if (!ownsJoinTable) {\n operations.push(`No direct database cleanup required for inverse many-to-many field \"${field.name}\".`);\n return;\n }\n\n if (!joinTableName) {\n operations.push(`Skipping join-table cleanup for \"${field.name}\" because no join table name could be resolved.`);\n return;\n }\n\n await this.dropJoinTable(joinTableName, field, queryRunner, dryRun, operations);\n return;\n }\n\n operations.push(`No direct database cleanup required for relation field \"${field.name}\" with type \"${field.relationType}\".`);\n }\n\n private async dropColumnsForField(tableName: string, field: FieldMetadata, columnCandidates: string[], queryRunner: QueryRunner, dryRun: boolean, operations: string[],): Promise<void> {\n if (!tableName) {\n operations.push(`Skipping field \"${field.name}\" because the model table name could not be resolved.`);\n return;\n }\n\n if (columnCandidates.length === 0) {\n operations.push(`Skipping field \"${field.name}\" because no column candidates could be resolved.`);\n return;\n }\n\n const handledColumns = new Set<string>();\n let droppedAnyColumn = false;\n\n for (const columnName of columnCandidates) {\n if (!columnName || handledColumns.has(columnName)) {\n continue;\n }\n\n handledColumns.add(columnName);\n const table = await this.loadTable(queryRunner, tableName);\n const column = table?.columns.find((tableColumn) => tableColumn.name === columnName);\n\n if (!column) {\n continue;\n }\n\n droppedAnyColumn = true;\n await this.dropColumnArtifacts(table, columnName, queryRunner, dryRun, operations);\n }\n\n if (!droppedAnyColumn) {\n operations.push(`No database column found for field \"${field.name}\" on table \"${tableName}\". Metadata cleanup will still proceed.`);\n }\n }\n\n private async dropColumnArtifacts(table: Table, columnName: string, queryRunner: QueryRunner, dryRun: boolean, operations: string[],): Promise<void> {\n for (const foreignKey of table.foreignKeys.filter((item) => item.columnNames.includes(columnName))) {\n operations.push(`Drop foreign key \"${foreignKey.name}\" on \"${table.name}.${columnName}\"`);\n if (!dryRun) {\n await queryRunner.dropForeignKey(table, foreignKey);\n }\n }\n\n for (const uniqueConstraint of table.uniques.filter((item) => item.columnNames.includes(columnName))) {\n operations.push(`Drop unique constraint \"${uniqueConstraint.name}\" on \"${table.name}.${columnName}\"`);\n if (!dryRun) {\n await queryRunner.dropUniqueConstraint(table, uniqueConstraint);\n }\n }\n\n for (const index of table.indices.filter((item) => item.columnNames.includes(columnName))) {\n operations.push(`Drop index \"${index.name}\" on \"${table.name}.${columnName}\"`);\n if (!dryRun) {\n await queryRunner.dropIndex(table, index);\n }\n }\n\n operations.push(`Drop column \"${table.name}.${columnName}\"`);\n if (!dryRun) {\n await queryRunner.dropColumn(table, columnName);\n }\n }\n\n private async dropJoinTable(joinTableName: string, field: FieldMetadata, queryRunner: QueryRunner, dryRun: boolean, operations: string[]): Promise<void> {\n const table = await this.loadTable(queryRunner, joinTableName);\n if (!table) {\n operations.push(`Join table \"${joinTableName}\" for field \"${field.name}\" does not exist. Metadata cleanup will still proceed.`);\n return;\n }\n\n operations.push(`Drop join table \"${joinTableName}\" for field \"${field.name}\"`);\n if (!dryRun) {\n await queryRunner.dropTable(joinTableName);\n }\n }\n\n private buildColumnCandidates(field: FieldMetadata, entityMetadata?: EntityMetadata, relationMetadata?: EntityMetadata[\"relations\"][number]): string[] {\n const columnCandidates = new Set<string>();\n\n relationMetadata?.joinColumns?.forEach((column) => {\n if (column.databaseName) {\n columnCandidates.add(column.databaseName);\n }\n });\n\n entityMetadata?.columns\n .filter((column) => column.propertyName === field.name)\n .forEach((column) => {\n if (column.databaseName) {\n columnCandidates.add(column.databaseName);\n }\n });\n\n if (field.columnName) {\n columnCandidates.add(field.columnName);\n }\n\n if (field.relationCoModelColumnName) {\n columnCandidates.add(field.relationCoModelColumnName);\n }\n\n if (field.type === SolidFieldType.relation && field.relationType === RelationType.manyToOne) {\n columnCandidates.add(`${snakeCase(field.name)}_id`);\n } else {\n columnCandidates.add(snakeCase(field.name));\n }\n\n return [...columnCandidates].filter(Boolean);\n }\n\n private async resolveDataSource(dataSourceName?: string): Promise<DataSource> {\n const normalizedDataSourceName = dataSourceName && dataSourceName !== \"default\" ? dataSourceName : undefined;\n const token = normalizedDataSourceName ? getDataSourceToken(normalizedDataSourceName) : getDataSourceToken();\n let dataSource: DataSource | undefined;\n\n try {\n dataSource = this.moduleRef.get<DataSource>(token, { strict: false });\n } catch (error: any) {\n throw new NotFoundException(`Datasource \"${normalizedDataSourceName ?? \"default\"}\" could not be resolved: ${error?.message ?? error}`);\n }\n\n if (!dataSource) {\n throw new NotFoundException(`Datasource \"${normalizedDataSourceName ?? \"default\"}\" could not be resolved.`);\n }\n\n if (!dataSource.isInitialized) {\n await dataSource.initialize();\n }\n\n return dataSource;\n }\n\n private resolveEntityMetadata(dataSource: DataSource, model: ModelMetadata): EntityMetadata | undefined {\n const candidates = [classify(model.singularName), model.singularName, model.tableName].filter(Boolean);\n\n for (const candidate of candidates) {\n try {\n return dataSource.getMetadata(candidate);\n } catch {\n // Try the next candidate.\n }\n }\n\n return dataSource.entityMetadatas.find((metadata) => metadata.tableName === model.tableName);\n }\n\n private async resolveMetadataFilePath(moduleName: string): Promise<string> {\n const defaultPath = await this.moduleMetadataHelperService.getModuleMetadataFilePath(moduleName);\n if (await this.fileExists(defaultPath)) {\n return defaultPath;\n }\n\n const dashModuleName = kebabCase(moduleName);\n const moduleMetadataFilePath = path.resolve(\n process.cwd(),\n \"module-metadata\",\n dashModuleName,\n `${dashModuleName}-metadata.json`,\n );\n\n if (await this.fileExists(moduleMetadataFilePath)) {\n return moduleMetadataFilePath;\n }\n\n return defaultPath;\n }\n\n private async fileExists(filePath: string): Promise<boolean> {\n try {\n await fs.access(filePath);\n return true;\n } catch {\n return false;\n }\n }\n\n private async loadTable(queryRunner: QueryRunner, tableName: string): Promise<Table | undefined> {\n if (!tableName) {\n return undefined;\n }\n\n const hasTable = await queryRunner.hasTable(tableName);\n if (!hasTable) {\n return undefined;\n }\n\n return queryRunner.getTable(tableName) ?? undefined;\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;AAsYhF,qBAqea,eAAgB,YAAW,UAAU;IAChD,SAAS,CAAC,QAAQ,EAAE,kBAAkB;CAQvC"}
|
|
@@ -48,6 +48,7 @@ const core_1 = require("@nestjs/core");
|
|
|
48
48
|
const platform_express_1 = require("@nestjs/platform-express");
|
|
49
49
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
50
50
|
const remove_fields_command_1 = require("./commands/remove-fields.command");
|
|
51
|
+
const migrate_removed_fields_command_1 = require("./commands/migrate-removed-fields.command");
|
|
51
52
|
const field_metadata_controller_1 = require("./controllers/field-metadata.controller");
|
|
52
53
|
const dashboard_controller_1 = require("./controllers/dashboard.controller");
|
|
53
54
|
const media_storage_provider_metadata_controller_1 = require("./controllers/media-storage-provider-metadata.controller");
|
|
@@ -81,6 +82,7 @@ const list_of_values_service_1 = require("./services/list-of-values.service");
|
|
|
81
82
|
const media_storage_provider_metadata_service_1 = require("./services/media-storage-provider-metadata.service");
|
|
82
83
|
const media_service_1 = require("./services/media.service");
|
|
83
84
|
const model_metadata_service_1 = require("./services/model-metadata.service");
|
|
85
|
+
const removed_field_migration_service_1 = require("./services/removed-field-migration.service");
|
|
84
86
|
const module_metadata_explorer_service_1 = require("./services/module-metadata-explorer.service");
|
|
85
87
|
const module_metadata_service_1 = require("./services/module-metadata.service");
|
|
86
88
|
const module_package_service_1 = require("./services/module-package.service");
|
|
@@ -555,6 +557,7 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
|
|
|
555
557
|
field_metadata_service_1.FieldMetadataService,
|
|
556
558
|
dashboard_runtime_service_1.DashboardRuntimeService,
|
|
557
559
|
remove_fields_command_1.RemoveFieldsCommand,
|
|
560
|
+
migrate_removed_fields_command_1.MigrateRemovedFieldsCommand,
|
|
558
561
|
refresh_model_command_1.RefreshModelCommand,
|
|
559
562
|
refresh_module_command_1.RefreshModuleCommand,
|
|
560
563
|
info_command_1.InfoCommand,
|
|
@@ -795,6 +798,7 @@ exports.SolidCoreModule = SolidCoreModule = __decorate([
|
|
|
795
798
|
user_view_metadata_repository_1.UserViewMetadataRepository,
|
|
796
799
|
model_metadata_repository_1.ModelMetadataRepository,
|
|
797
800
|
module_metadata_repository_1.ModuleMetadataRepository,
|
|
801
|
+
removed_field_migration_service_1.RemovedFieldMigrationService,
|
|
798
802
|
action_metadata_repository_1.ActionMetadataRepository,
|
|
799
803
|
media_storage_provider_metadata_repository_1.MediaStorageProviderMetadataRepository,
|
|
800
804
|
fixtures_service_1.FixturesService,
|
|
@@ -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 { 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 { 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 { 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 { 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 { 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 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 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\n TestQueuePublisherDatabase,\n TestQueueSubscriberDatabase,\n TestQueuePublisherRedis,\n TestQueueSubscriberRedis,\n ApiEmailQueuePublisherRedis,\n ApiEmailQueueSubscriberRedis,\n ChatterQueuePublisherRedis,\n ChatterQueueSubscriberRedis,\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 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kBAAgB;AAChB,2CAAgF;AAChF,iDAAmC;AACnC,2CAA6D;AAC7D,uCAOsB;AACtB,+DAAwD;AACxD,6CAAgD;AAChD,4EAAuE;AACvE,8FAAwF;AACxF,uFAAkF;AAClF,6EAAyE;AACzE,yHAAkH;AAClH,uFAAkF;AAClF,2GAAqG;AACrG,yFAAoF;AACpF,uFAAkF;AAClF,qGAAgG;AAChG,2GAAsG;AACtG,mEAA+D;AAC/D,4EAAiE;AACjE,4EAAgE;AAChE,8GAAiG;AACjG,0DAAgD;AAChD,4EAAiE;AACjE,8EAAmE;AACnE,+DAA2D;AAC3D,mEAA+D;AAC/D,0IAA0H;AAC1H,gLAA+J;AAC/J,wKAAuJ;AACvJ,gJAAiI;AACjI,6FAAuF;AACvF,iFAA2E;AAC3E,wEAAmE;AACnE,4FAAuF;AACvF,kGAA6F;AAC7F,8EAAyE;AACzE,oFAA+E;AAC/E,8EAAwE;AAExE,gHAAyG;AACzG,4DAAwD;AACxD,8EAAyE;AACzE,gGAA0F;AAC1F,kGAA4F;AAC5F,gFAA2E;AAC3E,8EAAyE;AACzE,kFAA6E;AAE7E,uDAAyD;AACzD,+BAA4B;AAC5B,4EAAuE;AACvE,qEAAiE;AAEjE,8EAAyE;AACzE,uFAAkF;AAElF,qFAAgF;AAChF,0EAA+D;AAC/D,4EAAuE;AAEvE,yFAAoF;AACpF,8EAAmE;AACnE,gFAA2E;AAE3E,yGAAoG;AACpG,2GAAsG;AACtG,6IAAsI;AACtI,2FAAsF;AACtF,6FAAwF;AACxF,+HAAwH;AAExH,6FAA0F;AAC1F,2FAAwF;AACxF,yFAAoF;AACpF,iHAA0G;AAE1G,yCAA2C;AAC3C,qCAAwC;AACxC,0DAAsD;AACtD,oEAA+D;AAC/D,oEAA8D;AAC9D,0DAAsD;AACtD,uFAAmF;AACnF,uFAAkF;AAClF,qGAAgG;AAChG,+FAAyF;AACzF,2FAAqF;AACrF,+EAA0E;AAC1E,+FAA0F;AAC1F,yEAAqE;AACrE,mFAA8E;AAC9E,+EAA0E;AAC1E,gFAAqE;AACrE,4EAAiE;AACjE,oFAAwE;AACxE,gFAAoE;AACpE,oEAAyD;AACzD,wEAA6D;AAC7D,oEAA+D;AAC/D,0DAAqD;AACrD,wEAAoE;AACpE,kEAA8D;AAC9D,6DAAyD;AACzD,4EAAwE;AACxE,6FAAqF;AACrF,+FAAuF;AACvF,iHAAmG;AACnG,mHAAqG;AACrG,wGAA0F;AAC1F,0GAA4F;AAC5F,uGAA+F;AAC/F,yGAAiG;AACjG,6FAAqF;AACrF,+FAAuF;AACvF,6FAAqF;AACrF,+FAAuF;AACvF,+FAA+F;AAC/F,iGAAiG;AACjG,+FAAkF;AAClF,iGAAoF;AACpF,qGAAgG;AAChG,uGAAkG;AAClG,uHAAyG;AACzG,yHAA2G;AAC3G,sGAA6F;AAC7F,wGAA+F;AAC/F,8GAAgG;AAChG,gHAAkG;AAClG,sIAAuH;AACvH,wIAAyH;AACzH,8GAAgG;AAChG,gHAAkG;AAClG,sGAA6F;AAC7F,wGAA+F;AAC/F,sGAA6F;AAC7F,wGAA+F;AAC/F,gHAAuG;AACvG,kHAAyG;AACzG,wGAA+F;AAC/F,0GAAiG;AACjG,oHAA2G;AAC3G,sHAA6G;AAC7G,wGAA+F;AAC/F,0GAAiG;AACjG,uFAAkF;AAClF,uFAAkF;AAClF,gEAA2D;AAC3D,8EAA0E;AAC1E,8DAA0D;AAC1D,qKAAqJ;AACrJ,kJAAkI;AAClI,8EAAyE;AACzE,0CAOyB;AACzB,gEAA4D;AAC5D,iFAA4E;AAC5E,2EAAsE;AACtE,sFAAgF;AAChF,kFAA4E;AAC5E,sEAAiE;AACjE,wDAAoD;AACpD,oGAA6F;AAC7F,kFAA4E;AAC5E,wIAAyH;AACzH,4EAAuE;AACvE,0EAAqE;AACrE,oEAAiE;AACjE,oEAAiE;AAEjE,mFAAgF;AAChF,yGAAkG;AAElG,iGAA4F;AAC5F,sFAA2E;AAC3E,wFAAmF;AAEnF,+CAAkD;AAClD,2CAAuC;AACvC,yGAAmG;AACnG,yFAAoF;AAEpF,yFAAoF;AACpF,+FAA0F;AAC1F,mHAA4G;AAC5G,+FAA0F;AAC1F,uFAAiF;AACjF,uEAAmE;AACnE,qFAAgF;AAChF,qFAAgF;AAChF,qFAAgF;AAChF,qFAAgF;AAChF,iFAA4E;AAC5E,qFAA+E;AAC/E,qFAAgF;AAChF,yEAAqE;AACrE,mEAA+D;AAC/D,0DAAsD;AACtD,qGAA+F;AAC/F,+FAAyF;AACzF,mEAA+D;AAC/D,8FAAkF;AAClF,8EAAmE;AAEnE,8EAAmE;AACnE,oFAAyE;AACzE,wGAA2F;AAC3F,oFAAyE;AACzE,4DAAkD;AAClD,0EAA+D;AAC/D,0EAA+D;AAC/D,0EAA+D;AAC/D,0EAA+D;AAC/D,sEAA2D;AAC3D,0EAA8D;AAC9D,0EAA+D;AAC/D,8DAAoD;AACpD,0FAA8E;AAC9E,oFAAwE;AACxE,wEAA4D;AAC5D,wDAA8C;AAC9C,2EAAsE;AACtE,2FAAqF;AACrF,6FAAuF;AACvF,+GAAsG;AACtG,iHAAwG;AACxG,+IAAgI;AAChI,iJAAkI;AAClI,uHAAyG;AACzG,yHAA2G;AAC3G,mGAA2F;AAC3F,qGAA6F;AAC7F,+GAAsG;AACtG,iHAAwG;AACxG,iHAAwG;AACxG,mHAA0G;AAE1G,iHAAwG;AACxG,mHAA0G;AAG1G,2DAAuD;AACvD,yEAAoE;AACpE,+GAAgG;AAChG,6HAAuH;AACvH,+HAAyH;AACzH,yHAAgH;AAChH,2HAAkH;AAClH,6HAAoH;AACpH,+HAAsH;AACtH,qGAAgG;AAChG,uGAAkG;AAClG,2GAAmG;AACnG,6GAAqG;AACrG,+FAA+F;AAC/F,iGAAiG;AACjG,2EAAqE;AACrE,wFAAmF;AACnF,wGAAkG;AAClG,wFAAmF;AAEnF,sFAAiF;AACjF,wFAAmF;AACnF,8FAAyF;AACzF,sFAAiF;AACjF,kHAA2G;AAC3G,8FAAyF;AACzF,sFAAgF;AAChF,sEAAkE;AAClE,oEAAgE;AAChE,8FAAwF;AACxF,sFAAiF;AACjF,wFAAmF;AACnF,0FAAoF;AACpF,8EAAyE;AACzE,gGAA2F;AAC3F,oFAA+E;AAC/E,oFAA+E;AAC/E,oFAA+E;AAC/E,oFAA+E;AAC/E,gFAA2E;AAC3E,oFAA8E;AAC9E,oFAA+E;AAC/E,wEAAoE;AACpE,kFAA6E;AAC7E,oGAA8F;AAC9F,8FAAwF;AACxF,kFAA4E;AAC5E,kEAA8D;AAC9D,oFAA+E;AAC/E,qGAA+F;AAC/F,yFAAmF;AACnF,gGAA0F;AAC1F,gFAA2E;AAC3E,8HAAgH;AAChH,mJAAwI;AACxI,mJAAoI;AACpI,wJAAwI;AACxI,4JAA4I;AAC5I,4IAA6H;AAC7H,sJAAsI;AACtI,8JAA6I;AAC7I,wJAAwI;AACxI,oJAAoI;AACpI,gJAAiI;AACjI,sJAAuI;AACvI,8JAA8I;AAC9I,kJAAkI;AAClI,sJAAsI;AACtI,gJAAgI;AAChI,iJAAyI;AACzI,0DAAsD;AACtD,wDAAoD;AAEpD,4DAAwD;AACxD,gFAA2E;AAC3E,sFAAiF;AACjF,0GAAmG;AACnG,sFAAiF;AACjF,8DAA0D;AAC1D,wGAAkG;AAClG,kGAA6F;AAC7F,8DAA0D;AAC1D,2FAA+E;AAC/E,gFAA2E;AAC3E,4EAAuE;AACvE,4EAAuE;AACvE,4EAAuE;AACvE,4EAAuE;AACvE,wEAAmE;AACnE,4EAAsE;AACtE,mFAAmF;AACnF,4EAAuE;AACvE,wJAAwI;AACxI,kIAAoH;AACpH,gEAA4D;AAC5D,sEAAmE;AACnE,8EAAwE;AACxE,kEAA8D;AAC9D,4FAAsF;AACtF,sFAAgF;AAChF,0DAAsD;AACtD,uFAAoF;AACpF,qEAAiE;AACjE,qGAA+F;AAC/F,qGAA8F;AAC9F,uFAAiF;AACjF,qFAAgF;AAChF,qFAAgF;AAChF,qFAA+E;AAC/E,wHAAiH;AACjH,wDAAoD;AACpD,kEAA8D;AAC9D,uFAAkF;AAClF,+FAAyF;AACzF,iIAA0H;AAC1H,4EAAiE;AACjE,8EAAyE;AACzE,uFAAkF;AAClF,sFAAiF;AACjF,yDAAoD;AACpD,0DAA6D;AAC7D,6GAAyG;AACzG,yDAAqD;AACrD,mEAA+D;AAC/D,2EAAuE;AACvE,qGAAwF;AACxF,0DAAsD;AACtD,sIAAuH;AAEvH,0FAA8E;AAC9E,4FAAsF;AACtF,qGAA+F;AAC/F,sGAAgG;AAChG,yJAAkJ;AAClJ,yJAAkJ;AAClJ,+JAAwJ;AAuejJ,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,SAAS,CAAC,QAA4B;QACpC,QAAQ;aACL,KAAK,CACJ,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAC/B,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CACtD;aACA,SAAS,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CACF,CAAA;AATY,0CAAe;0BAAf,eAAe;IAre3B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,uCAAc;gBACd,uCAAc;gBACd,sDAAqB;gBACrB,yCAAe;gBACf,qCAAa;gBACb,uCAAc;gBACd,6CAAiB;gBACjB,qCAAa;gBACb,6CAAiB;gBACjB,+DAAyB;gBACzB,oCAAY;gBACZ,sBAAM;gBACN,oBAAK;gBACL,qEAA4B;gBAC5B,4CAAgB;gBAChB,qCAAa;gBACb,uCAAc;gBACd,6BAAS;gBACT,wCAAc;gBACd,+CAAkB;gBAClB,mCAAY;gBACZ,mCAAY;gBACZ,mCAAY;gBACZ,mCAAY;gBACZ,+BAAU;gBACV,kCAAW;gBACX,mCAAY;gBACZ,wBAAO;gBACP,iCAAW;gBACX,kBAAI;gBACJ,gCAAU;gBACV,kDAAmB;gBACnB,4CAAgB;gBAChB,mCAAY;gBACZ,qCAAa;aACd,CAAC;YAEF,2BAAW,CAAC,aAAa,CAAC,mCAAmB,CAAC;YAC9C,yBAAc,CAAC,OAAO,EAAE;YACxB,gCAAiB,CAAC,OAAO,CAAC;gBACxB,QAAQ,EAAE,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC;gBACpD,SAAS,EAAE,sBAAsB;gBACjC,kBAAkB,EAAE;oBAClB,UAAU,EAAE,CAAC,GAAG,EAAmB,EAAE;wBAGnC,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;oBAKhE,CAAC;iBACF;aACF,CAAC;YACF,+BAAY,CAAC,aAAa,CAAC;gBACzB,OAAO,EAAE,CAAC,qBAAY,CAAC;gBACvB,UAAU,EAAE,KAAK,EAAE,aAA4B,EAAE,EAAE,CAAC,CAAC;oBACnD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,eAAe;iBACzD,CAAC;gBACF,MAAM,EAAE,CAAC,sBAAa,CAAC;aACxB,CAAC;YACF,kBAAU;YACV,qBAAY;YACZ,sBAAS;YACT,eAAS,CAAC,QAAQ,CAAC;gBACjB,MAAM,EAAE,IAAI;aACb,CAAC;YACF,uBAAa,CAAC,UAAU,CAAC,CAAC,kDAAmB,CAAC,CAAC;SAChD;QACD,WAAW,EAAE;YACX,qDAAwB;YACxB,oDAAwB;YACxB,qDAAwB;YACxB,oEAA+B;YAC/B,mDAAuB;YACvB,qDAAwB;YACxB,2DAA2B;YAC3B,mDAAuB;YACvB,0CAAmB;YACnB,iEAA8B;YAC9B,uEAAiC;YACjC,iEAA8B;YAC9B,qEAAgC;YAChC,uEAAiC;YACjC,uGAAgD;YAChD,2DAA2B;YAC3B,6EAAmC;YACnC,kDAAsB;YACtB,oCAAgB;YAChB,kCAAe;YACf,mFAAsC;YACtC,0DAA0B;YAC1B,mDAAuB;YACvB,sEAAgC;YAChC,qDAAwB;YACxB,mDAAuB;YACvB,2CAAmB;YACnB,sDAAwB;YACxB,qDAAwB;YACxB,2EAAkC;YAClC,2DAA2B;YAC3B,6DAA4B;YAC5B,iDAAsB;YACtB,iDAAsB;YACtB,iDAAsB;YACtB,iDAAsB;YACtB,6CAAoB;YACpB,gDAAqB;YACrB,iDAAsB;YACtB,sCAAiB;YACjB,sCAAiB;YACjB,gCAAc;YACd,+CAAqB;YACrB,gCAAc;YACd,2CAAmB;YACnB,gEAA6B;YAC7B,gCAAc;YACd,0DAA0B;YAC1B,iDAAsB;YACtB,mDAAuB;YACvB,gEAA6B;SAC9B;QACD,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,sBAAe;gBACxB,QAAQ,EAAE,wCAAkB;aAC7B;YACD;gBACE,OAAO,EAAE,gCAAc;gBACvB,QAAQ,EAAE,8BAAa;aACxB;YACD;gBACE,OAAO,EAAE,gBAAS;gBAClB,QAAQ,EAAE,0CAAmB;aAC9B;YACD;gBACE,OAAO,EAAE,gBAAS;gBAClB,QAAQ,EAAE,oCAAgB;aAC3B;YACD;gBACE,OAAO,EAAE,iBAAU;gBACnB,QAAQ,EAAE,2CAAmB;aAC9B;YACD,+CAAqB;YACrB,2DAA2B;YAC3B,iEAA8B;YAC9B,gEAA6B;YAC7B,4DAA2B;YAC3B,6CAAoB;YACpB,6CAAoB;YACpB,0DAA0B;YAC1B,6CAAoB;YACpB,mDAAuB;YACvB,2CAAmB;YACnB,4DAA2B;YAC3B,2CAAmB;YACnB,6CAAoB;YACpB,0BAAW;YACX,0BAAW;YACX,iDAAsB;YACtB,uBAAgB;YAChB,uCAAiB;YACjB,0BAAW;YACX,gBAAS;YACT,sBAAe;YACf,gCAAc;YACd,oCAAgB;YAChB,6EAAmC;YACnC,4BAAY;YAEZ,4DAA2B;YAC3B,gDAAqB;YACrB,4CAAmB;YACnB,0EAA6B;YAC7B,uGAA2C;YAC3C,+GAA+C;YAC/C,iFAAiC;YACjC,mDAAuB;YACvB,2CAAmB;YACnB,+CAAqB;YACrB,oDAAuB;YACvB,uBAAgB;YAChB,gBAAS;YACT,sBAAe;YACf,sBAAe;YACf,oBAAa;YACb,yBAAkB;YAClB,6BAAsB;YACtB,2BAAoB;YACpB,gCAAyB;YACzB,kCAAe;YACf,8BAAa;YACb,0BAAW;YACX,0BAAW;YACX,mCAAe;YACf,kCAAc;YACd,wBAAU;YACV,qCAAgB;YAChB,2CAAmB;YACnB,iCAAe;YACf,iCAAe;YACf,2CAAoB;YACpB,mDAAwB;YACxB,qDAAyB;YACzB,mCAAgB;YAChB,yCAAkB;YAClB,6CAAoB;YACpB,4CAAgB;YAChB,8BAAa;YACb,yCAAkB;YAClB,qEAA2B;YAE3B,8DAA+B;YAC/B,gEAAgC;YAChC,uEAA+B;YAC/B,yEAAgC;YAChC,oDAAsB;YACtB,sDAAuB;YACvB,qEAA8B;YAC9B,uEAA+B;YAC/B,oDAAsB;YACtB,sDAAuB;YACvB,qEAA8B;YAC9B,uEAA+B;YAC/B,uEAA+B;YAC/B,yEAAgC;YAChC,8DAA+B;YAC/B,gEAAgC;YAChC,oDAAsB;YACtB,sDAAuB;YACvB,0DAAyB;YACzB,4DAA0B;YAC1B,8DAA2B;YAC3B,gEAA4B;YAC5B,+EAAmC;YACnC,iFAAoC;YACpC,kEAA6B;YAC7B,oEAA8B;YAC9B,mFAAqC;YACrC,qFAAsC;YACtC,+CAAsB;YACtB,qCAAgB;YAChB,gDAAqB;YACrB,iCAAc;YACd,wBAAU;YACV,sFAAmC;YACnC,kGAAyC;YACzC,yEAA6B;YAC7B,wFAAoC;YACpC,oEAA2B;YAC3B,mEAA8B;YAC9B,qCAAgB;YAChB,2BAAW;YACX,+BAAa;YACb,8CAAqB;YACrB,iEAA8B;YAC9B,iEAA6B;YAC7B,gDAAqB;YACrB,2CAAmB;YACnB,+CAAqB;YACrB,iDAAsB;YACtB,iFAAqC;YACrC,qDAAwB;YACxB,iDAAkB;YAClB,mDAAmB;YAEnB,+DAA6B;YAC7B,iEAA8B;YAC9B,wEAA6B;YAC7B,0EAA8B;YAE9B,kEAA0B;YAC1B,oEAA2B;YAC3B,4DAAuB;YACvB,8DAAwB;YACxB,+DAA2B;YAC3B,iEAA4B;YAC5B,kEAA0B;YAC1B,oEAA2B;YAC3B,yFAAqC;YACrC,2FAAsC;YACtC,kEAA0B;YAC1B,oEAA2B;YAC3B,+DAA2B;YAC3B,iEAA4B;YAC5B,+DAA2B;YAC3B,iEAA4B;YAC5B,yEAAgC;YAChC,2EAAiC;YACjC,iEAA4B;YAC5B,mEAA6B;YAC7B,6EAAkC;YAClC,+EAAmC;YACnC,iEAA4B;YAC5B,mEAA6B;YAC7B,wEAA6B;YAC7B,0EAA8B;YAC9B,+DAA6B;YAC7B,iEAA8B;YAC9B,oDAAsB;YACtB,gDAAqB;YACrB,qCAAgB;YAChB,2CAAmB;YACnB,wCAAoB;YACpB,uDAAyB;YACzB,2CAAmB;YACnB,oEAA+B;YAC/B,0BAAW;YACX,8CAAoB;YACpB,gCAAc;YACd,gCAAc;YACd,oEAA2B;YAC3B,sFAAmC;YACnC,8FAAuC;YACvC,wFAAoC;YACpC,4FAAsC;YACtC,kFAAiC;YACjC,gFAAgC;YAChC,sFAAmC;YACnC,uFAAoC;YACpC,wFAAoC;YACpC,6FAAsC;YACtC,oFAAkC;YAClC,6EAA+B;YAC/B,iFAAiC;YACjC,2CAAmB;YACnB,gDAAqB;YACrB,kCAAe;YACf,gDAAqB;YACrB,2CAAmB;YACnB,oDAAuB;YACvB,2CAAmB;YACnB,iDAAsB;YACtB,iDAAsB;YACtB,+CAAqB;YACrB,2CAAmB;YACnB,+CAAqB;YACrB,8DAA4B;YAC5B,8BAAa;YACb,kCAAe;YACf,+CAAqB;YACrB,qDAAwB;YACxB,4BAAY;YACZ,wBAAU;YACV,2DAA2B;YAC3B,mDAAuB;YACvB,6FAA2C;YAC3C,6FAA2C;YAC3C,mGAA8C;YAC9C,qDAAwB;YACxB,uEAAgC;YAChC,+DAA4B;YAC5B,wDAAyB;YACzB,mDAAuB;YACvB,gEAA6B;YAC7B,+FAAwC;YACxC,iGAAyC;YACzC,sFAAwC;YACxC,wFAAyC;YACzC,iFAAiC;YACjC,0DAA0B;YAC1B,sFAAuC;YAEvC,4CAAmB;YAEnB,iDAAsB;YACtB,iDAAsB;YACtB,iDAAsB;YACtB,6CAAoB;YACpB,gDAAqB;YACrB,2CAAmB;YACnB,uCAAiB;YACjB,0CAAkB;YAClB,iDAAsB;YACtB,qFAAqC;YACrC,kDAAsB;YACtB,0CAAkB;YAClB,0BAAW;YACX,kCAAe;YACf,wBAAU;YACV,qDAAwB;YACxB,oEAA+B;YAC/B,mDAAuB;YACvB,qDAAwB;YACxB,2DAA2B;YAC3B,6EAAmC;YACnC,2DAA2B;YAC3B,kDAAsB;YACtB,oCAAgB;YAChB,0DAA0B;YAC1B,sDAAwB;YACxB,2CAAmB;YACnB,6DAA4B;YAC5B,iDAAsB;YACtB,iDAAsB;YACtB,sCAAiB;YACjB,+CAAqB;YACrB,gEAA6B;YAC7B,0DAA0B;YAC1B,mDAAuB;YACvB,qDAAwB;YACxB,8DAA4B;YAC5B,qDAAwB;YACxB,mFAAsC;YACtC,kCAAe;YACf,6CAAoB;YACpB,oDAAuB;YACvB,uEAAgC;YAChC,6CAAoB;YACpB,mDAAuB;YACvB,oEAAgC;YAChC,4CAAoB;YACpB,6DAAwB;YACxB,uEAA4B;YAC5B,0DAA0B;YAC1B,gEAA6B;SAC9B;QACD,OAAO,EAAE;YACP,8CAAqB;YACrB,oEAA+B;YAC/B,8DAA4B;YAC5B,qDAAwB;YACxB,+CAAqB;YACrB,qBAAY;YACZ,uCAAiB;YACjB,0BAAW;YACX,wBAAU;YACV,uBAAgB;YAChB,6CAAoB;YACpB,2CAAmB;YACnB,4BAAY;YACZ,6CAAoB;YACpB,sBAAe;YACf,oBAAa;YACb,yBAAkB;YAClB,6BAAsB;YACtB,2BAAoB;YACpB,gCAAyB;YACzB,kBAAU;YACV,qDAAwB;YACxB,4CAAmB;YACnB,0BAAW;YACX,kCAAe;YACf,wBAAU;YACV,4BAAY;YACZ,6EAAmC;YACnC,0DAA0B;YAC1B,6CAAoB;YACpB,+CAAqB;YACrB,iEAA8B;YAC9B,gEAA6B;YAC7B,6CAAoB;YACpB,gDAAqB;YACrB,qCAAgB;YAChB,iCAAe;YACf,iCAAe;YACf,2CAAoB;YACpB,+BAAY;YACZ,wBAAU;YACV,8BAAa;YACb,4CAAgB;YAChB,2CAAmB;YACnB,6CAAoB;YACpB,+CAAqB;YACrB,wCAAoB;YACpB,iDAAsB;YACtB,yCAAkB;YAClB,qCAAgB;YAChB,iDAAsB;YACtB,8BAAa;YACb,kCAAe;YACf,iCAAc;YACd,mCAAgB;YAChB,uBAAa;YACb,0DAA0B;YAC1B,4CAAoB;YACpB,6DAAwB;YACxB,0BAAW;YACX,gCAAc;SACf;KACF,CAAC;GACW,eAAe,CAS3B","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 { 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 { 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 { 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 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\n TestQueuePublisherDatabase,\n TestQueueSubscriberDatabase,\n TestQueuePublisherRedis,\n TestQueueSubscriberRedis,\n ApiEmailQueuePublisherRedis,\n ApiEmailQueueSubscriberRedis,\n ChatterQueuePublisherRedis,\n ChatterQueueSubscriberRedis,\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,3 +1,4 @@
|
|
|
1
|
+
import { ModelMetadataHelperService } from '../helpers/model-metadata-helper.service';
|
|
1
2
|
import { SolidRegistry } from '../helpers/solid-registry';
|
|
2
3
|
import { DataSource, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';
|
|
3
4
|
import { AuditQueuePayload } from '../interfaces';
|
|
@@ -7,9 +8,10 @@ export declare class AuditSubscriber implements EntitySubscriberInterface {
|
|
|
7
8
|
private readonly publisherFactory;
|
|
8
9
|
private readonly solidRegistry;
|
|
9
10
|
private readonly requestContextService;
|
|
11
|
+
private readonly modelMetadataHelperService;
|
|
10
12
|
private readonly logger;
|
|
11
13
|
private dataSource;
|
|
12
|
-
constructor(publisherFactory: PublisherFactory<AuditQueuePayload>, solidRegistry: SolidRegistry, requestContextService: RequestContextService);
|
|
14
|
+
constructor(publisherFactory: PublisherFactory<AuditQueuePayload>, solidRegistry: SolidRegistry, requestContextService: RequestContextService, modelMetadataHelperService: ModelMetadataHelperService);
|
|
13
15
|
bindToDataSource(dataSource: DataSource): void;
|
|
14
16
|
private perTxn;
|
|
15
17
|
private enqueue;
|
|
@@ -17,6 +19,7 @@ export declare class AuditSubscriber implements EntitySubscriberInterface {
|
|
|
17
19
|
private activeUserId;
|
|
18
20
|
afterInsert(event: InsertEvent<any>): Promise<void>;
|
|
19
21
|
afterUpdate(event: UpdateEvent<any>): Promise<void>;
|
|
22
|
+
private prepareManyToManyAuditUpdateSnapshot;
|
|
20
23
|
afterRemove(event: RemoveEvent<any>): Promise<void>;
|
|
21
24
|
afterTransactionCommit(event: {
|
|
22
25
|
queryRunner: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.subscriber.d.ts","sourceRoot":"","sources":["../../src/subscribers/audit.subscriber.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audit.subscriber.d.ts","sourceRoot":"","sources":["../../src/subscribers/audit.subscriber.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAkB,yBAAyB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAGjF,qBACa,eAAgB,YAAW,yBAAyB;IAIzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAN/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,UAAU,CAAa;gBAEV,gBAAgB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,EACrD,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB,EAC5C,0BAA0B,EAAE,0BAA0B;IAG3E,gBAAgB,CAAC,UAAU,EAAE,UAAU;IAMvC,OAAO,CAAC,MAAM,CAA2C;IAEzD,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,YAAY;IAId,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAYnC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;YAgC3B,oCAAoC;IA8C5C,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;IAanC,sBAAsB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,GAAG,CAAA;KAAE;IAcxD,wBAAwB,CAAC,KAAK,EAAE;QAAE,WAAW,EAAE,GAAG,CAAA;KAAE;IAKpD,OAAO,CAAC,uBAAuB;YAMjB,iBAAiB;CAmBlC"}
|
|
@@ -12,15 +12,18 @@ var AuditSubscriber_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.AuditSubscriber = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
+
const model_metadata_helper_service_1 = require("../helpers/model-metadata-helper.service");
|
|
15
16
|
const string_helper_1 = require("../helpers/string.helper");
|
|
16
17
|
const solid_registry_1 = require("../helpers/solid-registry");
|
|
17
18
|
const request_context_service_1 = require("../services/request-context.service");
|
|
18
19
|
const publisher_factory_service_1 = require("../services/queues/publisher-factory.service");
|
|
20
|
+
const AUDIT_BEFORE_SNAPSHOT = '__auditBeforeSnapshot';
|
|
19
21
|
let AuditSubscriber = AuditSubscriber_1 = class AuditSubscriber {
|
|
20
|
-
constructor(publisherFactory, solidRegistry, requestContextService) {
|
|
22
|
+
constructor(publisherFactory, solidRegistry, requestContextService, modelMetadataHelperService) {
|
|
21
23
|
this.publisherFactory = publisherFactory;
|
|
22
24
|
this.solidRegistry = solidRegistry;
|
|
23
25
|
this.requestContextService = requestContextService;
|
|
26
|
+
this.modelMetadataHelperService = modelMetadataHelperService;
|
|
24
27
|
this.logger = new common_1.Logger(AuditSubscriber_1.name);
|
|
25
28
|
this.perTxn = new WeakMap();
|
|
26
29
|
}
|
|
@@ -55,17 +58,61 @@ let AuditSubscriber = AuditSubscriber_1 = class AuditSubscriber {
|
|
|
55
58
|
async afterUpdate(event) {
|
|
56
59
|
if (!this.shouldTrackAudit(event.metadata))
|
|
57
60
|
return;
|
|
61
|
+
const entityId = event.entity?.id ?? event.databaseEntity?.id ?? event.entityId ?? null;
|
|
62
|
+
let before = event.databaseEntity ?? null;
|
|
63
|
+
let after = event.entity ?? null;
|
|
64
|
+
const updatedColumnNames = (event.updatedColumns ?? []).map(c => c.propertyName);
|
|
65
|
+
const auditResult = await this.prepareManyToManyAuditUpdateSnapshot(event, entityId, updatedColumnNames);
|
|
66
|
+
if (auditResult) {
|
|
67
|
+
before = auditResult.before;
|
|
68
|
+
after = auditResult.after;
|
|
69
|
+
}
|
|
58
70
|
this.enqueue(event, {
|
|
59
71
|
eventType: 'update',
|
|
60
72
|
modelName: event.metadata.name,
|
|
61
|
-
entityId:
|
|
73
|
+
entityId: entityId,
|
|
62
74
|
occurredAt: new Date().toISOString(),
|
|
63
|
-
after:
|
|
64
|
-
before:
|
|
65
|
-
updatedColumnNames:
|
|
75
|
+
after: after,
|
|
76
|
+
before: before,
|
|
77
|
+
updatedColumnNames: updatedColumnNames,
|
|
66
78
|
userId: this.activeUserId(),
|
|
67
79
|
});
|
|
68
80
|
}
|
|
81
|
+
async prepareManyToManyAuditUpdateSnapshot(event, entityId, updatedColumnNames) {
|
|
82
|
+
const auditRelationFields = (await this.modelMetadataHelperService.loadFieldHierarchy((0, string_helper_1.lowerFirst)(event.metadata.name))).filter(field => field.enableAuditTracking &&
|
|
83
|
+
field.type === 'relation' &&
|
|
84
|
+
field.relationType !== 'one-to-many');
|
|
85
|
+
if (!entityId || auditRelationFields.length === 0) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
const relations = {};
|
|
89
|
+
auditRelationFields.forEach(field => {
|
|
90
|
+
relations[field.name] = true;
|
|
91
|
+
});
|
|
92
|
+
const relationBefore = event.entity?.[AUDIT_BEFORE_SNAPSHOT] ?? null;
|
|
93
|
+
const relationAfter = await event.manager.getRepository(event.metadata.target).findOne({
|
|
94
|
+
where: { id: entityId },
|
|
95
|
+
relations: relations,
|
|
96
|
+
});
|
|
97
|
+
if (relationBefore && relationAfter) {
|
|
98
|
+
auditRelationFields.forEach(field => {
|
|
99
|
+
const oldIds = Array.isArray(relationBefore[field.name])
|
|
100
|
+
? relationBefore[field.name].map(item => item.id).sort()
|
|
101
|
+
: [];
|
|
102
|
+
const newIds = Array.isArray(relationAfter[field.name])
|
|
103
|
+
? relationAfter[field.name].map(item => item.id).sort()
|
|
104
|
+
: [];
|
|
105
|
+
if ((oldIds.length !== newIds.length || JSON.stringify(oldIds) !== JSON.stringify(newIds))
|
|
106
|
+
&& !updatedColumnNames.includes(field.name)) {
|
|
107
|
+
updatedColumnNames.push(field.name);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
before: relationBefore ?? event.databaseEntity ?? null,
|
|
113
|
+
after: relationAfter ?? event.entity ?? null,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
69
116
|
async afterRemove(event) {
|
|
70
117
|
if (!this.shouldTrackAudit(event.metadata))
|
|
71
118
|
return;
|
|
@@ -116,6 +163,7 @@ exports.AuditSubscriber = AuditSubscriber = AuditSubscriber_1 = __decorate([
|
|
|
116
163
|
(0, common_1.Injectable)({ scope: common_1.Scope.TRANSIENT }),
|
|
117
164
|
__metadata("design:paramtypes", [publisher_factory_service_1.PublisherFactory,
|
|
118
165
|
solid_registry_1.SolidRegistry,
|
|
119
|
-
request_context_service_1.RequestContextService
|
|
166
|
+
request_context_service_1.RequestContextService,
|
|
167
|
+
model_metadata_helper_service_1.ModelMetadataHelperService])
|
|
120
168
|
], AuditSubscriber);
|
|
121
169
|
//# sourceMappingURL=audit.subscriber.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/audit.subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger, Scope } from '@nestjs/common';\nimport { lowerFirst } from 'src/helpers/string.helper';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { DataSource, EntityMetadata, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';\nimport { AuditQueuePayload } from 'src/interfaces';\nimport { RequestContextService } from 'src/services/request-context.service';\nimport { PublisherFactory } from 'src/services/queues/publisher-factory.service';\n\n@Injectable({scope: Scope.TRANSIENT})\nexport class AuditSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(AuditSubscriber.name);\n private dataSource: DataSource;\n constructor(\n private readonly publisherFactory: PublisherFactory<AuditQueuePayload>,\n private readonly solidRegistry: SolidRegistry,\n private readonly requestContextService: RequestContextService,\n ) { }\n\n bindToDataSource(dataSource: DataSource) {\n this.dataSource = dataSource;\n this.dataSource.subscribers.push(this);\n }\n\n // Per-transaction buffer (auto-GC when queryRunner is gone)\n private perTxn = new WeakMap<any, AuditQueuePayload[]>();\n\n private enqueue(event: { queryRunner: any }, payload: AuditQueuePayload) {\n const qr = event.queryRunner;\n const arr = this.perTxn.get(qr) ?? [];\n arr.push(payload);\n this.perTxn.set(qr, arr);\n }\n\n private shouldTrackAudit(metadata: EntityMetadata): boolean {\n return this.solidRegistry.isAuditableModel(lowerFirst(metadata.name));\n }\n\n private activeUserId(): number | null {\n return this.requestContextService.getActiveUser()?.sub ?? null;\n }\n\n async afterInsert(event: InsertEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'insert',\n modelName: event.metadata.name,\n entityId: event.entity?.id ?? null,\n occurredAt: new Date().toISOString(),\n after: event.entity ?? null,\n userId: this.activeUserId(),\n });\n }\n\n async afterUpdate(event: UpdateEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'update',\n modelName: event.metadata.name,\n entityId: event.entity?.id ?? null,\n occurredAt: new Date().toISOString(),\n after: event.entity ?? null,\n // databaseEntity is only populated when the entity was fetched first (save() path).\n // QueryBuilder update() leaves this undefined; postAuditMessageOnUpdate guards for it.\n before: event.databaseEntity ?? null,\n updatedColumnNames: (event.updatedColumns ?? []).map(c => c.propertyName),\n userId: this.activeUserId(),\n });\n }\n\n async afterRemove(event: RemoveEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'delete',\n modelName: event.metadata.name,\n entityId: event.databaseEntity?.id ?? null,\n occurredAt: new Date().toISOString(),\n before: event.databaseEntity,\n userId: this.activeUserId(),\n });\n }\n\n // --------- transaction lifecycle ----------\n async afterTransactionCommit(event: { queryRunner: any }) {\n const batch = this.perTxn.get(event.queryRunner) ?? [];\n this.perTxn.delete(event.queryRunner);\n\n if (batch.length === 0) return;\n\n if (this.shouldDeferAuditPublish()) {\n setImmediate(() => void this.publishAuditBatch(batch));\n return;\n }\n\n await this.publishAuditBatch(batch);\n }\n\n afterTransactionRollback(event: { queryRunner: any }) {\n // Drop buffered payloads; the write never happened.\n this.perTxn.delete(event.queryRunner);\n }\n\n private shouldDeferAuditPublish(): boolean {\n const driver = (process.env.DEFAULT_DATABASE_DRIVER ?? '').toLowerCase();\n const poolMax = Number(process.env.DEFAULT_DATABASE_POOL_MAX ?? 20);\n return driver === 'pglite' && Number.isFinite(poolMax) && poolMax <= 1;\n }\n\n private async publishAuditBatch(batch: AuditQueuePayload[]) {\n try {\n // allSettled: publish in parallel; a single failure does not block the rest.\n const results = await Promise.allSettled(\n batch.map(payload => this.publisherFactory.publish({ payload }, 'ChatterQueuePublisher'))\n );\n\n results.forEach((result, i) => {\n if (result.status === 'rejected') {\n this.logger.error(\n `Failed to publish audit event for ${batch[i].modelName}#${batch[i].entityId}`,\n result.reason,\n );\n }\n });\n } catch (error) {\n this.logger.error('Failed to publish audit batch', error);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"audit.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/audit.subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable, Logger, Scope } from '@nestjs/common';\nimport { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';\nimport { lowerFirst } from 'src/helpers/string.helper';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { DataSource, EntityMetadata, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from 'typeorm';\nimport { AuditQueuePayload } from 'src/interfaces';\nimport { RequestContextService } from 'src/services/request-context.service';\nimport { PublisherFactory } from 'src/services/queues/publisher-factory.service';\nconst AUDIT_BEFORE_SNAPSHOT = '__auditBeforeSnapshot';\n\n@Injectable({ scope: Scope.TRANSIENT })\nexport class AuditSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(AuditSubscriber.name);\n private dataSource: DataSource;\n constructor(\n private readonly publisherFactory: PublisherFactory<AuditQueuePayload>,\n private readonly solidRegistry: SolidRegistry,\n private readonly requestContextService: RequestContextService,\n private readonly modelMetadataHelperService: ModelMetadataHelperService,\n ) { }\n\n bindToDataSource(dataSource: DataSource) {\n this.dataSource = dataSource;\n this.dataSource.subscribers.push(this);\n }\n\n // Per-transaction buffer (auto-GC when queryRunner is gone)\n private perTxn = new WeakMap<any, AuditQueuePayload[]>();\n\n private enqueue(event: { queryRunner: any }, payload: AuditQueuePayload) {\n const qr = event.queryRunner;\n const arr = this.perTxn.get(qr) ?? [];\n arr.push(payload);\n this.perTxn.set(qr, arr);\n }\n\n private shouldTrackAudit(metadata: EntityMetadata): boolean {\n return this.solidRegistry.isAuditableModel(lowerFirst(metadata.name));\n }\n\n private activeUserId(): number | null {\n return this.requestContextService.getActiveUser()?.sub ?? null;\n }\n\n async afterInsert(event: InsertEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'insert',\n modelName: event.metadata.name,\n entityId: event.entity?.id ?? null,\n occurredAt: new Date().toISOString(),\n after: event.entity ?? null,\n userId: this.activeUserId(),\n });\n }\n\n async afterUpdate(event: UpdateEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n const entityId = event.entity?.id ?? event.databaseEntity?.id ?? (event as any).entityId ?? null;\n let before = event.databaseEntity ?? null;\n let after = event.entity ?? null;\n const updatedColumnNames = (event.updatedColumns ?? []).map(c => c.propertyName);\n\n const auditResult = await this.prepareManyToManyAuditUpdateSnapshot(event, entityId, updatedColumnNames);\n\n if (auditResult) {\n before = auditResult.before;\n after = auditResult.after;\n }\n\n this.enqueue(event, {\n eventType: 'update',\n modelName: event.metadata.name,\n entityId: entityId,\n occurredAt: new Date().toISOString(),\n after: after,\n // databaseEntity is only populated when the entity was fetched first (save() path).\n // QueryBuilder update() leaves this undefined; postAuditMessageOnUpdate guards for it.\n before: before,\n updatedColumnNames: updatedColumnNames,\n userId: this.activeUserId(),\n });\n }\n\n /**\n * Resolves before/after snapshots for audit-enabled many-to-many relations\n * and updates changed relation field names for audit tracking.\n */\n private async prepareManyToManyAuditUpdateSnapshot(event: UpdateEvent<any>, entityId: number | null, updatedColumnNames: string[]): Promise<{ before: any; after: any } | null> {\n\n const auditRelationFields = (await this.modelMetadataHelperService.loadFieldHierarchy(lowerFirst(event.metadata.name))).filter(field =>\n field.enableAuditTracking &&\n field.type === 'relation' &&\n field.relationType !== 'one-to-many'\n );\n\n if (!entityId || auditRelationFields.length === 0) {\n return null;\n }\n\n const relations: Record<string, boolean> = {};\n\n auditRelationFields.forEach(field => {\n relations[field.name] = true;\n });\n\n const relationBefore = event.entity?.[AUDIT_BEFORE_SNAPSHOT] ?? null;\n\n const relationAfter = await event.manager.getRepository(event.metadata.target as any).findOne({\n where: { id: entityId } as any,\n relations: relations as any,\n });\n\n if (relationBefore && relationAfter) {\n auditRelationFields.forEach(field => {\n const oldIds = Array.isArray(relationBefore[field.name])\n ? relationBefore[field.name].map(item => item.id).sort()\n : [];\n\n const newIds = Array.isArray(relationAfter[field.name])\n ? relationAfter[field.name].map(item => item.id).sort()\n : [];\n\n if ((oldIds.length !== newIds.length || JSON.stringify(oldIds) !== JSON.stringify(newIds))\n && !updatedColumnNames.includes(field.name)) {\n updatedColumnNames.push(field.name);\n }\n });\n }\n return {\n before: relationBefore ?? event.databaseEntity ?? null,\n after: relationAfter ?? event.entity ?? null,\n };\n }\n async afterRemove(event: RemoveEvent<any>) {\n if (!this.shouldTrackAudit(event.metadata)) return;\n this.enqueue(event, {\n eventType: 'delete',\n modelName: event.metadata.name,\n entityId: event.databaseEntity?.id ?? null,\n occurredAt: new Date().toISOString(),\n before: event.databaseEntity,\n userId: this.activeUserId(),\n });\n }\n\n // --------- transaction lifecycle ----------\n async afterTransactionCommit(event: { queryRunner: any }) {\n const batch = this.perTxn.get(event.queryRunner) ?? [];\n this.perTxn.delete(event.queryRunner);\n\n if (batch.length === 0) return;\n\n if (this.shouldDeferAuditPublish()) {\n setImmediate(() => void this.publishAuditBatch(batch));\n return;\n }\n\n await this.publishAuditBatch(batch);\n }\n\n afterTransactionRollback(event: { queryRunner: any }) {\n // Drop buffered payloads; the write never happened.\n this.perTxn.delete(event.queryRunner);\n }\n\n private shouldDeferAuditPublish(): boolean {\n const driver = (process.env.DEFAULT_DATABASE_DRIVER ?? '').toLowerCase();\n const poolMax = Number(process.env.DEFAULT_DATABASE_POOL_MAX ?? 20);\n return driver === 'pglite' && Number.isFinite(poolMax) && poolMax <= 1;\n }\n\n private async publishAuditBatch(batch: AuditQueuePayload[]) {\n try {\n // allSettled: publish in parallel; a single failure does not block the rest.\n const results = await Promise.allSettled(\n batch.map(payload => this.publisherFactory.publish({ payload }, 'ChatterQueuePublisher'))\n );\n\n results.forEach((result, i) => {\n if (result.status === 'rejected') {\n this.logger.error(\n `Failed to publish audit event for ${batch[i].modelName}#${batch[i].entityId}`,\n result.reason,\n );\n }\n });\n } catch (error) {\n this.logger.error('Failed to publish audit batch', error);\n }\n }\n}\n"]}
|