@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,89 @@
|
|
|
1
|
+
# Grouping & Aggregation Enhancements (Code Review Summary)
|
|
2
|
+
|
|
3
|
+
This document explains the recent changes to grouping/aggregation in the CRUD helper/service, why they were made, and how to use them (with examples on `PincodeMaster`).
|
|
4
|
+
|
|
5
|
+
## What Changed and Why
|
|
6
|
+
- **Dedicated grouping pipeline**: Grouping no longer reuses the record-level query (which had `SELECT entity.*`, pagination, and default order). A separate path builds clean group queries to avoid SQL errors and ensure correct counts.
|
|
7
|
+
- **Multiple group-by fields**: The one-field limit was removed. You can now group on multiple fields (including relations) in the requested order.
|
|
8
|
+
- **Relation-safe grouping**: Group-by fields can traverse many-to-one relations (e.g., `state.name`, `city.name`). The helper reuses existing joins (from filters) or adds the necessary joins and aliases.
|
|
9
|
+
- **Date granularity**: Grouping supports `day`, `week`, `month`, `year` granularities in a DB-aware way (Postgres, MySQL/MariaDB, SQL Server).
|
|
10
|
+
- **Aggregates**: Supports a core, DB-agnostic set: `count`, `count_distinct`, `sum`, `avg`, `min`, `max`. If `aggregates` is omitted, it defaults to `count(*)`.
|
|
11
|
+
- **Group sorting/pagination**: Sorting and pagination are applied to group rows (not entity rows). Record pagination is kept separate for non-grouped queries.
|
|
12
|
+
- **Ordered group names**: Group names follow the order of `groupBy` fields. Relation values and date/grouped values are included in sequence.
|
|
13
|
+
- **Formatted date group labels**: You can add an optional format specifier to a date groupBy field: `field:granularity:format`. Supported formats: `MMM`, `MMMM`, `YYYY`, `YYYY-MM`, `YYYY-MM-DD` (defaults to the raw value if omitted).
|
|
14
|
+
- **Count of groups**: Group counts are computed without pagination interference, so `meta.totalRecords` reflects total groups.
|
|
15
|
+
- **DTO update**: `BasicFilterDto` now includes optional `aggregates?: string[]`.
|
|
16
|
+
|
|
17
|
+
## Caveats
|
|
18
|
+
- `populateGroup` is **not** supported when grouping on relation fields (e.g., `state.name`, `city.name`). Use it for scalar group-by fields only; otherwise fetch group metadata and then retrieve records in a separate call with the group key.
|
|
19
|
+
- Sorting works for group keys without extra colons (e.g., `state.name`) and for aggregate aliases (e.g., `id_max`). For date bucket group keys with granularity/format (`createdAt:month:YYYY`), the sort parser treats the last segment as the order; results may vary by driver and may not sort as expected in all cases.
|
|
20
|
+
|
|
21
|
+
## Usage Examples (PincodeMaster)
|
|
22
|
+
Assume `PincodeMaster` has many-to-one `state` and `city` relations and a `createdAt` timestamp.
|
|
23
|
+
|
|
24
|
+
### 1) Group by State and City
|
|
25
|
+
```
|
|
26
|
+
GET /api/pincode-master?offset=0&limit=200&groupBy[0]=state.name&groupBy[1]=city.name
|
|
27
|
+
```
|
|
28
|
+
Returns groups for every state/city combination with default `count(*)` aggregate.
|
|
29
|
+
|
|
30
|
+
### 2) Group by Relation + Filter on Relation
|
|
31
|
+
```
|
|
32
|
+
GET /api/pincode-master?offset=0&limit=200&groupBy[0]=state.name&filters[state][name][$eq]=Maharashtra
|
|
33
|
+
```
|
|
34
|
+
Groups by state name but only for rows where state is Maharashtra.
|
|
35
|
+
|
|
36
|
+
### 3) Multiple Group Fields (Relation + Scalar)
|
|
37
|
+
```
|
|
38
|
+
GET /api/pincode-master?offset=0&limit=200&groupBy[0]=state.name&groupBy[1]=city.name&groupBy[2]=pincode
|
|
39
|
+
```
|
|
40
|
+
Group names are ordered: state → city → pincode.
|
|
41
|
+
|
|
42
|
+
### 4) Group by Date with Granularity (Month)
|
|
43
|
+
```
|
|
44
|
+
GET /api/pincode-master?offset=0&limit=200&groupBy[0]=createdAt:month
|
|
45
|
+
```
|
|
46
|
+
Groups by month (driver-aware), default group labels are raw date buckets.
|
|
47
|
+
|
|
48
|
+
### 5) Date Granularity with Formatting
|
|
49
|
+
```
|
|
50
|
+
GET /api/pincode-master?offset=0&limit=200&groupBy[0]=createdAt:month:MMM
|
|
51
|
+
```
|
|
52
|
+
Group labels use short month names (Jan, Feb, …). For full names: `createdAt:month:MMMM`. Other formats: `YYYY`, `YYYY-MM`, `YYYY-MM-DD`.
|
|
53
|
+
|
|
54
|
+
### 6) Aggregates (Count Distinct)
|
|
55
|
+
```
|
|
56
|
+
GET /api/pincode-master?offset=0&limit=200&groupBy[0]=state.name&aggregates[0]=pincode:count_distinct
|
|
57
|
+
```
|
|
58
|
+
Shows distinct pincodes per state.
|
|
59
|
+
|
|
60
|
+
### 7) Aggregates (Multiple)
|
|
61
|
+
```
|
|
62
|
+
GET /api/pincode-master?offset=0&limit=200&groupBy[0]=state.name&groupBy[1]=city.name&aggregates[0]=id:count&aggregates[1]=id:count_distinct
|
|
63
|
+
```
|
|
64
|
+
Returns both total rows and distinct IDs per state/city group.
|
|
65
|
+
|
|
66
|
+
### 8) Date Granularity + Relations + Aggregates
|
|
67
|
+
```
|
|
68
|
+
GET /api/pincode-master?offset=0&limit=200&groupBy[0]=createdAt:year&groupBy[1]=state.name&aggregates[0]=pincode:count_distinct
|
|
69
|
+
```
|
|
70
|
+
Distinct pincodes per state, per year.
|
|
71
|
+
|
|
72
|
+
### 9) Filters with Grouping (Many-to-One)
|
|
73
|
+
```
|
|
74
|
+
GET /api/pincode-master?offset=0&limit=200&groupBy[0]=state.name&groupBy[1]=city.name&filters[state][name][$eq]=Nagaland
|
|
75
|
+
```
|
|
76
|
+
Groups only rows where state.name = Nagaland.
|
|
77
|
+
|
|
78
|
+
### 10) Group Sorting and Pagination
|
|
79
|
+
- Sorting applies to the group rows. Example:
|
|
80
|
+
```
|
|
81
|
+
GET /api/pincode-master?offset=0&limit=50&groupBy[0]=state.name&sort[0]=state.name:ASC
|
|
82
|
+
```
|
|
83
|
+
- Pagination (`offset/limit`) limits the number of groups returned; total group count remains in `meta.totalRecords`.
|
|
84
|
+
|
|
85
|
+
## Notes and Behavior
|
|
86
|
+
- If `aggregates` is omitted, `COUNT(*)` is added automatically.
|
|
87
|
+
- Group names reflect `groupBy` order and apply formatting when specified.
|
|
88
|
+
- Group queries reuse joins from filters when possible; otherwise, they create necessary joins for relation paths.
|
|
89
|
+
- Non-grouped find behavior remains unchanged.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solidstarters/solid-core",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.201",
|
|
4
4
|
"description": "This module is a NestJS module containing all the required core providers required by a Solid application",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
CREATE PROCEDURE [dbo].[CleanupModelMetadata]
|
|
2
|
+
@ModelSingularName NVARCHAR(255),
|
|
3
|
+
@AlsoDropModel BIT = 0 -- 0 = only menus/views/actions/imports; 1 = also delete model + fields
|
|
4
|
+
AS
|
|
5
|
+
BEGIN
|
|
6
|
+
SET NOCOUNT ON;
|
|
7
|
+
|
|
8
|
+
DECLARE @ModelId INT;
|
|
9
|
+
DECLARE @ControllerName NVARCHAR(255);
|
|
10
|
+
|
|
11
|
+
--------------------------------------------------------------------
|
|
12
|
+
-- Derive ControllerName from model singular name
|
|
13
|
+
-- e.g. 'city' -> 'CityController'
|
|
14
|
+
-- 'bankIfscMaster' -> 'BankIfscMasterController'
|
|
15
|
+
--------------------------------------------------------------------
|
|
16
|
+
SET @ControllerName =
|
|
17
|
+
UPPER(LEFT(@ModelSingularName, 1)) +
|
|
18
|
+
SUBSTRING(@ModelSingularName, 2, LEN(@ModelSingularName) - 1) +
|
|
19
|
+
N'Controller';
|
|
20
|
+
|
|
21
|
+
SELECT @ModelId = m.id
|
|
22
|
+
FROM dbo.ss_model_metadata AS m
|
|
23
|
+
WHERE m.singular_name = @ModelSingularName;
|
|
24
|
+
|
|
25
|
+
IF @ModelId IS NULL
|
|
26
|
+
BEGIN
|
|
27
|
+
RAISERROR ('CleanupModelMetadata: Model with singular_name "%s" not found.', 16, 1, @ModelSingularName);
|
|
28
|
+
RETURN;
|
|
29
|
+
END
|
|
30
|
+
|
|
31
|
+
BEGIN TRY
|
|
32
|
+
BEGIN TRAN;
|
|
33
|
+
|
|
34
|
+
--------------------------------------------------------------------
|
|
35
|
+
-- Temp tables for IDs
|
|
36
|
+
--------------------------------------------------------------------
|
|
37
|
+
IF OBJECT_ID('tempdb..#ViewIds') IS NOT NULL DROP TABLE #ViewIds;
|
|
38
|
+
IF OBJECT_ID('tempdb..#ActionIds') IS NOT NULL DROP TABLE #ActionIds;
|
|
39
|
+
IF OBJECT_ID('tempdb..#PermissionIds') IS NOT NULL DROP TABLE #PermissionIds;
|
|
40
|
+
|
|
41
|
+
CREATE TABLE #ViewIds (id INT PRIMARY KEY);
|
|
42
|
+
CREATE TABLE #ActionIds (id INT PRIMARY KEY);
|
|
43
|
+
CREATE TABLE #PermissionIds (id INT PRIMARY KEY);
|
|
44
|
+
|
|
45
|
+
INSERT INTO #ViewIds (id)
|
|
46
|
+
SELECT v.id
|
|
47
|
+
FROM dbo.ss_view_metadata AS v
|
|
48
|
+
WHERE v.model_id = @ModelId;
|
|
49
|
+
|
|
50
|
+
INSERT INTO #ActionIds (id)
|
|
51
|
+
SELECT DISTINCT a.id
|
|
52
|
+
FROM dbo.ss_action_metadata AS a
|
|
53
|
+
WHERE a.model_id = @ModelId
|
|
54
|
+
OR (a.view_id IS NOT NULL AND a.view_id IN (SELECT id FROM #ViewIds));
|
|
55
|
+
|
|
56
|
+
--------------------------------------------------------------------
|
|
57
|
+
-- Collect permissions for this controller:
|
|
58
|
+
-- e.g. CityController.create, CityController.update, etc.
|
|
59
|
+
--------------------------------------------------------------------
|
|
60
|
+
INSERT INTO #PermissionIds (id)
|
|
61
|
+
SELECT p.id
|
|
62
|
+
FROM dbo.ss_permission_metadata AS p
|
|
63
|
+
WHERE p.name LIKE @ControllerName + N'.%';
|
|
64
|
+
|
|
65
|
+
--------------------------------------------------------------------
|
|
66
|
+
-- 1) Delete user-view metadata
|
|
67
|
+
--------------------------------------------------------------------
|
|
68
|
+
DELETE uvm
|
|
69
|
+
FROM dbo.ss_user_view_metadata AS uvm
|
|
70
|
+
WHERE uvm.view_metadata_id IN (SELECT id FROM #ViewIds);
|
|
71
|
+
|
|
72
|
+
--------------------------------------------------------------------
|
|
73
|
+
-- 2) Delete menu items linked via action_id
|
|
74
|
+
-- Role join table is handled by ON DELETE CASCADE.
|
|
75
|
+
--------------------------------------------------------------------
|
|
76
|
+
DELETE mi
|
|
77
|
+
FROM dbo.ss_menu_item_metadata AS mi
|
|
78
|
+
WHERE mi.action_id IN (SELECT id FROM #ActionIds);
|
|
79
|
+
|
|
80
|
+
--------------------------------------------------------------------
|
|
81
|
+
-- 3) Delete actions
|
|
82
|
+
--------------------------------------------------------------------
|
|
83
|
+
DELETE a
|
|
84
|
+
FROM dbo.ss_action_metadata AS a
|
|
85
|
+
WHERE a.id IN (SELECT id FROM #ActionIds);
|
|
86
|
+
|
|
87
|
+
--------------------------------------------------------------------
|
|
88
|
+
-- 4) Delete views
|
|
89
|
+
--------------------------------------------------------------------
|
|
90
|
+
DELETE v
|
|
91
|
+
FROM dbo.ss_view_metadata AS v
|
|
92
|
+
WHERE v.id IN (SELECT id FROM #ViewIds);
|
|
93
|
+
|
|
94
|
+
--------------------------------------------------------------------
|
|
95
|
+
-- 5) Delete import transaction error logs for this model's imports
|
|
96
|
+
--------------------------------------------------------------------
|
|
97
|
+
DELETE itel
|
|
98
|
+
FROM dbo.ss_import_transaction_error_log AS itel
|
|
99
|
+
WHERE itel.import_transaction_id IN (
|
|
100
|
+
SELECT it.id
|
|
101
|
+
FROM dbo.ss_import_transaction AS it
|
|
102
|
+
WHERE it.model_metadata_id = @ModelId
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
--------------------------------------------------------------------
|
|
106
|
+
-- 6) Delete import transactions linked to the model
|
|
107
|
+
--------------------------------------------------------------------
|
|
108
|
+
DELETE it
|
|
109
|
+
FROM dbo.ss_import_transaction AS it
|
|
110
|
+
WHERE it.model_metadata_id = @ModelId;
|
|
111
|
+
|
|
112
|
+
--------------------------------------------------------------------
|
|
113
|
+
-- 7) Delete permissions for this controller
|
|
114
|
+
-- a) Delete from role-permission join table
|
|
115
|
+
-- b) Delete from permission metadata
|
|
116
|
+
--------------------------------------------------------------------
|
|
117
|
+
DELETE rp
|
|
118
|
+
FROM dbo.ss_role_metadata_permissions_ss_permission_metadata AS rp
|
|
119
|
+
WHERE rp.ss_permission_metadata_id IN (SELECT id FROM #PermissionIds);
|
|
120
|
+
|
|
121
|
+
DELETE p
|
|
122
|
+
FROM dbo.ss_permission_metadata AS p
|
|
123
|
+
WHERE p.id IN (SELECT id FROM #PermissionIds);
|
|
124
|
+
|
|
125
|
+
--------------------------------------------------------------------
|
|
126
|
+
-- 8) Optionally delete the model + fields
|
|
127
|
+
--------------------------------------------------------------------
|
|
128
|
+
IF @AlsoDropModel = 1
|
|
129
|
+
BEGIN
|
|
130
|
+
--------------------------------------------------------------
|
|
131
|
+
-- 8a) Null user_key_field_id pointing to this model's fields
|
|
132
|
+
--------------------------------------------------------------
|
|
133
|
+
UPDATE mm
|
|
134
|
+
SET mm.user_key_field_id = NULL
|
|
135
|
+
FROM dbo.ss_model_metadata AS mm
|
|
136
|
+
WHERE mm.user_key_field_id IN (
|
|
137
|
+
SELECT f.id
|
|
138
|
+
FROM dbo.ss_field_metadata AS f
|
|
139
|
+
WHERE f.model_id = @ModelId
|
|
140
|
+
);
|
|
141
|
+
|
|
142
|
+
--------------------------------------------------------------
|
|
143
|
+
-- 8b) Null parent_model_id pointing to this model
|
|
144
|
+
--------------------------------------------------------------
|
|
145
|
+
UPDATE mm
|
|
146
|
+
SET mm.parent_model_id = NULL
|
|
147
|
+
FROM dbo.ss_model_metadata AS mm
|
|
148
|
+
WHERE mm.parent_model_id = @ModelId;
|
|
149
|
+
|
|
150
|
+
--------------------------------------------------------------
|
|
151
|
+
-- 8c) Delete model
|
|
152
|
+
-- Fields are deleted automatically via ON DELETE CASCADE
|
|
153
|
+
--------------------------------------------------------------
|
|
154
|
+
DELETE m
|
|
155
|
+
FROM dbo.ss_model_metadata AS m
|
|
156
|
+
WHERE m.id = @ModelId;
|
|
157
|
+
END
|
|
158
|
+
|
|
159
|
+
COMMIT TRAN;
|
|
160
|
+
END TRY
|
|
161
|
+
BEGIN CATCH
|
|
162
|
+
IF @@TRANCOUNT > 0
|
|
163
|
+
ROLLBACK TRAN;
|
|
164
|
+
|
|
165
|
+
DECLARE @ErrorMessage NVARCHAR(4000),
|
|
166
|
+
@ErrorSeverity INT,
|
|
167
|
+
@ErrorState INT;
|
|
168
|
+
|
|
169
|
+
SELECT @ErrorMessage = ERROR_MESSAGE(),
|
|
170
|
+
@ErrorSeverity = ERROR_SEVERITY(),
|
|
171
|
+
@ErrorState = ERROR_STATE();
|
|
172
|
+
|
|
173
|
+
RAISERROR(@ErrorMessage, @ErrorSeverity, @ErrorState);
|
|
174
|
+
END CATCH
|
|
175
|
+
END
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
CREATE PROCEDURE [dbo].[CleanupModuleMetadata]
|
|
2
|
+
@ModuleName NVARCHAR(255),
|
|
3
|
+
@AlsoDropModule BIT = 0 -- 0 = only menus + actions, 1 = also delete module row
|
|
4
|
+
AS
|
|
5
|
+
BEGIN
|
|
6
|
+
SET NOCOUNT ON;
|
|
7
|
+
|
|
8
|
+
DECLARE @ModuleId INT;
|
|
9
|
+
|
|
10
|
+
SELECT @ModuleId = m.id
|
|
11
|
+
FROM dbo.ss_module_metadata AS m
|
|
12
|
+
WHERE m.name = @ModuleName;
|
|
13
|
+
|
|
14
|
+
IF @ModuleId IS NULL
|
|
15
|
+
BEGIN
|
|
16
|
+
RAISERROR ('CleanupModuleMetadata: Module "%s" not found.', 16, 1, @ModuleName);
|
|
17
|
+
RETURN;
|
|
18
|
+
END
|
|
19
|
+
|
|
20
|
+
BEGIN TRY
|
|
21
|
+
BEGIN TRAN;
|
|
22
|
+
|
|
23
|
+
----------------------------------------------------------------
|
|
24
|
+
-- 1) Delete menu items for this module
|
|
25
|
+
-- (children first because parent FK has NO cascade)
|
|
26
|
+
----------------------------------------------------------------
|
|
27
|
+
-- Children
|
|
28
|
+
DELETE mi
|
|
29
|
+
FROM dbo.ss_menu_item_metadata AS mi
|
|
30
|
+
WHERE mi.module_id = @ModuleId
|
|
31
|
+
AND mi.parent_menu_item_id IS NOT NULL;
|
|
32
|
+
|
|
33
|
+
-- Roots
|
|
34
|
+
DELETE mi
|
|
35
|
+
FROM dbo.ss_menu_item_metadata AS mi
|
|
36
|
+
WHERE mi.module_id = @ModuleId
|
|
37
|
+
AND mi.parent_menu_item_id IS NULL;
|
|
38
|
+
|
|
39
|
+
-- Note: Role join table
|
|
40
|
+
-- dbo.ss_menu_item_metadata_roles_ss_role_metadata
|
|
41
|
+
-- is cleaned automatically via ON DELETE CASCADE from menu items.
|
|
42
|
+
|
|
43
|
+
----------------------------------------------------------------
|
|
44
|
+
-- 2) Delete actions for this module
|
|
45
|
+
----------------------------------------------------------------
|
|
46
|
+
DELETE a
|
|
47
|
+
FROM dbo.ss_action_metadata AS a
|
|
48
|
+
WHERE a.module_id = @ModuleId;
|
|
49
|
+
|
|
50
|
+
----------------------------------------------------------------
|
|
51
|
+
-- 3) Optionally delete the module row itself
|
|
52
|
+
-- Models keep their rows; module_id is set to NULL on delete
|
|
53
|
+
-- because of ON DELETE SET NULL in ss_model_metadata.
|
|
54
|
+
----------------------------------------------------------------
|
|
55
|
+
IF @AlsoDropModule = 1
|
|
56
|
+
BEGIN
|
|
57
|
+
DELETE m
|
|
58
|
+
FROM dbo.ss_module_metadata AS m
|
|
59
|
+
WHERE m.id = @ModuleId;
|
|
60
|
+
END
|
|
61
|
+
|
|
62
|
+
COMMIT TRAN;
|
|
63
|
+
END TRY
|
|
64
|
+
BEGIN CATCH
|
|
65
|
+
IF @@TRANCOUNT > 0
|
|
66
|
+
ROLLBACK TRAN;
|
|
67
|
+
|
|
68
|
+
DECLARE @ErrorMessage NVARCHAR(4000),
|
|
69
|
+
@ErrorSeverity INT,
|
|
70
|
+
@ErrorState INT;
|
|
71
|
+
|
|
72
|
+
SELECT @ErrorMessage = ERROR_MESSAGE(),
|
|
73
|
+
@ErrorSeverity = ERROR_SEVERITY(),
|
|
74
|
+
@ErrorState = ERROR_STATE();
|
|
75
|
+
|
|
76
|
+
RAISERROR(@ErrorMessage, @ErrorSeverity, @ErrorState);
|
|
77
|
+
END CATCH
|
|
78
|
+
END
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
|
|
2
|
+
-- cleanup script
|
|
3
|
+
EXEC dbo.CleanupModelMetadata @ModelSingularName = N'officeMaster', @AlsoDropModel = 1;
|
|
4
|
+
EXEC dbo.CleanupModelMetadata @ModelSingularName = N'subSubCategoryMaster', @AlsoDropModel = 1;
|
|
5
|
+
EXEC dbo.CleanupModelMetadata @ModelSingularName = N'subCategoryMaster', @AlsoDropModel = 1;
|
|
6
|
+
EXEC dbo.CleanupModelMetadata @ModelSingularName = N'categoryMaster', @AlsoDropModel = 1;
|
|
7
|
+
EXEC dbo.CleanupModelMetadata @ModelSingularName = N'city', @AlsoDropModel = 1;
|
|
8
|
+
EXEC dbo.CleanupModelMetadata @ModelSingularName = N'state', @AlsoDropModel = 1;
|
|
9
|
+
EXEC dbo.CleanupModelMetadata @ModelSingularName = N'bankIfscMaster', @AlsoDropModel = 1;
|
|
10
|
+
EXEC dbo.CleanupModelMetadata @ModelSingularName = N'applicationDocumentVerificationMob2Vtb', @AlsoDropModel = 1;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
CREATE OR REPLACE PROCEDURE cleanup_model_metadata(
|
|
2
|
+
IN p_model_singular_name text,
|
|
3
|
+
IN p_also_drop_model boolean DEFAULT false
|
|
4
|
+
)
|
|
5
|
+
LANGUAGE plpgsql
|
|
6
|
+
AS $$
|
|
7
|
+
DECLARE
|
|
8
|
+
v_model_id int;
|
|
9
|
+
v_controller_name text;
|
|
10
|
+
BEGIN
|
|
11
|
+
--------------------------------------------------------------------
|
|
12
|
+
-- Derive ControllerName from model singular name
|
|
13
|
+
-- e.g. 'city' -> 'CityController'
|
|
14
|
+
-- 'bankIfscMaster' -> 'BankIfscMasterController'
|
|
15
|
+
--------------------------------------------------------------------
|
|
16
|
+
v_controller_name :=
|
|
17
|
+
upper(left(p_model_singular_name, 1))
|
|
18
|
+
|| substr(p_model_singular_name, 2)
|
|
19
|
+
|| 'Controller';
|
|
20
|
+
|
|
21
|
+
SELECT m.id
|
|
22
|
+
INTO v_model_id
|
|
23
|
+
FROM ss_model_metadata AS m
|
|
24
|
+
WHERE m.singular_name = p_model_singular_name;
|
|
25
|
+
|
|
26
|
+
IF v_model_id IS NULL THEN
|
|
27
|
+
RAISE EXCEPTION
|
|
28
|
+
'CleanupModelMetadata: Model with singular_name "%" not found.',
|
|
29
|
+
p_model_singular_name;
|
|
30
|
+
END IF;
|
|
31
|
+
|
|
32
|
+
--------------------------------------------------------------------
|
|
33
|
+
-- Temp tables for IDs (session-scoped)
|
|
34
|
+
--------------------------------------------------------------------
|
|
35
|
+
DROP TABLE IF EXISTS view_ids;
|
|
36
|
+
DROP TABLE IF EXISTS action_ids;
|
|
37
|
+
DROP TABLE IF EXISTS permission_ids;
|
|
38
|
+
|
|
39
|
+
CREATE TEMP TABLE view_ids (id int PRIMARY KEY) ON COMMIT DROP;
|
|
40
|
+
CREATE TEMP TABLE action_ids (id int PRIMARY KEY) ON COMMIT DROP;
|
|
41
|
+
CREATE TEMP TABLE permission_ids (id int PRIMARY KEY) ON COMMIT DROP;
|
|
42
|
+
|
|
43
|
+
INSERT INTO view_ids (id)
|
|
44
|
+
SELECT v.id
|
|
45
|
+
FROM ss_view_metadata AS v
|
|
46
|
+
WHERE v.model_id = v_model_id;
|
|
47
|
+
|
|
48
|
+
INSERT INTO action_ids (id)
|
|
49
|
+
SELECT a.id
|
|
50
|
+
FROM ss_action_metadata AS a
|
|
51
|
+
WHERE a.model_id = v_model_id;
|
|
52
|
+
|
|
53
|
+
--------------------------------------------------------------------
|
|
54
|
+
-- Collect permissions for this controller:
|
|
55
|
+
-- e.g. CityController.create, CityController.update, etc.
|
|
56
|
+
--------------------------------------------------------------------
|
|
57
|
+
INSERT INTO permission_ids (id)
|
|
58
|
+
SELECT p.id
|
|
59
|
+
FROM ss_permission_metadata AS p
|
|
60
|
+
WHERE p.name LIKE (v_controller_name || '.%');
|
|
61
|
+
|
|
62
|
+
--------------------------------------------------------------------
|
|
63
|
+
-- 1) Delete user-view metadata
|
|
64
|
+
--------------------------------------------------------------------
|
|
65
|
+
DELETE FROM ss_user_view_metadata AS uvm
|
|
66
|
+
WHERE uvm.view_metadata_id IN (SELECT id FROM view_ids);
|
|
67
|
+
|
|
68
|
+
--------------------------------------------------------------------
|
|
69
|
+
-- 2) Delete menu items linked via action_id
|
|
70
|
+
-- Role join table is handled by ON DELETE CASCADE (assumed)
|
|
71
|
+
--------------------------------------------------------------------
|
|
72
|
+
DELETE FROM ss_menu_item_metadata AS mi
|
|
73
|
+
WHERE mi.action_id IN (SELECT id FROM action_ids);
|
|
74
|
+
|
|
75
|
+
--------------------------------------------------------------------
|
|
76
|
+
-- 3) Delete actions
|
|
77
|
+
--------------------------------------------------------------------
|
|
78
|
+
DELETE FROM ss_action_metadata AS a
|
|
79
|
+
WHERE a.id IN (SELECT id FROM action_ids);
|
|
80
|
+
|
|
81
|
+
--------------------------------------------------------------------
|
|
82
|
+
-- 4) Delete views
|
|
83
|
+
--------------------------------------------------------------------
|
|
84
|
+
DELETE FROM ss_view_metadata AS v
|
|
85
|
+
WHERE v.id IN (SELECT id FROM view_ids);
|
|
86
|
+
|
|
87
|
+
--------------------------------------------------------------------
|
|
88
|
+
-- 5) Delete import transaction error logs for this model's imports
|
|
89
|
+
--------------------------------------------------------------------
|
|
90
|
+
DELETE FROM ss_import_transaction_error_log AS itel
|
|
91
|
+
WHERE itel.import_transaction_id IN (
|
|
92
|
+
SELECT it.id
|
|
93
|
+
FROM ss_import_transaction AS it
|
|
94
|
+
WHERE it.model_metadata_id = v_model_id
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
--------------------------------------------------------------------
|
|
98
|
+
-- 6) Delete import transactions linked to the model
|
|
99
|
+
--------------------------------------------------------------------
|
|
100
|
+
DELETE FROM ss_import_transaction AS it
|
|
101
|
+
WHERE it.model_metadata_id = v_model_id;
|
|
102
|
+
|
|
103
|
+
--------------------------------------------------------------------
|
|
104
|
+
-- 7) Delete permissions for this controller
|
|
105
|
+
-- a) Delete from role-permission join table
|
|
106
|
+
-- b) Delete from permission metadata
|
|
107
|
+
--------------------------------------------------------------------
|
|
108
|
+
DELETE FROM ss_role_metadata_permissions_ss_permission_metadata AS rp
|
|
109
|
+
WHERE rp.ss_permission_metadata_id IN (SELECT id FROM permission_ids);
|
|
110
|
+
|
|
111
|
+
DELETE FROM ss_permission_metadata AS p
|
|
112
|
+
WHERE p.id IN (SELECT id FROM permission_ids);
|
|
113
|
+
|
|
114
|
+
--------------------------------------------------------------------
|
|
115
|
+
-- 8) Optionally delete the model row itself (+ fields)
|
|
116
|
+
--------------------------------------------------------------------
|
|
117
|
+
IF p_also_drop_model THEN
|
|
118
|
+
--------------------------------------------------------------
|
|
119
|
+
-- 8a) Null user_key_field_id pointing to fields of this model
|
|
120
|
+
--------------------------------------------------------------
|
|
121
|
+
UPDATE ss_model_metadata AS mm
|
|
122
|
+
SET user_key_field_id = NULL
|
|
123
|
+
WHERE mm.user_key_field_id IN (
|
|
124
|
+
SELECT f.id
|
|
125
|
+
FROM ss_field_metadata AS f
|
|
126
|
+
WHERE f.model_id = v_model_id
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
--------------------------------------------------------------
|
|
130
|
+
-- 8b) Null parent_model_id pointing to this model
|
|
131
|
+
--------------------------------------------------------------
|
|
132
|
+
UPDATE ss_model_metadata AS mm
|
|
133
|
+
SET parent_model_id = NULL
|
|
134
|
+
WHERE mm.parent_model_id = v_model_id;
|
|
135
|
+
|
|
136
|
+
--------------------------------------------------------------
|
|
137
|
+
-- 8c) Delete model
|
|
138
|
+
-- Fields are deleted automatically via ON DELETE CASCADE
|
|
139
|
+
--------------------------------------------------------------
|
|
140
|
+
DELETE FROM ss_model_metadata AS m
|
|
141
|
+
WHERE m.id = v_model_id;
|
|
142
|
+
END IF;
|
|
143
|
+
|
|
144
|
+
EXCEPTION
|
|
145
|
+
WHEN others THEN
|
|
146
|
+
RAISE;
|
|
147
|
+
END;
|
|
148
|
+
$$;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
CREATE OR REPLACE PROCEDURE cleanup_module_metadata(
|
|
2
|
+
IN p_module_name text,
|
|
3
|
+
IN p_also_drop_module boolean DEFAULT false
|
|
4
|
+
)
|
|
5
|
+
LANGUAGE plpgsql
|
|
6
|
+
AS $$
|
|
7
|
+
DECLARE
|
|
8
|
+
v_module_id int;
|
|
9
|
+
BEGIN
|
|
10
|
+
SELECT m.id
|
|
11
|
+
INTO v_module_id
|
|
12
|
+
FROM ss_module_metadata AS m
|
|
13
|
+
WHERE m.name = p_module_name;
|
|
14
|
+
|
|
15
|
+
IF v_module_id IS NULL THEN
|
|
16
|
+
RAISE EXCEPTION 'CleanupModuleMetadata: Module "%" not found.', p_module_name;
|
|
17
|
+
END IF;
|
|
18
|
+
|
|
19
|
+
----------------------------------------------------------------
|
|
20
|
+
-- 1) Delete menus for this module (children first, then roots)
|
|
21
|
+
----------------------------------------------------------------
|
|
22
|
+
DELETE FROM ss_menu_item_metadata AS mi
|
|
23
|
+
WHERE mi.module_id = v_module_id
|
|
24
|
+
AND mi.parent_menu_item_id IS NOT NULL;
|
|
25
|
+
|
|
26
|
+
DELETE FROM ss_menu_item_metadata AS mi
|
|
27
|
+
WHERE mi.module_id = v_module_id
|
|
28
|
+
AND mi.parent_menu_item_id IS NULL;
|
|
29
|
+
|
|
30
|
+
----------------------------------------------------------------
|
|
31
|
+
-- 2) Delete actions for this module
|
|
32
|
+
----------------------------------------------------------------
|
|
33
|
+
DELETE FROM ss_action_metadata AS a
|
|
34
|
+
WHERE a.module_id = v_module_id;
|
|
35
|
+
|
|
36
|
+
----------------------------------------------------------------
|
|
37
|
+
-- 3) Optionally delete the module row itself
|
|
38
|
+
-- (assumes ss_model_metadata.module_id has ON DELETE SET NULL)
|
|
39
|
+
----------------------------------------------------------------
|
|
40
|
+
IF p_also_drop_module THEN
|
|
41
|
+
DELETE FROM ss_module_metadata AS m
|
|
42
|
+
WHERE m.id = v_module_id;
|
|
43
|
+
END IF;
|
|
44
|
+
|
|
45
|
+
EXCEPTION
|
|
46
|
+
WHEN others THEN
|
|
47
|
+
-- preserve original error message/SQLSTATE
|
|
48
|
+
RAISE;
|
|
49
|
+
END;
|
|
50
|
+
$$;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
-- delete models
|
|
2
|
+
CALL cleanup_model_metadata('myrusPincodeMaster', false);
|
|
3
|
+
CALL cleanup_model_metadata('subSubCategoryMaster', true);
|
|
4
|
+
CALL cleanup_model_metadata('subCategoryMaster', true);
|
|
5
|
+
CALL cleanup_model_metadata('categoryMaster', true);
|
|
6
|
+
CALL cleanup_model_metadata('city', true);
|
|
7
|
+
CALL cleanup_model_metadata('state', true);
|
|
8
|
+
CALL cleanup_model_metadata('bankIfscMaster', true);
|
|
9
|
+
CALL cleanup_model_metadata('applicationDocumentVerificationMob2Vtb', true);
|
|
10
|
+
|
|
11
|
+
-- delete module
|
|
12
|
+
CALL cleanup_module_metadata('myrus-address-master', false);
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Specified Types
|
|
2
|
+
|
|
3
|
+
## JSON
|
|
4
|
+
- changed explicit type to "simple-json"
|
|
5
|
+
|
|
6
|
+
modified: src/dtos/create-field-metadata.dto.ts
|
|
7
|
+
modified: src/entities/ai-interaction.entity.ts
|
|
8
|
+
modified: src/entities/dashboard-question.entity.ts
|
|
9
|
+
modified: src/entities/dashboard-variable.entity.ts
|
|
10
|
+
modified: src/entities/field-metadata.entity.ts
|
|
11
|
+
deleted: src/entities/user.entity.ts.bkp
|
|
12
|
+
modified: src/seeders/seed-data/solid-core-metadata.json
|
|
13
|
+
modified: src/services/field-metadata.service.ts
|
|
14
|
+
|
|
15
|
+
- Removed explicit type boolean, TypeORM will now automagically create appropriate db type.
|
|
16
|
+
As part of this change we have removed ormType from solid-core-metadata.json.
|
|
17
|
+
Assumption being that next time we run solidCore refreshModel it will not bring type back in the @Column definitions.
|
|
18
|
+
|
|
19
|
+
modified: sql-server-changes.txt
|
|
20
|
+
modified: src/entities/action-metadata.entity.ts
|
|
21
|
+
modified: src/entities/ai-interaction.entity.ts
|
|
22
|
+
modified: src/entities/dashboard-variable.entity.ts
|
|
23
|
+
modified: src/entities/email-template.entity.ts
|
|
24
|
+
modified: src/entities/export-template.entity.ts
|
|
25
|
+
modified: src/entities/list-of-values.entity.ts
|
|
26
|
+
modified: src/entities/locale.entity.ts
|
|
27
|
+
modified: src/entities/saved-filters.entity.ts
|
|
28
|
+
modified: src/entities/scheduled-job.entity.ts
|
|
29
|
+
modified: src/entities/sms-template.entity.ts
|
|
30
|
+
modified: src/entities/user.entity.ts
|
|
31
|
+
modified: src/seeders/seed-data/solid-core-metadata.json
|
|
32
|
+
|
|
33
|
+
- Removed explicit type timestamp, as this has a separate meaning in SQL server. TypeORM will now automatically infer DB types based on TS type.
|
|
34
|
+
|
|
35
|
+
modified: sql-server-changes.txt
|
|
36
|
+
deleted: src/commands/ingest-rag-chunking-strategy-for.md
|
|
37
|
+
modified: src/entities/common.entity.ts
|
|
38
|
+
modified: src/entities/export-transaction.entity.ts
|
|
39
|
+
modified: src/entities/mq-message.entity.ts
|
|
40
|
+
modified: src/entities/scheduled-job.entity.ts
|
|
41
|
+
modified: src/entities/user.entity.ts
|
|
42
|
+
modified: src/helpers/model-metadata-helper.service.ts
|
|
43
|
+
modified: src/seeders/seed-data/solid-core-metadata.json
|
|
44
|
+
|
|
45
|
+
- Removed all onDelete attributes from all entities. This now defaults to "no action" which will stop cascading deletes from happening.
|
|
46
|
+
|
|
47
|
+
modified: src/entities/action-metadata.entity.ts
|
|
48
|
+
modified: src/entities/ai-interaction.entity.ts
|
|
49
|
+
modified: src/entities/chatter-message-details.entity.ts
|
|
50
|
+
modified: src/entities/chatter-message.entity.ts
|
|
51
|
+
modified: src/entities/common.entity.ts
|
|
52
|
+
modified: src/entities/dashboard-question-sql-dataset-config.entity.ts
|
|
53
|
+
modified: src/entities/dashboard-question.entity.ts
|
|
54
|
+
modified: src/entities/dashboard-variable.entity.ts
|
|
55
|
+
modified: src/entities/dashboard.entity.ts
|
|
56
|
+
modified: src/entities/export-template.entity.ts
|
|
57
|
+
modified: src/entities/export-transaction.entity.ts
|
|
58
|
+
modified: src/entities/import-transaction-error-log.entity.ts
|
|
59
|
+
modified: src/entities/import-transaction.entity.ts
|
|
60
|
+
modified: src/entities/list-of-values.entity.ts
|
|
61
|
+
modified: src/entities/media.entity.ts
|
|
62
|
+
modified: src/entities/menu-item-metadata.entity.ts
|
|
63
|
+
modified: src/entities/model-metadata.entity.ts
|
|
64
|
+
modified: src/entities/mq-message.entity.ts
|
|
65
|
+
modified: src/entities/saved-filters.entity.ts
|
|
66
|
+
modified: src/entities/scheduled-job.entity.ts
|
|
67
|
+
modified: src/entities/security-rule.entity.ts
|
|
68
|
+
modified: src/entities/setting.entity.ts
|
|
69
|
+
modified: src/entities/user-activity-history.entity.ts
|
|
70
|
+
modified: src/entities/user-view-metadata.entity.ts
|
|
71
|
+
modified: src/entities/view-metadata.entity.ts
|
|
72
|
+
|
|
73
|
+
- Issues with defaultValue attribute on field metadata being a non string values.
|
|
74
|
+
|
|
75
|
+
modified: sql-server-changes.txt
|
|
76
|
+
modified: src/seeders/seed-data/solid-core-metadata.json
|
|
77
|
+
|
|
78
|
+
- description field given explicit length 1024
|
|
79
|
+
modified: sql-server-changes.txt
|
|
80
|
+
modified: src/entities/field-metadata.entity.ts
|
|
81
|
+
|
|
82
|
+
- weird onUpdate fix TypeORM does not like for mssql seed menus issue
|
|
83
|
+
|
|
84
|
+
modified: sql-server-changes.txt
|
|
85
|
+
modified: src/seeders/module-metadata-seeder.service.ts
|
|
86
|
+
|
|
87
|
+
- If a field has been marked as unique and nullable, we should not add the @Unique decorator
|
|
88
|
+
- removed such instances in solid core
|