@solidxai/core 0.1.12 → 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 +3 -3
- 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-field-data-provider.decorator.d.ts +3 -0
- package/dist/decorators/workflow-field-data-provider.decorator.d.ts.map +1 -0
- package/dist/decorators/workflow-field-data-provider.decorator.js +11 -0
- package/dist/decorators/workflow-field-data-provider.decorator.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.d.ts +5 -1
- package/dist/helpers/solid-registry.d.ts.map +1 -1
- package/dist/helpers/solid-registry.js +18 -1
- package/dist/helpers/solid-registry.js.map +1 -1
- package/dist/index.d.ts +59 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -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 +25 -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/security-rule.repository.d.ts +1 -0
- package/dist/repository/security-rule.repository.d.ts.map +1 -1
- package/dist/repository/security-rule.repository.js +28 -7
- package/dist/repository/security-rule.repository.js.map +1 -1
- 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 +53 -4
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/crud-helper.service.d.ts +21 -3
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +129 -54
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +14 -1
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +107 -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/solid-introspect.service.d.ts +1 -0
- package/dist/services/solid-introspect.service.d.ts.map +1 -1
- package/dist/services/solid-introspect.service.js +12 -0
- package/dist/services/solid-introspect.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 +6 -3
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +60 -63
- 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-field-data-provider.decorator.ts +7 -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 +22 -2
- package/src/index.ts +59 -0
- package/src/interfaces/workflow-node-handler.interface.ts +10 -0
- package/src/interfaces.ts +30 -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/security-rule.repository.ts +52 -10
- 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 +107 -5
- package/src/services/crud-helper.service.ts +236 -56
- package/src/services/crud.service.ts +159 -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/solid-introspect.service.ts +19 -0
- package/src/services/user.service.ts +18 -3
- package/src/services/view-metadata.service.ts +80 -154
- 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
|
@@ -20,7 +20,7 @@ import { SUCCESS_MESSAGES } from "src/constants/success-messages";
|
|
|
20
20
|
import { CreateUserDto } from "src/dtos/create-user.dto";
|
|
21
21
|
import { MailFactory } from "src/factories/mail.factory";
|
|
22
22
|
import { UserRepository } from "src/repository/user.repository";
|
|
23
|
-
import { DataSource, DeepPartial, Repository } from "typeorm";
|
|
23
|
+
import { DataSource, DeepPartial, FindOptionsWhere, Repository } from "typeorm";
|
|
24
24
|
import { v4 as uuidv4 } from "uuid";
|
|
25
25
|
import {
|
|
26
26
|
ForgotPasswordSendVerificationTokenOn,
|
|
@@ -49,6 +49,7 @@ import { SsoCodeStorageService } from "./sso-code-storage.service";
|
|
|
49
49
|
import { RoleMetadataService } from "./role-metadata.service";
|
|
50
50
|
import { SettingService } from "./setting.service";
|
|
51
51
|
import { UserActivityHistoryService } from "./user-activity-history.service";
|
|
52
|
+
import { MetadataValidationService } from "./metadata-validation.service";
|
|
52
53
|
import { UserService } from "./user.service";
|
|
53
54
|
import { SmsFactory } from "src/factories/sms.factory";
|
|
54
55
|
import { WhatsAppFactory } from "src/factories/whatsapp.factory";
|
|
@@ -88,6 +89,7 @@ export class AuthenticationService {
|
|
|
88
89
|
private readonly roleMetadataService: RoleMetadataService,
|
|
89
90
|
private readonly userActivityHistoryService: UserActivityHistoryService,
|
|
90
91
|
private readonly ssoCodeStorage: SsoCodeStorageService,
|
|
92
|
+
private readonly metadataValidationService: MetadataValidationService,
|
|
91
93
|
|
|
92
94
|
@InjectDataSource()
|
|
93
95
|
private readonly dataSource: DataSource,
|
|
@@ -225,6 +227,9 @@ export class AuthenticationService {
|
|
|
225
227
|
preferEntityApiKeyFlag: boolean = false,
|
|
226
228
|
): Promise<T> {
|
|
227
229
|
try {
|
|
230
|
+
await this.assertUniqueSignupIdentifiers(signUpDto, repo);
|
|
231
|
+
await this.metadataValidationService.validateCreateDto("user", signUpDto);
|
|
232
|
+
|
|
228
233
|
const onForcePasswordChange =
|
|
229
234
|
this.settingService.getConfigValue<SolidCoreSetting>(
|
|
230
235
|
"forceChangePasswordOnFirstLogin",
|
|
@@ -276,6 +281,59 @@ export class AuthenticationService {
|
|
|
276
281
|
}
|
|
277
282
|
}
|
|
278
283
|
|
|
284
|
+
private async assertUniqueSignupIdentifiers<T extends User>(
|
|
285
|
+
signUpDto: SignUpDto,
|
|
286
|
+
repo: Repository<T>,
|
|
287
|
+
): Promise<void> {
|
|
288
|
+
const username = signUpDto.username?.trim();
|
|
289
|
+
const email = signUpDto.email?.trim();
|
|
290
|
+
const mobile = signUpDto.mobile?.trim();
|
|
291
|
+
|
|
292
|
+
const where: FindOptionsWhere<T>[] = [];
|
|
293
|
+
|
|
294
|
+
if (username) {
|
|
295
|
+
where.push({ username } as FindOptionsWhere<T>);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
if (email) {
|
|
299
|
+
where.push({ email } as FindOptionsWhere<T>);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
if (mobile) {
|
|
303
|
+
where.push({ mobile } as FindOptionsWhere<T>);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
if (where.length === 0) {
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
const existingUser = await repo.findOne({ where });
|
|
311
|
+
|
|
312
|
+
if (!existingUser) {
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
if (email && existingUser.email === email) {
|
|
317
|
+
throw new ConflictException(
|
|
318
|
+
`A user with email address "${email}" already exists.`,
|
|
319
|
+
);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
if (mobile && existingUser.mobile === mobile) {
|
|
323
|
+
throw new ConflictException(
|
|
324
|
+
`A user with mobile number "${mobile}" already exists.`,
|
|
325
|
+
);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
if (username && existingUser.username === username) {
|
|
329
|
+
throw new ConflictException(
|
|
330
|
+
`A user with username "${username}" already exists.`,
|
|
331
|
+
);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
throw new ConflictException(ERROR_MESSAGES.USER_ALREADY_EXISTS);
|
|
335
|
+
}
|
|
336
|
+
|
|
279
337
|
private async handlePasswordlessSignupOtp<T extends User>(
|
|
280
338
|
user: T,
|
|
281
339
|
signUpDto: SignUpDto,
|
|
@@ -400,11 +458,23 @@ export class AuthenticationService {
|
|
|
400
458
|
// if forcePasswordChange is true, then we trigger an email to the user to change the password, this needs to be done using a queue.
|
|
401
459
|
// Create a new method like notifyUserOnForcePasswordChange, create a new email template we can call it on-force-password-change this template to include the random password
|
|
402
460
|
if (user.forcePasswordChange && autoGeneratedPwd) {
|
|
403
|
-
|
|
461
|
+
try {
|
|
462
|
+
await this.notifyUserOnForcePasswordChange(user, autoGeneratedPwd);
|
|
463
|
+
} catch (error: any) {
|
|
464
|
+
this.logger.error(
|
|
465
|
+
`Failed to send force-password-change email for user ${user.id}: ${error?.message ?? error}`,
|
|
466
|
+
);
|
|
467
|
+
}
|
|
404
468
|
}
|
|
405
469
|
|
|
406
470
|
// Send welcome notifications (email/SMS) if enabled.
|
|
407
|
-
|
|
471
|
+
try {
|
|
472
|
+
await this.notifyUserOnSignup(user);
|
|
473
|
+
} catch (error: any) {
|
|
474
|
+
this.logger.error(
|
|
475
|
+
`Failed to send signup notifications for user ${user.id}: ${error?.message ?? error}`,
|
|
476
|
+
);
|
|
477
|
+
}
|
|
408
478
|
}
|
|
409
479
|
|
|
410
480
|
generatePassword(length: number = 8): string {
|
|
@@ -1578,7 +1648,7 @@ export class AuthenticationService {
|
|
|
1578
1648
|
// Assuming all users do not have mobile as mandatory.
|
|
1579
1649
|
if (
|
|
1580
1650
|
forgotPasswordSendVerificationTokenOn ==
|
|
1581
|
-
|
|
1651
|
+
ForgotPasswordSendVerificationTokenOn.MOBILE &&
|
|
1582
1652
|
user.mobile
|
|
1583
1653
|
) {
|
|
1584
1654
|
const smsService = this.smsFactory.getSmsService();
|
|
@@ -1702,7 +1772,7 @@ export class AuthenticationService {
|
|
|
1702
1772
|
// Assuming all users do not have mobile as mandatory.
|
|
1703
1773
|
if (
|
|
1704
1774
|
forgotPasswordSendVerificationTokenOn ==
|
|
1705
|
-
|
|
1775
|
+
ForgotPasswordSendVerificationTokenOn.MOBILE &&
|
|
1706
1776
|
user.mobile
|
|
1707
1777
|
) {
|
|
1708
1778
|
const smsService = this.smsFactory.getSmsService();
|
|
@@ -2342,6 +2412,7 @@ function parseUniqueConstraintError(detail: string): string {
|
|
|
2342
2412
|
const fieldMap: Record<string, string> = {
|
|
2343
2413
|
username: "username",
|
|
2344
2414
|
email: "email address",
|
|
2415
|
+
mobile: "mobile number",
|
|
2345
2416
|
full_name_user_key: "full name",
|
|
2346
2417
|
};
|
|
2347
2418
|
const friendlyField = fieldMap[field] || field;
|
|
@@ -5,7 +5,8 @@ import { InjectEntityManager } from '@nestjs/typeorm';
|
|
|
5
5
|
import { Brackets, EntityManager, EntityMetadata, In } from 'typeorm';
|
|
6
6
|
|
|
7
7
|
import { classify } from '@angular-devkit/core/src/utils/strings';
|
|
8
|
-
import { CHATTER_MESSAGE_STATUS, CHATTER_MESSAGE_SUBTYPE, CHATTER_MESSAGE_TYPE } from 'src/constants/chatter-message.constants';
|
|
8
|
+
import { CHATTER_MESSAGE_STATUS, CHATTER_MESSAGE_SUBTYPE, CHATTER_MESSAGE_TYPE, CHATTER_MESSAGE_USER_FIELDS } from 'src/constants/chatter-message.constants';
|
|
9
|
+
import { isDangerousMediaFile } from 'src/constants/media-file-types';
|
|
9
10
|
import { ERROR_MESSAGES } from 'src/constants/error-messages';
|
|
10
11
|
import { PostChatterMessageDto } from 'src/dtos/post-chatter-message.dto';
|
|
11
12
|
import { UpdateChatterNoteMessageDto } from 'src/dtos/update-chatter-note-message.dto';
|
|
@@ -18,9 +19,11 @@ import { FieldMetadataRepository } from 'src/repository/field-metadata.repositor
|
|
|
18
19
|
import { MediaRepository } from 'src/repository/media.repository';
|
|
19
20
|
import { ModelMetadataRepository } from 'src/repository/model-metadata.repository';
|
|
20
21
|
import { CRUDService } from 'src/services/crud.service';
|
|
22
|
+
import { BasicFilterDto } from '../dtos/basic-filters.dto';
|
|
21
23
|
import { MediaStorageProviderType } from '../dtos/create-media-storage-provider-metadata.dto';
|
|
22
24
|
import { ChatterMessageDetails } from '../entities/chatter-message-details.entity';
|
|
23
25
|
import { ChatterMessage } from '../entities/chatter-message.entity';
|
|
26
|
+
import { User } from '../entities/user.entity';
|
|
24
27
|
import { getMediaStorageProvider } from './mediaStorageProviders';
|
|
25
28
|
import { RequestContextService } from './request-context.service';
|
|
26
29
|
import { Logger } from '@nestjs/common';
|
|
@@ -101,6 +104,44 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
|
|
|
101
104
|
chatterMessage.updatedBy = resolvedUserId;
|
|
102
105
|
}
|
|
103
106
|
|
|
107
|
+
/**
|
|
108
|
+
* Reduce a message's hydrated `user` relation to CHATTER_MESSAGE_USER_FIELDS.
|
|
109
|
+
*
|
|
110
|
+
* `getChatterMessages` restricts the columns in the query itself, which is preferable.
|
|
111
|
+
* The generic CRUD paths below build their query from find-options and hand `populate`
|
|
112
|
+
* straight to TypeORM, so they are trimmed after the fact instead. (`createdBy` /
|
|
113
|
+
* `updatedBy` need nothing here - CRUDService.handlePopulateUserIdFields already selects
|
|
114
|
+
* only USER_SUMMARY_FIELDS when a caller populates them.)
|
|
115
|
+
*/
|
|
116
|
+
private trimMessageUser<M extends ChatterMessage>(message: M): M {
|
|
117
|
+
if (message?.user) {
|
|
118
|
+
message.user = this.toUserSummary(message.user) as User;
|
|
119
|
+
}
|
|
120
|
+
return message;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
private trimMessageUsers(messages: ChatterMessage[] | undefined) {
|
|
124
|
+
messages?.forEach(message => this.trimMessageUser(message));
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* `GET /chatter-message?populate[]=user` would otherwise be a way around the column
|
|
129
|
+
* allowlist applied by getChatterMessages.
|
|
130
|
+
*/
|
|
131
|
+
async find(basicFilterDto: BasicFilterDto, solidRequestContext: any = {}): Promise<any> {
|
|
132
|
+
const result = await super.find(basicFilterDto, solidRequestContext);
|
|
133
|
+
this.trimMessageUsers(result?.records);
|
|
134
|
+
// A grouped find (populateGroup) nests its entities one level deeper.
|
|
135
|
+
for (const groupRecord of result?.groupRecords ?? []) {
|
|
136
|
+
this.trimMessageUsers(groupRecord?.groupData?.records);
|
|
137
|
+
}
|
|
138
|
+
return result;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
async findOne(id: number, query: any = {}, solidRequestContext: any = {}) {
|
|
142
|
+
return this.trimMessageUser(await super.findOne(id, query, solidRequestContext));
|
|
143
|
+
}
|
|
144
|
+
|
|
104
145
|
private isEditableCustomNoteMessage(message: ChatterMessage): boolean {
|
|
105
146
|
if (message.messageType !== CHATTER_MESSAGE_TYPE.CUSTOM) {
|
|
106
147
|
return false;
|
|
@@ -134,6 +175,17 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
|
|
|
134
175
|
}, messageBody || '');
|
|
135
176
|
}
|
|
136
177
|
|
|
178
|
+
/**
|
|
179
|
+
* Chatter attachments bypass MediaFieldCrudManager - they go straight to
|
|
180
|
+
* storageProvider.store() - so the shared predicate is applied here directly. The rules
|
|
181
|
+
* themselves live in media-file-types so upload paths can't drift apart.
|
|
182
|
+
*/
|
|
183
|
+
private validateChatterMediaFiles(files: Express.Multer.File[] = []) {
|
|
184
|
+
if (Array.isArray(files) && files.some(file => isDangerousMediaFile(file))) {
|
|
185
|
+
throw new BadRequestException('Dangerous file types are not allowed in chatter attachments.');
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
137
189
|
private async publishChatterMentionNotifications(message: ChatterMessage, model: any) {
|
|
138
190
|
if (message.messageType !== CHATTER_MESSAGE_TYPE.CUSTOM || message.messageSubType !== CHATTER_MESSAGE_SUBTYPE.NOTE) {
|
|
139
191
|
return;
|
|
@@ -188,6 +240,31 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
|
|
|
188
240
|
}
|
|
189
241
|
}
|
|
190
242
|
|
|
243
|
+
// Deliberately bypasses UserRepository's security-rule filtering: the mention picker
|
|
244
|
+
// needs id/username/fullName for any active user regardless of the caller's row-level
|
|
245
|
+
// access to the User model, same as the getChatterMessages one-to-many lookup below.
|
|
246
|
+
async getMentionableUsers(search?: string, limit: number = 8): Promise<Array<{ id: number; username: string; fullName: string }>> {
|
|
247
|
+
const normalizedLimit = Number.isInteger(limit) && limit > 0 && limit <= 50 ? limit : 8;
|
|
248
|
+
const userRepository = this.entityManager.getRepository(User);
|
|
249
|
+
|
|
250
|
+
const qb = userRepository
|
|
251
|
+
.createQueryBuilder('user')
|
|
252
|
+
.select(['user.id', 'user.username', 'user.fullName'])
|
|
253
|
+
.where('user.active = :active', { active: true });
|
|
254
|
+
|
|
255
|
+
const trimmedSearch = (search ?? '').trim();
|
|
256
|
+
if (trimmedSearch) {
|
|
257
|
+
qb.andWhere('(LOWER(user.username) LIKE :search OR LOWER(user.fullName) LIKE :search)', {
|
|
258
|
+
search: `%${trimmedSearch.toLowerCase()}%`,
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
qb.orderBy('user.username', 'ASC').take(normalizedLimit);
|
|
263
|
+
|
|
264
|
+
const users = await qb.getMany();
|
|
265
|
+
return users.map(user => ({ id: user.id, username: user.username, fullName: user.fullName }));
|
|
266
|
+
}
|
|
267
|
+
|
|
191
268
|
async markCompleted(id: number) {
|
|
192
269
|
const activeUser = this.requestContextService.getActiveUser();
|
|
193
270
|
if (!activeUser) {
|
|
@@ -240,6 +317,8 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
|
|
|
240
317
|
throw new BadRequestException('Message body cannot be empty.');
|
|
241
318
|
}
|
|
242
319
|
|
|
320
|
+
this.validateChatterMediaFiles(files);
|
|
321
|
+
|
|
243
322
|
if (hasMessageBody) {
|
|
244
323
|
message.messageBody = trimmedMessageBody;
|
|
245
324
|
}
|
|
@@ -306,13 +385,16 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
|
|
|
306
385
|
|
|
307
386
|
await this.publishChatterMentionNotifications(savedMessage, model);
|
|
308
387
|
|
|
309
|
-
return
|
|
388
|
+
// The `user` relation was loaded for the ownership check above; don't return all of it.
|
|
389
|
+
return this.trimMessageUser(savedMessage);
|
|
310
390
|
}
|
|
311
391
|
|
|
312
392
|
async postMessage(postDto: PostChatterMessageDto, files: Express.Multer.File[] = []) {
|
|
313
393
|
const coModelName = lowerFirst(postDto.coModelName);
|
|
314
394
|
await this.assertRecordAccess(coModelName, postDto.coModelEntityId);
|
|
315
395
|
|
|
396
|
+
this.validateChatterMediaFiles(files);
|
|
397
|
+
|
|
316
398
|
const chatterMessage = new ChatterMessage();
|
|
317
399
|
chatterMessage.messageType = CHATTER_MESSAGE_TYPE.CUSTOM;
|
|
318
400
|
chatterMessage.messageSubType = postDto.messageSubType || CHATTER_MESSAGE_SUBTYPE.CUSTOM;
|
|
@@ -883,20 +965,33 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
|
|
|
883
965
|
}
|
|
884
966
|
}
|
|
885
967
|
|
|
886
|
-
|
|
968
|
+
// SECURITY: must be andWhere. `where()` REPLACES every previously registered condition,
|
|
969
|
+
// which would discard the row-level security rules applied by
|
|
970
|
+
// createSecurityRuleAwareQueryBuilder above. (The inner `where` is safe: it is the first
|
|
971
|
+
// condition on a fresh Brackets sub-builder.)
|
|
972
|
+
qb.andWhere(new Brackets(qb => {
|
|
887
973
|
qb.where(orConditions.join(' OR '), parameters);
|
|
888
974
|
}));
|
|
889
975
|
|
|
890
|
-
const relations = ['chatterMessageDetails'
|
|
976
|
+
const relations = ['chatterMessageDetails'];
|
|
891
977
|
if (populate && populate.length > 0) {
|
|
892
978
|
const normalizedPopulate = this.crudHelperService.normalize(populate);
|
|
893
|
-
|
|
979
|
+
// SECURITY: 'user' is joined below with an explicit column allowlist. A client-supplied
|
|
980
|
+
// populate[]=user must not be able to turn it back into a full-entity join (the chatter
|
|
981
|
+
// panel does send exactly that).
|
|
982
|
+
relations.push(...normalizedPopulate.filter(rel => rel !== 'user' && !relations.includes(rel)));
|
|
894
983
|
}
|
|
895
984
|
|
|
896
985
|
relations.forEach(relation => {
|
|
897
986
|
qb.leftJoinAndSelect(`entity.${relation}`, relation);
|
|
898
987
|
});
|
|
899
988
|
|
|
989
|
+
// Only the author's id and display name leave this endpoint - see CHATTER_MESSAGE_USER_FIELDS.
|
|
990
|
+
// This join must stay before applyFilters below: it lets filters[user][fullName] reuse this
|
|
991
|
+
// alias instead of adding a second join of its own.
|
|
992
|
+
qb.leftJoin('entity.user', 'user');
|
|
993
|
+
qb.addSelect(CHATTER_MESSAGE_USER_FIELDS.map(field => `user.${field}`));
|
|
994
|
+
|
|
900
995
|
if (filters) {
|
|
901
996
|
qb.andWhere(new Brackets(whereQb => {
|
|
902
997
|
this.crudHelperService.applyFilters(whereQb, filters, 'entity', qb);
|
|
@@ -910,6 +1005,13 @@ export class ChatterMessageService extends CRUDService<ChatterMessage> {
|
|
|
910
1005
|
const [entities, count] = await qb.getManyAndCount();
|
|
911
1006
|
this.logHeapUsed('getChatterMessages-entitiesLoaded');
|
|
912
1007
|
|
|
1008
|
+
// The join above only selects the allowlisted columns, but TypeORM still hydrates the
|
|
1009
|
+
// author with `new User()`, which leaves every initialiser-backed property (active,
|
|
1010
|
+
// forcePasswordChange, ...) sitting on the instance holding its default rather than a
|
|
1011
|
+
// value read from the database. Replace it with a plain object of exactly the
|
|
1012
|
+
// allowlisted keys so the response cannot report fabricated defaults as data.
|
|
1013
|
+
this.trimMessageUsers(entities);
|
|
1014
|
+
|
|
913
1015
|
// Convert date strings in message details to ISO format for consistent handling on the frontend
|
|
914
1016
|
const DATE_FIELD_TYPES = ['date', 'datetime', 'time'];
|
|
915
1017
|
for (const entity of entities) {
|