@solidstarters/solid-core 1.2.193 → 1.2.201
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/mcp.command.d.ts +20 -0
- package/dist/commands/mcp.command.d.ts.map +1 -0
- package/dist/commands/mcp.command.js +208 -0
- package/dist/commands/mcp.command.js.map +1 -0
- package/dist/commands/refresh-model.command.d.ts +8 -5
- package/dist/commands/refresh-model.command.d.ts.map +1 -1
- package/dist/commands/refresh-model.command.js +36 -0
- package/dist/commands/refresh-model.command.js.map +1 -1
- package/dist/commands/remove-fields.command.js +1 -1
- package/dist/commands/remove-fields.command.js.map +1 -1
- package/dist/commands/seed.command.d.ts +2 -0
- package/dist/commands/seed.command.d.ts.map +1 -1
- package/dist/commands/seed.command.js +28 -1
- package/dist/commands/seed.command.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/authentication.controller.js +1 -1
- package/dist/controllers/authentication.controller.js.map +1 -1
- package/dist/controllers/email-template.controller.js +1 -1
- package/dist/controllers/email-template.controller.js.map +1 -1
- package/dist/controllers/field-metadata.controller.d.ts +136 -4
- package/dist/controllers/field-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/field-metadata.controller.js +14 -1
- package/dist/controllers/field-metadata.controller.js.map +1 -1
- package/dist/controllers/media-storage-provider-metadata.controller.js +1 -1
- package/dist/controllers/media-storage-provider-metadata.controller.js.map +1 -1
- package/dist/controllers/model-metadata.controller.js +1 -1
- 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/module-metadata.controller.js +1 -1
- package/dist/controllers/module-metadata.controller.js.map +1 -1
- package/dist/controllers/otp-authentication.controller.js +1 -1
- package/dist/controllers/otp-authentication.controller.js.map +1 -1
- package/dist/controllers/service.controller.js +1 -1
- package/dist/controllers/service.controller.js.map +1 -1
- package/dist/controllers/setting.controller.d.ts +1 -0
- package/dist/controllers/setting.controller.d.ts.map +1 -1
- package/dist/controllers/setting.controller.js +15 -0
- package/dist/controllers/setting.controller.js.map +1 -1
- package/dist/controllers/sms-template.controller.js +1 -1
- package/dist/controllers/sms-template.controller.js.map +1 -1
- package/dist/controllers/test-queue.controller.js +1 -1
- package/dist/controllers/test-queue.controller.js.map +1 -1
- package/dist/controllers/test.controller.js +1 -1
- package/dist/controllers/test.controller.js.map +1 -1
- 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-ai-interaction.dto.d.ts +2 -0
- package/dist/dtos/create-ai-interaction.dto.d.ts.map +1 -1
- package/dist/dtos/create-ai-interaction.dto.js +14 -1
- package/dist/dtos/create-ai-interaction.dto.js.map +1 -1
- package/dist/dtos/create-field-metadata.dto.d.ts +22 -5
- package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-field-metadata.dto.js +34 -8
- package/dist/dtos/create-field-metadata.dto.js.map +1 -1
- package/dist/dtos/create-import-transaction.dto.d.ts +0 -1
- package/dist/dtos/create-import-transaction.dto.d.ts.map +1 -1
- package/dist/dtos/create-import-transaction.dto.js +1 -7
- package/dist/dtos/create-import-transaction.dto.js.map +1 -1
- package/dist/dtos/create-model-metadata.dto.d.ts +2 -0
- package/dist/dtos/create-model-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/create-model-metadata.dto.js +13 -1
- package/dist/dtos/create-model-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 +6 -1
- 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/resolve-s3-url.dto.d.ts +10 -0
- package/dist/dtos/resolve-s3-url.dto.d.ts.map +1 -0
- package/dist/dtos/resolve-s3-url.dto.js +49 -0
- package/dist/dtos/resolve-s3-url.dto.js.map +1 -0
- package/dist/dtos/update-ai-interaction.dto.d.ts +2 -0
- package/dist/dtos/update-ai-interaction.dto.d.ts.map +1 -1
- package/dist/dtos/update-ai-interaction.dto.js +13 -1
- package/dist/dtos/update-ai-interaction.dto.js.map +1 -1
- package/dist/dtos/update-field-metadata.dto.d.ts.map +1 -1
- package/dist/dtos/update-field-metadata.dto.js.map +1 -1
- package/dist/dtos/update-import-transaction.dto.d.ts +0 -1
- package/dist/dtos/update-import-transaction.dto.d.ts.map +1 -1
- package/dist/dtos/update-import-transaction.dto.js +1 -7
- package/dist/dtos/update-import-transaction.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/action-metadata.entity.js +4 -4
- package/dist/entities/action-metadata.entity.js.map +1 -1
- package/dist/entities/ai-interaction.entity.d.ts +2 -0
- package/dist/entities/ai-interaction.entity.d.ts.map +1 -1
- package/dist/entities/ai-interaction.entity.js +15 -6
- package/dist/entities/ai-interaction.entity.js.map +1 -1
- package/dist/entities/chatter-message-details.entity.d.ts.map +1 -1
- package/dist/entities/chatter-message-details.entity.js +1 -1
- package/dist/entities/chatter-message-details.entity.js.map +1 -1
- package/dist/entities/chatter-message.entity.js +1 -1
- package/dist/entities/chatter-message.entity.js.map +1 -1
- package/dist/entities/common.entity.d.ts +2 -3
- package/dist/entities/common.entity.d.ts.map +1 -1
- package/dist/entities/common.entity.js +10 -11
- package/dist/entities/common.entity.js.map +1 -1
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js +2 -2
- package/dist/entities/dashboard-question-sql-dataset-config.entity.js.map +1 -1
- package/dist/entities/dashboard-question.entity.js +3 -3
- package/dist/entities/dashboard-question.entity.js.map +1 -1
- package/dist/entities/dashboard-variable.entity.js +3 -3
- package/dist/entities/dashboard-variable.entity.js.map +1 -1
- package/dist/entities/dashboard.entity.js +1 -1
- package/dist/entities/dashboard.entity.js.map +1 -1
- package/dist/entities/email-template.entity.d.ts.map +1 -1
- package/dist/entities/email-template.entity.js +4 -3
- package/dist/entities/email-template.entity.js.map +1 -1
- package/dist/entities/export-template.entity.js +2 -2
- package/dist/entities/export-template.entity.js.map +1 -1
- package/dist/entities/export-transaction.entity.js +2 -2
- package/dist/entities/export-transaction.entity.js.map +1 -1
- package/dist/entities/field-metadata.entity.d.ts +1 -0
- package/dist/entities/field-metadata.entity.d.ts.map +1 -1
- package/dist/entities/field-metadata.entity.js +8 -4
- package/dist/entities/field-metadata.entity.js.map +1 -1
- package/dist/entities/import-transaction-error-log.entity.js +1 -1
- package/dist/entities/import-transaction-error-log.entity.js.map +1 -1
- package/dist/entities/import-transaction.entity.d.ts +0 -1
- package/dist/entities/import-transaction.entity.d.ts.map +1 -1
- package/dist/entities/import-transaction.entity.js +2 -7
- package/dist/entities/import-transaction.entity.js.map +1 -1
- package/dist/entities/legacy-common-with-id.entity.d.ts +5 -0
- package/dist/entities/legacy-common-with-id.entity.d.ts.map +1 -0
- package/dist/entities/legacy-common-with-id.entity.js +32 -0
- package/dist/entities/legacy-common-with-id.entity.js.map +1 -0
- package/dist/entities/legacy-common.entity.d.ts +13 -0
- package/dist/entities/legacy-common.entity.d.ts.map +1 -0
- package/dist/entities/legacy-common.entity.js +68 -0
- package/dist/entities/legacy-common.entity.js.map +1 -0
- package/dist/entities/list-of-values.entity.js +2 -2
- package/dist/entities/list-of-values.entity.js.map +1 -1
- package/dist/entities/locale.entity.js +1 -1
- package/dist/entities/locale.entity.js.map +1 -1
- package/dist/entities/media.entity.d.ts.map +1 -1
- package/dist/entities/media.entity.js +3 -3
- package/dist/entities/media.entity.js.map +1 -1
- package/dist/entities/menu-item-metadata.entity.js +4 -4
- package/dist/entities/menu-item-metadata.entity.js.map +1 -1
- package/dist/entities/model-metadata.entity.d.ts +2 -0
- package/dist/entities/model-metadata.entity.d.ts.map +1 -1
- package/dist/entities/model-metadata.entity.js +11 -3
- 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/entities/mq-message-queue.entity.js +1 -1
- package/dist/entities/mq-message-queue.entity.js.map +1 -1
- package/dist/entities/mq-message.entity.d.ts +3 -3
- package/dist/entities/mq-message.entity.d.ts.map +1 -1
- package/dist/entities/mq-message.entity.js +10 -10
- package/dist/entities/mq-message.entity.js.map +1 -1
- package/dist/entities/saved-filters.entity.js +4 -4
- package/dist/entities/saved-filters.entity.js.map +1 -1
- package/dist/entities/scheduled-job.entity.js +4 -4
- package/dist/entities/scheduled-job.entity.js.map +1 -1
- package/dist/entities/security-rule.entity.js +2 -2
- package/dist/entities/security-rule.entity.js.map +1 -1
- package/dist/entities/setting.entity.js +2 -2
- package/dist/entities/setting.entity.js.map +1 -1
- package/dist/entities/sms-template.entity.js +2 -2
- package/dist/entities/sms-template.entity.js.map +1 -1
- package/dist/entities/user-activity-history.entity.d.ts.map +1 -1
- package/dist/entities/user-activity-history.entity.js +1 -1
- package/dist/entities/user-activity-history.entity.js.map +1 -1
- package/dist/entities/user-view-metadata.entity.js +2 -2
- package/dist/entities/user-view-metadata.entity.js.map +1 -1
- package/dist/entities/user.entity.js +13 -15
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/view-metadata.entity.js +3 -3
- package/dist/entities/view-metadata.entity.js.map +1 -1
- package/dist/helpers/date.helper.d.ts +1 -1
- package/dist/helpers/date.helper.d.ts.map +1 -1
- package/dist/helpers/date.helper.js +24 -2
- 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 +4 -1
- package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
- package/dist/helpers/model-metadata-helper.service.js +52 -30
- 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 +26 -2
- package/dist/helpers/module.helper.js.map +1 -1
- package/dist/helpers/schematic.service.d.ts +9 -3
- package/dist/helpers/schematic.service.d.ts.map +1 -1
- package/dist/helpers/schematic.service.js +49 -32
- package/dist/helpers/schematic.service.js.map +1 -1
- package/dist/helpers/solid-registry.d.ts +14 -2
- package/dist/helpers/solid-registry.d.ts.map +1 -1
- package/dist/helpers/solid-registry.js +10 -0
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/helpers/typeorm-db-helper.d.ts +3 -0
- package/dist/helpers/typeorm-db-helper.d.ts.map +1 -0
- package/dist/helpers/typeorm-db-helper.js +24 -0
- package/dist/helpers/typeorm-db-helper.js.map +1 -0
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +3 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.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/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +6 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.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 +8 -13
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +103 -43
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +553 -652
- 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 +12 -3
- package/dist/seeders/system-fields-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 +2 -1
- package/dist/services/ai-interaction.service.js.map +1 -1
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +22 -14
- 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.d.ts.map +1 -1
- package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.js +10 -6
- 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 +31 -6
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +285 -50
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +7 -2
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +135 -26
- 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 +10 -0
- package/dist/services/excel.service.d.ts.map +1 -1
- package/dist/services/excel.service.js +100 -0
- package/dist/services/excel.service.js.map +1 -1
- package/dist/services/field-metadata.service.d.ts +146 -6
- package/dist/services/field-metadata.service.d.ts.map +1 -1
- package/dist/services/field-metadata.service.js +218 -58
- 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 +3 -1
- package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
- package/dist/services/menu-item-metadata.service.js +35 -11
- package/dist/services/menu-item-metadata.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +16 -45
- 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/mq-message.service.d.ts.map +1 -1
- package/dist/services/mq-message.service.js +3 -4
- package/dist/services/mq-message.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/publisher-factory.service.d.ts.map +1 -1
- package/dist/services/queues/publisher-factory.service.js +4 -0
- package/dist/services/queues/publisher-factory.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/{providers → services/selection-providers}/list-of-values-selection-providers.service.d.ts +2 -2
- package/dist/services/selection-providers/list-of-values-selection-providers.service.d.ts.map +1 -0
- package/dist/{providers → services/selection-providers}/list-of-values-selection-providers.service.js +3 -3
- package/dist/services/selection-providers/list-of-values-selection-providers.service.js.map +1 -0
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.d.ts +20 -0
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.d.ts.map +1 -0
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +87 -0
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -0
- 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 -5
- package/dist/services/setting.service.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 +10 -3
- package/dist/services/solid-introspect.service.d.ts.map +1 -1
- package/dist/services/solid-introspect.service.js +66 -12
- 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 +3 -1
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +33 -5
- 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.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +23 -1
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.d.ts +3 -2
- package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
- package/dist/subscribers/audit.subscriber.js +8 -10
- package/dist/subscribers/audit.subscriber.js.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.d.ts +7 -4
- package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.js +60 -21
- package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
- package/dist/subscribers/created-by-updated-by.subscriber.d.ts +4 -2
- package/dist/subscribers/created-by-updated-by.subscriber.d.ts.map +1 -1
- package/dist/subscribers/created-by-updated-by.subscriber.js +10 -8
- package/dist/subscribers/created-by-updated-by.subscriber.js.map +1 -1
- package/dist/subscribers/field-metadata.subscriber.d.ts.map +1 -1
- package/dist/subscribers/field-metadata.subscriber.js +0 -1
- package/dist/subscribers/field-metadata.subscriber.js.map +1 -1
- package/dist/subscribers/model-metadata.subscriber.d.ts.map +1 -1
- package/dist/subscribers/model-metadata.subscriber.js +3 -2
- package/dist/subscribers/model-metadata.subscriber.js.map +1 -1
- package/dist/subscribers/soft-delete-aware-event.subscriber.d.ts +3 -2
- package/dist/subscribers/soft-delete-aware-event.subscriber.d.ts.map +1 -1
- package/dist/subscribers/soft-delete-aware-event.subscriber.js +6 -11
- package/dist/subscribers/soft-delete-aware-event.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 +26 -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/sql/default/mssql/proc_CleanupModelMetadata.sql +175 -0
- package/sql/default/mssql/proc_CleanupModuleMetadata.sql +78 -0
- package/sql/default/mssql/scratchpad.sql.txt +10 -0
- package/sql/default/postgres/proc_CleanupModelMetadata.sql +148 -0
- package/sql/default/postgres/proc_CleanupModuleMetadata.sql +50 -0
- package/sql/default/postgres/scratchpad.sql.txt +12 -0
- package/sql-server-changes.txt +88 -0
- package/src/commands/fixtures/fixtures-setup.command.ts +44 -0
- package/src/commands/fixtures/fixtures-tear-down.command.ts +45 -0
- package/src/commands/mcp.command.ts +215 -0
- package/src/commands/refresh-model.command.ts +39 -5
- package/src/commands/remove-fields.command.ts +1 -1
- package/src/commands/seed.command.ts +34 -15
- package/src/constants/error-messages.ts +7 -1
- package/src/controllers/authentication.controller.ts +1 -1
- package/src/controllers/email-template.controller.ts +1 -1
- package/src/controllers/field-metadata.controller.ts +7 -1
- package/src/controllers/media-storage-provider-metadata.controller.ts +1 -1
- package/src/controllers/model-metadata.controller.ts +1 -1
- package/src/controllers/model-sequence.controller.ts +93 -0
- package/src/controllers/module-metadata.controller.ts +1 -1
- package/src/controllers/otp-authentication.controller.ts +1 -1
- package/src/controllers/service.controller.ts +1 -1
- package/src/controllers/setting.controller.ts +33 -21
- package/src/controllers/sms-template.controller.ts +1 -1
- package/src/controllers/test-queue.controller.ts +1 -1
- package/src/controllers/test.controller.ts +1 -1
- package/src/dtos/basic-filters.dto.ts +6 -1
- package/src/dtos/basic-group-filters.dto.ts +23 -0
- package/src/dtos/create-ai-interaction.dto.ts +16 -9
- package/src/dtos/create-field-metadata.dto.ts +43 -13
- package/src/dtos/create-import-transaction.dto.ts +0 -4
- package/src/dtos/create-model-metadata.dto.ts +10 -0
- package/src/dtos/create-model-sequence.dto.ts +51 -0
- package/src/dtos/create-role-metadata.dto.ts +23 -4
- package/src/dtos/get-mcp-url.dto.ts +13 -0
- package/src/dtos/resolve-s3-url.dto.ts +31 -0
- package/src/dtos/update-ai-interaction.dto.ts +16 -9
- package/src/dtos/update-field-metadata.dto.ts +1 -2
- package/src/dtos/update-import-transaction.dto.ts +0 -4
- package/src/dtos/update-model-sequence.dto.ts +53 -0
- package/src/entities/action-metadata.entity.ts +4 -4
- package/src/entities/ai-interaction.entity.ts +16 -12
- package/src/entities/chatter-message-details.entity.ts +18 -18
- package/src/entities/chatter-message.entity.ts +2 -2
- package/src/entities/common.entity.ts +20 -11
- package/src/entities/dashboard-question-sql-dataset-config.entity.ts +2 -2
- package/src/entities/dashboard-question.entity.ts +3 -3
- package/src/entities/dashboard-variable.entity.ts +3 -3
- package/src/entities/dashboard.entity.ts +1 -1
- package/src/entities/email-template.entity.ts +4 -3
- package/src/entities/export-template.entity.ts +2 -2
- package/src/entities/export-transaction.entity.ts +2 -2
- package/src/entities/field-metadata.entity.ts +6 -3
- package/src/entities/import-transaction-error-log.entity.ts +2 -2
- package/src/entities/import-transaction.entity.ts +2 -5
- package/src/entities/legacy-common-with-id.entity.ts +11 -0
- package/src/entities/legacy-common.entity.ts +58 -0
- package/src/entities/list-of-values.entity.ts +2 -2
- package/src/entities/locale.entity.ts +1 -1
- package/src/entities/media.entity.ts +25 -25
- package/src/entities/menu-item-metadata.entity.ts +4 -4
- package/src/entities/model-metadata.entity.ts +9 -2
- package/src/entities/model-sequence.entity.ts +32 -0
- package/src/entities/mq-message-queue.entity.ts +1 -1
- package/src/entities/mq-message.entity.ts +34 -34
- package/src/entities/saved-filters.entity.ts +5 -5
- package/src/entities/scheduled-job.entity.ts +4 -4
- package/src/entities/security-rule.entity.ts +2 -2
- package/src/entities/setting.entity.ts +2 -2
- package/src/entities/sms-template.entity.ts +2 -2
- package/src/entities/user-activity-history.entity.ts +14 -14
- package/src/entities/user-view-metadata.entity.ts +2 -2
- package/src/entities/user.entity.ts +15 -15
- package/src/entities/view-metadata.entity.ts +3 -3
- package/src/helpers/date.helper.ts +31 -10
- 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 +67 -34
- package/src/helpers/module-metadata-helper.service.ts +18 -1
- package/src/helpers/module.helper.ts +37 -1
- package/src/helpers/schematic.service.ts +72 -46
- package/src/helpers/solid-registry.ts +28 -2
- package/src/helpers/typeorm-db-helper.ts +26 -0
- package/src/index.ts +7 -2
- package/src/interfaces.ts +3 -0
- package/src/jobs/computed-field-evaluation-subscriber.service.ts +15 -4
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +17 -21
- 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 +176 -58
- package/src/seeders/seed-data/solid-core-metadata.json +555 -654
- package/src/seeders/system-fields-seeder.service.ts +39 -36
- package/src/services/action-metadata.service.ts +3 -2
- package/src/services/ai-interaction.service.ts +3 -2
- package/src/services/authentication.service.ts +46 -14
- 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 +17 -12
- package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +86 -0
- package/src/services/crud-helper.service.ts +319 -53
- package/src/services/crud.service.ts +233 -34
- 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 +146 -3
- package/src/services/field-metadata.service.ts +322 -70
- 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 +87 -52
- package/src/services/model-metadata.service.ts +68 -47
- package/src/services/model-sequence.service.ts +33 -0
- package/src/services/module-metadata.service.ts +49 -2
- package/src/services/mq-message.service.ts +16 -15
- package/src/services/permission-metadata.service.ts +8 -9
- package/src/services/queues/database-subscriber.service.ts +3 -1
- package/src/services/queues/publisher-factory.service.ts +2 -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/{providers → services/selection-providers}/list-of-values-selection-providers.service.ts +2 -2
- package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +94 -0
- package/src/services/setting.service.ts +46 -16
- package/src/services/sms-template.service.ts +11 -13
- package/src/services/solid-introspect.service.ts +97 -10
- 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 +52 -21
- package/src/solid-core-cli-db.module.ts +5 -4
- package/src/solid-core.module.ts +23 -1
- package/src/subscribers/audit.subscriber.ts +14 -9
- package/src/subscribers/computed-entity-field.subscriber.ts +71 -22
- package/src/subscribers/created-by-updated-by.subscriber.ts +14 -8
- package/src/subscribers/field-metadata.subscriber.ts +1 -1
- package/src/subscribers/model-metadata.subscriber.ts +4 -2
- package/src/subscribers/soft-delete-aware-event.subscriber.ts +12 -6
- package/src/transformers/typeorm/local-date-time-transformer.ts +30 -0
- package/dist/providers/list-of-values-selection-providers.service.d.ts.map +0 -1
- package/dist/providers/list-of-values-selection-providers.service.js.map +0 -1
- package/src/commands/ingest-rag-chunking-strategy-for.md +0 -224
- package/src/entities/user.entity.ts.bkp +0 -144
- package/src/services/docker exec -it mssql //" +0 -8
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Injectable } from '@nestjs/common';
|
|
2
|
+
import { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';
|
|
3
|
+
import { DiscoveryService, ModuleRef } from "@nestjs/core";
|
|
4
|
+
import { EntityManager, Repository } from 'typeorm';
|
|
5
|
+
|
|
6
|
+
import { CRUDService } from 'src/services/crud.service';
|
|
7
|
+
import { ModelMetadataService } from 'src/services/model-metadata.service';
|
|
8
|
+
import { ModuleMetadataService } from 'src/services/module-metadata.service';
|
|
9
|
+
import { ConfigService } from '@nestjs/config';
|
|
10
|
+
import { FileService } from 'src/services/file.service';
|
|
11
|
+
import { CrudHelperService } from 'src/services/crud-helper.service';
|
|
12
|
+
|
|
13
|
+
import { ModelSequence } from '../entities/model-sequence.entity';
|
|
14
|
+
import { ModelSequenceRepository } from '../repository/model-sequence.repository';
|
|
15
|
+
|
|
16
|
+
@Injectable()
|
|
17
|
+
export class ModelSequenceService extends CRUDService<ModelSequence>{
|
|
18
|
+
constructor(
|
|
19
|
+
readonly modelMetadataService: ModelMetadataService,
|
|
20
|
+
readonly moduleMetadataService: ModuleMetadataService,
|
|
21
|
+
readonly configService: ConfigService,
|
|
22
|
+
readonly fileService: FileService,
|
|
23
|
+
readonly discoveryService: DiscoveryService,
|
|
24
|
+
readonly crudHelperService: CrudHelperService,
|
|
25
|
+
@InjectEntityManager()
|
|
26
|
+
readonly entityManager: EntityManager,
|
|
27
|
+
readonly repo: ModelSequenceRepository,
|
|
28
|
+
readonly moduleRef: ModuleRef
|
|
29
|
+
|
|
30
|
+
) {
|
|
31
|
+
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService,entityManager, repo, 'modelSequence', 'solid-core', moduleRef);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -4,7 +4,7 @@ import { DataSource, EntityManager, Repository, SelectQueryBuilder } from 'typeo
|
|
|
4
4
|
import { CreateModuleMetadataDto } from '../dtos/create-module-metadata.dto';
|
|
5
5
|
import { ModuleMetadata } from '../entities/module-metadata.entity';
|
|
6
6
|
|
|
7
|
-
import { classify } from '@angular-devkit/core/src/utils/strings';
|
|
7
|
+
import { classify, dasherize } from '@angular-devkit/core/src/utils/strings';
|
|
8
8
|
import { ConfigService } from '@nestjs/config';
|
|
9
9
|
import * as fs from 'fs/promises'; // Use the Promise-based version of fs for async/await
|
|
10
10
|
import * as path from 'path'; // To handle file paths
|
|
@@ -320,7 +320,54 @@ export class ModuleMetadataService {
|
|
|
320
320
|
|
|
321
321
|
async remove(id: number) {
|
|
322
322
|
const entity = await this.findOne(id);
|
|
323
|
-
|
|
323
|
+
await this.cleanupOnDelete(entity.id);
|
|
324
|
+
const r = await this.moduleMetadataRepo.remove(entity);
|
|
325
|
+
return r
|
|
326
|
+
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
async cleanupOnDelete(moduleEntityId: number) {
|
|
331
|
+
const moduleEntity = await this.moduleMetadataRepo.findOne({
|
|
332
|
+
where: {
|
|
333
|
+
// @ts-ignore
|
|
334
|
+
id: moduleEntityId,
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
|
|
338
|
+
if (!moduleEntity) {
|
|
339
|
+
this.logger.log(`Invalid moduleEntityId: ${moduleEntityId} unable to resolve model metadata`);
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
if (moduleEntity.id !== moduleEntityId) {
|
|
343
|
+
this.logger.log(`Invalid moduleEntityId: ${moduleEntityId} unable to resolve model metadata id ${moduleEntity.id} not matching with the one passed as argument ${moduleEntityId}`);
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
this.logger.log(`Cleaning up for module: ${moduleEntity.name}.`);
|
|
348
|
+
|
|
349
|
+
const modulePath = await this.moduleMetadataHelperService.getModulePath(moduleEntity.name);
|
|
350
|
+
if (modulePath) {
|
|
351
|
+
|
|
352
|
+
this.logger.log(`Module path: ${modulePath}`);
|
|
353
|
+
|
|
354
|
+
// Metadata file to be deleted
|
|
355
|
+
const moduleMetadataPAth = await this.moduleMetadataHelperService.getModuleMetadataFolderPath(moduleEntity.name)
|
|
356
|
+
this.logger.log(`About to delete module metadata path: ${moduleMetadataPAth}`);
|
|
357
|
+
|
|
358
|
+
try {
|
|
359
|
+
await fs.rm(modulePath, { recursive: true, force: true });
|
|
360
|
+
await fs.rm(moduleMetadataPAth, { recursive: true, force: true });
|
|
361
|
+
this.logger.log(`Deleted file: ${moduleMetadataPAth}`);
|
|
362
|
+
} catch (error) {
|
|
363
|
+
this.logger.error(`Error deleting file: ${moduleMetadataPAth}`, error);
|
|
364
|
+
throw new Error(ERROR_MESSAGES.FILE_DELETE_FAILED); // Trigger rollback
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
await this.dataSource.query(
|
|
368
|
+
`CALL cleanup_module_metadata($1, $2)`,
|
|
369
|
+
[moduleEntity.name, true],
|
|
370
|
+
);
|
|
324
371
|
}
|
|
325
372
|
|
|
326
373
|
async deleteMany(ids: number[]): Promise<any> {
|
|
@@ -70,17 +70,17 @@ export class MqMessageService extends CRUDService<MqMessage> {
|
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Wait until a queue message reaches a terminal status (succeeded/failed).
|
|
75
|
+
*
|
|
76
|
+
* @param messageId string – the external message id you store in `ss_mq_message.messageId`
|
|
77
|
+
* @param opts.timeoutMs total time to wait before giving up (default 60s)
|
|
78
|
+
* @param opts.intervalMs initial poll interval (default 500ms)
|
|
79
|
+
* @param opts.maxIntervalMs cap for exponential backoff (default 2000ms)
|
|
80
|
+
* @param opts.throwOnFailure if true, throws when stage === 'failed' (default false)
|
|
81
|
+
* @param opts.parseJson try JSON.parse on `output` and `error` (default true)
|
|
82
|
+
* @returns resolves with the final MqMessage row when terminal, rejects on timeout (or failure if throwOnFailure)
|
|
83
|
+
*/
|
|
84
84
|
async waitForTerminalStatus(
|
|
85
85
|
messageId: string,
|
|
86
86
|
opts?: {
|
|
@@ -139,14 +139,15 @@ export class MqMessageService extends CRUDService<MqMessage> {
|
|
|
139
139
|
} else if (rec.stage === 'succeeded' || rec.stage === 'failed') {
|
|
140
140
|
// Optionally parse output/error if they contain JSON strings
|
|
141
141
|
if (parseJson) {
|
|
142
|
-
rec.output = this.safeJsonParse(rec.output);
|
|
143
|
-
rec.
|
|
142
|
+
// rec.output = this.safeJsonParse(rec.output);
|
|
143
|
+
rec.output = rec.output;
|
|
144
|
+
// rec.error = this.safeJsonParse(rec.error);
|
|
145
|
+
rec.error = rec.error;
|
|
144
146
|
}
|
|
145
147
|
|
|
146
148
|
if (rec.stage === 'failed' && throwOnFailure) {
|
|
147
149
|
throw new Error(
|
|
148
|
-
`Queue message ${messageId} failed` +
|
|
149
|
-
(rec.error ? `: ${JSON.stringify(rec.error).slice(0, 500)}` : '')
|
|
150
|
+
`Queue message ${messageId} failed` + (rec.error ? `: ${JSON.stringify(rec.error).slice(0, 500)}` : '')
|
|
150
151
|
);
|
|
151
152
|
}
|
|
152
153
|
return rec;
|
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import {
|
|
1
|
+
import { forwardRef, Inject, Injectable } from '@nestjs/common';
|
|
2
|
+
import { ConfigService } from '@nestjs/config';
|
|
3
3
|
import { DiscoveryService, ModuleRef } from "@nestjs/core";
|
|
4
|
-
import {
|
|
4
|
+
import { InjectEntityManager } from '@nestjs/typeorm';
|
|
5
|
+
import { CrudHelperService } from "src/services/crud-helper.service";
|
|
5
6
|
import { CRUDService } from 'src/services/crud.service';
|
|
7
|
+
import { FileService } from "src/services/file.service";
|
|
6
8
|
import { ModelMetadataService } from 'src/services/model-metadata.service';
|
|
7
9
|
import { ModuleMetadataService } from 'src/services/module-metadata.service';
|
|
8
|
-
import {
|
|
9
|
-
import { FileService } from "src/services/file.service";
|
|
10
|
-
import { CrudHelperService } from "src/services/crud-helper.service";
|
|
10
|
+
import { EntityManager, In } from 'typeorm';
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
import { PermissionMetadata } from '../entities/permission-metadata.entity';
|
|
14
|
-
import { ActiveUserData } from '../interfaces/active-user-data.interface';
|
|
15
|
-
import { classify } from '@angular-devkit/core/src/utils/strings';
|
|
16
13
|
import { PermissionMetadataRepository } from 'src/repository/permission-metadata.repository';
|
|
14
|
+
import { PermissionMetadata } from '../entities/permission-metadata.entity';
|
|
17
15
|
|
|
18
16
|
@Injectable()
|
|
19
17
|
export class PermissionMetadataService extends CRUDService<PermissionMetadata> {
|
|
20
18
|
constructor(
|
|
19
|
+
@Inject(forwardRef(() => ModelMetadataService))
|
|
21
20
|
readonly modelMetadataService: ModelMetadataService,
|
|
22
21
|
readonly moduleMetadataService: ModuleMetadataService,
|
|
23
22
|
readonly configService: ConfigService,
|
|
@@ -99,8 +99,10 @@ export abstract class DatabaseSubscriber<T> implements OnModuleInit, QueueSubscr
|
|
|
99
99
|
|
|
100
100
|
async onModuleInit(): Promise<void> {
|
|
101
101
|
const defaultBroker = process.env.QUEUES_DEFAULT_BROKER || 'database';
|
|
102
|
+
const solidCliRunning = process.env.SOLID_CLI_RUNNING || "false";
|
|
103
|
+
|
|
102
104
|
// we will start subscriber only if the current service role is subscriber.
|
|
103
|
-
if (['both', 'subscriber'].includes(this.serviceRole) && defaultBroker === 'database') {
|
|
105
|
+
if (['both', 'subscriber'].includes(this.serviceRole) && defaultBroker === 'database' && solidCliRunning === "false") {
|
|
104
106
|
|
|
105
107
|
const options = this.options();
|
|
106
108
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Logger } from '@nestjs/common';
|
|
1
|
+
import { forwardRef, Inject, Logger } from '@nestjs/common';
|
|
2
2
|
import { Injectable } from '@nestjs/common';
|
|
3
3
|
|
|
4
4
|
import { QueueMessage, QueuePublisher } from 'src/interfaces/mq';
|
|
@@ -11,6 +11,7 @@ export class PublisherFactory<T> {
|
|
|
11
11
|
private readonly logger = new Logger(PublisherFactory.name);
|
|
12
12
|
|
|
13
13
|
constructor(
|
|
14
|
+
@Inject(forwardRef(() => SolidIntrospectService))
|
|
14
15
|
private readonly solidIntrospectionService: SolidIntrospectService
|
|
15
16
|
) {
|
|
16
17
|
}
|
|
@@ -52,8 +52,10 @@ export abstract class RabbitMqSubscriber<T> implements OnModuleInit, QueueSubscr
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
async onModuleInit(): Promise<void> {
|
|
55
|
+
const solidCliRunning = process.env.SOLID_CLI_RUNNING || "false";
|
|
56
|
+
|
|
55
57
|
// we will start subscriber only if the current service role is subscriber.
|
|
56
|
-
if (this.url && ['both', 'subscriber'].includes(this.serviceRole)) {
|
|
58
|
+
if (this.url && ['both', 'subscriber'].includes(this.serviceRole) && solidCliRunning === "false") {
|
|
57
59
|
|
|
58
60
|
// this.logger.debug(`RabbitMqSubscriber instance created with options: ${JSON.stringify(this.options())} and url: ${this.url}`);
|
|
59
61
|
// const connection = await amqp.connect(this.url);
|
|
@@ -92,7 +94,7 @@ export abstract class RabbitMqSubscriber<T> implements OnModuleInit, QueueSubscr
|
|
|
92
94
|
async (rawMessage) => {
|
|
93
95
|
if (rawMessage) {
|
|
94
96
|
const messageContentString = rawMessage.content.toString();
|
|
95
|
-
this.logger.debug(`RabbitMqSubscriber Received raw message: ${messageContentString}`);
|
|
97
|
+
// this.logger.debug(`RabbitMqSubscriber Received raw message: ${messageContentString}`);
|
|
96
98
|
|
|
97
99
|
let message: QueueMessage<T> = null;
|
|
98
100
|
|
|
@@ -23,6 +23,7 @@ export class RoleMetadataService extends CRUDService<RoleMetadata> {
|
|
|
23
23
|
constructor(
|
|
24
24
|
@Inject(forwardRef(() => ModelMetadataService))
|
|
25
25
|
readonly modelMetadataService: ModelMetadataService,
|
|
26
|
+
@Inject(forwardRef(() => ModuleMetadataService))
|
|
26
27
|
readonly moduleMetadataService: ModuleMetadataService,
|
|
27
28
|
readonly configService: ConfigService,
|
|
28
29
|
readonly fileService: FileService,
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import {
|
|
1
|
+
import { forwardRef, Inject, Injectable, Logger } from '@nestjs/common';
|
|
2
|
+
import { ConfigService } from '@nestjs/config';
|
|
3
3
|
import { DiscoveryService, ModuleRef } from "@nestjs/core";
|
|
4
|
-
import {
|
|
4
|
+
import { InjectEntityManager } from '@nestjs/typeorm';
|
|
5
5
|
import { ScheduledJob } from 'src/entities/scheduled-job.entity';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { ConfigService } from '@nestjs/config';
|
|
9
|
-
import { FileService } from './file.service';
|
|
6
|
+
import { ScheduledJobRepository } from 'src/repository/scheduled-job.repository';
|
|
7
|
+
import { EntityManager } from 'typeorm';
|
|
10
8
|
import { CrudHelperService } from './crud-helper.service';
|
|
11
9
|
import { CRUDService } from './crud.service';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
10
|
+
import { FileService } from './file.service';
|
|
11
|
+
import { ModelMetadataService } from './model-metadata.service';
|
|
12
|
+
import { ModuleMetadataService } from './module-metadata.service';
|
|
14
13
|
|
|
15
14
|
@Injectable()
|
|
16
15
|
export class ScheduledJobService extends CRUDService<ScheduledJob> {
|
|
17
16
|
private readonly logger = new Logger(ScheduledJobService.name);
|
|
18
17
|
|
|
19
18
|
constructor(
|
|
19
|
+
@Inject(forwardRef(() => ModelMetadataService))
|
|
20
20
|
readonly modelMetadataService: ModelMetadataService,
|
|
21
21
|
readonly moduleMetadataService: ModuleMetadataService,
|
|
22
22
|
readonly configService: ConfigService,
|
|
@@ -20,6 +20,11 @@ export class SchedulerServiceImpl implements ISchedulerService {
|
|
|
20
20
|
|
|
21
21
|
@Cron(CronExpression.EVERY_MINUTE)
|
|
22
22
|
async runScheduledJobs(): Promise<void> {
|
|
23
|
+
const solidCliRunning = process.env.SOLID_CLI_RUNNING || "false";
|
|
24
|
+
if (solidCliRunning === "true") {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
23
28
|
const now = new Date();
|
|
24
29
|
|
|
25
30
|
// this.logger.log(`[${now.getTime()}]: scheduler service started run...`);
|
|
@@ -18,6 +18,7 @@ import { SecurityRuleRepository } from 'src';
|
|
|
18
18
|
@Injectable()
|
|
19
19
|
export class SecurityRuleService extends CRUDService<SecurityRule> implements OnApplicationBootstrap {
|
|
20
20
|
constructor(
|
|
21
|
+
@Inject(forwardRef(() => ModelMetadataService))
|
|
21
22
|
readonly modelMetadataService: ModelMetadataService,
|
|
22
23
|
readonly moduleMetadataService: ModuleMetadataService,
|
|
23
24
|
readonly configService: ConfigService,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from "@nestjs/common";
|
|
1
|
+
import { forwardRef, Inject, Injectable } from "@nestjs/common";
|
|
2
2
|
import { ModelMetadataService } from "src/services/model-metadata.service";
|
|
3
3
|
import { SelectionProvider } from "src/decorators/selection-provider.decorator";
|
|
4
4
|
import { ISelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from "../../interfaces";
|
|
@@ -8,7 +8,10 @@ import { ISelectionProvider, ISelectionProviderContext, ISelectionProviderValues
|
|
|
8
8
|
@Injectable()
|
|
9
9
|
export class ListOfModelsSelectionProvider implements ISelectionProvider<ISelectionProviderContext> {
|
|
10
10
|
private readonly modelMetadataService: ModelMetadataService;
|
|
11
|
-
constructor(
|
|
11
|
+
constructor(
|
|
12
|
+
@Inject(forwardRef(() => ModelMetadataService))
|
|
13
|
+
modelMetadataService: ModelMetadataService
|
|
14
|
+
) {
|
|
12
15
|
this.modelMetadataService = modelMetadataService;
|
|
13
16
|
}
|
|
14
17
|
help(): string {
|
package/src/{providers → services/selection-providers}/list-of-values-selection-providers.service.ts
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
import { ListOfValuesService } from "../
|
|
2
|
+
import { ListOfValuesService } from "../list-of-values.service";
|
|
3
3
|
import { PaginationQueryDto } from "src/dtos/pagination-query.dto";
|
|
4
4
|
import { SelectionProvider } from "src/decorators/selection-provider.decorator";
|
|
5
5
|
import { Injectable } from "@nestjs/common";
|
|
6
|
-
import { ISelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from "
|
|
6
|
+
import { ISelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from "../../interfaces";
|
|
7
7
|
import { filter } from "rxjs";
|
|
8
8
|
import { BasicFilterDto } from "src/dtos/basic-filters.dto";
|
|
9
9
|
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { ListOfValuesService } from "../list-of-values.service";
|
|
2
|
+
import { SelectionProvider } from "src/decorators/selection-provider.decorator";
|
|
3
|
+
import { BadRequestException, Injectable } from "@nestjs/common";
|
|
4
|
+
import { ISelectionProvider, ISelectionProviderContext, ISelectionProviderValues } from "../../interfaces";
|
|
5
|
+
import { BasicFilterDto } from "src/dtos/basic-filters.dto";
|
|
6
|
+
import { SolidIntrospectService } from "../solid-introspect.service";
|
|
7
|
+
import { classify } from "@angular-devkit/core/src/utils/strings";
|
|
8
|
+
import { CRUDService } from "../crud.service";
|
|
9
|
+
|
|
10
|
+
interface PseudoForeignKeySelectionProviderContext extends ISelectionProviderContext {
|
|
11
|
+
modelName: string;
|
|
12
|
+
// ['countryName', 'countryCode'] - IN|INR
|
|
13
|
+
whereClauseFields: string[];
|
|
14
|
+
labelFieldName: string;
|
|
15
|
+
valueFieldName: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const DEFAULT_LIMIT = 100;
|
|
19
|
+
|
|
20
|
+
@SelectionProvider()
|
|
21
|
+
@Injectable()
|
|
22
|
+
export class PseudoForeignKeySelectionProvider implements ISelectionProvider<PseudoForeignKeySelectionProviderContext> {
|
|
23
|
+
constructor(
|
|
24
|
+
private readonly listOfValuesService: ListOfValuesService,
|
|
25
|
+
readonly introspectService: SolidIntrospectService,
|
|
26
|
+
) { }
|
|
27
|
+
|
|
28
|
+
name(): string {
|
|
29
|
+
return 'PseudoForeignKeySelectionProvider';
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
help(): string {
|
|
33
|
+
return "# Use this provider to implement pseudo foreign key style relationships.";
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async value(optionValue: string, ctxt: PseudoForeignKeySelectionProviderContext): Promise<ISelectionProviderValues | any> {
|
|
37
|
+
const basicFilterQuery = new BasicFilterDto(DEFAULT_LIMIT, 0);
|
|
38
|
+
basicFilterQuery.filters = {
|
|
39
|
+
[ctxt.valueFieldName]: {
|
|
40
|
+
$eq: optionValue
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const modelServiceInstanceWrapper = this.introspectService.getProvider(`${classify(ctxt.modelName)}Service`);
|
|
45
|
+
if (!modelServiceInstanceWrapper) {
|
|
46
|
+
throw new BadRequestException(`Invalid model name (${ctxt.modelName}) specified in PseudoForeignKeySelectionProvider context.`);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const modelService: CRUDService<any> = modelServiceInstanceWrapper.instance;
|
|
50
|
+
const recs = await modelService.find(basicFilterQuery);
|
|
51
|
+
if (!recs.records || recs.records.length == 0) {
|
|
52
|
+
throw new Error(`Invalid optionValue=${optionValue}, for PseudoForeignKeySelectionProvider with context: ${JSON.stringify(ctxt)}`)
|
|
53
|
+
// return null;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return {
|
|
57
|
+
label: recs.records[0][ctxt.labelFieldName],
|
|
58
|
+
value: recs.records[0][ctxt.valueFieldName]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
async values(query: string, ctxt: PseudoForeignKeySelectionProviderContext): Promise<readonly ISelectionProviderValues[]> {
|
|
63
|
+
const basicFilterQuery = new BasicFilterDto(ctxt.limit, ctxt.offset);
|
|
64
|
+
|
|
65
|
+
// Next we get hold of the userkey field in the parent model.
|
|
66
|
+
if (query) {
|
|
67
|
+
basicFilterQuery.filters = {
|
|
68
|
+
$or: ctxt.whereClauseFields.map((whereClauseField) => {
|
|
69
|
+
return {
|
|
70
|
+
[whereClauseField]: {
|
|
71
|
+
$containsi: `%${query}%`
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
})
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const modelServiceInstanceWrapper = this.introspectService.getProvider(`${classify(ctxt.modelName)}Service`);
|
|
79
|
+
if (!modelServiceInstanceWrapper) {
|
|
80
|
+
throw new BadRequestException(`Invalid model name (${ctxt.modelName}) specified in PseudoForeignKeySelectionProvider context.`);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const modelService: CRUDService<any> = modelServiceInstanceWrapper.instance;
|
|
84
|
+
|
|
85
|
+
const recs = await modelService.find(basicFilterQuery);
|
|
86
|
+
const selectionValues = recs.records.map(rec => {
|
|
87
|
+
return {
|
|
88
|
+
label: rec[ctxt.labelFieldName],
|
|
89
|
+
value: rec[ctxt.valueFieldName]
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
return selectionValues;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -1,25 +1,28 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@nestjs/common';
|
|
1
|
+
import { BadRequestException, ForbiddenException, forwardRef, Inject, Injectable } from '@nestjs/common';
|
|
2
2
|
import { DiscoveryService, ModuleRef } from "@nestjs/core";
|
|
3
3
|
import { InjectEntityManager, InjectRepository } from '@nestjs/typeorm';
|
|
4
4
|
import { EntityManager, Repository } from 'typeorm';
|
|
5
5
|
|
|
6
6
|
import { ConfigService, ConfigType } from '@nestjs/config';
|
|
7
|
+
import commonConfig from 'src/config/common.config';
|
|
8
|
+
import { iamConfig } from 'src/config/iam.config';
|
|
9
|
+
import { ERROR_MESSAGES } from 'src/constants/error-messages';
|
|
10
|
+
import { CreateSettingDto } from 'src/dtos/create-setting.dto';
|
|
11
|
+
import { GetMcpUrlDto } from 'src/dtos/get-mcp-url.dto';
|
|
12
|
+
import { User } from 'src/entities/user.entity';
|
|
13
|
+
import { SettingRepository } from 'src/repository/setting.repository';
|
|
7
14
|
import { CrudHelperService } from 'src/services/crud-helper.service';
|
|
8
15
|
import { CRUDService } from 'src/services/crud.service';
|
|
9
16
|
import { FileService } from 'src/services/file.service';
|
|
10
17
|
import { ModelMetadataService } from 'src/services/model-metadata.service';
|
|
11
18
|
import { ModuleMetadataService } from 'src/services/module-metadata.service';
|
|
12
|
-
import commonConfig from 'src/config/common.config';
|
|
13
|
-
import { iamConfig } from 'src/config/iam.config';
|
|
14
19
|
import { Setting } from '../entities/setting.entity';
|
|
15
20
|
import { RequestContextService } from './request-context.service';
|
|
16
|
-
import { User } from 'src/entities/user.entity';
|
|
17
|
-
import { CreateSettingDto } from 'src/dtos/create-setting.dto';
|
|
18
|
-
import { SettingRepository } from 'src/repository/setting.repository';
|
|
19
21
|
|
|
20
22
|
@Injectable()
|
|
21
23
|
export class SettingService extends CRUDService<Setting> {
|
|
22
24
|
constructor(
|
|
25
|
+
@Inject(forwardRef(() => ModelMetadataService))
|
|
23
26
|
readonly modelMetadataService: ModelMetadataService,
|
|
24
27
|
readonly moduleMetadataService: ModuleMetadataService,
|
|
25
28
|
readonly configService: ConfigService,
|
|
@@ -44,6 +47,7 @@ export class SettingService extends CRUDService<Setting> {
|
|
|
44
47
|
|
|
45
48
|
async seedDefaultSettings(): Promise<void> {
|
|
46
49
|
const settingsSeederData = {
|
|
50
|
+
passwordlessRegistrationValidateWhat: this.iamConfiguration.passwordlessRegistrationValidateWhat,
|
|
47
51
|
allowPublicRegistration: this.iamConfiguration.allowPublicRegistration,
|
|
48
52
|
passwordBasedAuth: this.iamConfiguration.passwordBasedAuth,
|
|
49
53
|
passwordLessAuth: this.iamConfiguration.passwordLessAuth,
|
|
@@ -79,10 +83,10 @@ export class SettingService extends CRUDService<Setting> {
|
|
|
79
83
|
authenticationPasswordRegexErrorMessage: this.iamConfiguration.PASSWORD_REGEX_ERROR_MESSAGE,
|
|
80
84
|
authenticationPasswordComplexityDescription: this.iamConfiguration.PASSWORD_COMPLEXITY_DESC,
|
|
81
85
|
solidXGenAiCodeBuilderConfig: JSON.stringify({
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
showNameFieldsForRegistration:this.iamConfiguration.showNameFieldsForRegistration,
|
|
86
|
+
defaultProvider: "",
|
|
87
|
+
availableProviders: []
|
|
88
|
+
}),
|
|
89
|
+
showNameFieldsForRegistration: this.iamConfiguration.showNameFieldsForRegistration,
|
|
86
90
|
forceChangePasswordOnFirstLogin: this.iamConfiguration.forceChangePasswordOnFirstLogin
|
|
87
91
|
};
|
|
88
92
|
|
|
@@ -163,6 +167,7 @@ export class SettingService extends CRUDService<Setting> {
|
|
|
163
167
|
|
|
164
168
|
private getDefaultSettings(): Record<string, any> {
|
|
165
169
|
return {
|
|
170
|
+
passwordlessRegistrationValidateWhat: this.iamConfiguration.passwordlessRegistrationValidateWhat,
|
|
166
171
|
allowPublicRegistration: this.iamConfiguration.allowPublicRegistration,
|
|
167
172
|
passwordBasedAuth: this.iamConfiguration.passwordBasedAuth,
|
|
168
173
|
passwordLessAuth: this.iamConfiguration.passwordLessAuth,
|
|
@@ -199,11 +204,11 @@ export class SettingService extends CRUDService<Setting> {
|
|
|
199
204
|
authenticationPasswordRegexErrorMessage: this.iamConfiguration.PASSWORD_REGEX_ERROR_MESSAGE,
|
|
200
205
|
authenticationPasswordComplexityDescription: this.iamConfiguration.PASSWORD_COMPLEXITY_DESC,
|
|
201
206
|
solidXGenAiCodeBuilderConfig: JSON.stringify({
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
iamAutoGeneratedPassword:this.iamConfiguration.iamAutoGeneratedPassword,
|
|
206
|
-
showNameFieldsForRegistration:this.iamConfiguration.showNameFieldsForRegistration
|
|
207
|
+
defaultProvider: "",
|
|
208
|
+
availableProviders: []
|
|
209
|
+
}),
|
|
210
|
+
iamAutoGeneratedPassword: this.iamConfiguration.iamAutoGeneratedPassword,
|
|
211
|
+
showNameFieldsForRegistration: this.iamConfiguration.showNameFieldsForRegistration
|
|
207
212
|
};
|
|
208
213
|
}
|
|
209
214
|
|
|
@@ -297,7 +302,10 @@ export class SettingService extends CRUDService<Setting> {
|
|
|
297
302
|
}
|
|
298
303
|
|
|
299
304
|
const key = settingDto.key;
|
|
300
|
-
const value = settingDto.value ?? '';
|
|
305
|
+
// const value = settingDto.value ?? '';
|
|
306
|
+
const rawValue = settingDto.value;
|
|
307
|
+
const value = rawValue === null || rawValue === undefined ? null : String(rawValue);
|
|
308
|
+
|
|
301
309
|
const settingType = settingDto.type ?? 'system';
|
|
302
310
|
|
|
303
311
|
const existingSetting = existingSettings.find(s => s.key === key);
|
|
@@ -369,4 +377,26 @@ export class SettingService extends CRUDService<Setting> {
|
|
|
369
377
|
return { system, user };
|
|
370
378
|
}
|
|
371
379
|
|
|
380
|
+
async getMcpUrl(getMcpUrlDto: GetMcpUrlDto, solidRequestContext: any = {}): Promise<any> {
|
|
381
|
+
|
|
382
|
+
const { showHeader, inListView } = getMcpUrlDto;
|
|
383
|
+
|
|
384
|
+
if(process.env.MCP_ENABLED === 'false') {
|
|
385
|
+
throw new ForbiddenException(ERROR_MESSAGES.FORBIDDEN);
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
if (solidRequestContext.activeUser) {
|
|
389
|
+
const permissionNames = ["SettingController.getMcpUrl"];
|
|
390
|
+
const matchingPermssions = solidRequestContext.activeUser.permissions.filter((p: any) => permissionNames.includes(p));
|
|
391
|
+
const hasPermission = matchingPermssions.length > 0;
|
|
392
|
+
if (!hasPermission) {
|
|
393
|
+
throw new BadRequestException(ERROR_MESSAGES.FORBIDDEN);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
const apiKey = process.env.MCP_API_KEY;
|
|
397
|
+
const userId = solidRequestContext.activeUser.sub;
|
|
398
|
+
const mcpServerUrl = process.env.MCP_SERVER_URL;
|
|
399
|
+
return { mcpUrl: `${mcpServerUrl}/static/frontend.html?solidx-mcp-api-key=${apiKey}&solidx-user-id=${userId}&solidx-show-header=${showHeader}&solidx-in-list-view=${inListView}` };
|
|
400
|
+
}
|
|
401
|
+
|
|
372
402
|
}
|
|
@@ -1,25 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { forwardRef, Inject, Injectable } from '@nestjs/common';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { ConfigService } from '@nestjs/config';
|
|
4
|
+
import { DiscoveryService, ModuleRef } from '@nestjs/core';
|
|
5
|
+
import { InjectEntityManager } from '@nestjs/typeorm';
|
|
6
|
+
import { SmsTemplateRepository } from 'src/repository/sms-template.repository';
|
|
7
|
+
import { EntityManager } from 'typeorm';
|
|
6
8
|
import { SmsTemplate } from '../entities/sms-template.entity';
|
|
7
|
-
import {
|
|
8
|
-
import { UpdateSmsTemplateDto } from '../dtos/update-sms-template.dto';
|
|
9
|
+
import { CrudHelperService } from './crud-helper.service';
|
|
9
10
|
import { CRUDService } from './crud.service';
|
|
10
|
-
import { ModelMetadataService } from './model-metadata.service';
|
|
11
|
-
import { ModuleMetadataService } from './module-metadata.service';
|
|
12
|
-
import { MediaStorageProviderMetadataService } from './media-storage-provider-metadata.service';
|
|
13
|
-
import { ConfigService } from '@nestjs/config';
|
|
14
11
|
import { FileService } from './file.service';
|
|
12
|
+
import { MediaStorageProviderMetadataService } from './media-storage-provider-metadata.service';
|
|
15
13
|
import { MediaService } from './media.service';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { SmsTemplateRepository } from 'src/repository/sms-template.repository';
|
|
14
|
+
import { ModelMetadataService } from './model-metadata.service';
|
|
15
|
+
import { ModuleMetadataService } from './module-metadata.service';
|
|
19
16
|
|
|
20
17
|
@Injectable()
|
|
21
18
|
export class SmsTemplateService extends CRUDService<SmsTemplate>{
|
|
22
19
|
constructor(
|
|
20
|
+
@Inject(forwardRef(() => ModelMetadataService))
|
|
23
21
|
readonly modelMetadataService: ModelMetadataService,
|
|
24
22
|
readonly moduleMetadataService: ModuleMetadataService,
|
|
25
23
|
readonly mediaStorageProviderService: MediaStorageProviderMetadataService,
|