@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
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Injectable } from '@nestjs/common';
|
|
2
|
+
import { ModelSequence } from 'src/entities/model-sequence.entity';
|
|
3
|
+
import { RequestContextService } from 'src/services/request-context.service';
|
|
4
|
+
import { DataSource } from 'typeorm';
|
|
5
|
+
import { SecurityRuleRepository } from './security-rule.repository';
|
|
6
|
+
import { SolidBaseRepository } from './solid-base.repository';
|
|
7
|
+
import { CreateModelSequenceDto } from 'src/dtos/create-model-sequence.dto';
|
|
8
|
+
import { ModuleMetadata } from 'src/entities/module-metadata.entity';
|
|
9
|
+
import { ModelMetadata } from 'src/entities/model-metadata.entity';
|
|
10
|
+
import { FieldMetadata } from 'src/entities/field-metadata.entity';
|
|
11
|
+
|
|
12
|
+
@Injectable()
|
|
13
|
+
export class ModelSequenceRepository extends SolidBaseRepository<ModelSequence> {
|
|
14
|
+
constructor(
|
|
15
|
+
readonly dataSource: DataSource,
|
|
16
|
+
readonly requestContextService: RequestContextService,
|
|
17
|
+
readonly securityRuleRepository: SecurityRuleRepository,
|
|
18
|
+
) {
|
|
19
|
+
super(ModelSequence, dataSource, requestContextService, securityRuleRepository);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
async upsertWithDto(createDto: CreateModelSequenceDto) {
|
|
23
|
+
// Populate the module from moduleId or moduleUserKey
|
|
24
|
+
const moduleRepository = this.dataSource.getRepository(ModuleMetadata);
|
|
25
|
+
if (createDto.moduleId) {
|
|
26
|
+
const module = await moduleRepository.findOne({
|
|
27
|
+
where: {
|
|
28
|
+
id: createDto.moduleId,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
createDto['module'] = module;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (createDto.moduleUserKey) {
|
|
35
|
+
const module = await moduleRepository.findOne({
|
|
36
|
+
where: {
|
|
37
|
+
name: createDto.moduleUserKey,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
createDto['module'] = module;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Populate the model from modelId or modelUserKey
|
|
44
|
+
const modelRepository = this.dataSource.getRepository(ModelMetadata);
|
|
45
|
+
if (createDto.modelId) {
|
|
46
|
+
const model = await modelRepository.findOne({
|
|
47
|
+
where: {
|
|
48
|
+
id: createDto.modelId,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
createDto['model'] = model;
|
|
52
|
+
}
|
|
53
|
+
if (createDto.modelUserKey) {
|
|
54
|
+
const model = await modelRepository.findOne({
|
|
55
|
+
where: {
|
|
56
|
+
singularName: createDto.modelUserKey,
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
createDto['model'] = model;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Populate the field from fieldId or fieldUserKey
|
|
63
|
+
const fieldRepository = this.dataSource.getRepository(FieldMetadata);
|
|
64
|
+
if (createDto.fieldId) {
|
|
65
|
+
const field = await fieldRepository.findOne({
|
|
66
|
+
where: {
|
|
67
|
+
id: createDto.fieldId,
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
createDto['field'] = field;
|
|
71
|
+
}
|
|
72
|
+
if (createDto.fieldUserKey) {
|
|
73
|
+
const field = await fieldRepository.findOne({
|
|
74
|
+
where: {
|
|
75
|
+
name: createDto.fieldUserKey,
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
createDto['field'] = field;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// First check if sequence already exists using name
|
|
82
|
+
const existingModelSequence = await this.findOne({
|
|
83
|
+
where: {
|
|
84
|
+
sequenceName: createDto.sequenceName,
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
if (existingModelSequence) {
|
|
89
|
+
const updatedModelSequence = this.merge(existingModelSequence, createDto);
|
|
90
|
+
return this.save(updatedModelSequence);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
const modelSequence = this.create(createDto);
|
|
94
|
+
return this.save(modelSequence);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import { Inject, Injectable, Logger } from '@nestjs/common';
|
|
1
|
+
import { forwardRef, Inject, Injectable, Logger } from '@nestjs/common';
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import * as path from 'path';
|
|
4
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
4
5
|
|
|
5
|
-
import { ConfigType } from '@nestjs/config';
|
|
6
|
-
import { InjectRepository } from '@nestjs/typeorm';
|
|
7
|
-
import commonConfig from 'src/config/common.config';
|
|
8
|
-
import { iamConfig } from 'src/config/iam.config';
|
|
9
6
|
import { CreateDashboardDto } from 'src/dtos/create-dashboard.dto';
|
|
10
7
|
import { CreateEmailTemplateDto } from 'src/dtos/create-email-template.dto';
|
|
11
8
|
import { CreateListOfValuesDto } from 'src/dtos/create-list-of-values.dto';
|
|
12
9
|
import { CreateSecurityRuleDto } from 'src/dtos/create-security-rule.dto';
|
|
13
10
|
import { CreateSettingDto } from 'src/dtos/create-setting.dto';
|
|
14
11
|
import { CreateSmsTemplateDto } from 'src/dtos/create-sms-template.dto';
|
|
15
|
-
import { Setting } from 'src/entities/setting.entity';
|
|
16
12
|
import { DashboardRepository } from 'src/repository/dashboard.repository';
|
|
17
13
|
import { SecurityRuleRepository } from 'src/repository/security-rule.repository';
|
|
18
14
|
import { AuthenticationService } from 'src/services/authentication.service';
|
|
@@ -25,14 +21,12 @@ import { DataSource, In, Repository } from 'typeorm';
|
|
|
25
21
|
import appBuilderConfig from '../config/app-builder.config';
|
|
26
22
|
import { CreateModelMetadataDto } from '../dtos/create-model-metadata.dto';
|
|
27
23
|
import { CreateModuleMetadataDto } from '../dtos/create-module-metadata.dto';
|
|
28
|
-
import {
|
|
29
|
-
import { getDynamicModuleNames } from '../helpers/module.helper';
|
|
24
|
+
import { getDynamicModuleNames, getDynamicModuleNamesBasedOnMetadata } from '../helpers/module.helper';
|
|
30
25
|
import { SolidRegistry } from '../helpers/solid-registry';
|
|
31
26
|
import { ActionMetadataService } from '../services/action-metadata.service';
|
|
32
27
|
import { FieldMetadataService } from '../services/field-metadata.service';
|
|
33
28
|
import { MediaStorageProviderMetadataSeederService } from '../services/media-storage-provider-metadata-seeder.service';
|
|
34
29
|
import { MediaStorageProviderMetadataService } from '../services/media-storage-provider-metadata.service';
|
|
35
|
-
import { MenuItemMetadataService } from '../services/menu-item-metadata.service';
|
|
36
30
|
import { ModelMetadataService } from '../services/model-metadata.service';
|
|
37
31
|
import { ModuleMetadataService } from '../services/module-metadata.service';
|
|
38
32
|
import { RoleMetadataService } from '../services/role-metadata.service';
|
|
@@ -40,14 +34,16 @@ import { ViewMetadataService } from '../services/view-metadata.service';
|
|
|
40
34
|
import solidCoreMetadata from './seed-data/solid-core-metadata.json';
|
|
41
35
|
import { SystemFieldsSeederService } from './system-fields-seeder.service';
|
|
42
36
|
// import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
|
|
43
|
-
import { ActionMetadata, MENU_ROLE_JOIN_TABLE_NAME, MENU_ROLE_JOIN_TABLE_NAME_MENU_COL, MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL, MenuItemMetadata, ModuleMetadata, RoleMetadata } from 'src';
|
|
37
|
+
import { ActionMetadata, MENU_ROLE_JOIN_TABLE_NAME, MENU_ROLE_JOIN_TABLE_NAME_MENU_COL, MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL, MenuItemMetadata, ModuleMetadata, RoleMetadata, SignUpDto } from 'src';
|
|
44
38
|
import { ADMIN_ROLE_NAME, INTERNAL_ROLE_NAME, INTERNAL_ROLE_PERMISSIONS, PUBLIC_ROLE_NAME } from 'src/dtos/create-role-metadata.dto';
|
|
39
|
+
import { CreateSavedFiltersDto } from 'src/dtos/create-saved-filters.dto';
|
|
45
40
|
import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
|
|
46
|
-
import { ScheduledJobRepository } from 'src/repository/scheduled-job.repository';
|
|
47
41
|
import { PermissionMetadataRepository } from 'src/repository/permission-metadata.repository';
|
|
48
|
-
import { SettingRepository } from 'src/repository/setting.repository';
|
|
49
|
-
import { CreateSavedFiltersDto } from 'src/dtos/create-saved-filters.dto';
|
|
50
42
|
import { SavedFiltersRepository } from 'src/repository/saved-filters.repository';
|
|
43
|
+
import { ScheduledJobRepository } from 'src/repository/scheduled-job.repository';
|
|
44
|
+
import { SettingRepository } from 'src/repository/setting.repository';
|
|
45
|
+
import { CreateModelSequenceDto } from 'src/dtos/create-model-sequence.dto';
|
|
46
|
+
import { ModelSequenceRepository } from 'src/repository/model-sequence.repository';
|
|
51
47
|
|
|
52
48
|
|
|
53
49
|
@Injectable()
|
|
@@ -57,6 +53,7 @@ export class ModuleMetadataSeederService {
|
|
|
57
53
|
|
|
58
54
|
constructor(
|
|
59
55
|
private readonly moduleMetadataService: ModuleMetadataService,
|
|
56
|
+
@Inject(forwardRef(() => ModelMetadataService))
|
|
60
57
|
private readonly modelMetadataService: ModelMetadataService,
|
|
61
58
|
private readonly fieldMetadataService: FieldMetadataService,
|
|
62
59
|
private readonly mediaStorageProviderMetadataService: MediaStorageProviderMetadataService,
|
|
@@ -64,7 +61,6 @@ export class ModuleMetadataSeederService {
|
|
|
64
61
|
private readonly userService: UserService,
|
|
65
62
|
private readonly authenticationService: AuthenticationService,
|
|
66
63
|
private readonly solidActionService: ActionMetadataService,
|
|
67
|
-
private readonly solidMenuItemService: MenuItemMetadataService,
|
|
68
64
|
private readonly solidViewService: ViewMetadataService,
|
|
69
65
|
private readonly mediaStorageProviderSeederService: MediaStorageProviderMetadataSeederService,
|
|
70
66
|
private readonly emailTemplateService: EmailTemplateService,
|
|
@@ -74,11 +70,6 @@ export class ModuleMetadataSeederService {
|
|
|
74
70
|
// private readonly permissionRepo: Repository<PermissionMetadata>,
|
|
75
71
|
private readonly permissionRepo: PermissionMetadataRepository,
|
|
76
72
|
private readonly solidRegistry: SolidRegistry,
|
|
77
|
-
@Inject(appBuilderConfig.KEY)
|
|
78
|
-
private readonly appBuilderConfiguration: ConfigType<typeof appBuilderConfig>,
|
|
79
|
-
@Inject(iamConfig.KEY) private readonly iamConfiguration: ConfigType<typeof iamConfig>,
|
|
80
|
-
@Inject(commonConfig.KEY)
|
|
81
|
-
private readonly commonConfiguration: ConfigType<typeof commonConfig>,
|
|
82
73
|
private readonly settingService: SettingService,
|
|
83
74
|
// @InjectRepository(Setting, 'default')
|
|
84
75
|
// readonly settingsRepo: Repository<Setting>,
|
|
@@ -89,12 +80,14 @@ export class ModuleMetadataSeederService {
|
|
|
89
80
|
readonly scheduledJobRepository: ScheduledJobRepository,
|
|
90
81
|
readonly savedFiltersRepo: SavedFiltersRepository,
|
|
91
82
|
readonly dataSource: DataSource,
|
|
83
|
+
readonly modelSequenceRepo: ModelSequenceRepository,
|
|
92
84
|
) { }
|
|
93
85
|
|
|
94
86
|
async seed(conf?: any) {
|
|
95
87
|
// Global seeding steps i.e across all modules
|
|
96
88
|
await this.seedGlobalMetadata();
|
|
97
89
|
|
|
90
|
+
|
|
98
91
|
// Module specific seeding steps.
|
|
99
92
|
// Get all the module metadata files which needs to be seeded.
|
|
100
93
|
const seedDataFiles = this.seedDataFiles;
|
|
@@ -193,6 +186,10 @@ export class ModuleMetadataSeederService {
|
|
|
193
186
|
this.logger.log(`Seeding Saved Filters`);
|
|
194
187
|
await this.seedSavedFilters(moduleMetadata, overallMetadata);
|
|
195
188
|
|
|
189
|
+
// Model Sequences
|
|
190
|
+
this.logger.log(`Seeding Model Sequences`);
|
|
191
|
+
await this.seedModelSequences(overallMetadata);
|
|
192
|
+
|
|
196
193
|
this.logger.debug(`[End] module seed data: ${overallMetadata}`);
|
|
197
194
|
}
|
|
198
195
|
|
|
@@ -328,7 +325,8 @@ export class ModuleMetadataSeederService {
|
|
|
328
325
|
private get seedDataFiles(): any[] {
|
|
329
326
|
const typedSolidCoreMetadata = structuredClone(solidCoreMetadata);
|
|
330
327
|
const seedDataFiles = [typedSolidCoreMetadata];
|
|
331
|
-
const enabledModules = getDynamicModuleNames();
|
|
328
|
+
// const enabledModules = getDynamicModuleNames();
|
|
329
|
+
const enabledModules = getDynamicModuleNamesBasedOnMetadata();
|
|
332
330
|
for (const enabledModule of enabledModules) {
|
|
333
331
|
const enabledModuleSeedFile = `module-metadata/${enabledModule}/${enabledModule}-metadata.json`;
|
|
334
332
|
const fullPath = path.join(process.cwd(), enabledModuleSeedFile);
|
|
@@ -352,6 +350,8 @@ export class ModuleMetadataSeederService {
|
|
|
352
350
|
|
|
353
351
|
this.logger.log(`Seeding System Fields Metadata`);
|
|
354
352
|
await this.seedDefaultSystemFields();
|
|
353
|
+
|
|
354
|
+
this.logger.debug(`Global metadata seeding completed`);
|
|
355
355
|
}
|
|
356
356
|
|
|
357
357
|
private async seedDefaultSystemFields() {
|
|
@@ -422,6 +422,13 @@ export class ModuleMetadataSeederService {
|
|
|
422
422
|
this.logger.debug(`[End] Processing Media Storage Provider`);
|
|
423
423
|
}
|
|
424
424
|
|
|
425
|
+
private async seedModelSequences(overallMetadata: any) {
|
|
426
|
+
this.logger.debug(`[Start] Processing model sequences`);
|
|
427
|
+
const modelSequences: CreateModelSequenceDto[] = overallMetadata.modelSequences;
|
|
428
|
+
await this.handleSeedModelSequences(modelSequences);
|
|
429
|
+
this.logger.debug(`[End] Processing model sequences`);
|
|
430
|
+
}
|
|
431
|
+
|
|
425
432
|
// OK
|
|
426
433
|
private async handleSeedEmailTemplates(emailTemplates: CreateEmailTemplateDto[], moduleName: string) {
|
|
427
434
|
if (!emailTemplates) {
|
|
@@ -434,12 +441,41 @@ export class ModuleMetadataSeederService {
|
|
|
434
441
|
|
|
435
442
|
// We need to load the actual template contents.
|
|
436
443
|
if (moduleName === 'solid-core') {
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
444
|
+
let moduleRoot: string | null = null;
|
|
445
|
+
|
|
446
|
+
try {
|
|
447
|
+
// Always resolve package.json, never the module entry
|
|
448
|
+
moduleRoot = path.dirname(
|
|
449
|
+
require.resolve('@solidstarters/solid-core/package.json'),
|
|
450
|
+
);
|
|
451
|
+
} catch (err) {
|
|
452
|
+
this.logger.debug(
|
|
453
|
+
'Could not resolve @solidstarters/solid-core from node_modules, assuming local execution',
|
|
454
|
+
);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
const filePathInternal = 'src/seeders/seed-data/email-templates/';
|
|
458
|
+
let filePath: string;
|
|
459
|
+
// Case 1: solid-core installed as dependency
|
|
460
|
+
if (moduleRoot) {
|
|
461
|
+
filePath = path.join(
|
|
462
|
+
moduleRoot,
|
|
463
|
+
filePathInternal,
|
|
464
|
+
emailTemplate.body,
|
|
465
|
+
);
|
|
466
|
+
}
|
|
467
|
+
else {
|
|
468
|
+
// Case 2: running INSIDE solid-core repo
|
|
469
|
+
const localCoreRoot = process.cwd(); // or configurable root
|
|
470
|
+
filePath = path.join(
|
|
471
|
+
localCoreRoot,
|
|
472
|
+
filePathInternal,
|
|
473
|
+
emailTemplate.body,
|
|
474
|
+
);
|
|
475
|
+
}
|
|
476
|
+
|
|
441
477
|
if (fs.existsSync(filePath)) {
|
|
442
|
-
emailTemplate.body = fs.readFileSync(filePath, 'utf-8')
|
|
478
|
+
emailTemplate.body = fs.readFileSync(filePath, 'utf-8');
|
|
443
479
|
}
|
|
444
480
|
}
|
|
445
481
|
else {
|
|
@@ -471,12 +507,41 @@ export class ModuleMetadataSeederService {
|
|
|
471
507
|
|
|
472
508
|
// We need to load the actual template contents.
|
|
473
509
|
if (moduleName === 'solid-core') {
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
510
|
+
let moduleRoot: string | null = null;
|
|
511
|
+
|
|
512
|
+
try {
|
|
513
|
+
// Always resolve package.json, never the module entry
|
|
514
|
+
moduleRoot = path.dirname(
|
|
515
|
+
require.resolve('@solidstarters/solid-core/package.json'),
|
|
516
|
+
);
|
|
517
|
+
} catch (err) {
|
|
518
|
+
this.logger.debug(
|
|
519
|
+
'Could not resolve @solidstarters/solid-core from node_modules, assuming local execution',
|
|
520
|
+
);
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
const filePathInternal = 'src/seeders/seed-data/sms-templates/';
|
|
524
|
+
let filePath: string;
|
|
525
|
+
// Case 1: solid-core installed as dependency
|
|
526
|
+
if (moduleRoot) {
|
|
527
|
+
filePath = path.join(
|
|
528
|
+
moduleRoot,
|
|
529
|
+
filePathInternal,
|
|
530
|
+
smsTemplate.body,
|
|
531
|
+
);
|
|
532
|
+
}
|
|
533
|
+
else {
|
|
534
|
+
// Case 2: running INSIDE solid-core repo
|
|
535
|
+
const localCoreRoot = process.cwd(); // or configurable root
|
|
536
|
+
filePath = path.join(
|
|
537
|
+
localCoreRoot,
|
|
538
|
+
filePathInternal,
|
|
539
|
+
smsTemplate.body,
|
|
540
|
+
);
|
|
541
|
+
}
|
|
542
|
+
|
|
478
543
|
if (fs.existsSync(filePath)) {
|
|
479
|
-
smsTemplate.body = fs.readFileSync(filePath, 'utf-8')
|
|
544
|
+
smsTemplate.body = fs.readFileSync(filePath, 'utf-8');
|
|
480
545
|
}
|
|
481
546
|
}
|
|
482
547
|
else {
|
|
@@ -535,6 +600,7 @@ export class ModuleMetadataSeederService {
|
|
|
535
600
|
action,
|
|
536
601
|
module,
|
|
537
602
|
parentMenuItem,
|
|
603
|
+
sequenceNumber: m.sequenceNumber
|
|
538
604
|
};
|
|
539
605
|
|
|
540
606
|
// If existing, set its id so save() will perform an update, otherwise insert
|
|
@@ -653,12 +719,36 @@ export class ModuleMetadataSeederService {
|
|
|
653
719
|
}
|
|
654
720
|
|
|
655
721
|
for (let l = 0; l < users.length; l++) {
|
|
656
|
-
const user = users[l];
|
|
722
|
+
const user: SignUpDto = users[l];
|
|
657
723
|
let exisitingUser = await this.userService.findOneByUsername(user.username);
|
|
658
724
|
if (!exisitingUser) {
|
|
659
|
-
|
|
725
|
+
let generatedAdminPassword: string | null = null;
|
|
726
|
+
if (user.username === 'sa') {
|
|
727
|
+
generatedAdminPassword = uuidv4();
|
|
728
|
+
user.password = generatedAdminPassword;
|
|
729
|
+
}
|
|
660
730
|
|
|
661
|
-
this.
|
|
731
|
+
exisitingUser = await this.authenticationService.signUp(user);
|
|
732
|
+
this.logger.log(`Newly created user ${user.username}`);
|
|
733
|
+
|
|
734
|
+
// Surface the generated SA password clearly to the operator.
|
|
735
|
+
if (generatedAdminPassword) {
|
|
736
|
+
const banner = [
|
|
737
|
+
'',
|
|
738
|
+
'============================================================',
|
|
739
|
+
' SYSTEM ADMIN USER CREATED',
|
|
740
|
+
'------------------------------------------------------------',
|
|
741
|
+
' Username : sa',
|
|
742
|
+
` Password : ${generatedAdminPassword}`,
|
|
743
|
+
'',
|
|
744
|
+
' Copy and store this password securely now.',
|
|
745
|
+
' It is shown only once during seeding.',
|
|
746
|
+
'============================================================',
|
|
747
|
+
''
|
|
748
|
+
].join('\n');
|
|
749
|
+
// Use console.log to ensure visibility even if logger formatting changes.
|
|
750
|
+
console.log(banner);
|
|
751
|
+
}
|
|
662
752
|
}
|
|
663
753
|
//FIXME: Create the user roles assignment logic here.
|
|
664
754
|
// now add Roles to user.
|
|
@@ -782,5 +872,14 @@ export class ModuleMetadataSeederService {
|
|
|
782
872
|
await this.savedFiltersRepo.upsertWithDto({ ...dto, filterQueryJson: JSON.stringify(dto.filterQueryJson) });
|
|
783
873
|
}
|
|
784
874
|
}
|
|
875
|
+
private async handleSeedModelSequences(modelSequencesDto: CreateModelSequenceDto[]) {
|
|
876
|
+
if (!modelSequencesDto || modelSequencesDto.length === 0) {
|
|
877
|
+
this.logger.debug(`No Model Sequences found to seed`);
|
|
878
|
+
return;
|
|
879
|
+
}
|
|
880
|
+
for (const dto of modelSequencesDto) {
|
|
881
|
+
await this.modelSequenceRepo.upsertWithDto(dto);
|
|
882
|
+
}
|
|
883
|
+
}
|
|
785
884
|
|
|
786
|
-
}
|
|
885
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8" />
|
|
6
|
+
<title>Welcome to {{ solidAppName }}</title>
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
8
|
+
|
|
9
|
+
<style>
|
|
10
|
+
@import url("https://fonts.googleapis.com/css?family=Nunito+Sans:400,700&display=swap");
|
|
11
|
+
|
|
12
|
+
body {
|
|
13
|
+
margin: 0;
|
|
14
|
+
padding: 0;
|
|
15
|
+
background-color: #f4f4f7;
|
|
16
|
+
font-family: "Nunito Sans", Helvetica, Arial, sans-serif;
|
|
17
|
+
color: #333;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.email-wrapper {
|
|
21
|
+
max-width: 600px;
|
|
22
|
+
margin: 0 auto;
|
|
23
|
+
padding: 20px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.logo {
|
|
27
|
+
text-align: center;
|
|
28
|
+
margin-bottom: 20px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.logo img {
|
|
32
|
+
height: 50px;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.content-box {
|
|
36
|
+
background-color: #ffffff;
|
|
37
|
+
padding: 40px;
|
|
38
|
+
border-radius: 8px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.title {
|
|
42
|
+
font-size: 22px;
|
|
43
|
+
margin-bottom: 10px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.intro {
|
|
47
|
+
font-size: 16px;
|
|
48
|
+
line-height: 1.6;
|
|
49
|
+
margin: 0 0 12px 0;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.credentials {
|
|
53
|
+
background-color: #f9f9f9;
|
|
54
|
+
padding: 15px;
|
|
55
|
+
border-radius: 5px;
|
|
56
|
+
margin: 18px 0;
|
|
57
|
+
font-size: 16px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.button-container {
|
|
61
|
+
text-align: center;
|
|
62
|
+
margin: 24px 0 30px 0;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.button {
|
|
66
|
+
display: inline-block;
|
|
67
|
+
padding: 12px 24px;
|
|
68
|
+
background-color: #722ED1;
|
|
69
|
+
color: #ffffff;
|
|
70
|
+
text-decoration: none;
|
|
71
|
+
font-weight: bold;
|
|
72
|
+
border-radius: 4px;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.footer {
|
|
76
|
+
text-align: center;
|
|
77
|
+
font-size: 12px;
|
|
78
|
+
color: #6b6e76;
|
|
79
|
+
margin-top: 40px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@media only screen and (max-width: 600px) {
|
|
83
|
+
.email-wrapper {
|
|
84
|
+
width: 100% !important;
|
|
85
|
+
padding: 20px 0 !important;
|
|
86
|
+
margin: 0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.content-box {
|
|
90
|
+
padding: 20px !important;
|
|
91
|
+
border-radius: 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.title {
|
|
95
|
+
font-size: 18px !important;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.button {
|
|
99
|
+
padding: 10px !important;
|
|
100
|
+
font-size: 14px;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
</style>
|
|
104
|
+
</head>
|
|
105
|
+
|
|
106
|
+
<body>
|
|
107
|
+
<div class="email-wrapper">
|
|
108
|
+
{{#if companyLogoUrl}}
|
|
109
|
+
<div class="logo">
|
|
110
|
+
<img src="{{companyLogoUrl}}" alt="Company Logo" />
|
|
111
|
+
</div>
|
|
112
|
+
{{/if}}
|
|
113
|
+
|
|
114
|
+
<div class="content-box">
|
|
115
|
+
<h2 class="title">Welcome, {{ fullName }}!</h2>
|
|
116
|
+
<p class="intro">
|
|
117
|
+
We’re excited to have you on <strong>{{ solidAppName }}</strong>. Your account has been created and is
|
|
118
|
+
ready to use.
|
|
119
|
+
</p>
|
|
120
|
+
<div class="credentials">
|
|
121
|
+
<p><strong>Username:</strong> {{ userName }}</p>
|
|
122
|
+
<p><strong>Email:</strong> {{ email }}</p>
|
|
123
|
+
</div>
|
|
124
|
+
{{#if frontendLoginPageUrl}}
|
|
125
|
+
<div class="button-container">
|
|
126
|
+
<a class="button" href="{{ frontendLoginPageUrl }}" target="_blank" rel="noopener">Go to Login</a>
|
|
127
|
+
</div>
|
|
128
|
+
{{/if}}
|
|
129
|
+
<div class="credentials">
|
|
130
|
+
<p style="margin:0 0 8px 0;"><strong>How to sign in</strong></p>
|
|
131
|
+
<p class="intro" style="margin:0 0 8px 0;">
|
|
132
|
+
Please check with your system administrator for the login method configured for your account.
|
|
133
|
+
</p>
|
|
134
|
+
<ul style="padding-left:20px; margin:0;">
|
|
135
|
+
<li class="intro" style="margin-bottom:6px;">If password-based sign-in is enabled, your administrator will share or manage your password separately.</li>
|
|
136
|
+
<li class="intro" style="margin-bottom:6px;">If OTP-based sign-in is enabled, you can log in with your email or mobile number and retrieve a one-time code.</li>
|
|
137
|
+
<li class="intro" style="margin-bottom:0;">If Google OAuth is enabled, sign in with your Google Workspace credentials.</li>
|
|
138
|
+
</ul>
|
|
139
|
+
</div>
|
|
140
|
+
<p class="intro">
|
|
141
|
+
If you didn’t request this account, you can safely ignore this email or contact support.
|
|
142
|
+
</p>
|
|
143
|
+
<p class="intro">
|
|
144
|
+
Cheers,<br />
|
|
145
|
+
The {{ solidAppName }} Team
|
|
146
|
+
</p>
|
|
147
|
+
</div>
|
|
148
|
+
|
|
149
|
+
<div class="footer">
|
|
150
|
+
© 2025 <a href="{{ solidAppWebsiteUrl }}" target="_blank">{{ solidAppName }}</a>. All rights reserved.
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
</body>
|
|
154
|
+
|
|
155
|
+
</html>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Welcome to {{ solidAppName }}!
|
|
2
|
+
Your account ({{ userName }} / {{ email }}) is ready.
|
|
3
|
+
|
|
4
|
+
To sign in, use the login page {{ frontendLoginPageUrl }} (if provided).
|
|
5
|
+
Check with your administrator for your login method:
|
|
6
|
+
- Password sign-in: admin will share/manage your password.
|
|
7
|
+
- OTP sign-in: use your email or mobile to receive a code.
|
|
8
|
+
- Google OAuth: sign in with your Google Workspace account.
|
|
9
|
+
|
|
10
|
+
If you didn’t request this, ignore this message.
|