@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
|
@@ -144,7 +144,7 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
|
|
|
144
144
|
|
|
145
145
|
const existingControllerAndTheirMethods = this.solidRegistry.getControllers();
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
|
|
148
148
|
|
|
149
149
|
// Build markdown sections using template interpolation
|
|
150
150
|
const modulesSection = (existingModules ?? [])
|
|
@@ -170,7 +170,7 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
|
|
|
170
170
|
`- name: ${d.name}`,
|
|
171
171
|
`- description: ${d.description ?? ""}`,
|
|
172
172
|
].join('\n'))
|
|
173
|
-
.join('\n\n');
|
|
173
|
+
.join('\n\n');
|
|
174
174
|
|
|
175
175
|
const computationProvidersSection = (existingComputationProviders ?? [])
|
|
176
176
|
.map(m => [
|
|
@@ -183,7 +183,7 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
|
|
|
183
183
|
const controllersAndTheirMethods = (existingControllerAndTheirMethods ?? [])
|
|
184
184
|
.map(m => [
|
|
185
185
|
`### ${m.name}`,
|
|
186
|
-
`- methods: ${m.methods.length ? m.methods.map(m => `- ${m}`).join('\n'): '- No methods found'}`,
|
|
186
|
+
`- methods: ${m.methods.length ? m.methods.map(m => `- ${m}`).join('\n') : '- No methods found'}`,
|
|
187
187
|
].join('\n'))
|
|
188
188
|
.join('\n\n');
|
|
189
189
|
|
|
@@ -224,11 +224,10 @@ Use the below list of computed field providers to infer which provider the user
|
|
|
224
224
|
${computationProvidersSection}
|
|
225
225
|
`.trim();
|
|
226
226
|
|
|
227
|
+
// ## LIST OF EXISTING CONTROLLERS AND THEIR METHODS
|
|
228
|
+
// Use the below list of controllers and their methods to infer whether the api call being made to a particular controller exists or not.
|
|
227
229
|
|
|
228
|
-
//
|
|
229
|
-
// Use the below list of controllers and their methods to infer whether the api call being made to a particular controller exists or not.
|
|
230
|
-
|
|
231
|
-
// ${controllersAndTheirMethods}
|
|
230
|
+
// ${controllersAndTheirMethods}
|
|
232
231
|
|
|
233
232
|
const aiResponse = await this.aiInteractionService.runMcpPrompt(finalPrompt);
|
|
234
233
|
this.triggerMcpClientSubscriberLogger.log(`aiResponse: `);
|
|
@@ -247,7 +246,7 @@ ${computationProvidersSection}
|
|
|
247
246
|
// role: 'gen-ai',
|
|
248
247
|
// message: '-',
|
|
249
248
|
// contentType: aiResponse.content_type,
|
|
250
|
-
// errorMessage: errorsStr
|
|
249
|
+
// errorMessage: `${errorsStr}\n\n${errorTrace}`,
|
|
251
250
|
// modelUsed: aiResponse.model,
|
|
252
251
|
// responseTimeMs: aiResponse.duration_ms,
|
|
253
252
|
// metadata: JSON.stringify(aiResponse, null, 2),
|
|
@@ -257,7 +256,7 @@ ${computationProvidersSection}
|
|
|
257
256
|
|
|
258
257
|
// TODO: Update the previously created genAiInteraction record with the respective error fields and save to DB
|
|
259
258
|
await this.aiInteractionService.update(genAiInteraction.id, {
|
|
260
|
-
|
|
259
|
+
contentType: aiResponse.content_type,
|
|
261
260
|
errorMessage: `${errorsStr}\n\n${errorTrace}`,
|
|
262
261
|
modelUsed: aiResponse.model,
|
|
263
262
|
responseTimeMs: aiResponse.duration_ms,
|
|
@@ -271,6 +270,10 @@ ${computationProvidersSection}
|
|
|
271
270
|
else {
|
|
272
271
|
let nestedResponse = this.cleanNestedResponse(aiResponse);
|
|
273
272
|
|
|
273
|
+
// TODO: Update the previously created genAiInteraction record with the respective success fields and save to DB
|
|
274
|
+
const errorsStr = nestedResponse?.status == "error" && nestedResponse?.errors.join('\n ');
|
|
275
|
+
const errorTrace = nestedResponse?.status == "error" && nestedResponse?.error_trace?.join('\n');
|
|
276
|
+
|
|
274
277
|
// const genAiInteraction = await this.aiInteractionService.create({
|
|
275
278
|
// userId: aiInteraction.user.id,
|
|
276
279
|
// threadId: aiInteraction.threadId,
|
|
@@ -278,7 +281,7 @@ ${computationProvidersSection}
|
|
|
278
281
|
// role: 'gen-ai',
|
|
279
282
|
// message: nestedResponse,
|
|
280
283
|
// contentType: aiResponse.content_type,
|
|
281
|
-
// errorMessage:
|
|
284
|
+
// errorMessage: `${errorsStr}\n\n${errorTrace}`,
|
|
282
285
|
// modelUsed: aiResponse.model,
|
|
283
286
|
// responseTimeMs: aiResponse.duration_ms,
|
|
284
287
|
// metadata: JSON.stringify(aiResponse, null, 2),
|
|
@@ -286,21 +289,14 @@ ${computationProvidersSection}
|
|
|
286
289
|
// status: aiResponse.success ? 'succeeded' : 'failed'
|
|
287
290
|
// });
|
|
288
291
|
|
|
289
|
-
// TODO: Update the previously created genAiInteraction record with the respective success fields and save to DB
|
|
290
|
-
const errorsStr = nestedResponse?.status == "error" && nestedResponse?.errors.join('\n ');
|
|
291
|
-
// const errorTrace = nestedResponse?.status == "error" && nestedResponse?.error_trace?.join('\n');
|
|
292
|
-
|
|
293
|
-
|
|
294
292
|
await this.aiInteractionService.update(genAiInteraction.id, {
|
|
295
|
-
errorMessage: nestedResponse.status == "error" ? `${errorsStr}` : "",
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
// message: nestedResponse,
|
|
293
|
+
errorMessage: nestedResponse.status == "error" ? `${errorsStr}\n\n${errorTrace}` : "",
|
|
294
|
+
contentType: aiResponse.content_type,
|
|
295
|
+
message: JSON.stringify(nestedResponse),
|
|
299
296
|
modelUsed: aiResponse.model,
|
|
300
297
|
responseTimeMs: aiResponse.duration_ms,
|
|
298
|
+
metadata: JSON.stringify(aiResponse, null, 2),
|
|
301
299
|
isApplied: aiInteraction.isApplied,
|
|
302
|
-
|
|
303
|
-
// status: aiResponse.success ? 'succeeded' : 'failed'
|
|
304
300
|
status: aiResponse.success && nestedResponse.status == "success" ? 'succeeded' : 'failed'
|
|
305
301
|
}, [], true);
|
|
306
302
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
1
|
+
import { forwardRef, Inject, Injectable } from '@nestjs/common';
|
|
2
2
|
import { Media } from 'src/entities/media.entity';
|
|
3
3
|
import { RequestContextService } from 'src/services/request-context.service';
|
|
4
|
-
import { DataSource } from 'typeorm';
|
|
4
|
+
import { DataSource, In } from 'typeorm';
|
|
5
5
|
import { FieldMetadataRepository } from './field-metadata.repository';
|
|
6
6
|
import { MediaStorageProviderMetadataRepository } from './media-storage-provider-metadata.repository';
|
|
7
7
|
import { ModelMetadataRepository } from './model-metadata.repository';
|
|
@@ -21,6 +21,7 @@ export class MediaRepository extends SolidBaseRepository<Media> {
|
|
|
21
21
|
// @InjectRepository(MediaStorageProviderMetadata)
|
|
22
22
|
// private readonly mediaStorageProviderMetadataRepo: Repository<MediaStorageProviderMetadata>,
|
|
23
23
|
private readonly fieldMetadataRepo: FieldMetadataRepository,
|
|
24
|
+
@Inject(forwardRef(() => ModelMetadataRepository))
|
|
24
25
|
private readonly modelMetadataRepo: ModelMetadataRepository,
|
|
25
26
|
private readonly mediaStorageProviderMetadataRepo: MediaStorageProviderMetadataRepository,
|
|
26
27
|
) {
|
|
@@ -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,13 @@
|
|
|
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
4
|
|
|
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
5
|
import { CreateDashboardDto } from 'src/dtos/create-dashboard.dto';
|
|
10
6
|
import { CreateEmailTemplateDto } from 'src/dtos/create-email-template.dto';
|
|
11
7
|
import { CreateListOfValuesDto } from 'src/dtos/create-list-of-values.dto';
|
|
12
8
|
import { CreateSecurityRuleDto } from 'src/dtos/create-security-rule.dto';
|
|
13
9
|
import { CreateSettingDto } from 'src/dtos/create-setting.dto';
|
|
14
10
|
import { CreateSmsTemplateDto } from 'src/dtos/create-sms-template.dto';
|
|
15
|
-
import { Setting } from 'src/entities/setting.entity';
|
|
16
11
|
import { DashboardRepository } from 'src/repository/dashboard.repository';
|
|
17
12
|
import { SecurityRuleRepository } from 'src/repository/security-rule.repository';
|
|
18
13
|
import { AuthenticationService } from 'src/services/authentication.service';
|
|
@@ -25,14 +20,12 @@ import { DataSource, In, Repository } from 'typeorm';
|
|
|
25
20
|
import appBuilderConfig from '../config/app-builder.config';
|
|
26
21
|
import { CreateModelMetadataDto } from '../dtos/create-model-metadata.dto';
|
|
27
22
|
import { CreateModuleMetadataDto } from '../dtos/create-module-metadata.dto';
|
|
28
|
-
import {
|
|
29
|
-
import { getDynamicModuleNames } from '../helpers/module.helper';
|
|
23
|
+
import { getDynamicModuleNames, getDynamicModuleNamesBasedOnMetadata } from '../helpers/module.helper';
|
|
30
24
|
import { SolidRegistry } from '../helpers/solid-registry';
|
|
31
25
|
import { ActionMetadataService } from '../services/action-metadata.service';
|
|
32
26
|
import { FieldMetadataService } from '../services/field-metadata.service';
|
|
33
27
|
import { MediaStorageProviderMetadataSeederService } from '../services/media-storage-provider-metadata-seeder.service';
|
|
34
28
|
import { MediaStorageProviderMetadataService } from '../services/media-storage-provider-metadata.service';
|
|
35
|
-
import { MenuItemMetadataService } from '../services/menu-item-metadata.service';
|
|
36
29
|
import { ModelMetadataService } from '../services/model-metadata.service';
|
|
37
30
|
import { ModuleMetadataService } from '../services/module-metadata.service';
|
|
38
31
|
import { RoleMetadataService } from '../services/role-metadata.service';
|
|
@@ -42,12 +35,14 @@ import { SystemFieldsSeederService } from './system-fields-seeder.service';
|
|
|
42
35
|
// import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
|
|
43
36
|
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';
|
|
44
37
|
import { ADMIN_ROLE_NAME, INTERNAL_ROLE_NAME, INTERNAL_ROLE_PERMISSIONS, PUBLIC_ROLE_NAME } from 'src/dtos/create-role-metadata.dto';
|
|
38
|
+
import { CreateSavedFiltersDto } from 'src/dtos/create-saved-filters.dto';
|
|
45
39
|
import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
|
|
46
|
-
import { ScheduledJobRepository } from 'src/repository/scheduled-job.repository';
|
|
47
40
|
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
41
|
import { SavedFiltersRepository } from 'src/repository/saved-filters.repository';
|
|
42
|
+
import { ScheduledJobRepository } from 'src/repository/scheduled-job.repository';
|
|
43
|
+
import { SettingRepository } from 'src/repository/setting.repository';
|
|
44
|
+
import { CreateModelSequenceDto } from 'src/dtos/create-model-sequence.dto';
|
|
45
|
+
import { ModelSequenceRepository } from 'src/repository/model-sequence.repository';
|
|
51
46
|
|
|
52
47
|
|
|
53
48
|
@Injectable()
|
|
@@ -57,6 +52,7 @@ export class ModuleMetadataSeederService {
|
|
|
57
52
|
|
|
58
53
|
constructor(
|
|
59
54
|
private readonly moduleMetadataService: ModuleMetadataService,
|
|
55
|
+
@Inject(forwardRef(() => ModelMetadataService))
|
|
60
56
|
private readonly modelMetadataService: ModelMetadataService,
|
|
61
57
|
private readonly fieldMetadataService: FieldMetadataService,
|
|
62
58
|
private readonly mediaStorageProviderMetadataService: MediaStorageProviderMetadataService,
|
|
@@ -64,7 +60,6 @@ export class ModuleMetadataSeederService {
|
|
|
64
60
|
private readonly userService: UserService,
|
|
65
61
|
private readonly authenticationService: AuthenticationService,
|
|
66
62
|
private readonly solidActionService: ActionMetadataService,
|
|
67
|
-
private readonly solidMenuItemService: MenuItemMetadataService,
|
|
68
63
|
private readonly solidViewService: ViewMetadataService,
|
|
69
64
|
private readonly mediaStorageProviderSeederService: MediaStorageProviderMetadataSeederService,
|
|
70
65
|
private readonly emailTemplateService: EmailTemplateService,
|
|
@@ -74,11 +69,6 @@ export class ModuleMetadataSeederService {
|
|
|
74
69
|
// private readonly permissionRepo: Repository<PermissionMetadata>,
|
|
75
70
|
private readonly permissionRepo: PermissionMetadataRepository,
|
|
76
71
|
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
72
|
private readonly settingService: SettingService,
|
|
83
73
|
// @InjectRepository(Setting, 'default')
|
|
84
74
|
// readonly settingsRepo: Repository<Setting>,
|
|
@@ -87,22 +77,51 @@ export class ModuleMetadataSeederService {
|
|
|
87
77
|
readonly systemFieldsSeederService: SystemFieldsSeederService,
|
|
88
78
|
readonly dashboardRepo: DashboardRepository,
|
|
89
79
|
readonly scheduledJobRepository: ScheduledJobRepository,
|
|
90
|
-
readonly savedFiltersRepo
|
|
80
|
+
readonly savedFiltersRepo: SavedFiltersRepository,
|
|
91
81
|
readonly dataSource: DataSource,
|
|
82
|
+
readonly modelSequenceRepo: ModelSequenceRepository,
|
|
92
83
|
) { }
|
|
93
84
|
|
|
94
|
-
async seed() {
|
|
85
|
+
async seed(conf?: any) {
|
|
95
86
|
// Global seeding steps i.e across all modules
|
|
96
87
|
await this.seedGlobalMetadata();
|
|
97
88
|
|
|
89
|
+
|
|
98
90
|
// Module specific seeding steps.
|
|
99
91
|
// Get all the module metadata files which needs to be seeded.
|
|
100
92
|
const seedDataFiles = this.seedDataFiles;
|
|
101
93
|
this.logger.debug(`Seed data files are: ${seedDataFiles}`);
|
|
94
|
+
|
|
95
|
+
/** -------------------------------------------------------------
|
|
96
|
+
* Selective module seeding via:
|
|
97
|
+
* solid seed -c "{\"modulesToSeed\": [\"onboarding\", \"reports\"]}"
|
|
98
|
+
* -------------------------------------------------------------
|
|
99
|
+
*/
|
|
100
|
+
let modulesToSeed: string[] | null = null;
|
|
101
|
+
|
|
102
|
+
if (conf && Array.isArray(conf.modulesToSeed)) {
|
|
103
|
+
modulesToSeed = conf.modulesToSeed;
|
|
104
|
+
this.logger.log(`Selective seeding enabled. Modules to seed: ${modulesToSeed.join(', ')}`);
|
|
105
|
+
} else {
|
|
106
|
+
this.logger.log(`No modulesToSeed provided. Seeding ALL modules.`);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Filter modules if needed
|
|
110
|
+
const filteredSeedDataFiles = modulesToSeed
|
|
111
|
+
? seedDataFiles.filter((file) =>
|
|
112
|
+
modulesToSeed.includes(file.moduleMetadata?.name)
|
|
113
|
+
)
|
|
114
|
+
: seedDataFiles;
|
|
115
|
+
|
|
116
|
+
if (filteredSeedDataFiles.length === 0) {
|
|
117
|
+
this.logger.warn(`No modules matched the provided modulesToSeed list.`);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
|
|
102
121
|
// let usersDetail;
|
|
103
122
|
// For each module metadata file, we will process the seeding steps one by one.
|
|
104
|
-
for (let i = 0; i <
|
|
105
|
-
const overallMetadata =
|
|
123
|
+
for (let i = 0; i < filteredSeedDataFiles.length; i++) {
|
|
124
|
+
const overallMetadata = filteredSeedDataFiles[i];
|
|
106
125
|
const moduleMetadata: CreateModuleMetadataDto = overallMetadata.moduleMetadata;
|
|
107
126
|
this.logger.log(`Seeding Metadata for Module: ${moduleMetadata.name}`);
|
|
108
127
|
|
|
@@ -162,10 +181,14 @@ export class ModuleMetadataSeederService {
|
|
|
162
181
|
this.logger.log(`Seeding Scheduled Jobs`);
|
|
163
182
|
await this.seedScheduledJobs(moduleMetadata, overallMetadata);
|
|
164
183
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
184
|
+
// Saved Filters
|
|
185
|
+
this.logger.log(`Seeding Saved Filters`);
|
|
186
|
+
await this.seedSavedFilters(moduleMetadata, overallMetadata);
|
|
187
|
+
|
|
188
|
+
// Model Sequences
|
|
189
|
+
this.logger.log(`Seeding Model Sequences`);
|
|
190
|
+
await this.seedModelSequences(overallMetadata);
|
|
191
|
+
|
|
169
192
|
this.logger.debug(`[End] module seed data: ${overallMetadata}`);
|
|
170
193
|
}
|
|
171
194
|
|
|
@@ -194,7 +217,7 @@ export class ModuleMetadataSeederService {
|
|
|
194
217
|
await this.handleSeedSavedFilters(savedFilters);
|
|
195
218
|
}
|
|
196
219
|
this.logger.debug(`[End] Processing saved filters for ${moduleMetadata.name}`);
|
|
197
|
-
}
|
|
220
|
+
}
|
|
198
221
|
|
|
199
222
|
private async seedDashboards(moduleMetadata: CreateModuleMetadataDto, overallMetadata: any) {
|
|
200
223
|
this.logger.debug(`[Start] Processing dashboards for ${moduleMetadata.name}`);
|
|
@@ -301,7 +324,8 @@ export class ModuleMetadataSeederService {
|
|
|
301
324
|
private get seedDataFiles(): any[] {
|
|
302
325
|
const typedSolidCoreMetadata = structuredClone(solidCoreMetadata);
|
|
303
326
|
const seedDataFiles = [typedSolidCoreMetadata];
|
|
304
|
-
const enabledModules = getDynamicModuleNames();
|
|
327
|
+
// const enabledModules = getDynamicModuleNames();
|
|
328
|
+
const enabledModules = getDynamicModuleNamesBasedOnMetadata();
|
|
305
329
|
for (const enabledModule of enabledModules) {
|
|
306
330
|
const enabledModuleSeedFile = `module-metadata/${enabledModule}/${enabledModule}-metadata.json`;
|
|
307
331
|
const fullPath = path.join(process.cwd(), enabledModuleSeedFile);
|
|
@@ -325,6 +349,8 @@ export class ModuleMetadataSeederService {
|
|
|
325
349
|
|
|
326
350
|
this.logger.log(`Seeding System Fields Metadata`);
|
|
327
351
|
await this.seedDefaultSystemFields();
|
|
352
|
+
|
|
353
|
+
this.logger.debug(`Global metadata seeding completed`);
|
|
328
354
|
}
|
|
329
355
|
|
|
330
356
|
private async seedDefaultSystemFields() {
|
|
@@ -395,6 +421,13 @@ export class ModuleMetadataSeederService {
|
|
|
395
421
|
this.logger.debug(`[End] Processing Media Storage Provider`);
|
|
396
422
|
}
|
|
397
423
|
|
|
424
|
+
private async seedModelSequences(overallMetadata: any) {
|
|
425
|
+
this.logger.debug(`[Start] Processing model sequences`);
|
|
426
|
+
const modelSequences: CreateModelSequenceDto[] = overallMetadata.modelSequences;
|
|
427
|
+
await this.handleSeedModelSequences(modelSequences);
|
|
428
|
+
this.logger.debug(`[End] Processing model sequences`);
|
|
429
|
+
}
|
|
430
|
+
|
|
398
431
|
// OK
|
|
399
432
|
private async handleSeedEmailTemplates(emailTemplates: CreateEmailTemplateDto[], moduleName: string) {
|
|
400
433
|
if (!emailTemplates) {
|
|
@@ -407,12 +440,41 @@ export class ModuleMetadataSeederService {
|
|
|
407
440
|
|
|
408
441
|
// We need to load the actual template contents.
|
|
409
442
|
if (moduleName === 'solid-core') {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
443
|
+
let moduleRoot: string | null = null;
|
|
444
|
+
|
|
445
|
+
try {
|
|
446
|
+
// Always resolve package.json, never the module entry
|
|
447
|
+
moduleRoot = path.dirname(
|
|
448
|
+
require.resolve('@solidstarters/solid-core/package.json'),
|
|
449
|
+
);
|
|
450
|
+
} catch (err) {
|
|
451
|
+
this.logger.debug(
|
|
452
|
+
'Could not resolve @solidstarters/solid-core from node_modules, assuming local execution',
|
|
453
|
+
);
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
const filePathInternal = 'src/seeders/seed-data/email-templates/';
|
|
457
|
+
let filePath: string;
|
|
458
|
+
// Case 1: solid-core installed as dependency
|
|
459
|
+
if (moduleRoot) {
|
|
460
|
+
filePath = path.join(
|
|
461
|
+
moduleRoot,
|
|
462
|
+
filePathInternal,
|
|
463
|
+
emailTemplate.body,
|
|
464
|
+
);
|
|
465
|
+
}
|
|
466
|
+
else {
|
|
467
|
+
// Case 2: running INSIDE solid-core repo
|
|
468
|
+
const localCoreRoot = process.cwd(); // or configurable root
|
|
469
|
+
filePath = path.join(
|
|
470
|
+
localCoreRoot,
|
|
471
|
+
filePathInternal,
|
|
472
|
+
emailTemplate.body,
|
|
473
|
+
);
|
|
474
|
+
}
|
|
475
|
+
|
|
414
476
|
if (fs.existsSync(filePath)) {
|
|
415
|
-
emailTemplate.body = fs.readFileSync(filePath, 'utf-8')
|
|
477
|
+
emailTemplate.body = fs.readFileSync(filePath, 'utf-8');
|
|
416
478
|
}
|
|
417
479
|
}
|
|
418
480
|
else {
|
|
@@ -444,12 +506,41 @@ export class ModuleMetadataSeederService {
|
|
|
444
506
|
|
|
445
507
|
// We need to load the actual template contents.
|
|
446
508
|
if (moduleName === 'solid-core') {
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
509
|
+
let moduleRoot: string | null = null;
|
|
510
|
+
|
|
511
|
+
try {
|
|
512
|
+
// Always resolve package.json, never the module entry
|
|
513
|
+
moduleRoot = path.dirname(
|
|
514
|
+
require.resolve('@solidstarters/solid-core/package.json'),
|
|
515
|
+
);
|
|
516
|
+
} catch (err) {
|
|
517
|
+
this.logger.debug(
|
|
518
|
+
'Could not resolve @solidstarters/solid-core from node_modules, assuming local execution',
|
|
519
|
+
);
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
const filePathInternal = 'src/seeders/seed-data/sms-templates/';
|
|
523
|
+
let filePath: string;
|
|
524
|
+
// Case 1: solid-core installed as dependency
|
|
525
|
+
if (moduleRoot) {
|
|
526
|
+
filePath = path.join(
|
|
527
|
+
moduleRoot,
|
|
528
|
+
filePathInternal,
|
|
529
|
+
smsTemplate.body,
|
|
530
|
+
);
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
// Case 2: running INSIDE solid-core repo
|
|
534
|
+
const localCoreRoot = process.cwd(); // or configurable root
|
|
535
|
+
filePath = path.join(
|
|
536
|
+
localCoreRoot,
|
|
537
|
+
filePathInternal,
|
|
538
|
+
smsTemplate.body,
|
|
539
|
+
);
|
|
540
|
+
}
|
|
541
|
+
|
|
451
542
|
if (fs.existsSync(filePath)) {
|
|
452
|
-
smsTemplate.body = fs.readFileSync(filePath, 'utf-8')
|
|
543
|
+
smsTemplate.body = fs.readFileSync(filePath, 'utf-8');
|
|
453
544
|
}
|
|
454
545
|
}
|
|
455
546
|
else {
|
|
@@ -469,7 +560,7 @@ export class ModuleMetadataSeederService {
|
|
|
469
560
|
}
|
|
470
561
|
}
|
|
471
562
|
|
|
472
|
-
//
|
|
563
|
+
// Ok
|
|
473
564
|
private async handleSeedMenus(menus: any) {
|
|
474
565
|
if (!menus) {
|
|
475
566
|
return;
|
|
@@ -481,22 +572,42 @@ export class ModuleMetadataSeederService {
|
|
|
481
572
|
const actionRepo = trx.getRepository(ActionMetadata);
|
|
482
573
|
const moduleRepo = trx.getRepository(ModuleMetadata);
|
|
483
574
|
|
|
484
|
-
// 1) Upsert menus WITHOUT roles
|
|
575
|
+
// 1) Upsert menus WITHOUT roles (manual upsert)
|
|
485
576
|
for (const m of menus) {
|
|
486
|
-
const
|
|
577
|
+
const action = m.actionUserKey
|
|
578
|
+
? await actionRepo.findOne({ where: { name: m.actionUserKey }, select: ["id"] })
|
|
579
|
+
: null;
|
|
580
|
+
|
|
581
|
+
const module = m.moduleUserKey
|
|
582
|
+
? await moduleRepo.findOne({ where: { name: m.moduleUserKey }, select: ["id"] })
|
|
583
|
+
: null;
|
|
584
|
+
|
|
585
|
+
const parentMenuItem = m.parentMenuItemUserKey
|
|
586
|
+
? await menuRepo.findOne({ where: { name: m.parentMenuItemUserKey }, select: ["id"] })
|
|
587
|
+
: null;
|
|
588
|
+
|
|
589
|
+
// Check if a menu with this name already exists
|
|
590
|
+
const existing = await menuRepo.findOne({
|
|
591
|
+
where: { name: m.name },
|
|
592
|
+
select: ["id"],
|
|
593
|
+
});
|
|
594
|
+
|
|
595
|
+
// Build the entity data (without id)
|
|
596
|
+
const base = {
|
|
487
597
|
name: m.name,
|
|
488
598
|
displayName: m.displayName,
|
|
489
|
-
action
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
599
|
+
action,
|
|
600
|
+
module,
|
|
601
|
+
parentMenuItem,
|
|
602
|
+
sequenceNumber: m.sequenceNumber
|
|
603
|
+
};
|
|
604
|
+
|
|
605
|
+
// If existing, set its id so save() will perform an update, otherwise insert
|
|
606
|
+
const entity = menuRepo.create(
|
|
607
|
+
existing ? { id: existing.id, ...base } : base,
|
|
608
|
+
);
|
|
609
|
+
|
|
610
|
+
await menuRepo.save(entity);
|
|
500
611
|
}
|
|
501
612
|
|
|
502
613
|
// 2) Fetch ids for batching
|
|
@@ -528,8 +639,7 @@ export class ModuleMetadataSeederService {
|
|
|
528
639
|
}
|
|
529
640
|
}
|
|
530
641
|
|
|
531
|
-
// 4) Replace in bulk —
|
|
532
|
-
|
|
642
|
+
// 4) Replace in bulk — no orIgnore, safe for MSSQL
|
|
533
643
|
// 4a) delete existing for affected menus
|
|
534
644
|
const menuIds = [...new Set(joinRows.map(r => r.menuId))];
|
|
535
645
|
if (menuIds.length) {
|
|
@@ -543,7 +653,6 @@ export class ModuleMetadataSeederService {
|
|
|
543
653
|
|
|
544
654
|
// 4b) bulk insert all pairs
|
|
545
655
|
if (joinRows.length) {
|
|
546
|
-
// Build objects with the exact column names used by the join table
|
|
547
656
|
const values = joinRows.map(r => ({
|
|
548
657
|
[MENU_ROLE_JOIN_TABLE_NAME_MENU_COL]: r.menuId,
|
|
549
658
|
[MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL]: r.roleId,
|
|
@@ -552,9 +661,9 @@ export class ModuleMetadataSeederService {
|
|
|
552
661
|
await trx
|
|
553
662
|
.createQueryBuilder()
|
|
554
663
|
.insert()
|
|
555
|
-
.into(MENU_ROLE_JOIN_TABLE_NAME)
|
|
664
|
+
.into(MENU_ROLE_JOIN_TABLE_NAME)
|
|
556
665
|
.values(values)
|
|
557
|
-
.orIgnore()
|
|
666
|
+
// .orIgnore() // ❌ remove this – it triggers unsupported onUpdate path
|
|
558
667
|
.execute();
|
|
559
668
|
}
|
|
560
669
|
});
|
|
@@ -664,7 +773,7 @@ export class ModuleMetadataSeederService {
|
|
|
664
773
|
// console.log(fieldMetadata.displayName);
|
|
665
774
|
|
|
666
775
|
const affectedField = await this.fieldMetadataService.upsert(fieldMetadata);
|
|
667
|
-
if (fieldMetadata.name === userKeyFieldName) {
|
|
776
|
+
if (fieldMetadata.name === userKeyFieldName || fieldMetadata.isUserKey) {
|
|
668
777
|
const { model, ...fieldData } = affectedField;
|
|
669
778
|
userKeyField = fieldData;
|
|
670
779
|
}
|
|
@@ -738,5 +847,14 @@ export class ModuleMetadataSeederService {
|
|
|
738
847
|
await this.savedFiltersRepo.upsertWithDto({ ...dto, filterQueryJson: JSON.stringify(dto.filterQueryJson) });
|
|
739
848
|
}
|
|
740
849
|
}
|
|
850
|
+
private async handleSeedModelSequences(modelSequencesDto: CreateModelSequenceDto[]) {
|
|
851
|
+
if (!modelSequencesDto || modelSequencesDto.length === 0) {
|
|
852
|
+
this.logger.debug(`No Model Sequences found to seed`);
|
|
853
|
+
return;
|
|
854
|
+
}
|
|
855
|
+
for (const dto of modelSequencesDto) {
|
|
856
|
+
await this.modelSequenceRepo.upsertWithDto(dto);
|
|
857
|
+
}
|
|
858
|
+
}
|
|
741
859
|
|
|
742
860
|
}
|