@solidstarters/solid-core 1.2.200 → 1.2.202
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/fixtures/fixtures-setup.command.d.ts +15 -0
- package/dist/commands/fixtures/fixtures-setup.command.d.ts.map +1 -0
- package/dist/commands/fixtures/fixtures-setup.command.js +58 -0
- package/dist/commands/fixtures/fixtures-setup.command.js.map +1 -0
- package/dist/commands/fixtures/fixtures-tear-down.command.d.ts +16 -0
- package/dist/commands/fixtures/fixtures-tear-down.command.d.ts.map +1 -0
- package/dist/commands/fixtures/fixtures-tear-down.command.js +59 -0
- package/dist/commands/fixtures/fixtures-tear-down.command.js.map +1 -0
- package/dist/commands/refresh-model.command.d.ts.map +1 -1
- package/dist/commands/refresh-model.command.js +4 -0
- package/dist/commands/refresh-model.command.js.map +1 -1
- package/dist/config/cache.options.d.ts +1 -1
- package/dist/config/cache.options.d.ts.map +1 -1
- package/dist/config/cache.options.js +2 -2
- package/dist/config/cache.options.js.map +1 -1
- package/dist/config/iam.config.d.ts +4 -0
- package/dist/config/iam.config.d.ts.map +1 -1
- package/dist/config/iam.config.js +2 -0
- package/dist/config/iam.config.js.map +1 -1
- package/dist/constants/error-messages.d.ts +2 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +4 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/controllers/model-metadata.controller.d.ts +25 -0
- package/dist/controllers/model-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/model-metadata.controller.js +23 -0
- package/dist/controllers/model-metadata.controller.js.map +1 -1
- package/dist/controllers/model-sequence.controller.d.ts +43 -0
- package/dist/controllers/model-sequence.controller.d.ts.map +1 -0
- package/dist/controllers/model-sequence.controller.js +179 -0
- package/dist/controllers/model-sequence.controller.js.map +1 -0
- package/dist/controllers/setting.controller.d.ts +2 -2
- package/dist/controllers/setting.controller.d.ts.map +1 -1
- package/dist/controllers/setting.controller.js +36 -42
- package/dist/controllers/setting.controller.js.map +1 -1
- package/dist/decorators/sms-provider.decorator.d.ts +3 -0
- package/dist/decorators/sms-provider.decorator.d.ts.map +1 -0
- package/dist/decorators/sms-provider.decorator.js +11 -0
- package/dist/decorators/sms-provider.decorator.js.map +1 -0
- package/dist/dtos/basic-filters.dto.d.ts +3 -1
- package/dist/dtos/basic-filters.dto.d.ts.map +1 -1
- package/dist/dtos/basic-filters.dto.js +8 -2
- package/dist/dtos/basic-filters.dto.js.map +1 -1
- package/dist/dtos/basic-group-filters.dto.d.ts +6 -0
- package/dist/dtos/basic-group-filters.dto.d.ts.map +1 -0
- package/dist/dtos/basic-group-filters.dto.js +46 -0
- package/dist/dtos/basic-group-filters.dto.js.map +1 -0
- package/dist/dtos/create-field-metadata.dto.js +2 -2
- package/dist/dtos/create-field-metadata.dto.js.map +1 -1
- package/dist/dtos/create-model-sequence.dto.d.ts +14 -0
- package/dist/dtos/create-model-sequence.dto.d.ts.map +1 -0
- package/dist/dtos/create-model-sequence.dto.js +90 -0
- package/dist/dtos/create-model-sequence.dto.js.map +1 -0
- package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-role-metadata.dto.js +1 -0
- package/dist/dtos/create-role-metadata.dto.js.map +1 -1
- package/dist/dtos/get-mcp-url.dto.d.ts +5 -0
- package/dist/dtos/get-mcp-url.dto.d.ts.map +1 -0
- package/dist/dtos/get-mcp-url.dto.js +31 -0
- package/dist/dtos/get-mcp-url.dto.js.map +1 -0
- package/dist/dtos/navigation.dto.d.ts +6 -0
- package/dist/dtos/navigation.dto.d.ts.map +1 -0
- package/dist/dtos/navigation.dto.js +33 -0
- package/dist/dtos/navigation.dto.js.map +1 -0
- package/dist/dtos/resolve-s3-url.dto.d.ts +5 -5
- package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -1
- package/dist/dtos/resolve-s3-url.dto.js +7 -7
- package/dist/dtos/resolve-s3-url.dto.js.map +1 -1
- package/dist/dtos/sign-in.dto.js +3 -3
- package/dist/dtos/sign-in.dto.js.map +1 -1
- package/dist/dtos/update-model-sequence.dto.d.ts +15 -0
- package/dist/dtos/update-model-sequence.dto.d.ts.map +1 -0
- package/dist/dtos/update-model-sequence.dto.js +94 -0
- package/dist/dtos/update-model-sequence.dto.js.map +1 -0
- package/dist/entities/common.entity.d.ts.map +1 -1
- package/dist/entities/common.entity.js +6 -4
- package/dist/entities/common.entity.js.map +1 -1
- package/dist/entities/field-metadata.entity.d.ts.map +1 -1
- package/dist/entities/field-metadata.entity.js +2 -1
- package/dist/entities/field-metadata.entity.js.map +1 -1
- package/dist/entities/legacy-common.entity.d.ts.map +1 -1
- package/dist/entities/legacy-common.entity.js +6 -4
- package/dist/entities/legacy-common.entity.js.map +1 -1
- package/dist/entities/model-metadata.entity.d.ts.map +1 -1
- package/dist/entities/model-metadata.entity.js +5 -1
- package/dist/entities/model-metadata.entity.js.map +1 -1
- package/dist/entities/model-sequence.entity.d.ts +15 -0
- package/dist/entities/model-sequence.entity.d.ts.map +1 -0
- package/dist/entities/model-sequence.entity.js +67 -0
- package/dist/entities/model-sequence.entity.js.map +1 -0
- package/dist/factories/mail.factory.d.ts.map +1 -1
- package/dist/factories/mail.factory.js.map +1 -1
- package/dist/factories/sms.factory.d.ts +14 -0
- package/dist/factories/sms.factory.d.ts.map +1 -0
- package/dist/factories/sms.factory.js +53 -0
- package/dist/factories/sms.factory.js.map +1 -0
- package/dist/helpers/date.helper.d.ts.map +1 -1
- package/dist/helpers/date.helper.js +13 -4
- package/dist/helpers/date.helper.js.map +1 -1
- package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js +13 -2
- package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +0 -1
- package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +4 -9
- package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts +0 -1
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +7 -8
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +0 -1
- package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +4 -9
- package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
- package/dist/helpers/model-metadata-helper.service.js +6 -2
- package/dist/helpers/model-metadata-helper.service.js.map +1 -1
- package/dist/helpers/module-metadata-helper.service.d.ts +1 -0
- package/dist/helpers/module-metadata-helper.service.d.ts.map +1 -1
- package/dist/helpers/module-metadata-helper.service.js +9 -0
- package/dist/helpers/module-metadata-helper.service.js.map +1 -1
- package/dist/helpers/module.helper.d.ts +1 -0
- package/dist/helpers/module.helper.d.ts.map +1 -1
- package/dist/helpers/module.helper.js +29 -3
- package/dist/helpers/module.helper.js.map +1 -1
- package/dist/helpers/solid-registry.d.ts +14 -0
- package/dist/helpers/solid-registry.d.ts.map +1 -1
- package/dist/helpers/solid-registry.js +7 -0
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/index.d.ts +12 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -8
- package/dist/index.js.map +1 -1
- package/dist/jobs/computed-field-evaluation-subscriber.service.d.ts +1 -0
- package/dist/jobs/computed-field-evaluation-subscriber.service.d.ts.map +1 -1
- package/dist/jobs/computed-field-evaluation-subscriber.service.js +16 -4
- package/dist/jobs/computed-field-evaluation-subscriber.service.js.map +1 -1
- package/dist/jobs/database/{sms-publisher-database.service.d.ts → msg91-sms-publisher-database.service.d.ts} +2 -2
- package/dist/jobs/database/msg91-sms-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/{sms-publisher-database.service.js → msg91-sms-publisher-database.service.js} +8 -8
- package/dist/jobs/database/msg91-sms-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/{sms-queue-database-options.d.ts → msg91-sms-queue-database-options.d.ts} +1 -1
- package/dist/jobs/database/msg91-sms-queue-database-options.d.ts.map +1 -0
- package/dist/jobs/database/{sms-queue-database-options.js → msg91-sms-queue-database-options.js} +1 -1
- package/dist/jobs/database/msg91-sms-queue-database-options.js.map +1 -0
- package/dist/jobs/database/{sms-subscriber-database.service.d.ts → msg91-sms-subscriber-database.service.d.ts} +5 -5
- package/dist/jobs/database/msg91-sms-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/{sms-subscriber-database.service.js → msg91-sms-subscriber-database.service.js} +14 -12
- package/dist/jobs/database/msg91-sms-subscriber-database.service.js.map +1 -0
- package/dist/jobs/database/otp-subscriber-database.service.d.ts +4 -4
- package/dist/jobs/database/otp-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/otp-subscriber-database.service.js +6 -4
- package/dist/jobs/database/otp-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts +3 -3
- package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/twilio-sms-subscriber-database.service.js +6 -4
- package/dist/jobs/database/twilio-sms-subscriber-database.service.js.map +1 -1
- package/dist/jobs/{sms-publisher.service.d.ts → msg91-otp-publisher.service.d.ts} +2 -2
- package/dist/jobs/msg91-otp-publisher.service.d.ts.map +1 -0
- package/dist/jobs/{sms-publisher.service.js → msg91-otp-publisher.service.js} +8 -8
- package/dist/jobs/msg91-otp-publisher.service.js.map +1 -0
- package/dist/jobs/{sms-queue-options.d.ts → msg91-otp-queue-options.d.ts} +1 -1
- package/dist/jobs/msg91-otp-queue-options.d.ts.map +1 -0
- package/dist/jobs/{otp-queue-options.js → msg91-otp-queue-options.js} +1 -1
- package/dist/jobs/msg91-otp-queue-options.js.map +1 -0
- package/dist/jobs/{sms-subscriber.service.d.ts → msg91-otp-subscriber.service.d.ts} +6 -6
- package/dist/jobs/msg91-otp-subscriber.service.d.ts.map +1 -0
- package/dist/jobs/{otp-subscriber.service.js → msg91-otp-subscriber.service.js} +14 -12
- package/dist/jobs/msg91-otp-subscriber.service.js.map +1 -0
- package/dist/jobs/{otp-publisher.service.d.ts → msg91-sms-publisher.service.d.ts} +2 -2
- package/dist/jobs/msg91-sms-publisher.service.d.ts.map +1 -0
- package/dist/jobs/{otp-publisher.service.js → msg91-sms-publisher.service.js} +8 -8
- package/dist/jobs/msg91-sms-publisher.service.js.map +1 -0
- package/dist/jobs/{otp-queue-options.d.ts → msg91-sms-queue-options.d.ts} +1 -1
- package/dist/jobs/msg91-sms-queue-options.d.ts.map +1 -0
- package/dist/jobs/{sms-queue-options.js → msg91-sms-queue-options.js} +1 -1
- package/dist/jobs/msg91-sms-queue-options.js.map +1 -0
- package/dist/jobs/{otp-subscriber.service.d.ts → msg91-sms-subscriber.service.d.ts} +7 -7
- package/dist/jobs/msg91-sms-subscriber.service.d.ts.map +1 -0
- package/dist/jobs/{sms-subscriber.service.js → msg91-sms-subscriber.service.js} +14 -12
- package/dist/jobs/msg91-sms-subscriber.service.js.map +1 -0
- package/dist/jobs/twilio-sms-subscriber.service.d.ts +3 -3
- package/dist/jobs/twilio-sms-subscriber.service.d.ts.map +1 -1
- package/dist/jobs/twilio-sms-subscriber.service.js +6 -4
- package/dist/jobs/twilio-sms-subscriber.service.js.map +1 -1
- package/dist/repository/media.repository.d.ts.map +1 -1
- package/dist/repository/media.repository.js +4 -0
- package/dist/repository/media.repository.js.map +1 -1
- package/dist/repository/model-sequence.repository.d.ts +14 -0
- package/dist/repository/model-sequence.repository.d.ts.map +1 -0
- package/dist/repository/model-sequence.repository.js +103 -0
- package/dist/repository/model-sequence.repository.js.map +1 -0
- package/dist/seeders/module-metadata-seeder.service.d.ts +7 -12
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +87 -27
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +373 -52
- package/dist/seeders/system-fields-seeder.service.d.ts +1 -0
- package/dist/seeders/system-fields-seeder.service.d.ts.map +1 -1
- package/dist/seeders/system-fields-seeder.service.js +11 -2
- package/dist/seeders/system-fields-seeder.service.js.map +1 -1
- package/dist/seeders/user-seeder.service.d.ts.map +1 -1
- package/dist/seeders/user-seeder.service.js +5 -4
- package/dist/seeders/user-seeder.service.js.map +1 -1
- package/dist/services/action-metadata.service.d.ts.map +1 -1
- package/dist/services/action-metadata.service.js +1 -0
- package/dist/services/action-metadata.service.js.map +1 -1
- package/dist/services/ai-interaction.service.d.ts.map +1 -1
- package/dist/services/ai-interaction.service.js +1 -0
- package/dist/services/ai-interaction.service.js.map +1 -1
- package/dist/services/authentication.service.d.ts +6 -3
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +70 -27
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message-details.service.d.ts.map +1 -1
- package/dist/services/chatter-message-details.service.js +1 -0
- package/dist/services/chatter-message-details.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +7 -3
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +7 -5
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js.map +1 -1
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts +15 -0
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -0
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +72 -0
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -0
- package/dist/services/crud-helper.service.d.ts +23 -6
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +257 -45
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +4 -3
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +53 -24
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/database/database-bootstrap.service.d.ts +12 -0
- package/dist/services/database/database-bootstrap.service.d.ts.map +1 -0
- package/dist/services/database/database-bootstrap.service.js +115 -0
- package/dist/services/database/database-bootstrap.service.js.map +1 -0
- package/dist/services/email-template.service.d.ts +7 -7
- package/dist/services/email-template.service.d.ts.map +1 -1
- package/dist/services/email-template.service.js +8 -7
- package/dist/services/email-template.service.js.map +1 -1
- package/dist/services/excel.service.d.ts +11 -0
- package/dist/services/excel.service.d.ts.map +1 -1
- package/dist/services/excel.service.js +104 -0
- package/dist/services/excel.service.js.map +1 -1
- package/dist/services/field-metadata.service.d.ts +4 -1
- package/dist/services/field-metadata.service.d.ts.map +1 -1
- package/dist/services/field-metadata.service.js +35 -30
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/file.service.d.ts +1 -0
- package/dist/services/file.service.d.ts.map +1 -1
- package/dist/services/file.service.js +9 -0
- package/dist/services/file.service.js.map +1 -1
- package/dist/services/fixtures.service.d.ts +13 -0
- package/dist/services/fixtures.service.d.ts.map +1 -0
- package/dist/services/fixtures.service.js +95 -0
- package/dist/services/fixtures.service.js.map +1 -0
- package/dist/services/genai/ingest-metadata.service.d.ts.map +1 -1
- package/dist/services/genai/ingest-metadata.service.js +1 -1
- package/dist/services/genai/ingest-metadata.service.js.map +1 -1
- package/dist/services/import-transaction-error-log.service.d.ts.map +1 -1
- package/dist/services/import-transaction-error-log.service.js +1 -0
- package/dist/services/import-transaction-error-log.service.js.map +1 -1
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +7 -1
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/list-of-values.service.d.ts +2 -2
- package/dist/services/list-of-values.service.d.ts.map +1 -1
- package/dist/services/list-of-values.service.js +2 -1
- package/dist/services/list-of-values.service.js.map +1 -1
- package/dist/services/locale.service.d.ts.map +1 -1
- package/dist/services/locale.service.js +1 -0
- package/dist/services/locale.service.js.map +1 -1
- package/dist/services/mail/smtp-email.service.js +0 -1
- package/dist/services/mail/smtp-email.service.js.map +1 -1
- package/dist/services/media.service.d.ts +3 -3
- package/dist/services/media.service.d.ts.map +1 -1
- package/dist/services/media.service.js +6 -4
- package/dist/services/media.service.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js +17 -6
- package/dist/services/mediaStorageProviders/file-s3-storage-provider.js.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.d.ts.map +1 -1
- package/dist/services/mediaStorageProviders/file-storage-provider.js +0 -13
- package/dist/services/mediaStorageProviders/file-storage-provider.js.map +1 -1
- package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
- package/dist/services/menu-item-metadata.service.js +4 -0
- package/dist/services/menu-item-metadata.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts +28 -1
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +111 -44
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/model-sequence.service.d.ts +23 -0
- package/dist/services/model-sequence.service.d.ts.map +1 -0
- package/dist/services/model-sequence.service.js +55 -0
- package/dist/services/model-sequence.service.js.map +1 -0
- package/dist/services/module-metadata.service.d.ts +1 -0
- package/dist/services/module-metadata.service.d.ts.map +1 -1
- package/dist/services/module-metadata.service.js +35 -1
- package/dist/services/module-metadata.service.js.map +1 -1
- package/dist/services/permission-metadata.service.d.ts +5 -5
- package/dist/services/permission-metadata.service.d.ts.map +1 -1
- package/dist/services/permission-metadata.service.js +6 -5
- package/dist/services/permission-metadata.service.js.map +1 -1
- package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/database-subscriber.service.js +2 -1
- package/dist/services/queues/database-subscriber.service.js.map +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/rabbitmq-subscriber.service.js +2 -2
- package/dist/services/queues/rabbitmq-subscriber.service.js.map +1 -1
- package/dist/services/role-metadata.service.d.ts.map +1 -1
- package/dist/services/role-metadata.service.js +1 -0
- package/dist/services/role-metadata.service.js.map +1 -1
- package/dist/services/scheduled-job.service.d.ts +6 -6
- package/dist/services/scheduled-job.service.d.ts.map +1 -1
- package/dist/services/scheduled-job.service.js +8 -8
- package/dist/services/scheduled-job.service.js.map +1 -1
- package/dist/services/scheduled-jobs/scheduler.service.d.ts.map +1 -1
- package/dist/services/scheduled-jobs/scheduler.service.js +4 -0
- package/dist/services/scheduled-jobs/scheduler.service.js.map +1 -1
- package/dist/services/security-rule.service.d.ts.map +1 -1
- package/dist/services/security-rule.service.js +1 -0
- package/dist/services/security-rule.service.js.map +1 -1
- package/dist/services/selection-providers/list-of-models-selection-provider.service.d.ts.map +1 -1
- package/dist/services/selection-providers/list-of-models-selection-provider.service.js +4 -0
- package/dist/services/selection-providers/list-of-models-selection-provider.service.js.map +1 -1
- package/dist/services/setting.service.d.ts +7 -5
- package/dist/services/setting.service.d.ts.map +1 -1
- package/dist/services/setting.service.js +28 -48
- package/dist/services/setting.service.js.map +1 -1
- package/dist/services/sms/Msg91BaseSMSService.js +6 -6
- package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
- package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
- package/dist/services/sms/Msg91OTPService.js +3 -1
- package/dist/services/sms/Msg91OTPService.js.map +1 -1
- package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
- package/dist/services/sms/Msg91SMSService.js +3 -1
- package/dist/services/sms/Msg91SMSService.js.map +1 -1
- package/dist/services/sms/TwilioSMSService.d.ts.map +1 -1
- package/dist/services/sms/TwilioSMSService.js +2 -0
- package/dist/services/sms/TwilioSMSService.js.map +1 -1
- package/dist/services/sms-template.service.d.ts +7 -7
- package/dist/services/sms-template.service.d.ts.map +1 -1
- package/dist/services/sms-template.service.js +8 -7
- package/dist/services/sms-template.service.js.map +1 -1
- package/dist/services/solid-introspect.service.d.ts +5 -13
- package/dist/services/solid-introspect.service.d.ts.map +1 -1
- package/dist/services/solid-introspect.service.js +18 -22
- package/dist/services/solid-introspect.service.js.map +1 -1
- package/dist/services/solid-ts-morph.service.js +2 -2
- package/dist/services/solid-ts-morph.service.js.map +1 -1
- package/dist/services/user-activity-history.service.d.ts.map +1 -1
- package/dist/services/user-activity-history.service.js +1 -0
- package/dist/services/user-activity-history.service.js.map +1 -1
- package/dist/services/user-view-metadata.service.d.ts.map +1 -1
- package/dist/services/user-view-metadata.service.js +3 -2
- package/dist/services/user-view-metadata.service.js.map +1 -1
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +1 -0
- package/dist/services/user.service.js.map +1 -1
- package/dist/services/view-metadata.service.d.ts +1 -1
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +3 -1
- package/dist/services/view-metadata.service.js.map +1 -1
- package/dist/solid-core-cli-db.module.d.ts.map +1 -1
- package/dist/solid-core-cli-db.module.js +5 -2
- package/dist/solid-core-cli-db.module.js.map +1 -1
- package/dist/solid-core-cli.module.js +1 -1
- package/dist/solid-core-cli.module.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +40 -13
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
- package/dist/subscribers/audit.subscriber.js +5 -1
- package/dist/subscribers/audit.subscriber.js.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.d.ts +4 -2
- package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.js +53 -12
- package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
- package/dist/subscribers/scheduled-job.subscriber.d.ts.map +1 -1
- package/dist/subscribers/scheduled-job.subscriber.js +1 -1
- package/dist/subscribers/scheduled-job.subscriber.js.map +1 -1
- package/dist/transformers/typeorm/local-date-time-transformer.d.ts +5 -0
- package/dist/transformers/typeorm/local-date-time-transformer.d.ts.map +1 -0
- package/dist/transformers/typeorm/local-date-time-transformer.js +48 -0
- package/dist/transformers/typeorm/local-date-time-transformer.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/grouping-enhancements.md +89 -0
- package/package.json +1 -1
- package/src/commands/fixtures/fixtures-setup.command.ts +44 -0
- package/src/commands/fixtures/fixtures-tear-down.command.ts +45 -0
- package/src/commands/refresh-model.command.ts +3 -1
- package/src/config/cache.options.ts +6 -3
- package/src/config/iam.config.ts +2 -1
- package/src/constants/error-messages.ts +7 -1
- package/src/controllers/model-metadata.controller.ts +21 -1
- package/src/controllers/model-sequence.controller.ts +93 -0
- package/src/controllers/setting.controller.ts +62 -54
- package/src/decorators/sms-provider.decorator.ts +7 -0
- package/src/dtos/basic-filters.dto.ts +6 -1
- package/src/dtos/basic-group-filters.dto.ts +23 -0
- package/src/dtos/create-field-metadata.dto.ts +1 -1
- package/src/dtos/create-model-sequence.dto.ts +51 -0
- package/src/dtos/create-role-metadata.dto.ts +16 -3
- package/src/dtos/get-mcp-url.dto.ts +13 -0
- package/src/dtos/navigation.dto.ts +14 -0
- package/src/dtos/resolve-s3-url.dto.ts +9 -11
- package/src/dtos/sign-in.dto.ts +3 -3
- package/src/dtos/update-model-sequence.dto.ts +53 -0
- package/src/entities/common.entity.ts +8 -8
- package/src/entities/field-metadata.entity.ts +1 -1
- package/src/entities/legacy-common.entity.ts +8 -6
- package/src/entities/model-metadata.entity.ts +1 -1
- package/src/entities/model-sequence.entity.ts +32 -0
- package/src/factories/mail.factory.ts +0 -1
- package/src/factories/sms.factory.ts +43 -0
- package/src/helpers/date.helper.ts +38 -9
- package/src/helpers/field-crud-managers/BigIntFieldCrudManager.ts +18 -5
- package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +9 -9
- package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +16 -8
- package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +9 -9
- package/src/helpers/model-metadata-helper.service.ts +6 -4
- package/src/helpers/module-metadata-helper.service.ts +18 -1
- package/src/helpers/module.helper.ts +40 -5
- package/src/helpers/solid-registry.ts +23 -0
- package/src/index.ts +12 -7
- package/src/jobs/computed-field-evaluation-subscriber.service.ts +15 -4
- package/src/jobs/database/{sms-publisher-database.service.ts → msg91-sms-publisher-database.service.ts} +2 -2
- package/src/jobs/database/{sms-subscriber-database.service.ts → msg91-sms-subscriber-database.service.ts} +9 -4
- package/src/jobs/database/otp-subscriber-database.service.ts +8 -2
- package/src/jobs/database/twilio-sms-subscriber-database.service.ts +5 -2
- package/src/jobs/{otp-publisher.service.ts → msg91-otp-publisher.service.ts} +2 -2
- package/src/jobs/{otp-subscriber.service.ts → msg91-otp-subscriber.service.ts} +10 -4
- package/src/jobs/{sms-publisher.service.ts → msg91-sms-publisher.service.ts} +2 -2
- package/src/jobs/{sms-subscriber.service.ts → msg91-sms-subscriber.service.ts} +9 -4
- package/src/jobs/twilio-sms-subscriber.service.ts +6 -2
- package/src/repository/media.repository.ts +3 -2
- package/src/repository/model-sequence.repository.ts +97 -0
- package/src/seeders/module-metadata-seeder.service.ts +133 -34
- package/src/seeders/seed-data/email-templates/email-on-signup.handlebars.html +155 -0
- package/src/seeders/seed-data/sms-templates/text-on-signup.handlebars.txt +10 -0
- package/src/seeders/seed-data/solid-core-metadata.json +374 -53
- package/src/seeders/system-fields-seeder.service.ts +6 -2
- package/src/seeders/user-seeder.service.ts +5 -4
- package/src/services/action-metadata.service.ts +3 -2
- package/src/services/ai-interaction.service.ts +2 -1
- package/src/services/authentication.service.ts +119 -24
- package/src/services/chatter-message-details.service.ts +2 -1
- package/src/services/chatter-message.service.ts +10 -4
- package/src/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.ts +9 -9
- package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +86 -0
- package/src/services/crud-helper.service.ts +287 -49
- package/src/services/crud.service.ts +95 -45
- package/src/services/database/database-bootstrap.service.ts +91 -0
- package/src/services/email-template.service.ts +11 -13
- package/src/services/excel.service.ts +152 -3
- package/src/services/field-metadata.service.ts +102 -55
- package/src/services/file.service.ts +9 -0
- package/src/services/fixtures.service.ts +108 -0
- package/src/services/genai/ingest-metadata.service.ts +4 -3
- package/src/services/import-transaction-error-log.service.ts +2 -1
- package/src/services/import-transaction.service.ts +8 -4
- package/src/services/list-of-values.service.ts +4 -4
- package/src/services/locale.service.ts +2 -1
- package/src/services/mail/smtp-email.service.ts +1 -1
- package/src/services/media.service.ts +10 -11
- package/src/services/mediaStorageProviders/file-s3-storage-provider.ts +22 -7
- package/src/services/mediaStorageProviders/file-storage-provider.ts +18 -13
- package/src/services/menu-item-metadata.service.ts +6 -2
- package/src/services/model-metadata.service.ts +201 -44
- package/src/services/model-sequence.service.ts +33 -0
- package/src/services/module-metadata.service.ts +49 -2
- package/src/services/permission-metadata.service.ts +8 -9
- package/src/services/queues/database-subscriber.service.ts +3 -1
- package/src/services/queues/rabbitmq-subscriber.service.ts +4 -2
- package/src/services/role-metadata.service.ts +1 -0
- package/src/services/scheduled-job.service.ts +9 -9
- package/src/services/scheduled-jobs/scheduler.service.ts +5 -0
- package/src/services/security-rule.service.ts +1 -0
- package/src/services/selection-providers/list-of-models-selection-provider.service.ts +5 -2
- package/src/services/setting.service.ts +42 -55
- package/src/services/sms/Msg91BaseSMSService.ts +6 -6
- package/src/services/sms/Msg91OTPService.ts +3 -2
- package/src/services/sms/Msg91SMSService.ts +3 -1
- package/src/services/sms/TwilioSMSService.ts +3 -3
- package/src/services/sms-template.service.ts +11 -13
- package/src/services/solid-introspect.service.ts +28 -19
- package/src/services/solid-ts-morph.service.ts +2 -2
- package/src/services/user-activity-history.service.ts +3 -2
- package/src/services/user-view-metadata.service.ts +4 -3
- package/src/services/user.service.ts +2 -1
- package/src/services/view-metadata.service.ts +5 -4
- package/src/solid-core-cli-db.module.ts +5 -4
- package/src/solid-core-cli.module.ts +2 -2
- package/src/solid-core.module.ts +42 -13
- package/src/subscribers/audit.subscriber.ts +3 -2
- package/src/subscribers/computed-entity-field.subscriber.ts +60 -17
- package/src/subscribers/scheduled-job.subscriber.ts +9 -2
- package/src/transformers/typeorm/local-date-time-transformer.ts +55 -0
- package/dist/jobs/database/sms-publisher-database.service.d.ts.map +0 -1
- package/dist/jobs/database/sms-publisher-database.service.js.map +0 -1
- package/dist/jobs/database/sms-queue-database-options.d.ts.map +0 -1
- package/dist/jobs/database/sms-queue-database-options.js.map +0 -1
- package/dist/jobs/database/sms-subscriber-database.service.d.ts.map +0 -1
- package/dist/jobs/database/sms-subscriber-database.service.js.map +0 -1
- package/dist/jobs/otp-publisher.service.d.ts.map +0 -1
- package/dist/jobs/otp-publisher.service.js.map +0 -1
- package/dist/jobs/otp-queue-options.d.ts.map +0 -1
- package/dist/jobs/otp-queue-options.js.map +0 -1
- package/dist/jobs/otp-subscriber.service.d.ts.map +0 -1
- package/dist/jobs/otp-subscriber.service.js.map +0 -1
- package/dist/jobs/sms-publisher.service.d.ts.map +0 -1
- package/dist/jobs/sms-publisher.service.js.map +0 -1
- package/dist/jobs/sms-queue-options.d.ts.map +0 -1
- package/dist/jobs/sms-queue-options.js.map +0 -1
- package/dist/jobs/sms-subscriber.service.d.ts.map +0 -1
- package/dist/jobs/sms-subscriber.service.js.map +0 -1
- /package/sql/{mssql → default/mssql}/proc_CleanupModelMetadata.sql +0 -0
- /package/sql/{mssql → default/mssql}/proc_CleanupModuleMetadata.sql +0 -0
- /package/sql/{mssql/scratchpad.sql → default/mssql/scratchpad.sql.txt} +0 -0
- /package/sql/{postgres → default/postgres}/proc_CleanupModelMetadata.sql +0 -0
- /package/sql/{postgres → default/postgres}/proc_CleanupModuleMetadata.sql +0 -0
- /package/sql/{postgres/scratchpad.sql → default/postgres/scratchpad.sql.txt} +0 -0
- /package/src/jobs/database/{sms-queue-database-options.ts → msg91-sms-queue-database-options.ts} +0 -0
- /package/src/jobs/{otp-queue-options.ts → msg91-otp-queue-options.ts} +0 -0
- /package/src/jobs/{sms-queue-options.ts → msg91-sms-queue-options.ts} +0 -0
|
@@ -22,9 +22,10 @@ const common_config_1 = __importDefault(require("../../config/common.config"));
|
|
|
22
22
|
const sms_template_service_1 = require("../sms-template.service");
|
|
23
23
|
const Msg91BaseSMSService_1 = require("./Msg91BaseSMSService");
|
|
24
24
|
const publisher_factory_service_1 = require("../queues/publisher-factory.service");
|
|
25
|
+
const sms_provider_decorator_1 = require("../../decorators/sms-provider.decorator");
|
|
25
26
|
let Msg91OTPService = class Msg91OTPService extends Msg91BaseSMSService_1.Msg91BaseSMSService {
|
|
26
27
|
constructor(commonConfiguration, publisherFactory, smsTemplateService, httpService) {
|
|
27
|
-
super(commonConfiguration, '
|
|
28
|
+
super(commonConfiguration, 'Msg91OTPQueuePublisher', publisherFactory, smsTemplateService);
|
|
28
29
|
this.httpService = httpService;
|
|
29
30
|
}
|
|
30
31
|
async sendSMSSynchronously(message) {
|
|
@@ -47,6 +48,7 @@ let Msg91OTPService = class Msg91OTPService extends Msg91BaseSMSService_1.Msg91B
|
|
|
47
48
|
exports.Msg91OTPService = Msg91OTPService;
|
|
48
49
|
exports.Msg91OTPService = Msg91OTPService = __decorate([
|
|
49
50
|
(0, common_1.Injectable)(),
|
|
51
|
+
(0, sms_provider_decorator_1.SmsProvider)(),
|
|
50
52
|
__param(0, (0, common_1.Inject)(common_config_1.default.KEY)),
|
|
51
53
|
__metadata("design:paramtypes", [void 0, publisher_factory_service_1.PublisherFactory,
|
|
52
54
|
sms_template_service_1.SmsTemplateService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Msg91OTPService.js","sourceRoot":"","sources":["../../../src/services/sms/Msg91OTPService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAAoD;AAEpD,+EAAoD;AAEpD,kEAA6D;AAC7D,+DAA4D;AAE5D,mFAAuE;
|
|
1
|
+
{"version":3,"file":"Msg91OTPService.js","sourceRoot":"","sources":["../../../src/services/sms/Msg91OTPService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAAoD;AAEpD,+EAAoD;AAEpD,kEAA6D;AAC7D,+DAA4D;AAE5D,mFAAuE;AACvE,oFAAoE;AAW7D,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,yCAAmB;IACpD,YAEI,mBAAoD,EACpD,gBAAuC,EACvC,kBAAsC,EACrB,WAAwB;QAEzC,KAAK,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAF1E,gBAAW,GAAX,WAAW,CAAa;IAG7C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAA0B;QACjD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAChD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;QAC9G,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,QAAQ,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,aAAa,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IAEO,mBAAmB,CAAC,MAAiB;QACzC,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;QAC7D,CAAC;QACD,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AA5BY,0CAAe;0BAAf,eAAe;IAF3B,IAAA,mBAAU,GAAE;IACZ,IAAA,oCAAW,GAAE;IAGL,WAAA,IAAA,eAAM,EAAC,uBAAY,CAAC,GAAG,CAAC,CAAA;6CAEP,4CAAgB;QACd,yCAAkB;QACR,mBAAW;GANpC,eAAe,CA4B3B","sourcesContent":["import { HttpService } from \"@nestjs/axios\";\nimport { Inject, Injectable } from \"@nestjs/common\";\nimport { ConfigType } from \"@nestjs/config\";\nimport commonConfig from \"src/config/common.config\";\nimport { QueueMessage } from \"src/interfaces/mq\";\nimport { SmsTemplateService } from \"../sms-template.service\";\nimport { Msg91BaseSMSService } from \"./Msg91BaseSMSService\";\nimport { ISMS } from \"../../interfaces\";\nimport { PublisherFactory } from \"../queues/publisher-factory.service\";\nimport { SmsProvider } from \"src/decorators/sms-provider.decorator\";\n\ninterface OtpParams {\n otp: string,\n template_id: string,\n mobile: string,\n authkey: string\n}\n\n@Injectable()\n@SmsProvider()\nexport class Msg91OTPService extends Msg91BaseSMSService implements ISMS {\n constructor(\n @Inject(commonConfig.KEY)\n commonConfiguration: ConfigType<typeof commonConfig>,\n publisherFactory: PublisherFactory<any>,\n smsTemplateService: SmsTemplateService,\n private readonly httpService: HttpService,\n ) {\n super(commonConfiguration, 'Msg91OTPQueuePublisher', publisherFactory, smsTemplateService);\n }\n\n async sendSMSSynchronously(message: QueueMessage<any>): Promise<any> {\n const { to, templateId, otp } = message.payload;\n const params = { otp, template_id: templateId, mobile: to, authkey: this.commonConfiguration.msg91Sms.apiKey }\n const otpUrl = `${this.commonConfiguration.msg91Sms.url}/otp?${this.paramsToQueryString(params)}`;\n await this.httpService.axiosRef.post(otpUrl, {});\n this.logger.debug(`Sending OTP to ${to} with url ${otpUrl}`);\n }\n\n private paramsToQueryString(params: OtpParams): string {\n const qsArray: string[] = []\n const paramKeys = Object.keys(params)\n for (const key of paramKeys) {\n qsArray.push(`${key}=${encodeURIComponent(params[key])}`)\n }\n const qs = qsArray.join(\"&\");\n return qs;\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Msg91SMSService.d.ts","sourceRoot":"","sources":["../../../src/services/sms/Msg91SMSService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"Msg91SMSService.d.ts","sourceRoot":"","sources":["../../../src/services/sms/Msg91SMSService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAGvE,qBAEa,eAAgB,SAAQ,mBAAoB,YAAW,IAAI;IAOhE,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAJ5B,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EAEpD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACvC,kBAAkB,EAAE,kBAAkB,EACrB,WAAW,EAAE,WAAW;IAKvC,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAOvE"}
|
|
@@ -22,9 +22,10 @@ const common_config_1 = __importDefault(require("../../config/common.config"));
|
|
|
22
22
|
const sms_template_service_1 = require("../sms-template.service");
|
|
23
23
|
const Msg91BaseSMSService_1 = require("./Msg91BaseSMSService");
|
|
24
24
|
const publisher_factory_service_1 = require("../queues/publisher-factory.service");
|
|
25
|
+
const sms_provider_decorator_1 = require("../../decorators/sms-provider.decorator");
|
|
25
26
|
let Msg91SMSService = class Msg91SMSService extends Msg91BaseSMSService_1.Msg91BaseSMSService {
|
|
26
27
|
constructor(commonConfiguration, publisherFactory, smsTemplateService, httpService) {
|
|
27
|
-
super(commonConfiguration, '
|
|
28
|
+
super(commonConfiguration, 'Msg91SmsQueuePublisher', publisherFactory, smsTemplateService);
|
|
28
29
|
this.httpService = httpService;
|
|
29
30
|
}
|
|
30
31
|
async sendSMSSynchronously(message) {
|
|
@@ -38,6 +39,7 @@ let Msg91SMSService = class Msg91SMSService extends Msg91BaseSMSService_1.Msg91B
|
|
|
38
39
|
exports.Msg91SMSService = Msg91SMSService;
|
|
39
40
|
exports.Msg91SMSService = Msg91SMSService = __decorate([
|
|
40
41
|
(0, common_1.Injectable)(),
|
|
42
|
+
(0, sms_provider_decorator_1.SmsProvider)(),
|
|
41
43
|
__param(0, (0, common_1.Inject)(common_config_1.default.KEY)),
|
|
42
44
|
__metadata("design:paramtypes", [void 0, publisher_factory_service_1.PublisherFactory,
|
|
43
45
|
sms_template_service_1.SmsTemplateService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Msg91SMSService.js","sourceRoot":"","sources":["../../../src/services/sms/Msg91SMSService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAAoD;AAEpD,+EAAoD;AAEpD,kEAA6D;AAC7D,+DAA4D;AAE5D,mFAAuE;
|
|
1
|
+
{"version":3,"file":"Msg91SMSService.js","sourceRoot":"","sources":["../../../src/services/sms/Msg91SMSService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yCAA4C;AAC5C,2CAAoD;AAEpD,+EAAoD;AAEpD,kEAA6D;AAC7D,+DAA4D;AAE5D,mFAAuE;AACvE,oFAAoE;AAI7D,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,yCAAmB;IACpD,YAEI,mBAAoD,EAEpD,gBAAuC,EACvC,kBAAsC,EACrB,WAAwB;QAEzC,KAAK,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;QAFzE,gBAAW,GAAX,WAAW,CAAa;IAG7C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAA0B;QACjD,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9D,MAAM,IAAI,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,EAAE,CAAC;QAC3G,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxE,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACzG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvH,CAAC;CACJ,CAAA;AAnBY,0CAAe;0BAAf,eAAe;IAF3B,IAAA,mBAAU,GAAE;IACZ,IAAA,oCAAW,GAAE;IAGL,WAAA,IAAA,eAAM,EAAC,uBAAY,CAAC,GAAG,CAAC,CAAA;6CAGP,4CAAgB;QACd,yCAAkB;QACR,mBAAW;GAPpC,eAAe,CAmB3B","sourcesContent":["import { HttpService } from \"@nestjs/axios\";\nimport { Inject, Injectable } from \"@nestjs/common\";\nimport { ConfigType } from \"@nestjs/config\";\nimport commonConfig from \"src/config/common.config\";\nimport { QueueMessage } from \"src/interfaces/mq\";\nimport { SmsTemplateService } from \"../sms-template.service\";\nimport { Msg91BaseSMSService } from \"./Msg91BaseSMSService\";\nimport { ISMS } from \"../../interfaces\";\nimport { PublisherFactory } from \"../queues/publisher-factory.service\";\nimport { SmsProvider } from \"src/decorators/sms-provider.decorator\";\n\n@Injectable()\n@SmsProvider()\nexport class Msg91SMSService extends Msg91BaseSMSService implements ISMS {\n constructor(\n @Inject(commonConfig.KEY)\n commonConfiguration: ConfigType<typeof commonConfig>,\n // smsPublisher: SmsQueuePublisher,\n publisherFactory: PublisherFactory<any>,\n smsTemplateService: SmsTemplateService,\n private readonly httpService: HttpService,\n ) {\n super(commonConfiguration, 'Msg91SmsQueuePublisher', publisherFactory, smsTemplateService)\n }\n\n async sendSMSSynchronously(message: QueueMessage<any>): Promise<any> {\n const { to, templateId, ...templateParams } = message.payload;\n const body = { template_id: templateId, short_url: \"0\", recipients: [{ mobiles: to, ...templateParams }] };\n const headers = { \"authkey\": this.commonConfiguration.msg91Sms.apiKey };\n await this.httpService.axiosRef.post(`${this.commonConfiguration.msg91Sms.url}/flow`, body, { headers });\n this.logger.debug(`Sending SMS to ${to} with body ${JSON.stringify(body)} and headers ${JSON.stringify(headers)}`);\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwilioSMSService.d.ts","sourceRoot":"","sources":["../../../src/services/sms/TwilioSMSService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TwilioSMSService.d.ts","sourceRoot":"","sources":["../../../src/services/sms/TwilioSMSService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,qBAEa,gBAAiB,YAAW,IAAI;IAKrC,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,kBAAkB;IAN9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAIhD,mBAAmB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EACpD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACvC,kBAAkB,EAAE,kBAAkB;IAG5C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IA+BxE,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAoBlH,qBAAqB,CAAC,OAAO,KAAA;IAM7B,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAoCvE"}
|
|
@@ -23,6 +23,7 @@ const common_config_1 = __importDefault(require("../../config/common.config"));
|
|
|
23
23
|
const sms_template_service_1 = require("../sms-template.service");
|
|
24
24
|
const publisher_factory_service_1 = require("../queues/publisher-factory.service");
|
|
25
25
|
const twilio_1 = __importDefault(require("twilio"));
|
|
26
|
+
const sms_provider_decorator_1 = require("../../decorators/sms-provider.decorator");
|
|
26
27
|
let TwilioSMSService = TwilioSMSService_1 = class TwilioSMSService {
|
|
27
28
|
constructor(commonConfiguration, publisherFactory, smsTemplateService) {
|
|
28
29
|
this.commonConfiguration = commonConfiguration;
|
|
@@ -108,6 +109,7 @@ let TwilioSMSService = TwilioSMSService_1 = class TwilioSMSService {
|
|
|
108
109
|
exports.TwilioSMSService = TwilioSMSService;
|
|
109
110
|
exports.TwilioSMSService = TwilioSMSService = TwilioSMSService_1 = __decorate([
|
|
110
111
|
(0, common_1.Injectable)(),
|
|
112
|
+
(0, sms_provider_decorator_1.SmsProvider)(),
|
|
111
113
|
__param(0, (0, common_1.Inject)(common_config_1.default.KEY)),
|
|
112
114
|
__metadata("design:paramtypes", [void 0, publisher_factory_service_1.PublisherFactory,
|
|
113
115
|
sms_template_service_1.SmsTemplateService])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwilioSMSService.js","sourceRoot":"","sources":["../../../src/services/sms/TwilioSMSService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,4DAAoC;AACpC,2CAA4D;AAE5D,+EAAoD;AACpD,kEAA6D;AAE7D,mFAAuE;AACvE,oDAA4B;
|
|
1
|
+
{"version":3,"file":"TwilioSMSService.js","sourceRoot":"","sources":["../../../src/services/sms/TwilioSMSService.ts"],"names":[],"mappings":"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","sourcesContent":["import Handlebars from \"handlebars\";\nimport { Inject, Injectable, Logger } from \"@nestjs/common\";\nimport { ConfigType } from \"@nestjs/config\";\nimport commonConfig from \"src/config/common.config\";\nimport { SmsTemplateService } from \"../sms-template.service\";\nimport { ISMS } from \"../../interfaces\";\nimport { PublisherFactory } from \"../queues/publisher-factory.service\";\nimport twilio from 'twilio';\nimport { QueueMessage } from \"src/interfaces/mq\";\nimport { SmsProvider } from \"src/decorators/sms-provider.decorator\";\n\n\n@Injectable()\n@SmsProvider()\nexport class TwilioSMSService implements ISMS {\n private readonly logger = new Logger(TwilioSMSService.name);\n\n constructor(\n @Inject(commonConfig.KEY)\n private commonConfiguration: ConfigType<typeof commonConfig>,\n private publisherFactory: PublisherFactory<any>,\n private smsTemplateService: SmsTemplateService,\n ) { }\n\n async sendSMS(to: string, body: string, shouldQueueSms: boolean): Promise<any> {\n const accountSid = this.commonConfiguration.twilio.accountSid;\n const authToken = this.commonConfiguration.twilio.authToken;\n const twilioNumber = this.commonConfiguration.twilio.number;\n if (!accountSid || !authToken || !twilioNumber) {\n throw new Error(\"Missing COMMON_TWILIO_ACCOUNT_SID or COMMON_TWILIO_AUTH_TOKEN or COMMON_TWILIO_NUMBER in env.\");\n }\n\n const message = {\n payload: {\n body: body,\n to: to,\n },\n };\n\n // Send using queue if the developer has explicitly invoked with true.\n if (shouldQueueSms === true) {\n await this.sendSMSAsynchronously(message);\n }\n // If developer has not, however system config mandates that we send using queue, still we send.\n else if (shouldQueueSms === false && this.commonConfiguration.shouldQueueSms === true) {\n await this.sendSMSAsynchronously(message);\n }\n // Else we send synch\n else {\n await this.sendSMSSynchronously(message);\n }\n\n return message;\n }\n\n async sendSMSUsingTemplate(to: string, templateName: string, templateParams: any, shouldQueueSms: boolean): Promise<any> {\n // Load template and evaluate it.\n const smsTemplate = await this.smsTemplateService.findOneByName(templateName);\n if (!smsTemplate) {\n throw new Error(`Invalid template name ${templateName}`);\n }\n\n // Evaluate the body template.\n let body = '';\n try {\n const bodyTemplate = Handlebars.compile(smsTemplate.body);\n body = bodyTemplate(templateParams);\n } catch (error) {\n throw new Error('Unable to compile sms template body');\n }\n // Finally send the email.\n return await this.sendSMS(to, body, shouldQueueSms);\n\n }\n\n async sendSMSAsynchronously(message) {\n const { to } = message.payload;\n this.publisherFactory.publish(message, 'TwilioSmsQueuePublisher');\n this.logger.debug(`Queueing SMS to ${to} with message ${JSON.stringify(message)}`);\n }\n\n async sendSMSSynchronously(message: QueueMessage<any>): Promise<any> {\n const accountSid = this.commonConfiguration.twilio.accountSid;\n const authToken = this.commonConfiguration.twilio.authToken;\n const twilioNumber = this.commonConfiguration.twilio.number;\n if (!accountSid || !authToken || !twilioNumber) {\n throw new Error(\"Missing COMMON_TWILIO_ACCOUNT_SID or COMMON_TWILIO_AUTH_TOKEN or COMMON_TWILIO_NUMBER in env.\");\n }\n\n const { to, body } = message.payload;\n\n const client = twilio(accountSid, authToken);\n try {\n const toSplit = to.split(',');\n\n const r = [];\n\n for (let i = 0; i < toSplit.length; i++) {\n const actualTo = toSplit[i];\n const twilioResponseMsg = await client.messages.create({\n body: body,\n from: twilioNumber,\n to: actualTo,\n });\n\n this.logger.debug(`Sending SMS to ${actualTo} using Twilio`);\n this.logger.debug(`Twilio response: `);\n this.logger.debug(JSON.stringify(twilioResponseMsg))\n\n r.push(twilioResponseMsg);\n }\n\n return r;\n } catch (error) {\n throw new Error(error);\n }\n }\n}"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
+
import { ConfigService } from '@nestjs/config';
|
|
2
|
+
import { DiscoveryService, ModuleRef } from '@nestjs/core';
|
|
3
|
+
import { SmsTemplateRepository } from 'src/repository/sms-template.repository';
|
|
1
4
|
import { EntityManager } from 'typeorm';
|
|
2
5
|
import { SmsTemplate } from '../entities/sms-template.entity';
|
|
6
|
+
import { CrudHelperService } from './crud-helper.service';
|
|
3
7
|
import { CRUDService } from './crud.service';
|
|
4
|
-
import { ModelMetadataService } from './model-metadata.service';
|
|
5
|
-
import { ModuleMetadataService } from './module-metadata.service';
|
|
6
|
-
import { MediaStorageProviderMetadataService } from './media-storage-provider-metadata.service';
|
|
7
|
-
import { ConfigService } from '@nestjs/config';
|
|
8
8
|
import { FileService } from './file.service';
|
|
9
|
+
import { MediaStorageProviderMetadataService } from './media-storage-provider-metadata.service';
|
|
9
10
|
import { MediaService } from './media.service';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { SmsTemplateRepository } from 'src/repository/sms-template.repository';
|
|
11
|
+
import { ModelMetadataService } from './model-metadata.service';
|
|
12
|
+
import { ModuleMetadataService } from './module-metadata.service';
|
|
13
13
|
export declare class SmsTemplateService extends CRUDService<SmsTemplate> {
|
|
14
14
|
readonly modelMetadataService: ModelMetadataService;
|
|
15
15
|
readonly moduleMetadataService: ModuleMetadataService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sms-template.service.d.ts","sourceRoot":"","sources":["../../src/services/sms-template.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sms-template.service.d.ts","sourceRoot":"","sources":["../../src/services/sms-template.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,qBACa,kBAAmB,SAAQ,WAAW,CAAC,WAAW,CAAC;IAGxD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IAC/C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,2BAA2B,EAAE,mCAAmC;IACzE,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,YAAY,EAAE,YAAY;IACnC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAGrC,QAAQ,CAAC,IAAI,EAAE,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS;gBAbxB,oBAAoB,EAAE,oBAAoB,EACtC,qBAAqB,EAAE,qBAAqB,EAC5C,2BAA2B,EAAE,mCAAmC,EAChE,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAG5B,IAAI,EAAE,qBAAqB,EAC3B,SAAS,EAAE,SAAS;IAK/B,YAAY,CAAC,IAAI,EAAE,MAAM;IAOzB,aAAa,CAAC,IAAI,EAAE,MAAM;CAQnC"}
|
|
@@ -14,18 +14,18 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.SmsTemplateService = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const config_1 = require("@nestjs/config");
|
|
18
|
+
const core_1 = require("@nestjs/core");
|
|
17
19
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
20
|
+
const sms_template_repository_1 = require("../repository/sms-template.repository");
|
|
18
21
|
const typeorm_2 = require("typeorm");
|
|
22
|
+
const crud_helper_service_1 = require("./crud-helper.service");
|
|
19
23
|
const crud_service_1 = require("./crud.service");
|
|
20
|
-
const model_metadata_service_1 = require("./model-metadata.service");
|
|
21
|
-
const module_metadata_service_1 = require("./module-metadata.service");
|
|
22
|
-
const media_storage_provider_metadata_service_1 = require("./media-storage-provider-metadata.service");
|
|
23
|
-
const config_1 = require("@nestjs/config");
|
|
24
24
|
const file_service_1 = require("./file.service");
|
|
25
|
+
const media_storage_provider_metadata_service_1 = require("./media-storage-provider-metadata.service");
|
|
25
26
|
const media_service_1 = require("./media.service");
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const sms_template_repository_1 = require("../repository/sms-template.repository");
|
|
27
|
+
const model_metadata_service_1 = require("./model-metadata.service");
|
|
28
|
+
const module_metadata_service_1 = require("./module-metadata.service");
|
|
29
29
|
let SmsTemplateService = class SmsTemplateService extends crud_service_1.CRUDService {
|
|
30
30
|
constructor(modelMetadataService, moduleMetadataService, mediaStorageProviderService, configService, fileService, mediaService, discoveryService, crudHelperService, entityManager, repo, moduleRef) {
|
|
31
31
|
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'smsTemplate', 'app-builder', moduleRef);
|
|
@@ -59,6 +59,7 @@ let SmsTemplateService = class SmsTemplateService extends crud_service_1.CRUDSer
|
|
|
59
59
|
exports.SmsTemplateService = SmsTemplateService;
|
|
60
60
|
exports.SmsTemplateService = SmsTemplateService = __decorate([
|
|
61
61
|
(0, common_1.Injectable)(),
|
|
62
|
+
__param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => model_metadata_service_1.ModelMetadataService))),
|
|
62
63
|
__param(8, (0, typeorm_1.InjectEntityManager)()),
|
|
63
64
|
__metadata("design:paramtypes", [model_metadata_service_1.ModelMetadataService,
|
|
64
65
|
module_metadata_service_1.ModuleMetadataService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sms-template.service.js","sourceRoot":"","sources":["../../src/services/sms-template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+
|
|
1
|
+
{"version":3,"file":"sms-template.service.js","sourceRoot":"","sources":["../../src/services/sms-template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAgE;AAEhE,2CAA+C;AAC/C,uCAA2D;AAC3D,6CAAsD;AACtD,mFAA+E;AAC/E,qCAAwC;AAExC,+DAA0D;AAC1D,iDAA6C;AAC7C,iDAA6C;AAC7C,uGAAgG;AAChG,mDAA+C;AAC/C,qEAAgE;AAChE,uEAAkE;AAG3D,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,0BAAwB;IAC5D,YAEa,oBAA0C,EACtC,qBAA4C,EAC5C,2BAAgE,EAChE,aAA4B,EAC5B,WAAwB,EACxB,YAA0B,EAC1B,gBAAkC,EAClC,iBAAoC,EAEpC,aAA4B,EAG5B,IAA2B,EAC3B,SAAoB;QAEjC,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAfzK,yBAAoB,GAApB,oBAAoB,CAAsB;QACtC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,gCAA2B,GAA3B,2BAA2B,CAAqC;QAChE,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,kBAAa,GAAb,aAAa,CAAe;QAG5B,SAAI,GAAJ,IAAI,CAAuB;QAC3B,cAAS,GAAT,SAAS,CAAW;IAGpC,CAAC;IAEF,KAAK,CAAC,YAAY,CAAC,IAAY;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE;gBACH,IAAI,EAAE,IAAI;aACb;SACJ,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;AApCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAGJ,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,6CAAoB,CAAC,CAAC,CAAA;IAS1C,WAAA,IAAA,6BAAmB,GAAE,CAAA;qCARK,6CAAoB;QACf,+CAAqB;QACf,6EAAmC;QACjD,sBAAa;QACf,0BAAW;QACV,4BAAY;QACR,uBAAgB;QACf,uCAAiB;QAErB,uBAAa;QAGtB,+CAAqB;QAChB,gBAAS;GAhB5B,kBAAkB,CAoC9B","sourcesContent":["import { forwardRef, Inject, Injectable } from '@nestjs/common';\n\nimport { ConfigService } from '@nestjs/config';\nimport { DiscoveryService, ModuleRef } from '@nestjs/core';\nimport { InjectEntityManager } from '@nestjs/typeorm';\nimport { SmsTemplateRepository } from 'src/repository/sms-template.repository';\nimport { EntityManager } from 'typeorm';\nimport { SmsTemplate } from '../entities/sms-template.entity';\nimport { CrudHelperService } from './crud-helper.service';\nimport { CRUDService } from './crud.service';\nimport { FileService } from './file.service';\nimport { MediaStorageProviderMetadataService } from './media-storage-provider-metadata.service';\nimport { MediaService } from './media.service';\nimport { ModelMetadataService } from './model-metadata.service';\nimport { ModuleMetadataService } from './module-metadata.service';\n\n@Injectable()\nexport class SmsTemplateService extends CRUDService<SmsTemplate>{\n constructor(\n @Inject(forwardRef(() => ModelMetadataService))\n readonly modelMetadataService: ModelMetadataService,\n readonly moduleMetadataService: ModuleMetadataService,\n readonly mediaStorageProviderService: MediaStorageProviderMetadataService,\n readonly configService: ConfigService,\n readonly fileService: FileService,\n readonly mediaService: MediaService,\n readonly discoveryService: DiscoveryService,\n readonly crudHelperService: CrudHelperService,\n @InjectEntityManager()\n readonly entityManager: EntityManager,\n // @InjectRepository(SmsTemplate, 'default')\n // readonly repo: Repository<SmsTemplate>,\n readonly repo: SmsTemplateRepository,\n readonly moduleRef: ModuleRef,\n ) {\n super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'smsTemplate', 'app-builder', moduleRef);\n }\n\n async removeByName(name: string) {\n const entity = await this.findOneByName(name);\n if (entity) {\n return await this.repo.remove(entity);\n }\n }\n\n async findOneByName(name: string) {\n const entity = await this.repo.findOne({\n where: {\n name: name,\n },\n });\n return entity;\n }\n}\n"]}
|
|
@@ -2,28 +2,19 @@ import { OnApplicationBootstrap } from '@nestjs/common';
|
|
|
2
2
|
import { DiscoveryService, MetadataScanner, ModuleRef, Reflector } from '@nestjs/core';
|
|
3
3
|
import { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';
|
|
4
4
|
import { SolidRegistry } from 'src/helpers/solid-registry';
|
|
5
|
-
import { CRUDService } from './crud.service';
|
|
6
|
-
import { RequestContextService } from './request-context.service';
|
|
7
|
-
import { CreatedByUpdatedBySubscriber } from 'src/subscribers/created-by-updated-by.subscriber';
|
|
8
5
|
import { AuditSubscriber } from 'src/subscribers/audit.subscriber';
|
|
9
6
|
import { ComputedEntityFieldSubscriber } from 'src/subscribers/computed-entity-field.subscriber';
|
|
7
|
+
import { CreatedByUpdatedBySubscriber } from 'src/subscribers/created-by-updated-by.subscriber';
|
|
10
8
|
import { SoftDeleteAwareEventSubscriber } from 'src/subscribers/soft-delete-aware-event.subscriber';
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
import { ModelMetadataHelperService, PublisherFactory } from 'src';
|
|
14
|
-
export declare const coreSubscriberClasses: (typeof CreatedByUpdatedBySubscriber | typeof AuditSubscriber | typeof ComputedEntityFieldSubscriber | typeof SoftDeleteAwareEventSubscriber)[];
|
|
9
|
+
import { CRUDService } from './crud.service';
|
|
10
|
+
export declare const coreSubscriberClasses: (typeof AuditSubscriber | typeof ComputedEntityFieldSubscriber | typeof CreatedByUpdatedBySubscriber | typeof SoftDeleteAwareEventSubscriber)[];
|
|
15
11
|
export declare class SolidIntrospectService implements OnApplicationBootstrap {
|
|
16
12
|
private readonly discoveryService;
|
|
17
13
|
private readonly reflector;
|
|
18
14
|
private readonly metadataScanner;
|
|
19
15
|
private readonly solidRegistry;
|
|
20
16
|
private readonly moduleRef;
|
|
21
|
-
|
|
22
|
-
private readonly chatterMessageService;
|
|
23
|
-
private readonly modelMetadataHelperService;
|
|
24
|
-
private readonly modelMetadataRepo;
|
|
25
|
-
private readonly publisherFactory;
|
|
26
|
-
constructor(discoveryService: DiscoveryService, reflector: Reflector, metadataScanner: MetadataScanner, solidRegistry: SolidRegistry, moduleRef: ModuleRef, requestContextService: RequestContextService, chatterMessageService: ChatterMessageService, modelMetadataHelperService: ModelMetadataHelperService, modelMetadataRepo: ModelMetadataRepository, publisherFactory: PublisherFactory<any>);
|
|
17
|
+
constructor(discoveryService: DiscoveryService, reflector: Reflector, metadataScanner: MetadataScanner, solidRegistry: SolidRegistry, moduleRef: ModuleRef);
|
|
27
18
|
private readonly logger;
|
|
28
19
|
onApplicationBootstrap(): Promise<void>;
|
|
29
20
|
bootstrapCoreTypeOrmSubscribers(dbModules: Array<InstanceWrapper<any>>): Promise<void>;
|
|
@@ -37,6 +28,7 @@ export declare class SolidIntrospectService implements OnApplicationBootstrap {
|
|
|
37
28
|
private isSolidDatabaseModule;
|
|
38
29
|
private isMailProvider;
|
|
39
30
|
private isWhatsappProvider;
|
|
31
|
+
private isSmsProvider;
|
|
40
32
|
private isSecurityRuleConfigProvider;
|
|
41
33
|
private isModule;
|
|
42
34
|
getCRUDService(modelSingularName: string): CRUDService<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid-introspect.service.d.ts","sourceRoot":"","sources":["../../src/services/solid-introspect.service.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"solid-introspect.service.d.ts","sourceRoot":"","sources":["../../src/services/solid-introspect.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAYzE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,oDAAoD,CAAC;AAEpG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,eAAO,MAAM,qBAAqB,iJAKjC,CAAC;AAEF,qBACa,sBAAuB,YAAW,sBAAsB;IAEjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAJT,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS;IAGvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAC5D,sBAAsB;IAwItB,+BAA+B,CAAC,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsE5F,+BAA+B,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC;IAWrE,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,oCAAoC;IAU5C,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,4BAA4B;IAYpC,OAAO,CAAC,QAAQ;IAuBhB,cAAc,CAAC,iBAAiB,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC;IAK3D,WAAW,CAAC,YAAY,EAAE,MAAM;CAGjC"}
|
|
@@ -8,9 +8,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
11
|
var SolidIntrospectService_1;
|
|
15
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
13
|
exports.SolidIntrospectService = exports.coreSubscriberClasses = void 0;
|
|
@@ -29,14 +26,11 @@ const selection_provider_decorator_1 = require("../decorators/selection-provider
|
|
|
29
26
|
const solid_database_module_decorator_1 = require("../decorators/solid-database-module.decorator");
|
|
30
27
|
const whatsapp_provider_decorator_1 = require("../decorators/whatsapp-provider.decorator");
|
|
31
28
|
const solid_registry_1 = require("../helpers/solid-registry");
|
|
32
|
-
const request_context_service_1 = require("./request-context.service");
|
|
33
|
-
const created_by_updated_by_subscriber_1 = require("../subscribers/created-by-updated-by.subscriber");
|
|
34
29
|
const audit_subscriber_1 = require("../subscribers/audit.subscriber");
|
|
35
30
|
const computed_entity_field_subscriber_1 = require("../subscribers/computed-entity-field.subscriber");
|
|
31
|
+
const created_by_updated_by_subscriber_1 = require("../subscribers/created-by-updated-by.subscriber");
|
|
36
32
|
const soft_delete_aware_event_subscriber_1 = require("../subscribers/soft-delete-aware-event.subscriber");
|
|
37
|
-
const
|
|
38
|
-
const model_metadata_repository_1 = require("../repository/model-metadata.repository");
|
|
39
|
-
const src_1 = require("..");
|
|
33
|
+
const sms_provider_decorator_1 = require("../decorators/sms-provider.decorator");
|
|
40
34
|
exports.coreSubscriberClasses = [
|
|
41
35
|
audit_subscriber_1.AuditSubscriber,
|
|
42
36
|
computed_entity_field_subscriber_1.ComputedEntityFieldSubscriber,
|
|
@@ -44,21 +38,16 @@ exports.coreSubscriberClasses = [
|
|
|
44
38
|
soft_delete_aware_event_subscriber_1.SoftDeleteAwareEventSubscriber
|
|
45
39
|
];
|
|
46
40
|
let SolidIntrospectService = SolidIntrospectService_1 = class SolidIntrospectService {
|
|
47
|
-
constructor(discoveryService, reflector, metadataScanner, solidRegistry, moduleRef
|
|
41
|
+
constructor(discoveryService, reflector, metadataScanner, solidRegistry, moduleRef) {
|
|
48
42
|
this.discoveryService = discoveryService;
|
|
49
43
|
this.reflector = reflector;
|
|
50
44
|
this.metadataScanner = metadataScanner;
|
|
51
45
|
this.solidRegistry = solidRegistry;
|
|
52
46
|
this.moduleRef = moduleRef;
|
|
53
|
-
this.requestContextService = requestContextService;
|
|
54
|
-
this.chatterMessageService = chatterMessageService;
|
|
55
|
-
this.modelMetadataHelperService = modelMetadataHelperService;
|
|
56
|
-
this.modelMetadataRepo = modelMetadataRepo;
|
|
57
|
-
this.publisherFactory = publisherFactory;
|
|
58
47
|
this.logger = new common_1.Logger(SolidIntrospectService_1.name);
|
|
59
48
|
}
|
|
60
49
|
async onApplicationBootstrap() {
|
|
61
|
-
this.logger.
|
|
50
|
+
this.logger.debug('Introspecting the application for Solid metadata');
|
|
62
51
|
const seeders = this.discoveryService
|
|
63
52
|
.getProviders()
|
|
64
53
|
.filter((provider) => this.isSeeder(provider));
|
|
@@ -133,6 +122,12 @@ let SolidIntrospectService = SolidIntrospectService_1 = class SolidIntrospectSer
|
|
|
133
122
|
whatsappProviders.forEach((whatsappProvider) => {
|
|
134
123
|
this.solidRegistry.registerWhatsappProvider(whatsappProvider);
|
|
135
124
|
});
|
|
125
|
+
const smsProviders = this.discoveryService
|
|
126
|
+
.getProviders()
|
|
127
|
+
.filter((provider) => this.isSmsProvider(provider));
|
|
128
|
+
smsProviders.forEach((smsProvider) => {
|
|
129
|
+
this.solidRegistry.registerSmsProvider(smsProvider);
|
|
130
|
+
});
|
|
136
131
|
const securityRuleConfigProviders = this.discoveryService
|
|
137
132
|
.getProviders()
|
|
138
133
|
.filter((provider) => this.isSecurityRuleConfigProvider(provider));
|
|
@@ -255,6 +250,13 @@ let SolidIntrospectService = SolidIntrospectService_1 = class SolidIntrospectSer
|
|
|
255
250
|
const isWhatsappProvider = this.reflector.get(whatsapp_provider_decorator_1.IS_WA_PROVIDER, instance.constructor);
|
|
256
251
|
return !!isWhatsappProvider;
|
|
257
252
|
}
|
|
253
|
+
isSmsProvider(provider) {
|
|
254
|
+
const { instance } = provider;
|
|
255
|
+
if (!instance)
|
|
256
|
+
return false;
|
|
257
|
+
const isSmsProvider = this.reflector.get(sms_provider_decorator_1.IS_SMS_PROVIDER, instance.constructor);
|
|
258
|
+
return !!isSmsProvider;
|
|
259
|
+
}
|
|
258
260
|
isSecurityRuleConfigProvider(provider) {
|
|
259
261
|
const { instance } = provider;
|
|
260
262
|
if (!instance)
|
|
@@ -285,16 +287,10 @@ let SolidIntrospectService = SolidIntrospectService_1 = class SolidIntrospectSer
|
|
|
285
287
|
exports.SolidIntrospectService = SolidIntrospectService;
|
|
286
288
|
exports.SolidIntrospectService = SolidIntrospectService = SolidIntrospectService_1 = __decorate([
|
|
287
289
|
(0, common_1.Injectable)(),
|
|
288
|
-
__param(9, (0, common_1.Inject)((0, common_1.forwardRef)(() => src_1.PublisherFactory))),
|
|
289
290
|
__metadata("design:paramtypes", [core_1.DiscoveryService,
|
|
290
291
|
core_1.Reflector,
|
|
291
292
|
core_1.MetadataScanner,
|
|
292
293
|
solid_registry_1.SolidRegistry,
|
|
293
|
-
core_1.ModuleRef
|
|
294
|
-
request_context_service_1.RequestContextService,
|
|
295
|
-
chatter_message_service_1.ChatterMessageService,
|
|
296
|
-
src_1.ModelMetadataHelperService,
|
|
297
|
-
model_metadata_repository_1.ModelMetadataRepository,
|
|
298
|
-
src_1.PublisherFactory])
|
|
294
|
+
core_1.ModuleRef])
|
|
299
295
|
], SolidIntrospectService);
|
|
300
296
|
//# sourceMappingURL=solid-introspect.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid-introspect.service.js","sourceRoot":"","sources":["../../src/services/solid-introspect.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { classify } from '@angular-devkit/core/src/utils/strings';\nimport { forwardRef, Inject, Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common';\nimport { DiscoveryService, MetadataScanner, ModuleRef, Reflector } from '@nestjs/core';\nimport { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';\nimport { getDataSourceToken } from '@nestjs/typeorm';\nimport { IS_COMPUTED_FIELD_PROVIDER } from 'src/decorators/computed-field-provider.decorator';\nimport { IS_DASHBOARD_QUESTION_DATA_PROVIDER } from 'src/decorators/dashboard-question-data-provider.decorator';\nimport { IS_DASHBOARD_VARIABLE_SELECTION_PROVIDER } from 'src/decorators/dashboard-selection-provider.decorator';\nimport { IS_ERROR_CODE_PROVIDER } from 'src/decorators/error-codes-provider.decorator';\nimport { IS_MAIL_PROVIDER } from 'src/decorators/mail-provider.decorator';\nimport { IS_SCHEDULED_JOB_PROVIDER } from 'src/decorators/scheduled-job-provider.decorator';\nimport { IS_SECURITY_RULE_CONFIG_PROVIDER } from 'src/decorators/security-rule-config-provider.decorator';\nimport { IS_SELECTION_PROVIDER } from 'src/decorators/selection-provider.decorator';\nimport { IS_SOLID_DATABASE_MODULE } from 'src/decorators/solid-database-module.decorator';\nimport { IS_WA_PROVIDER } from 'src/decorators/whatsapp-provider.decorator';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { DataSource } from 'typeorm';\nimport { CRUDService } from './crud.service';\nimport { RequestContextService } from './request-context.service';\nimport { CreatedByUpdatedBySubscriber } from 'src/subscribers/created-by-updated-by.subscriber';\nimport { AuditSubscriber } from 'src/subscribers/audit.subscriber';\nimport { ComputedEntityFieldSubscriber, ComputedFieldEvaluationPayload } from 'src/subscribers/computed-entity-field.subscriber';\nimport { SoftDeleteAwareEventSubscriber } from 'src/subscribers/soft-delete-aware-event.subscriber';\nimport { ChatterMessageService } from './chatter-message.service';\nimport { ModelMetadataRepository } from 'src/repository/model-metadata.repository';\nimport { ModelMetadataHelperService, PublisherFactory } from 'src';\n\nexport const coreSubscriberClasses = [\n AuditSubscriber,\n ComputedEntityFieldSubscriber,\n CreatedByUpdatedBySubscriber,\n SoftDeleteAwareEventSubscriber\n];\n\n@Injectable()\nexport class SolidIntrospectService implements OnApplicationBootstrap {\n constructor(\n private readonly discoveryService: DiscoveryService,\n private readonly reflector: Reflector,\n private readonly metadataScanner: MetadataScanner,\n private readonly solidRegistry: SolidRegistry,\n private readonly moduleRef: ModuleRef,\n private readonly requestContextService: RequestContextService,\n // AuditSubscribe related dependencies\n private readonly chatterMessageService: ChatterMessageService,\n private readonly modelMetadataHelperService: ModelMetadataHelperService,\n private readonly modelMetadataRepo: ModelMetadataRepository,\n // ComputedEntityFieldSubscriber related dependencies\n @Inject(forwardRef(() => PublisherFactory))\n private readonly publisherFactory: PublisherFactory<any>,\n \n ) { }\n\n private readonly logger = new Logger(SolidIntrospectService.name);\n async onApplicationBootstrap() {\n this.logger.log('Introspecting the application for Solid metadata');\n\n // Register all seeders\n const seeders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isSeeder(provider));\n seeders.forEach((seeder) => {\n this.solidRegistry.registerSeeder(seeder);\n });\n\n // TODO: Scan the filesystem and populate the solid metadata\n\n // Register all IErrorCodeProvider implementations\n const errorCodeProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isErrorCodeProvider(provider));\n\n errorCodeProviders.forEach((errorCodeProvider) => {\n this.solidRegistry.registerErrorCodeProvider(errorCodeProvider);\n });\n\n // Register all ISelectionProvider implementations\n const selectionProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isSelectionProvider(provider));\n\n selectionProviders.forEach((selectionProvider) => {\n this.solidRegistry.registerSelectionProvider(selectionProvider);\n });\n\n // Register all IDashboardSelectionProvider implementations\n const dashboardVariableSelectionProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isDashboardVariableSelectionProvider(provider));\n\n dashboardVariableSelectionProviders.forEach((dashboardSelectionProvider) => {\n this.solidRegistry.registerDashboardVariableSelectionProvider(dashboardSelectionProvider);\n });\n\n // Register all IDashboardSelectionProvider implementations\n const dashboardQuestionDataProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isDashboardQuestionDataProvider(provider));\n\n dashboardQuestionDataProviders.forEach((provider) => {\n this.solidRegistry.registerDashboardQuestionDataProvider(provider);\n });\n\n // Register all IComputedProvider implementations\n const computedFieldProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isComputedFieldProvider(provider));\n\n computedFieldProviders.forEach((computedFieldProvider) => {\n // @ts-ignore\n this.solidRegistry.registerComputedFieldProvider(computedFieldProvider);\n });\n\n // Register all ISolidDatabaseModules implementations\n const solidDatabaseModules = this.discoveryService\n .getProviders()\n .filter((provider) => this.isSolidDatabaseModule(provider));\n\n solidDatabaseModules.forEach((solidDatabaseModule) => {\n this.solidRegistry.registerSolidDatabaseModule(solidDatabaseModule);\n });\n\n // keep track of all the controllers & respective methods. \n const allControllers = this.discoveryService\n .getControllers()\n .map((controller) => {\n const { instance } = controller;\n return {\n name: controller.name,\n methods: this.metadataScanner.getAllMethodNames(Object.getPrototypeOf(instance))\n };\n });\n\n this.solidRegistry.registerControllers(new Set(allControllers));\n\n // Register all modules\n const allModules = this.discoveryService\n .getProviders()\n .filter((provider) => this.isModule(provider));\n this.solidRegistry.registerModules(allModules);\n\n // Register all IScheduledJob implementations\n const scheduledJobProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isScheduledJobProvider(provider));\n\n scheduledJobProviders.forEach((scheduledJobProvider) => {\n this.solidRegistry.registerScheduledJobProvider(scheduledJobProvider);\n });\n\n // Register all IMail implementations\n const mailProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isMailProvider(provider));\n\n mailProviders.forEach((mailProvider) => {\n this.solidRegistry.registerMailProvider(mailProvider);\n });\n\n // Register all IWhatsappTransport implementations\n const whatsappProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isWhatsappProvider(provider));\n\n whatsappProviders.forEach((whatsappProvider) => {\n this.solidRegistry.registerWhatsappProvider(whatsappProvider);\n });\n\n // Register all ISecurityRuleConfigProvider implementations\n const securityRuleConfigProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isSecurityRuleConfigProvider(provider));\n\n securityRuleConfigProviders.forEach((securityRuleConfigProvider) => {\n this.solidRegistry.registerSecurityRuleConfigProvider(securityRuleConfigProvider);\n });\n\n // Register the core subscribers against all the configured database modules / datasources\n await this.bootstrapCoreTypeOrmSubscribers(solidDatabaseModules)\n }\n\n async bootstrapCoreTypeOrmSubscribers(dbModules: Array<InstanceWrapper<any>>): Promise<void> {\n // Register core subscribers for each Solid database module\n for (const wrapper of dbModules) {\n // Get the Database Module instance\n const instance = (wrapper as InstanceWrapper).instance as any;\n if (!instance || typeof instance.name !== 'function') {\n this.logger.warn('Skipping a solid DB module wrapper with no instance or name() method');\n continue;\n }\n\n // Get the DataSource for this module\n const dsName: string | undefined = instance.name();\n // getDataSourceToken() without name = default; pass dsName if non-default\n const token = dsName ? getDataSourceToken(dsName) : getDataSourceToken();\n let ds: DataSource | undefined;\n try {\n ds = this.moduleRef.get<DataSource>(token, { strict: false });\n } catch (err) {\n this.logger.warn(`DataSource token for \"${dsName ?? 'default'}\" not found: ${err?.message ?? err}`);\n }\n if (!ds) {\n this.logger.warn(`No DataSource found for module \"${dsName}\". Skipping subscriber registration.`);\n continue;\n }\n\n // Ensure DataSource is initialized (optional)\n if (!ds.isInitialized) {\n try {\n await ds.initialize(); // only if you need to initialize here; in many apps datasources are created earlier\n } catch (err) {\n this.logger.error(`Failed to initialize DataSource \"${dsName}\": ${err}`);\n continue;\n }\n }\n\n // Register each subscriber class for this DataSource\n // const auditSubscriberInstance = new AuditSubscriber(this.chatterMessageService, this.modelMetadataRepo, this.modelMetadataHelperService);\n // auditSubscriberInstance.bindToDataSource(ds);\n\n // const computedEntityFieldSubscriberInstance = new ComputedEntityFieldSubscriber(this.solidRegistry, this.publisherFactory);\n // computedEntityFieldSubscriberInstance.bindToDataSource(ds);\n\n // const createdByUpdatedBySubscriberInstance = new CreatedByUpdatedBySubscriber(this.requestContextService);\n // createdByUpdatedBySubscriberInstance.bindToDataSource(ds);\n\n // const softDeleteAwareEventSubscriberInstance = new SoftDeleteAwareEventSubscriber();\n // softDeleteAwareEventSubscriberInstance.bindToDataSource(ds);\n for (const SubClass of coreSubscriberClasses) {\n const alreadyRegistered = ds.subscribers.some(\n (s) => (s as any).constructor?.name === SubClass.name,\n );\n if (alreadyRegistered) {\n this.logger.debug(`Subscriber ${SubClass.name} already registered on datasource ${dsName ?? 'default'}`);\n continue;\n }\n\n // Resolve subscriber from NestJS moduleRef to ensure dependencies are injected\n const subscriberInstance = await this.moduleRef.resolve(SubClass, undefined, { strict: false });\n subscriberInstance.bindToDataSource(ds);\n\n // instantiate subscriber bound to this DataSource\n // NOTE: constructor signature must be (dataSource: DataSource, requestContextService: RequestContextService, ...)\n // const subscriberInstance = new (SubClass as any)(ds, this.requestContextService);\n\n // ds.subscribers.push(subscriberInstance);\n // this.logger.log(`Registered subscriber ${SubClass.name} on datasource ${dsName ?? 'default'}`);\n }\n }\n }\n\n isDashboardQuestionDataProvider(providerWrapper: InstanceWrapper<any>) {\n const { instance } = providerWrapper;\n if (!instance) return false;\n const provider = this.reflector.get<boolean>(\n IS_DASHBOARD_QUESTION_DATA_PROVIDER,\n instance.constructor,\n );\n return !!provider;\n }\n\n // This method identifies a provider as a seeder if it has a seed method i.e duck typing\n private isSeeder(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const seedMethod = this.metadataScanner\n .getAllMethodNames(Object.getPrototypeOf(instance))\n .find((methodName) => methodName === 'seed');\n if (!seedMethod) return false;\n return true;\n }\n\n private isErrorCodeProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isErrorCodeProvider = this.reflector.get<boolean>(\n IS_ERROR_CODE_PROVIDER,\n instance.constructor,\n );\n\n return !!isErrorCodeProvider;\n }\n\n private isSelectionProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSelectionProvider = this.reflector.get<boolean>(\n IS_SELECTION_PROVIDER,\n instance.constructor,\n );\n\n return !!isSelectionProvider;\n }\n\n private isDashboardVariableSelectionProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n const isDashboardSelectionProvider = this.reflector.get<boolean>(\n IS_DASHBOARD_VARIABLE_SELECTION_PROVIDER,\n instance.constructor,\n );\n return !!isDashboardSelectionProvider;\n }\n\n private isComputedFieldProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isComputedFieldProvider = this.reflector.get<boolean>(\n IS_COMPUTED_FIELD_PROVIDER,\n instance.constructor,\n );\n\n return !!isComputedFieldProvider;\n }\n\n private isScheduledJobProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isScheduledJobProvider = this.reflector.get<boolean>(\n IS_SCHEDULED_JOB_PROVIDER,\n instance.constructor,\n );\n\n return !!isScheduledJobProvider;\n }\n\n private isSolidDatabaseModule(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSolidDatabaseModule = this.reflector.get<boolean>(\n IS_SOLID_DATABASE_MODULE,\n instance.constructor,\n );\n\n return !!isSolidDatabaseModule;\n }\n\n private isMailProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isMailProvider = this.reflector.get<boolean>(\n IS_MAIL_PROVIDER,\n instance.constructor,\n );\n\n return !!isMailProvider;\n }\n\n private isWhatsappProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isWhatsappProvider = this.reflector.get<boolean>(\n IS_WA_PROVIDER,\n instance.constructor,\n );\n\n return !!isWhatsappProvider;\n }\n\n private isSecurityRuleConfigProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSecurityRuleConfigProvider = this.reflector.get<boolean>(\n IS_SECURITY_RULE_CONFIG_PROVIDER,\n instance.constructor,\n );\n\n return !!isSecurityRuleConfigProvider;\n }\n\n private isModule(provider: InstanceWrapper): boolean {\n const metatype = provider.metatype;\n // Check if it's a Static Module (Class-Based)\n if (metatype && typeof metatype === 'function' && Reflect.getMetadata('imports', metatype)) {\n return true;\n }\n\n // Ensure provider.instance is an object before checking for 'module'\n if (provider.instance && typeof provider.instance === 'object') {\n // Check if it's a Dynamic Module (Object-Based)\n if ('module' in provider.instance && typeof provider.instance.module === 'function') {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Given a model singular name this will return the crud service instance.\n * @param modelSingularName \n * @returns \n */\n getCRUDService(modelSingularName: string): CRUDService<any> {\n const provider = this.getProvider(`${classify(modelSingularName)}Service`);\n return provider?.instance as CRUDService<any>;\n }\n\n getProvider(providerName: string) {\n return this.discoveryService.getProviders().find((provider) => provider.name === providerName);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"solid-introspect.service.js","sourceRoot":"","sources":["../../src/services/solid-introspect.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,oEAAkE;AAClE,2CAA4E;AAC5E,uCAAuF;AAEvF,6CAAqD;AACrD,uGAA8F;AAC9F,yHAAgH;AAChH,iHAAiH;AACjH,iGAAuF;AACvF,mFAA0E;AAC1E,qGAA4F;AAC5F,mHAA0G;AAC1G,6FAAoF;AACpF,mGAA0F;AAC1F,2FAA4E;AAC5E,8DAA2D;AAC3D,sEAAmE;AACnE,sGAAiG;AACjG,sGAAgG;AAChG,0GAAoG;AAGpG,iFAAwE;AAE3D,QAAA,qBAAqB,GAAG;IACnC,kCAAe;IACf,gEAA6B;IAC7B,+DAA4B;IAC5B,mEAA8B;CAC/B,CAAC;AAGK,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IACjC,YACmB,gBAAkC,EAClC,SAAoB,EACpB,eAAgC,EAChC,aAA4B,EAC5B,SAAoB;QAJpB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,cAAS,GAAT,SAAS,CAAW;QACpB,oBAAe,GAAf,eAAe,CAAiB;QAChC,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;QAGtB,WAAM,GAAG,IAAI,eAAM,CAAC,wBAAsB,CAAC,IAAI,CAAC,CAAC;IAF9D,CAAC;IAGL,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAGtE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB;aAClC,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAKH,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB;aAC7C,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5D,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAGH,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB;aAC7C,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5D,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAGH,MAAM,mCAAmC,GAAG,IAAI,CAAC,gBAAgB;aAC9D,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE7E,mCAAmC,CAAC,OAAO,CAAC,CAAC,0BAA0B,EAAE,EAAE;YACzE,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC,0BAA0B,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QAGH,MAAM,8BAA8B,GAAG,IAAI,CAAC,gBAAgB;aACzD,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC;QAExE,8BAA8B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClD,IAAI,CAAC,aAAa,CAAC,qCAAqC,CAAC,QAAQ,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAGH,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB;aACjD,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEhE,sBAAsB,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,EAAE;YAEvD,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,qBAAqB,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAGH,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB;aAC/C,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE9D,oBAAoB,CAAC,OAAO,CAAC,CAAC,mBAAmB,EAAE,EAAE;YACnD,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAGH,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB;aACzC,cAAc,EAAE;aAChB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAClB,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;aACjF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;QAGhE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB;aACrC,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAG/C,MAAM,qBAAqB,GAAG,IAAI,CAAC,gBAAgB;aAChD,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE/D,qBAAqB,CAAC,OAAO,CAAC,CAAC,oBAAoB,EAAE,EAAE;YACrD,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB;aACxC,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEvD,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAGH,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB;aAC5C,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE3D,iBAAiB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;YAC7C,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAGH,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB;aACvC,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEtD,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACnC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAGH,MAAM,2BAA2B,GAAG,IAAI,CAAC,gBAAgB;aACtD,YAAY,EAAE;aACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC;QAErE,2BAA2B,CAAC,OAAO,CAAC,CAAC,0BAA0B,EAAE,EAAE;YACjE,IAAI,CAAC,aAAa,CAAC,kCAAkC,CAAC,0BAA0B,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAGH,MAAM,IAAI,CAAC,+BAA+B,CAAC,oBAAoB,CAAC,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,SAAsC;QAE1E,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAEhC,MAAM,QAAQ,GAAI,OAA2B,CAAC,QAAe,CAAC;YAC9D,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACzF,SAAS;YACX,CAAC;YAGD,MAAM,MAAM,GAAuB,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEnD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,4BAAkB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,4BAAkB,GAAE,CAAC;YACzE,IAAI,EAA0B,CAAC;YAC/B,IAAI,CAAC;gBACH,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAa,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,IAAI,SAAS,gBAAgB,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YACtG,CAAC;YACD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,MAAM,sCAAsC,CAAC,CAAC;gBAClG,SAAS;YACX,CAAC;YAGD,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;gBACxB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;oBACzE,SAAS;gBACX,CAAC;YACH,CAAC;YAcD,KAAK,MAAM,QAAQ,IAAI,6BAAqB,EAAE,CAAC;gBAC7C,MAAM,iBAAiB,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAE,CAAS,CAAC,WAAW,EAAE,IAAI,KAAK,QAAQ,CAAC,IAAI,CACtD,CAAC;gBACF,IAAI,iBAAiB,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,QAAQ,CAAC,IAAI,qCAAqC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;oBACzG,SAAS;gBACX,CAAC;gBAGD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChG,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAQ1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,+BAA+B,CAAC,eAAqC;QACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;QACrC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACjC,gFAAmC,EACnC,QAAQ,CAAC,WAAW,CACrB,CAAC;QACF,OAAO,CAAC,CAAC,QAAQ,CAAC;IACpB,CAAC;IAGO,QAAQ,CAAC,QAAyB;QACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe;aACpC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;aAClD,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,QAAyB;QACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAC5C,uDAAsB,EACtB,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,mBAAmB,CAAC;IAC/B,CAAC;IAEO,mBAAmB,CAAC,QAAyB;QACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAC5C,oDAAqB,EACrB,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,mBAAmB,CAAC;IAC/B,CAAC;IAEO,oCAAoC,CAAC,QAAyB;QACpE,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACrD,iFAAwC,EACxC,QAAQ,CAAC,WAAW,CACrB,CAAC;QACF,OAAO,CAAC,CAAC,4BAA4B,CAAC;IACxC,CAAC;IAEO,uBAAuB,CAAC,QAAyB;QACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAChD,8DAA0B,EAC1B,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,uBAAuB,CAAC;IACnC,CAAC;IAEO,sBAAsB,CAAC,QAAyB;QACtD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAC/C,4DAAyB,EACzB,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,sBAAsB,CAAC;IAClC,CAAC;IAEO,qBAAqB,CAAC,QAAyB;QACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAC9C,0DAAwB,EACxB,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,qBAAqB,CAAC;IACjC,CAAC;IAEO,cAAc,CAAC,QAAyB;QAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACvC,0CAAgB,EAChB,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,cAAc,CAAC;IAC1B,CAAC;IAEO,kBAAkB,CAAC,QAAyB;QAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAC3C,4CAAc,EACd,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,kBAAkB,CAAC;IAC9B,CAAC;IAEO,aAAa,CAAC,QAAyB;QAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACtC,wCAAe,EACf,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,aAAa,CAAC;IACzB,CAAC;IAEO,4BAA4B,CAAC,QAAyB;QAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,MAAM,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACrD,0EAAgC,EAChC,QAAQ,CAAC,WAAW,CACrB,CAAC;QAEF,OAAO,CAAC,CAAC,4BAA4B,CAAC;IACxC,CAAC;IAEO,QAAQ,CAAC,QAAyB;QACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAEnC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,IAAI,QAAQ,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAE/D,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACpF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAOD,cAAc,CAAC,iBAAyB;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,IAAA,kBAAQ,EAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3E,OAAO,QAAQ,EAAE,QAA4B,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,YAAoB;QAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IACjG,CAAC;CACF,CAAA;AAnYY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;qCAG0B,uBAAgB;QACvB,gBAAS;QACH,sBAAe;QACjB,8BAAa;QACjB,gBAAS;GAN5B,sBAAsB,CAmYlC","sourcesContent":["import { classify } from '@angular-devkit/core/src/utils/strings';\nimport { Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common';\nimport { DiscoveryService, MetadataScanner, ModuleRef, Reflector } from '@nestjs/core';\nimport { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';\nimport { getDataSourceToken } from '@nestjs/typeorm';\nimport { IS_COMPUTED_FIELD_PROVIDER } from 'src/decorators/computed-field-provider.decorator';\nimport { IS_DASHBOARD_QUESTION_DATA_PROVIDER } from 'src/decorators/dashboard-question-data-provider.decorator';\nimport { IS_DASHBOARD_VARIABLE_SELECTION_PROVIDER } from 'src/decorators/dashboard-selection-provider.decorator';\nimport { IS_ERROR_CODE_PROVIDER } from 'src/decorators/error-codes-provider.decorator';\nimport { IS_MAIL_PROVIDER } from 'src/decorators/mail-provider.decorator';\nimport { IS_SCHEDULED_JOB_PROVIDER } from 'src/decorators/scheduled-job-provider.decorator';\nimport { IS_SECURITY_RULE_CONFIG_PROVIDER } from 'src/decorators/security-rule-config-provider.decorator';\nimport { IS_SELECTION_PROVIDER } from 'src/decorators/selection-provider.decorator';\nimport { IS_SOLID_DATABASE_MODULE } from 'src/decorators/solid-database-module.decorator';\nimport { IS_WA_PROVIDER } from 'src/decorators/whatsapp-provider.decorator';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { AuditSubscriber } from 'src/subscribers/audit.subscriber';\nimport { ComputedEntityFieldSubscriber } from 'src/subscribers/computed-entity-field.subscriber';\nimport { CreatedByUpdatedBySubscriber } from 'src/subscribers/created-by-updated-by.subscriber';\nimport { SoftDeleteAwareEventSubscriber } from 'src/subscribers/soft-delete-aware-event.subscriber';\nimport { DataSource } from 'typeorm';\nimport { CRUDService } from './crud.service';\nimport { IS_SMS_PROVIDER } from 'src/decorators/sms-provider.decorator';\n\nexport const coreSubscriberClasses = [\n AuditSubscriber,\n ComputedEntityFieldSubscriber,\n CreatedByUpdatedBySubscriber,\n SoftDeleteAwareEventSubscriber\n];\n\n@Injectable()\nexport class SolidIntrospectService implements OnApplicationBootstrap {\n constructor(\n private readonly discoveryService: DiscoveryService,\n private readonly reflector: Reflector,\n private readonly metadataScanner: MetadataScanner,\n private readonly solidRegistry: SolidRegistry,\n private readonly moduleRef: ModuleRef,\n ) { }\n\n private readonly logger = new Logger(SolidIntrospectService.name);\n async onApplicationBootstrap() {\n this.logger.debug('Introspecting the application for Solid metadata');\n\n // Register all seeders\n const seeders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isSeeder(provider));\n seeders.forEach((seeder) => {\n this.solidRegistry.registerSeeder(seeder);\n });\n\n // TODO: Scan the filesystem and populate the solid metadata\n\n // Register all IErrorCodeProvider implementations\n const errorCodeProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isErrorCodeProvider(provider));\n\n errorCodeProviders.forEach((errorCodeProvider) => {\n this.solidRegistry.registerErrorCodeProvider(errorCodeProvider);\n });\n\n // Register all ISelectionProvider implementations\n const selectionProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isSelectionProvider(provider));\n\n selectionProviders.forEach((selectionProvider) => {\n this.solidRegistry.registerSelectionProvider(selectionProvider);\n });\n\n // Register all IDashboardSelectionProvider implementations\n const dashboardVariableSelectionProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isDashboardVariableSelectionProvider(provider));\n\n dashboardVariableSelectionProviders.forEach((dashboardSelectionProvider) => {\n this.solidRegistry.registerDashboardVariableSelectionProvider(dashboardSelectionProvider);\n });\n\n // Register all IDashboardSelectionProvider implementations\n const dashboardQuestionDataProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isDashboardQuestionDataProvider(provider));\n\n dashboardQuestionDataProviders.forEach((provider) => {\n this.solidRegistry.registerDashboardQuestionDataProvider(provider);\n });\n\n // Register all IComputedProvider implementations\n const computedFieldProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isComputedFieldProvider(provider));\n\n computedFieldProviders.forEach((computedFieldProvider) => {\n // @ts-ignore\n this.solidRegistry.registerComputedFieldProvider(computedFieldProvider);\n });\n\n // Register all ISolidDatabaseModules implementations\n const solidDatabaseModules = this.discoveryService\n .getProviders()\n .filter((provider) => this.isSolidDatabaseModule(provider));\n\n solidDatabaseModules.forEach((solidDatabaseModule) => {\n this.solidRegistry.registerSolidDatabaseModule(solidDatabaseModule);\n });\n\n // keep track of all the controllers & respective methods. \n const allControllers = this.discoveryService\n .getControllers()\n .map((controller) => {\n const { instance } = controller;\n return {\n name: controller.name,\n methods: this.metadataScanner.getAllMethodNames(Object.getPrototypeOf(instance))\n };\n });\n\n this.solidRegistry.registerControllers(new Set(allControllers));\n\n // Register all modules\n const allModules = this.discoveryService\n .getProviders()\n .filter((provider) => this.isModule(provider));\n this.solidRegistry.registerModules(allModules);\n\n // Register all IScheduledJob implementations\n const scheduledJobProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isScheduledJobProvider(provider));\n\n scheduledJobProviders.forEach((scheduledJobProvider) => {\n this.solidRegistry.registerScheduledJobProvider(scheduledJobProvider);\n });\n\n // Register all IMail implementations\n const mailProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isMailProvider(provider));\n\n mailProviders.forEach((mailProvider) => {\n this.solidRegistry.registerMailProvider(mailProvider);\n });\n\n // Register all IWhatsappTransport implementations\n const whatsappProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isWhatsappProvider(provider));\n\n whatsappProviders.forEach((whatsappProvider) => {\n this.solidRegistry.registerWhatsappProvider(whatsappProvider);\n });\n\n // Register all IWhatsappTransport implementations\n const smsProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isSmsProvider(provider));\n\n smsProviders.forEach((smsProvider) => {\n this.solidRegistry.registerSmsProvider(smsProvider);\n });\n\n // Register all ISecurityRuleConfigProvider implementations\n const securityRuleConfigProviders = this.discoveryService\n .getProviders()\n .filter((provider) => this.isSecurityRuleConfigProvider(provider));\n\n securityRuleConfigProviders.forEach((securityRuleConfigProvider) => {\n this.solidRegistry.registerSecurityRuleConfigProvider(securityRuleConfigProvider);\n });\n\n // Register the core subscribers against all the configured database modules / datasources\n await this.bootstrapCoreTypeOrmSubscribers(solidDatabaseModules)\n }\n\n async bootstrapCoreTypeOrmSubscribers(dbModules: Array<InstanceWrapper<any>>): Promise<void> {\n // Register core subscribers for each Solid database module\n for (const wrapper of dbModules) {\n // Get the Database Module instance\n const instance = (wrapper as InstanceWrapper).instance as any;\n if (!instance || typeof instance.name !== 'function') {\n this.logger.warn('Skipping a solid DB module wrapper with no instance or name() method');\n continue;\n }\n\n // Get the DataSource for this module\n const dsName: string | undefined = instance.name();\n // getDataSourceToken() without name = default; pass dsName if non-default\n const token = dsName ? getDataSourceToken(dsName) : getDataSourceToken();\n let ds: DataSource | undefined;\n try {\n ds = this.moduleRef.get<DataSource>(token, { strict: false });\n } catch (err) {\n this.logger.warn(`DataSource token for \"${dsName ?? 'default'}\" not found: ${err?.message ?? err}`);\n }\n if (!ds) {\n this.logger.warn(`No DataSource found for module \"${dsName}\". Skipping subscriber registration.`);\n continue;\n }\n\n // Ensure DataSource is initialized (optional)\n if (!ds.isInitialized) {\n try {\n await ds.initialize(); // only if you need to initialize here; in many apps datasources are created earlier\n } catch (err) {\n this.logger.error(`Failed to initialize DataSource \"${dsName}\": ${err}`);\n continue;\n }\n }\n\n // Register each subscriber class for this DataSource\n // const auditSubscriberInstance = new AuditSubscriber(this.chatterMessageService, this.modelMetadataRepo, this.modelMetadataHelperService);\n // auditSubscriberInstance.bindToDataSource(ds);\n\n // const computedEntityFieldSubscriberInstance = new ComputedEntityFieldSubscriber(this.solidRegistry, this.publisherFactory);\n // computedEntityFieldSubscriberInstance.bindToDataSource(ds);\n\n // const createdByUpdatedBySubscriberInstance = new CreatedByUpdatedBySubscriber(this.requestContextService);\n // createdByUpdatedBySubscriberInstance.bindToDataSource(ds);\n\n // const softDeleteAwareEventSubscriberInstance = new SoftDeleteAwareEventSubscriber();\n // softDeleteAwareEventSubscriberInstance.bindToDataSource(ds);\n for (const SubClass of coreSubscriberClasses) {\n const alreadyRegistered = ds.subscribers.some(\n (s) => (s as any).constructor?.name === SubClass.name,\n );\n if (alreadyRegistered) {\n this.logger.debug(`Subscriber ${SubClass.name} already registered on datasource ${dsName ?? 'default'}`);\n continue;\n }\n\n // Resolve subscriber from NestJS moduleRef to ensure dependencies are injected\n const subscriberInstance = await this.moduleRef.resolve(SubClass, undefined, { strict: false });\n subscriberInstance.bindToDataSource(ds);\n\n // instantiate subscriber bound to this DataSource\n // NOTE: constructor signature must be (dataSource: DataSource, requestContextService: RequestContextService, ...)\n // const subscriberInstance = new (SubClass as any)(ds, this.requestContextService);\n\n // ds.subscribers.push(subscriberInstance);\n // this.logger.log(`Registered subscriber ${SubClass.name} on datasource ${dsName ?? 'default'}`);\n }\n }\n }\n\n isDashboardQuestionDataProvider(providerWrapper: InstanceWrapper<any>) {\n const { instance } = providerWrapper;\n if (!instance) return false;\n const provider = this.reflector.get<boolean>(\n IS_DASHBOARD_QUESTION_DATA_PROVIDER,\n instance.constructor,\n );\n return !!provider;\n }\n\n // This method identifies a provider as a seeder if it has a seed method i.e duck typing\n private isSeeder(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const seedMethod = this.metadataScanner\n .getAllMethodNames(Object.getPrototypeOf(instance))\n .find((methodName) => methodName === 'seed');\n if (!seedMethod) return false;\n return true;\n }\n\n private isErrorCodeProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isErrorCodeProvider = this.reflector.get<boolean>(\n IS_ERROR_CODE_PROVIDER,\n instance.constructor,\n );\n\n return !!isErrorCodeProvider;\n }\n\n private isSelectionProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSelectionProvider = this.reflector.get<boolean>(\n IS_SELECTION_PROVIDER,\n instance.constructor,\n );\n\n return !!isSelectionProvider;\n }\n\n private isDashboardVariableSelectionProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n const isDashboardSelectionProvider = this.reflector.get<boolean>(\n IS_DASHBOARD_VARIABLE_SELECTION_PROVIDER,\n instance.constructor,\n );\n return !!isDashboardSelectionProvider;\n }\n\n private isComputedFieldProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isComputedFieldProvider = this.reflector.get<boolean>(\n IS_COMPUTED_FIELD_PROVIDER,\n instance.constructor,\n );\n\n return !!isComputedFieldProvider;\n }\n\n private isScheduledJobProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isScheduledJobProvider = this.reflector.get<boolean>(\n IS_SCHEDULED_JOB_PROVIDER,\n instance.constructor,\n );\n\n return !!isScheduledJobProvider;\n }\n\n private isSolidDatabaseModule(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSolidDatabaseModule = this.reflector.get<boolean>(\n IS_SOLID_DATABASE_MODULE,\n instance.constructor,\n );\n\n return !!isSolidDatabaseModule;\n }\n\n private isMailProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isMailProvider = this.reflector.get<boolean>(\n IS_MAIL_PROVIDER,\n instance.constructor,\n );\n\n return !!isMailProvider;\n }\n\n private isWhatsappProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isWhatsappProvider = this.reflector.get<boolean>(\n IS_WA_PROVIDER,\n instance.constructor,\n );\n\n return !!isWhatsappProvider;\n }\n\n private isSmsProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSmsProvider = this.reflector.get<boolean>(\n IS_SMS_PROVIDER,\n instance.constructor,\n );\n\n return !!isSmsProvider;\n }\n\n private isSecurityRuleConfigProvider(provider: InstanceWrapper) {\n const { instance } = provider;\n if (!instance) return false;\n\n const isSecurityRuleConfigProvider = this.reflector.get<boolean>(\n IS_SECURITY_RULE_CONFIG_PROVIDER,\n instance.constructor,\n );\n\n return !!isSecurityRuleConfigProvider;\n }\n\n private isModule(provider: InstanceWrapper): boolean {\n const metatype = provider.metatype;\n // Check if it's a Static Module (Class-Based)\n if (metatype && typeof metatype === 'function' && Reflect.getMetadata('imports', metatype)) {\n return true;\n }\n\n // Ensure provider.instance is an object before checking for 'module'\n if (provider.instance && typeof provider.instance === 'object') {\n // Check if it's a Dynamic Module (Object-Based)\n if ('module' in provider.instance && typeof provider.instance.module === 'function') {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Given a model singular name this will return the crud service instance.\n * @param modelSingularName \n * @returns \n */\n getCRUDService(modelSingularName: string): CRUDService<any> {\n const provider = this.getProvider(`${classify(modelSingularName)}Service`);\n return provider?.instance as CRUDService<any>;\n }\n\n getProvider(providerName: string) {\n return this.discoveryService.getProviders().find((provider) => provider.name === providerName);\n }\n}\n"]}
|
|
@@ -34,8 +34,8 @@ let SolidTsMorphService = SolidTsMorphService_1 = class SolidTsMorphService {
|
|
|
34
34
|
insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: true,
|
|
35
35
|
},
|
|
36
36
|
});
|
|
37
|
-
this.logger.
|
|
38
|
-
Object.entries(this.workspaceMap).forEach(([k, v]) => this.logger.
|
|
37
|
+
this.logger.debug(`SolidTsMorphService repoRoot = ${this.repoRoot}`);
|
|
38
|
+
Object.entries(this.workspaceMap).forEach(([k, v]) => this.logger.debug(`workspace '${k}' => ${v}`));
|
|
39
39
|
}
|
|
40
40
|
discoverRepoRoot() {
|
|
41
41
|
const envRoot = process.env.SOLID_REPO_ROOT;
|