@rytass/bpm-core-nestjs-module 0.3.0 → 0.5.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 +44 -0
- package/eslint.config.mjs +20 -0
- package/jest.config.cts +15 -0
- package/package.json +2 -2
- package/project.json +58 -0
- package/src/lib/attachment/attachment-options.spec.ts +45 -0
- package/src/lib/attachment/attachment-options.ts +130 -0
- package/src/lib/attachment/attachment-storage.provider.spec.ts +79 -0
- package/src/lib/attachment/attachment-storage.provider.ts +60 -0
- package/src/lib/attachment/{attachment-storage.token.d.ts → attachment-storage.token.ts} +3 -1
- package/src/lib/attachment/attachment.controller.ts +39 -0
- package/src/lib/attachment/attachment.entity.ts +59 -0
- package/src/lib/attachment/attachment.module.ts +149 -0
- package/src/lib/attachment/attachment.mutations.ts +22 -0
- package/src/lib/attachment/attachment.queries.ts +65 -0
- package/src/lib/attachment/attachment.service.spec.ts +319 -0
- package/src/lib/attachment/attachment.service.ts +477 -0
- package/src/lib/attachment/dto/upload-attachment.input.ts +60 -0
- package/src/lib/bpm/bpm-root.module.spec.ts +138 -0
- package/src/lib/bpm/bpm-root.module.ts +320 -0
- package/src/lib/bpm-auth/bpm-auth-context.extractor.ts +106 -0
- package/src/lib/bpm-auth/bpm-auth-context.ts +40 -0
- package/src/lib/bpm-auth/bpm-auth.authorization.ts +80 -0
- package/src/lib/bpm-auth/bpm-auth.decorators.ts +19 -0
- package/src/lib/bpm-auth/bpm-auth.guard.ts +31 -0
- package/src/lib/bpm-auth/bpm-auth.module.spec.ts +106 -0
- package/src/lib/bpm-auth/bpm-auth.module.ts +69 -0
- package/src/lib/bpm-auth/bpm-auth.options.ts +21 -0
- package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.ts +55 -0
- package/src/lib/common/filters/all-exceptions.filter.ts +138 -0
- package/src/lib/common/iso-duration.ts +31 -0
- package/src/lib/condition/condition.module.ts +8 -0
- package/src/lib/condition/condition.service.spec.ts +50 -0
- package/src/lib/condition/condition.service.ts +141 -0
- package/src/lib/database/data-source.ts +7 -0
- package/src/lib/database/migration-runner.ts +26 -0
- package/src/lib/database/reconcile-legacy-migrations.ts +87 -0
- package/src/lib/database/typeorm.config.ts +217 -0
- package/src/lib/delegation/delegation-rule.entity.ts +84 -0
- package/src/lib/delegation/delegation.enums.ts +21 -0
- package/src/lib/delegation/delegation.module.ts +14 -0
- package/src/lib/delegation/delegation.mutations.ts +92 -0
- package/src/lib/delegation/delegation.queries.ts +111 -0
- package/src/lib/delegation/delegation.service.spec.ts +295 -0
- package/src/lib/delegation/delegation.service.ts +482 -0
- package/src/lib/delegation/dto/delegation-rule.input.ts +125 -0
- package/src/lib/form/dto/form-definition.input.ts +90 -0
- package/src/lib/form/form-definition-version.entity.ts +66 -0
- package/src/lib/form/form-definition.entity.ts +54 -0
- package/src/lib/form/form-schema-lint.object.ts +10 -0
- package/src/lib/form/form-schema.validator.spec.ts +180 -0
- package/src/lib/form/form-schema.validator.ts +538 -0
- package/src/lib/form/form.enums.ts +20 -0
- package/src/lib/form/form.module.ts +19 -0
- package/src/lib/form/form.mutations.ts +73 -0
- package/src/lib/form/form.queries.ts +72 -0
- package/src/lib/form/form.service.spec.ts +371 -0
- package/src/lib/form/form.service.ts +607 -0
- package/src/lib/identity/identity-options.ts +41 -0
- package/src/lib/identity/identity.module.ts +96 -0
- package/src/lib/identity/identity.queries.ts +61 -0
- package/src/lib/identity/identity.service.spec.ts +328 -0
- package/src/lib/identity/identity.service.ts +277 -0
- package/src/lib/identity/member-base.adapter.spec.ts +122 -0
- package/src/lib/identity/member-base.adapter.ts +302 -0
- package/src/lib/identity/member-metadata-cache.entity.ts +27 -0
- package/src/lib/identity/{member-not-found.exception.d.ts → member-not-found.exception.ts} +8 -3
- package/src/lib/identity/member-profile.object.ts +28 -0
- package/src/lib/identity/member-resolver.interface.ts +140 -0
- package/src/lib/migrations/0000000000001-enable-postgres-extensions.ts +14 -0
- package/src/lib/migrations/{0000000001000-identity-organization-foundation.js → 0000000001000-identity-organization-foundation.ts} +38 -29
- package/src/lib/migrations/{0000000002000-form-builder-foundation.js → 0000000002000-form-builder-foundation.ts} +22 -21
- package/src/lib/migrations/{0000000003000-approval-template-foundation.js → 0000000003000-approval-template-foundation.ts} +24 -21
- package/src/lib/migrations/{0000000004000-workflow-engine-foundation.js → 0000000004000-workflow-engine-foundation.ts} +46 -34
- package/src/lib/migrations/{0000000005000-delegation-rules.js → 0000000005000-delegation-rules.ts} +20 -19
- package/src/lib/migrations/{0000000006000-notifications-sla.js → 0000000006000-notifications-sla.ts} +26 -23
- package/src/lib/migrations/{0000000007000-signatures-attachments.js → 0000000007000-signatures-attachments.ts} +28 -27
- package/src/lib/migrations/{0000000008000-approval-template-categories.js → 0000000008000-approval-template-categories.ts} +28 -25
- package/src/lib/migrations/{0000000009000-task-candidates.js → 0000000009000-task-candidates.ts} +26 -23
- package/src/lib/migrations/{0000000010000-notification-delivery-state.js → 0000000010000-notification-delivery-state.ts} +16 -17
- package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.ts +19 -0
- package/src/lib/migrations/0000000012000-notification-sla-idempotency.ts +22 -0
- package/src/lib/migrations/0000000013000-workflow-query-indexes.ts +113 -0
- package/src/lib/migrations/0000000014000-notification-resolution.ts +29 -0
- package/src/lib/migrations/{0000000015000-backfill-stale-notification-resolution.js → 0000000015000-backfill-stale-notification-resolution.ts} +15 -16
- package/src/lib/migrations/{0000000016000-archive-parallel-form-drafts.js → 0000000016000-archive-parallel-form-drafts.ts} +15 -16
- package/src/lib/migrations/{0000000017000-adhoc-directives.js → 0000000017000-adhoc-directives.ts} +18 -19
- package/src/lib/migrations/index.ts +59 -0
- package/src/lib/notification/dto/notification-preference.input.ts +46 -0
- package/src/lib/notification/notification-delivery-scheduler.service.ts +69 -0
- package/src/lib/notification/notification-delivery.service.spec.ts +315 -0
- package/src/lib/notification/notification-delivery.service.ts +339 -0
- package/src/lib/notification/notification-dispatcher.token.ts +13 -0
- package/src/lib/notification/notification-options.module.ts +67 -0
- package/src/lib/notification/notification-options.spec.ts +93 -0
- package/src/lib/notification/notification-options.ts +452 -0
- package/src/lib/notification/notification-preference.entity.ts +35 -0
- package/src/lib/notification/notification-sla-scheduler.service.ts +66 -0
- package/src/lib/notification/notification-template.spec.ts +33 -0
- package/src/lib/notification/notification-template.ts +97 -0
- package/src/lib/notification/notification.entity.ts +129 -0
- package/src/lib/notification/notification.enums.ts +64 -0
- package/src/lib/notification/notification.module.ts +37 -0
- package/src/lib/notification/notification.mutations.ts +47 -0
- package/src/lib/notification/notification.queries.ts +64 -0
- package/src/lib/notification/notification.service.spec.ts +412 -0
- package/src/lib/notification/notification.service.ts +1129 -0
- package/src/lib/organization/dto/manager-resolution.input.ts +91 -0
- package/src/lib/organization/dto/membership.input.ts +77 -0
- package/src/lib/organization/dto/org-unit.input.ts +96 -0
- package/src/lib/organization/dto/position.input.ts +50 -0
- package/src/lib/organization/json-metadata.ts +15 -0
- package/src/lib/organization/manager-resolution.entity.ts +44 -0
- package/src/lib/organization/membership.entity.ts +50 -0
- package/src/lib/organization/org-unit-tree-commit-result.object.ts +8 -0
- package/src/lib/organization/org-unit.entity.ts +53 -0
- package/src/lib/organization/organization-summary.object.ts +16 -0
- package/src/lib/organization/organization.enums.ts +19 -0
- package/src/lib/organization/organization.module.ts +27 -0
- package/src/lib/organization/organization.mutations.ts +115 -0
- package/src/lib/organization/organization.queries.ts +191 -0
- package/src/lib/organization/organization.service.spec.ts +835 -0
- package/src/lib/organization/organization.service.ts +1245 -0
- package/src/lib/organization/position.entity.ts +39 -0
- package/src/lib/organization/resolved-manager.object.ts +10 -0
- package/src/lib/signature/signature-options.spec.ts +60 -0
- package/src/lib/signature/signature-options.ts +120 -0
- package/src/lib/signature/signature-verification.object.ts +16 -0
- package/src/lib/signature/signature.entity.ts +62 -0
- package/src/lib/signature/signature.module.ts +80 -0
- package/src/lib/signature/signature.queries.ts +37 -0
- package/src/lib/signature/signature.service.spec.ts +134 -0
- package/src/lib/signature/signature.service.ts +205 -0
- package/src/lib/template/approval-template-category.entity.ts +40 -0
- package/src/lib/template/approval-template-version.entity.ts +82 -0
- package/src/lib/template/approval-template.entity.ts +64 -0
- package/src/lib/template/compose-approval-template.object.ts +23 -0
- package/src/lib/template/compose-template.mutations.ts +22 -0
- package/src/lib/template/dto/approval-template.input.ts +147 -0
- package/src/lib/template/dto/compose-approval-template.input.ts +80 -0
- package/src/lib/template/template.enums.ts +30 -0
- package/src/lib/template/template.module.ts +33 -0
- package/src/lib/template/template.mutations.ts +106 -0
- package/src/lib/template/template.queries.ts +119 -0
- package/src/lib/template/template.service.spec.ts +822 -0
- package/src/lib/template/template.service.ts +1082 -0
- package/src/lib/template/workflow-definition.validator.spec.ts +595 -0
- package/src/lib/template/workflow-definition.validator.ts +539 -0
- package/src/lib/testing/cel-js.jest.ts +46 -0
- package/src/lib/workflow-engine/activity-log.entity.ts +48 -0
- package/src/lib/workflow-engine/adhoc-directive.entity.ts +90 -0
- package/src/lib/workflow-engine/adhoc.enums.ts +42 -0
- package/src/lib/workflow-engine/approval-instance-page-info.object.ts +22 -0
- package/src/lib/workflow-engine/approval-instance.entity.ts +86 -0
- package/src/lib/workflow-engine/dto/adhoc-notification.input.ts +18 -0
- package/src/lib/workflow-engine/dto/adhoc-target.input.ts +52 -0
- package/src/lib/workflow-engine/dto/cancel-approval-instance.input.ts +18 -0
- package/src/lib/workflow-engine/dto/decide-task.input.ts +33 -0
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.ts +22 -0
- package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.ts +22 -0
- package/src/lib/workflow-engine/dto/submit-approval-instance.input.ts +27 -0
- package/src/lib/workflow-engine/task-candidate.entity.ts +56 -0
- package/src/lib/workflow-engine/task-decision.entity.ts +43 -0
- package/src/lib/workflow-engine/task.entity.ts +102 -0
- package/src/lib/workflow-engine/workflow-condition-evaluator.ts +168 -0
- package/src/lib/workflow-engine/workflow-dashboard-summary.object.ts +22 -0
- package/src/lib/workflow-engine/workflow-dry-run.object.ts +58 -0
- package/src/lib/workflow-engine/workflow-engine.enums.ts +102 -0
- package/src/lib/workflow-engine/workflow-engine.module.ts +77 -0
- package/src/lib/workflow-engine/workflow-engine.mutations.ts +193 -0
- package/src/lib/workflow-engine/workflow-engine.queries.ts +241 -0
- package/src/lib/workflow-engine/workflow-engine.service.spec.ts +3345 -0
- package/src/lib/workflow-engine/workflow-engine.service.ts +6022 -0
- package/src/lib/workflow-engine/{workflow-engine.tokens.d.ts → workflow-engine.tokens.ts} +9 -3
- package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.ts +69 -0
- package/src/lib/workflow-engine/workflow-token.entity.ts +40 -0
- package/tsconfig.json +24 -0
- package/tsconfig.lib.json +16 -0
- package/tsconfig.spec.json +16 -0
- package/src/index.js +0 -18
- package/src/index.js.map +0 -1
- package/src/lib/attachment/attachment-options.d.ts +0 -44
- package/src/lib/attachment/attachment-options.js +0 -62
- package/src/lib/attachment/attachment-options.js.map +0 -1
- package/src/lib/attachment/attachment-storage.provider.d.ts +0 -4
- package/src/lib/attachment/attachment-storage.provider.js +0 -35
- package/src/lib/attachment/attachment-storage.provider.js.map +0 -1
- package/src/lib/attachment/attachment-storage.token.js +0 -5
- package/src/lib/attachment/attachment-storage.token.js.map +0 -1
- package/src/lib/attachment/attachment.controller.d.ts +0 -8
- package/src/lib/attachment/attachment.controller.js +0 -38
- package/src/lib/attachment/attachment.controller.js.map +0 -1
- package/src/lib/attachment/attachment.entity.d.ts +0 -14
- package/src/lib/attachment/attachment.entity.js +0 -74
- package/src/lib/attachment/attachment.entity.js.map +0 -1
- package/src/lib/attachment/attachment.module.d.ts +0 -27
- package/src/lib/attachment/attachment.module.js +0 -103
- package/src/lib/attachment/attachment.module.js.map +0 -1
- package/src/lib/attachment/attachment.mutations.d.ts +0 -8
- package/src/lib/attachment/attachment.mutations.js +0 -35
- package/src/lib/attachment/attachment.mutations.js.map +0 -1
- package/src/lib/attachment/attachment.queries.d.ts +0 -9
- package/src/lib/attachment/attachment.queries.js +0 -78
- package/src/lib/attachment/attachment.queries.js.map +0 -1
- package/src/lib/attachment/attachment.service.d.ts +0 -49
- package/src/lib/attachment/attachment.service.js +0 -276
- package/src/lib/attachment/attachment.service.js.map +0 -1
- package/src/lib/attachment/dto/upload-attachment.input.d.ts +0 -11
- package/src/lib/attachment/dto/upload-attachment.input.js +0 -68
- package/src/lib/attachment/dto/upload-attachment.input.js.map +0 -1
- package/src/lib/attachment/index.js +0 -9
- package/src/lib/attachment/index.js.map +0 -1
- package/src/lib/bpm/bpm-root.module.d.ts +0 -155
- package/src/lib/bpm/bpm-root.module.js +0 -170
- package/src/lib/bpm/bpm-root.module.js.map +0 -1
- package/src/lib/bpm/index.js +0 -5
- package/src/lib/bpm/index.js.map +0 -1
- package/src/lib/bpm-auth/bpm-auth-context.d.ts +0 -24
- package/src/lib/bpm-auth/bpm-auth-context.extractor.d.ts +0 -4
- package/src/lib/bpm-auth/bpm-auth-context.extractor.js +0 -69
- package/src/lib/bpm-auth/bpm-auth-context.extractor.js.map +0 -1
- package/src/lib/bpm-auth/bpm-auth-context.js +0 -15
- package/src/lib/bpm-auth/bpm-auth-context.js.map +0 -1
- package/src/lib/bpm-auth/bpm-auth.authorization.d.ts +0 -12
- package/src/lib/bpm-auth/bpm-auth.authorization.js +0 -67
- package/src/lib/bpm-auth/bpm-auth.authorization.js.map +0 -1
- package/src/lib/bpm-auth/bpm-auth.decorators.d.ts +0 -3
- package/src/lib/bpm-auth/bpm-auth.decorators.js +0 -11
- package/src/lib/bpm-auth/bpm-auth.decorators.js.map +0 -1
- package/src/lib/bpm-auth/bpm-auth.guard.d.ts +0 -7
- package/src/lib/bpm-auth/bpm-auth.guard.js +0 -24
- package/src/lib/bpm-auth/bpm-auth.guard.js.map +0 -1
- package/src/lib/bpm-auth/bpm-auth.module.d.ts +0 -6
- package/src/lib/bpm-auth/bpm-auth.module.js +0 -69
- package/src/lib/bpm-auth/bpm-auth.module.js.map +0 -1
- package/src/lib/bpm-auth/bpm-auth.options.d.ts +0 -11
- package/src/lib/bpm-auth/bpm-auth.options.js +0 -3
- package/src/lib/bpm-auth/bpm-auth.options.js.map +0 -1
- package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.d.ts +0 -10
- package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js +0 -40
- package/src/lib/bpm-auth/configurable-bpm-auth-context.accessor.js.map +0 -1
- package/src/lib/bpm-auth/index.js +0 -10
- package/src/lib/bpm-auth/index.js.map +0 -1
- package/src/lib/common/filters/all-exceptions.filter.d.ts +0 -25
- package/src/lib/common/filters/all-exceptions.filter.js +0 -93
- package/src/lib/common/filters/all-exceptions.filter.js.map +0 -1
- package/src/lib/common/index.js +0 -5
- package/src/lib/common/index.js.map +0 -1
- package/src/lib/common/iso-duration.d.ts +0 -1
- package/src/lib/common/iso-duration.js +0 -27
- package/src/lib/common/iso-duration.js.map +0 -1
- package/src/lib/condition/condition.module.d.ts +0 -2
- package/src/lib/condition/condition.module.js +0 -16
- package/src/lib/condition/condition.module.js.map +0 -1
- package/src/lib/condition/condition.service.d.ts +0 -16
- package/src/lib/condition/condition.service.js +0 -82
- package/src/lib/condition/condition.service.js.map +0 -1
- package/src/lib/condition/index.js +0 -6
- package/src/lib/condition/index.js.map +0 -1
- package/src/lib/database/data-source.d.ts +0 -4
- package/src/lib/database/data-source.js +0 -7
- package/src/lib/database/data-source.js.map +0 -1
- package/src/lib/database/index.js +0 -6
- package/src/lib/database/index.js.map +0 -1
- package/src/lib/database/migration-runner.d.ts +0 -1
- package/src/lib/database/migration-runner.js +0 -25
- package/src/lib/database/migration-runner.js.map +0 -1
- package/src/lib/database/reconcile-legacy-migrations.d.ts +0 -13
- package/src/lib/database/reconcile-legacy-migrations.js +0 -70
- package/src/lib/database/reconcile-legacy-migrations.js.map +0 -1
- package/src/lib/database/typeorm.config.d.ts +0 -14
- package/src/lib/database/typeorm.config.js +0 -135
- package/src/lib/database/typeorm.config.js.map +0 -1
- package/src/lib/delegation/delegation-rule.entity.d.ts +0 -19
- package/src/lib/delegation/delegation-rule.entity.js +0 -99
- package/src/lib/delegation/delegation-rule.entity.js.map +0 -1
- package/src/lib/delegation/delegation.enums.d.ts +0 -10
- package/src/lib/delegation/delegation.enums.js +0 -23
- package/src/lib/delegation/delegation.enums.js.map +0 -1
- package/src/lib/delegation/delegation.module.d.ts +0 -2
- package/src/lib/delegation/delegation.module.js +0 -22
- package/src/lib/delegation/delegation.module.js.map +0 -1
- package/src/lib/delegation/delegation.mutations.d.ts +0 -11
- package/src/lib/delegation/delegation.mutations.js +0 -87
- package/src/lib/delegation/delegation.mutations.js.map +0 -1
- package/src/lib/delegation/delegation.queries.d.ts +0 -10
- package/src/lib/delegation/delegation.queries.js +0 -91
- package/src/lib/delegation/delegation.queries.js.map +0 -1
- package/src/lib/delegation/delegation.service.d.ts +0 -56
- package/src/lib/delegation/delegation.service.js +0 -268
- package/src/lib/delegation/delegation.service.js.map +0 -1
- package/src/lib/delegation/dto/delegation-rule.input.d.ts +0 -24
- package/src/lib/delegation/dto/delegation-rule.input.js +0 -143
- package/src/lib/delegation/dto/delegation-rule.input.js.map +0 -1
- package/src/lib/delegation/index.js +0 -9
- package/src/lib/delegation/index.js.map +0 -1
- package/src/lib/form/dto/form-definition.input.d.ts +0 -26
- package/src/lib/form/dto/form-definition.input.js +0 -126
- package/src/lib/form/dto/form-definition.input.js.map +0 -1
- package/src/lib/form/form-definition-version.entity.d.ts +0 -17
- package/src/lib/form/form-definition-version.entity.js +0 -84
- package/src/lib/form/form-definition-version.entity.js.map +0 -1
- package/src/lib/form/form-definition.entity.d.ts +0 -13
- package/src/lib/form/form-definition.entity.js +0 -66
- package/src/lib/form/form-definition.entity.js.map +0 -1
- package/src/lib/form/form-schema-lint.object.d.ts +0 -4
- package/src/lib/form/form-schema-lint.object.js +0 -20
- package/src/lib/form/form-schema-lint.object.js.map +0 -1
- package/src/lib/form/form-schema.validator.d.ts +0 -13
- package/src/lib/form/form-schema.validator.js +0 -354
- package/src/lib/form/form-schema.validator.js.map +0 -1
- package/src/lib/form/form.enums.d.ts +0 -9
- package/src/lib/form/form.enums.js +0 -22
- package/src/lib/form/form.enums.js.map +0 -1
- package/src/lib/form/form.module.d.ts +0 -2
- package/src/lib/form/form.module.js +0 -27
- package/src/lib/form/form.module.js.map +0 -1
- package/src/lib/form/form.mutations.d.ts +0 -14
- package/src/lib/form/form.mutations.js +0 -89
- package/src/lib/form/form.mutations.js.map +0 -1
- package/src/lib/form/form.queries.d.ts +0 -16
- package/src/lib/form/form.queries.js +0 -96
- package/src/lib/form/form.queries.js.map +0 -1
- package/src/lib/form/form.service.d.ts +0 -49
- package/src/lib/form/form.service.js +0 -346
- package/src/lib/form/form.service.js.map +0 -1
- package/src/lib/form/index.js +0 -12
- package/src/lib/form/index.js.map +0 -1
- package/src/lib/identity/identity-options.d.ts +0 -13
- package/src/lib/identity/identity-options.js +0 -20
- package/src/lib/identity/identity-options.js.map +0 -1
- package/src/lib/identity/identity.module.d.ts +0 -17
- package/src/lib/identity/identity.module.js +0 -65
- package/src/lib/identity/identity.module.js.map +0 -1
- package/src/lib/identity/identity.queries.d.ts +0 -12
- package/src/lib/identity/identity.queries.js +0 -79
- package/src/lib/identity/identity.queries.js.map +0 -1
- package/src/lib/identity/identity.service.d.ts +0 -22
- package/src/lib/identity/identity.service.js +0 -141
- package/src/lib/identity/identity.service.js.map +0 -1
- package/src/lib/identity/index.js +0 -8
- package/src/lib/identity/index.js.map +0 -1
- package/src/lib/identity/member-base.adapter.d.ts +0 -95
- package/src/lib/identity/member-base.adapter.js +0 -137
- package/src/lib/identity/member-base.adapter.js.map +0 -1
- package/src/lib/identity/member-metadata-cache.entity.d.ts +0 -8
- package/src/lib/identity/member-metadata-cache.entity.js +0 -39
- package/src/lib/identity/member-metadata-cache.entity.js.map +0 -1
- package/src/lib/identity/member-not-found.exception.js +0 -26
- package/src/lib/identity/member-not-found.exception.js.map +0 -1
- package/src/lib/identity/member-profile.object.d.ts +0 -8
- package/src/lib/identity/member-profile.object.js +0 -37
- package/src/lib/identity/member-profile.object.js.map +0 -1
- package/src/lib/identity/member-resolver.interface.d.ts +0 -79
- package/src/lib/identity/member-resolver.interface.js +0 -19
- package/src/lib/identity/member-resolver.interface.js.map +0 -1
- package/src/lib/migrations/0000000000001-enable-postgres-extensions.d.ts +0 -6
- package/src/lib/migrations/0000000000001-enable-postgres-extensions.js +0 -17
- package/src/lib/migrations/0000000000001-enable-postgres-extensions.js.map +0 -1
- package/src/lib/migrations/0000000001000-identity-organization-foundation.d.ts +0 -6
- package/src/lib/migrations/0000000001000-identity-organization-foundation.js.map +0 -1
- package/src/lib/migrations/0000000002000-form-builder-foundation.d.ts +0 -6
- package/src/lib/migrations/0000000002000-form-builder-foundation.js.map +0 -1
- package/src/lib/migrations/0000000003000-approval-template-foundation.d.ts +0 -6
- package/src/lib/migrations/0000000003000-approval-template-foundation.js.map +0 -1
- package/src/lib/migrations/0000000004000-workflow-engine-foundation.d.ts +0 -6
- package/src/lib/migrations/0000000004000-workflow-engine-foundation.js.map +0 -1
- package/src/lib/migrations/0000000005000-delegation-rules.d.ts +0 -6
- package/src/lib/migrations/0000000005000-delegation-rules.js.map +0 -1
- package/src/lib/migrations/0000000006000-notifications-sla.d.ts +0 -6
- package/src/lib/migrations/0000000006000-notifications-sla.js.map +0 -1
- package/src/lib/migrations/0000000007000-signatures-attachments.d.ts +0 -6
- package/src/lib/migrations/0000000007000-signatures-attachments.js.map +0 -1
- package/src/lib/migrations/0000000008000-approval-template-categories.d.ts +0 -6
- package/src/lib/migrations/0000000008000-approval-template-categories.js.map +0 -1
- package/src/lib/migrations/0000000009000-task-candidates.d.ts +0 -6
- package/src/lib/migrations/0000000009000-task-candidates.js.map +0 -1
- package/src/lib/migrations/0000000010000-notification-delivery-state.d.ts +0 -6
- package/src/lib/migrations/0000000010000-notification-delivery-state.js.map +0 -1
- package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.d.ts +0 -6
- package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js +0 -22
- package/src/lib/migrations/0000000011000-remove-attachment-encryption-key.js.map +0 -1
- package/src/lib/migrations/0000000012000-notification-sla-idempotency.d.ts +0 -6
- package/src/lib/migrations/0000000012000-notification-sla-idempotency.js +0 -21
- package/src/lib/migrations/0000000012000-notification-sla-idempotency.js.map +0 -1
- package/src/lib/migrations/0000000013000-workflow-query-indexes.d.ts +0 -6
- package/src/lib/migrations/0000000013000-workflow-query-indexes.js +0 -80
- package/src/lib/migrations/0000000013000-workflow-query-indexes.js.map +0 -1
- package/src/lib/migrations/0000000014000-notification-resolution.d.ts +0 -6
- package/src/lib/migrations/0000000014000-notification-resolution.js +0 -30
- package/src/lib/migrations/0000000014000-notification-resolution.js.map +0 -1
- package/src/lib/migrations/0000000015000-backfill-stale-notification-resolution.d.ts +0 -15
- package/src/lib/migrations/0000000015000-backfill-stale-notification-resolution.js.map +0 -1
- package/src/lib/migrations/0000000016000-archive-parallel-form-drafts.d.ts +0 -15
- package/src/lib/migrations/0000000016000-archive-parallel-form-drafts.js.map +0 -1
- package/src/lib/migrations/0000000017000-adhoc-directives.d.ts +0 -6
- package/src/lib/migrations/0000000017000-adhoc-directives.js.map +0 -1
- package/src/lib/migrations/index.d.ts +0 -20
- package/src/lib/migrations/index.js +0 -61
- package/src/lib/migrations/index.js.map +0 -1
- package/src/lib/notification/dto/notification-preference.input.d.ts +0 -9
- package/src/lib/notification/dto/notification-preference.input.js +0 -53
- package/src/lib/notification/dto/notification-preference.input.js.map +0 -1
- package/src/lib/notification/index.js +0 -11
- package/src/lib/notification/index.js.map +0 -1
- package/src/lib/notification/notification-delivery-scheduler.service.d.ts +0 -13
- package/src/lib/notification/notification-delivery-scheduler.service.js +0 -53
- package/src/lib/notification/notification-delivery-scheduler.service.js.map +0 -1
- package/src/lib/notification/notification-delivery.service.d.ts +0 -23
- package/src/lib/notification/notification-delivery.service.js +0 -245
- package/src/lib/notification/notification-delivery.service.js.map +0 -1
- package/src/lib/notification/notification-dispatcher.token.d.ts +0 -7
- package/src/lib/notification/notification-dispatcher.token.js +0 -5
- package/src/lib/notification/notification-dispatcher.token.js.map +0 -1
- package/src/lib/notification/notification-options.d.ts +0 -215
- package/src/lib/notification/notification-options.js +0 -128
- package/src/lib/notification/notification-options.js.map +0 -1
- package/src/lib/notification/notification-options.module.d.ts +0 -23
- package/src/lib/notification/notification-options.module.js +0 -41
- package/src/lib/notification/notification-options.module.js.map +0 -1
- package/src/lib/notification/notification-preference.entity.d.ts +0 -10
- package/src/lib/notification/notification-preference.entity.js +0 -50
- package/src/lib/notification/notification-preference.entity.js.map +0 -1
- package/src/lib/notification/notification-sla-scheduler.service.d.ts +0 -13
- package/src/lib/notification/notification-sla-scheduler.service.js +0 -51
- package/src/lib/notification/notification-sla-scheduler.service.js.map +0 -1
- package/src/lib/notification/notification-template.d.ts +0 -13
- package/src/lib/notification/notification-template.js +0 -61
- package/src/lib/notification/notification-template.js.map +0 -1
- package/src/lib/notification/notification.entity.d.ts +0 -31
- package/src/lib/notification/notification.entity.js +0 -149
- package/src/lib/notification/notification.entity.js.map +0 -1
- package/src/lib/notification/notification.enums.d.ts +0 -38
- package/src/lib/notification/notification.enums.js +0 -63
- package/src/lib/notification/notification.enums.js.map +0 -1
- package/src/lib/notification/notification.module.d.ts +0 -2
- package/src/lib/notification/notification.module.js +0 -45
- package/src/lib/notification/notification.module.js.map +0 -1
- package/src/lib/notification/notification.mutations.d.ts +0 -11
- package/src/lib/notification/notification.mutations.js +0 -64
- package/src/lib/notification/notification.mutations.js.map +0 -1
- package/src/lib/notification/notification.queries.d.ts +0 -11
- package/src/lib/notification/notification.queries.js +0 -77
- package/src/lib/notification/notification.queries.js.map +0 -1
- package/src/lib/notification/notification.service.d.ts +0 -121
- package/src/lib/notification/notification.service.js +0 -713
- package/src/lib/notification/notification.service.js.map +0 -1
- package/src/lib/organization/dto/manager-resolution.input.d.ts +0 -18
- package/src/lib/organization/dto/manager-resolution.input.js +0 -107
- package/src/lib/organization/dto/manager-resolution.input.js.map +0 -1
- package/src/lib/organization/dto/membership.input.d.ts +0 -16
- package/src/lib/organization/dto/membership.input.js +0 -99
- package/src/lib/organization/dto/membership.input.js.map +0 -1
- package/src/lib/organization/dto/org-unit.input.d.ts +0 -24
- package/src/lib/organization/dto/org-unit.input.js +0 -119
- package/src/lib/organization/dto/org-unit.input.js.map +0 -1
- package/src/lib/organization/dto/position.input.d.ts +0 -13
- package/src/lib/organization/dto/position.input.js +0 -70
- package/src/lib/organization/dto/position.input.js.map +0 -1
- package/src/lib/organization/index.js +0 -16
- package/src/lib/organization/index.js.map +0 -1
- package/src/lib/organization/json-metadata.d.ts +0 -1
- package/src/lib/organization/json-metadata.js +0 -14
- package/src/lib/organization/json-metadata.js.map +0 -1
- package/src/lib/organization/manager-resolution.entity.d.ts +0 -11
- package/src/lib/organization/manager-resolution.entity.js +0 -55
- package/src/lib/organization/manager-resolution.entity.js.map +0 -1
- package/src/lib/organization/membership.entity.d.ts +0 -11
- package/src/lib/organization/membership.entity.js +0 -60
- package/src/lib/organization/membership.entity.js.map +0 -1
- package/src/lib/organization/org-unit-tree-commit-result.object.d.ts +0 -4
- package/src/lib/organization/org-unit-tree-commit-result.object.js +0 -17
- package/src/lib/organization/org-unit-tree-commit-result.object.js.map +0 -1
- package/src/lib/organization/org-unit.entity.d.ts +0 -13
- package/src/lib/organization/org-unit.entity.js +0 -64
- package/src/lib/organization/org-unit.entity.js.map +0 -1
- package/src/lib/organization/organization-summary.object.d.ts +0 -6
- package/src/lib/organization/organization-summary.object.js +0 -28
- package/src/lib/organization/organization-summary.object.js.map +0 -1
- package/src/lib/organization/organization.enums.d.ts +0 -11
- package/src/lib/organization/organization.enums.js +0 -22
- package/src/lib/organization/organization.enums.js.map +0 -1
- package/src/lib/organization/organization.module.d.ts +0 -2
- package/src/lib/organization/organization.module.js +0 -35
- package/src/lib/organization/organization.module.js.map +0 -1
- package/src/lib/organization/organization.mutations.d.ts +0 -26
- package/src/lib/organization/organization.mutations.js +0 -148
- package/src/lib/organization/organization.mutations.js.map +0 -1
- package/src/lib/organization/organization.queries.d.ts +0 -23
- package/src/lib/organization/organization.queries.js +0 -202
- package/src/lib/organization/organization.queries.js.map +0 -1
- package/src/lib/organization/organization.service.d.ts +0 -102
- package/src/lib/organization/organization.service.js +0 -751
- package/src/lib/organization/organization.service.js.map +0 -1
- package/src/lib/organization/position.entity.d.ts +0 -9
- package/src/lib/organization/position.entity.js +0 -48
- package/src/lib/organization/position.entity.js.map +0 -1
- package/src/lib/organization/resolved-manager.object.d.ts +0 -4
- package/src/lib/organization/resolved-manager.object.js +0 -20
- package/src/lib/organization/resolved-manager.object.js.map +0 -1
- package/src/lib/signature/index.js +0 -8
- package/src/lib/signature/index.js.map +0 -1
- package/src/lib/signature/signature-options.d.ts +0 -33
- package/src/lib/signature/signature-options.js +0 -51
- package/src/lib/signature/signature-options.js.map +0 -1
- package/src/lib/signature/signature-verification.object.d.ts +0 -6
- package/src/lib/signature/signature-verification.object.js +0 -28
- package/src/lib/signature/signature-verification.object.js.map +0 -1
- package/src/lib/signature/signature.entity.d.ts +0 -16
- package/src/lib/signature/signature.entity.js +0 -88
- package/src/lib/signature/signature.entity.js.map +0 -1
- package/src/lib/signature/signature.module.d.ts +0 -11
- package/src/lib/signature/signature.module.js +0 -60
- package/src/lib/signature/signature.module.js.map +0 -1
- package/src/lib/signature/signature.queries.d.ts +0 -11
- package/src/lib/signature/signature.queries.js +0 -46
- package/src/lib/signature/signature.queries.js.map +0 -1
- package/src/lib/signature/signature.service.d.ts +0 -25
- package/src/lib/signature/signature.service.js +0 -124
- package/src/lib/signature/signature.service.js.map +0 -1
- package/src/lib/template/approval-template-category.entity.d.ts +0 -9
- package/src/lib/template/approval-template-category.entity.js +0 -49
- package/src/lib/template/approval-template-category.entity.js.map +0 -1
- package/src/lib/template/approval-template-version.entity.d.ts +0 -21
- package/src/lib/template/approval-template-version.entity.js +0 -106
- package/src/lib/template/approval-template-version.entity.js.map +0 -1
- package/src/lib/template/approval-template.entity.d.ts +0 -14
- package/src/lib/template/approval-template.entity.js +0 -74
- package/src/lib/template/approval-template.entity.js.map +0 -1
- package/src/lib/template/compose-approval-template.object.d.ts +0 -11
- package/src/lib/template/compose-approval-template.object.js +0 -36
- package/src/lib/template/compose-approval-template.object.js.map +0 -1
- package/src/lib/template/compose-template.mutations.d.ts +0 -8
- package/src/lib/template/compose-template.mutations.js +0 -32
- package/src/lib/template/compose-template.mutations.js.map +0 -1
- package/src/lib/template/dto/approval-template.input.d.ts +0 -36
- package/src/lib/template/dto/approval-template.input.js +0 -187
- package/src/lib/template/dto/approval-template.input.js.map +0 -1
- package/src/lib/template/dto/compose-approval-template.input.d.ts +0 -17
- package/src/lib/template/dto/compose-approval-template.input.js +0 -99
- package/src/lib/template/dto/compose-approval-template.input.js.map +0 -1
- package/src/lib/template/index.js +0 -14
- package/src/lib/template/index.js.map +0 -1
- package/src/lib/template/template.enums.d.ts +0 -14
- package/src/lib/template/template.enums.js +0 -31
- package/src/lib/template/template.enums.js.map +0 -1
- package/src/lib/template/template.module.d.ts +0 -2
- package/src/lib/template/template.module.js +0 -41
- package/src/lib/template/template.module.js.map +0 -1
- package/src/lib/template/template.mutations.d.ts +0 -20
- package/src/lib/template/template.mutations.js +0 -139
- package/src/lib/template/template.mutations.js.map +0 -1
- package/src/lib/template/template.queries.d.ts +0 -16
- package/src/lib/template/template.queries.js +0 -133
- package/src/lib/template/template.queries.js.map +0 -1
- package/src/lib/template/template.service.d.ts +0 -83
- package/src/lib/template/template.service.js +0 -654
- package/src/lib/template/template.service.js.map +0 -1
- package/src/lib/template/workflow-definition.validator.d.ts +0 -9
- package/src/lib/template/workflow-definition.validator.js +0 -362
- package/src/lib/template/workflow-definition.validator.js.map +0 -1
- package/src/lib/testing/cel-js.jest.d.ts +0 -15
- package/src/lib/testing/cel-js.jest.js +0 -27
- package/src/lib/testing/cel-js.jest.js.map +0 -1
- package/src/lib/workflow-engine/activity-log.entity.d.ts +0 -12
- package/src/lib/workflow-engine/activity-log.entity.js +0 -62
- package/src/lib/workflow-engine/activity-log.entity.js.map +0 -1
- package/src/lib/workflow-engine/adhoc-directive.entity.d.ts +0 -31
- package/src/lib/workflow-engine/adhoc-directive.entity.js +0 -105
- package/src/lib/workflow-engine/adhoc-directive.entity.js.map +0 -1
- package/src/lib/workflow-engine/adhoc.enums.d.ts +0 -21
- package/src/lib/workflow-engine/adhoc.enums.js +0 -42
- package/src/lib/workflow-engine/adhoc.enums.js.map +0 -1
- package/src/lib/workflow-engine/approval-instance-page-info.object.d.ts +0 -8
- package/src/lib/workflow-engine/approval-instance-page-info.object.js +0 -36
- package/src/lib/workflow-engine/approval-instance-page-info.object.js.map +0 -1
- package/src/lib/workflow-engine/approval-instance.entity.d.ts +0 -22
- package/src/lib/workflow-engine/approval-instance.entity.js +0 -113
- package/src/lib/workflow-engine/approval-instance.entity.js.map +0 -1
- package/src/lib/workflow-engine/dto/adhoc-notification.input.d.ts +0 -6
- package/src/lib/workflow-engine/dto/adhoc-notification.input.js +0 -28
- package/src/lib/workflow-engine/dto/adhoc-notification.input.js.map +0 -1
- package/src/lib/workflow-engine/dto/adhoc-target.input.d.ts +0 -16
- package/src/lib/workflow-engine/dto/adhoc-target.input.js +0 -61
- package/src/lib/workflow-engine/dto/adhoc-target.input.js.map +0 -1
- package/src/lib/workflow-engine/dto/cancel-approval-instance.input.d.ts +0 -5
- package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js +0 -29
- package/src/lib/workflow-engine/dto/cancel-approval-instance.input.js.map +0 -1
- package/src/lib/workflow-engine/dto/decide-task.input.d.ts +0 -9
- package/src/lib/workflow-engine/dto/decide-task.input.js +0 -47
- package/src/lib/workflow-engine/dto/decide-task.input.js.map +0 -1
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.d.ts +0 -6
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js +0 -34
- package/src/lib/workflow-engine/dto/dry-run-approval-workflow.input.js.map +0 -1
- package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.d.ts +0 -6
- package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js +0 -34
- package/src/lib/workflow-engine/dto/resubmit-approval-instance.input.js.map +0 -1
- package/src/lib/workflow-engine/dto/submit-approval-instance.input.d.ts +0 -7
- package/src/lib/workflow-engine/dto/submit-approval-instance.input.js +0 -40
- package/src/lib/workflow-engine/dto/submit-approval-instance.input.js.map +0 -1
- package/src/lib/workflow-engine/index.js +0 -28
- package/src/lib/workflow-engine/index.js.map +0 -1
- package/src/lib/workflow-engine/task-candidate.entity.d.ts +0 -14
- package/src/lib/workflow-engine/task-candidate.entity.js +0 -72
- package/src/lib/workflow-engine/task-candidate.entity.js.map +0 -1
- package/src/lib/workflow-engine/task-decision.entity.d.ts +0 -12
- package/src/lib/workflow-engine/task-decision.entity.js +0 -60
- package/src/lib/workflow-engine/task-decision.entity.js.map +0 -1
- package/src/lib/workflow-engine/task.entity.d.ts +0 -25
- package/src/lib/workflow-engine/task.entity.js +0 -130
- package/src/lib/workflow-engine/task.entity.js.map +0 -1
- package/src/lib/workflow-engine/workflow-condition-evaluator.d.ts +0 -5
- package/src/lib/workflow-engine/workflow-condition-evaluator.js +0 -107
- package/src/lib/workflow-engine/workflow-condition-evaluator.js.map +0 -1
- package/src/lib/workflow-engine/workflow-dashboard-summary.object.d.ts +0 -8
- package/src/lib/workflow-engine/workflow-dashboard-summary.object.js +0 -36
- package/src/lib/workflow-engine/workflow-dashboard-summary.object.js.map +0 -1
- package/src/lib/workflow-engine/workflow-dry-run.object.d.ts +0 -21
- package/src/lib/workflow-engine/workflow-dry-run.object.js +0 -86
- package/src/lib/workflow-engine/workflow-dry-run.object.js.map +0 -1
- package/src/lib/workflow-engine/workflow-engine.enums.d.ts +0 -61
- package/src/lib/workflow-engine/workflow-engine.enums.js +0 -98
- package/src/lib/workflow-engine/workflow-engine.enums.js.map +0 -1
- package/src/lib/workflow-engine/workflow-engine.module.d.ts +0 -9
- package/src/lib/workflow-engine/workflow-engine.module.js +0 -78
- package/src/lib/workflow-engine/workflow-engine.module.js.map +0 -1
- package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +0 -29
- package/src/lib/workflow-engine/workflow-engine.mutations.js +0 -218
- package/src/lib/workflow-engine/workflow-engine.mutations.js.map +0 -1
- package/src/lib/workflow-engine/workflow-engine.queries.d.ts +0 -31
- package/src/lib/workflow-engine/workflow-engine.queries.js +0 -237
- package/src/lib/workflow-engine/workflow-engine.queries.js.map +0 -1
- package/src/lib/workflow-engine/workflow-engine.service.d.ts +0 -188
- package/src/lib/workflow-engine/workflow-engine.service.js +0 -3561
- package/src/lib/workflow-engine/workflow-engine.service.js.map +0 -1
- package/src/lib/workflow-engine/workflow-engine.tokens.js +0 -5
- package/src/lib/workflow-engine/workflow-engine.tokens.js.map +0 -1
- package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.d.ts +0 -18
- package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js +0 -39
- package/src/lib/workflow-engine/workflow-service-task-dispatcher.token.js.map +0 -1
- package/src/lib/workflow-engine/workflow-token.entity.d.ts +0 -10
- package/src/lib/workflow-engine/workflow-token.entity.js +0 -50
- package/src/lib/workflow-engine/workflow-token.entity.js.map +0 -1
- /package/src/{index.d.ts → index.ts} +0 -0
- /package/src/lib/attachment/{index.d.ts → index.ts} +0 -0
- /package/src/lib/bpm/{index.d.ts → index.ts} +0 -0
- /package/src/lib/bpm-auth/{index.d.ts → index.ts} +0 -0
- /package/src/lib/common/{index.d.ts → index.ts} +0 -0
- /package/src/lib/condition/{index.d.ts → index.ts} +0 -0
- /package/src/lib/database/{index.d.ts → index.ts} +0 -0
- /package/src/lib/delegation/{index.d.ts → index.ts} +0 -0
- /package/src/lib/form/{index.d.ts → index.ts} +0 -0
- /package/src/lib/identity/{index.d.ts → index.ts} +0 -0
- /package/src/lib/notification/{index.d.ts → index.ts} +0 -0
- /package/src/lib/organization/{index.d.ts → index.ts} +0 -0
- /package/src/lib/signature/{index.d.ts → index.ts} +0 -0
- /package/src/lib/template/{index.d.ts → index.ts} +0 -0
- /package/src/lib/workflow-engine/{index.d.ts → index.ts} +0 -0
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var IdentityModule_1;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.IdentityModule = void 0;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
const common_1 = require("@nestjs/common");
|
|
7
|
-
const typeorm_1 = require("@nestjs/typeorm");
|
|
8
|
-
const identity_queries_1 = require("./identity.queries");
|
|
9
|
-
const identity_service_1 = require("./identity.service");
|
|
10
|
-
const member_metadata_cache_entity_1 = require("./member-metadata-cache.entity");
|
|
11
|
-
const identity_options_1 = require("./identity-options");
|
|
12
|
-
let IdentityModule = IdentityModule_1 = class IdentityModule {
|
|
13
|
-
static forRoot(options) {
|
|
14
|
-
const resolverProviders = createMemberResolverProviders(options);
|
|
15
|
-
return {
|
|
16
|
-
exports: [identity_service_1.IdentityService],
|
|
17
|
-
imports: [
|
|
18
|
-
...(options.imports ?? []),
|
|
19
|
-
typeorm_1.TypeOrmModule.forFeature([member_metadata_cache_entity_1.MemberMetadataCacheEntity]),
|
|
20
|
-
],
|
|
21
|
-
module: IdentityModule_1,
|
|
22
|
-
providers: [
|
|
23
|
-
identity_queries_1.IdentityQueries,
|
|
24
|
-
identity_service_1.IdentityService,
|
|
25
|
-
...resolverProviders,
|
|
26
|
-
createIdentityOptionsProvider(options),
|
|
27
|
-
],
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
static forRootAsync(options) {
|
|
31
|
-
const resolverProviders = createMemberResolverProviders(options);
|
|
32
|
-
return {
|
|
33
|
-
exports: [identity_service_1.IdentityService],
|
|
34
|
-
imports: [
|
|
35
|
-
...(options.imports ?? []),
|
|
36
|
-
typeorm_1.TypeOrmModule.forFeature([member_metadata_cache_entity_1.MemberMetadataCacheEntity]),
|
|
37
|
-
],
|
|
38
|
-
module: IdentityModule_1,
|
|
39
|
-
providers: [
|
|
40
|
-
identity_queries_1.IdentityQueries,
|
|
41
|
-
identity_service_1.IdentityService,
|
|
42
|
-
...resolverProviders,
|
|
43
|
-
{
|
|
44
|
-
inject: [...(options.inject ?? [])],
|
|
45
|
-
provide: identity_options_1.BPM_IDENTITY_OPTIONS,
|
|
46
|
-
useFactory: async (...args) => (0, identity_options_1.resolveBPMIdentityOptions)(await options.useFactory(...args)),
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
exports.IdentityModule = IdentityModule;
|
|
53
|
-
exports.IdentityModule = IdentityModule = IdentityModule_1 = tslib_1.__decorate([
|
|
54
|
-
(0, common_1.Module)({})
|
|
55
|
-
], IdentityModule);
|
|
56
|
-
function createMemberResolverProviders(options) {
|
|
57
|
-
return [options.memberResolverProvider];
|
|
58
|
-
}
|
|
59
|
-
function createIdentityOptionsProvider(options = {}) {
|
|
60
|
-
return {
|
|
61
|
-
provide: identity_options_1.BPM_IDENTITY_OPTIONS,
|
|
62
|
-
useValue: (0, identity_options_1.resolveBPMIdentityOptions)(options),
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=identity.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.module.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/identity.module.ts"],"names":[],"mappings":";;;;;AAAA,2CAKwB;AAExB,6CAAgD;AAChD,yDAAqD;AACrD,yDAAqD;AACrD,iFAA2E;AAE3E,yDAI4B;AAmBrB,IAAM,cAAc,sBAApB,MAAM,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,OAA8B;QAC3C,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,CAAC,kCAAe,CAAC;YAC1B,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,uBAAa,CAAC,UAAU,CAAC,CAAC,wDAAyB,CAAC,CAAC;aACtD;YACD,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE;gBACT,kCAAe;gBACf,kCAAe;gBACf,GAAG,iBAAiB;gBACpB,6BAA6B,CAAC,OAAO,CAAC;aACvC;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAAmC;QACrD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,CAAC,kCAAe,CAAC;YAC1B,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,uBAAa,CAAC,UAAU,CAAC,CAAC,wDAAyB,CAAC,CAAC;aACtD;YACD,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE;gBACT,kCAAe;gBACf,kCAAe;gBACf,GAAG,iBAAiB;gBACpB;oBACE,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;oBACnC,OAAO,EAAE,uCAAoB;oBAC7B,UAAU,EAAE,KAAK,EACf,GAAG,IAAwB,EAC4B,EAAE,CACzD,IAAA,4CAAyB,EAAC,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;iBAC/D;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AA7CY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,cAAc,CA6C1B;AAED,SAAS,6BAA6B,CACpC,OAA8B;IAE9B,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,6BAA6B,CACpC,UAAkC,EAAE;IAEpC,OAAO;QACL,OAAO,EAAE,uCAAoB;QAC7B,QAAQ,EAAE,IAAA,4CAAyB,EAAC,OAAO,CAAC;KAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { IdentityService } from './identity.service';
|
|
2
|
-
import { MemberMetadataCacheEntity } from './member-metadata-cache.entity';
|
|
3
|
-
import { MemberProfileObject } from './member-profile.object';
|
|
4
|
-
export declare class IdentityQueries {
|
|
5
|
-
private readonly identityService;
|
|
6
|
-
constructor(identityService: IdentityService);
|
|
7
|
-
member(memberId: string): Promise<MemberProfileObject>;
|
|
8
|
-
members(memberIds: readonly string[]): Promise<readonly MemberProfileObject[]>;
|
|
9
|
-
cachedMembers(): Promise<readonly MemberMetadataCacheEntity[]>;
|
|
10
|
-
searchMembers(searchText: string, page?: number | null, pageSize?: number | null): Promise<readonly MemberProfileObject[]>;
|
|
11
|
-
memberCount(searchText?: string | null): Promise<number>;
|
|
12
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IdentityQueries = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
6
|
-
const bpm_auth_1 = require("../bpm-auth");
|
|
7
|
-
const identity_service_1 = require("./identity.service");
|
|
8
|
-
const member_metadata_cache_entity_1 = require("./member-metadata-cache.entity");
|
|
9
|
-
const member_profile_object_1 = require("./member-profile.object");
|
|
10
|
-
let IdentityQueries = class IdentityQueries {
|
|
11
|
-
constructor(identityService) {
|
|
12
|
-
this.identityService = identityService;
|
|
13
|
-
}
|
|
14
|
-
async member(memberId) {
|
|
15
|
-
const metadata = await this.identityService.resolveMember(memberId);
|
|
16
|
-
return (0, member_profile_object_1.toMemberProfileObject)(metadata);
|
|
17
|
-
}
|
|
18
|
-
async members(memberIds) {
|
|
19
|
-
const metadataList = await this.identityService.resolveMembers(memberIds);
|
|
20
|
-
return metadataList.map(member_profile_object_1.toMemberProfileObject);
|
|
21
|
-
}
|
|
22
|
-
async cachedMembers() {
|
|
23
|
-
return this.identityService.listCachedMembers();
|
|
24
|
-
}
|
|
25
|
-
async searchMembers(searchText, page, pageSize) {
|
|
26
|
-
const metadataList = await this.identityService.searchMembers(searchText, {
|
|
27
|
-
page: page ?? undefined,
|
|
28
|
-
pageSize: pageSize ?? undefined,
|
|
29
|
-
});
|
|
30
|
-
return metadataList.map(member_profile_object_1.toMemberProfileObject);
|
|
31
|
-
}
|
|
32
|
-
async memberCount(searchText) {
|
|
33
|
-
return this.identityService.countMembers(searchText ?? '');
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
exports.IdentityQueries = IdentityQueries;
|
|
37
|
-
tslib_1.__decorate([
|
|
38
|
-
(0, graphql_1.Query)(() => member_profile_object_1.MemberProfileObject),
|
|
39
|
-
tslib_1.__param(0, (0, graphql_1.Args)('memberId', { type: () => String })),
|
|
40
|
-
tslib_1.__metadata("design:type", Function),
|
|
41
|
-
tslib_1.__metadata("design:paramtypes", [String]),
|
|
42
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
43
|
-
], IdentityQueries.prototype, "member", null);
|
|
44
|
-
tslib_1.__decorate([
|
|
45
|
-
(0, graphql_1.Query)(() => [member_profile_object_1.MemberProfileObject]),
|
|
46
|
-
tslib_1.__param(0, (0, graphql_1.Args)('memberIds', { type: () => [String] })),
|
|
47
|
-
tslib_1.__metadata("design:type", Function),
|
|
48
|
-
tslib_1.__metadata("design:paramtypes", [Array]),
|
|
49
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
50
|
-
], IdentityQueries.prototype, "members", null);
|
|
51
|
-
tslib_1.__decorate([
|
|
52
|
-
(0, graphql_1.Query)(() => [member_metadata_cache_entity_1.MemberMetadataCacheEntity]),
|
|
53
|
-
(0, bpm_auth_1.BPMAdminOnly)(),
|
|
54
|
-
tslib_1.__metadata("design:type", Function),
|
|
55
|
-
tslib_1.__metadata("design:paramtypes", []),
|
|
56
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
57
|
-
], IdentityQueries.prototype, "cachedMembers", null);
|
|
58
|
-
tslib_1.__decorate([
|
|
59
|
-
(0, graphql_1.Query)(() => [member_profile_object_1.MemberProfileObject]),
|
|
60
|
-
tslib_1.__param(0, (0, graphql_1.Args)('searchText', { type: () => String })),
|
|
61
|
-
tslib_1.__param(1, (0, graphql_1.Args)('page', { nullable: true, type: () => graphql_1.Int })),
|
|
62
|
-
tslib_1.__param(2, (0, graphql_1.Args)('pageSize', { nullable: true, type: () => graphql_1.Int })),
|
|
63
|
-
tslib_1.__metadata("design:type", Function),
|
|
64
|
-
tslib_1.__metadata("design:paramtypes", [String, Object, Object]),
|
|
65
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
66
|
-
], IdentityQueries.prototype, "searchMembers", null);
|
|
67
|
-
tslib_1.__decorate([
|
|
68
|
-
(0, graphql_1.Query)(() => graphql_1.Int),
|
|
69
|
-
tslib_1.__param(0, (0, graphql_1.Args)('searchText', { nullable: true, type: () => String })),
|
|
70
|
-
tslib_1.__metadata("design:type", Function),
|
|
71
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
72
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
73
|
-
], IdentityQueries.prototype, "memberCount", null);
|
|
74
|
-
exports.IdentityQueries = IdentityQueries = tslib_1.__decorate([
|
|
75
|
-
(0, graphql_1.Resolver)(),
|
|
76
|
-
(0, bpm_auth_1.BPMAuthenticated)(),
|
|
77
|
-
tslib_1.__metadata("design:paramtypes", [identity_service_1.IdentityService])
|
|
78
|
-
], IdentityQueries);
|
|
79
|
-
//# sourceMappingURL=identity.queries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.queries.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/identity.queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Repository } from 'typeorm';
|
|
2
|
-
import { MemberMetadata } from '@rytass/bpm-core-shared';
|
|
3
|
-
import { BPMResolvedIdentityOptions } from './identity-options';
|
|
4
|
-
import { MemberMetadataCacheEntity } from './member-metadata-cache.entity';
|
|
5
|
-
import { MemberResolver } from './member-resolver.interface';
|
|
6
|
-
interface SearchMembersOptions {
|
|
7
|
-
readonly page?: number;
|
|
8
|
-
readonly pageSize?: number;
|
|
9
|
-
}
|
|
10
|
-
export declare class IdentityService {
|
|
11
|
-
private readonly cacheRepository;
|
|
12
|
-
private readonly memberResolver;
|
|
13
|
-
private readonly identityOptions;
|
|
14
|
-
constructor(cacheRepository: Repository<MemberMetadataCacheEntity>, memberResolver: MemberResolver, identityOptions?: BPMResolvedIdentityOptions);
|
|
15
|
-
resolveMember(memberId: string): Promise<MemberMetadata>;
|
|
16
|
-
resolveMembers(memberIds: readonly string[]): Promise<readonly MemberMetadata[]>;
|
|
17
|
-
listCachedMembers(): Promise<readonly MemberMetadataCacheEntity[]>;
|
|
18
|
-
countMembers(searchText: string): Promise<number>;
|
|
19
|
-
searchMembers(searchText: string, options?: SearchMembersOptions): Promise<readonly MemberMetadata[]>;
|
|
20
|
-
private searchAllMembers;
|
|
21
|
-
}
|
|
22
|
-
export {};
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IdentityService = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const common_1 = require("@nestjs/common");
|
|
6
|
-
const typeorm_1 = require("@nestjs/typeorm");
|
|
7
|
-
const typeorm_2 = require("typeorm");
|
|
8
|
-
const identity_options_1 = require("./identity-options");
|
|
9
|
-
const member_metadata_cache_entity_1 = require("./member-metadata-cache.entity");
|
|
10
|
-
const member_resolver_interface_1 = require("./member-resolver.interface");
|
|
11
|
-
const DEFAULT_MEMBER_PAGE = 1;
|
|
12
|
-
const DEFAULT_MEMBER_PAGE_SIZE = 10;
|
|
13
|
-
const MAX_MEMBER_PAGE_SIZE = 100;
|
|
14
|
-
const normalizePage = (page) => Number.isInteger(page) && page !== undefined && page > 0
|
|
15
|
-
? page
|
|
16
|
-
: DEFAULT_MEMBER_PAGE;
|
|
17
|
-
const normalizePageSize = (pageSize) => {
|
|
18
|
-
if (!Number.isInteger(pageSize) || pageSize === undefined || pageSize <= 0) {
|
|
19
|
-
return DEFAULT_MEMBER_PAGE_SIZE;
|
|
20
|
-
}
|
|
21
|
-
return Math.min(pageSize, MAX_MEMBER_PAGE_SIZE);
|
|
22
|
-
};
|
|
23
|
-
const paginateMembers = (members, options) => {
|
|
24
|
-
const page = normalizePage(options.page);
|
|
25
|
-
const pageSize = normalizePageSize(options.pageSize);
|
|
26
|
-
const offset = (page - 1) * pageSize;
|
|
27
|
-
return members.slice(offset, offset + pageSize);
|
|
28
|
-
};
|
|
29
|
-
let IdentityService = class IdentityService {
|
|
30
|
-
constructor(cacheRepository, memberResolver, identityOptions = identity_options_1.DEFAULT_BPM_IDENTITY_OPTIONS) {
|
|
31
|
-
this.cacheRepository = cacheRepository;
|
|
32
|
-
this.memberResolver = memberResolver;
|
|
33
|
-
this.identityOptions = identityOptions;
|
|
34
|
-
}
|
|
35
|
-
async resolveMember(memberId) {
|
|
36
|
-
const now = new Date();
|
|
37
|
-
const cached = await this.cacheRepository.findOne({ where: { memberId } });
|
|
38
|
-
if (cached && cached.expiresAt > now) {
|
|
39
|
-
return cached.metadata;
|
|
40
|
-
}
|
|
41
|
-
const metadata = await this.memberResolver.resolve(memberId);
|
|
42
|
-
const fetchedAt = now;
|
|
43
|
-
const expiresAt = new Date(now.getTime() + this.identityOptions.memberMetadataCacheTtlMs);
|
|
44
|
-
const cacheEntity = cached ?? new member_metadata_cache_entity_1.MemberMetadataCacheEntity();
|
|
45
|
-
cacheEntity.fetchedAt = fetchedAt;
|
|
46
|
-
cacheEntity.expiresAt = expiresAt;
|
|
47
|
-
cacheEntity.memberId = memberId;
|
|
48
|
-
cacheEntity.metadata = metadata;
|
|
49
|
-
await this.cacheRepository.save(cacheEntity);
|
|
50
|
-
return metadata;
|
|
51
|
-
}
|
|
52
|
-
async resolveMembers(memberIds) {
|
|
53
|
-
const uniqueMemberIds = [...new Set(memberIds)].filter((memberId) => memberId.length > 0);
|
|
54
|
-
if (uniqueMemberIds.length === 0) {
|
|
55
|
-
return [];
|
|
56
|
-
}
|
|
57
|
-
const now = new Date();
|
|
58
|
-
const cachedRows = await this.cacheRepository.find({
|
|
59
|
-
where: { memberId: (0, typeorm_2.In)([...uniqueMemberIds]) },
|
|
60
|
-
});
|
|
61
|
-
const cacheEntityByMemberId = new Map(cachedRows.map((row) => [
|
|
62
|
-
row.memberId,
|
|
63
|
-
row,
|
|
64
|
-
]));
|
|
65
|
-
const metadataByMemberId = new Map();
|
|
66
|
-
const staleMemberIds = [];
|
|
67
|
-
for (const memberId of uniqueMemberIds) {
|
|
68
|
-
const cached = cacheEntityByMemberId.get(memberId);
|
|
69
|
-
if (cached && cached.expiresAt > now) {
|
|
70
|
-
metadataByMemberId.set(memberId, cached.metadata);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
staleMemberIds.push(memberId);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (staleMemberIds.length > 0) {
|
|
77
|
-
const resolvedMap = await this.memberResolver.resolveMany(staleMemberIds);
|
|
78
|
-
const expiresAt = new Date(now.getTime() + this.identityOptions.memberMetadataCacheTtlMs);
|
|
79
|
-
const entitiesToSave = [];
|
|
80
|
-
for (const memberId of staleMemberIds) {
|
|
81
|
-
const metadata = resolvedMap.get(memberId);
|
|
82
|
-
if (!metadata) {
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
const cacheEntity = cacheEntityByMemberId.get(memberId) ??
|
|
86
|
-
new member_metadata_cache_entity_1.MemberMetadataCacheEntity();
|
|
87
|
-
cacheEntity.memberId = memberId;
|
|
88
|
-
cacheEntity.metadata = metadata;
|
|
89
|
-
cacheEntity.fetchedAt = now;
|
|
90
|
-
cacheEntity.expiresAt = expiresAt;
|
|
91
|
-
entitiesToSave.push(cacheEntity);
|
|
92
|
-
metadataByMemberId.set(memberId, metadata);
|
|
93
|
-
}
|
|
94
|
-
if (entitiesToSave.length > 0) {
|
|
95
|
-
await this.cacheRepository.save(entitiesToSave);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return memberIds
|
|
99
|
-
.map((memberId) => metadataByMemberId.get(memberId))
|
|
100
|
-
.filter((metadata) => Boolean(metadata));
|
|
101
|
-
}
|
|
102
|
-
async listCachedMembers() {
|
|
103
|
-
return this.cacheRepository.find({ order: { memberId: 'ASC' } });
|
|
104
|
-
}
|
|
105
|
-
async countMembers(searchText) {
|
|
106
|
-
const members = await this.searchAllMembers(searchText);
|
|
107
|
-
return members.length;
|
|
108
|
-
}
|
|
109
|
-
async searchMembers(searchText, options = {}) {
|
|
110
|
-
const members = await this.searchAllMembers(searchText);
|
|
111
|
-
if (options.page === undefined && options.pageSize === undefined) {
|
|
112
|
-
return members;
|
|
113
|
-
}
|
|
114
|
-
return paginateMembers(members, options);
|
|
115
|
-
}
|
|
116
|
-
async searchAllMembers(searchText) {
|
|
117
|
-
if (this.memberResolver.search) {
|
|
118
|
-
return this.memberResolver.search(searchText);
|
|
119
|
-
}
|
|
120
|
-
const normalizedSearchText = searchText.trim().toLocaleLowerCase();
|
|
121
|
-
const cachedMembers = await this.listCachedMembers();
|
|
122
|
-
return cachedMembers
|
|
123
|
-
.map((member) => member.metadata)
|
|
124
|
-
.filter((metadata) => {
|
|
125
|
-
if (!normalizedSearchText) {
|
|
126
|
-
return true;
|
|
127
|
-
}
|
|
128
|
-
return [metadata.email, metadata.memberId, metadata.name].some((value) => value.toLocaleLowerCase().includes(normalizedSearchText));
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
exports.IdentityService = IdentityService;
|
|
133
|
-
exports.IdentityService = IdentityService = tslib_1.__decorate([
|
|
134
|
-
(0, common_1.Injectable)(),
|
|
135
|
-
tslib_1.__param(0, (0, typeorm_1.InjectRepository)(member_metadata_cache_entity_1.MemberMetadataCacheEntity)),
|
|
136
|
-
tslib_1.__param(1, (0, common_1.Inject)(member_resolver_interface_1.MEMBER_RESOLVER)),
|
|
137
|
-
tslib_1.__param(2, (0, common_1.Optional)()),
|
|
138
|
-
tslib_1.__param(2, (0, common_1.Inject)(identity_options_1.BPM_IDENTITY_OPTIONS)),
|
|
139
|
-
tslib_1.__metadata("design:paramtypes", [typeorm_2.Repository, Object, Object])
|
|
140
|
-
], IdentityService);
|
|
141
|
-
//# sourceMappingURL=identity.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.service.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/identity.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./identity-options"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./member-base.adapter"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./member-not-found.exception"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./member-resolver.interface"), exports);
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,gEAAsC;AACtC,uEAA6C;AAC7C,sEAA4C"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, Provider } from '@nestjs/common';
|
|
2
|
-
import { MemberMetadata } from '@rytass/bpm-core-shared';
|
|
3
|
-
import { BPMAuthContext } from '../bpm-auth';
|
|
4
|
-
import { BPMMemberResolver } from './member-resolver.interface';
|
|
5
|
-
/**
|
|
6
|
-
* Structural contract a host identity backend should implement (or a thin
|
|
7
|
-
* adapter wrap) so BPM can be plugged into any `member-base`-style
|
|
8
|
-
* directory without coupling `@rytass/bpm-core-nestjs-module` to a
|
|
9
|
-
* specific identity package.
|
|
10
|
-
*
|
|
11
|
-
* `TMember` is the host's own member shape; the adapter walks it through
|
|
12
|
-
* {@link BPMMemberBaseAdapterOptions} field readers.
|
|
13
|
-
*/
|
|
14
|
-
export interface BPMMemberBaseDirectory<TMember> {
|
|
15
|
-
readonly resolveMember: (memberId: string) => Promise<TMember | null>;
|
|
16
|
-
readonly resolveMembers?: (memberIds: readonly string[]) => Promise<readonly TMember[]>;
|
|
17
|
-
readonly searchMembers?: (searchText: string) => Promise<readonly TMember[]>;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Per-host field readers that tell the adapter how to extract canonical
|
|
21
|
-
* BPM fields out of the host's `TMember`. Each reader is optional;
|
|
22
|
-
* sensible defaults are inferred when the host uses common conventions
|
|
23
|
-
* (`memberId` / `id` / `sub` for the member id, `email` for the email,
|
|
24
|
-
* `name` / `displayName` for the name, etc.).
|
|
25
|
-
*
|
|
26
|
-
* Provide `readPermissions` and `readRoles` if you want BPM's
|
|
27
|
-
* `BPMAdminGuard` / `BPMDesignerGuard` to receive the host's RBAC
|
|
28
|
-
* strings; otherwise the resolved `BPMAuthContext` will carry empty
|
|
29
|
-
* arrays.
|
|
30
|
-
*/
|
|
31
|
-
export interface BPMMemberBaseAdapterOptions<TMember> {
|
|
32
|
-
readonly readCustomFields?: (member: TMember) => Readonly<Record<string, unknown>>;
|
|
33
|
-
readonly readEmail?: (member: TMember) => string | null;
|
|
34
|
-
readonly readMemberId?: (member: TMember) => string | null;
|
|
35
|
-
readonly readName?: (member: TMember) => string | null;
|
|
36
|
-
readonly readPermissions?: (member: TMember) => readonly string[];
|
|
37
|
-
readonly readRoles?: (member: TMember) => readonly string[];
|
|
38
|
-
}
|
|
39
|
-
export interface BPMMemberBaseResolverProviderOptions<TMember> {
|
|
40
|
-
readonly adapterOptions?: BPMMemberBaseAdapterOptions<TMember>;
|
|
41
|
-
readonly directoryToken: InjectionToken<BPMMemberBaseDirectory<TMember>>;
|
|
42
|
-
readonly provide: InjectionToken<BPMMemberResolver>;
|
|
43
|
-
}
|
|
44
|
-
export declare class BPMMemberBaseResolverAdapter<TMember> implements BPMMemberResolver {
|
|
45
|
-
private readonly directory;
|
|
46
|
-
private readonly options;
|
|
47
|
-
constructor(directory: BPMMemberBaseDirectory<TMember>, options?: BPMMemberBaseAdapterOptions<TMember>);
|
|
48
|
-
resolve(memberId: string): Promise<MemberMetadata>;
|
|
49
|
-
resolveMany(memberIds: readonly string[]): Promise<ReadonlyMap<string, MemberMetadata>>;
|
|
50
|
-
search(searchText: string): Promise<readonly MemberMetadata[]>;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Helper for hosts that already hold an authenticated `TMember` (for
|
|
54
|
-
* example from `@rytass/member-base-nestjs-module`) and want to project it
|
|
55
|
-
* into a {@link BPMAuthContext} without writing the boilerplate by hand.
|
|
56
|
-
*
|
|
57
|
-
* Returns `null` when the input is nullish or when the member is missing
|
|
58
|
-
* an id — never throws. Pair this with `BPMRootModuleOptions.authContextFactory`
|
|
59
|
-
* so BPM resolvers receive the projected context on every request.
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```ts
|
|
63
|
-
* const bpmAuth = createBPMAuthContextFromMemberBaseMember(memberBaseUser, {
|
|
64
|
-
* readRoles: (m) => m.roles,
|
|
65
|
-
* readPermissions: (m) => m.permissions,
|
|
66
|
-
* readCustomFields: (m) => ({ tenantId: m.tenantId }),
|
|
67
|
-
* });
|
|
68
|
-
* ```
|
|
69
|
-
*/
|
|
70
|
-
export declare function createBPMAuthContextFromMemberBaseMember<TMember>(member: TMember | null | undefined, options?: BPMMemberBaseAdapterOptions<TMember>): BPMAuthContext | null;
|
|
71
|
-
/**
|
|
72
|
-
* Builds a Nest `Provider` that adapts a host-provided
|
|
73
|
-
* {@link BPMMemberBaseDirectory} into a {@link BPMMemberResolver}, then
|
|
74
|
-
* registers it under the host-chosen injection token (typically
|
|
75
|
-
* {@link BPM_MEMBER_RESOLVER}).
|
|
76
|
-
*
|
|
77
|
-
* Pass the result inside `BPMRootModuleOptions.memberResolverProvider`.
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
* ```ts
|
|
81
|
-
* BPMRootModule.forRoot({
|
|
82
|
-
* memberResolverProvider: createBPMMemberBaseResolverProvider({
|
|
83
|
-
* provide: BPM_MEMBER_RESOLVER,
|
|
84
|
-
* directoryToken: HOST_MEMBER_DIRECTORY,
|
|
85
|
-
* adapterOptions: {
|
|
86
|
-
* readEmail: (m) => m.email,
|
|
87
|
-
* readName: (m) => m.name,
|
|
88
|
-
* },
|
|
89
|
-
* }),
|
|
90
|
-
* // ...
|
|
91
|
-
* });
|
|
92
|
-
* ```
|
|
93
|
-
*/
|
|
94
|
-
export declare function createBPMMemberBaseResolverProvider<TMember>({ adapterOptions, directoryToken, provide, }: BPMMemberBaseResolverProviderOptions<TMember>): Provider<BPMMemberResolver>;
|
|
95
|
-
export declare function readMemberMetadataFromMemberBaseMember<TMember>(member: TMember, options?: BPMMemberBaseAdapterOptions<TMember>): MemberMetadata;
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BPMMemberBaseResolverAdapter = void 0;
|
|
4
|
-
exports.createBPMAuthContextFromMemberBaseMember = createBPMAuthContextFromMemberBaseMember;
|
|
5
|
-
exports.createBPMMemberBaseResolverProvider = createBPMMemberBaseResolverProvider;
|
|
6
|
-
exports.readMemberMetadataFromMemberBaseMember = readMemberMetadataFromMemberBaseMember;
|
|
7
|
-
class BPMMemberBaseResolverAdapter {
|
|
8
|
-
constructor(directory, options = {}) {
|
|
9
|
-
this.directory = directory;
|
|
10
|
-
this.options = options;
|
|
11
|
-
}
|
|
12
|
-
async resolve(memberId) {
|
|
13
|
-
const member = await this.directory.resolveMember(memberId);
|
|
14
|
-
if (!member) {
|
|
15
|
-
throw new Error(`member-base member ${memberId} was not found`);
|
|
16
|
-
}
|
|
17
|
-
return readMemberMetadataFromMemberBaseMember(member, this.options);
|
|
18
|
-
}
|
|
19
|
-
async resolveMany(memberIds) {
|
|
20
|
-
const members = this.directory.resolveMembers
|
|
21
|
-
? await this.directory.resolveMembers(memberIds)
|
|
22
|
-
: await Promise.all(memberIds.map((memberId) => this.directory.resolveMember(memberId)));
|
|
23
|
-
return members
|
|
24
|
-
.filter((member) => Boolean(member))
|
|
25
|
-
.map((member) => readMemberMetadataFromMemberBaseMember(member, this.options))
|
|
26
|
-
.reduce((metadataByMemberId, metadata) => new Map(metadataByMemberId).set(metadata.memberId, metadata), new Map());
|
|
27
|
-
}
|
|
28
|
-
async search(searchText) {
|
|
29
|
-
if (!this.directory.searchMembers) {
|
|
30
|
-
return [];
|
|
31
|
-
}
|
|
32
|
-
return (await this.directory.searchMembers(searchText)).map((member) => readMemberMetadataFromMemberBaseMember(member, this.options));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.BPMMemberBaseResolverAdapter = BPMMemberBaseResolverAdapter;
|
|
36
|
-
/**
|
|
37
|
-
* Helper for hosts that already hold an authenticated `TMember` (for
|
|
38
|
-
* example from `@rytass/member-base-nestjs-module`) and want to project it
|
|
39
|
-
* into a {@link BPMAuthContext} without writing the boilerplate by hand.
|
|
40
|
-
*
|
|
41
|
-
* Returns `null` when the input is nullish or when the member is missing
|
|
42
|
-
* an id — never throws. Pair this with `BPMRootModuleOptions.authContextFactory`
|
|
43
|
-
* so BPM resolvers receive the projected context on every request.
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```ts
|
|
47
|
-
* const bpmAuth = createBPMAuthContextFromMemberBaseMember(memberBaseUser, {
|
|
48
|
-
* readRoles: (m) => m.roles,
|
|
49
|
-
* readPermissions: (m) => m.permissions,
|
|
50
|
-
* readCustomFields: (m) => ({ tenantId: m.tenantId }),
|
|
51
|
-
* });
|
|
52
|
-
* ```
|
|
53
|
-
*/
|
|
54
|
-
function createBPMAuthContextFromMemberBaseMember(member, options = {}) {
|
|
55
|
-
if (!member) {
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
|
-
const memberId = readMemberId(member, options);
|
|
59
|
-
return memberId
|
|
60
|
-
? {
|
|
61
|
-
memberId,
|
|
62
|
-
metadata: options.readCustomFields?.(member) ?? {},
|
|
63
|
-
permissions: options.readPermissions?.(member) ?? [],
|
|
64
|
-
roles: options.readRoles?.(member) ?? [],
|
|
65
|
-
}
|
|
66
|
-
: null;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Builds a Nest `Provider` that adapts a host-provided
|
|
70
|
-
* {@link BPMMemberBaseDirectory} into a {@link BPMMemberResolver}, then
|
|
71
|
-
* registers it under the host-chosen injection token (typically
|
|
72
|
-
* {@link BPM_MEMBER_RESOLVER}).
|
|
73
|
-
*
|
|
74
|
-
* Pass the result inside `BPMRootModuleOptions.memberResolverProvider`.
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* ```ts
|
|
78
|
-
* BPMRootModule.forRoot({
|
|
79
|
-
* memberResolverProvider: createBPMMemberBaseResolverProvider({
|
|
80
|
-
* provide: BPM_MEMBER_RESOLVER,
|
|
81
|
-
* directoryToken: HOST_MEMBER_DIRECTORY,
|
|
82
|
-
* adapterOptions: {
|
|
83
|
-
* readEmail: (m) => m.email,
|
|
84
|
-
* readName: (m) => m.name,
|
|
85
|
-
* },
|
|
86
|
-
* }),
|
|
87
|
-
* // ...
|
|
88
|
-
* });
|
|
89
|
-
* ```
|
|
90
|
-
*/
|
|
91
|
-
function createBPMMemberBaseResolverProvider({ adapterOptions, directoryToken, provide, }) {
|
|
92
|
-
return {
|
|
93
|
-
inject: [directoryToken],
|
|
94
|
-
provide,
|
|
95
|
-
useFactory: (directory) => new BPMMemberBaseResolverAdapter(directory, adapterOptions),
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
function readMemberMetadataFromMemberBaseMember(member, options = {}) {
|
|
99
|
-
const memberId = readMemberId(member, options);
|
|
100
|
-
if (!memberId) {
|
|
101
|
-
throw new Error('member-base member id is required for BPM integration');
|
|
102
|
-
}
|
|
103
|
-
return {
|
|
104
|
-
customFields: options.readCustomFields?.(member) ?? {},
|
|
105
|
-
email: readMemberEmail(member, options) ?? '',
|
|
106
|
-
memberId,
|
|
107
|
-
name: readMemberName(member, options) ?? memberId,
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
function readMemberId(member, options) {
|
|
111
|
-
return (normalizeText(options.readMemberId?.(member)) ??
|
|
112
|
-
readStringProperty(member, 'memberId') ??
|
|
113
|
-
readStringProperty(member, 'id') ??
|
|
114
|
-
readStringProperty(member, 'sub'));
|
|
115
|
-
}
|
|
116
|
-
function readMemberEmail(member, options) {
|
|
117
|
-
return normalizeText(options.readEmail?.(member)) ?? readStringProperty(member, 'email');
|
|
118
|
-
}
|
|
119
|
-
function readMemberName(member, options) {
|
|
120
|
-
return (normalizeText(options.readName?.(member)) ??
|
|
121
|
-
readStringProperty(member, 'name') ??
|
|
122
|
-
readStringProperty(member, 'displayName') ??
|
|
123
|
-
readMemberEmail(member, options));
|
|
124
|
-
}
|
|
125
|
-
function readStringProperty(value, key) {
|
|
126
|
-
if (!isRecord(value)) {
|
|
127
|
-
return null;
|
|
128
|
-
}
|
|
129
|
-
return normalizeText(value[key]);
|
|
130
|
-
}
|
|
131
|
-
function normalizeText(value) {
|
|
132
|
-
return typeof value === 'string' && value.trim() ? value.trim() : null;
|
|
133
|
-
}
|
|
134
|
-
function isRecord(value) {
|
|
135
|
-
return typeof value === 'object' && value !== null;
|
|
136
|
-
}
|
|
137
|
-
//# sourceMappingURL=member-base.adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"member-base.adapter.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/member-base.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MemberMetadataCacheEntity = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const graphql_1 = require("@nestjs/graphql");
|
|
6
|
-
const typeorm_1 = require("typeorm");
|
|
7
|
-
let MemberMetadataCacheEntity = class MemberMetadataCacheEntity {
|
|
8
|
-
};
|
|
9
|
-
exports.MemberMetadataCacheEntity = MemberMetadataCacheEntity;
|
|
10
|
-
tslib_1.__decorate([
|
|
11
|
-
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
12
|
-
(0, graphql_1.Field)(() => graphql_1.ID),
|
|
13
|
-
tslib_1.__metadata("design:type", String)
|
|
14
|
-
], MemberMetadataCacheEntity.prototype, "id", void 0);
|
|
15
|
-
tslib_1.__decorate([
|
|
16
|
-
(0, typeorm_1.Column)('text', { name: 'member_id' }),
|
|
17
|
-
(0, graphql_1.Field)(),
|
|
18
|
-
tslib_1.__metadata("design:type", String)
|
|
19
|
-
], MemberMetadataCacheEntity.prototype, "memberId", void 0);
|
|
20
|
-
tslib_1.__decorate([
|
|
21
|
-
(0, typeorm_1.Column)('jsonb'),
|
|
22
|
-
tslib_1.__metadata("design:type", Object)
|
|
23
|
-
], MemberMetadataCacheEntity.prototype, "metadata", void 0);
|
|
24
|
-
tslib_1.__decorate([
|
|
25
|
-
(0, typeorm_1.Column)('timestamptz', { name: 'fetched_at' }),
|
|
26
|
-
(0, graphql_1.Field)(),
|
|
27
|
-
tslib_1.__metadata("design:type", Date)
|
|
28
|
-
], MemberMetadataCacheEntity.prototype, "fetchedAt", void 0);
|
|
29
|
-
tslib_1.__decorate([
|
|
30
|
-
(0, typeorm_1.Column)('timestamptz', { name: 'expires_at' }),
|
|
31
|
-
(0, graphql_1.Field)(),
|
|
32
|
-
tslib_1.__metadata("design:type", Date)
|
|
33
|
-
], MemberMetadataCacheEntity.prototype, "expiresAt", void 0);
|
|
34
|
-
exports.MemberMetadataCacheEntity = MemberMetadataCacheEntity = tslib_1.__decorate([
|
|
35
|
-
(0, typeorm_1.Entity)('member_metadata_cache'),
|
|
36
|
-
(0, typeorm_1.Unique)(['memberId']),
|
|
37
|
-
(0, graphql_1.ObjectType)('MemberMetadataCache')
|
|
38
|
-
], MemberMetadataCacheEntity);
|
|
39
|
-
//# sourceMappingURL=member-metadata-cache.entity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"member-metadata-cache.entity.js","sourceRoot":"","sources":["../../../../../../libs/bpm-core/src/lib/identity/member-metadata-cache.entity.ts"],"names":[],"mappings":";;;;AAAA,6CAAwD;AACxD,qCAAyE;AAMlE,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAmBrC,CAAA;AAnBY,8DAAyB;AAGpC;IAFC,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,YAAE,CAAC;;qDACJ;AAIZ;IAFC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACrC,IAAA,eAAK,GAAE;;2DACU;AAGlB;IADC,IAAA,gBAAM,EAAC,OAAO,CAAC;;2DACU;AAI1B;IAFC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC7C,IAAA,eAAK,GAAE;sCACI,IAAI;4DAAC;AAIjB;IAFC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAC7C,IAAA,eAAK,GAAE;sCACI,IAAI;4DAAC;oCAlBN,yBAAyB;IAHrC,IAAA,gBAAM,EAAC,uBAAuB,CAAC;IAC/B,IAAA,gBAAM,EAAC,CAAC,UAAU,CAAC,CAAC;IACpB,IAAA,oBAAU,EAAC,qBAAqB,CAAC;GACrB,yBAAyB,CAmBrC"}
|