@solidxai/core 0.1.6-beta.2 → 0.1.6-beta.21
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/controllers/dashboard-layout.controller.d.ts +47 -0
- package/dist/controllers/dashboard-layout.controller.d.ts.map +1 -0
- package/dist/controllers/dashboard-layout.controller.js +204 -0
- package/dist/controllers/dashboard-layout.controller.js.map +1 -0
- package/dist/controllers/scheduled-job.controller.d.ts +1 -0
- package/dist/controllers/scheduled-job.controller.d.ts.map +1 -1
- package/dist/controllers/scheduled-job.controller.js +12 -0
- package/dist/controllers/scheduled-job.controller.js.map +1 -1
- package/dist/dtos/create-dashboard-layout.dto.d.ts +8 -0
- package/dist/dtos/create-dashboard-layout.dto.d.ts.map +1 -0
- package/dist/dtos/create-dashboard-layout.dto.js +53 -0
- package/dist/dtos/create-dashboard-layout.dto.js.map +1 -0
- package/dist/dtos/create-dashboard-variable.dto.d.ts +1 -0
- package/dist/dtos/create-dashboard-variable.dto.d.ts.map +1 -1
- package/dist/dtos/create-dashboard-variable.dto.js +7 -1
- package/dist/dtos/create-dashboard-variable.dto.js.map +1 -1
- package/dist/dtos/update-dashboard-layout.dto.d.ts +8 -0
- package/dist/dtos/update-dashboard-layout.dto.d.ts.map +1 -0
- package/dist/dtos/update-dashboard-layout.dto.js +53 -0
- package/dist/dtos/update-dashboard-layout.dto.js.map +1 -0
- package/dist/dtos/update-dashboard-variable.dto.d.ts +1 -0
- package/dist/dtos/update-dashboard-variable.dto.d.ts.map +1 -1
- package/dist/dtos/update-dashboard-variable.dto.js +7 -1
- package/dist/dtos/update-dashboard-variable.dto.js.map +1 -1
- package/dist/entities/action-metadata.entity.d.ts.map +1 -1
- package/dist/entities/action-metadata.entity.js.map +1 -1
- package/dist/entities/ai-interaction.entity.d.ts.map +1 -1
- package/dist/entities/ai-interaction.entity.js +5 -4
- package/dist/entities/ai-interaction.entity.js.map +1 -1
- package/dist/entities/chatter-message-details.entity.d.ts +1 -0
- package/dist/entities/chatter-message-details.entity.d.ts.map +1 -1
- package/dist/entities/chatter-message-details.entity.js +9 -4
- package/dist/entities/chatter-message-details.entity.js.map +1 -1
- package/dist/entities/chatter-message.entity.d.ts.map +1 -1
- package/dist/entities/chatter-message.entity.js +4 -3
- package/dist/entities/chatter-message.entity.js.map +1 -1
- package/dist/entities/common.entity.js +1 -1
- package/dist/entities/common.entity.js.map +1 -1
- package/dist/entities/dashboard-layout.entity.d.ts +9 -0
- package/dist/entities/dashboard-layout.entity.d.ts.map +1 -0
- package/dist/entities/dashboard-layout.entity.js +41 -0
- package/dist/entities/dashboard-layout.entity.js.map +1 -0
- package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts.map +1 -1
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js +5 -4
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +1 -1
- package/dist/entities/dashboard-question.entity.d.ts.map +1 -1
- package/dist/entities/dashboard-question.entity.js +5 -4
- package/dist/entities/dashboard-question.entity.js.map +1 -1
- package/dist/entities/dashboard-variable.entity.d.ts +1 -0
- package/dist/entities/dashboard-variable.entity.d.ts.map +1 -1
- package/dist/entities/dashboard-variable.entity.js +10 -4
- package/dist/entities/dashboard-variable.entity.js.map +1 -1
- package/dist/entities/dashboard.entity.d.ts +2 -0
- package/dist/entities/dashboard.entity.d.ts.map +1 -1
- package/dist/entities/dashboard.entity.js +9 -3
- package/dist/entities/dashboard.entity.js.map +1 -1
- package/dist/entities/email-attachment.entity.d.ts.map +1 -1
- package/dist/entities/email-attachment.entity.js +2 -1
- package/dist/entities/email-attachment.entity.js.map +1 -1
- package/dist/entities/email-template.entity.js +1 -1
- package/dist/entities/email-template.entity.js.map +1 -1
- package/dist/entities/export-transaction.entity.d.ts.map +1 -1
- package/dist/entities/export-transaction.entity.js +2 -1
- package/dist/entities/export-transaction.entity.js.map +1 -1
- package/dist/entities/field-metadata.entity.js +2 -2
- package/dist/entities/field-metadata.entity.js.map +1 -1
- package/dist/entities/import-transaction-error-log.entity.d.ts.map +1 -1
- package/dist/entities/import-transaction-error-log.entity.js +3 -2
- package/dist/entities/import-transaction-error-log.entity.js.map +1 -1
- package/dist/entities/import-transaction.entity.d.ts.map +1 -1
- package/dist/entities/import-transaction.entity.js +2 -1
- package/dist/entities/import-transaction.entity.js.map +1 -1
- package/dist/entities/legacy-common.entity.d.ts.map +1 -1
- package/dist/entities/legacy-common.entity.js +1 -1
- package/dist/entities/legacy-common.entity.js.map +1 -1
- package/dist/entities/mq-message.entity.d.ts.map +1 -1
- package/dist/entities/mq-message.entity.js +5 -3
- package/dist/entities/mq-message.entity.js.map +1 -1
- package/dist/entities/saved-filters.entity.d.ts.map +1 -1
- package/dist/entities/saved-filters.entity.js +3 -2
- package/dist/entities/saved-filters.entity.js.map +1 -1
- package/dist/entities/security-rule.entity.d.ts.map +1 -1
- package/dist/entities/security-rule.entity.js +2 -1
- package/dist/entities/security-rule.entity.js.map +1 -1
- package/dist/entities/sms-template.entity.js +1 -1
- package/dist/entities/sms-template.entity.js.map +1 -1
- package/dist/entities/user-view-metadata.entity.d.ts.map +1 -1
- package/dist/entities/user-view-metadata.entity.js +2 -1
- package/dist/entities/user-view-metadata.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +2 -0
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/view-metadata.entity.d.ts.map +1 -1
- package/dist/entities/view-metadata.entity.js.map +1 -1
- package/dist/helpers/bootstrap.helper.d.ts +14 -0
- package/dist/helpers/bootstrap.helper.d.ts.map +1 -0
- package/dist/helpers/bootstrap.helper.js +132 -0
- package/dist/helpers/bootstrap.helper.js.map +1 -0
- package/dist/helpers/cache.helper.d.ts +2 -0
- package/dist/helpers/cache.helper.d.ts.map +1 -0
- package/dist/helpers/cache.helper.js +8 -0
- package/dist/helpers/cache.helper.js.map +1 -0
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +1 -0
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +8 -9
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.d.ts +2 -2
- package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.js +8 -5
- package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.js.map +1 -1
- package/dist/helpers/solid-registry.d.ts.map +1 -1
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/helpers/typeorm-db-helper.d.ts.map +1 -1
- package/dist/helpers/typeorm-db-helper.js +21 -0
- package/dist/helpers/typeorm-db-helper.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +5 -1
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/computed-field-evaluation-queue-options.d.ts +1 -0
- package/dist/jobs/computed-field-evaluation-queue-options.d.ts.map +1 -1
- package/dist/jobs/computed-field-evaluation-queue-options.js +1 -0
- package/dist/jobs/computed-field-evaluation-queue-options.js.map +1 -1
- package/dist/repository/dashboard-layout.repository.d.ts +12 -0
- package/dist/repository/dashboard-layout.repository.d.ts.map +1 -0
- package/dist/repository/dashboard-layout.repository.js +34 -0
- package/dist/repository/dashboard-layout.repository.js.map +1 -0
- package/dist/seeders/module-metadata-seeder.service.js +4 -4
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +445 -35
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +44 -21
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts +0 -1
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +22 -19
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts +7 -3
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -1
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +61 -22
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -1
- package/dist/services/crud.service.js +1 -1
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/dashboard-layout.service.d.ts +20 -0
- package/dist/services/dashboard-layout.service.d.ts.map +1 -0
- package/dist/services/dashboard-layout.service.js +120 -0
- package/dist/services/dashboard-layout.service.js.map +1 -0
- package/dist/services/dashboard-question.service.d.ts +4 -0
- package/dist/services/dashboard-question.service.d.ts.map +1 -1
- package/dist/services/dashboard-question.service.js +22 -8
- package/dist/services/dashboard-question.service.js.map +1 -1
- package/dist/services/dashboard.service.d.ts +2 -0
- package/dist/services/dashboard.service.d.ts.map +1 -1
- package/dist/services/dashboard.service.js +4 -0
- package/dist/services/dashboard.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts +6 -1
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +151 -8
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/permission-metadata.service.d.ts +5 -1
- package/dist/services/permission-metadata.service.d.ts.map +1 -1
- package/dist/services/permission-metadata.service.js +66 -20
- package/dist/services/permission-metadata.service.js.map +1 -1
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +2 -4
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts.map +1 -1
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js +2 -1
- package/dist/services/question-data-providers/chartjs-sql-data-provider.service.js.map +1 -1
- package/dist/services/question-data-providers/interfaces.d.ts +1 -0
- package/dist/services/question-data-providers/interfaces.d.ts.map +1 -0
- package/dist/services/question-data-providers/interfaces.js +1 -0
- package/dist/services/question-data-providers/interfaces.js.map +1 -0
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +2 -5
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts.map +1 -1
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js +2 -1
- package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.js.map +1 -1
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +2 -5
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts.map +1 -1
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js +2 -1
- package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.js.map +1 -1
- package/dist/services/queues/database-subscriber.service.d.ts +4 -2
- package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/database-subscriber.service.js +15 -2
- package/dist/services/queues/database-subscriber.service.js.map +1 -1
- package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
- package/dist/services/queues/publisher-factory.service.js +4 -6
- package/dist/services/queues/publisher-factory.service.js.map +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.d.ts +8 -3
- package/dist/services/queues/rabbitmq-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.js +78 -6
- package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
- package/dist/services/scheduled-job.service.d.ts +6 -1
- package/dist/services/scheduled-job.service.d.ts.map +1 -1
- package/dist/services/scheduled-job.service.js +26 -2
- package/dist/services/scheduled-job.service.js.map +1 -1
- package/dist/services/scheduled-jobs/scheduler.interface.d.ts +2 -0
- package/dist/services/scheduled-jobs/scheduler.interface.d.ts.map +1 -1
- package/dist/services/scheduled-jobs/scheduler.interface.js.map +1 -1
- package/dist/services/scheduled-jobs/scheduler.service.d.ts +6 -2
- package/dist/services/scheduled-jobs/scheduler.service.d.ts.map +1 -1
- package/dist/services/scheduled-jobs/scheduler.service.js +75 -17
- package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -1
- package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts.map +1 -1
- package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js +4 -1
- package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.js.map +1 -1
- package/dist/services/solid-ts-morph.service.d.ts +9 -0
- package/dist/services/solid-ts-morph.service.d.ts.map +1 -1
- package/dist/services/solid-ts-morph.service.js +76 -0
- package/dist/services/solid-ts-morph.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +8 -0
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.js +3 -1
- package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
- package/dist/transformers/typeorm/local-date-time-transformer.d.ts +4 -4
- package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -1
- package/dist/transformers/typeorm/local-date-time-transformer.js +25 -28
- package/dist/transformers/typeorm/local-date-time-transformer.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/package.json +3 -1
- package/sql/default/mariadb/proc_CleanupModelMetadata.sql +153 -0
- package/sql/default/mariadb/proc_CleanupModuleMetadata.sql +56 -0
- package/sql/default/mysql/proc_CleanupModelMetadata.sql +153 -0
- package/sql/default/mysql/proc_CleanupModuleMetadata.sql +56 -0
- package/src/controllers/dashboard-layout.controller.ts +106 -0
- package/src/controllers/scheduled-job.controller.ts +6 -0
- package/src/dtos/create-dashboard-layout.dto.ts +31 -0
- package/src/dtos/create-dashboard-variable.dto.ts +4 -0
- package/src/dtos/update-dashboard-layout.dto.ts +30 -0
- package/src/dtos/update-dashboard-variable.dto.ts +5 -1
- package/src/entities/action-metadata.entity.ts +3 -2
- package/src/entities/ai-interaction.entity.ts +5 -4
- package/src/entities/chatter-message-details.entity.ts +7 -3
- package/src/entities/chatter-message.entity.ts +4 -3
- package/src/entities/common.entity.ts +2 -2
- package/src/entities/dashboard-layout.entity.ts +18 -0
- package/src/entities/dashboard-question-sql-dataset-config.entity.ts +5 -4
- package/src/entities/dashboard-question.entity.ts +5 -4
- package/src/entities/dashboard-variable.entity.ts +9 -4
- package/src/entities/dashboard.entity.ts +7 -2
- package/src/entities/email-attachment.entity.ts +2 -1
- package/src/entities/email-template.entity.ts +1 -1
- package/src/entities/export-transaction.entity.ts +2 -1
- package/src/entities/field-metadata.entity.ts +2 -2
- package/src/entities/import-transaction-error-log.entity.ts +3 -2
- package/src/entities/import-transaction.entity.ts +2 -1
- package/src/entities/legacy-common.entity.ts +3 -4
- package/src/entities/mq-message.entity.ts +5 -3
- package/src/entities/saved-filters.entity.ts +3 -2
- package/src/entities/security-rule.entity.ts +2 -1
- package/src/entities/sms-template.entity.ts +1 -1
- package/src/entities/user-view-metadata.entity.ts +2 -1
- package/src/entities/user.entity.ts +37 -2
- package/src/entities/view-metadata.entity.ts +3 -0
- package/src/helpers/bootstrap.helper.ts +222 -0
- package/src/helpers/cache.helper.ts +5 -0
- package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +9 -9
- package/src/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.ts +9 -6
- package/src/helpers/solid-registry.ts +1 -5
- package/src/helpers/typeorm-db-helper.ts +26 -0
- package/src/index.ts +3 -0
- package/src/interfaces.ts +9 -1
- package/src/jobs/computed-field-evaluation-queue-options.ts +1 -0
- package/src/repository/dashboard-layout.repository.ts +17 -0
- package/src/seeders/module-metadata-seeder.service.ts +5 -5
- package/src/seeders/seed-data/solid-core-metadata.json +446 -36
- package/src/services/authentication.service.ts +46 -24
- package/src/services/chatter-message.service.ts +21 -21
- package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +79 -40
- package/src/services/crud.service.ts +1 -1
- package/src/services/dashboard-layout.service.ts +111 -0
- package/src/services/dashboard-question.service.ts +23 -4
- package/src/services/dashboard.service.ts +7 -0
- package/src/services/model-metadata.service.ts +173 -50
- package/src/services/permission-metadata.service.ts +73 -20
- package/src/services/question-data-providers/chartjs-sql-data-provider.service.ts +3 -7
- package/src/services/question-data-providers/interfaces.ts +0 -0
- package/src/services/question-data-providers/prime-react-datatable-sql-data-provider.service.ts +4 -8
- package/src/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.ts +4 -8
- package/src/services/queues/database-subscriber.service.ts +19 -2
- package/src/services/queues/publisher-factory.service.ts +8 -6
- package/src/services/queues/rabbitmq-subscriber.service.ts +123 -6
- package/src/services/scheduled-job.service.ts +31 -2
- package/src/services/scheduled-jobs/scheduler.interface.ts +4 -1
- package/src/services/scheduled-jobs/scheduler.service.ts +82 -20
- package/src/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.ts +4 -1
- package/src/services/solid-ts-morph.service.ts +98 -0
- package/src/solid-core.module.ts +13 -0
- package/src/subscribers/computed-entity-field.subscriber.ts +3 -3
- package/src/transformers/typeorm/local-date-time-transformer.ts +41 -33
- package/.claude/settings.local.json +0 -15
- package/src/services/1.js +0 -6
|
@@ -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 { 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 { MediaStorageProviderMetadataController } from './controllers/media-storage-provider-metadata.controller';\nimport { ModelMetadataController } from './controllers/model-metadata.controller';\nimport { ModuleMetadataController } from './controllers/module-metadata.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 { 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 { FieldMetadataService } from './services/field-metadata.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 { ModuleMetadataService } from './services/module-metadata.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 { 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 { 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/api-email-publisher.service';\nimport { ApiEmailQueueSubscriber } from './jobs/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 { Msg91WhatsappQueuePublisher } from './jobs/msg91-whatsapp-publisher.service';\nimport { Msg91WhatsappQueueSubscriber } from './jobs/msg91-whatsapp-subscriber.service';\nimport { Msg91OTPQueuePublisher } from './jobs/msg91-otp-publisher.service';\nimport { Msg91OTPQueueSubscriber } from './jobs/msg91-otp-subscriber.service';\nimport { Msg91SmsQueuePublisher } from './jobs/msg91-sms-publisher.service';\nimport { Msg91SmsQueueSubscriber } from './jobs/msg91-sms-subscriber.service';\nimport { SmtpEmailQueuePublisherRabbitmq } from './jobs/smtp-email-publisher.service';\nimport { SmtpEmailQueueSubscriberRabbitmq } from './jobs/smtp-email-subscriber.service';\nimport { TestQueuePublisher } from './jobs/test-queue-publisher.service';\nimport { TestQueueSubscriber } from './jobs/test-queue-subscriber.service';\nimport { UserRegistrationListener } from './listeners/user-registration.listener';\nimport { GoogleOauthStrategy } from './passport-strategies/google-oauth.strategy';\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 { DiskFileService, S3FileService, FileServiceFactory, DiskStoragePathBuilder, S3StoragePathBuilder, StoragePathBuilderFactory } 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 { 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 { AiInteractionController } from './controllers/ai-interaction.controller';\nimport { ChatterMessageDetailsController } from './controllers/chatter-message-details.controller';\nimport { ChatterMessageController } from './controllers/chatter-message.controller';\nimport { DashboardQuestionSqlDatasetConfigController } from './controllers/dashboard-question-sql-dataset-config.controller';\nimport { DashboardQuestionController } from './controllers/dashboard-question.controller';\nimport { DashboardVariableController } from './controllers/dashboard-variable.controller';\nimport { DashboardController } from './controllers/dashboard.controller';\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 { 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 { AiInteraction } from './entities/ai-interaction.entity';\nimport { ChatterMessageDetails } from './entities/chatter-message-details.entity';\nimport { ChatterMessage } from './entities/chatter-message.entity';\nimport { DashboardQuestionSqlDatasetConfig } from './entities/dashboard-question-sql-dataset-config.entity';\nimport { DashboardQuestion } from './entities/dashboard-question.entity';\nimport { DashboardVariable } from './entities/dashboard-variable.entity';\nimport { Dashboard } from './entities/dashboard.entity';\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 { 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 { 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\n// import { ThrottlerModule } from '@nestjs/throttler';\nimport { IngestCommand } from './commands/ingest.command';\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/computed-field-evaluation-publisher.service';\nimport { ComputedFieldEvaluationSubscriberRabbitmq } from './jobs/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 { TriggerMcpClientPublisherDatabase } from './jobs/database/trigger-mcp-client-publisher-database.service';\nimport { TriggerMcpClientSubscriberDatabase } from './jobs/database/trigger-mcp-client-subscriber-database.service';\nimport { GenerateCodePublisherRabbitmq } from './jobs/generate-code-publisher.service';\nimport { GenerateCodeSubscriberRabbitmq } from './jobs/generate-code-subscriber.service';\nimport { Three60WhatsappQueuePublisher } from './jobs/three60-whatsapp-publisher.service';\nimport { Three60WhatsappQueueSubscriber } from './jobs/three60-whatsapp-subscriber.service';\nimport { TriggerMcpClientPublisherRabbitmq } from './jobs/trigger-mcp-client-publisher.service';\nimport { TriggerMcpClientSubscriberRabbitmq } from './jobs/trigger-mcp-client-subscriber.service';\nimport { TwilioSmsQueuePublisherRabbitmq } from './jobs/twilio-sms-publisher.service';\nimport { TwilioSmsQueueSubscriberRabbitmq } from './jobs/twilio-sms-subscriber.service';\nimport { DashboardMapper } from './mappers/dashboard-mapper';\nimport { ListOfValuesMapper } from './mappers/list-of-values-mapper';\nimport { ActionMetadataRepository } from './repository/action-metadata.repository';\nimport { AiInteractionRepository } from './repository/ai-interaction.repository';\nimport { ChatterMessageDetailsRepository } from './repository/chatter-message-details.repository';\nimport { ChatterMessageRepository } from './repository/chatter-message.repository';\nimport { DashboardQuestionSqlDatasetConfigRepository } from './repository/dashboard-question-sql-dataset-config.repository';\nimport { DashboardQuestionRepository } from './repository/dashboard-question.repository';\nimport { DashboardVariableRepository } from './repository/dashboard-variable.repository';\nimport { DashboardRepository } from './repository/dashboard.repository';\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 { 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 { 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 { AiInteractionService } from './services/ai-interaction.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 { NoopsEntityComputedFieldProviderService } from './services/computed-fields/entity/noops-entity-computed-field-provider.service';\nimport { CRUDService } from './services/crud.service';\nimport { CsvService } from './services/csv.service';\nimport { DashboardQuestionSqlDatasetConfigService } from './services/dashboard-question-sql-dataset-config.service';\nimport { DashboardQuestionService } from './services/dashboard-question.service';\nimport { DashboardVariableSQLDynamicProvider } from './services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service';\nimport { DasbhoardVariableTestDynamicProvider } from './services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service';\nimport { DashboardVariableService } from './services/dashboard-variable.service';\nimport { DashboardService } from './services/dashboard.service';\nimport { ExcelService } from './services/excel.service';\nimport { ExportTemplateService } from './services/export-template.service';\nimport { ExportTransactionService } from './services/export-transaction.service';\nimport { IngestMetadataService } from './services/genai/ingest-metadata.service';\nimport { McpHandlerFactory } from './services/genai/mcp-handlers/mcp-handler-factory.service';\nimport { R2RHelperService } from './services/genai/r2r-helper.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 { ChartJsSqlDataProvider } from './services/question-data-providers/chartjs-sql-data-provider.service';\nimport { PrimeReactDatatableSqlDataProvider } from './services/question-data-providers/prime-react-datatable-sql-data-provider.service';\nimport { PrimeReactMeterGroupSqlDataProvider } from './services/question-data-providers/prime-react-meter-group-sql-data-provider.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 { SchedulerServiceImpl } from './services/scheduled-jobs/scheduler.service';\nimport { SecurityRuleService } from './services/security-rule.service';\nimport { ListOfDashboardQuestionProvidersSelectionProvider } from './services/selection-providers/list-of-dashboard-question-providers-selection-provider.service';\nimport { ListOfDashboardVariableProvidersSelectionProvider } from './services/selection-providers/list-of-dashboard-variable-providers-selection-provider.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 { SqlExpressionResolverService } from './services/sql-expression-resolver.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 { DashboardQuestionSqlDatasetConfigSubscriber } from './subscribers/dashboard-question-sql-dataset-config.subscriber';\nimport { DashboardQuestionSubscriber } from './subscribers/dashboard-question.subscriber';\nimport { DashboardVariableSubscriber } from './subscribers/dashboard-variable.subscriber';\nimport { DashboardSubscriber } from './subscribers/dashboard.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 { DatabaseBootstrapService } from './services/database/database-bootstrap.service';\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';\n\n\n@Global()\n@Module({\n imports: [\n TypeOrmModule.forFeature([\n ActionMetadata,\n AiInteraction,\n ChatterMessage,\n ChatterMessageDetails,\n Dashboard,\n DashboardQuestion,\n DashboardQuestionSqlDatasetConfig,\n DashboardVariable,\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 SecurityRule,\n Setting,\n SmsTemplate,\n User,\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 ],\n controllers: [\n ActionMetadataController,\n AiInteractionController,\n AuthenticationController,\n ChatterMessageController,\n ChatterMessageDetailsController,\n DashboardController,\n DashboardQuestionController,\n DashboardQuestionSqlDatasetConfigController,\n DashboardVariableController,\n EmailTemplateController,\n ExportTemplateController,\n ExportTransactionController,\n FieldMetadataController,\n GoogleAuthenticationController,\n ImportTransactionController,\n ImportTransactionErrorLogController,\n ListOfValuesController,\n LocaleController,\n MediaController,\n MediaStorageProviderMetadataController,\n MenuItemMetadataController,\n ModelMetadataController,\n ModuleMetadataController,\n MqMessageController,\n MqMessageQueueController,\n OTPAuthenticationController,\n PermissionMetadataController,\n RoleMetadataController,\n SavedFiltersController,\n ScheduledJobController,\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 ],\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 ModuleMetadataHelperService,\n ModelMetadataService,\n ModelMetadataHelperService,\n FieldMetadataService,\n RemoveFieldsCommand,\n RefreshModelCommand,\n RefreshModuleCommand,\n InfoCommand,\n InfoService,\n SolidIntrospectService,\n DiscoveryService,\n R2RHelperService,\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 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 IngestCommand,\n IngestMetadataService,\n SMTPEMailService,\n ElasticEmailService,\n Msg91SMSService,\n Msg91OTPService,\n Msg91WhatsappService,\n TwilioSMSService,\n SmsTemplateService,\n EmailTemplateService,\n PublisherFactory,\n PollerService,\n ErrorMapperService,\n SolidCoreErrorCodesProvider,\n\n TriggerMcpClientPublisherDatabase,\n TriggerMcpClientSubscriberDatabase,\n TriggerMcpClientPublisherRabbitmq,\n TriggerMcpClientSubscriberRabbitmq,\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 AuthenticationService,\n GoogleAuthenticationController,\n RefreshTokenIdsStorageService,\n GoogleOauthStrategy,\n UserRegistrationListener,\n TestQueuePublisher,\n TestQueueSubscriber,\n\n // ChatterQueuePublisher,\n // ChatterQueueSubscriber,\n\n TestQueuePublisherDatabase,\n TestQueueSubscriberDatabase,\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 UserRepository,\n SettingService,\n ConcatComputedFieldProvider,\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 ImportTransactionService,\n ImportTransactionErrorLogService,\n CreatedByUpdatedBySubscriber,\n SystemFieldsSeederService,\n FieldMetadataRepository,\n ComputedEntityFieldSubscriber,\n ComputedFieldEvaluationPublisherDatabase,\n ComputedFieldEvaluationSubscriberDatabase,\n ComputedFieldEvaluationPublisherRabbitmq,\n ComputedFieldEvaluationSubscriberRabbitmq,\n ConcatEntityComputedFieldProvider,\n UserActivityHistoryService,\n DashboardService,\n DashboardVariableService,\n DashboardQuestionService,\n DashboardVariableSQLDynamicProvider,\n DasbhoardVariableTestDynamicProvider,\n ListOfDashboardVariableProvidersSelectionProvider,\n ListOfDashboardQuestionProvidersSelectionProvider,\n DashboardQuestionSqlDatasetConfigService,\n ChartJsSqlDataProvider,\n PrimeReactMeterGroupSqlDataProvider,\n PrimeReactDatatableSqlDataProvider,\n SqlExpressionResolverService,\n AiInteractionService,\n DashboardMapper,\n DashboardRepository,\n DashboardSubscriber,\n DashboardVariableSubscriber,\n DashboardQuestionSubscriber,\n DashboardQuestionSqlDatasetConfigSubscriber,\n NoopsEntityComputedFieldProviderService,\n\n McpHandlerFactory,\n // SolidCreateDashboardWithWidgetsMcpHandler,\n // SolidCreateDashboardQuestionMcpHandler,\n // SolidCreateDashboardQuestionSqlDatasetConfigMcpHandler,\n // SolidCreateDashboardWidgetMcpHandler,\n // SolidAddVariableToDashboardMcpHandler,\n // SolidAddQuestionToDashboardMcpHandler,\n\n SolidTsMorphService,\n\n ViewMetadataRepository,\n ScheduledJobRepository,\n ScheduledJobSubscriber,\n AlphaNumExternalIdComputationProvider,\n ListOfValuesSubscriber,\n ListOfValuesMapper,\n MailFactory,\n WhatsAppFactory,\n SmsFactory,\n ChatterMessageRepository,\n ChatterMessageDetailsRepository,\n AiInteractionRepository,\n DashboardQuestionSqlDatasetConfigRepository,\n DashboardQuestionRepository,\n DashboardVariableRepository,\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 DatabaseBootstrapService,\n SequenceNumComputedFieldProvider,\n ModelSequenceService,\n ModelSequenceRepository,\n SolidCoreDefaultSettingsProvider,\n ImageEncodingService,\n SolidMicroserviceAdapter,\n ListOfRolesSelectionProvider,\n ],\n exports: [\n AiInteractionService,\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 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(express.json({ limit: '10mb' }), express.urlencoded({ limit: '10mb', extended: true }))\n .forRoutes('*');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"solid-core.module.js","sourceRoot":"","sources":["../src/solid-core.module.ts"],"names":[],"mappings":"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","sourcesContent":["import { 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 { MediaStorageProviderMetadataController } from './controllers/media-storage-provider-metadata.controller';\nimport { ModelMetadataController } from './controllers/model-metadata.controller';\nimport { ModuleMetadataController } from './controllers/module-metadata.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 { 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 { FieldMetadataService } from './services/field-metadata.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 { ModuleMetadataService } from './services/module-metadata.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 { 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 { 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/api-email-publisher.service';\nimport { ApiEmailQueueSubscriber } from './jobs/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 { Msg91WhatsappQueuePublisher } from './jobs/msg91-whatsapp-publisher.service';\nimport { Msg91WhatsappQueueSubscriber } from './jobs/msg91-whatsapp-subscriber.service';\nimport { Msg91OTPQueuePublisher } from './jobs/msg91-otp-publisher.service';\nimport { Msg91OTPQueueSubscriber } from './jobs/msg91-otp-subscriber.service';\nimport { Msg91SmsQueuePublisher } from './jobs/msg91-sms-publisher.service';\nimport { Msg91SmsQueueSubscriber } from './jobs/msg91-sms-subscriber.service';\nimport { SmtpEmailQueuePublisherRabbitmq } from './jobs/smtp-email-publisher.service';\nimport { SmtpEmailQueueSubscriberRabbitmq } from './jobs/smtp-email-subscriber.service';\nimport { TestQueuePublisher } from './jobs/test-queue-publisher.service';\nimport { TestQueueSubscriber } from './jobs/test-queue-subscriber.service';\nimport { UserRegistrationListener } from './listeners/user-registration.listener';\nimport { GoogleOauthStrategy } from './passport-strategies/google-oauth.strategy';\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 { DiskFileService, S3FileService, FileServiceFactory, DiskStoragePathBuilder, S3StoragePathBuilder, StoragePathBuilderFactory } 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 { 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 { AiInteractionController } from './controllers/ai-interaction.controller';\nimport { ChatterMessageDetailsController } from './controllers/chatter-message-details.controller';\nimport { ChatterMessageController } from './controllers/chatter-message.controller';\nimport { DashboardQuestionSqlDatasetConfigController } from './controllers/dashboard-question-sql-dataset-config.controller';\nimport { DashboardQuestionController } from './controllers/dashboard-question.controller';\nimport { DashboardVariableController } from './controllers/dashboard-variable.controller';\nimport { DashboardLayoutController } from './controllers/dashboard-layout.controller';\n\nimport { DashboardController } from './controllers/dashboard.controller';\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 { 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 { AiInteraction } from './entities/ai-interaction.entity';\nimport { ChatterMessageDetails } from './entities/chatter-message-details.entity';\nimport { ChatterMessage } from './entities/chatter-message.entity';\nimport { DashboardQuestionSqlDatasetConfig } from './entities/dashboard-question-sql-dataset-config.entity';\nimport { DashboardQuestion } from './entities/dashboard-question.entity';\nimport { DashboardVariable } from './entities/dashboard-variable.entity';\nimport { DashboardLayout } from './entities/dashboard-layout.entity';\n\nimport { Dashboard } from './entities/dashboard.entity';\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 { 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 { 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\n// import { ThrottlerModule } from '@nestjs/throttler';\nimport { IngestCommand } from './commands/ingest.command';\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/computed-field-evaluation-publisher.service';\nimport { ComputedFieldEvaluationSubscriberRabbitmq } from './jobs/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 { TriggerMcpClientPublisherDatabase } from './jobs/database/trigger-mcp-client-publisher-database.service';\nimport { TriggerMcpClientSubscriberDatabase } from './jobs/database/trigger-mcp-client-subscriber-database.service';\nimport { GenerateCodePublisherRabbitmq } from './jobs/generate-code-publisher.service';\nimport { GenerateCodeSubscriberRabbitmq } from './jobs/generate-code-subscriber.service';\nimport { Three60WhatsappQueuePublisher } from './jobs/three60-whatsapp-publisher.service';\nimport { Three60WhatsappQueueSubscriber } from './jobs/three60-whatsapp-subscriber.service';\nimport { TriggerMcpClientPublisherRabbitmq } from './jobs/trigger-mcp-client-publisher.service';\nimport { TriggerMcpClientSubscriberRabbitmq } from './jobs/trigger-mcp-client-subscriber.service';\nimport { TwilioSmsQueuePublisherRabbitmq } from './jobs/twilio-sms-publisher.service';\nimport { TwilioSmsQueueSubscriberRabbitmq } from './jobs/twilio-sms-subscriber.service';\nimport { DashboardMapper } from './mappers/dashboard-mapper';\nimport { ListOfValuesMapper } from './mappers/list-of-values-mapper';\nimport { ActionMetadataRepository } from './repository/action-metadata.repository';\nimport { AiInteractionRepository } from './repository/ai-interaction.repository';\nimport { ChatterMessageDetailsRepository } from './repository/chatter-message-details.repository';\nimport { ChatterMessageRepository } from './repository/chatter-message.repository';\nimport { DashboardQuestionSqlDatasetConfigRepository } from './repository/dashboard-question-sql-dataset-config.repository';\nimport { DashboardQuestionRepository } from './repository/dashboard-question.repository';\nimport { DashboardVariableRepository } from './repository/dashboard-variable.repository';\nimport { DashboardRepository } from './repository/dashboard.repository';\nimport { DashboardLayoutRepository } from './repository/dashboard-layout.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 { 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 { 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 { AiInteractionService } from './services/ai-interaction.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 { NoopsEntityComputedFieldProviderService } from './services/computed-fields/entity/noops-entity-computed-field-provider.service';\nimport { CRUDService } from './services/crud.service';\nimport { CsvService } from './services/csv.service';\nimport { DashboardQuestionSqlDatasetConfigService } from './services/dashboard-question-sql-dataset-config.service';\nimport { DashboardQuestionService } from './services/dashboard-question.service';\nimport { DashboardVariableSQLDynamicProvider } from './services/dashboard-selection-providers/dashboard-variable-sql-dynamic-provider.service';\nimport { DasbhoardVariableTestDynamicProvider } from './services/dashboard-selection-providers/dashboard-variable-test-dynamic-provider.service';\nimport { DashboardVariableService } from './services/dashboard-variable.service';\nimport { DashboardService } from './services/dashboard.service';\nimport { DashboardLayoutService } from './services/dashboard-layout.service';\n\nimport { ExcelService } from './services/excel.service';\nimport { ExportTemplateService } from './services/export-template.service';\nimport { ExportTransactionService } from './services/export-transaction.service';\nimport { IngestMetadataService } from './services/genai/ingest-metadata.service';\nimport { McpHandlerFactory } from './services/genai/mcp-handlers/mcp-handler-factory.service';\nimport { R2RHelperService } from './services/genai/r2r-helper.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 { ChartJsSqlDataProvider } from './services/question-data-providers/chartjs-sql-data-provider.service';\nimport { PrimeReactDatatableSqlDataProvider } from './services/question-data-providers/prime-react-datatable-sql-data-provider.service';\nimport { PrimeReactMeterGroupSqlDataProvider } from './services/question-data-providers/prime-react-meter-group-sql-data-provider.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 { SchedulerServiceImpl } from './services/scheduled-jobs/scheduler.service';\nimport { SecurityRuleService } from './services/security-rule.service';\nimport { ListOfDashboardQuestionProvidersSelectionProvider } from './services/selection-providers/list-of-dashboard-question-providers-selection-provider.service';\nimport { ListOfDashboardVariableProvidersSelectionProvider } from './services/selection-providers/list-of-dashboard-variable-providers-selection-provider.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 { SqlExpressionResolverService } from './services/sql-expression-resolver.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 { DashboardQuestionSqlDatasetConfigSubscriber } from './subscribers/dashboard-question-sql-dataset-config.subscriber';\nimport { DashboardQuestionSubscriber } from './subscribers/dashboard-question.subscriber';\nimport { DashboardVariableSubscriber } from './subscribers/dashboard-variable.subscriber';\nimport { DashboardSubscriber } from './subscribers/dashboard.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 { DatabaseBootstrapService } from './services/database/database-bootstrap.service';\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';\n\n\n@Global()\n@Module({\n imports: [\n TypeOrmModule.forFeature([\n ActionMetadata,\n AiInteraction,\n ChatterMessage,\n ChatterMessageDetails,\n Dashboard,\n DashboardQuestion,\n DashboardQuestionSqlDatasetConfig,\n DashboardVariable,\n DashboardLayout,\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 SecurityRule,\n Setting,\n SmsTemplate,\n User,\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 ],\n controllers: [\n ActionMetadataController,\n AiInteractionController,\n AuthenticationController,\n ChatterMessageController,\n ChatterMessageDetailsController,\n DashboardController,\n DashboardQuestionController,\n DashboardQuestionSqlDatasetConfigController,\n DashboardVariableController,\n DashboardLayoutController,\n EmailTemplateController,\n ExportTemplateController,\n ExportTransactionController,\n FieldMetadataController,\n GoogleAuthenticationController,\n ImportTransactionController,\n ImportTransactionErrorLogController,\n ListOfValuesController,\n LocaleController,\n MediaController,\n MediaStorageProviderMetadataController,\n MenuItemMetadataController,\n ModelMetadataController,\n ModuleMetadataController,\n MqMessageController,\n MqMessageQueueController,\n OTPAuthenticationController,\n PermissionMetadataController,\n RoleMetadataController,\n SavedFiltersController,\n ScheduledJobController,\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 ],\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 ModuleMetadataHelperService,\n ModelMetadataService,\n ModelMetadataHelperService,\n FieldMetadataService,\n RemoveFieldsCommand,\n RefreshModelCommand,\n RefreshModuleCommand,\n InfoCommand,\n InfoService,\n SolidIntrospectService,\n DiscoveryService,\n R2RHelperService,\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 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 IngestCommand,\n IngestMetadataService,\n SMTPEMailService,\n ElasticEmailService,\n Msg91SMSService,\n Msg91OTPService,\n Msg91WhatsappService,\n TwilioSMSService,\n SmsTemplateService,\n EmailTemplateService,\n PublisherFactory,\n PollerService,\n ErrorMapperService,\n SolidCoreErrorCodesProvider,\n\n TriggerMcpClientPublisherDatabase,\n TriggerMcpClientSubscriberDatabase,\n TriggerMcpClientPublisherRabbitmq,\n TriggerMcpClientSubscriberRabbitmq,\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 AuthenticationService,\n GoogleAuthenticationController,\n RefreshTokenIdsStorageService,\n GoogleOauthStrategy,\n UserRegistrationListener,\n TestQueuePublisher,\n TestQueueSubscriber,\n\n // ChatterQueuePublisher,\n // ChatterQueueSubscriber,\n\n TestQueuePublisherDatabase,\n TestQueueSubscriberDatabase,\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 UserRepository,\n SettingService,\n ConcatComputedFieldProvider,\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 ImportTransactionService,\n ImportTransactionErrorLogService,\n CreatedByUpdatedBySubscriber,\n SystemFieldsSeederService,\n FieldMetadataRepository,\n ComputedEntityFieldSubscriber,\n ComputedFieldEvaluationPublisherDatabase,\n ComputedFieldEvaluationSubscriberDatabase,\n ComputedFieldEvaluationPublisherRabbitmq,\n ComputedFieldEvaluationSubscriberRabbitmq,\n ConcatEntityComputedFieldProvider,\n UserActivityHistoryService,\n DashboardService,\n DashboardVariableService,\n DashboardLayoutService,\n DashboardQuestionService,\n DashboardVariableSQLDynamicProvider,\n DasbhoardVariableTestDynamicProvider,\n ListOfDashboardVariableProvidersSelectionProvider,\n ListOfDashboardQuestionProvidersSelectionProvider,\n DashboardQuestionSqlDatasetConfigService,\n ChartJsSqlDataProvider,\n PrimeReactMeterGroupSqlDataProvider,\n PrimeReactDatatableSqlDataProvider,\n SqlExpressionResolverService,\n AiInteractionService,\n DashboardMapper,\n DashboardRepository,\n DashboardSubscriber,\n DashboardVariableSubscriber,\n DashboardQuestionSubscriber,\n DashboardQuestionSqlDatasetConfigSubscriber,\n NoopsEntityComputedFieldProviderService,\n\n McpHandlerFactory,\n // SolidCreateDashboardWithWidgetsMcpHandler,\n // SolidCreateDashboardQuestionMcpHandler,\n // SolidCreateDashboardQuestionSqlDatasetConfigMcpHandler,\n // SolidCreateDashboardWidgetMcpHandler,\n // SolidAddVariableToDashboardMcpHandler,\n // SolidAddQuestionToDashboardMcpHandler,\n\n SolidTsMorphService,\n\n ViewMetadataRepository,\n ScheduledJobRepository,\n ScheduledJobSubscriber,\n AlphaNumExternalIdComputationProvider,\n ListOfValuesSubscriber,\n ListOfValuesMapper,\n MailFactory,\n WhatsAppFactory,\n SmsFactory,\n ChatterMessageRepository,\n ChatterMessageDetailsRepository,\n AiInteractionRepository,\n DashboardQuestionSqlDatasetConfigRepository,\n DashboardQuestionRepository,\n DashboardVariableRepository,\n DashboardLayoutRepository,\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 DatabaseBootstrapService,\n SequenceNumComputedFieldProvider,\n ModelSequenceService,\n ModelSequenceRepository,\n SolidCoreDefaultSettingsProvider,\n ImageEncodingService,\n SolidMicroserviceAdapter,\n ListOfRolesSelectionProvider,\n ],\n exports: [\n AiInteractionService,\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 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(express.json({ limit: '10mb' }), express.urlencoded({ limit: '10mb', extended: true }))\n .forRoutes('*');\n }\n}\n"]}
|
|
@@ -58,7 +58,9 @@ let ComputedEntityFieldSubscriber = class ComputedEntityFieldSubscriber {
|
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
60
|
const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(this.solidRegistry.getComputedFieldMetadata(), currentOperation, modelName);
|
|
61
|
-
|
|
61
|
+
for (const computedField of computedFieldsTobeEvaluated) {
|
|
62
|
+
await this.evaluateComputedField(this.attachContext(computedField, eventContext), entity, currentOperation);
|
|
63
|
+
}
|
|
62
64
|
}
|
|
63
65
|
handleComputedFieldEvaluationJob(entity, currentOperation, modelName, eventContext) {
|
|
64
66
|
if (!entity) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computed-entity-field.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelize } from \"@angular-devkit/core/src/utils/strings\";\nimport { Delete } from \"@aws-sdk/client-s3\";\nimport { forwardRef, Inject, Injectable, InternalServerErrorException, Logger, Scope } from \"@nestjs/common\";\nimport { model } from \"mongoose\";\nimport { ComputedFieldTriggerOperation } from \"src/dtos/create-field-metadata.dto\";\nimport { ComputedFieldMetadata, SolidRegistry, TypeOrmEventContext } from \"src/helpers/solid-registry\";\nimport { IEntityPreComputeFieldProvider } from \"src/interfaces\";\nimport { PublisherFactory } from \"src/services/queues/publisher-factory.service\";\nimport { DataSource, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from \"typeorm\";\n\n// Create an interface i.e ComputedFieldEvaluationPayload which has same fields as the ComputedFieldMetadata and an additional field for the database entity\nexport interface ComputedFieldEvaluationPayload extends ComputedFieldMetadata {\n databaseEntity: any;\n}\n\n@Injectable({ scope: Scope.TRANSIENT })\n// @EventSubscriber()\nexport class ComputedEntityFieldSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(this.constructor.name);\n private dataSource: DataSource;\n constructor(\n // @InjectDataSource()\n // private readonly dataSource: DataSource,\n private readonly solidRegistry: SolidRegistry,\n @Inject(forwardRef(() => PublisherFactory))\n private readonly publisherFactory: PublisherFactory<ComputedFieldEvaluationPayload>\n // private readonly computedFieldPublisher: ComputedFieldEvaluationPublisherDatabase,\n ) {\n // this.dataSource.subscribers.push(this);\n }\n\n bindToDataSource(dataSource: DataSource) {\n this.dataSource = dataSource;\n this.dataSource.subscribers.push(this);\n }\n\n async beforeInsert(event: InsertEvent<any>): Promise<any> {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeInsert');\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeInsert, modelName, eventContext);\n }\n\n async beforeUpdate(event: UpdateEvent<any>): Promise<any> {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeUpdate');\n // await this.handleComputedFieldEvaluation(event.databaseEntity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n }\n\n afterInsert(event: InsertEvent<any>) {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterInsert');\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterInsert, modelName, eventContext);\n }\n\n afterUpdate(event: UpdateEvent<any>) {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterUpdate');\n // this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n }\n\n afterRemove(event: RemoveEvent<any>) {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterRemove');\n this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterRemove, modelName, eventContext);\n }\n\n //FIXME: Need to add support for beforeRemove, beforeSoftRemove, afterSoftRemove, beforeRecover, afterRecover\n\n private async handleComputedFieldEvaluation(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext): Promise<void> {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n await Promise.all(\n computedFieldsTobeEvaluated.map(c => this.evaluateComputedField(this.attachContext(c, eventContext), entity, currentOperation))\n )\n }\n\n private handleComputedFieldEvaluationJob(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext) {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n this.enqueueComputedFieldEvaluationJob(this.attachContext(computedField, eventContext), entity, eventContext);\n }\n }\n\n // Based on the current model name and current operation, identify all the computed providers that need to be evaluated\n // Pass the database entity and the context to the provider of type IEntityComputedFieldProvider\n private getComputedFieldsForEvaluation(computedFieldMetadata: ComputedFieldMetadata[] = [], currentOperation: ComputedFieldTriggerOperation, currentModelName: string) {\n return computedFieldMetadata.filter(\n (computedField) => computedField.computedFieldTriggerConfig.some(\n (trigger) => trigger.operations.includes(currentOperation) &&\n trigger.modelName === currentModelName\n )\n );\n }\n\n private async evaluateComputedField(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation) {\n // Skip pre-compute on insert when the payload already supplies the target field value.\n if (this.shouldSkipPreComputeOnInsert(computedFieldMetadata, entity, currentOperation)) {\n return;\n }\n const computedValue = await this.preComputeValue(computedFieldMetadata, entity);\n if (computedValue) {\n entity[computedFieldMetadata.fieldName] = computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n }\n }\n\n private shouldSkipPreComputeOnInsert(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation): boolean {\n if (currentOperation !== ComputedFieldTriggerOperation.beforeInsert) {\n return false;\n }\n if (!entity) {\n return false;\n }\n const fieldName = computedFieldMetadata.fieldName;\n if (!fieldName) {\n return false;\n }\n const hasValue = Object.prototype.hasOwnProperty.call(entity, fieldName) && entity[fieldName] !== undefined && entity[fieldName] !== null;\n return hasValue;\n }\n\n private async preComputeValue(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any) {\n try {\n const provider = this.solidRegistry.getComputedFieldProvider(computedFieldMetadata.computedFieldValueProviderName);\n // Get the instance of the provider and assert it is of type IEntityComputedFieldProvider\n const providerInstance = provider.instance as IEntityPreComputeFieldProvider<any, any, any>; // IEntityComputedFieldProvider\n const computedValue = await providerInstance.preComputeValue(entity, computedFieldMetadata); //FIXME There should some way to check/assert if the provider actually has a postComputeAndSaveValue\n return computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n } catch (error) {\n throw new InternalServerErrorException(`Error evaluating computed field ${computedFieldMetadata.fieldName} for model ${computedFieldMetadata.modelName} for triggered entity ${entity.constructor.name}: ${error.message}`);\n }\n }\n\n private enqueueComputedFieldEvaluationJob(computedField: ComputedFieldMetadata<any>, databaseEntity: any, eventContext?: any) {\n const payload = {\n ...computedField,\n databaseEntity,\n // eventContext,\n };\n this.publisherFactory.publish({ payload }, 'ComputedFieldEvaluationPublisher')\n // this.computedFieldPublisher.publish({\n // payload\n // });\n }\n\n private attachContext<T extends ComputedFieldMetadata<any>>(computedField: T, eventContext?: any): T {\n if (!eventContext) return computedField;\n return {\n ...computedField,\n computedFieldValueProviderCtxt: {\n ...(computedField.computedFieldValueProviderCtxt || {}),\n },\n eventContext,\n };\n }\n\n private sanitizeEventContext(event: InsertEvent<any> | UpdateEvent<any> | RemoveEvent<any>, eventType: string): TypeOrmEventContext {\n if (!event) return undefined;\n const base: TypeOrmEventContext = {\n metadataName: event.metadata?.name,\n eventType: eventType,\n };\n if (\"entityId\" in event && event.entityId) {\n base.entityId = event.entityId;\n } else if (event.entity && (event.entity as any).id != null) {\n base.entityId = (event.entity as any).id;\n } else if (\"databaseEntity\" in event && (event.databaseEntity as any)?.id != null) {\n base.entityId = (event.databaseEntity as any).id;\n }\n if (\"updatedColumns\" in event && event.updatedColumns) {\n base.updatedColumns = event.updatedColumns.map((c: any) => c.propertyName);\n }\n if (\"updatedRelations\" in event && event.updatedRelations) {\n base.updatedRelations = event.updatedRelations.map((r: any) => r.propertyName);\n }\n if (event.entity) base.entity = event.entity;\n if (\"databaseEntity\" in event && event.databaseEntity) {\n base.databaseEntity = event.databaseEntity;\n }\n return base;\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"computed-entity-field.subscriber.js","sourceRoot":"","sources":["../../src/subscribers/computed-entity-field.subscriber.ts"],"names":[],"mappings":"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","sourcesContent":["import { camelize } from \"@angular-devkit/core/src/utils/strings\";\nimport { Delete } from \"@aws-sdk/client-s3\";\nimport { forwardRef, Inject, Injectable, InternalServerErrorException, Logger, Scope } from \"@nestjs/common\";\nimport { model } from \"mongoose\";\nimport { ComputedFieldTriggerOperation } from \"src/dtos/create-field-metadata.dto\";\nimport { ComputedFieldMetadata, SolidRegistry, TypeOrmEventContext } from \"src/helpers/solid-registry\";\nimport { IEntityPreComputeFieldProvider } from \"src/interfaces\";\nimport { PublisherFactory } from \"src/services/queues/publisher-factory.service\";\nimport { DataSource, EntitySubscriberInterface, InsertEvent, RemoveEvent, UpdateEvent } from \"typeorm\";\n\n// Create an interface i.e ComputedFieldEvaluationPayload which has same fields as the ComputedFieldMetadata and an additional field for the database entity\nexport interface ComputedFieldEvaluationPayload extends ComputedFieldMetadata {\n databaseEntity: any;\n}\n\n@Injectable({ scope: Scope.TRANSIENT })\n// @EventSubscriber()\nexport class ComputedEntityFieldSubscriber implements EntitySubscriberInterface {\n private readonly logger = new Logger(this.constructor.name);\n private dataSource: DataSource;\n constructor(\n // @InjectDataSource()\n // private readonly dataSource: DataSource,\n private readonly solidRegistry: SolidRegistry,\n @Inject(forwardRef(() => PublisherFactory))\n private readonly publisherFactory: PublisherFactory<ComputedFieldEvaluationPayload>\n // private readonly computedFieldPublisher: ComputedFieldEvaluationPublisherDatabase,\n ) {\n // this.dataSource.subscribers.push(this);\n }\n\n bindToDataSource(dataSource: DataSource) {\n this.dataSource = dataSource;\n this.dataSource.subscribers.push(this);\n }\n\n async beforeInsert(event: InsertEvent<any>): Promise<any> {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeInsert');\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeInsert, modelName, eventContext);\n }\n\n async beforeUpdate(event: UpdateEvent<any>): Promise<any> {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'beforeUpdate');\n // await this.handleComputedFieldEvaluation(event.databaseEntity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);\n }\n\n afterInsert(event: InsertEvent<any>) {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterInsert');\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterInsert, modelName, eventContext);\n }\n\n afterUpdate(event: UpdateEvent<any>) {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterUpdate');\n // this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);\n }\n\n afterRemove(event: RemoveEvent<any>) {\n const modelName = camelize(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');\n const eventContext = this.sanitizeEventContext(event, 'afterRemove');\n this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterRemove, modelName, eventContext);\n }\n\n //FIXME: Need to add support for beforeRemove, beforeSoftRemove, afterSoftRemove, beforeRecover, afterRecover\n\n private async handleComputedFieldEvaluation(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext): Promise<void> {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n await this.evaluateComputedField(this.attachContext(computedField, eventContext), entity, currentOperation);\n }\n }\n\n private handleComputedFieldEvaluationJob(entity: any, currentOperation: ComputedFieldTriggerOperation, modelName: string, eventContext?: TypeOrmEventContext) {\n if (!entity) {\n return;\n }\n const computedFieldsTobeEvaluated = this.getComputedFieldsForEvaluation(\n this.solidRegistry.getComputedFieldMetadata(),\n currentOperation,\n modelName\n );\n //TODO: We can add a feature i.e dependsOn, where we can check if the computed field depends on other computed fields and evaluate them first\n for (const computedField of computedFieldsTobeEvaluated) {\n this.enqueueComputedFieldEvaluationJob(this.attachContext(computedField, eventContext), entity, eventContext);\n }\n }\n\n // Based on the current model name and current operation, identify all the computed providers that need to be evaluated\n // Pass the database entity and the context to the provider of type IEntityComputedFieldProvider\n private getComputedFieldsForEvaluation(computedFieldMetadata: ComputedFieldMetadata[] = [], currentOperation: ComputedFieldTriggerOperation, currentModelName: string) {\n return computedFieldMetadata.filter(\n (computedField) => computedField.computedFieldTriggerConfig.some(\n (trigger) => trigger.operations.includes(currentOperation) &&\n trigger.modelName === currentModelName\n )\n );\n }\n\n private async evaluateComputedField(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation) {\n // Skip pre-compute on insert when the payload already supplies the target field value.\n if (this.shouldSkipPreComputeOnInsert(computedFieldMetadata, entity, currentOperation)) {\n return;\n }\n const computedValue = await this.preComputeValue(computedFieldMetadata, entity);\n if (computedValue) {\n entity[computedFieldMetadata.fieldName] = computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n }\n }\n\n private shouldSkipPreComputeOnInsert(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any, currentOperation: ComputedFieldTriggerOperation): boolean {\n if (currentOperation !== ComputedFieldTriggerOperation.beforeInsert) {\n return false;\n }\n if (!entity) {\n return false;\n }\n const fieldName = computedFieldMetadata.fieldName;\n if (!fieldName) {\n return false;\n }\n const hasValue = Object.prototype.hasOwnProperty.call(entity, fieldName) && entity[fieldName] !== undefined && entity[fieldName] !== null;\n return hasValue;\n }\n\n private async preComputeValue(computedFieldMetadata: ComputedFieldMetadata<any>, entity: any) {\n try {\n const provider = this.solidRegistry.getComputedFieldProvider(computedFieldMetadata.computedFieldValueProviderName);\n // Get the instance of the provider and assert it is of type IEntityComputedFieldProvider\n const providerInstance = provider.instance as IEntityPreComputeFieldProvider<any, any, any>; // IEntityComputedFieldProvider\n const computedValue = await providerInstance.preComputeValue(entity, computedFieldMetadata); //FIXME There should some way to check/assert if the provider actually has a postComputeAndSaveValue\n return computedValue; //TODO: This line here is just for backward compatibility, once the pre compute interface is change to return void, we will get rid of it.\n } catch (error) {\n throw new InternalServerErrorException(`Error evaluating computed field ${computedFieldMetadata.fieldName} for model ${computedFieldMetadata.modelName} for triggered entity ${entity.constructor.name}: ${error.message}`);\n }\n }\n\n private enqueueComputedFieldEvaluationJob(computedField: ComputedFieldMetadata<any>, databaseEntity: any, eventContext?: any) {\n const payload = {\n ...computedField,\n databaseEntity,\n // eventContext,\n };\n this.publisherFactory.publish({ payload }, 'ComputedFieldEvaluationPublisher')\n // this.computedFieldPublisher.publish({\n // payload\n // });\n }\n\n private attachContext<T extends ComputedFieldMetadata<any>>(computedField: T, eventContext?: any): T {\n if (!eventContext) return computedField;\n return {\n ...computedField,\n computedFieldValueProviderCtxt: {\n ...(computedField.computedFieldValueProviderCtxt || {}),\n },\n eventContext,\n };\n }\n\n private sanitizeEventContext(event: InsertEvent<any> | UpdateEvent<any> | RemoveEvent<any>, eventType: string): TypeOrmEventContext {\n if (!event) return undefined;\n const base: TypeOrmEventContext = {\n metadataName: event.metadata?.name,\n eventType: eventType,\n };\n if (\"entityId\" in event && event.entityId) {\n base.entityId = event.entityId;\n } else if (event.entity && (event.entity as any).id != null) {\n base.entityId = (event.entity as any).id;\n } else if (\"databaseEntity\" in event && (event.databaseEntity as any)?.id != null) {\n base.entityId = (event.databaseEntity as any).id;\n }\n if (\"updatedColumns\" in event && event.updatedColumns) {\n base.updatedColumns = event.updatedColumns.map((c: any) => c.propertyName);\n }\n if (\"updatedRelations\" in event && event.updatedRelations) {\n base.updatedRelations = event.updatedRelations.map((r: any) => r.propertyName);\n }\n if (event.entity) base.entity = event.entity;\n if (\"databaseEntity\" in event && event.databaseEntity) {\n base.databaseEntity = event.databaseEntity;\n }\n return base;\n }\n\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import dayjs from "dayjs";
|
|
1
2
|
import { ValueTransformer } from "typeorm";
|
|
2
|
-
export declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare const UtcDateTimeTransformer: ValueTransformer;
|
|
3
|
+
export declare function parseDate(date: Date): dayjs.Dayjs;
|
|
4
|
+
export declare function serializeDate(date: Date): string;
|
|
5
|
+
export declare const LocalDateTimeTransformer: ValueTransformer;
|
|
6
6
|
//# sourceMappingURL=local-date-time-transformer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-date-time-transformer.d.ts","sourceRoot":"","sources":["../../../src/transformers/typeorm/local-date-time-transformer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-date-time-transformer.d.ts","sourceRoot":"","sources":["../../../src/transformers/typeorm/local-date-time-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAmC3C,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,KAAK,CAIjD;AAQD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAIhD;AAED,eAAO,MAAM,wBAAwB,EAAE,gBA2BtC,CAAC"}
|
|
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.LocalDateTimeTransformer = void 0;
|
|
7
|
+
exports.parseDate = parseDate;
|
|
8
|
+
exports.serializeDate = serializeDate;
|
|
7
9
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
10
|
const utc_1 = __importDefault(require("dayjs/plugin/utc"));
|
|
9
11
|
const timezone_1 = __importDefault(require("dayjs/plugin/timezone"));
|
|
@@ -20,49 +22,44 @@ function dateToUtcComponentString(d) {
|
|
|
20
22
|
const ms = pad(d.getUTCMilliseconds(), 3);
|
|
21
23
|
return `${yyyy}-${mm}-${dd} ${hh}:${mi}:${ss}.${ms}`;
|
|
22
24
|
}
|
|
25
|
+
function getWallClockConfig() {
|
|
26
|
+
return {
|
|
27
|
+
tz: process.env.SOLIDX_WALL_TIME_TIMEZONE || process.env.SOLIDX_TIMEZONE || "UTC",
|
|
28
|
+
wallTimeMode: (process.env.SOLIDX_TIME_STORED_AS_WALL_TIME || "").toLowerCase() === "true",
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function parseDate(date) {
|
|
32
|
+
const { tz, wallTimeMode } = getWallClockConfig();
|
|
33
|
+
if (!wallTimeMode)
|
|
34
|
+
return dayjs_1.default.utc(date);
|
|
35
|
+
return (0, dayjs_1.default)(date).tz(tz);
|
|
36
|
+
}
|
|
37
|
+
function serializeDate(date) {
|
|
38
|
+
const { wallTimeMode } = getWallClockConfig();
|
|
39
|
+
if (!wallTimeMode)
|
|
40
|
+
return date.toISOString();
|
|
41
|
+
return parseDate(date).format("YYYY-MM-DD HH:mm:ss.SSS");
|
|
42
|
+
}
|
|
23
43
|
exports.LocalDateTimeTransformer = {
|
|
24
44
|
from(value) {
|
|
25
|
-
const SOLIDX_WALL_TIME_TZ = process.env.SOLIDX_WALL_TIME_TIMEZONE || process.env.SOLIDX_TIMEZONE || "UTC";
|
|
26
|
-
const SOLIDX_TIME_STORED_AS_WALL_TIME = (process.env.SOLIDX_TIME_STORED_AS_WALL_TIME || "").toLowerCase() === "true";
|
|
27
45
|
if (value === undefined)
|
|
28
46
|
return undefined;
|
|
29
47
|
if (value === null)
|
|
30
48
|
return null;
|
|
31
|
-
|
|
49
|
+
const { tz, wallTimeMode } = getWallClockConfig();
|
|
50
|
+
if (!wallTimeMode) {
|
|
32
51
|
return (0, dayjs_1.default)(value).toDate();
|
|
33
52
|
}
|
|
34
53
|
const naive = value instanceof Date ? dateToUtcComponentString(value) : String(value);
|
|
35
|
-
return dayjs_1.default.tz(naive,
|
|
54
|
+
return dayjs_1.default.tz(naive, tz).utc().toDate();
|
|
36
55
|
},
|
|
37
56
|
to(value) {
|
|
38
|
-
const SOLIDX_WALL_TIME_TZ = process.env.SOLIDX_WALL_TIME_TIMEZONE || process.env.SOLIDX_TIMEZONE || "UTC";
|
|
39
|
-
const SOLIDX_TIME_STORED_AS_WALL_TIME = (process.env.SOLIDX_TIME_STORED_AS_WALL_TIME || "").toLowerCase() === "true";
|
|
40
57
|
if (value === undefined)
|
|
41
58
|
return undefined;
|
|
42
59
|
if (value === null)
|
|
43
60
|
return null;
|
|
44
|
-
|
|
45
|
-
return (0, dayjs_1.default)(value).toDate();
|
|
46
|
-
}
|
|
47
|
-
const wallTimeStr = (0, dayjs_1.default)(value).tz(SOLIDX_WALL_TIME_TZ).format("YYYY-MM-DD HH:mm:ss.SSS");
|
|
61
|
+
const wallTimeStr = serializeDate(value);
|
|
48
62
|
return dayjs_1.default.utc(wallTimeStr).toDate();
|
|
49
63
|
},
|
|
50
|
-
utc: {
|
|
51
|
-
from(value) {
|
|
52
|
-
if (value === undefined)
|
|
53
|
-
return undefined;
|
|
54
|
-
if (value === null)
|
|
55
|
-
return null;
|
|
56
|
-
return (0, dayjs_1.default)(value).toDate();
|
|
57
|
-
},
|
|
58
|
-
to(value) {
|
|
59
|
-
if (value === undefined)
|
|
60
|
-
return undefined;
|
|
61
|
-
if (value === null)
|
|
62
|
-
return null;
|
|
63
|
-
return (0, dayjs_1.default)(value).toDate();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
64
|
};
|
|
67
|
-
exports.UtcDateTimeTransformer = exports.LocalDateTimeTransformer.utc;
|
|
68
65
|
//# sourceMappingURL=local-date-time-transformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-date-time-transformer.js","sourceRoot":"","sources":["../../../src/transformers/typeorm/local-date-time-transformer.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"local-date-time-transformer.js","sourceRoot":"","sources":["../../../src/transformers/typeorm/local-date-time-transformer.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\nimport timezone from \"dayjs/plugin/timezone\";\n\nimport { ValueTransformer } from \"typeorm\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nfunction dateToUtcComponentString(d: Date): string {\n // Requires MSSQL driver option: useUTC: true\n // so that DB \"2026-01-08 10:00:00\" -> Date with UTC parts 2026-01-08 10:00:00\n const pad = (n: number, w = 2) => String(n).padStart(w, \"0\");\n\n const yyyy = d.getUTCFullYear();\n const mm = pad(d.getUTCMonth() + 1);\n const dd = pad(d.getUTCDate());\n const hh = pad(d.getUTCHours());\n const mi = pad(d.getUTCMinutes());\n const ss = pad(d.getUTCSeconds());\n const ms = pad(d.getUTCMilliseconds(), 3);\n\n // A \"naive\" timestamp string representing the DB wall-clock components\n return `${yyyy}-${mm}-${dd} ${hh}:${mi}:${ss}.${ms}`;\n}\n\nfunction getWallClockConfig(): { tz: string; wallTimeMode: boolean } {\n return {\n tz: process.env.SOLIDX_WALL_TIME_TIMEZONE || process.env.SOLIDX_TIMEZONE || \"UTC\",\n wallTimeMode: (process.env.SOLIDX_TIME_STORED_AS_WALL_TIME || \"\").toLowerCase() === \"true\",\n };\n}\n\n/**\n * Returns a dayjs instance positioned at the wall-clock time for the given Date.\n * - Wall-clock mode ON: dayjs in the configured timezone (components = wall-clock components)\n * - Wall-clock mode OFF: dayjs in UTC\n * Counterpart to serializeDate — use this to format/display a date value correctly.\n */\nexport function parseDate(date: Date): dayjs.Dayjs {\n const { tz, wallTimeMode } = getWallClockConfig();\n if (!wallTimeMode) return dayjs.utc(date);\n return dayjs(date).tz(tz);\n}\n\n/**\n * Converts a Date to a string for storage in plain text columns (e.g. audit values).\n * - Wall-clock mode ON: \"YYYY-MM-DD HH:mm:ss.SSS\" in the configured timezone (no Z suffix)\n * - Wall-clock mode OFF: ISO 8601 UTC string with Z suffix\n * The presence/absence of the Z suffix lets consumers distinguish the two cases.\n */\nexport function serializeDate(date: Date): string {\n const { wallTimeMode } = getWallClockConfig();\n if (!wallTimeMode) return date.toISOString();\n return parseDate(date).format(\"YYYY-MM-DD HH:mm:ss.SSS\");\n}\n\nexport const LocalDateTimeTransformer: ValueTransformer = {\n // DB -> Entity\n from(value: Date | string | null | undefined): Date | null | undefined {\n // critical... super important to return undefined here\n if (value === undefined) return undefined;\n if (value === null) return null;\n\n const { tz, wallTimeMode } = getWallClockConfig();\n\n if (!wallTimeMode) {\n return dayjs(value).toDate();\n }\n\n const naive = value instanceof Date ? dateToUtcComponentString(value) : String(value);\n return dayjs.tz(naive, tz).utc().toDate();\n },\n\n // Entity -> DB\n to(value: Date | null | undefined): Date | null | undefined {\n // critical... super important to return undefined here\n if (value === undefined) return undefined;\n if (value === null) return null;\n\n const wallTimeStr = serializeDate(value);\n return dayjs.utc(wallTimeStr).toDate();\n },\n\n};\n\n"]}
|