@rytass/bpm-core-nestjs-module 0.1.0
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 +36 -0
- package/LICENSE +21 -0
- package/README.md +837 -0
- package/package.json +168 -0
- package/src/index.d.ts +14 -0
- package/src/index.js +18 -0
- package/src/index.js.map +1 -0
- package/src/lib/attachment/attachment-options.d.ts +44 -0
- package/src/lib/attachment/attachment-options.js +62 -0
- package/src/lib/attachment/attachment-options.js.map +1 -0
- package/src/lib/attachment/attachment-storage.provider.d.ts +4 -0
- package/src/lib/attachment/attachment-storage.provider.js +35 -0
- package/src/lib/attachment/attachment-storage.provider.js.map +1 -0
- package/src/lib/attachment/attachment-storage.token.d.ts +3 -0
- package/src/lib/attachment/attachment-storage.token.js +5 -0
- package/src/lib/attachment/attachment-storage.token.js.map +1 -0
- package/src/lib/attachment/attachment.controller.d.ts +8 -0
- package/src/lib/attachment/attachment.controller.js +38 -0
- package/src/lib/attachment/attachment.controller.js.map +1 -0
- package/src/lib/attachment/attachment.entity.d.ts +14 -0
- package/src/lib/attachment/attachment.entity.js +74 -0
- package/src/lib/attachment/attachment.entity.js.map +1 -0
- package/src/lib/attachment/attachment.module.d.ts +27 -0
- package/src/lib/attachment/attachment.module.js +103 -0
- package/src/lib/attachment/attachment.module.js.map +1 -0
- package/src/lib/attachment/attachment.mutations.d.ts +8 -0
- package/src/lib/attachment/attachment.mutations.js +35 -0
- package/src/lib/attachment/attachment.mutations.js.map +1 -0
- package/src/lib/attachment/attachment.queries.d.ts +9 -0
- package/src/lib/attachment/attachment.queries.js +78 -0
- package/src/lib/attachment/attachment.queries.js.map +1 -0
- package/src/lib/attachment/attachment.service.d.ts +49 -0
- package/src/lib/attachment/attachment.service.js +276 -0
- package/src/lib/attachment/attachment.service.js.map +1 -0
- package/src/lib/attachment/dto/upload-attachment.input.d.ts +11 -0
- package/src/lib/attachment/dto/upload-attachment.input.js +68 -0
- package/src/lib/attachment/dto/upload-attachment.input.js.map +1 -0
- package/src/lib/attachment/index.d.ts +5 -0
- package/src/lib/attachment/index.js +9 -0
- package/src/lib/attachment/index.js.map +1 -0
- package/src/lib/bpm/bpm-root.module.d.ts +155 -0
- package/src/lib/bpm/bpm-root.module.js +170 -0
- package/src/lib/bpm/bpm-root.module.js.map +1 -0
- package/src/lib/bpm/index.d.ts +1 -0
- package/src/lib/bpm/index.js +5 -0
- package/src/lib/bpm/index.js.map +1 -0
- package/src/lib/bpm-auth/bpm-auth-context.d.ts +24 -0
- package/src/lib/bpm-auth/bpm-auth-context.extractor.d.ts +4 -0
- package/src/lib/bpm-auth/bpm-auth-context.extractor.js +69 -0
- package/src/lib/bpm-auth/bpm-auth-context.extractor.js.map +1 -0
- package/src/lib/bpm-auth/bpm-auth-context.js +15 -0
- package/src/lib/bpm-auth/bpm-auth-context.js.map +1 -0
- package/src/lib/bpm-auth/bpm-auth.authorization.d.ts +12 -0
- package/src/lib/bpm-auth/bpm-auth.authorization.js +67 -0
- package/src/lib/bpm-auth/bpm-auth.authorization.js.map +1 -0
- package/src/lib/bpm-auth/bpm-auth.decorators.d.ts +3 -0
- package/src/lib/bpm-auth/bpm-auth.decorators.js +11 -0
- package/src/lib/bpm-auth/bpm-auth.decorators.js.map +1 -0
- package/src/lib/bpm-auth/bpm-auth.guard.d.ts +7 -0
- package/src/lib/bpm-auth/bpm-auth.guard.js +24 -0
- package/src/lib/bpm-auth/bpm-auth.guard.js.map +1 -0
- package/src/lib/bpm-auth/bpm-auth.module.d.ts +6 -0
- package/src/lib/bpm-auth/bpm-auth.module.js +69 -0
- package/src/lib/bpm-auth/bpm-auth.module.js.map +1 -0
- package/src/lib/bpm-auth/bpm-auth.options.d.ts +11 -0
- package/src/lib/bpm-auth/bpm-auth.options.js +3 -0
- package/src/lib/bpm-auth/bpm-auth.options.js.map +1 -0
- package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.d.ts +10 -0
- package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js +40 -0
- package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js.map +1 -0
- package/src/lib/bpm-auth/index.d.ts +6 -0
- package/src/lib/bpm-auth/index.js +10 -0
- package/src/lib/bpm-auth/index.js.map +1 -0
- package/src/lib/common/filters/all-exceptions.filter.d.ts +25 -0
- package/src/lib/common/filters/all-exceptions.filter.js +93 -0
- package/src/lib/common/filters/all-exceptions.filter.js.map +1 -0
- package/src/lib/common/index.d.ts +1 -0
- package/src/lib/common/index.js +5 -0
- package/src/lib/common/index.js.map +1 -0
- package/src/lib/common/iso-duration.d.ts +1 -0
- package/src/lib/common/iso-duration.js +27 -0
- package/src/lib/common/iso-duration.js.map +1 -0
- package/src/lib/condition/condition.module.d.ts +2 -0
- package/src/lib/condition/condition.module.js +16 -0
- package/src/lib/condition/condition.module.js.map +1 -0
- package/src/lib/condition/condition.service.d.ts +16 -0
- package/src/lib/condition/condition.service.js +82 -0
- package/src/lib/condition/condition.service.js.map +1 -0
- package/src/lib/condition/index.d.ts +2 -0
- package/src/lib/condition/index.js +6 -0
- package/src/lib/condition/index.js.map +1 -0
- package/src/lib/database/data-source.d.ts +4 -0
- package/src/lib/database/data-source.js +7 -0
- package/src/lib/database/data-source.js.map +1 -0
- package/src/lib/database/index.d.ts +2 -0
- package/src/lib/database/index.js +6 -0
- package/src/lib/database/index.js.map +1 -0
- package/src/lib/database/migration-runner.d.ts +1 -0
- package/src/lib/database/migration-runner.js +23 -0
- package/src/lib/database/migration-runner.js.map +1 -0
- package/src/lib/database/typeorm.config.d.ts +14 -0
- package/src/lib/database/typeorm.config.js +135 -0
- package/src/lib/database/typeorm.config.js.map +1 -0
- package/src/lib/delegation/delegation-rule.entity.d.ts +19 -0
- package/src/lib/delegation/delegation-rule.entity.js +99 -0
- package/src/lib/delegation/delegation-rule.entity.js.map +1 -0
- package/src/lib/delegation/delegation.enums.d.ts +10 -0
- package/src/lib/delegation/delegation.enums.js +23 -0
- package/src/lib/delegation/delegation.enums.js.map +1 -0
- package/src/lib/delegation/delegation.module.d.ts +2 -0
- package/src/lib/delegation/delegation.module.js +22 -0
- package/src/lib/delegation/delegation.module.js.map +1 -0
- package/src/lib/delegation/delegation.mutations.d.ts +11 -0
- package/src/lib/delegation/delegation.mutations.js +87 -0
- package/src/lib/delegation/delegation.mutations.js.map +1 -0
- package/src/lib/delegation/delegation.queries.d.ts +10 -0
- package/src/lib/delegation/delegation.queries.js +91 -0
- package/src/lib/delegation/delegation.queries.js.map +1 -0
- package/src/lib/delegation/delegation.service.d.ts +56 -0
- package/src/lib/delegation/delegation.service.js +268 -0
- package/src/lib/delegation/delegation.service.js.map +1 -0
- package/src/lib/delegation/dto/delegation-rule.input.d.ts +24 -0
- package/src/lib/delegation/dto/delegation-rule.input.js +143 -0
- package/src/lib/delegation/dto/delegation-rule.input.js.map +1 -0
- package/src/lib/delegation/index.d.ts +5 -0
- package/src/lib/delegation/index.js +9 -0
- package/src/lib/delegation/index.js.map +1 -0
- package/src/lib/form/dto/form-definition.input.d.ts +21 -0
- package/src/lib/form/dto/form-definition.input.js +103 -0
- package/src/lib/form/dto/form-definition.input.js.map +1 -0
- package/src/lib/form/form-definition-version.entity.d.ts +17 -0
- package/src/lib/form/form-definition-version.entity.js +84 -0
- package/src/lib/form/form-definition-version.entity.js.map +1 -0
- package/src/lib/form/form-definition.entity.d.ts +13 -0
- package/src/lib/form/form-definition.entity.js +66 -0
- package/src/lib/form/form-definition.entity.js.map +1 -0
- package/src/lib/form/form-schema-lint.object.d.ts +4 -0
- package/src/lib/form/form-schema-lint.object.js +20 -0
- package/src/lib/form/form-schema-lint.object.js.map +1 -0
- package/src/lib/form/form-schema.validator.d.ts +13 -0
- package/src/lib/form/form-schema.validator.js +354 -0
- package/src/lib/form/form-schema.validator.js.map +1 -0
- package/src/lib/form/form.enums.d.ts +9 -0
- package/src/lib/form/form.enums.js +22 -0
- package/src/lib/form/form.enums.js.map +1 -0
- package/src/lib/form/form.module.d.ts +2 -0
- package/src/lib/form/form.module.js +27 -0
- package/src/lib/form/form.module.js.map +1 -0
- package/src/lib/form/form.mutations.d.ts +14 -0
- package/src/lib/form/form.mutations.js +88 -0
- package/src/lib/form/form.mutations.js.map +1 -0
- package/src/lib/form/form.queries.d.ts +16 -0
- package/src/lib/form/form.queries.js +96 -0
- package/src/lib/form/form.queries.js.map +1 -0
- package/src/lib/form/form.service.d.ts +35 -0
- package/src/lib/form/form.service.js +297 -0
- package/src/lib/form/form.service.js.map +1 -0
- package/src/lib/form/index.d.ts +8 -0
- package/src/lib/form/index.js +12 -0
- package/src/lib/form/index.js.map +1 -0
- package/src/lib/identity/identity-options.d.ts +13 -0
- package/src/lib/identity/identity-options.js +20 -0
- package/src/lib/identity/identity-options.js.map +1 -0
- package/src/lib/identity/identity.module.d.ts +17 -0
- package/src/lib/identity/identity.module.js +65 -0
- package/src/lib/identity/identity.module.js.map +1 -0
- package/src/lib/identity/identity.queries.d.ts +12 -0
- package/src/lib/identity/identity.queries.js +79 -0
- package/src/lib/identity/identity.queries.js.map +1 -0
- package/src/lib/identity/identity.service.d.ts +22 -0
- package/src/lib/identity/identity.service.js +141 -0
- package/src/lib/identity/identity.service.js.map +1 -0
- package/src/lib/identity/index.d.ts +3 -0
- package/src/lib/identity/index.js +7 -0
- package/src/lib/identity/index.js.map +1 -0
- package/src/lib/identity/member-base.adapter.d.ts +95 -0
- package/src/lib/identity/member-base.adapter.js +137 -0
- package/src/lib/identity/member-base.adapter.js.map +1 -0
- package/src/lib/identity/member-metadata-cache.entity.d.ts +8 -0
- package/src/lib/identity/member-metadata-cache.entity.js +39 -0
- package/src/lib/identity/member-metadata-cache.entity.js.map +1 -0
- package/src/lib/identity/member-profile.object.d.ts +8 -0
- package/src/lib/identity/member-profile.object.js +37 -0
- package/src/lib/identity/member-profile.object.js.map +1 -0
- package/src/lib/identity/member-resolver.interface.d.ts +41 -0
- package/src/lib/identity/member-resolver.interface.js +19 -0
- package/src/lib/identity/member-resolver.interface.js.map +1 -0
- package/src/lib/migrations/0000000000000-enable-postgres-extensions.d.ts +6 -0
- package/src/lib/migrations/0000000000000-enable-postgres-extensions.js +17 -0
- package/src/lib/migrations/0000000000000-enable-postgres-extensions.js.map +1 -0
- package/src/lib/migrations/0000000001000-identity-organization-foundation.d.ts +6 -0
- package/src/lib/migrations/0000000001000-identity-organization-foundation.js +97 -0
- package/src/lib/migrations/0000000001000-identity-organization-foundation.js.map +1 -0
- package/src/lib/migrations/0000000002000-form-builder-foundation.d.ts +6 -0
- package/src/lib/migrations/0000000002000-form-builder-foundation.js +66 -0
- package/src/lib/migrations/0000000002000-form-builder-foundation.js.map +1 -0
- package/src/lib/migrations/0000000003000-approval-template-foundation.d.ts +6 -0
- package/src/lib/migrations/0000000003000-approval-template-foundation.js +70 -0
- package/src/lib/migrations/0000000003000-approval-template-foundation.js.map +1 -0
- package/src/lib/migrations/0000000004000-workflow-engine-foundation.d.ts +6 -0
- package/src/lib/migrations/0000000004000-workflow-engine-foundation.js +134 -0
- package/src/lib/migrations/0000000004000-workflow-engine-foundation.js.map +1 -0
- package/src/lib/migrations/0000000005000-delegation-rules.d.ts +6 -0
- package/src/lib/migrations/0000000005000-delegation-rules.js +46 -0
- package/src/lib/migrations/0000000005000-delegation-rules.js.map +1 -0
- package/src/lib/migrations/0000000006000-notifications-sla.d.ts +6 -0
- package/src/lib/migrations/0000000006000-notifications-sla.js +70 -0
- package/src/lib/migrations/0000000006000-notifications-sla.js.map +1 -0
- package/src/lib/migrations/0000000007000-signatures-attachments.d.ts +6 -0
- package/src/lib/migrations/0000000007000-signatures-attachments.js +93 -0
- package/src/lib/migrations/0000000007000-signatures-attachments.js.map +1 -0
- package/src/lib/migrations/0000000008000-approval-template-categories.d.ts +6 -0
- package/src/lib/migrations/0000000008000-approval-template-categories.js +92 -0
- package/src/lib/migrations/0000000008000-approval-template-categories.js.map +1 -0
- package/src/lib/migrations/0000000009000-task-candidates.d.ts +6 -0
- package/src/lib/migrations/0000000009000-task-candidates.js +97 -0
- package/src/lib/migrations/0000000009000-task-candidates.js.map +1 -0
- package/src/lib/migrations/0000000010000-notification-delivery-state.d.ts +6 -0
- package/src/lib/migrations/0000000010000-notification-delivery-state.js +38 -0
- package/src/lib/migrations/0000000010000-notification-delivery-state.js.map +1 -0
- package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.d.ts +6 -0
- package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js +22 -0
- package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js.map +1 -0
- package/src/lib/migrations/0000000012000-notification-sla-idempotency.d.ts +6 -0
- package/src/lib/migrations/0000000012000-notification-sla-idempotency.js +21 -0
- package/src/lib/migrations/0000000012000-notification-sla-idempotency.js.map +1 -0
- package/src/lib/migrations/0000000013000-workflow-query-indexes.d.ts +6 -0
- package/src/lib/migrations/0000000013000-workflow-query-indexes.js +80 -0
- package/src/lib/migrations/0000000013000-workflow-query-indexes.js.map +1 -0
- package/src/lib/migrations/index.d.ts +16 -0
- package/src/lib/migrations/index.js +49 -0
- package/src/lib/migrations/index.js.map +1 -0
- package/src/lib/notification/dto/notification-preference.input.d.ts +9 -0
- package/src/lib/notification/dto/notification-preference.input.js +53 -0
- package/src/lib/notification/dto/notification-preference.input.js.map +1 -0
- package/src/lib/notification/index.d.ts +7 -0
- package/src/lib/notification/index.js +11 -0
- package/src/lib/notification/index.js.map +1 -0
- package/src/lib/notification/notification-delivery-scheduler.service.d.ts +13 -0
- package/src/lib/notification/notification-delivery-scheduler.service.js +53 -0
- package/src/lib/notification/notification-delivery-scheduler.service.js.map +1 -0
- package/src/lib/notification/notification-delivery.service.d.ts +23 -0
- package/src/lib/notification/notification-delivery.service.js +245 -0
- package/src/lib/notification/notification-delivery.service.js.map +1 -0
- package/src/lib/notification/notification-dispatcher.token.d.ts +7 -0
- package/src/lib/notification/notification-dispatcher.token.js +5 -0
- package/src/lib/notification/notification-dispatcher.token.js.map +1 -0
- package/src/lib/notification/notification-options.d.ts +215 -0
- package/src/lib/notification/notification-options.js +128 -0
- package/src/lib/notification/notification-options.js.map +1 -0
- package/src/lib/notification/notification-options.module.d.ts +23 -0
- package/src/lib/notification/notification-options.module.js +41 -0
- package/src/lib/notification/notification-options.module.js.map +1 -0
- package/src/lib/notification/notification-preference.entity.d.ts +10 -0
- package/src/lib/notification/notification-preference.entity.js +50 -0
- package/src/lib/notification/notification-preference.entity.js.map +1 -0
- package/src/lib/notification/notification-sla-scheduler.service.d.ts +13 -0
- package/src/lib/notification/notification-sla-scheduler.service.js +51 -0
- package/src/lib/notification/notification-sla-scheduler.service.js.map +1 -0
- package/src/lib/notification/notification-template.d.ts +13 -0
- package/src/lib/notification/notification-template.js +61 -0
- package/src/lib/notification/notification-template.js.map +1 -0
- package/src/lib/notification/notification.entity.d.ts +23 -0
- package/src/lib/notification/notification.entity.js +122 -0
- package/src/lib/notification/notification.entity.js.map +1 -0
- package/src/lib/notification/notification.enums.d.ts +24 -0
- package/src/lib/notification/notification.enums.js +45 -0
- package/src/lib/notification/notification.enums.js.map +1 -0
- package/src/lib/notification/notification.module.d.ts +2 -0
- package/src/lib/notification/notification.module.js +45 -0
- package/src/lib/notification/notification.module.js.map +1 -0
- package/src/lib/notification/notification.mutations.d.ts +11 -0
- package/src/lib/notification/notification.mutations.js +64 -0
- package/src/lib/notification/notification.mutations.js.map +1 -0
- package/src/lib/notification/notification.queries.d.ts +11 -0
- package/src/lib/notification/notification.queries.js +77 -0
- package/src/lib/notification/notification.queries.js.map +1 -0
- package/src/lib/notification/notification.service.d.ts +81 -0
- package/src/lib/notification/notification.service.js +621 -0
- package/src/lib/notification/notification.service.js.map +1 -0
- package/src/lib/organization/dto/manager-resolution.input.d.ts +18 -0
- package/src/lib/organization/dto/manager-resolution.input.js +107 -0
- package/src/lib/organization/dto/manager-resolution.input.js.map +1 -0
- package/src/lib/organization/dto/membership.input.d.ts +16 -0
- package/src/lib/organization/dto/membership.input.js +99 -0
- package/src/lib/organization/dto/membership.input.js.map +1 -0
- package/src/lib/organization/dto/org-unit.input.d.ts +24 -0
- package/src/lib/organization/dto/org-unit.input.js +119 -0
- package/src/lib/organization/dto/org-unit.input.js.map +1 -0
- package/src/lib/organization/dto/position.input.d.ts +13 -0
- package/src/lib/organization/dto/position.input.js +70 -0
- package/src/lib/organization/dto/position.input.js.map +1 -0
- package/src/lib/organization/index.d.ts +12 -0
- package/src/lib/organization/index.js +16 -0
- package/src/lib/organization/index.js.map +1 -0
- package/src/lib/organization/json-metadata.d.ts +1 -0
- package/src/lib/organization/json-metadata.js +14 -0
- package/src/lib/organization/json-metadata.js.map +1 -0
- package/src/lib/organization/manager-resolution.entity.d.ts +11 -0
- package/src/lib/organization/manager-resolution.entity.js +55 -0
- package/src/lib/organization/manager-resolution.entity.js.map +1 -0
- package/src/lib/organization/membership.entity.d.ts +11 -0
- package/src/lib/organization/membership.entity.js +60 -0
- package/src/lib/organization/membership.entity.js.map +1 -0
- package/src/lib/organization/org-unit-tree-commit-result.object.d.ts +4 -0
- package/src/lib/organization/org-unit-tree-commit-result.object.js +17 -0
- package/src/lib/organization/org-unit-tree-commit-result.object.js.map +1 -0
- package/src/lib/organization/org-unit.entity.d.ts +13 -0
- package/src/lib/organization/org-unit.entity.js +64 -0
- package/src/lib/organization/org-unit.entity.js.map +1 -0
- package/src/lib/organization/organization-summary.object.d.ts +6 -0
- package/src/lib/organization/organization-summary.object.js +28 -0
- package/src/lib/organization/organization-summary.object.js.map +1 -0
- package/src/lib/organization/organization.enums.d.ts +11 -0
- package/src/lib/organization/organization.enums.js +22 -0
- package/src/lib/organization/organization.enums.js.map +1 -0
- package/src/lib/organization/organization.module.d.ts +2 -0
- package/src/lib/organization/organization.module.js +35 -0
- package/src/lib/organization/organization.module.js.map +1 -0
- package/src/lib/organization/organization.mutations.d.ts +26 -0
- package/src/lib/organization/organization.mutations.js +148 -0
- package/src/lib/organization/organization.mutations.js.map +1 -0
- package/src/lib/organization/organization.queries.d.ts +23 -0
- package/src/lib/organization/organization.queries.js +202 -0
- package/src/lib/organization/organization.queries.js.map +1 -0
- package/src/lib/organization/organization.service.d.ts +102 -0
- package/src/lib/organization/organization.service.js +751 -0
- package/src/lib/organization/organization.service.js.map +1 -0
- package/src/lib/organization/position.entity.d.ts +9 -0
- package/src/lib/organization/position.entity.js +48 -0
- package/src/lib/organization/position.entity.js.map +1 -0
- package/src/lib/organization/resolved-manager.object.d.ts +4 -0
- package/src/lib/organization/resolved-manager.object.js +20 -0
- package/src/lib/organization/resolved-manager.object.js.map +1 -0
- package/src/lib/signature/index.d.ts +4 -0
- package/src/lib/signature/index.js +8 -0
- package/src/lib/signature/index.js.map +1 -0
- package/src/lib/signature/signature-options.d.ts +33 -0
- package/src/lib/signature/signature-options.js +51 -0
- package/src/lib/signature/signature-options.js.map +1 -0
- package/src/lib/signature/signature-verification.object.d.ts +6 -0
- package/src/lib/signature/signature-verification.object.js +28 -0
- package/src/lib/signature/signature-verification.object.js.map +1 -0
- package/src/lib/signature/signature.entity.d.ts +16 -0
- package/src/lib/signature/signature.entity.js +88 -0
- package/src/lib/signature/signature.entity.js.map +1 -0
- package/src/lib/signature/signature.module.d.ts +11 -0
- package/src/lib/signature/signature.module.js +60 -0
- package/src/lib/signature/signature.module.js.map +1 -0
- package/src/lib/signature/signature.queries.d.ts +11 -0
- package/src/lib/signature/signature.queries.js +46 -0
- package/src/lib/signature/signature.queries.js.map +1 -0
- package/src/lib/signature/signature.service.d.ts +25 -0
- package/src/lib/signature/signature.service.js +124 -0
- package/src/lib/signature/signature.service.js.map +1 -0
- package/src/lib/template/approval-template-category.entity.d.ts +9 -0
- package/src/lib/template/approval-template-category.entity.js +49 -0
- package/src/lib/template/approval-template-category.entity.js.map +1 -0
- package/src/lib/template/approval-template-version.entity.d.ts +21 -0
- package/src/lib/template/approval-template-version.entity.js +106 -0
- package/src/lib/template/approval-template-version.entity.js.map +1 -0
- package/src/lib/template/approval-template.entity.d.ts +14 -0
- package/src/lib/template/approval-template.entity.js +74 -0
- package/src/lib/template/approval-template.entity.js.map +1 -0
- package/src/lib/template/dto/approval-template.input.d.ts +36 -0
- package/src/lib/template/dto/approval-template.input.js +187 -0
- package/src/lib/template/dto/approval-template.input.js.map +1 -0
- package/src/lib/template/index.d.ts +8 -0
- package/src/lib/template/index.js +12 -0
- package/src/lib/template/index.js.map +1 -0
- package/src/lib/template/template.enums.d.ts +14 -0
- package/src/lib/template/template.enums.js +31 -0
- package/src/lib/template/template.enums.js.map +1 -0
- package/src/lib/template/template.module.d.ts +2 -0
- package/src/lib/template/template.module.js +33 -0
- package/src/lib/template/template.module.js.map +1 -0
- package/src/lib/template/template.mutations.d.ts +20 -0
- package/src/lib/template/template.mutations.js +139 -0
- package/src/lib/template/template.mutations.js.map +1 -0
- package/src/lib/template/template.queries.d.ts +16 -0
- package/src/lib/template/template.queries.js +133 -0
- package/src/lib/template/template.queries.js.map +1 -0
- package/src/lib/template/template.service.d.ts +64 -0
- package/src/lib/template/template.service.js +521 -0
- package/src/lib/template/template.service.js.map +1 -0
- package/src/lib/template/workflow-definition.validator.d.ts +9 -0
- package/src/lib/template/workflow-definition.validator.js +362 -0
- package/src/lib/template/workflow-definition.validator.js.map +1 -0
- package/src/lib/testing/cel-js.jest.d.ts +15 -0
- package/src/lib/testing/cel-js.jest.js +27 -0
- package/src/lib/testing/cel-js.jest.js.map +1 -0
- package/src/lib/workflow-engine/activity-log.entity.d.ts +12 -0
- package/src/lib/workflow-engine/activity-log.entity.js +62 -0
- package/src/lib/workflow-engine/activity-log.entity.js.map +1 -0
- package/src/lib/workflow-engine/approval-instance-page-info.object.d.ts +8 -0
- package/src/lib/workflow-engine/approval-instance-page-info.object.js +36 -0
- package/src/lib/workflow-engine/approval-instance-page-info.object.js.map +1 -0
- package/src/lib/workflow-engine/approval-instance.entity.d.ts +22 -0
- package/src/lib/workflow-engine/approval-instance.entity.js +113 -0
- package/src/lib/workflow-engine/approval-instance.entity.js.map +1 -0
- package/src/lib/workflow-engine/dto/cancel-approval-instance.input.d.ts +5 -0
- package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js +29 -0
- package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js.map +1 -0
- package/src/lib/workflow-engine/dto/decide-task.input.d.ts +9 -0
- package/src/lib/workflow-engine/dto/decide-task.input.js +47 -0
- package/src/lib/workflow-engine/dto/decide-task.input.js.map +1 -0
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.d.ts +6 -0
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js +34 -0
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js.map +1 -0
- package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.d.ts +6 -0
- package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js +34 -0
- package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js.map +1 -0
- package/src/lib/workflow-engine/dto/submit-approval-instance.input.d.ts +7 -0
- package/src/lib/workflow-engine/dto/submit-approval-instance.input.js +40 -0
- package/src/lib/workflow-engine/dto/submit-approval-instance.input.js.map +1 -0
- package/src/lib/workflow-engine/index.d.ts +20 -0
- package/src/lib/workflow-engine/index.js +24 -0
- package/src/lib/workflow-engine/index.js.map +1 -0
- package/src/lib/workflow-engine/task-candidate.entity.d.ts +14 -0
- package/src/lib/workflow-engine/task-candidate.entity.js +72 -0
- package/src/lib/workflow-engine/task-candidate.entity.js.map +1 -0
- package/src/lib/workflow-engine/task-decision.entity.d.ts +12 -0
- package/src/lib/workflow-engine/task-decision.entity.js +60 -0
- package/src/lib/workflow-engine/task-decision.entity.js.map +1 -0
- package/src/lib/workflow-engine/task.entity.d.ts +20 -0
- package/src/lib/workflow-engine/task.entity.js +109 -0
- package/src/lib/workflow-engine/task.entity.js.map +1 -0
- package/src/lib/workflow-engine/workflow-condition-evaluator.d.ts +5 -0
- package/src/lib/workflow-engine/workflow-condition-evaluator.js +107 -0
- package/src/lib/workflow-engine/workflow-condition-evaluator.js.map +1 -0
- package/src/lib/workflow-engine/workflow-dashboard-summary.object.d.ts +8 -0
- package/src/lib/workflow-engine/workflow-dashboard-summary.object.js +36 -0
- package/src/lib/workflow-engine/workflow-dashboard-summary.object.js.map +1 -0
- package/src/lib/workflow-engine/workflow-dry-run.object.d.ts +21 -0
- package/src/lib/workflow-engine/workflow-dry-run.object.js +86 -0
- package/src/lib/workflow-engine/workflow-dry-run.object.js.map +1 -0
- package/src/lib/workflow-engine/workflow-engine.enums.d.ts +58 -0
- package/src/lib/workflow-engine/workflow-engine.enums.js +95 -0
- package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -0
- package/src/lib/workflow-engine/workflow-engine.module.d.ts +9 -0
- package/src/lib/workflow-engine/workflow-engine.module.js +76 -0
- package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -0
- package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +19 -0
- package/src/lib/workflow-engine/workflow-engine.mutations.js +106 -0
- package/src/lib/workflow-engine/workflow-engine.mutations.js.map +1 -0
- package/src/lib/workflow-engine/workflow-engine.queries.d.ts +29 -0
- package/src/lib/workflow-engine/workflow-engine.queries.js +225 -0
- package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -0
- package/src/lib/workflow-engine/workflow-engine.service.d.ts +145 -0
- package/src/lib/workflow-engine/workflow-engine.service.js +2785 -0
- package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -0
- package/src/lib/workflow-engine/workflow-engine.tokens.d.ts +9 -0
- package/src/lib/workflow-engine/workflow-engine.tokens.js +5 -0
- package/src/lib/workflow-engine/workflow-engine.tokens.js.map +1 -0
- package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.d.ts +18 -0
- package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js +39 -0
- package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js.map +1 -0
- package/src/lib/workflow-engine/workflow-token.entity.d.ts +10 -0
- package/src/lib/workflow-engine/workflow-token.entity.js +50 -0
- package/src/lib/workflow-engine/workflow-token.entity.js.map +1 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkflowEngineFoundation2026050404000 = void 0;
|
|
4
|
+
class WorkflowEngineFoundation2026050404000 {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'WorkflowEngineFoundation2026050404000';
|
|
7
|
+
}
|
|
8
|
+
async up(queryRunner) {
|
|
9
|
+
await queryRunner.query(`
|
|
10
|
+
CREATE TABLE IF NOT EXISTS approval_instances (
|
|
11
|
+
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
12
|
+
template_id uuid NOT NULL REFERENCES approval_templates(id),
|
|
13
|
+
template_version_id uuid NOT NULL REFERENCES approval_template_versions(id),
|
|
14
|
+
initiator_member_id text NOT NULL,
|
|
15
|
+
initiator_metadata_snapshot jsonb NOT NULL,
|
|
16
|
+
workflow_snapshot jsonb NOT NULL,
|
|
17
|
+
form_definition_snapshot jsonb NOT NULL,
|
|
18
|
+
form_data jsonb NOT NULL,
|
|
19
|
+
state text NOT NULL,
|
|
20
|
+
title text NOT NULL,
|
|
21
|
+
started_at timestamptz NOT NULL,
|
|
22
|
+
completed_at timestamptz NULL,
|
|
23
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
24
|
+
updated_at timestamptz NOT NULL DEFAULT now()
|
|
25
|
+
)
|
|
26
|
+
`);
|
|
27
|
+
await queryRunner.query(`
|
|
28
|
+
CREATE TABLE IF NOT EXISTS workflow_tokens (
|
|
29
|
+
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
30
|
+
instance_id uuid NOT NULL REFERENCES approval_instances(id),
|
|
31
|
+
current_node_id text NOT NULL,
|
|
32
|
+
status text NOT NULL,
|
|
33
|
+
parent_token_id uuid NULL REFERENCES workflow_tokens(id),
|
|
34
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
35
|
+
consumed_at timestamptz NULL
|
|
36
|
+
)
|
|
37
|
+
`);
|
|
38
|
+
await queryRunner.query(`
|
|
39
|
+
CREATE TABLE IF NOT EXISTS tasks (
|
|
40
|
+
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
41
|
+
instance_id uuid NOT NULL REFERENCES approval_instances(id),
|
|
42
|
+
token_id uuid NOT NULL REFERENCES workflow_tokens(id),
|
|
43
|
+
node_id text NOT NULL,
|
|
44
|
+
original_assignee_member_id text NOT NULL,
|
|
45
|
+
assignee_member_id text NOT NULL,
|
|
46
|
+
delegation_chain jsonb NOT NULL DEFAULT '[]'::jsonb,
|
|
47
|
+
status text NOT NULL,
|
|
48
|
+
sla_due_at timestamptz NULL,
|
|
49
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
50
|
+
opened_at timestamptz NULL,
|
|
51
|
+
completed_at timestamptz NULL
|
|
52
|
+
)
|
|
53
|
+
`);
|
|
54
|
+
await queryRunner.query(`
|
|
55
|
+
CREATE TABLE IF NOT EXISTS task_decisions (
|
|
56
|
+
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
57
|
+
task_id uuid NOT NULL REFERENCES tasks(id),
|
|
58
|
+
decided_by_member_id text NOT NULL,
|
|
59
|
+
action text NOT NULL,
|
|
60
|
+
comment text NULL,
|
|
61
|
+
return_to_node_id text NULL,
|
|
62
|
+
transfer_to_member_id text NULL,
|
|
63
|
+
signature_id uuid NULL,
|
|
64
|
+
decided_at timestamptz NOT NULL
|
|
65
|
+
)
|
|
66
|
+
`);
|
|
67
|
+
await queryRunner.query(`
|
|
68
|
+
CREATE TABLE IF NOT EXISTS activity_logs (
|
|
69
|
+
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
70
|
+
instance_id uuid NOT NULL REFERENCES approval_instances(id),
|
|
71
|
+
event_type text NOT NULL,
|
|
72
|
+
actor_member_id text NULL,
|
|
73
|
+
node_id text NULL,
|
|
74
|
+
task_id uuid NULL REFERENCES tasks(id),
|
|
75
|
+
payload jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
76
|
+
created_at timestamptz NOT NULL DEFAULT now()
|
|
77
|
+
)
|
|
78
|
+
`);
|
|
79
|
+
await queryRunner.query(`
|
|
80
|
+
CREATE INDEX IF NOT EXISTS idx_approval_instances_initiator_state
|
|
81
|
+
ON approval_instances(initiator_member_id, state)
|
|
82
|
+
`);
|
|
83
|
+
await queryRunner.query(`
|
|
84
|
+
CREATE INDEX IF NOT EXISTS idx_approval_instances_template_state
|
|
85
|
+
ON approval_instances(template_id, state)
|
|
86
|
+
`);
|
|
87
|
+
await queryRunner.query(`
|
|
88
|
+
CREATE INDEX IF NOT EXISTS idx_approval_instances_state_started
|
|
89
|
+
ON approval_instances(state, started_at)
|
|
90
|
+
`);
|
|
91
|
+
await queryRunner.query(`
|
|
92
|
+
CREATE INDEX IF NOT EXISTS idx_workflow_tokens_instance_status
|
|
93
|
+
ON workflow_tokens(instance_id, status)
|
|
94
|
+
`);
|
|
95
|
+
await queryRunner.query(`
|
|
96
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_assignee_status
|
|
97
|
+
ON tasks(assignee_member_id, status)
|
|
98
|
+
`);
|
|
99
|
+
await queryRunner.query(`
|
|
100
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_instance_node
|
|
101
|
+
ON tasks(instance_id, node_id)
|
|
102
|
+
`);
|
|
103
|
+
await queryRunner.query(`
|
|
104
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_sla_due
|
|
105
|
+
ON tasks(sla_due_at)
|
|
106
|
+
WHERE sla_due_at IS NOT NULL AND status IN ('PENDING', 'IN_PROGRESS')
|
|
107
|
+
`);
|
|
108
|
+
await queryRunner.query(`
|
|
109
|
+
CREATE INDEX IF NOT EXISTS idx_task_decisions_task
|
|
110
|
+
ON task_decisions(task_id)
|
|
111
|
+
`);
|
|
112
|
+
await queryRunner.query(`
|
|
113
|
+
CREATE INDEX IF NOT EXISTS idx_task_decisions_decider
|
|
114
|
+
ON task_decisions(decided_by_member_id, decided_at)
|
|
115
|
+
`);
|
|
116
|
+
await queryRunner.query(`
|
|
117
|
+
CREATE INDEX IF NOT EXISTS idx_activity_logs_instance_created
|
|
118
|
+
ON activity_logs(instance_id, created_at)
|
|
119
|
+
`);
|
|
120
|
+
await queryRunner.query(`
|
|
121
|
+
CREATE INDEX IF NOT EXISTS idx_activity_logs_actor_created
|
|
122
|
+
ON activity_logs(actor_member_id, created_at)
|
|
123
|
+
`);
|
|
124
|
+
}
|
|
125
|
+
async down(queryRunner) {
|
|
126
|
+
await queryRunner.query('DROP TABLE IF EXISTS activity_logs');
|
|
127
|
+
await queryRunner.query('DROP TABLE IF EXISTS task_decisions');
|
|
128
|
+
await queryRunner.query('DROP TABLE IF EXISTS tasks');
|
|
129
|
+
await queryRunner.query('DROP TABLE IF EXISTS workflow_tokens');
|
|
130
|
+
await queryRunner.query('DROP TABLE IF EXISTS approval_instances');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.WorkflowEngineFoundation2026050404000 = WorkflowEngineFoundation2026050404000;
|
|
134
|
+
//# sourceMappingURL=0000000004000-workflow-engine-foundation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0000000004000-workflow-engine-foundation.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000004000-workflow-engine-foundation.ts"],"names":[],"mappings":";;;AAEA,MAAa,qCAAqC;IAAlD;QACW,SAAI,GAAG,uCAAuC,CAAC;IA8I1D,CAAC;IA5IC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;KAiBvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;KAUvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;KAevB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;KAYvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;KAWvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC9D,MAAM,WAAW,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC/D,MAAM,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACtD,MAAM,WAAW,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAChE,MAAM,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACrE,CAAC;CACF;AA/ID,sFA+IC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DelegationRules0000000005000 = void 0;
|
|
4
|
+
class DelegationRules0000000005000 {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'DelegationRules0000000005000';
|
|
7
|
+
}
|
|
8
|
+
async up(queryRunner) {
|
|
9
|
+
await queryRunner.query(`
|
|
10
|
+
CREATE TABLE IF NOT EXISTS "delegation_rules" (
|
|
11
|
+
"id" uuid NOT NULL DEFAULT uuid_generate_v4(),
|
|
12
|
+
"principal_member_id" text NOT NULL,
|
|
13
|
+
"agent_member_id" text NOT NULL,
|
|
14
|
+
"scope_type" text NOT NULL,
|
|
15
|
+
"scope_template_ids" uuid[] NOT NULL DEFAULT '{}'::uuid[],
|
|
16
|
+
"scope_condition_cel" text,
|
|
17
|
+
"priority" integer NOT NULL DEFAULT 100,
|
|
18
|
+
"start_at" timestamptz NOT NULL,
|
|
19
|
+
"end_at" timestamptz,
|
|
20
|
+
"requires_confirmation" boolean NOT NULL DEFAULT false,
|
|
21
|
+
"status" text NOT NULL,
|
|
22
|
+
"created_by_member_id" text,
|
|
23
|
+
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
24
|
+
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
25
|
+
"revoked_at" timestamptz,
|
|
26
|
+
"revoked_by_member_id" text,
|
|
27
|
+
CONSTRAINT "PK_delegation_rules_id" PRIMARY KEY ("id")
|
|
28
|
+
)
|
|
29
|
+
`);
|
|
30
|
+
await queryRunner.query(`
|
|
31
|
+
CREATE INDEX IF NOT EXISTS "IDX_delegation_rules_principal_status"
|
|
32
|
+
ON "delegation_rules" ("principal_member_id", "status", "start_at", "end_at")
|
|
33
|
+
`);
|
|
34
|
+
await queryRunner.query(`
|
|
35
|
+
CREATE INDEX IF NOT EXISTS "IDX_delegation_rules_agent"
|
|
36
|
+
ON "delegation_rules" ("agent_member_id")
|
|
37
|
+
`);
|
|
38
|
+
}
|
|
39
|
+
async down(queryRunner) {
|
|
40
|
+
await queryRunner.query('DROP INDEX IF EXISTS "IDX_delegation_rules_agent"');
|
|
41
|
+
await queryRunner.query('DROP INDEX IF EXISTS "IDX_delegation_rules_principal_status"');
|
|
42
|
+
await queryRunner.query('DROP TABLE IF EXISTS "delegation_rules"');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.DelegationRules0000000005000 = DelegationRules0000000005000;
|
|
46
|
+
//# sourceMappingURL=0000000005000-delegation-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0000000005000-delegation-rules.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000005000-delegation-rules.ts"],"names":[],"mappings":";;;AAEA,MAAa,4BAA4B;IAAzC;QACE,SAAI,GAAG,8BAA8B,CAAC;IA2CxC,CAAC;IAzCC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;KAoBvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CACrB,mDAAmD,CACpD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,8DAA8D,CAC/D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACrE,CAAC;CACF;AA5CD,oEA4CC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotificationsSla0000000006000 = void 0;
|
|
4
|
+
class NotificationsSla0000000006000 {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'NotificationsSla0000000006000';
|
|
7
|
+
}
|
|
8
|
+
async up(queryRunner) {
|
|
9
|
+
await queryRunner.query(`
|
|
10
|
+
CREATE TABLE IF NOT EXISTS "notifications" (
|
|
11
|
+
"id" uuid NOT NULL DEFAULT uuid_generate_v4(),
|
|
12
|
+
"recipient_member_id" text NOT NULL,
|
|
13
|
+
"channel" text NOT NULL,
|
|
14
|
+
"type" text NOT NULL,
|
|
15
|
+
"instance_id" uuid NULL,
|
|
16
|
+
"task_id" uuid NULL,
|
|
17
|
+
"title" text NOT NULL,
|
|
18
|
+
"body" text NOT NULL,
|
|
19
|
+
"payload" jsonb NOT NULL DEFAULT '{}'::jsonb,
|
|
20
|
+
"status" text NOT NULL,
|
|
21
|
+
"sent_at" timestamptz NULL,
|
|
22
|
+
"read_at" timestamptz NULL,
|
|
23
|
+
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
24
|
+
CONSTRAINT "PK_notifications_id" PRIMARY KEY ("id"),
|
|
25
|
+
CONSTRAINT "FK_notifications_instance"
|
|
26
|
+
FOREIGN KEY ("instance_id") REFERENCES "approval_instances"("id")
|
|
27
|
+
ON DELETE SET NULL,
|
|
28
|
+
CONSTRAINT "FK_notifications_task"
|
|
29
|
+
FOREIGN KEY ("task_id") REFERENCES "tasks"("id")
|
|
30
|
+
ON DELETE SET NULL
|
|
31
|
+
)
|
|
32
|
+
`);
|
|
33
|
+
await queryRunner.query(`
|
|
34
|
+
CREATE INDEX IF NOT EXISTS "IDX_notifications_recipient_status_created"
|
|
35
|
+
ON "notifications" ("recipient_member_id", "status", "created_at")
|
|
36
|
+
`);
|
|
37
|
+
await queryRunner.query(`
|
|
38
|
+
CREATE INDEX IF NOT EXISTS "IDX_notifications_pending"
|
|
39
|
+
ON "notifications" ("status")
|
|
40
|
+
WHERE "status" = 'PENDING'
|
|
41
|
+
`);
|
|
42
|
+
await queryRunner.query(`
|
|
43
|
+
CREATE INDEX IF NOT EXISTS "IDX_notifications_task_type_channel"
|
|
44
|
+
ON "notifications" ("task_id", "type", "channel")
|
|
45
|
+
WHERE "task_id" IS NOT NULL
|
|
46
|
+
`);
|
|
47
|
+
await queryRunner.query(`
|
|
48
|
+
CREATE TABLE IF NOT EXISTS "notification_preferences" (
|
|
49
|
+
"member_id" text NOT NULL,
|
|
50
|
+
"in_app_enabled" boolean NOT NULL DEFAULT true,
|
|
51
|
+
"email_enabled" boolean NOT NULL DEFAULT true,
|
|
52
|
+
"email_digest_mode" text NOT NULL DEFAULT 'INSTANT',
|
|
53
|
+
"quiet_hours_start" time NULL,
|
|
54
|
+
"quiet_hours_end" time NULL,
|
|
55
|
+
"updated_at" timestamptz NOT NULL DEFAULT now(),
|
|
56
|
+
CONSTRAINT "PK_notification_preferences_member_id"
|
|
57
|
+
PRIMARY KEY ("member_id")
|
|
58
|
+
)
|
|
59
|
+
`);
|
|
60
|
+
}
|
|
61
|
+
async down(queryRunner) {
|
|
62
|
+
await queryRunner.query('DROP TABLE IF EXISTS "notification_preferences"');
|
|
63
|
+
await queryRunner.query('DROP INDEX IF EXISTS "IDX_notifications_task_type_channel"');
|
|
64
|
+
await queryRunner.query('DROP INDEX IF EXISTS "IDX_notifications_pending"');
|
|
65
|
+
await queryRunner.query('DROP INDEX IF EXISTS "IDX_notifications_recipient_status_created"');
|
|
66
|
+
await queryRunner.query('DROP TABLE IF EXISTS "notifications"');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.NotificationsSla0000000006000 = NotificationsSla0000000006000;
|
|
70
|
+
//# sourceMappingURL=0000000006000-notifications-sla.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0000000006000-notifications-sla.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000006000-notifications-sla.ts"],"names":[],"mappings":";;;AAEA,MAAa,6BAA6B;IAA1C;QACE,SAAI,GAAG,+BAA+B,CAAC;IAqEzC,CAAC;IAnEC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;KAuBvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;KAYvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CACrB,iDAAiD,CAClD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,4DAA4D,CAC7D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAC5E,MAAM,WAAW,CAAC,KAAK,CACrB,mEAAmE,CACpE,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAClE,CAAC;CACF;AAtED,sEAsEC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SignaturesAttachments0000000007000 = void 0;
|
|
4
|
+
class SignaturesAttachments0000000007000 {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'SignaturesAttachments0000000007000';
|
|
7
|
+
}
|
|
8
|
+
async up(queryRunner) {
|
|
9
|
+
await queryRunner.query(`
|
|
10
|
+
CREATE TABLE IF NOT EXISTS "signatures" (
|
|
11
|
+
"id" uuid NOT NULL DEFAULT uuid_generate_v4(),
|
|
12
|
+
"instance_id" uuid NOT NULL,
|
|
13
|
+
"task_id" uuid NULL,
|
|
14
|
+
"signer_member_id" text NOT NULL,
|
|
15
|
+
"algorithm" text NOT NULL,
|
|
16
|
+
"signed_payload" jsonb NOT NULL,
|
|
17
|
+
"signed_payload_hash" text NOT NULL,
|
|
18
|
+
"signature" text NOT NULL,
|
|
19
|
+
"key_version" integer NOT NULL,
|
|
20
|
+
"previous_signature_hash" text NULL,
|
|
21
|
+
"timestamp_token" bytea NULL,
|
|
22
|
+
"signed_at" timestamptz NOT NULL,
|
|
23
|
+
CONSTRAINT "PK_signatures_id" PRIMARY KEY ("id"),
|
|
24
|
+
CONSTRAINT "FK_signatures_instance"
|
|
25
|
+
FOREIGN KEY ("instance_id") REFERENCES "approval_instances"("id")
|
|
26
|
+
ON DELETE CASCADE,
|
|
27
|
+
CONSTRAINT "FK_signatures_task"
|
|
28
|
+
FOREIGN KEY ("task_id") REFERENCES "tasks"("id")
|
|
29
|
+
ON DELETE SET NULL
|
|
30
|
+
)
|
|
31
|
+
`);
|
|
32
|
+
await queryRunner.query(`
|
|
33
|
+
CREATE INDEX IF NOT EXISTS "IDX_signatures_instance_signed_at"
|
|
34
|
+
ON "signatures" ("instance_id", "signed_at")
|
|
35
|
+
`);
|
|
36
|
+
await queryRunner.query(`
|
|
37
|
+
CREATE INDEX IF NOT EXISTS "IDX_signatures_signer_signed_at"
|
|
38
|
+
ON "signatures" ("signer_member_id", "signed_at")
|
|
39
|
+
`);
|
|
40
|
+
await queryRunner.query(`
|
|
41
|
+
ALTER TABLE "task_decisions"
|
|
42
|
+
ADD CONSTRAINT "FK_task_decisions_signature"
|
|
43
|
+
FOREIGN KEY ("signature_id") REFERENCES "signatures"("id")
|
|
44
|
+
ON DELETE SET NULL
|
|
45
|
+
`);
|
|
46
|
+
await queryRunner.query(`
|
|
47
|
+
CREATE TABLE IF NOT EXISTS "attachments" (
|
|
48
|
+
"id" uuid NOT NULL DEFAULT uuid_generate_v4(),
|
|
49
|
+
"instance_id" uuid NULL,
|
|
50
|
+
"task_id" uuid NULL,
|
|
51
|
+
"form_field_path" text NULL,
|
|
52
|
+
"uploader_member_id" text NOT NULL,
|
|
53
|
+
"filename" text NOT NULL,
|
|
54
|
+
"mime_type" text NOT NULL,
|
|
55
|
+
"size_bytes" bigint NOT NULL,
|
|
56
|
+
"storage_provider" text NOT NULL,
|
|
57
|
+
"storage_key" text NOT NULL,
|
|
58
|
+
"encryption_key_id" text NULL,
|
|
59
|
+
"checksum_sha256" text NOT NULL,
|
|
60
|
+
"created_at" timestamptz NOT NULL DEFAULT now(),
|
|
61
|
+
CONSTRAINT "PK_attachments_id" PRIMARY KEY ("id"),
|
|
62
|
+
CONSTRAINT "FK_attachments_instance"
|
|
63
|
+
FOREIGN KEY ("instance_id") REFERENCES "approval_instances"("id")
|
|
64
|
+
ON DELETE CASCADE,
|
|
65
|
+
CONSTRAINT "FK_attachments_task"
|
|
66
|
+
FOREIGN KEY ("task_id") REFERENCES "tasks"("id")
|
|
67
|
+
ON DELETE SET NULL
|
|
68
|
+
)
|
|
69
|
+
`);
|
|
70
|
+
await queryRunner.query(`
|
|
71
|
+
CREATE INDEX IF NOT EXISTS "IDX_attachments_instance"
|
|
72
|
+
ON "attachments" ("instance_id")
|
|
73
|
+
`);
|
|
74
|
+
await queryRunner.query(`
|
|
75
|
+
CREATE INDEX IF NOT EXISTS "IDX_attachments_task"
|
|
76
|
+
ON "attachments" ("task_id")
|
|
77
|
+
`);
|
|
78
|
+
}
|
|
79
|
+
async down(queryRunner) {
|
|
80
|
+
await queryRunner.query('DROP INDEX IF EXISTS "IDX_attachments_task"');
|
|
81
|
+
await queryRunner.query('DROP INDEX IF EXISTS "IDX_attachments_instance"');
|
|
82
|
+
await queryRunner.query('DROP TABLE IF EXISTS "attachments"');
|
|
83
|
+
await queryRunner.query(`
|
|
84
|
+
ALTER TABLE "task_decisions"
|
|
85
|
+
DROP CONSTRAINT IF EXISTS "FK_task_decisions_signature"
|
|
86
|
+
`);
|
|
87
|
+
await queryRunner.query('DROP INDEX IF EXISTS "IDX_signatures_signer_signed_at"');
|
|
88
|
+
await queryRunner.query('DROP INDEX IF EXISTS "IDX_signatures_instance_signed_at"');
|
|
89
|
+
await queryRunner.query('DROP TABLE IF EXISTS "signatures"');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.SignaturesAttachments0000000007000 = SignaturesAttachments0000000007000;
|
|
93
|
+
//# sourceMappingURL=0000000007000-signatures-attachments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0000000007000-signatures-attachments.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000007000-signatures-attachments.ts"],"names":[],"mappings":";;;AAEA,MAAa,kCAAkC;IAA/C;QACE,SAAI,GAAG,oCAAoC,CAAC;IA0F9C,CAAC;IAxFC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;KAsBvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;KAKvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;KAuBvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACvE,MAAM,WAAW,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC3E,MAAM,WAAW,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC9D,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CACrB,wDAAwD,CACzD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,0DAA0D,CAC3D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC/D,CAAC;CACF;AA3FD,gFA2FC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
export declare class ApprovalTemplateCategories2026051208000 implements MigrationInterface {
|
|
3
|
+
readonly name = "ApprovalTemplateCategories2026051208000";
|
|
4
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApprovalTemplateCategories2026051208000 = void 0;
|
|
4
|
+
class ApprovalTemplateCategories2026051208000 {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'ApprovalTemplateCategories2026051208000';
|
|
7
|
+
}
|
|
8
|
+
async up(queryRunner) {
|
|
9
|
+
await queryRunner.query(`
|
|
10
|
+
CREATE TABLE IF NOT EXISTS approval_template_categories (
|
|
11
|
+
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
12
|
+
name text NOT NULL,
|
|
13
|
+
description text NULL,
|
|
14
|
+
is_active boolean NOT NULL DEFAULT true,
|
|
15
|
+
sort_order int NOT NULL DEFAULT 0,
|
|
16
|
+
created_at timestamptz NOT NULL DEFAULT now(),
|
|
17
|
+
updated_at timestamptz NOT NULL DEFAULT now()
|
|
18
|
+
)
|
|
19
|
+
`);
|
|
20
|
+
await queryRunner.query(`
|
|
21
|
+
ALTER TABLE approval_templates
|
|
22
|
+
ADD COLUMN IF NOT EXISTS category_id uuid NULL
|
|
23
|
+
`);
|
|
24
|
+
await queryRunner.query(`
|
|
25
|
+
WITH distinct_categories AS (
|
|
26
|
+
SELECT
|
|
27
|
+
btrim(category) AS name,
|
|
28
|
+
min(created_at) AS created_at,
|
|
29
|
+
min(updated_at) AS updated_at
|
|
30
|
+
FROM approval_templates
|
|
31
|
+
WHERE category IS NOT NULL
|
|
32
|
+
AND btrim(category) <> ''
|
|
33
|
+
GROUP BY btrim(category)
|
|
34
|
+
)
|
|
35
|
+
INSERT INTO approval_template_categories (
|
|
36
|
+
name,
|
|
37
|
+
created_at,
|
|
38
|
+
updated_at
|
|
39
|
+
)
|
|
40
|
+
SELECT
|
|
41
|
+
distinct_categories.name,
|
|
42
|
+
distinct_categories.created_at,
|
|
43
|
+
distinct_categories.updated_at
|
|
44
|
+
FROM distinct_categories
|
|
45
|
+
`);
|
|
46
|
+
await queryRunner.query(`
|
|
47
|
+
UPDATE approval_templates AS template
|
|
48
|
+
SET category_id = category.id
|
|
49
|
+
FROM approval_template_categories AS category
|
|
50
|
+
WHERE template.category_id IS NULL
|
|
51
|
+
AND template.category IS NOT NULL
|
|
52
|
+
AND btrim(template.category) <> ''
|
|
53
|
+
AND category.name = btrim(template.category)
|
|
54
|
+
`);
|
|
55
|
+
await queryRunner.query(`
|
|
56
|
+
ALTER TABLE approval_templates
|
|
57
|
+
ADD CONSTRAINT fk_approval_templates_category
|
|
58
|
+
FOREIGN KEY (category_id)
|
|
59
|
+
REFERENCES approval_template_categories(id)
|
|
60
|
+
ON DELETE SET NULL
|
|
61
|
+
`);
|
|
62
|
+
await queryRunner.query(`
|
|
63
|
+
CREATE INDEX IF NOT EXISTS idx_approval_template_categories_active_sort
|
|
64
|
+
ON approval_template_categories(is_active, sort_order, name)
|
|
65
|
+
`);
|
|
66
|
+
await queryRunner.query(`
|
|
67
|
+
CREATE INDEX IF NOT EXISTS idx_approval_templates_category_id
|
|
68
|
+
ON approval_templates(category_id)
|
|
69
|
+
`);
|
|
70
|
+
}
|
|
71
|
+
async down(queryRunner) {
|
|
72
|
+
await queryRunner.query(`
|
|
73
|
+
DROP INDEX IF EXISTS idx_approval_templates_category_id
|
|
74
|
+
`);
|
|
75
|
+
await queryRunner.query(`
|
|
76
|
+
DROP INDEX IF EXISTS idx_approval_template_categories_active_sort
|
|
77
|
+
`);
|
|
78
|
+
await queryRunner.query(`
|
|
79
|
+
ALTER TABLE approval_templates
|
|
80
|
+
DROP CONSTRAINT IF EXISTS fk_approval_templates_category
|
|
81
|
+
`);
|
|
82
|
+
await queryRunner.query(`
|
|
83
|
+
ALTER TABLE approval_templates
|
|
84
|
+
DROP COLUMN IF EXISTS category_id
|
|
85
|
+
`);
|
|
86
|
+
await queryRunner.query(`
|
|
87
|
+
DROP TABLE IF EXISTS approval_template_categories
|
|
88
|
+
`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.ApprovalTemplateCategories2026051208000 = ApprovalTemplateCategories2026051208000;
|
|
92
|
+
//# sourceMappingURL=0000000008000-approval-template-categories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0000000008000-approval-template-categories.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000008000-approval-template-categories.ts"],"names":[],"mappings":";;;AAEA,MAAa,uCAAuC;IAApD;QACW,SAAI,GAAG,yCAAyC,CAAC;IA2F5D,CAAC;IAzFC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;KAUvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;KAqBvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;KAQvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;KAMvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC;;KAEvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;KAEvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;KAEvB,CAAC,CAAC;IACL,CAAC;CACF;AA5FD,0FA4FC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
export declare class TaskCandidates2026051309000 implements MigrationInterface {
|
|
3
|
+
readonly name = "TaskCandidates2026051309000";
|
|
4
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskCandidates2026051309000 = void 0;
|
|
4
|
+
class TaskCandidates2026051309000 {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'TaskCandidates2026051309000';
|
|
7
|
+
}
|
|
8
|
+
async up(queryRunner) {
|
|
9
|
+
await queryRunner.query(`
|
|
10
|
+
ALTER TABLE tasks
|
|
11
|
+
ALTER COLUMN original_assignee_member_id DROP NOT NULL,
|
|
12
|
+
ALTER COLUMN assignee_member_id DROP NOT NULL
|
|
13
|
+
`);
|
|
14
|
+
await queryRunner.query(`
|
|
15
|
+
ALTER TABLE tasks
|
|
16
|
+
ADD COLUMN IF NOT EXISTS assignment_type text NOT NULL DEFAULT 'DIRECT_MEMBER',
|
|
17
|
+
ADD COLUMN IF NOT EXISTS decision_policy_snapshot jsonb NOT NULL DEFAULT '{"type":"SINGLE"}'::jsonb
|
|
18
|
+
`);
|
|
19
|
+
await queryRunner.query(`
|
|
20
|
+
CREATE TABLE IF NOT EXISTS task_candidates (
|
|
21
|
+
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
22
|
+
task_id uuid NOT NULL REFERENCES tasks(id) ON DELETE CASCADE,
|
|
23
|
+
member_id text NOT NULL,
|
|
24
|
+
original_member_id text NOT NULL,
|
|
25
|
+
source_type text NOT NULL,
|
|
26
|
+
delegation_chain jsonb NOT NULL DEFAULT '[]'::jsonb,
|
|
27
|
+
status text NOT NULL,
|
|
28
|
+
claimed_at timestamptz NULL,
|
|
29
|
+
decided_at timestamptz NULL,
|
|
30
|
+
created_at timestamptz NOT NULL DEFAULT now()
|
|
31
|
+
)
|
|
32
|
+
`);
|
|
33
|
+
await queryRunner.query(`
|
|
34
|
+
INSERT INTO task_candidates (
|
|
35
|
+
task_id,
|
|
36
|
+
member_id,
|
|
37
|
+
original_member_id,
|
|
38
|
+
source_type,
|
|
39
|
+
delegation_chain,
|
|
40
|
+
status,
|
|
41
|
+
claimed_at,
|
|
42
|
+
decided_at,
|
|
43
|
+
created_at
|
|
44
|
+
)
|
|
45
|
+
SELECT
|
|
46
|
+
id,
|
|
47
|
+
assignee_member_id,
|
|
48
|
+
COALESCE(original_assignee_member_id, assignee_member_id),
|
|
49
|
+
'DIRECT',
|
|
50
|
+
delegation_chain,
|
|
51
|
+
CASE
|
|
52
|
+
WHEN status = 'COMPLETED' THEN 'COMPLETED'
|
|
53
|
+
WHEN status = 'TRANSFERRED' THEN 'TRANSFERRED'
|
|
54
|
+
WHEN status = 'CANCELLED' THEN 'CANCELLED'
|
|
55
|
+
ELSE 'PENDING'
|
|
56
|
+
END,
|
|
57
|
+
opened_at,
|
|
58
|
+
completed_at,
|
|
59
|
+
created_at
|
|
60
|
+
FROM tasks
|
|
61
|
+
WHERE assignee_member_id IS NOT NULL
|
|
62
|
+
AND NOT EXISTS (
|
|
63
|
+
SELECT 1
|
|
64
|
+
FROM task_candidates
|
|
65
|
+
WHERE task_candidates.task_id = tasks.id
|
|
66
|
+
AND task_candidates.member_id = tasks.assignee_member_id
|
|
67
|
+
)
|
|
68
|
+
`);
|
|
69
|
+
await queryRunner.query(`
|
|
70
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_task_candidates_task_member
|
|
71
|
+
ON task_candidates(task_id, member_id)
|
|
72
|
+
`);
|
|
73
|
+
await queryRunner.query(`
|
|
74
|
+
CREATE INDEX IF NOT EXISTS idx_task_candidates_member_status
|
|
75
|
+
ON task_candidates(member_id, status)
|
|
76
|
+
`);
|
|
77
|
+
await queryRunner.query(`
|
|
78
|
+
CREATE INDEX IF NOT EXISTS idx_task_candidates_task
|
|
79
|
+
ON task_candidates(task_id)
|
|
80
|
+
`);
|
|
81
|
+
}
|
|
82
|
+
async down(queryRunner) {
|
|
83
|
+
await queryRunner.query('DROP TABLE IF EXISTS task_candidates');
|
|
84
|
+
await queryRunner.query(`
|
|
85
|
+
ALTER TABLE tasks
|
|
86
|
+
DROP COLUMN IF EXISTS decision_policy_snapshot,
|
|
87
|
+
DROP COLUMN IF EXISTS assignment_type
|
|
88
|
+
`);
|
|
89
|
+
await queryRunner.query(`
|
|
90
|
+
ALTER TABLE tasks
|
|
91
|
+
ALTER COLUMN original_assignee_member_id SET NOT NULL,
|
|
92
|
+
ALTER COLUMN assignee_member_id SET NOT NULL
|
|
93
|
+
`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.TaskCandidates2026051309000 = TaskCandidates2026051309000;
|
|
97
|
+
//# sourceMappingURL=0000000009000-task-candidates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0000000009000-task-candidates.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000009000-task-candidates.ts"],"names":[],"mappings":";;;AAEA,MAAa,2BAA2B;IAAxC;QACW,SAAI,GAAG,6BAA6B,CAAC;IAgGhD,CAAC;IA9FC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;KAavB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmCvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAChE,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;IACL,CAAC;CACF;AAjGD,kEAiGC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotificationDeliveryState0000000010000 = void 0;
|
|
4
|
+
class NotificationDeliveryState0000000010000 {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'NotificationDeliveryState0000000010000';
|
|
7
|
+
}
|
|
8
|
+
async up(queryRunner) {
|
|
9
|
+
await queryRunner.query(`
|
|
10
|
+
ALTER TABLE "notifications"
|
|
11
|
+
ADD COLUMN IF NOT EXISTS "attempt_count" integer NOT NULL DEFAULT 0,
|
|
12
|
+
ADD COLUMN IF NOT EXISTS "last_attempt_at" timestamptz NULL,
|
|
13
|
+
ADD COLUMN IF NOT EXISTS "next_retry_at" timestamptz NULL,
|
|
14
|
+
ADD COLUMN IF NOT EXISTS "delivery_error" text NULL,
|
|
15
|
+
ADD COLUMN IF NOT EXISTS "delivered_at" timestamptz NULL,
|
|
16
|
+
ADD COLUMN IF NOT EXISTS "delivery_target" text NULL
|
|
17
|
+
`);
|
|
18
|
+
await queryRunner.query(`
|
|
19
|
+
CREATE INDEX IF NOT EXISTS "IDX_notifications_pending_delivery"
|
|
20
|
+
ON "notifications" ("status", "next_retry_at", "created_at")
|
|
21
|
+
WHERE "status" = 'PENDING'
|
|
22
|
+
`);
|
|
23
|
+
}
|
|
24
|
+
async down(queryRunner) {
|
|
25
|
+
await queryRunner.query('DROP INDEX IF EXISTS "IDX_notifications_pending_delivery"');
|
|
26
|
+
await queryRunner.query(`
|
|
27
|
+
ALTER TABLE "notifications"
|
|
28
|
+
DROP COLUMN IF EXISTS "delivery_target",
|
|
29
|
+
DROP COLUMN IF EXISTS "delivered_at",
|
|
30
|
+
DROP COLUMN IF EXISTS "delivery_error",
|
|
31
|
+
DROP COLUMN IF EXISTS "next_retry_at",
|
|
32
|
+
DROP COLUMN IF EXISTS "last_attempt_at",
|
|
33
|
+
DROP COLUMN IF EXISTS "attempt_count"
|
|
34
|
+
`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.NotificationDeliveryState0000000010000 = NotificationDeliveryState0000000010000;
|
|
38
|
+
//# sourceMappingURL=0000000010000-notification-delivery-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0000000010000-notification-delivery-state.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/migrations/0000000010000-notification-delivery-state.ts"],"names":[],"mappings":";;;AAEA,MAAa,sCAAsC;IAAnD;QACE,SAAI,GAAG,wCAAwC,CAAC;IAiClD,CAAC;IA/BC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAC/B,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;KAQvB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,WAAwB;QACjC,MAAM,WAAW,CAAC,KAAK,CACrB,2DAA2D,CAC5D,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;KAQvB,CAAC,CAAC;IACL,CAAC;CACF;AAlCD,wFAkCC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
export declare class RemoveAttachmentEncryptionKey0000000011000 implements MigrationInterface {
|
|
3
|
+
name: string;
|
|
4
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
+
}
|