@rytass/bpm-core-nestjs-module 0.5.0 → 0.5.1
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 +19 -0
- package/package.json +1 -1
- 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.ts → attachment-storage.token.d.ts} +1 -3
- 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.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.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.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.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.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.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 +25 -0
- package/src/lib/database/migration-runner.js.map +1 -0
- package/src/lib/database/reconcile-legacy-migrations.d.ts +13 -0
- package/src/lib/database/reconcile-legacy-migrations.js +70 -0
- package/src/lib/database/reconcile-legacy-migrations.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.js +9 -0
- package/src/lib/delegation/index.js.map +1 -0
- package/src/lib/form/dto/form-definition.input.d.ts +26 -0
- package/src/lib/form/dto/form-definition.input.js +126 -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 +89 -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 +49 -0
- package/src/lib/form/form.service.js +346 -0
- package/src/lib/form/form.service.js.map +1 -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 +31 -0
- package/src/lib/identity/identity.service.js +196 -0
- package/src/lib/identity/identity.service.js.map +1 -0
- package/src/lib/identity/index.js +8 -0
- package/src/lib/identity/index.js.map +1 -0
- package/src/lib/identity/member-base.adapter.d.ts +123 -0
- package/src/lib/identity/member-base.adapter.js +147 -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-not-found.exception.ts → member-not-found.exception.d.ts} +3 -8
- package/src/lib/identity/member-not-found.exception.js +26 -0
- package/src/lib/identity/member-not-found.exception.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.ts → member-resolver.interface.d.ts} +41 -55
- 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/0000000000001-enable-postgres-extensions.d.ts +6 -0
- package/src/lib/migrations/0000000000001-enable-postgres-extensions.js +17 -0
- package/src/lib/migrations/0000000000001-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.ts → 0000000001000-identity-organization-foundation.js} +29 -38
- 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.ts → 0000000002000-form-builder-foundation.js} +21 -22
- 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.ts → 0000000003000-approval-template-foundation.js} +21 -24
- 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.ts → 0000000004000-workflow-engine-foundation.js} +34 -46
- 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.ts → 0000000005000-delegation-rules.js} +19 -20
- 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.ts → 0000000006000-notifications-sla.js} +23 -26
- 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.ts → 0000000007000-signatures-attachments.js} +27 -28
- 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.ts → 0000000008000-approval-template-categories.js} +25 -28
- 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.ts → 0000000009000-task-candidates.js} +23 -26
- 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.ts → 0000000010000-notification-delivery-state.js} +17 -16
- 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/0000000014000-notification-resolution.d.ts +6 -0
- package/src/lib/migrations/0000000014000-notification-resolution.js +30 -0
- package/src/lib/migrations/0000000014000-notification-resolution.js.map +1 -0
- package/src/lib/migrations/0000000015000-backfill-stale-notification-resolution.d.ts +15 -0
- package/src/lib/migrations/{0000000015000-backfill-stale-notification-resolution.ts → 0000000015000-backfill-stale-notification-resolution.js} +16 -15
- package/src/lib/migrations/0000000015000-backfill-stale-notification-resolution.js.map +1 -0
- package/src/lib/migrations/0000000016000-archive-parallel-form-drafts.d.ts +15 -0
- package/src/lib/migrations/{0000000016000-archive-parallel-form-drafts.ts → 0000000016000-archive-parallel-form-drafts.js} +16 -15
- package/src/lib/migrations/0000000016000-archive-parallel-form-drafts.js.map +1 -0
- package/src/lib/migrations/0000000017000-adhoc-directives.d.ts +6 -0
- package/src/lib/migrations/{0000000017000-adhoc-directives.ts → 0000000017000-adhoc-directives.js} +19 -18
- package/src/lib/migrations/0000000017000-adhoc-directives.js.map +1 -0
- package/src/lib/migrations/index.d.ts +20 -0
- package/src/lib/migrations/index.js +61 -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.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 +31 -0
- package/src/lib/notification/notification.entity.js +149 -0
- package/src/lib/notification/notification.entity.js.map +1 -0
- package/src/lib/notification/notification.enums.d.ts +38 -0
- package/src/lib/notification/notification.enums.js +63 -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 +121 -0
- package/src/lib/notification/notification.service.js +713 -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.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 +204 -0
- package/src/lib/organization/organization.queries.js.map +1 -0
- package/src/lib/organization/organization.service.d.ts +103 -0
- package/src/lib/organization/organization.service.js +768 -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.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/compose-approval-template.object.d.ts +11 -0
- package/src/lib/template/compose-approval-template.object.js +36 -0
- package/src/lib/template/compose-approval-template.object.js.map +1 -0
- package/src/lib/template/compose-template.mutations.d.ts +8 -0
- package/src/lib/template/compose-template.mutations.js +32 -0
- package/src/lib/template/compose-template.mutations.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/dto/compose-approval-template.input.d.ts +17 -0
- package/src/lib/template/dto/compose-approval-template.input.js +99 -0
- package/src/lib/template/dto/compose-approval-template.input.js.map +1 -0
- package/src/lib/template/index.js +14 -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 +41 -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 +83 -0
- package/src/lib/template/template.service.js +654 -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/adhoc-directive.entity.d.ts +31 -0
- package/src/lib/workflow-engine/adhoc-directive.entity.js +105 -0
- package/src/lib/workflow-engine/adhoc-directive.entity.js.map +1 -0
- package/src/lib/workflow-engine/adhoc.enums.d.ts +21 -0
- package/src/lib/workflow-engine/adhoc.enums.js +42 -0
- package/src/lib/workflow-engine/adhoc.enums.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/adhoc-notification.input.d.ts +6 -0
- package/src/lib/workflow-engine/dto/adhoc-notification.input.js +28 -0
- package/src/lib/workflow-engine/dto/adhoc-notification.input.js.map +1 -0
- package/src/lib/workflow-engine/dto/adhoc-target.input.d.ts +16 -0
- package/src/lib/workflow-engine/dto/adhoc-target.input.js +61 -0
- package/src/lib/workflow-engine/dto/adhoc-target.input.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.js +28 -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 +25 -0
- package/src/lib/workflow-engine/task.entity.js +130 -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 +61 -0
- package/src/lib/workflow-engine/workflow-engine.enums.js +98 -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 +78 -0
- package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -0
- package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +29 -0
- package/src/lib/workflow-engine/workflow-engine.mutations.js +218 -0
- package/src/lib/workflow-engine/workflow-engine.mutations.js.map +1 -0
- package/src/lib/workflow-engine/workflow-engine.queries.d.ts +31 -0
- package/src/lib/workflow-engine/workflow-engine.queries.js +237 -0
- package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -0
- package/src/lib/workflow-engine/workflow-engine.service.d.ts +188 -0
- package/src/lib/workflow-engine/workflow-engine.service.js +3561 -0
- package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -0
- package/src/lib/workflow-engine/{workflow-engine.tokens.ts → workflow-engine.tokens.d.ts} +3 -9
- 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
- package/eslint.config.mjs +0 -20
- package/jest.config.cts +0 -15
- package/project.json +0 -58
- package/src/lib/attachment/attachment-options.spec.ts +0 -45
- package/src/lib/attachment/attachment-options.ts +0 -130
- package/src/lib/attachment/attachment-storage.provider.spec.ts +0 -79
- package/src/lib/attachment/attachment-storage.provider.ts +0 -60
- package/src/lib/attachment/attachment.controller.ts +0 -39
- package/src/lib/attachment/attachment.entity.ts +0 -59
- package/src/lib/attachment/attachment.module.ts +0 -149
- package/src/lib/attachment/attachment.mutations.ts +0 -22
- package/src/lib/attachment/attachment.queries.ts +0 -65
- package/src/lib/attachment/attachment.service.spec.ts +0 -319
- package/src/lib/attachment/attachment.service.ts +0 -477
- package/src/lib/attachment/dto/upload-attachment.input.ts +0 -60
- package/src/lib/bpm/bpm-root.module.spec.ts +0 -138
- package/src/lib/bpm/bpm-root.module.ts +0 -320
- package/src/lib/bpm-auth/bpm-auth-context.extractor.ts +0 -106
- package/src/lib/bpm-auth/bpm-auth-context.ts +0 -40
- package/src/lib/bpm-auth/bpm-auth.authorization.ts +0 -80
- package/src/lib/bpm-auth/bpm-auth.decorators.ts +0 -19
- package/src/lib/bpm-auth/bpm-auth.guard.ts +0 -31
- package/src/lib/bpm-auth/bpm-auth.module.spec.ts +0 -106
- package/src/lib/bpm-auth/bpm-auth.module.ts +0 -69
- package/src/lib/bpm-auth/bpm-auth.options.ts +0 -21
- package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.ts +0 -55
- package/src/lib/common/filters/all-exceptions.filter.ts +0 -138
- package/src/lib/common/iso-duration.ts +0 -31
- package/src/lib/condition/condition.module.ts +0 -8
- package/src/lib/condition/condition.service.spec.ts +0 -50
- package/src/lib/condition/condition.service.ts +0 -141
- package/src/lib/database/data-source.ts +0 -7
- package/src/lib/database/migration-runner.ts +0 -26
- package/src/lib/database/reconcile-legacy-migrations.ts +0 -87
- package/src/lib/database/typeorm.config.ts +0 -217
- package/src/lib/delegation/delegation-rule.entity.ts +0 -84
- package/src/lib/delegation/delegation.enums.ts +0 -21
- package/src/lib/delegation/delegation.module.ts +0 -14
- package/src/lib/delegation/delegation.mutations.ts +0 -92
- package/src/lib/delegation/delegation.queries.ts +0 -111
- package/src/lib/delegation/delegation.service.spec.ts +0 -295
- package/src/lib/delegation/delegation.service.ts +0 -482
- package/src/lib/delegation/dto/delegation-rule.input.ts +0 -125
- package/src/lib/form/dto/form-definition.input.ts +0 -90
- package/src/lib/form/form-definition-version.entity.ts +0 -66
- package/src/lib/form/form-definition.entity.ts +0 -54
- package/src/lib/form/form-schema-lint.object.ts +0 -10
- package/src/lib/form/form-schema.validator.spec.ts +0 -180
- package/src/lib/form/form-schema.validator.ts +0 -538
- package/src/lib/form/form.enums.ts +0 -20
- package/src/lib/form/form.module.ts +0 -19
- package/src/lib/form/form.mutations.ts +0 -73
- package/src/lib/form/form.queries.ts +0 -72
- package/src/lib/form/form.service.spec.ts +0 -371
- package/src/lib/form/form.service.ts +0 -607
- package/src/lib/identity/identity-options.ts +0 -41
- package/src/lib/identity/identity.module.ts +0 -96
- package/src/lib/identity/identity.queries.ts +0 -61
- package/src/lib/identity/identity.service.spec.ts +0 -328
- package/src/lib/identity/identity.service.ts +0 -277
- package/src/lib/identity/member-base.adapter.spec.ts +0 -122
- package/src/lib/identity/member-base.adapter.ts +0 -302
- package/src/lib/identity/member-metadata-cache.entity.ts +0 -27
- package/src/lib/identity/member-profile.object.ts +0 -28
- package/src/lib/migrations/0000000000001-enable-postgres-extensions.ts +0 -14
- package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.ts +0 -19
- package/src/lib/migrations/0000000012000-notification-sla-idempotency.ts +0 -22
- package/src/lib/migrations/0000000013000-workflow-query-indexes.ts +0 -113
- package/src/lib/migrations/0000000014000-notification-resolution.ts +0 -29
- package/src/lib/migrations/index.ts +0 -59
- package/src/lib/notification/dto/notification-preference.input.ts +0 -46
- package/src/lib/notification/notification-delivery-scheduler.service.ts +0 -69
- package/src/lib/notification/notification-delivery.service.spec.ts +0 -315
- package/src/lib/notification/notification-delivery.service.ts +0 -339
- package/src/lib/notification/notification-dispatcher.token.ts +0 -13
- package/src/lib/notification/notification-options.module.ts +0 -67
- package/src/lib/notification/notification-options.spec.ts +0 -93
- package/src/lib/notification/notification-options.ts +0 -452
- package/src/lib/notification/notification-preference.entity.ts +0 -35
- package/src/lib/notification/notification-sla-scheduler.service.ts +0 -66
- package/src/lib/notification/notification-template.spec.ts +0 -33
- package/src/lib/notification/notification-template.ts +0 -97
- package/src/lib/notification/notification.entity.ts +0 -129
- package/src/lib/notification/notification.enums.ts +0 -64
- package/src/lib/notification/notification.module.ts +0 -37
- package/src/lib/notification/notification.mutations.ts +0 -47
- package/src/lib/notification/notification.queries.ts +0 -64
- package/src/lib/notification/notification.service.spec.ts +0 -412
- package/src/lib/notification/notification.service.ts +0 -1129
- package/src/lib/organization/dto/manager-resolution.input.ts +0 -91
- package/src/lib/organization/dto/membership.input.ts +0 -77
- package/src/lib/organization/dto/org-unit.input.ts +0 -96
- package/src/lib/organization/dto/position.input.ts +0 -50
- package/src/lib/organization/json-metadata.ts +0 -15
- package/src/lib/organization/manager-resolution.entity.ts +0 -44
- package/src/lib/organization/membership.entity.ts +0 -50
- package/src/lib/organization/org-unit-tree-commit-result.object.ts +0 -8
- package/src/lib/organization/org-unit.entity.ts +0 -53
- package/src/lib/organization/organization-summary.object.ts +0 -16
- package/src/lib/organization/organization.enums.ts +0 -19
- package/src/lib/organization/organization.module.ts +0 -27
- package/src/lib/organization/organization.mutations.ts +0 -115
- package/src/lib/organization/organization.queries.ts +0 -191
- package/src/lib/organization/organization.service.spec.ts +0 -835
- package/src/lib/organization/organization.service.ts +0 -1245
- package/src/lib/organization/position.entity.ts +0 -39
- package/src/lib/organization/resolved-manager.object.ts +0 -10
- package/src/lib/signature/signature-options.spec.ts +0 -60
- package/src/lib/signature/signature-options.ts +0 -120
- package/src/lib/signature/signature-verification.object.ts +0 -16
- package/src/lib/signature/signature.entity.ts +0 -62
- package/src/lib/signature/signature.module.ts +0 -80
- package/src/lib/signature/signature.queries.ts +0 -37
- package/src/lib/signature/signature.service.spec.ts +0 -134
- package/src/lib/signature/signature.service.ts +0 -205
- package/src/lib/template/approval-template-category.entity.ts +0 -40
- package/src/lib/template/approval-template-version.entity.ts +0 -82
- package/src/lib/template/approval-template.entity.ts +0 -64
- package/src/lib/template/compose-approval-template.object.ts +0 -23
- package/src/lib/template/compose-template.mutations.ts +0 -22
- package/src/lib/template/dto/approval-template.input.ts +0 -147
- package/src/lib/template/dto/compose-approval-template.input.ts +0 -80
- package/src/lib/template/template.enums.ts +0 -30
- package/src/lib/template/template.module.ts +0 -33
- package/src/lib/template/template.mutations.ts +0 -106
- package/src/lib/template/template.queries.ts +0 -119
- package/src/lib/template/template.service.spec.ts +0 -822
- package/src/lib/template/template.service.ts +0 -1082
- package/src/lib/template/workflow-definition.validator.spec.ts +0 -595
- package/src/lib/template/workflow-definition.validator.ts +0 -539
- package/src/lib/testing/cel-js.jest.ts +0 -46
- package/src/lib/workflow-engine/activity-log.entity.ts +0 -48
- package/src/lib/workflow-engine/adhoc-directive.entity.ts +0 -90
- package/src/lib/workflow-engine/adhoc.enums.ts +0 -42
- package/src/lib/workflow-engine/approval-instance-page-info.object.ts +0 -22
- package/src/lib/workflow-engine/approval-instance.entity.ts +0 -86
- package/src/lib/workflow-engine/dto/adhoc-notification.input.ts +0 -18
- package/src/lib/workflow-engine/dto/adhoc-target.input.ts +0 -52
- package/src/lib/workflow-engine/dto/cancel-approval-instance.input.ts +0 -18
- package/src/lib/workflow-engine/dto/decide-task.input.ts +0 -33
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.ts +0 -22
- package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.ts +0 -22
- package/src/lib/workflow-engine/dto/submit-approval-instance.input.ts +0 -27
- package/src/lib/workflow-engine/task-candidate.entity.ts +0 -56
- package/src/lib/workflow-engine/task-decision.entity.ts +0 -43
- package/src/lib/workflow-engine/task.entity.ts +0 -102
- package/src/lib/workflow-engine/workflow-condition-evaluator.ts +0 -168
- package/src/lib/workflow-engine/workflow-dashboard-summary.object.ts +0 -22
- package/src/lib/workflow-engine/workflow-dry-run.object.ts +0 -58
- package/src/lib/workflow-engine/workflow-engine.enums.ts +0 -102
- package/src/lib/workflow-engine/workflow-engine.module.ts +0 -77
- package/src/lib/workflow-engine/workflow-engine.mutations.ts +0 -193
- package/src/lib/workflow-engine/workflow-engine.queries.ts +0 -241
- package/src/lib/workflow-engine/workflow-engine.service.spec.ts +0 -3345
- package/src/lib/workflow-engine/workflow-engine.service.ts +0 -6022
- package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.ts +0 -69
- package/src/lib/workflow-engine/workflow-token.entity.ts +0 -40
- package/tsconfig.json +0 -24
- package/tsconfig.lib.json +0 -16
- package/tsconfig.spec.json +0 -16
- /package/src/{index.ts → index.d.ts} +0 -0
- /package/src/lib/attachment/{index.ts → index.d.ts} +0 -0
- /package/src/lib/bpm/{index.ts → index.d.ts} +0 -0
- /package/src/lib/bpm-auth/{index.ts → index.d.ts} +0 -0
- /package/src/lib/common/{index.ts → index.d.ts} +0 -0
- /package/src/lib/condition/{index.ts → index.d.ts} +0 -0
- /package/src/lib/database/{index.ts → index.d.ts} +0 -0
- /package/src/lib/delegation/{index.ts → index.d.ts} +0 -0
- /package/src/lib/form/{index.ts → index.d.ts} +0 -0
- /package/src/lib/identity/{index.ts → index.d.ts} +0 -0
- /package/src/lib/notification/{index.ts → index.d.ts} +0 -0
- /package/src/lib/organization/{index.ts → index.d.ts} +0 -0
- /package/src/lib/signature/{index.ts → index.d.ts} +0 -0
- /package/src/lib/template/{index.ts → index.d.ts} +0 -0
- /package/src/lib/workflow-engine/{index.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { DynamicModule, InjectionToken, Provider } from '@nestjs/common';
|
|
2
|
+
import { ModuleMetadata } from '@nestjs/common/interfaces';
|
|
3
|
+
import { BPMRootAttachmentOptions } from '../attachment/attachment-options';
|
|
4
|
+
import { AttachmentStorage } from '../attachment/attachment-storage.token';
|
|
5
|
+
import { BPMAuthModuleOptions } from '../bpm-auth/bpm-auth.options';
|
|
6
|
+
import { BPMRootIdentityOptions } from '../identity/identity-options';
|
|
7
|
+
import { BPMMemberResolver } from '../identity/member-resolver.interface';
|
|
8
|
+
import { BPMRootNotificationOptions } from '../notification/notification-options';
|
|
9
|
+
import { BPMRootSignatureOptions } from '../signature/signature-options';
|
|
10
|
+
import { BPMWorkflowServiceTaskDispatcher } from '../workflow-engine/workflow-service-task-dispatcher.token';
|
|
11
|
+
export interface BPMRootModuleOptions extends Pick<ModuleMetadata, 'imports'>, BPMRootAttachmentOptions, BPMRootIdentityOptions, BPMRootNotificationOptions, BPMRootSignatureOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Host-provided storage adapter for BPM attachments.
|
|
14
|
+
*
|
|
15
|
+
* When omitted, BPM stores attachments through the local
|
|
16
|
+
* `@rytass/storages-adapter-local` adapter under `.storage/attachments`.
|
|
17
|
+
* Hosts can replace this provider with any `@rytass/storages` compatible
|
|
18
|
+
* adapter such as MinIO, S3, or GCS.
|
|
19
|
+
*/
|
|
20
|
+
readonly attachmentStorageProvider?: Provider<AttachmentStorage>;
|
|
21
|
+
/**
|
|
22
|
+
* Factory that resolves the current BPM auth context from NestJS execution
|
|
23
|
+
* context.
|
|
24
|
+
*
|
|
25
|
+
* BPM guards, GraphQL decorators, and domain services use this callback to
|
|
26
|
+
* identify the current member and organization context. When omitted, BPM
|
|
27
|
+
* operations that require authentication will not receive a host session.
|
|
28
|
+
*/
|
|
29
|
+
readonly authContextFactory?: BPMAuthModuleOptions['contextFactory'];
|
|
30
|
+
/**
|
|
31
|
+
* Host-provided member resolver provider.
|
|
32
|
+
*
|
|
33
|
+
* BPM uses this provider to resolve member metadata, organization identity,
|
|
34
|
+
* display names, and approver candidates without coupling
|
|
35
|
+
* `@rytass/bpm-core-nestjs-module` to a specific external identity system.
|
|
36
|
+
*/
|
|
37
|
+
readonly memberResolverProvider: Provider<BPMMemberResolver>;
|
|
38
|
+
/**
|
|
39
|
+
* Host-provided dispatcher for executable workflow service tasks.
|
|
40
|
+
*
|
|
41
|
+
* When omitted, BPM sends WEBHOOK service tasks with the built-in `fetch`
|
|
42
|
+
* dispatcher. Wrapper apps can replace this provider to add auth headers,
|
|
43
|
+
* request signing, retry queues, or an outbound integration bus.
|
|
44
|
+
*/
|
|
45
|
+
readonly workflowServiceTaskDispatcherProvider?: Provider<BPMWorkflowServiceTaskDispatcher>;
|
|
46
|
+
}
|
|
47
|
+
export interface BPMRootModuleAsyncFactoryOptions extends BPMRootAttachmentOptions, BPMRootIdentityOptions, BPMRootNotificationOptions, BPMRootSignatureOptions {
|
|
48
|
+
/**
|
|
49
|
+
* Factory that resolves the current BPM auth context from NestJS execution
|
|
50
|
+
* context.
|
|
51
|
+
*
|
|
52
|
+
* BPM guards, GraphQL decorators, and domain services use this callback to
|
|
53
|
+
* identify the current member and organization context. When omitted, BPM
|
|
54
|
+
* operations that require authentication will not receive a host session.
|
|
55
|
+
*/
|
|
56
|
+
readonly authContextFactory?: BPMAuthModuleOptions['contextFactory'];
|
|
57
|
+
}
|
|
58
|
+
export interface BPMRootModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
|
|
59
|
+
/**
|
|
60
|
+
* Controller mount path used by the BPM attachment endpoints.
|
|
61
|
+
*
|
|
62
|
+
* Set at module wiring time because Nest reads controller path metadata
|
|
63
|
+
* synchronously when the application starts. Async factories cannot drive
|
|
64
|
+
* this value; only static URL routing decisions should set it. Defaults to
|
|
65
|
+
* `/attachments`.
|
|
66
|
+
*/
|
|
67
|
+
readonly attachmentRoutePrefix?: string | null;
|
|
68
|
+
/**
|
|
69
|
+
* Host-provided storage adapter for BPM attachments.
|
|
70
|
+
*
|
|
71
|
+
* This provider is static at module wiring time. If secrets are required,
|
|
72
|
+
* use a Nest provider with `useFactory` / `inject` here.
|
|
73
|
+
*/
|
|
74
|
+
readonly attachmentStorageProvider?: Provider<AttachmentStorage>;
|
|
75
|
+
/**
|
|
76
|
+
* Providers injected into `useFactory`.
|
|
77
|
+
*
|
|
78
|
+
* This is typically used to read Vault-backed SMTP, webhook, and auth
|
|
79
|
+
* settings before constructing the flattened BPM root options.
|
|
80
|
+
*/
|
|
81
|
+
readonly inject?: readonly InjectionToken[];
|
|
82
|
+
/**
|
|
83
|
+
* Host-provided member resolver provider.
|
|
84
|
+
*
|
|
85
|
+
* BPM uses this provider to resolve member metadata, organization identity,
|
|
86
|
+
* display names, and approver candidates without coupling
|
|
87
|
+
* `@rytass/bpm-core-nestjs-module` to a specific external identity system.
|
|
88
|
+
*/
|
|
89
|
+
readonly memberResolverProvider: Provider<BPMMemberResolver>;
|
|
90
|
+
/**
|
|
91
|
+
* Host-provided dispatcher for executable workflow service tasks.
|
|
92
|
+
*
|
|
93
|
+
* This provider is static at module wiring time. If secrets are required,
|
|
94
|
+
* use a Nest provider with `useFactory` / `inject` here.
|
|
95
|
+
*/
|
|
96
|
+
readonly workflowServiceTaskDispatcherProvider?: Provider<BPMWorkflowServiceTaskDispatcher>;
|
|
97
|
+
/**
|
|
98
|
+
* Async factory returning BPM root options.
|
|
99
|
+
*
|
|
100
|
+
* The returned object intentionally keeps all BPM settings flat at the root
|
|
101
|
+
* level, for example `authContextFactory`, `notificationEmailSmtpHost`, and
|
|
102
|
+
* `notificationSlaSchedulerEnabled`.
|
|
103
|
+
*/
|
|
104
|
+
readonly useFactory: (...args: readonly unknown[]) => BPMRootModuleAsyncFactoryOptions | Promise<BPMRootModuleAsyncFactoryOptions>;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Aggregate entry point that wires every BPM domain module
|
|
108
|
+
* (`BPMAuthModule`, `IdentityModule`, `OrganizationModule`, `FormModule`,
|
|
109
|
+
* `TemplateModule`, `WorkflowEngineModule`, `DelegationModule`,
|
|
110
|
+
* `NotificationModule`, `SignatureModule`, `AttachmentModule`) into a
|
|
111
|
+
* NestJS host application.
|
|
112
|
+
*
|
|
113
|
+
* Hosts call `forRoot` or `forRootAsync` once from their root `AppModule`.
|
|
114
|
+
* BPMCore does **not** own login, GraphQL setup, TypeORM bootstrap, or
|
|
115
|
+
* Vault loading — those remain the host's responsibility. See the
|
|
116
|
+
* package README sections "Embedding & auth", "Organization data
|
|
117
|
+
* ownership", and "Consumer quickstart" for the full contract.
|
|
118
|
+
*
|
|
119
|
+
* The host must avoid Nest's `app.setGlobalPrefix(...)`; BPM controllers
|
|
120
|
+
* mount at relative paths driven by their respective options (notably
|
|
121
|
+
* `attachmentRoutePrefix`).
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```ts
|
|
125
|
+
* BPMRootModule.forRoot({
|
|
126
|
+
* authContextFactory: readBPMAuthContextFromGqlContext,
|
|
127
|
+
* memberResolverProvider: {
|
|
128
|
+
* provide: BPM_MEMBER_RESOLVER,
|
|
129
|
+
* useClass: HostMemberResolver,
|
|
130
|
+
* },
|
|
131
|
+
* attachmentPublicBaseUrl: process.env.BPM_PUBLIC_BASE_URL,
|
|
132
|
+
* attachmentSignedUrlSecret: process.env.BPM_ATTACHMENT_SIGNING_SECRET,
|
|
133
|
+
* });
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
export declare class BPMRootModule {
|
|
137
|
+
/**
|
|
138
|
+
* Static configuration. Use this when all BPM options are known at module
|
|
139
|
+
* wiring time (no async secret loading needed).
|
|
140
|
+
*/
|
|
141
|
+
static forRoot(options: BPMRootModuleOptions): DynamicModule;
|
|
142
|
+
/**
|
|
143
|
+
* Async configuration. Use this when BPM options must be resolved at
|
|
144
|
+
* runtime — typically when SMTP, webhook, or signature secrets are
|
|
145
|
+
* loaded from Vault / KMS / a host `ConfigService`.
|
|
146
|
+
*
|
|
147
|
+
* Routing-time decisions such as `attachmentRoutePrefix`,
|
|
148
|
+
* `memberResolverProvider`, `attachmentStorageProvider`, and
|
|
149
|
+
* `workflowServiceTaskDispatcherProvider` are read from the top-level
|
|
150
|
+
* options object (not from the `useFactory` return value), because
|
|
151
|
+
* Nest reads controller path metadata and provider tokens synchronously
|
|
152
|
+
* during application bootstrap.
|
|
153
|
+
*/
|
|
154
|
+
static forRootAsync(options: BPMRootModuleAsyncOptions): DynamicModule;
|
|
155
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var BPMRootModule_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.BPMRootModule = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const attachment_module_1 = require("../attachment/attachment.module");
|
|
8
|
+
const bpm_auth_module_1 = require("../bpm-auth/bpm-auth.module");
|
|
9
|
+
const delegation_module_1 = require("../delegation/delegation.module");
|
|
10
|
+
const form_module_1 = require("../form/form.module");
|
|
11
|
+
const identity_module_1 = require("../identity/identity.module");
|
|
12
|
+
const notification_module_1 = require("../notification/notification.module");
|
|
13
|
+
const notification_options_module_1 = require("../notification/notification-options.module");
|
|
14
|
+
const organization_module_1 = require("../organization/organization.module");
|
|
15
|
+
const signature_module_1 = require("../signature/signature.module");
|
|
16
|
+
const template_module_1 = require("../template/template.module");
|
|
17
|
+
const workflow_engine_module_1 = require("../workflow-engine/workflow-engine.module");
|
|
18
|
+
/**
|
|
19
|
+
* Aggregate entry point that wires every BPM domain module
|
|
20
|
+
* (`BPMAuthModule`, `IdentityModule`, `OrganizationModule`, `FormModule`,
|
|
21
|
+
* `TemplateModule`, `WorkflowEngineModule`, `DelegationModule`,
|
|
22
|
+
* `NotificationModule`, `SignatureModule`, `AttachmentModule`) into a
|
|
23
|
+
* NestJS host application.
|
|
24
|
+
*
|
|
25
|
+
* Hosts call `forRoot` or `forRootAsync` once from their root `AppModule`.
|
|
26
|
+
* BPMCore does **not** own login, GraphQL setup, TypeORM bootstrap, or
|
|
27
|
+
* Vault loading — those remain the host's responsibility. See the
|
|
28
|
+
* package README sections "Embedding & auth", "Organization data
|
|
29
|
+
* ownership", and "Consumer quickstart" for the full contract.
|
|
30
|
+
*
|
|
31
|
+
* The host must avoid Nest's `app.setGlobalPrefix(...)`; BPM controllers
|
|
32
|
+
* mount at relative paths driven by their respective options (notably
|
|
33
|
+
* `attachmentRoutePrefix`).
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* BPMRootModule.forRoot({
|
|
38
|
+
* authContextFactory: readBPMAuthContextFromGqlContext,
|
|
39
|
+
* memberResolverProvider: {
|
|
40
|
+
* provide: BPM_MEMBER_RESOLVER,
|
|
41
|
+
* useClass: HostMemberResolver,
|
|
42
|
+
* },
|
|
43
|
+
* attachmentPublicBaseUrl: process.env.BPM_PUBLIC_BASE_URL,
|
|
44
|
+
* attachmentSignedUrlSecret: process.env.BPM_ATTACHMENT_SIGNING_SECRET,
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
let BPMRootModule = BPMRootModule_1 = class BPMRootModule {
|
|
49
|
+
/**
|
|
50
|
+
* Static configuration. Use this when all BPM options are known at module
|
|
51
|
+
* wiring time (no async secret loading needed).
|
|
52
|
+
*/
|
|
53
|
+
static forRoot(options) {
|
|
54
|
+
const featureModules = createBPMFeatureModules(options);
|
|
55
|
+
return {
|
|
56
|
+
exports: [...featureModules],
|
|
57
|
+
imports: [...(options.imports ?? []), ...featureModules],
|
|
58
|
+
module: BPMRootModule_1,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Async configuration. Use this when BPM options must be resolved at
|
|
63
|
+
* runtime — typically when SMTP, webhook, or signature secrets are
|
|
64
|
+
* loaded from Vault / KMS / a host `ConfigService`.
|
|
65
|
+
*
|
|
66
|
+
* Routing-time decisions such as `attachmentRoutePrefix`,
|
|
67
|
+
* `memberResolverProvider`, `attachmentStorageProvider`, and
|
|
68
|
+
* `workflowServiceTaskDispatcherProvider` are read from the top-level
|
|
69
|
+
* options object (not from the `useFactory` return value), because
|
|
70
|
+
* Nest reads controller path metadata and provider tokens synchronously
|
|
71
|
+
* during application bootstrap.
|
|
72
|
+
*/
|
|
73
|
+
static forRootAsync(options) {
|
|
74
|
+
const authOptions = {
|
|
75
|
+
imports: options.imports,
|
|
76
|
+
inject: options.inject,
|
|
77
|
+
useFactory: async (...args) => {
|
|
78
|
+
const rootOptions = await options.useFactory(...args);
|
|
79
|
+
return createBPMAuthModuleOptions(rootOptions);
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
return {
|
|
83
|
+
exports: [
|
|
84
|
+
notification_options_module_1.NotificationOptionsModule,
|
|
85
|
+
bpm_auth_module_1.BPMAuthModule,
|
|
86
|
+
identity_module_1.IdentityModule,
|
|
87
|
+
organization_module_1.OrganizationModule,
|
|
88
|
+
attachment_module_1.AttachmentModule,
|
|
89
|
+
form_module_1.FormModule,
|
|
90
|
+
template_module_1.TemplateModule,
|
|
91
|
+
delegation_module_1.DelegationModule,
|
|
92
|
+
notification_module_1.NotificationModule,
|
|
93
|
+
signature_module_1.SignatureModule,
|
|
94
|
+
workflow_engine_module_1.WorkflowEngineModule,
|
|
95
|
+
],
|
|
96
|
+
imports: [
|
|
97
|
+
notification_options_module_1.NotificationOptionsModule.forRootAsync({
|
|
98
|
+
imports: options.imports,
|
|
99
|
+
inject: options.inject,
|
|
100
|
+
useFactory: options.useFactory,
|
|
101
|
+
}),
|
|
102
|
+
bpm_auth_module_1.BPMAuthModule.forRootAsync(authOptions),
|
|
103
|
+
identity_module_1.IdentityModule.forRootAsync({
|
|
104
|
+
imports: options.imports,
|
|
105
|
+
inject: options.inject,
|
|
106
|
+
memberResolverProvider: options.memberResolverProvider,
|
|
107
|
+
useFactory: options.useFactory,
|
|
108
|
+
}),
|
|
109
|
+
organization_module_1.OrganizationModule,
|
|
110
|
+
attachment_module_1.AttachmentModule.forRootAsync({
|
|
111
|
+
attachmentRoutePrefix: options.attachmentRoutePrefix,
|
|
112
|
+
imports: options.imports,
|
|
113
|
+
inject: options.inject,
|
|
114
|
+
storageProvider: options.attachmentStorageProvider,
|
|
115
|
+
useFactory: options.useFactory,
|
|
116
|
+
}),
|
|
117
|
+
form_module_1.FormModule,
|
|
118
|
+
template_module_1.TemplateModule,
|
|
119
|
+
delegation_module_1.DelegationModule,
|
|
120
|
+
notification_module_1.NotificationModule,
|
|
121
|
+
signature_module_1.SignatureModule.forRootAsync({
|
|
122
|
+
imports: options.imports,
|
|
123
|
+
inject: options.inject,
|
|
124
|
+
useFactory: options.useFactory,
|
|
125
|
+
}),
|
|
126
|
+
workflow_engine_module_1.WorkflowEngineModule.forRoot({
|
|
127
|
+
imports: options.imports,
|
|
128
|
+
serviceTaskDispatcherProvider: options.workflowServiceTaskDispatcherProvider,
|
|
129
|
+
}),
|
|
130
|
+
],
|
|
131
|
+
module: BPMRootModule_1,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
exports.BPMRootModule = BPMRootModule;
|
|
136
|
+
exports.BPMRootModule = BPMRootModule = BPMRootModule_1 = tslib_1.__decorate([
|
|
137
|
+
(0, common_1.Module)({})
|
|
138
|
+
], BPMRootModule);
|
|
139
|
+
function createBPMFeatureModules(options) {
|
|
140
|
+
return [
|
|
141
|
+
notification_options_module_1.NotificationOptionsModule.forRoot(options),
|
|
142
|
+
bpm_auth_module_1.BPMAuthModule.forRoot(createBPMAuthModuleOptions(options)),
|
|
143
|
+
identity_module_1.IdentityModule.forRoot({
|
|
144
|
+
...options,
|
|
145
|
+
imports: options.imports,
|
|
146
|
+
memberResolverProvider: options.memberResolverProvider,
|
|
147
|
+
}),
|
|
148
|
+
organization_module_1.OrganizationModule,
|
|
149
|
+
attachment_module_1.AttachmentModule.forRoot({
|
|
150
|
+
...options,
|
|
151
|
+
imports: options.imports,
|
|
152
|
+
storageProvider: options.attachmentStorageProvider,
|
|
153
|
+
}),
|
|
154
|
+
form_module_1.FormModule,
|
|
155
|
+
template_module_1.TemplateModule,
|
|
156
|
+
delegation_module_1.DelegationModule,
|
|
157
|
+
notification_module_1.NotificationModule,
|
|
158
|
+
signature_module_1.SignatureModule.forRoot(options),
|
|
159
|
+
workflow_engine_module_1.WorkflowEngineModule.forRoot({
|
|
160
|
+
imports: options.imports,
|
|
161
|
+
serviceTaskDispatcherProvider: options.workflowServiceTaskDispatcherProvider,
|
|
162
|
+
}),
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
|
+
function createBPMAuthModuleOptions(options) {
|
|
166
|
+
return {
|
|
167
|
+
contextFactory: options.authContextFactory,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=bpm-root.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bpm-root.module.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm/bpm-root.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAMwB;AAGxB,uEAAmE;AAEnE,iEAA4D;AAK5D,uEAAmE;AACnE,qDAAiD;AAEjD,iEAA6D;AAE7D,6EAAyE;AACzE,6FAAwF;AAExF,6EAAyE;AAEzE,oEAAgE;AAChE,iEAA6D;AAC7D,sFAAiF;AAiIjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEI,IAAM,aAAa,qBAAnB,MAAM,aAAa;IACxB;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,OAA6B;QAC1C,MAAM,cAAc,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAExD,OAAO;YACL,OAAO,EAAE,CAAC,GAAG,cAAc,CAAC;YAC5B,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,cAAc,CAAC;YACxD,MAAM,EAAE,eAAa;SACtB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,YAAY,CAAC,OAAkC;QACpD,MAAM,WAAW,GAA8B;YAC7C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,KAAK,EACf,GAAG,IAAwB,EACI,EAAE;gBACjC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;gBAEtD,OAAO,0BAA0B,CAAC,WAAW,CAAC,CAAC;YACjD,CAAC;SACF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE;gBACP,uDAAyB;gBACzB,+BAAa;gBACb,gCAAc;gBACd,wCAAkB;gBAClB,oCAAgB;gBAChB,wBAAU;gBACV,gCAAc;gBACd,oCAAgB;gBAChB,wCAAkB;gBAClB,kCAAe;gBACf,6CAAoB;aACrB;YACD,OAAO,EAAE;gBACP,uDAAyB,CAAC,YAAY,CAAC;oBACrC,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC;gBACF,+BAAa,CAAC,YAAY,CAAC,WAAW,CAAC;gBACvC,gCAAc,CAAC,YAAY,CAAC;oBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;oBACtD,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC;gBACF,wCAAkB;gBAClB,oCAAgB,CAAC,YAAY,CAAC;oBAC5B,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;oBACpD,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,eAAe,EAAE,OAAO,CAAC,yBAAyB;oBAClD,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC;gBACF,wBAAU;gBACV,gCAAc;gBACd,oCAAgB;gBAChB,wCAAkB;gBAClB,kCAAe,CAAC,YAAY,CAAC;oBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC;gBACF,6CAAoB,CAAC,OAAO,CAAC;oBAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,6BAA6B,EAC3B,OAAO,CAAC,qCAAqC;iBAChD,CAAC;aACH;YACD,MAAM,EAAE,eAAa;SACtB,CAAC;IACJ,CAAC;CACF,CAAA;AA7FY,sCAAa;wBAAb,aAAa;IADzB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,aAAa,CA6FzB;AAED,SAAS,uBAAuB,CAC9B,OAA6B;IAE7B,OAAO;QACL,uDAAyB,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1C,+BAAa,CAAC,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC1D,gCAAc,CAAC,OAAO,CAAC;YACrB,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;SACvD,CAAC;QACF,wCAAkB;QAClB,oCAAgB,CAAC,OAAO,CAAC;YACvB,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,OAAO,CAAC,yBAAyB;SACnD,CAAC;QACF,wBAAU;QACV,gCAAc;QACd,oCAAgB;QAChB,wCAAkB;QAClB,kCAAe,CAAC,OAAO,CAAC,OAAO,CAAC;QAChC,6CAAoB,CAAC,OAAO,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,6BAA6B,EAC3B,OAAO,CAAC,qCAAqC;SAChD,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAgE;IAEhE,OAAO;QACL,cAAc,EAAE,OAAO,CAAC,kBAAkB;KAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ExecutionContext } from '@nestjs/common';
|
|
2
|
+
/**
|
|
3
|
+
* The minimum authentication context BPM needs to make authorization
|
|
4
|
+
* decisions. Hosts construct this from their own session / JWT / RBAC
|
|
5
|
+
* source and surface it through `BPMRootModuleOptions.authContextFactory`.
|
|
6
|
+
*
|
|
7
|
+
* `roles` and `permissions` are matched against the string sets defined in
|
|
8
|
+
* `BPMAdminGuard` and `BPMDesignerGuard` — see the role / permission table
|
|
9
|
+
* in `libs/bpm-core/README.md` for the exact strings.
|
|
10
|
+
*/
|
|
11
|
+
export interface BPMAuthContext {
|
|
12
|
+
readonly memberId: string;
|
|
13
|
+
readonly metadata: Readonly<Record<string, unknown>>;
|
|
14
|
+
readonly permissions: readonly string[];
|
|
15
|
+
readonly roles: readonly string[];
|
|
16
|
+
}
|
|
17
|
+
export interface BPMAuthContextAccessor {
|
|
18
|
+
assertAuthenticated(context?: ExecutionContext): Promise<BPMAuthContext>;
|
|
19
|
+
getCurrentContext(context?: ExecutionContext): Promise<BPMAuthContext | null>;
|
|
20
|
+
getCurrentMemberId(context?: ExecutionContext): Promise<string>;
|
|
21
|
+
}
|
|
22
|
+
export declare const BPM_AUTH_CONTEXT_ACCESSOR: unique symbol;
|
|
23
|
+
export declare const BPM_AUTH_MODULE_OPTIONS: unique symbol;
|
|
24
|
+
export declare function readAuthenticatedBPMContext(accessor: BPMAuthContextAccessor, context?: ExecutionContext): Promise<BPMAuthContext>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ExecutionContext } from '@nestjs/common';
|
|
2
|
+
import { BPMAuthContext } from './bpm-auth-context';
|
|
3
|
+
export declare function attachBPMAuthContext(context: ExecutionContext | undefined, authContext: BPMAuthContext): void;
|
|
4
|
+
export declare function extractBPMAuthContext(context?: ExecutionContext): BPMAuthContext | null;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.attachBPMAuthContext = attachBPMAuthContext;
|
|
4
|
+
exports.extractBPMAuthContext = extractBPMAuthContext;
|
|
5
|
+
const graphql_1 = require("@nestjs/graphql");
|
|
6
|
+
function attachBPMAuthContext(context, authContext) {
|
|
7
|
+
if (!context) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const graphqlContext = graphql_1.GqlExecutionContext.create(context).getContext();
|
|
11
|
+
if (graphqlContext) {
|
|
12
|
+
graphqlContext.bpmAuthContext = authContext;
|
|
13
|
+
if (graphqlContext.req) {
|
|
14
|
+
graphqlContext.req.bpmAuthContext = authContext;
|
|
15
|
+
}
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const httpRequest = context
|
|
19
|
+
.switchToHttp()
|
|
20
|
+
.getRequest();
|
|
21
|
+
if (httpRequest) {
|
|
22
|
+
httpRequest.bpmAuthContext = authContext;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function extractBPMAuthContext(context) {
|
|
26
|
+
if (!context) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const graphqlContext = graphql_1.GqlExecutionContext.create(context).getContext();
|
|
30
|
+
const graphqlAuthContext = readBPMAuthContext(graphqlContext?.bpmAuthContext);
|
|
31
|
+
if (graphqlAuthContext) {
|
|
32
|
+
return graphqlAuthContext;
|
|
33
|
+
}
|
|
34
|
+
const requestAuthContext = readBPMAuthContext(graphqlContext?.req?.bpmAuthContext);
|
|
35
|
+
if (requestAuthContext) {
|
|
36
|
+
return requestAuthContext;
|
|
37
|
+
}
|
|
38
|
+
const httpRequest = context
|
|
39
|
+
.switchToHttp()
|
|
40
|
+
.getRequest();
|
|
41
|
+
return readBPMAuthContext(httpRequest?.bpmAuthContext);
|
|
42
|
+
}
|
|
43
|
+
function readBPMAuthContext(value) {
|
|
44
|
+
if (!isRecord(value)) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
const memberId = value.memberId;
|
|
48
|
+
if (typeof memberId !== 'string') {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
memberId,
|
|
53
|
+
metadata: readRecord(value.metadata),
|
|
54
|
+
permissions: readStringArray(value.permissions),
|
|
55
|
+
roles: readStringArray(value.roles),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function isRecord(value) {
|
|
59
|
+
return typeof value === 'object' && value !== null;
|
|
60
|
+
}
|
|
61
|
+
function readRecord(value) {
|
|
62
|
+
return isRecord(value) ? value : {};
|
|
63
|
+
}
|
|
64
|
+
function readStringArray(value) {
|
|
65
|
+
return Array.isArray(value)
|
|
66
|
+
? value.filter((item) => typeof item === 'string')
|
|
67
|
+
: [];
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=bpm-auth-context.extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bpm-auth-context.extractor.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm-auth/bpm-auth-context.extractor.ts"],"names":[],"mappings":";;AAYA,oDA6BC;AAED,sDA6BC;AAvED,6CAAsD;AAWtD,SAAgB,oBAAoB,CAClC,OAAqC,EACrC,WAA2B;IAE3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAElE,CAAC;IAEJ,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,cAAc,GAAG,WAAW,CAAC;QAE5C,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC;YACvB,cAAc,CAAC,GAAG,CAAC,cAAc,GAAG,WAAW,CAAC;QAClD,CAAC;QAED,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,OAAO;SACxB,YAAY,EAAE;SACd,UAAU,EAAiC,CAAC;IAE/C,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,cAAc,GAAG,WAAW,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CACnC,OAA0B;IAE1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAElE,CAAC;IACJ,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAE9E,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,kBAAkB,GAAG,kBAAkB,CAC3C,cAAc,EAAE,GAAG,EAAE,cAAc,CACpC,CAAC;IAEF,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,WAAW,GAAG,OAAO;SACxB,YAAY,EAAE;SACd,UAAU,EAAiC,CAAC;IAE/C,OAAO,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEhC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;QACpC,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC;QAC/C,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;QAClE,CAAC,CAAC,EAAE,CAAC;AACT,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BPM_AUTH_MODULE_OPTIONS = exports.BPM_AUTH_CONTEXT_ACCESSOR = void 0;
|
|
4
|
+
exports.readAuthenticatedBPMContext = readAuthenticatedBPMContext;
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
exports.BPM_AUTH_CONTEXT_ACCESSOR = Symbol('BPM_AUTH_CONTEXT_ACCESSOR');
|
|
7
|
+
exports.BPM_AUTH_MODULE_OPTIONS = Symbol('BPM_AUTH_MODULE_OPTIONS');
|
|
8
|
+
async function readAuthenticatedBPMContext(accessor, context) {
|
|
9
|
+
const authContext = await accessor.assertAuthenticated(context);
|
|
10
|
+
if (!authContext.memberId.trim()) {
|
|
11
|
+
throw new common_1.UnauthorizedException('BPM member id is required');
|
|
12
|
+
}
|
|
13
|
+
return authContext;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=bpm-auth-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bpm-auth-context.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm-auth/bpm-auth-context.ts"],"names":[],"mappings":";;;AA4BA,kEAWC;AAvCD,2CAAyE;AAwB5D,QAAA,yBAAyB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAEhE,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAElE,KAAK,UAAU,2BAA2B,CAC/C,QAAgC,EAChC,OAA0B;IAE1B,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAEhE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,8BAAqB,CAAC,2BAA2B,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
|
2
|
+
import { BPMAuthContext } from './bpm-auth-context';
|
|
3
|
+
export declare class BPMAdminGuard implements CanActivate {
|
|
4
|
+
canActivate(context: ExecutionContext): boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare class BPMDesignerGuard implements CanActivate {
|
|
7
|
+
canActivate(context: ExecutionContext): boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const BPMAdminOnly: () => ClassDecorator & MethodDecorator;
|
|
10
|
+
export declare const BPMDesignerOnly: () => ClassDecorator & MethodDecorator;
|
|
11
|
+
export declare function isBPMAdmin(authContext: BPMAuthContext): boolean;
|
|
12
|
+
export declare function isBPMDesigner(authContext: BPMAuthContext): boolean;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BPMDesignerOnly = exports.BPMAdminOnly = exports.BPMDesignerGuard = exports.BPMAdminGuard = void 0;
|
|
4
|
+
exports.isBPMAdmin = isBPMAdmin;
|
|
5
|
+
exports.isBPMDesigner = isBPMDesigner;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const common_1 = require("@nestjs/common");
|
|
8
|
+
const bpm_auth_context_extractor_1 = require("./bpm-auth-context.extractor");
|
|
9
|
+
const bpm_auth_guard_1 = require("./bpm-auth.guard");
|
|
10
|
+
const ADMIN_PERMISSIONS = new Set([
|
|
11
|
+
'bpm:*',
|
|
12
|
+
'bpm:admin',
|
|
13
|
+
'bpm.admin',
|
|
14
|
+
'bpm:admin:*',
|
|
15
|
+
]);
|
|
16
|
+
const DESIGNER_PERMISSIONS = new Set([
|
|
17
|
+
'bpm:*',
|
|
18
|
+
'bpm:admin',
|
|
19
|
+
'bpm.admin',
|
|
20
|
+
'bpm:admin:*',
|
|
21
|
+
'bpm:design',
|
|
22
|
+
'bpm.design',
|
|
23
|
+
'bpm.form.design',
|
|
24
|
+
'bpm.template.design',
|
|
25
|
+
'bpm:form:design',
|
|
26
|
+
'bpm:template:design',
|
|
27
|
+
]);
|
|
28
|
+
let BPMAdminGuard = class BPMAdminGuard {
|
|
29
|
+
canActivate(context) {
|
|
30
|
+
const authContext = (0, bpm_auth_context_extractor_1.extractBPMAuthContext)(context);
|
|
31
|
+
if (authContext && isBPMAdmin(authContext)) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
throw new common_1.ForbiddenException('BPM admin permission is required');
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.BPMAdminGuard = BPMAdminGuard;
|
|
38
|
+
exports.BPMAdminGuard = BPMAdminGuard = tslib_1.__decorate([
|
|
39
|
+
(0, common_1.Injectable)()
|
|
40
|
+
], BPMAdminGuard);
|
|
41
|
+
let BPMDesignerGuard = class BPMDesignerGuard {
|
|
42
|
+
canActivate(context) {
|
|
43
|
+
const authContext = (0, bpm_auth_context_extractor_1.extractBPMAuthContext)(context);
|
|
44
|
+
if (authContext && isBPMDesigner(authContext)) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
throw new common_1.ForbiddenException('BPM designer permission is required');
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
exports.BPMDesignerGuard = BPMDesignerGuard;
|
|
51
|
+
exports.BPMDesignerGuard = BPMDesignerGuard = tslib_1.__decorate([
|
|
52
|
+
(0, common_1.Injectable)()
|
|
53
|
+
], BPMDesignerGuard);
|
|
54
|
+
const BPMAdminOnly = () => (0, common_1.UseGuards)(bpm_auth_guard_1.BPMAuthenticatedGuard, BPMAdminGuard);
|
|
55
|
+
exports.BPMAdminOnly = BPMAdminOnly;
|
|
56
|
+
const BPMDesignerOnly = () => (0, common_1.UseGuards)(bpm_auth_guard_1.BPMAuthenticatedGuard, BPMDesignerGuard);
|
|
57
|
+
exports.BPMDesignerOnly = BPMDesignerOnly;
|
|
58
|
+
function isBPMAdmin(authContext) {
|
|
59
|
+
return (authContext.roles.includes('BPM_ADMIN') ||
|
|
60
|
+
authContext.permissions.some((permission) => ADMIN_PERMISSIONS.has(permission)));
|
|
61
|
+
}
|
|
62
|
+
function isBPMDesigner(authContext) {
|
|
63
|
+
return (isBPMAdmin(authContext) ||
|
|
64
|
+
authContext.roles.includes('BPM_DESIGNER') ||
|
|
65
|
+
authContext.permissions.some((permission) => DESIGNER_PERMISSIONS.has(permission)));
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=bpm-auth.authorization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bpm-auth.authorization.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm-auth/bpm-auth.authorization.ts"],"names":[],"mappings":";;;AA8DA,gCAOC;AAED,sCAQC;;AA/ED,2CAMwB;AAExB,6EAAqE;AACrE,qDAAyD;AAEzD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,OAAO;IACP,WAAW;IACX,WAAW;IACX,aAAa;CACd,CAAC,CAAC;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,OAAO;IACP,WAAW;IACX,WAAW;IACX,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,qBAAqB;CACtB,CAAC,CAAC;AAGI,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,WAAW,CAAC,OAAyB;QACnC,MAAM,WAAW,GAAG,IAAA,kDAAqB,EAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,2BAAkB,CAAC,kCAAkC,CAAC,CAAC;IACnE,CAAC;CACF,CAAA;AAVY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAUzB;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,WAAW,CAAC,OAAyB;QACnC,MAAM,WAAW,GAAG,IAAA,kDAAqB,EAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,2BAAkB,CAAC,qCAAqC,CAAC,CAAC;IACtE,CAAC;CACF,CAAA;AAVY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CAU5B;AAEM,MAAM,YAAY,GAAG,GAAqC,EAAE,CACjE,IAAA,kBAAS,EAAC,sCAAqB,EAAE,aAAa,CAAC,CAAC;AADrC,QAAA,YAAY,gBACyB;AAE3C,MAAM,eAAe,GAAG,GAAqC,EAAE,CACpE,IAAA,kBAAS,EAAC,sCAAqB,EAAE,gBAAgB,CAAC,CAAC;AADxC,QAAA,eAAe,mBACyB;AAErD,SAAgB,UAAU,CAAC,WAA2B;IACpD,OAAO,CACL,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAC1C,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAClC,CACF,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,WAA2B;IACvD,OAAO,CACL,UAAU,CAAC,WAAW,CAAC;QACvB,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC1C,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAC1C,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CACrC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BPMCurrentMemberId = exports.BPMCurrentAuthContext = exports.BPMAuthenticated = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const bpm_auth_guard_1 = require("./bpm-auth.guard");
|
|
6
|
+
const bpm_auth_context_extractor_1 = require("./bpm-auth-context.extractor");
|
|
7
|
+
const BPMAuthenticated = () => (0, common_1.UseGuards)(bpm_auth_guard_1.BPMAuthenticatedGuard);
|
|
8
|
+
exports.BPMAuthenticated = BPMAuthenticated;
|
|
9
|
+
exports.BPMCurrentAuthContext = (0, common_1.createParamDecorator)((_data, context) => (0, bpm_auth_context_extractor_1.extractBPMAuthContext)(context));
|
|
10
|
+
exports.BPMCurrentMemberId = (0, common_1.createParamDecorator)((_data, context) => (0, bpm_auth_context_extractor_1.extractBPMAuthContext)(context)?.memberId ?? null);
|
|
11
|
+
//# sourceMappingURL=bpm-auth.decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bpm-auth.decorators.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm-auth/bpm-auth.decorators.ts"],"names":[],"mappings":";;;AAAA,2CAIwB;AACxB,qDAAyD;AACzD,6EAAqE;AAE9D,MAAM,gBAAgB,GAAG,GAAqC,EAAE,CACrE,IAAA,kBAAS,EAAC,sCAAqB,CAAC,CAAC;AADtB,QAAA,gBAAgB,oBACM;AAEtB,QAAA,qBAAqB,GAAG,IAAA,6BAAoB,EACvD,CAAC,KAAc,EAAE,OAAyB,EAAE,EAAE,CAAC,IAAA,kDAAqB,EAAC,OAAO,CAAC,CAC9E,CAAC;AAEW,QAAA,kBAAkB,GAAG,IAAA,6BAAoB,EACpD,CAAC,KAAc,EAAE,OAAyB,EAAE,EAAE,CAC5C,IAAA,kDAAqB,EAAC,OAAO,CAAC,EAAE,QAAQ,IAAI,IAAI,CACnD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
|
2
|
+
import { BPMAuthContextAccessor } from './bpm-auth-context';
|
|
3
|
+
export declare class BPMAuthenticatedGuard implements CanActivate {
|
|
4
|
+
private readonly authContextAccessor;
|
|
5
|
+
constructor(authContextAccessor: BPMAuthContextAccessor);
|
|
6
|
+
canActivate(context: ExecutionContext): Promise<boolean>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BPMAuthenticatedGuard = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const bpm_auth_context_1 = require("./bpm-auth-context");
|
|
7
|
+
const bpm_auth_context_extractor_1 = require("./bpm-auth-context.extractor");
|
|
8
|
+
let BPMAuthenticatedGuard = class BPMAuthenticatedGuard {
|
|
9
|
+
constructor(authContextAccessor) {
|
|
10
|
+
this.authContextAccessor = authContextAccessor;
|
|
11
|
+
}
|
|
12
|
+
async canActivate(context) {
|
|
13
|
+
const authContext = await (0, bpm_auth_context_1.readAuthenticatedBPMContext)(this.authContextAccessor, context);
|
|
14
|
+
(0, bpm_auth_context_extractor_1.attachBPMAuthContext)(context, authContext);
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.BPMAuthenticatedGuard = BPMAuthenticatedGuard;
|
|
19
|
+
exports.BPMAuthenticatedGuard = BPMAuthenticatedGuard = tslib_1.__decorate([
|
|
20
|
+
(0, common_1.Injectable)(),
|
|
21
|
+
tslib_1.__param(0, (0, common_1.Inject)(bpm_auth_context_1.BPM_AUTH_CONTEXT_ACCESSOR)),
|
|
22
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
23
|
+
], BPMAuthenticatedGuard);
|
|
24
|
+
//# sourceMappingURL=bpm-auth.guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bpm-auth.guard.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/bpm-auth/bpm-auth.guard.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,yDAI4B;AAC5B,6EAAoE;AAG7D,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,YAEmB,mBAA2C;QAA3C,wBAAmB,GAAnB,mBAAmB,CAAwB;IAC3D,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,WAAW,GAAG,MAAM,IAAA,8CAA2B,EACnD,IAAI,CAAC,mBAAmB,EACxB,OAAO,CACR,CAAC;QAEF,IAAA,iDAAoB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAhBY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAGR,mBAAA,IAAA,eAAM,EAAC,4CAAyB,CAAC,CAAA;;GAFzB,qBAAqB,CAgBjC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule } from '@nestjs/common';
|
|
2
|
+
import { BPMAuthModuleAsyncOptions, BPMAuthModuleOptions } from './bpm-auth.options';
|
|
3
|
+
export declare class BPMAuthModule {
|
|
4
|
+
static forRoot(options?: BPMAuthModuleOptions): DynamicModule;
|
|
5
|
+
static forRootAsync(options: BPMAuthModuleAsyncOptions): DynamicModule;
|
|
6
|
+
}
|