@solidxai/core 0.1.13-beta.0 → 0.1.13-beta.10
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/CHANGELOG.md +3786 -0
- package/dist/commands/run-tests.command.d.ts +7 -1
- package/dist/commands/run-tests.command.d.ts.map +1 -1
- package/dist/commands/run-tests.command.js +49 -3
- package/dist/commands/run-tests.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 +21 -0
- package/dist/commands/seed.command.js.map +1 -1
- package/dist/constants/chatter-message.constants.d.ts +1 -0
- package/dist/constants/chatter-message.constants.d.ts.map +1 -1
- package/dist/constants/chatter-message.constants.js +3 -1
- package/dist/constants/chatter-message.constants.js.map +1 -1
- package/dist/constants/draft-publish-fields.d.ts +2 -0
- package/dist/constants/draft-publish-fields.d.ts.map +1 -0
- package/dist/constants/draft-publish-fields.js +5 -0
- package/dist/constants/draft-publish-fields.js.map +1 -0
- package/dist/constants/media-file-types.d.ts +9 -0
- package/dist/constants/media-file-types.d.ts.map +1 -1
- package/dist/constants/media-file-types.js +27 -1
- package/dist/constants/media-file-types.js.map +1 -1
- package/dist/constants/user.constants.d.ts +2 -0
- package/dist/constants/user.constants.d.ts.map +1 -0
- package/dist/constants/user.constants.js +5 -0
- package/dist/constants/user.constants.js.map +1 -0
- package/dist/controllers/action-metadata.controller.d.ts +1 -1
- package/dist/controllers/action-metadata.controller.js +1 -1
- package/dist/controllers/agent-event.controller.d.ts +1 -1
- package/dist/controllers/agent-event.controller.js +1 -1
- package/dist/controllers/agent-session.controller.d.ts +1 -1
- package/dist/controllers/agent-session.controller.js +1 -1
- package/dist/controllers/chatter-message.controller.d.ts +5 -0
- package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
- package/dist/controllers/chatter-message.controller.js +14 -0
- package/dist/controllers/chatter-message.controller.js.map +1 -1
- package/dist/controllers/dashboard-user-layout.controller.d.ts +1 -1
- package/dist/controllers/dashboard-user-layout.controller.js +1 -1
- package/dist/controllers/email-template.controller.d.ts +1 -1
- package/dist/controllers/email-template.controller.js +1 -1
- package/dist/controllers/export-template.controller.d.ts +1 -1
- package/dist/controllers/export-template.controller.d.ts.map +1 -1
- package/dist/controllers/export-template.controller.js +6 -4
- package/dist/controllers/export-template.controller.js.map +1 -1
- package/dist/controllers/export-transaction.controller.d.ts +1 -1
- package/dist/controllers/export-transaction.controller.js +1 -1
- package/dist/controllers/import-transaction-error-log.controller.d.ts +1 -1
- package/dist/controllers/import-transaction-error-log.controller.js +1 -1
- package/dist/controllers/import-transaction.controller.d.ts +1 -1
- package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
- package/dist/controllers/import-transaction.controller.js +7 -7
- package/dist/controllers/import-transaction.controller.js.map +1 -1
- package/dist/controllers/list-of-values.controller.d.ts +1 -1
- package/dist/controllers/list-of-values.controller.js +1 -1
- package/dist/controllers/locale.controller.d.ts +1 -1
- package/dist/controllers/locale.controller.js +1 -1
- package/dist/controllers/mcp-audit-log.controller.d.ts +1 -1
- package/dist/controllers/mcp-audit-log.controller.js +1 -1
- package/dist/controllers/media.controller.d.ts +2 -2
- package/dist/controllers/media.controller.d.ts.map +1 -1
- package/dist/controllers/media.controller.js +13 -8
- package/dist/controllers/media.controller.js.map +1 -1
- package/dist/controllers/menu-item-metadata.controller.d.ts +1 -1
- package/dist/controllers/menu-item-metadata.controller.js +1 -1
- package/dist/controllers/model-sequence.controller.d.ts +1 -1
- package/dist/controllers/model-sequence.controller.js +1 -1
- package/dist/controllers/module-package.controller.d.ts.map +1 -1
- package/dist/controllers/module-package.controller.js +2 -3
- package/dist/controllers/module-package.controller.js.map +1 -1
- package/dist/controllers/mq-message-queue.controller.d.ts +1 -1
- package/dist/controllers/mq-message-queue.controller.js +1 -1
- package/dist/controllers/mq-message.controller.d.ts +1 -1
- package/dist/controllers/mq-message.controller.js +1 -1
- package/dist/controllers/permission-metadata.controller.d.ts +1 -1
- package/dist/controllers/permission-metadata.controller.js +1 -1
- package/dist/controllers/role-metadata.controller.d.ts +1 -1
- package/dist/controllers/role-metadata.controller.js +1 -1
- package/dist/controllers/saved-filters.controller.d.ts +1 -1
- package/dist/controllers/saved-filters.controller.js +1 -1
- package/dist/controllers/scheduled-job.controller.d.ts +1 -1
- package/dist/controllers/scheduled-job.controller.js +1 -1
- package/dist/controllers/security-rule.controller.d.ts +1 -1
- package/dist/controllers/security-rule.controller.js +1 -1
- package/dist/controllers/sms-template.controller.d.ts +1 -1
- package/dist/controllers/sms-template.controller.js +1 -1
- package/dist/controllers/user-activity-history.controller.d.ts +1 -1
- package/dist/controllers/user-activity-history.controller.js +1 -1
- package/dist/controllers/user-view-metadata.controller.d.ts +1 -1
- package/dist/controllers/user-view-metadata.controller.js +1 -1
- package/dist/controllers/user.controller.d.ts +2 -2
- package/dist/controllers/user.controller.js +2 -2
- package/dist/controllers/view-metadata.controller.d.ts +2 -2
- package/dist/controllers/view-metadata.controller.js +1 -1
- package/dist/controllers/workflow-definition.controller.d.ts +38 -0
- package/dist/controllers/workflow-definition.controller.d.ts.map +1 -0
- package/dist/controllers/workflow-definition.controller.js +272 -0
- package/dist/controllers/workflow-definition.controller.js.map +1 -0
- package/dist/controllers/workflow-execution-artifact.controller.d.ts +24 -0
- package/dist/controllers/workflow-execution-artifact.controller.d.ts.map +1 -0
- package/dist/controllers/workflow-execution-artifact.controller.js +179 -0
- package/dist/controllers/workflow-execution-artifact.controller.js.map +1 -0
- package/dist/controllers/workflow-execution-log.controller.d.ts +24 -0
- package/dist/controllers/workflow-execution-log.controller.d.ts.map +1 -0
- package/dist/controllers/workflow-execution-log.controller.js +179 -0
- package/dist/controllers/workflow-execution-log.controller.js.map +1 -0
- package/dist/controllers/workflow-execution.controller.d.ts +29 -0
- package/dist/controllers/workflow-execution.controller.d.ts.map +1 -0
- package/dist/controllers/workflow-execution.controller.js +227 -0
- package/dist/controllers/workflow-execution.controller.js.map +1 -0
- package/dist/controllers/workflow-secret.controller.d.ts +24 -0
- package/dist/controllers/workflow-secret.controller.d.ts.map +1 -0
- package/dist/controllers/workflow-secret.controller.js +179 -0
- package/dist/controllers/workflow-secret.controller.js.map +1 -0
- package/dist/controllers/workflow-step-execution.controller.d.ts +24 -0
- package/dist/controllers/workflow-step-execution.controller.d.ts.map +1 -0
- package/dist/controllers/workflow-step-execution.controller.js +179 -0
- package/dist/controllers/workflow-step-execution.controller.js.map +1 -0
- package/dist/controllers/workflow-trigger-execution.controller.d.ts +24 -0
- package/dist/controllers/workflow-trigger-execution.controller.d.ts.map +1 -0
- package/dist/controllers/workflow-trigger-execution.controller.js +179 -0
- package/dist/controllers/workflow-trigger-execution.controller.js.map +1 -0
- package/dist/decorators/workflow-node-provider.decorator.d.ts +4 -0
- package/dist/decorators/workflow-node-provider.decorator.d.ts.map +1 -0
- package/dist/decorators/workflow-node-provider.decorator.js +13 -0
- package/dist/decorators/workflow-node-provider.decorator.js.map +1 -0
- package/dist/dtos/basic-filters.dto.d.ts +0 -1
- package/dist/dtos/basic-filters.dto.d.ts.map +1 -1
- package/dist/dtos/basic-filters.dto.js +1 -6
- package/dist/dtos/basic-filters.dto.js.map +1 -1
- package/dist/dtos/create-workflow-definition.dto.d.ts +14 -0
- package/dist/dtos/create-workflow-definition.dto.d.ts.map +1 -0
- package/dist/dtos/create-workflow-definition.dto.js +92 -0
- package/dist/dtos/create-workflow-definition.dto.js.map +1 -0
- package/dist/dtos/create-workflow-execution-artifact.dto.d.ts +22 -0
- package/dist/dtos/create-workflow-execution-artifact.dto.d.ts.map +1 -0
- package/dist/dtos/create-workflow-execution-artifact.dto.js +139 -0
- package/dist/dtos/create-workflow-execution-artifact.dto.js.map +1 -0
- package/dist/dtos/create-workflow-execution-log.dto.d.ts +18 -0
- package/dist/dtos/create-workflow-execution-log.dto.d.ts.map +1 -0
- package/dist/dtos/create-workflow-execution-log.dto.js +116 -0
- package/dist/dtos/create-workflow-execution-log.dto.js.map +1 -0
- package/dist/dtos/create-workflow-execution.dto.d.ts +33 -0
- package/dist/dtos/create-workflow-execution.dto.d.ts.map +1 -0
- package/dist/dtos/create-workflow-execution.dto.js +186 -0
- package/dist/dtos/create-workflow-execution.dto.js.map +1 -0
- package/dist/dtos/create-workflow-secret.dto.d.ts +11 -0
- package/dist/dtos/create-workflow-secret.dto.d.ts.map +1 -0
- package/dist/dtos/create-workflow-secret.dto.js +74 -0
- package/dist/dtos/create-workflow-secret.dto.js.map +1 -0
- package/dist/dtos/create-workflow-step-execution.dto.d.ts +27 -0
- package/dist/dtos/create-workflow-step-execution.dto.d.ts.map +1 -0
- package/dist/dtos/create-workflow-step-execution.dto.js +171 -0
- package/dist/dtos/create-workflow-step-execution.dto.js.map +1 -0
- package/dist/dtos/create-workflow-trigger-execution.dto.d.ts +25 -0
- package/dist/dtos/create-workflow-trigger-execution.dto.d.ts.map +1 -0
- package/dist/dtos/create-workflow-trigger-execution.dto.js +158 -0
- package/dist/dtos/create-workflow-trigger-execution.dto.js.map +1 -0
- package/dist/dtos/execute-workflow.dto.d.ts +7 -0
- package/dist/dtos/execute-workflow.dto.d.ts.map +1 -0
- package/dist/dtos/execute-workflow.dto.js +11 -0
- package/dist/dtos/execute-workflow.dto.js.map +1 -0
- package/dist/dtos/update-workflow-definition.dto.d.ts +15 -0
- package/dist/dtos/update-workflow-definition.dto.d.ts.map +1 -0
- package/dist/dtos/update-workflow-definition.dto.js +97 -0
- package/dist/dtos/update-workflow-definition.dto.js.map +1 -0
- package/dist/dtos/update-workflow-execution-artifact.dto.d.ts +23 -0
- package/dist/dtos/update-workflow-execution-artifact.dto.d.ts.map +1 -0
- package/dist/dtos/update-workflow-execution-artifact.dto.js +143 -0
- package/dist/dtos/update-workflow-execution-artifact.dto.js.map +1 -0
- package/dist/dtos/update-workflow-execution-log.dto.d.ts +19 -0
- package/dist/dtos/update-workflow-execution-log.dto.d.ts.map +1 -0
- package/dist/dtos/update-workflow-execution-log.dto.js +121 -0
- package/dist/dtos/update-workflow-execution-log.dto.js.map +1 -0
- package/dist/dtos/update-workflow-execution.dto.d.ts +34 -0
- package/dist/dtos/update-workflow-execution.dto.d.ts.map +1 -0
- package/dist/dtos/update-workflow-execution.dto.js +190 -0
- package/dist/dtos/update-workflow-execution.dto.js.map +1 -0
- package/dist/dtos/update-workflow-secret.dto.d.ts +12 -0
- package/dist/dtos/update-workflow-secret.dto.d.ts.map +1 -0
- package/dist/dtos/update-workflow-secret.dto.js +80 -0
- package/dist/dtos/update-workflow-secret.dto.js.map +1 -0
- package/dist/dtos/update-workflow-step-execution.dto.d.ts +28 -0
- package/dist/dtos/update-workflow-step-execution.dto.d.ts.map +1 -0
- package/dist/dtos/update-workflow-step-execution.dto.js +175 -0
- package/dist/dtos/update-workflow-step-execution.dto.js.map +1 -0
- package/dist/dtos/update-workflow-trigger-execution.dto.d.ts +26 -0
- package/dist/dtos/update-workflow-trigger-execution.dto.d.ts.map +1 -0
- package/dist/dtos/update-workflow-trigger-execution.dto.js +163 -0
- package/dist/dtos/update-workflow-trigger-execution.dto.js.map +1 -0
- package/dist/dtos/validate-workflow-definition.dto.d.ts +4 -0
- package/dist/dtos/validate-workflow-definition.dto.d.ts.map +1 -0
- package/dist/dtos/validate-workflow-definition.dto.js +11 -0
- package/dist/dtos/validate-workflow-definition.dto.js.map +1 -0
- package/dist/entities/common.entity.d.ts +4 -0
- package/dist/entities/common.entity.d.ts.map +1 -1
- package/dist/entities/common.entity.js +25 -1
- package/dist/entities/common.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +36 -0
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/workflow-definition.entity.d.ts +15 -0
- package/dist/entities/workflow-definition.entity.d.ts.map +1 -0
- package/dist/entities/workflow-definition.entity.js +77 -0
- package/dist/entities/workflow-definition.entity.js.map +1 -0
- package/dist/entities/workflow-execution-artifact.entity.d.ts +23 -0
- package/dist/entities/workflow-execution-artifact.entity.d.ts.map +1 -0
- package/dist/entities/workflow-execution-artifact.entity.js +113 -0
- package/dist/entities/workflow-execution-artifact.entity.js.map +1 -0
- package/dist/entities/workflow-execution-log.entity.d.ts +19 -0
- package/dist/entities/workflow-execution-log.entity.d.ts.map +1 -0
- package/dist/entities/workflow-execution-log.entity.js +95 -0
- package/dist/entities/workflow-execution-log.entity.js.map +1 -0
- package/dist/entities/workflow-execution.entity.d.ts +28 -0
- package/dist/entities/workflow-execution.entity.d.ts.map +1 -0
- package/dist/entities/workflow-execution.entity.js +124 -0
- package/dist/entities/workflow-execution.entity.js.map +1 -0
- package/dist/entities/workflow-secret.entity.d.ts +12 -0
- package/dist/entities/workflow-secret.entity.d.ts.map +1 -0
- package/dist/entities/workflow-secret.entity.js +66 -0
- package/dist/entities/workflow-secret.entity.js.map +1 -0
- package/dist/entities/workflow-step-execution.entity.d.ts +28 -0
- package/dist/entities/workflow-step-execution.entity.d.ts.map +1 -0
- package/dist/entities/workflow-step-execution.entity.js +138 -0
- package/dist/entities/workflow-step-execution.entity.js.map +1 -0
- package/dist/entities/workflow-trigger-execution.entity.d.ts +26 -0
- package/dist/entities/workflow-trigger-execution.entity.d.ts.map +1 -0
- package/dist/entities/workflow-trigger-execution.entity.js +127 -0
- package/dist/entities/workflow-trigger-execution.entity.js.map +1 -0
- package/dist/factories/mail.factory.d.ts.map +1 -1
- package/dist/factories/mail.factory.js +4 -0
- package/dist/factories/mail.factory.js.map +1 -1
- package/dist/factories/sms.factory.d.ts.map +1 -1
- package/dist/factories/sms.factory.js +4 -1
- package/dist/factories/sms.factory.js.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +1 -0
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js +18 -11
- package/dist/helpers/field-crud-managers/MediaFieldCrudManager.js.map +1 -1
- package/dist/helpers/file-download.helper.d.ts +9 -0
- package/dist/helpers/file-download.helper.d.ts.map +1 -0
- package/dist/helpers/file-download.helper.js +14 -0
- package/dist/helpers/file-download.helper.js.map +1 -0
- package/dist/helpers/model-metadata-helper.service.d.ts.map +1 -1
- package/dist/helpers/model-metadata-helper.service.js +30 -1
- package/dist/helpers/model-metadata-helper.service.js.map +1 -1
- package/dist/helpers/solid-registry.js +1 -1
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/index.d.ts +58 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/workflow-node-handler.interface.d.ts +5 -0
- package/dist/interfaces/workflow-node-handler.interface.d.ts.map +1 -0
- package/dist/interfaces/workflow-node-handler.interface.js +3 -0
- package/dist/interfaces/workflow-node-handler.interface.js.map +1 -0
- package/dist/interfaces.d.ts +1 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/database/workflow-execution-publisher-database.service.d.ts +12 -0
- package/dist/jobs/database/workflow-execution-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/workflow-execution-publisher-database.service.js +39 -0
- package/dist/jobs/database/workflow-execution-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/workflow-execution-queue-options-database.d.ts +8 -0
- package/dist/jobs/database/workflow-execution-queue-options-database.d.ts.map +1 -0
- package/dist/jobs/database/workflow-execution-queue-options-database.js +10 -0
- package/dist/jobs/database/workflow-execution-queue-options-database.js.map +1 -0
- package/dist/jobs/database/workflow-execution-subscriber-database.service.d.ts +19 -0
- package/dist/jobs/database/workflow-execution-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/workflow-execution-subscriber-database.service.js +55 -0
- package/dist/jobs/database/workflow-execution-subscriber-database.service.js.map +1 -0
- package/dist/jobs/rabbitmq/workflow-execution-publisher.service.d.ts +12 -0
- package/dist/jobs/rabbitmq/workflow-execution-publisher.service.d.ts.map +1 -0
- package/dist/jobs/rabbitmq/workflow-execution-publisher.service.js +39 -0
- package/dist/jobs/rabbitmq/workflow-execution-publisher.service.js.map +1 -0
- package/dist/jobs/rabbitmq/workflow-execution-queue-options.d.ts +8 -0
- package/dist/jobs/rabbitmq/workflow-execution-queue-options.d.ts.map +1 -0
- package/dist/jobs/rabbitmq/workflow-execution-queue-options.js +10 -0
- package/dist/jobs/rabbitmq/workflow-execution-queue-options.js.map +1 -0
- package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.d.ts +17 -0
- package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.d.ts.map +1 -0
- package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.js +52 -0
- package/dist/jobs/rabbitmq/workflow-execution-subscriber.service.js.map +1 -0
- package/dist/jobs/redis/workflow-execution-publisher-redis.service.d.ts +12 -0
- package/dist/jobs/redis/workflow-execution-publisher-redis.service.d.ts.map +1 -0
- package/dist/jobs/redis/workflow-execution-publisher-redis.service.js +39 -0
- package/dist/jobs/redis/workflow-execution-publisher-redis.service.js.map +1 -0
- package/dist/jobs/redis/workflow-execution-queue-options-redis.d.ts +8 -0
- package/dist/jobs/redis/workflow-execution-queue-options-redis.d.ts.map +1 -0
- package/dist/jobs/redis/workflow-execution-queue-options-redis.js +10 -0
- package/dist/jobs/redis/workflow-execution-queue-options-redis.js.map +1 -0
- package/dist/jobs/redis/workflow-execution-subscriber-redis.service.d.ts +17 -0
- package/dist/jobs/redis/workflow-execution-subscriber-redis.service.d.ts.map +1 -0
- package/dist/jobs/redis/workflow-execution-subscriber-redis.service.js +52 -0
- package/dist/jobs/redis/workflow-execution-subscriber-redis.service.js.map +1 -0
- package/dist/repository/workflow-definition.repository.d.ts +12 -0
- package/dist/repository/workflow-definition.repository.d.ts.map +1 -0
- package/dist/repository/workflow-definition.repository.js +39 -0
- package/dist/repository/workflow-definition.repository.js.map +1 -0
- package/dist/repository/workflow-execution-artifact.repository.d.ts +12 -0
- package/dist/repository/workflow-execution-artifact.repository.d.ts.map +1 -0
- package/dist/repository/workflow-execution-artifact.repository.js +39 -0
- package/dist/repository/workflow-execution-artifact.repository.js.map +1 -0
- package/dist/repository/workflow-execution-log.repository.d.ts +12 -0
- package/dist/repository/workflow-execution-log.repository.d.ts.map +1 -0
- package/dist/repository/workflow-execution-log.repository.js +39 -0
- package/dist/repository/workflow-execution-log.repository.js.map +1 -0
- package/dist/repository/workflow-execution.repository.d.ts +12 -0
- package/dist/repository/workflow-execution.repository.d.ts.map +1 -0
- package/dist/repository/workflow-execution.repository.js +39 -0
- package/dist/repository/workflow-execution.repository.js.map +1 -0
- package/dist/repository/workflow-secret.repository.d.ts +12 -0
- package/dist/repository/workflow-secret.repository.d.ts.map +1 -0
- package/dist/repository/workflow-secret.repository.js +39 -0
- package/dist/repository/workflow-secret.repository.js.map +1 -0
- package/dist/repository/workflow-step-execution.repository.d.ts +12 -0
- package/dist/repository/workflow-step-execution.repository.d.ts.map +1 -0
- package/dist/repository/workflow-step-execution.repository.js +39 -0
- package/dist/repository/workflow-step-execution.repository.js.map +1 -0
- package/dist/repository/workflow-trigger-execution.repository.d.ts +12 -0
- package/dist/repository/workflow-trigger-execution.repository.d.ts.map +1 -0
- package/dist/repository/workflow-trigger-execution.repository.js +39 -0
- package/dist/repository/workflow-trigger-execution.repository.js.map +1 -0
- package/dist/seeders/module-metadata-seeder.service.d.ts +6 -0
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +185 -27
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/module-test-data.service.d.ts +3 -1
- package/dist/seeders/module-test-data.service.d.ts.map +1 -1
- package/dist/seeders/module-test-data.service.js +8 -2
- package/dist/seeders/module-test-data.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +11494 -5570
- package/dist/services/authentication.service.d.ts +4 -1
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +52 -4
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts +11 -0
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +52 -3
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/crud-helper.service.d.ts +5 -2
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +30 -32
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +13 -1
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +92 -67
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/datasource-introspection.service.d.ts.map +1 -1
- package/dist/services/datasource-introspection.service.js.map +1 -1
- package/dist/services/draft-publish-helper.service.d.ts +52 -0
- package/dist/services/draft-publish-helper.service.d.ts.map +1 -0
- package/dist/services/draft-publish-helper.service.js +368 -0
- package/dist/services/draft-publish-helper.service.js.map +1 -0
- package/dist/services/internationalisation-helper.service.d.ts +19 -0
- package/dist/services/internationalisation-helper.service.d.ts.map +1 -0
- package/dist/services/internationalisation-helper.service.js +107 -0
- package/dist/services/internationalisation-helper.service.js.map +1 -0
- package/dist/services/locale.service.d.ts +1 -1
- package/dist/services/media.service.d.ts +3 -2
- package/dist/services/media.service.d.ts.map +1 -1
- package/dist/services/media.service.js +44 -29
- package/dist/services/media.service.js.map +1 -1
- package/dist/services/metadata-validation.service.d.ts +7 -0
- package/dist/services/metadata-validation.service.d.ts.map +1 -0
- package/dist/services/metadata-validation.service.js +42 -0
- package/dist/services/metadata-validation.service.js.map +1 -0
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +2 -1
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/object.utils.d.ts +2 -0
- package/dist/services/object.utils.d.ts.map +1 -0
- package/dist/services/object.utils.js +11 -0
- package/dist/services/object.utils.js.map +1 -0
- package/dist/services/settings/default-settings-provider.service.d.ts +46 -6
- package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
- package/dist/services/settings/default-settings-provider.service.js +29 -3
- package/dist/services/settings/default-settings-provider.service.js.map +1 -1
- package/dist/services/user.service.d.ts +2 -2
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +9 -3
- package/dist/services/user.service.js.map +1 -1
- package/dist/services/view-metadata.service.d.ts +1 -2
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +3 -55
- package/dist/services/view-metadata.service.js.map +1 -1
- package/dist/services/workflow/nodes/execution-fail.node.d.ts +6 -0
- package/dist/services/workflow/nodes/execution-fail.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/execution-fail.node.js +81 -0
- package/dist/services/workflow/nodes/execution-fail.node.js.map +1 -0
- package/dist/services/workflow/nodes/for-each.node.d.ts +8 -0
- package/dist/services/workflow/nodes/for-each.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/for-each.node.js +204 -0
- package/dist/services/workflow/nodes/for-each.node.js.map +1 -0
- package/dist/services/workflow/nodes/http-request.node.d.ts +13 -0
- package/dist/services/workflow/nodes/http-request.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/http-request.node.js +549 -0
- package/dist/services/workflow/nodes/http-request.node.js.map +1 -0
- package/dist/services/workflow/nodes/if.node.d.ts +6 -0
- package/dist/services/workflow/nodes/if.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/if.node.js +100 -0
- package/dist/services/workflow/nodes/if.node.js.map +1 -0
- package/dist/services/workflow/nodes/log-write.node.d.ts +6 -0
- package/dist/services/workflow/nodes/log-write.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/log-write.node.js +231 -0
- package/dist/services/workflow/nodes/log-write.node.js.map +1 -0
- package/dist/services/workflow/nodes/loop-until.node.d.ts +12 -0
- package/dist/services/workflow/nodes/loop-until.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/loop-until.node.js +281 -0
- package/dist/services/workflow/nodes/loop-until.node.js.map +1 -0
- package/dist/services/workflow/nodes/parallel.node.d.ts +6 -0
- package/dist/services/workflow/nodes/parallel.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/parallel.node.js +83 -0
- package/dist/services/workflow/nodes/parallel.node.js.map +1 -0
- package/dist/services/workflow/nodes/runtime-python.node.d.ts +13 -0
- package/dist/services/workflow/nodes/runtime-python.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/runtime-python.node.js +522 -0
- package/dist/services/workflow/nodes/runtime-python.node.js.map +1 -0
- package/dist/services/workflow/nodes/sequential.node.d.ts +6 -0
- package/dist/services/workflow/nodes/sequential.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/sequential.node.js +68 -0
- package/dist/services/workflow/nodes/sequential.node.js.map +1 -0
- package/dist/services/workflow/nodes/solidx-api.helpers.d.ts +25 -0
- package/dist/services/workflow/nodes/solidx-api.helpers.d.ts.map +1 -0
- package/dist/services/workflow/nodes/solidx-api.helpers.js +143 -0
- package/dist/services/workflow/nodes/solidx-api.helpers.js.map +1 -0
- package/dist/services/workflow/nodes/solidx-crud.nodes.d.ts +48 -0
- package/dist/services/workflow/nodes/solidx-crud.nodes.d.ts.map +1 -0
- package/dist/services/workflow/nodes/solidx-crud.nodes.js +475 -0
- package/dist/services/workflow/nodes/solidx-crud.nodes.js.map +1 -0
- package/dist/services/workflow/nodes/solidx-login.node.d.ts +6 -0
- package/dist/services/workflow/nodes/solidx-login.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/solidx-login.node.js +208 -0
- package/dist/services/workflow/nodes/solidx-login.node.js.map +1 -0
- package/dist/services/workflow/nodes/solidx-send-email.node.d.ts +11 -0
- package/dist/services/workflow/nodes/solidx-send-email.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/solidx-send-email.node.js +437 -0
- package/dist/services/workflow/nodes/solidx-send-email.node.js.map +1 -0
- package/dist/services/workflow/nodes/solidx-send-sms.node.d.ts +10 -0
- package/dist/services/workflow/nodes/solidx-send-sms.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/solidx-send-sms.node.js +347 -0
- package/dist/services/workflow/nodes/solidx-send-sms.node.js.map +1 -0
- package/dist/services/workflow/nodes/switch.node.d.ts +7 -0
- package/dist/services/workflow/nodes/switch.node.d.ts.map +1 -0
- package/dist/services/workflow/nodes/switch.node.js +120 -0
- package/dist/services/workflow/nodes/switch.node.js.map +1 -0
- package/dist/services/workflow/workflow-definition-metadata-sync.service.d.ts +19 -0
- package/dist/services/workflow/workflow-definition-metadata-sync.service.d.ts.map +1 -0
- package/dist/services/workflow/workflow-definition-metadata-sync.service.js +187 -0
- package/dist/services/workflow/workflow-definition-metadata-sync.service.js.map +1 -0
- package/dist/services/workflow/workflow-definition-validator.service.d.ts +13 -0
- package/dist/services/workflow/workflow-definition-validator.service.d.ts.map +1 -0
- package/dist/services/workflow/workflow-definition-validator.service.js +166 -0
- package/dist/services/workflow/workflow-definition-validator.service.js.map +1 -0
- package/dist/services/workflow/workflow-execution-writer.service.d.ts +26 -0
- package/dist/services/workflow/workflow-execution-writer.service.d.ts.map +1 -0
- package/dist/services/workflow/workflow-execution-writer.service.js +191 -0
- package/dist/services/workflow/workflow-execution-writer.service.js.map +1 -0
- package/dist/services/workflow/workflow-expression.service.d.ts +14 -0
- package/dist/services/workflow/workflow-expression.service.d.ts.map +1 -0
- package/dist/services/workflow/workflow-expression.service.js +157 -0
- package/dist/services/workflow/workflow-expression.service.js.map +1 -0
- package/dist/services/workflow/workflow-invocation.service.d.ts +11 -0
- package/dist/services/workflow/workflow-invocation.service.d.ts.map +1 -0
- package/dist/services/workflow/workflow-invocation.service.js +37 -0
- package/dist/services/workflow/workflow-invocation.service.js.map +1 -0
- package/dist/services/workflow/workflow-node-registry.service.d.ts +19 -0
- package/dist/services/workflow/workflow-node-registry.service.d.ts.map +1 -0
- package/dist/services/workflow/workflow-node-registry.service.js +117 -0
- package/dist/services/workflow/workflow-node-registry.service.js.map +1 -0
- package/dist/services/workflow/workflow-runtime.service.d.ts +61 -0
- package/dist/services/workflow/workflow-runtime.service.d.ts.map +1 -0
- package/dist/services/workflow/workflow-runtime.service.js +706 -0
- package/dist/services/workflow/workflow-runtime.service.js.map +1 -0
- package/dist/services/workflow/workflow-scheduled-trigger.job.d.ts +10 -0
- package/dist/services/workflow/workflow-scheduled-trigger.job.d.ts.map +1 -0
- package/dist/services/workflow/workflow-scheduled-trigger.job.js +37 -0
- package/dist/services/workflow/workflow-scheduled-trigger.job.js.map +1 -0
- package/dist/services/workflow-definition.service.d.ts +52 -0
- package/dist/services/workflow-definition.service.d.ts.map +1 -0
- package/dist/services/workflow-definition.service.js +251 -0
- package/dist/services/workflow-definition.service.js.map +1 -0
- package/dist/services/workflow-execution-artifact.service.d.ts +12 -0
- package/dist/services/workflow-execution-artifact.service.d.ts.map +1 -0
- package/dist/services/workflow-execution-artifact.service.js +38 -0
- package/dist/services/workflow-execution-artifact.service.js.map +1 -0
- package/dist/services/workflow-execution-log.service.d.ts +12 -0
- package/dist/services/workflow-execution-log.service.d.ts.map +1 -0
- package/dist/services/workflow-execution-log.service.js +38 -0
- package/dist/services/workflow-execution-log.service.js.map +1 -0
- package/dist/services/workflow-execution.service.d.ts +12 -0
- package/dist/services/workflow-execution.service.d.ts.map +1 -0
- package/dist/services/workflow-execution.service.js +38 -0
- package/dist/services/workflow-execution.service.js.map +1 -0
- package/dist/services/workflow-secret.service.d.ts +25 -0
- package/dist/services/workflow-secret.service.d.ts.map +1 -0
- package/dist/services/workflow-secret.service.js +152 -0
- package/dist/services/workflow-secret.service.js.map +1 -0
- package/dist/services/workflow-step-execution.service.d.ts +12 -0
- package/dist/services/workflow-step-execution.service.d.ts.map +1 -0
- package/dist/services/workflow-step-execution.service.js +38 -0
- package/dist/services/workflow-step-execution.service.js.map +1 -0
- package/dist/services/workflow-trigger-execution.service.d.ts +12 -0
- package/dist/services/workflow-trigger-execution.service.d.ts.map +1 -0
- package/dist/services/workflow-trigger-execution.service.js +38 -0
- package/dist/services/workflow-trigger-execution.service.js.map +1 -0
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +131 -1
- package/dist/solid-core.module.js.map +1 -1
- package/dist/testing/adapters/ui/playwright-adapter.d.ts +5 -0
- package/dist/testing/adapters/ui/playwright-adapter.d.ts.map +1 -1
- package/dist/testing/adapters/ui/playwright-adapter.js +17 -1
- package/dist/testing/adapters/ui/playwright-adapter.js.map +1 -1
- package/dist/testing/adapters/ui/ui.types.d.ts +2 -0
- package/dist/testing/adapters/ui/ui.types.d.ts.map +1 -1
- package/dist/testing/adapters/ui/ui.types.js.map +1 -1
- package/dist/testing/steps/ui/actions.step.d.ts.map +1 -1
- package/dist/testing/steps/ui/actions.step.js +6 -2
- package/dist/testing/steps/ui/actions.step.js.map +1 -1
- package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -1
- package/dist/testing/steps/ui/assertions.step.js +11 -3
- package/dist/testing/steps/ui/assertions.step.js.map +1 -1
- package/dist/testing/steps/ui/form.step.d.ts.map +1 -1
- package/dist/testing/steps/ui/form.step.js +9 -3
- package/dist/testing/steps/ui/form.step.js.map +1 -1
- package/dist/testing/steps/ui/manual.step.js +1 -1
- package/dist/testing/steps/ui/manual.step.js.map +1 -1
- package/dist/testing/steps/ui/navigation.step.d.ts.map +1 -1
- package/dist/testing/steps/ui/navigation.step.js +3 -1
- package/dist/testing/steps/ui/navigation.step.js.map +1 -1
- package/dist/transformers/empty-string-to-null-transformer.d.ts +4 -0
- package/dist/transformers/empty-string-to-null-transformer.d.ts.map +1 -0
- package/dist/transformers/empty-string-to-null-transformer.js +12 -0
- package/dist/transformers/empty-string-to-null-transformer.js.map +1 -0
- package/dist/types/workflow-dsl.types.d.ts +291 -0
- package/dist/types/workflow-dsl.types.d.ts.map +1 -0
- package/dist/types/workflow-dsl.types.js +3 -0
- package/dist/types/workflow-dsl.types.js.map +1 -0
- package/dist/types/workflow-execution-queue.types.d.ts +4 -0
- package/dist/types/workflow-execution-queue.types.d.ts.map +1 -0
- package/dist/types/workflow-execution-queue.types.js +3 -0
- package/dist/types/workflow-execution-queue.types.js.map +1 -0
- package/package.json +3 -2
- package/src/commands/run-tests.command.ts +47 -1
- package/src/commands/seed.command.ts +19 -0
- package/src/constants/chatter-message.constants.ts +12 -0
- package/src/constants/draft-publish-fields.ts +5 -0
- package/src/constants/media-file-types.ts +50 -0
- package/src/constants/user.constants.ts +13 -0
- package/src/controllers/chatter-message.controller.ts +8 -0
- package/src/controllers/export-template.controller.ts +5 -3
- package/src/controllers/import-transaction.controller.ts +6 -6
- package/src/controllers/media.controller.ts +17 -6
- package/src/controllers/module-package.controller.ts +2 -3
- package/src/controllers/workflow-definition.controller.ts +141 -0
- package/src/controllers/workflow-execution-artifact.controller.ts +93 -0
- package/src/controllers/workflow-execution-log.controller.ts +93 -0
- package/src/controllers/workflow-execution.controller.ts +126 -0
- package/src/controllers/workflow-secret.controller.ts +90 -0
- package/src/controllers/workflow-step-execution.controller.ts +93 -0
- package/src/controllers/workflow-trigger-execution.controller.ts +93 -0
- package/src/decorators/workflow-node-provider.decorator.ts +14 -0
- package/src/dtos/basic-filters.dto.ts +0 -4
- package/src/dtos/create-workflow-definition.dto.ts +60 -0
- package/src/dtos/create-workflow-execution-artifact.dto.ts +99 -0
- package/src/dtos/create-workflow-execution-log.dto.ts +80 -0
- package/src/dtos/create-workflow-execution.dto.ts +137 -0
- package/src/dtos/create-workflow-secret.dto.ts +44 -0
- package/src/dtos/create-workflow-step-execution.dto.ts +123 -0
- package/src/dtos/create-workflow-trigger-execution.dto.ts +114 -0
- package/src/dtos/execute-workflow.dto.ts +6 -0
- package/src/dtos/update-workflow-definition.dto.ts +67 -0
- package/src/dtos/update-workflow-execution-artifact.dto.ts +105 -0
- package/src/dtos/update-workflow-execution-log.dto.ts +87 -0
- package/src/dtos/update-workflow-execution.dto.ts +144 -0
- package/src/dtos/update-workflow-secret.dto.ts +53 -0
- package/src/dtos/update-workflow-step-execution.dto.ts +132 -0
- package/src/dtos/update-workflow-trigger-execution.dto.ts +122 -0
- package/src/dtos/validate-workflow-definition.dto.ts +3 -0
- package/src/entities/common.entity.ts +24 -0
- package/src/entities/user.entity.ts +53 -36
- package/src/entities/workflow-definition.entity.ts +43 -0
- package/src/entities/workflow-execution-artifact.entity.ts +72 -0
- package/src/entities/workflow-execution-log.entity.ts +58 -0
- package/src/entities/workflow-execution.entity.ts +82 -0
- package/src/entities/workflow-secret.entity.ts +33 -0
- package/src/entities/workflow-step-execution.entity.ts +88 -0
- package/src/entities/workflow-trigger-execution.entity.ts +82 -0
- package/src/factories/mail.factory.ts +7 -1
- package/src/factories/sms.factory.ts +4 -1
- package/src/helpers/field-crud-managers/MediaFieldCrudManager.ts +26 -12
- package/src/helpers/file-download.helper.ts +31 -0
- package/src/helpers/model-metadata-helper.service.ts +32 -1
- package/src/helpers/solid-registry.ts +1 -1
- package/src/index.ts +58 -0
- package/src/interfaces/workflow-node-handler.interface.ts +10 -0
- package/src/interfaces.ts +1 -0
- package/src/jobs/database/workflow-execution-publisher-database.service.ts +24 -0
- package/src/jobs/database/workflow-execution-queue-options-database.ts +9 -0
- package/src/jobs/database/workflow-execution-subscriber-database.service.ts +44 -0
- package/src/jobs/rabbitmq/workflow-execution-publisher.service.ts +24 -0
- package/src/jobs/rabbitmq/workflow-execution-queue-options.ts +9 -0
- package/src/jobs/rabbitmq/workflow-execution-subscriber.service.ts +42 -0
- package/src/jobs/redis/workflow-execution-publisher-redis.service.ts +24 -0
- package/src/jobs/redis/workflow-execution-queue-options-redis.ts +9 -0
- package/src/jobs/redis/workflow-execution-subscriber-redis.service.ts +42 -0
- package/src/repository/workflow-definition.repository.ts +19 -0
- package/src/repository/workflow-execution-artifact.repository.ts +19 -0
- package/src/repository/workflow-execution-log.repository.ts +19 -0
- package/src/repository/workflow-execution.repository.ts +19 -0
- package/src/repository/workflow-secret.repository.ts +19 -0
- package/src/repository/workflow-step-execution.repository.ts +19 -0
- package/src/repository/workflow-trigger-execution.repository.ts +19 -0
- package/src/seeders/module-metadata-seeder.service.ts +216 -40
- package/src/seeders/module-test-data.service.ts +6 -0
- package/src/seeders/seed-data/solid-core-metadata.json +11494 -5570
- package/src/services/authentication.service.ts +76 -5
- package/src/services/chatter-message.service.ts +102 -4
- package/src/services/crud-helper.service.ts +16 -34
- package/src/services/crud.service.ts +129 -104
- package/src/services/datasource-introspection.service.ts +5 -0
- package/src/services/draft-publish-helper.service.ts +529 -0
- package/src/services/internationalisation-helper.service.ts +148 -0
- package/src/services/media.service.ts +67 -36
- package/src/services/metadata-validation.service.ts +39 -0
- package/src/services/model-metadata.service.ts +4 -1
- package/src/services/object.utils.ts +10 -0
- package/src/services/settings/default-settings-provider.service.ts +35 -3
- package/src/services/user.service.ts +18 -3
- package/src/services/view-metadata.service.ts +5 -145
- package/src/services/workflow/nodes/execution-fail.node.ts +82 -0
- package/src/services/workflow/nodes/for-each.node.ts +231 -0
- package/src/services/workflow/nodes/http-request.node.ts +624 -0
- package/src/services/workflow/nodes/if.node.ts +100 -0
- package/src/services/workflow/nodes/log-write.node.ts +234 -0
- package/src/services/workflow/nodes/loop-until.node.ts +343 -0
- package/src/services/workflow/nodes/parallel.node.ts +88 -0
- package/src/services/workflow/nodes/runtime-python.node.ts +571 -0
- package/src/services/workflow/nodes/sequential.node.ts +65 -0
- package/src/services/workflow/nodes/solidx-api.helpers.ts +205 -0
- package/src/services/workflow/nodes/solidx-crud.nodes.ts +511 -0
- package/src/services/workflow/nodes/solidx-login.node.ts +222 -0
- package/src/services/workflow/nodes/solidx-send-email.node.ts +489 -0
- package/src/services/workflow/nodes/solidx-send-sms.node.ts +377 -0
- package/src/services/workflow/nodes/switch.node.ts +132 -0
- package/src/services/workflow/workflow-definition-metadata-sync.service.ts +196 -0
- package/src/services/workflow/workflow-definition-validator.service.ts +226 -0
- package/src/services/workflow/workflow-execution-writer.service.ts +244 -0
- package/src/services/workflow/workflow-expression.service.ts +180 -0
- package/src/services/workflow/workflow-invocation.service.ts +39 -0
- package/src/services/workflow/workflow-node-registry.service.ts +152 -0
- package/src/services/workflow/workflow-runtime.service.ts +934 -0
- package/src/services/workflow/workflow-scheduled-trigger.job.ts +33 -0
- package/src/services/workflow-definition.service.ts +293 -0
- package/src/services/workflow-execution-artifact.service.ts +20 -0
- package/src/services/workflow-execution-log.service.ts +20 -0
- package/src/services/workflow-execution.service.ts +20 -0
- package/src/services/workflow-secret.service.ts +161 -0
- package/src/services/workflow-step-execution.service.ts +20 -0
- package/src/services/workflow-trigger-execution.service.ts +20 -0
- package/src/solid-core.module.ts +144 -3
- package/src/testing/README.md +73 -2
- package/src/testing/adapters/ui/playwright-adapter.ts +25 -0
- package/src/testing/adapters/ui/ui.types.ts +2 -0
- package/src/testing/steps/ui/actions.step.ts +8 -4
- package/src/testing/steps/ui/assertions.step.ts +18 -5
- package/src/testing/steps/ui/form.step.ts +16 -6
- package/src/testing/steps/ui/manual.step.ts +1 -1
- package/src/testing/steps/ui/navigation.step.ts +4 -2
- package/src/transformers/empty-string-to-null-transformer.ts +11 -0
- package/src/types/workflow-dsl.types.ts +1030 -0
- package/src/types/workflow-execution-queue.types.ts +3 -0
|
@@ -7,6 +7,7 @@ import { SolidBaseRepository } from "../repository/solid-base.repository";
|
|
|
7
7
|
import { SettingService } from "./setting.service";
|
|
8
8
|
import { ERROR_MESSAGES } from "src/constants/error-messages";
|
|
9
9
|
import { SUCCESS_MESSAGES } from "src/constants/success-messages";
|
|
10
|
+
import { USER_SUMMARY_FIELDS } from "src/constants/user.constants";
|
|
10
11
|
import { EntityManager, FindOptionsWhere, In, IsNull, Not, QueryFailedError, SelectQueryBuilder } from "typeorm";
|
|
11
12
|
import { QueryDeepPartialEntity } from "typeorm/query-builder/QueryPartialEntity";
|
|
12
13
|
import { BasicFilterDto } from "../dtos/basic-filters.dto";
|
|
@@ -36,6 +37,8 @@ import { ShortTextFieldCrudManager } from "../helpers/field-crud-managers/ShortT
|
|
|
36
37
|
import { UUIDFieldCrudManager } from "../helpers/field-crud-managers/UUIDFieldCrudManager";
|
|
37
38
|
import { ModelMetadataHelperService } from "src/helpers/model-metadata-helper.service";
|
|
38
39
|
import { FieldCrudManager, MediaWithFullUrl } from "../interfaces";
|
|
40
|
+
import { DraftPublishHelperService } from "./draft-publish-helper.service";
|
|
41
|
+
import { InternationalisationHelperService } from "./internationalisation-helper.service";
|
|
39
42
|
import { CrudHelperService, FilterCombinator, UserIdFields } from "./crud-helper.service";
|
|
40
43
|
import { HashingService } from "./hashing.service";
|
|
41
44
|
import { SolidRegistry } from "src/helpers/solid-registry";
|
|
@@ -49,6 +52,8 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
|
|
|
49
52
|
|
|
50
53
|
private _modelMetadataService: ModelMetadataService;
|
|
51
54
|
private _crudHelperService: CrudHelperService;
|
|
55
|
+
private _draftPublishHelperService: DraftPublishHelperService;
|
|
56
|
+
private _internationalisationHelperService: InternationalisationHelperService;
|
|
52
57
|
private _discoveryService: DiscoveryService;
|
|
53
58
|
private _settingService: SettingService;
|
|
54
59
|
|
|
@@ -69,6 +74,14 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
|
|
|
69
74
|
return this._crudHelperService ??= this.moduleRef.get(CrudHelperService, { strict: false });
|
|
70
75
|
}
|
|
71
76
|
|
|
77
|
+
protected get draftPublishHelperService(): DraftPublishHelperService {
|
|
78
|
+
return this._draftPublishHelperService ??= this.moduleRef.get(DraftPublishHelperService, { strict: false });
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
protected get internationalisationHelperService(): InternationalisationHelperService {
|
|
82
|
+
return this._internationalisationHelperService ??= this.moduleRef.get(InternationalisationHelperService, { strict: false });
|
|
83
|
+
}
|
|
84
|
+
|
|
72
85
|
protected get discoveryService(): DiscoveryService {
|
|
73
86
|
return this._discoveryService ??= this.moduleRef.get(DiscoveryService, { strict: false });
|
|
74
87
|
}
|
|
@@ -77,6 +90,19 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
|
|
|
77
90
|
return this._settingService ??= this.moduleRef.get(SettingService, { strict: false });
|
|
78
91
|
}
|
|
79
92
|
|
|
93
|
+
private getDraftPublishCrudContext() {
|
|
94
|
+
return {
|
|
95
|
+
repo: this.repo,
|
|
96
|
+
modelName: this.modelName,
|
|
97
|
+
moduleName: this.moduleName,
|
|
98
|
+
validateAndTransformDto: this.validateAndTransformDto.bind(this),
|
|
99
|
+
saveMedia: this.saveMedia.bind(this),
|
|
100
|
+
getDatasourceDefaultEntityManager: this.getDatasourceDefaultEntityManager.bind(this),
|
|
101
|
+
getColumnDatabaseName: this.getColumnDatabaseName.bind(this),
|
|
102
|
+
escapeDatabaseName: this.escapeDatabaseName.bind(this),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
80
106
|
private async tryCreateAsExtensionUser(createDto: any): Promise<T | null> {
|
|
81
107
|
if (this.repo.metadata?.parentEntityMetadata?.target !== User) return null;
|
|
82
108
|
const registry = this.moduleRef.get(SolidRegistry, { strict: false });
|
|
@@ -122,8 +148,11 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
|
|
|
122
148
|
try {
|
|
123
149
|
// 5. Save the entity
|
|
124
150
|
// For media, we need to use a storage provider and save the media, then save the associated uri against the entity or media table
|
|
151
|
+
this.draftPublishHelperService.applyCreateDefaults(model, createDto);
|
|
152
|
+
this.internationalisationHelperService.applyCreateDefaults(model, createDto, this.moduleRef.get(SolidRegistry, { strict: false }));
|
|
125
153
|
const entity = this.repo.create(createDto);
|
|
126
|
-
|
|
154
|
+
let savedEntity = await this.repo.save(entity) as unknown as T;
|
|
155
|
+
savedEntity = await this.draftPublishHelperService.ensureInitialEntityVersionId(model, this.repo, savedEntity);
|
|
127
156
|
|
|
128
157
|
// 6. Save the media
|
|
129
158
|
if (hasMediaFields) {
|
|
@@ -210,9 +239,10 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
|
|
|
210
239
|
throw new Error(`Entity [${this.moduleName}.${this.modelName}] with id ${id} not found`);
|
|
211
240
|
}
|
|
212
241
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
242
|
+
this.draftPublishHelperService.assertUpdateAllowed(model, entity, this.modelName);
|
|
243
|
+
|
|
244
|
+
if (this.draftPublishHelperService.shouldCopyPublishedVersionForUpdate(model, entity)) {
|
|
245
|
+
return this.draftPublishHelperService.copyPublishedVersionAndUpdate(this.getDraftPublishCrudContext(), id, updateDto, files, isPartialUpdate, model);
|
|
216
246
|
}
|
|
217
247
|
|
|
218
248
|
// Capture pre-update many-to-many relation state for audit tracking
|
|
@@ -244,6 +274,18 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
|
|
|
244
274
|
return savedEntity;
|
|
245
275
|
}
|
|
246
276
|
|
|
277
|
+
private getColumnDatabaseName(propertyName: string): string {
|
|
278
|
+
const column = this.repo.metadata.findColumnWithPropertyName(propertyName);
|
|
279
|
+
if (!column) {
|
|
280
|
+
throw new Error(`Column ${propertyName} not found in entity ${this.repo.metadata.name}`);
|
|
281
|
+
}
|
|
282
|
+
return column.databaseName;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
private escapeDatabaseName(databaseName: string): string {
|
|
286
|
+
return this.repo.manager.connection.driver.escape(databaseName);
|
|
287
|
+
}
|
|
288
|
+
|
|
247
289
|
/**
|
|
248
290
|
* Captures the current state of audit-enabled many-to-many relations
|
|
249
291
|
* before the entity is updated. The snapshot is attached to the entity
|
|
@@ -306,32 +348,37 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
306
348
|
throw new Error(`Entity [${this.moduleName}.${this.modelName}] with id ${id} not found`);
|
|
307
349
|
}
|
|
308
350
|
|
|
309
|
-
|
|
310
|
-
|
|
351
|
+
const entitiesToDelete: T[] = [entity];
|
|
352
|
+
if (this.draftPublishHelperService.isDraftPublishEnabled(model)) {
|
|
353
|
+
this.draftPublishHelperService.assertDraftPublishDeleteAllowed(this.modelName, entitiesToDelete);
|
|
311
354
|
}
|
|
312
355
|
|
|
313
|
-
|
|
314
|
-
if (model.internationalisation) {
|
|
315
|
-
// Find all child entities where defaultEntityLocaleId === this entity's id
|
|
316
|
-
const childEntities = await this.repo.find({
|
|
317
|
-
where: { defaultEntityLocaleId: id } as any
|
|
318
|
-
});
|
|
356
|
+
await this.internationalisationHelperService.deleteChildLocaleEntities(this.repo, model, [id]);
|
|
319
357
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
358
|
+
return this.deleteEntitiesAndPromote(model, entitiesToDelete);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
private async deleteEntitiesAndPromote(model: ModelMetadata, entitiesToDelete: T[]): Promise<T[]> {
|
|
362
|
+
const isDraftPublishEnabled = this.draftPublishHelperService.isDraftPublishEnabled(model);
|
|
363
|
+
const deletedLatestChainIds = isDraftPublishEnabled
|
|
364
|
+
? this.draftPublishHelperService.getLatestDraftPublishChainIds(entitiesToDelete)
|
|
365
|
+
: [];
|
|
328
366
|
|
|
367
|
+
let deleteResult: T[];
|
|
329
368
|
if (model.enableSoftDelete === true) {
|
|
330
|
-
|
|
331
|
-
|
|
369
|
+
this.draftPublishHelperService.markDeletedDraftPublishVersionsAsNotLatest(model, entitiesToDelete);
|
|
370
|
+
await this.repo.softRemove(entitiesToDelete);
|
|
371
|
+
deleteResult = await this.repo.save(entitiesToDelete);
|
|
332
372
|
} else {
|
|
333
|
-
|
|
373
|
+
deleteResult = await this.repo.remove(entitiesToDelete);
|
|
334
374
|
}
|
|
375
|
+
|
|
376
|
+
if (isDraftPublishEnabled) {
|
|
377
|
+
const deletedEntityIds = this.draftPublishHelperService.getEntityIds(entitiesToDelete);
|
|
378
|
+
await this.draftPublishHelperService.promoteLatestDraftPublishVersionAfterDelete(this.repo, deletedLatestChainIds, deletedEntityIds);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
return deleteResult;
|
|
335
382
|
}
|
|
336
383
|
|
|
337
384
|
private async fieldCrudManager(fieldMetadata: FieldMetadata, entityManager: EntityManager, isPartialUpdate: boolean = false, isUpdate: boolean = false, entityId?: number) {
|
|
@@ -528,9 +575,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
528
575
|
var qb: SelectQueryBuilder<T> = await this.repo.createSecurityRuleAwareQueryBuilder(alias)
|
|
529
576
|
|
|
530
577
|
if (basicFilterDto.groupBy?.length) {
|
|
531
|
-
const groupFilterQb = (internationalisation
|
|
532
|
-
? this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef, FilterCombinator.AND, false, false)
|
|
533
|
-
: this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, undefined, undefined, undefined, FilterCombinator.AND, false, false);
|
|
578
|
+
const groupFilterQb = this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef, FilterCombinator.AND, false, false);
|
|
534
579
|
|
|
535
580
|
return this.crudHelperService.executeGroupPipeline(
|
|
536
581
|
groupFilterQb, basicFilterDto, alias,
|
|
@@ -542,9 +587,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
542
587
|
);
|
|
543
588
|
}
|
|
544
589
|
else {
|
|
545
|
-
qb = (internationalisation
|
|
546
|
-
? this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef)
|
|
547
|
-
: this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias);
|
|
590
|
+
qb = this.crudHelperService.buildFilterQuery(qb, basicFilterDto, alias, internationalisation, draftPublishWorkflow, this.moduleRef);
|
|
548
591
|
const { meta, records } = await this.handleNonGroupFind(qb, populateUserIdFields, populateMedia, offset, limit, alias);
|
|
549
592
|
return {
|
|
550
593
|
meta,
|
|
@@ -573,6 +616,29 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
573
616
|
return this.crudHelperService.pagedResponse(offset, limit, count, entities);
|
|
574
617
|
}
|
|
575
618
|
|
|
619
|
+
/**
|
|
620
|
+
* Reduce a user to USER_SUMMARY_FIELDS as a plain object.
|
|
621
|
+
*
|
|
622
|
+
* Returning the hydrated entity is not good enough. A partially selected `User` is still
|
|
623
|
+
* built with `new User()`, so every property that has a TypeScript field initializer
|
|
624
|
+
* (`active`, `forcePasswordChange`, `lastLoginProvider`, `failedLoginAttempts`,
|
|
625
|
+
* `isAllowedToGenerateApiKeys`) is present on the instance holding its *default* rather
|
|
626
|
+
* than the value in the database - `active: true` for a user who may well be inactive.
|
|
627
|
+
* Serialization does not help: those defaults are real own properties. Copying the
|
|
628
|
+
* allowlist into a fresh object is what guarantees the response contains only columns
|
|
629
|
+
* actually read from the database.
|
|
630
|
+
*/
|
|
631
|
+
protected toUserSummary(user: unknown): Partial<User> | null {
|
|
632
|
+
if (!user) {
|
|
633
|
+
return null;
|
|
634
|
+
}
|
|
635
|
+
const summary: Partial<User> = {};
|
|
636
|
+
for (const field of USER_SUMMARY_FIELDS) {
|
|
637
|
+
summary[field] = user[field] as never;
|
|
638
|
+
}
|
|
639
|
+
return summary;
|
|
640
|
+
}
|
|
641
|
+
|
|
576
642
|
// entities is an array of T
|
|
577
643
|
// T can contain createdBy and updatedBy fields
|
|
578
644
|
// We need to populate the createdBy and updatedBy fields with the User entity
|
|
@@ -584,9 +650,15 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
584
650
|
if (userId) {
|
|
585
651
|
const user = await userRepository.findOne({
|
|
586
652
|
where: { id: userId },
|
|
653
|
+
// SECURITY: a populated createdBy/updatedBy is only ever displayed as
|
|
654
|
+
// "who did this", so it must not ship the author's email, mobile, role
|
|
655
|
+
// assignments or API keys - let alone the credential columns, which
|
|
656
|
+
// survive here whenever User is subclassed (class-transformer resolves
|
|
657
|
+
// @Exclude() per class and does not inherit it).
|
|
658
|
+
select: USER_SUMMARY_FIELDS as unknown as (keyof User)[],
|
|
587
659
|
});
|
|
588
660
|
// @ts-ignore
|
|
589
|
-
entity[userFieldPath] = user;
|
|
661
|
+
entity[userFieldPath] = this.toUserSummary(user);
|
|
590
662
|
}
|
|
591
663
|
}
|
|
592
664
|
}
|
|
@@ -765,6 +837,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
765
837
|
module: true,
|
|
766
838
|
});
|
|
767
839
|
|
|
840
|
+
const solidRegistry = this.moduleRef.get(SolidRegistry, { strict: false });
|
|
768
841
|
const entitiesForSave: T[] = [];
|
|
769
842
|
for (const createDto of createDtos) {
|
|
770
843
|
// Validate and transform each createDto sequentially
|
|
@@ -777,6 +850,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
777
850
|
}
|
|
778
851
|
transformedDto = await fieldManager.transformForCreate(createDto);
|
|
779
852
|
}
|
|
853
|
+
this.internationalisationHelperService.applyCreateDefaults(model, transformedDto, solidRegistry);
|
|
780
854
|
const entity = this.repo.create(transformedDto);
|
|
781
855
|
entitiesForSave.push(entity as unknown as T);
|
|
782
856
|
}
|
|
@@ -814,7 +888,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
814
888
|
|
|
815
889
|
|
|
816
890
|
|
|
817
|
-
const removedEntities = [];
|
|
891
|
+
const removedEntities: T[] = [];
|
|
818
892
|
for (let i = 0; i < ids.length; i++) {
|
|
819
893
|
const id = ids[i]
|
|
820
894
|
const entity = await this.repo.findOne({
|
|
@@ -823,36 +897,21 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
823
897
|
} as unknown as FindOptionsWhere<T>,
|
|
824
898
|
});
|
|
825
899
|
|
|
900
|
+
if (!entity) {
|
|
901
|
+
throw new Error(`Entity [${this.moduleName}.${this.modelName}] with id ${id} not found`);
|
|
902
|
+
}
|
|
903
|
+
|
|
826
904
|
removedEntities.push(entity);
|
|
827
905
|
}
|
|
828
906
|
|
|
829
907
|
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
let publishedEntitiesExists: T[] = [];
|
|
834
|
-
|
|
835
|
-
if (isDraftPublishEnabled) {
|
|
836
|
-
publishedEntitiesExists = removedEntities.filter(
|
|
837
|
-
(x) => !!x?.publishedAt
|
|
838
|
-
);
|
|
908
|
+
if (this.draftPublishHelperService.isDraftPublishEnabled(model)) {
|
|
909
|
+
this.draftPublishHelperService.assertDraftPublishDeleteAllowed(this.modelName, removedEntities);
|
|
839
910
|
}
|
|
840
911
|
|
|
841
|
-
|
|
842
|
-
const publishedEntitiesExistsID = publishedEntitiesExists.map(x => x.id);
|
|
912
|
+
await this.internationalisationHelperService.deleteChildLocaleEntities(this.repo, model, ids);
|
|
843
913
|
|
|
844
|
-
|
|
845
|
-
`Cannot delete published record(s) for model ${this.modelName} with Ids ${publishedEntitiesExistsID.join(', ')}. Unpublish them first.`
|
|
846
|
-
);
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
if (model.enableSoftDelete === true) {
|
|
850
|
-
await this.repo.softRemove(removedEntities);
|
|
851
|
-
return this.repo.save(removedEntities);
|
|
852
|
-
} else {
|
|
853
|
-
return this.repo.remove(removedEntities);
|
|
854
|
-
}
|
|
855
|
-
// return removedEntities
|
|
914
|
+
return this.deleteEntitiesAndPromote(model, removedEntities);
|
|
856
915
|
}
|
|
857
916
|
|
|
858
917
|
async recover(id: number, solidRequestContext: any = {}) {
|
|
@@ -882,6 +941,10 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
882
941
|
} as unknown as QueryDeepPartialEntity<T>
|
|
883
942
|
);
|
|
884
943
|
|
|
944
|
+
if (this.draftPublishHelperService.isDraftPublishEnabled(loadedmodel)) {
|
|
945
|
+
await this.draftPublishHelperService.promoteRecoveredDraftPublishVersion(this.repo, softDeletedRows);
|
|
946
|
+
}
|
|
947
|
+
|
|
885
948
|
return { message: SUCCESS_MESSAGES.RECORD_RECOVERED, data: softDeletedRows };
|
|
886
949
|
} catch (error: any) {
|
|
887
950
|
if (error instanceof QueryFailedError && (error as any).code === '23505') {
|
|
@@ -928,6 +991,14 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
928
991
|
{ deletedAt: null, deletedTracker: "not-deleted" } as unknown as QueryDeepPartialEntity<T>
|
|
929
992
|
);
|
|
930
993
|
|
|
994
|
+
if (this.draftPublishHelperService.isDraftPublishEnabled(loadedmodel)) {
|
|
995
|
+
// Sequential: two ids in the same batch could belong to the same version
|
|
996
|
+
// chain, and each promotion clears isLatest across the whole chain first.
|
|
997
|
+
for (const entity of softDeletedRows) {
|
|
998
|
+
await this.draftPublishHelperService.promoteRecoveredDraftPublishVersion(this.repo, entity);
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
|
|
931
1002
|
return { message: SUCCESS_MESSAGES.SELECTED_RECORDS_RECOVERED, recoveredIds: ids };
|
|
932
1003
|
} catch (error: any) {
|
|
933
1004
|
if (error instanceof QueryFailedError && (error as any).code === "23505") {
|
|
@@ -982,18 +1053,11 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
982
1053
|
return model.userKeyField?.name || '';
|
|
983
1054
|
}
|
|
984
1055
|
|
|
985
|
-
/* Publish a record -
|
|
1056
|
+
/* Publish a record - marks the selected version as the active published version. */
|
|
986
1057
|
async publishRecord(id: number, solidRequestContext: any = {}): Promise<T> {
|
|
987
1058
|
|
|
988
1059
|
const model = await this.loadModel();
|
|
989
1060
|
|
|
990
|
-
// Check if publish workflow is enabled for this model
|
|
991
|
-
if (!model.draftPublishWorkflow) {
|
|
992
|
-
throw new BadRequestException(
|
|
993
|
-
`Publish workflow is not enabled for ${this.modelName}`
|
|
994
|
-
);
|
|
995
|
-
}
|
|
996
|
-
|
|
997
1061
|
// Check user permissions
|
|
998
1062
|
if (solidRequestContext.activeUser) {
|
|
999
1063
|
const hasPermission = this.crudHelperService.hasPublishPermissionOnModel(
|
|
@@ -1005,37 +1069,14 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
1005
1069
|
}
|
|
1006
1070
|
}
|
|
1007
1071
|
|
|
1008
|
-
|
|
1009
|
-
const entity = await this.repo.findOne({ where: { id } as any });
|
|
1010
|
-
if (!entity) {
|
|
1011
|
-
throw new NotFoundException(`${this.modelName} with id ${id} not found`);
|
|
1012
|
-
}
|
|
1013
|
-
|
|
1014
|
-
// Check if already published
|
|
1015
|
-
if (entity.publishedAt) {
|
|
1016
|
-
throw new BadRequestException(
|
|
1017
|
-
`${this.modelName} with id ${id} is already published`
|
|
1018
|
-
);
|
|
1019
|
-
}
|
|
1020
|
-
|
|
1021
|
-
// Update publish status
|
|
1022
|
-
const updatedEntity = await this.repo.save({ ...entity, publishedAt: new Date() });
|
|
1023
|
-
|
|
1024
|
-
return updatedEntity
|
|
1072
|
+
return this.draftPublishHelperService.publishRecord(this.repo, model, this.modelName, id, solidRequestContext.activeUser);
|
|
1025
1073
|
}
|
|
1026
1074
|
|
|
1027
|
-
/* Unpublish a record -
|
|
1075
|
+
/* Unpublish a record - marks the selected version as not currently published. */
|
|
1028
1076
|
async unpublishRecord(id: number, solidRequestContext: any = {}): Promise<T> {
|
|
1029
1077
|
|
|
1030
1078
|
const model = await this.loadModel();
|
|
1031
1079
|
|
|
1032
|
-
// Check if publish workflow is enabled for this model
|
|
1033
|
-
if (!model.draftPublishWorkflow) {
|
|
1034
|
-
throw new BadRequestException(
|
|
1035
|
-
`Publish workflow is not enabled for ${this.modelName}`
|
|
1036
|
-
);
|
|
1037
|
-
}
|
|
1038
|
-
|
|
1039
1080
|
// Check user permissions
|
|
1040
1081
|
if (solidRequestContext.activeUser) {
|
|
1041
1082
|
const hasPermission = this.crudHelperService.hasUnpublishPermissionOnModel(
|
|
@@ -1047,23 +1088,7 @@ private async prepareManyToManyAuditSnapshot(entity: T,id: number,modelSingularN
|
|
|
1047
1088
|
}
|
|
1048
1089
|
}
|
|
1049
1090
|
|
|
1050
|
-
|
|
1051
|
-
const entity = await this.repo.findOne({ where: { id } as any });
|
|
1052
|
-
if (!entity) {
|
|
1053
|
-
throw new NotFoundException(`${this.modelName} with id ${id} not found`);
|
|
1054
|
-
}
|
|
1055
|
-
|
|
1056
|
-
// Check if already unpublished
|
|
1057
|
-
if (!entity.publishedAt) {
|
|
1058
|
-
throw new BadRequestException(
|
|
1059
|
-
`${this.modelName} with id ${id} is already unpublished`
|
|
1060
|
-
);
|
|
1061
|
-
}
|
|
1062
|
-
|
|
1063
|
-
// Update unpublish status
|
|
1064
|
-
const updatedEntity = await this.repo.save({ ...entity, publishedAt: null });
|
|
1065
|
-
|
|
1066
|
-
return updatedEntity
|
|
1091
|
+
return this.draftPublishHelperService.unpublishRecord(this.repo, model, this.modelName, id, solidRequestContext.activeUser);
|
|
1067
1092
|
}
|
|
1068
1093
|
|
|
1069
1094
|
private getDatasourceDefaultEntityManager() {
|
|
@@ -1680,6 +1680,11 @@ export class DatasourceIntrospectionService {
|
|
|
1680
1680
|
|
|
1681
1681
|
private getLegacySuperclassFieldName(columnName: string, legacyTableType: LegacyTableType) {
|
|
1682
1682
|
const normalized = columnName.toLowerCase();
|
|
1683
|
+
// LegacyCommonEntityWithExistingId doesn't declare the draft/publish versioning
|
|
1684
|
+
// columns (see DRAFT_PUBLISH_VERSIONING_FIELD_NAMES), so their ss_-prefixed column
|
|
1685
|
+
// names must not appear here — otherwise a table that still physically has one of
|
|
1686
|
+
// those columns would have it silently treated as superclass-handled and dropped
|
|
1687
|
+
// from introspection instead of being surfaced as a real column.
|
|
1683
1688
|
const legacyFieldMap: Record<string, string> = {
|
|
1684
1689
|
ss_created_at: "createdAt",
|
|
1685
1690
|
ss_updated_at: "updatedAt",
|