@things-factory/worklist 10.1.248 → 10.1.250
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/dist-client/activity-cells.d.ts +21 -0
- package/dist-client/activity-cells.js +117 -0
- package/dist-client/activity-cells.js.map +1 -0
- package/dist-client/activity-state-counts.d.ts +6 -0
- package/dist-client/activity-state-counts.js +23 -0
- package/dist-client/activity-state-counts.js.map +1 -0
- package/dist-client/activity-summary-generator.d.ts +2 -0
- package/dist-client/activity-summary-generator.js +155 -0
- package/dist-client/activity-summary-generator.js.map +1 -0
- package/dist-client/approval-progress.d.ts +27 -0
- package/dist-client/approval-progress.js +42 -0
- package/dist-client/approval-progress.js.map +1 -0
- package/dist-client/bootstrap.d.ts +5 -0
- package/dist-client/bootstrap.js +63 -0
- package/dist-client/bootstrap.js.map +1 -0
- package/dist-client/chip-counts.d.ts +7 -0
- package/dist-client/chip-counts.js +11 -0
- package/dist-client/chip-counts.js.map +1 -0
- package/dist-client/chip-filters.d.ts +60 -0
- package/dist-client/chip-filters.js +102 -0
- package/dist-client/chip-filters.js.map +1 -0
- package/dist-client/components/activity-/bowner-view.d.ts +1 -0
- package/dist-client/components/activity-/bowner-view.js +104 -0
- package/dist-client/components/activity-/bowner-view.js.map +1 -0
- package/dist-client/components/activity-approval-ribon.d.ts +31 -0
- package/dist-client/components/activity-approval-ribon.js +103 -0
- package/dist-client/components/activity-approval-ribon.js.map +1 -0
- package/dist-client/components/activity-fields.d.ts +77 -0
- package/dist-client/components/activity-fields.js +424 -0
- package/dist-client/components/activity-fields.js.map +1 -0
- package/dist-client/components/activity-instance-preview.d.ts +2 -0
- package/dist-client/components/activity-instance-preview.js +177 -0
- package/dist-client/components/activity-instance-preview.js.map +1 -0
- package/dist-client/components/activity-instance-ribon.d.ts +32 -0
- package/dist-client/components/activity-instance-ribon.js +91 -0
- package/dist-client/components/activity-instance-ribon.js.map +1 -0
- package/dist-client/components/activity-intro-view.d.ts +1 -0
- package/dist-client/components/activity-intro-view.js +104 -0
- package/dist-client/components/activity-intro-view.js.map +1 -0
- package/dist-client/components/activity-reporter-view.d.ts +1 -0
- package/dist-client/components/activity-reporter-view.js +103 -0
- package/dist-client/components/activity-reporter-view.js.map +1 -0
- package/dist-client/components/activity-starter-form.d.ts +19 -0
- package/dist-client/components/activity-starter-form.js +264 -0
- package/dist-client/components/activity-starter-form.js.map +1 -0
- package/dist-client/components/activity-thread-ribon.d.ts +38 -0
- package/dist-client/components/activity-thread-ribon.js +95 -0
- package/dist-client/components/activity-thread-ribon.js.map +1 -0
- package/dist-client/components/activity-thread-timeline.d.ts +28 -0
- package/dist-client/components/activity-thread-timeline.js +339 -0
- package/dist-client/components/activity-thread-timeline.js.map +1 -0
- package/dist-client/components/can-pick.d.ts +15 -0
- package/dist-client/components/can-pick.js +16 -0
- package/dist-client/components/can-pick.js.map +1 -0
- package/dist-client/components/decision-content.d.ts +35 -0
- package/dist-client/components/decision-content.js +331 -0
- package/dist-client/components/decision-content.js.map +1 -0
- package/dist-client/components/decision-slots.d.ts +153 -0
- package/dist-client/components/decision-slots.js +152 -0
- package/dist-client/components/decision-slots.js.map +1 -0
- package/dist-client/components/mutation-outcome.d.ts +57 -0
- package/dist-client/components/mutation-outcome.js +78 -0
- package/dist-client/components/mutation-outcome.js.map +1 -0
- package/dist-client/components/say-outcome.d.ts +25 -0
- package/dist-client/components/say-outcome.js +51 -0
- package/dist-client/components/say-outcome.js.map +1 -0
- package/dist-client/components/state-ribon.d.ts +48 -0
- package/dist-client/components/state-ribon.js +225 -0
- package/dist-client/components/state-ribon.js.map +1 -0
- package/dist-client/components/timeline-entries.d.ts +38 -0
- package/dist-client/components/timeline-entries.js +62 -0
- package/dist-client/components/timeline-entries.js.map +1 -0
- package/dist-client/components/work-box-groups.d.ts +25 -0
- package/dist-client/components/work-box-groups.js +98 -0
- package/dist-client/components/work-box-groups.js.map +1 -0
- package/dist-client/due.d.ts +16 -0
- package/dist-client/due.js +78 -0
- package/dist-client/due.js.map +1 -0
- package/dist-client/entity360/person-open-work-section.d.ts +23 -0
- package/dist-client/entity360/person-open-work-section.js +79 -0
- package/dist-client/entity360/person-open-work-section.js.map +1 -0
- package/dist-client/grist-editor/grist-editor-activity-search-key.d.ts +12 -0
- package/dist-client/grist-editor/grist-editor-activity-search-key.js +70 -0
- package/dist-client/grist-editor/grist-editor-activity-search-key.js.map +1 -0
- package/dist-client/grist-editor/grist-renderer-activity-search-key.d.ts +3 -0
- package/dist-client/grist-editor/grist-renderer-activity-search-key.js +25 -0
- package/dist-client/grist-editor/grist-renderer-activity-search-key.js.map +1 -0
- package/dist-client/grist-editor/popup-activity-search-keys-input.d.ts +17 -0
- package/dist-client/grist-editor/popup-activity-search-keys-input.js +175 -0
- package/dist-client/grist-editor/popup-activity-search-keys-input.js.map +1 -0
- package/dist-client/index.d.ts +6 -0
- package/dist-client/index.js +7 -0
- package/dist-client/index.js.map +1 -0
- package/dist-client/my-work-menus.d.ts +90 -0
- package/dist-client/my-work-menus.js +20 -0
- package/dist-client/my-work-menus.js.map +1 -0
- package/dist-client/pages/activity/activity-list-page.d.ts +53 -0
- package/dist-client/pages/activity/activity-list-page.js +600 -0
- package/dist-client/pages/activity/activity-list-page.js.map +1 -0
- package/dist-client/pages/activity/activity-model-item-list.d.ts +24 -0
- package/dist-client/pages/activity/activity-model-item-list.js +292 -0
- package/dist-client/pages/activity/activity-model-item-list.js.map +1 -0
- package/dist-client/pages/activity/activity-page.d.ts +56 -0
- package/dist-client/pages/activity/activity-page.js +396 -0
- package/dist-client/pages/activity/activity-page.js.map +1 -0
- package/dist-client/pages/activity/activity-partial-view.d.ts +13 -0
- package/dist-client/pages/activity/activity-partial-view.js +56 -0
- package/dist-client/pages/activity/activity-partial-view.js.map +1 -0
- package/dist-client/pages/activity/assignee-roles-cell.d.ts +32 -0
- package/dist-client/pages/activity/assignee-roles-cell.js +26 -0
- package/dist-client/pages/activity/assignee-roles-cell.js.map +1 -0
- package/dist-client/pages/activity/starter-list-page.d.ts +31 -0
- package/dist-client/pages/activity/starter-list-page.js +172 -0
- package/dist-client/pages/activity/starter-list-page.js.map +1 -0
- package/dist-client/pages/activity-approval/activity-approval-importer.d.ts +23 -0
- package/dist-client/pages/activity-approval/activity-approval-importer.js +94 -0
- package/dist-client/pages/activity-approval/activity-approval-importer.js.map +1 -0
- package/dist-client/pages/activity-approval/activity-approval-list-page.d.ts +55 -0
- package/dist-client/pages/activity-approval/activity-approval-list-page.js +253 -0
- package/dist-client/pages/activity-approval/activity-approval-list-page.js.map +1 -0
- package/dist-client/pages/activity-approval/activity-approval-page.d.ts +158 -0
- package/dist-client/pages/activity-approval/activity-approval-page.js +876 -0
- package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -0
- package/dist-client/pages/activity-approval/approval-gate.d.ts +29 -0
- package/dist-client/pages/activity-approval/approval-gate.js +21 -0
- package/dist-client/pages/activity-approval/approval-gate.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-catalog-page.d.ts +31 -0
- package/dist-client/pages/activity-catalog/activity-catalog-page.js +420 -0
- package/dist-client/pages/activity-catalog/activity-catalog-page.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-detail-actions.d.ts +34 -0
- package/dist-client/pages/activity-catalog/activity-detail-actions.js +18 -0
- package/dist-client/pages/activity-catalog/activity-detail-actions.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-detail-page.d.ts +90 -0
- package/dist-client/pages/activity-catalog/activity-detail-page.js +525 -0
- package/dist-client/pages/activity-catalog/activity-detail-page.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-guide.d.ts +16 -0
- package/dist-client/pages/activity-catalog/activity-guide.js +5 -0
- package/dist-client/pages/activity-catalog/activity-guide.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-panels.d.ts +80 -0
- package/dist-client/pages/activity-catalog/activity-panels.js +53 -0
- package/dist-client/pages/activity-catalog/activity-panels.js.map +1 -0
- package/dist-client/pages/activity-catalog/activity-stage.d.ts +31 -0
- package/dist-client/pages/activity-catalog/activity-stage.js +44 -0
- package/dist-client/pages/activity-catalog/activity-stage.js.map +1 -0
- package/dist-client/pages/activity-instance/activity-instance-list-page.d.ts +42 -0
- package/dist-client/pages/activity-instance/activity-instance-list-page.js +306 -0
- package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -0
- package/dist-client/pages/activity-instance/activity-instance-search-page.d.ts +69 -0
- package/dist-client/pages/activity-instance/activity-instance-search-page.js +309 -0
- package/dist-client/pages/activity-instance/activity-instance-search-page.js.map +1 -0
- package/dist-client/pages/activity-instance/activity-instance-start-page.d.ts +54 -0
- package/dist-client/pages/activity-instance/activity-instance-start-page.js +557 -0
- package/dist-client/pages/activity-instance/activity-instance-start-page.js.map +1 -0
- package/dist-client/pages/activity-instance/activity-instance-view.d.ts +36 -0
- package/dist-client/pages/activity-instance/activity-instance-view.js +495 -0
- package/dist-client/pages/activity-instance/activity-instance-view.js.map +1 -0
- package/dist-client/pages/activity-instance/discard-offer.d.ts +11 -0
- package/dist-client/pages/activity-instance/discard-offer.js +11 -0
- package/dist-client/pages/activity-instance/discard-offer.js.map +1 -0
- package/dist-client/pages/activity-stats/activity-stats-importer.d.ts +23 -0
- package/dist-client/pages/activity-stats/activity-stats-importer.js +94 -0
- package/dist-client/pages/activity-stats/activity-stats-importer.js.map +1 -0
- package/dist-client/pages/activity-stats/activity-stats-list-page.d.ts +55 -0
- package/dist-client/pages/activity-stats/activity-stats-list-page.js +253 -0
- package/dist-client/pages/activity-stats/activity-stats-list-page.js.map +1 -0
- package/dist-client/pages/activity-store/activity-store-page.d.ts +41 -0
- package/dist-client/pages/activity-store/activity-store-page.js +210 -0
- package/dist-client/pages/activity-store/activity-store-page.js.map +1 -0
- package/dist-client/pages/activity-supervisor/reporter-list-page.d.ts +30 -0
- package/dist-client/pages/activity-supervisor/reporter-list-page.js +190 -0
- package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -0
- package/dist-client/pages/activity-template/activity-template-importer.d.ts +11 -0
- package/dist-client/pages/activity-template/activity-template-importer.js +98 -0
- package/dist-client/pages/activity-template/activity-template-importer.js.map +1 -0
- package/dist-client/pages/activity-template/activity-template-list-page.d.ts +53 -0
- package/dist-client/pages/activity-template/activity-template-list-page.js +377 -0
- package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -0
- package/dist-client/pages/activity-template/activity-template-model-item-list.d.ts +1 -0
- package/dist-client/pages/activity-template/activity-template-model-item-list.js +41 -0
- package/dist-client/pages/activity-template/activity-template-model-item-list.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-importer.d.ts +11 -0
- package/dist-client/pages/activity-thread/activity-thread-importer.js +96 -0
- package/dist-client/pages/activity-thread/activity-thread-importer.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-list-page.d.ts +52 -0
- package/dist-client/pages/activity-thread/activity-thread-list-page.js +248 -0
- package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-page.d.ts +91 -0
- package/dist-client/pages/activity-thread/activity-thread-page.js +594 -0
- package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-view-page.d.ts +56 -0
- package/dist-client/pages/activity-thread/activity-thread-view-page.js +386 -0
- package/dist-client/pages/activity-thread/activity-thread-view-page.js.map +1 -0
- package/dist-client/pages/activity-thread/activity-thread-view.d.ts +31 -0
- package/dist-client/pages/activity-thread/activity-thread-view.js +134 -0
- package/dist-client/pages/activity-thread/activity-thread-view.js.map +1 -0
- package/dist-client/pages/activity-thread/thread-sections.d.ts +34 -0
- package/dist-client/pages/activity-thread/thread-sections.js +36 -0
- package/dist-client/pages/activity-thread/thread-sections.js.map +1 -0
- package/dist-client/pages/approval-progress/approval-progress-page.d.ts +46 -0
- package/dist-client/pages/approval-progress/approval-progress-page.js +294 -0
- package/dist-client/pages/approval-progress/approval-progress-page.js.map +1 -0
- package/dist-client/pages/installable-activity/installable-activity-list-page.d.ts +64 -0
- package/dist-client/pages/installable-activity/installable-activity-list-page.js +424 -0
- package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -0
- package/dist-client/pages/installable-activity/installable-activity-model-item-list.d.ts +1 -0
- package/dist-client/pages/installable-activity/installable-activity-model-item-list.js +20 -0
- package/dist-client/pages/installable-activity/installable-activity-model-item-list.js.map +1 -0
- package/dist-client/pages/todo/approval-done-list-page.d.ts +42 -0
- package/dist-client/pages/todo/approval-done-list-page.js +365 -0
- package/dist-client/pages/todo/approval-done-list-page.js.map +1 -0
- package/dist-client/pages/todo/approval-pending-list-page.d.ts +79 -0
- package/dist-client/pages/todo/approval-pending-list-page.js +683 -0
- package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -0
- package/dist-client/pages/todo/done-list-calendar-page.d.ts +47 -0
- package/dist-client/pages/todo/done-list-calendar-page.js +379 -0
- package/dist-client/pages/todo/done-list-calendar-page.js.map +1 -0
- package/dist-client/pages/todo/draft-list-page.d.ts +64 -0
- package/dist-client/pages/todo/draft-list-page.js +404 -0
- package/dist-client/pages/todo/draft-list-page.js.map +1 -0
- package/dist-client/pages/todo/list-thumbnail.d.ts +25 -0
- package/dist-client/pages/todo/list-thumbnail.js +25 -0
- package/dist-client/pages/todo/list-thumbnail.js.map +1 -0
- package/dist-client/pages/todo/pickable-list-page.d.ts +37 -0
- package/dist-client/pages/todo/pickable-list-page.js +271 -0
- package/dist-client/pages/todo/pickable-list-page.js.map +1 -0
- package/dist-client/pages/todo/todo-list-page.d.ts +66 -0
- package/dist-client/pages/todo/todo-list-page.js +503 -0
- package/dist-client/pages/todo/todo-list-page.js.map +1 -0
- package/dist-client/pages/todo/work-box.d.ts +52 -0
- package/dist-client/pages/todo/work-box.js +54 -0
- package/dist-client/pages/todo/work-box.js.map +1 -0
- package/dist-client/pages/work-door/door-links.d.ts +22 -0
- package/dist-client/pages/work-door/door-links.js +20 -0
- package/dist-client/pages/work-door/door-links.js.map +1 -0
- package/dist-client/pages/work-door/door-sentence.d.ts +75 -0
- package/dist-client/pages/work-door/door-sentence.js +107 -0
- package/dist-client/pages/work-door/door-sentence.js.map +1 -0
- package/dist-client/pages/work-door/door-words.d.ts +48 -0
- package/dist-client/pages/work-door/door-words.js +84 -0
- package/dist-client/pages/work-door/door-words.js.map +1 -0
- package/dist-client/route.d.ts +1 -0
- package/dist-client/route.js +80 -0
- package/dist-client/route.js.map +1 -0
- package/dist-client/templates/activity-approval-context-template.d.ts +3 -0
- package/dist-client/templates/activity-approval-context-template.js +105 -0
- package/dist-client/templates/activity-approval-context-template.js.map +1 -0
- package/dist-client/templates/activity-instance-context-template.d.ts +3 -0
- package/dist-client/templates/activity-instance-context-template.js +118 -0
- package/dist-client/templates/activity-instance-context-template.js.map +1 -0
- package/dist-client/templates/activity-thread-context-template.d.ts +3 -0
- package/dist-client/templates/activity-thread-context-template.js +74 -0
- package/dist-client/templates/activity-thread-context-template.js.map +1 -0
- package/dist-client/templates/context-panel.d.ts +26 -0
- package/dist-client/templates/context-panel.js +182 -0
- package/dist-client/templates/context-panel.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -0
- package/dist-client/types/activity-approval.d.ts +36 -0
- package/dist-client/types/activity-approval.js +17 -0
- package/dist-client/types/activity-approval.js.map +1 -0
- package/dist-client/types/activity-instance-type.d.ts +77 -0
- package/dist-client/types/activity-instance-type.js +11 -0
- package/dist-client/types/activity-instance-type.js.map +1 -0
- package/dist-client/types/activity-instance.d.ts +72 -0
- package/dist-client/types/activity-instance.js +36 -0
- package/dist-client/types/activity-instance.js.map +1 -0
- package/dist-client/types/activity-model-type.d.ts +31 -0
- package/dist-client/types/activity-model-type.js +18 -0
- package/dist-client/types/activity-model-type.js.map +1 -0
- package/dist-client/types/activity-search-key-item-type.d.ts +6 -0
- package/dist-client/types/activity-search-key-item-type.js +3 -0
- package/dist-client/types/activity-search-key-item-type.js.map +1 -0
- package/dist-client/types/activity-thread-history.d.ts +28 -0
- package/dist-client/types/activity-thread-history.js +7 -0
- package/dist-client/types/activity-thread-history.js.map +1 -0
- package/dist-client/types/activity-thread-type.d.ts +15 -0
- package/dist-client/types/activity-thread-type.js +7 -0
- package/dist-client/types/activity-thread-type.js.map +1 -0
- package/dist-client/types/activity-thread.d.ts +39 -0
- package/dist-client/types/activity-thread.js +18 -0
- package/dist-client/types/activity-thread.js.map +1 -0
- package/dist-client/types/activity.d.ts +68 -0
- package/dist-client/types/activity.js +40 -0
- package/dist-client/types/activity.js.map +1 -0
- package/dist-client/types/types.d.ts +23 -0
- package/dist-client/types/types.js +42 -0
- package/dist-client/types/types.js.map +1 -0
- package/dist-client/when.d.ts +4 -0
- package/dist-client/when.js +72 -0
- package/dist-client/when.js.map +1 -0
- package/dist-client/work-calendar-sources.d.ts +96 -0
- package/dist-client/work-calendar-sources.js +88 -0
- package/dist-client/work-calendar-sources.js.map +1 -0
- package/dist-server/controllers/activity-approval/_abort.d.ts +5 -0
- package/dist-server/controllers/activity-approval/_abort.js +29 -0
- package/dist-server/controllers/activity-approval/_abort.js.map +1 -0
- package/dist-server/controllers/activity-approval/abort.d.ts +5 -0
- package/dist-server/controllers/activity-approval/abort.js +35 -0
- package/dist-server/controllers/activity-approval/abort.js.map +1 -0
- package/dist-server/controllers/activity-approval/approval-line.d.ts +138 -0
- package/dist-server/controllers/activity-approval/approval-line.js +185 -0
- package/dist-server/controllers/activity-approval/approval-line.js.map +1 -0
- package/dist-server/controllers/activity-approval/approve.d.ts +5 -0
- package/dist-server/controllers/activity-approval/approve.js +142 -0
- package/dist-server/controllers/activity-approval/approve.js.map +1 -0
- package/dist-server/controllers/activity-approval/check-authority.d.ts +8 -0
- package/dist-server/controllers/activity-approval/check-authority.js +29 -0
- package/dist-server/controllers/activity-approval/check-authority.js.map +1 -0
- package/dist-server/controllers/activity-approval/claim.d.ts +42 -0
- package/dist-server/controllers/activity-approval/claim.js +77 -0
- package/dist-server/controllers/activity-approval/claim.js.map +1 -0
- package/dist-server/controllers/activity-approval/create-approval.d.ts +41 -0
- package/dist-server/controllers/activity-approval/create-approval.js +85 -0
- package/dist-server/controllers/activity-approval/create-approval.js.map +1 -0
- package/dist-server/controllers/activity-approval/delegate.d.ts +23 -0
- package/dist-server/controllers/activity-approval/delegate.js +113 -0
- package/dist-server/controllers/activity-approval/delegate.js.map +1 -0
- package/dist-server/controllers/activity-approval/delegation.d.ts +21 -0
- package/dist-server/controllers/activity-approval/delegation.js +17 -0
- package/dist-server/controllers/activity-approval/delegation.js.map +1 -0
- package/dist-server/controllers/activity-approval/opinion.d.ts +10 -0
- package/dist-server/controllers/activity-approval/opinion.js +43 -0
- package/dist-server/controllers/activity-approval/opinion.js.map +1 -0
- package/dist-server/controllers/activity-approval/reject.d.ts +5 -0
- package/dist-server/controllers/activity-approval/reject.js +93 -0
- package/dist-server/controllers/activity-approval/reject.js.map +1 -0
- package/dist-server/controllers/activity-approval/resolve-judgeable-seats.d.ts +21 -0
- package/dist-server/controllers/activity-approval/resolve-judgeable-seats.js +60 -0
- package/dist-server/controllers/activity-approval/resolve-judgeable-seats.js.map +1 -0
- package/dist-server/controllers/activity-approval/save.d.ts +5 -0
- package/dist-server/controllers/activity-approval/save.js +56 -0
- package/dist-server/controllers/activity-approval/save.js.map +1 -0
- package/dist-server/controllers/activity-approval/seat-standing.d.ts +66 -0
- package/dist-server/controllers/activity-approval/seat-standing.js +57 -0
- package/dist-server/controllers/activity-approval/seat-standing.js.map +1 -0
- package/dist-server/controllers/activity-installation/activity-installation-controller.d.ts +79 -0
- package/dist-server/controllers/activity-installation/activity-installation-controller.js +99 -0
- package/dist-server/controllers/activity-installation/activity-installation-controller.js.map +1 -0
- package/dist-server/controllers/activity-installation/call-webhook.d.ts +3 -0
- package/dist-server/controllers/activity-installation/call-webhook.js +42 -0
- package/dist-server/controllers/activity-installation/call-webhook.js.map +1 -0
- package/dist-server/controllers/activity-installation/installable-to-activity.d.ts +77 -0
- package/dist-server/controllers/activity-installation/installable-to-activity.js +68 -0
- package/dist-server/controllers/activity-installation/installable-to-activity.js.map +1 -0
- package/dist-server/controllers/activity-installation/registry-conflict.d.ts +47 -0
- package/dist-server/controllers/activity-installation/registry-conflict.js +47 -0
- package/dist-server/controllers/activity-installation/registry-conflict.js.map +1 -0
- package/dist-server/controllers/activity-instance/abort.d.ts +5 -0
- package/dist-server/controllers/activity-instance/abort.js +62 -0
- package/dist-server/controllers/activity-instance/abort.js.map +1 -0
- package/dist-server/controllers/activity-instance/approval-expectation.d.ts +34 -0
- package/dist-server/controllers/activity-instance/approval-expectation.js +18 -0
- package/dist-server/controllers/activity-instance/approval-expectation.js.map +1 -0
- package/dist-server/controllers/activity-instance/approval-line-input.d.ts +29 -0
- package/dist-server/controllers/activity-instance/approval-line-input.js +44 -0
- package/dist-server/controllers/activity-instance/approval-line-input.js.map +1 -0
- package/dist-server/controllers/activity-instance/assign.d.ts +8 -0
- package/dist-server/controllers/activity-instance/assign.js +152 -0
- package/dist-server/controllers/activity-instance/assign.js.map +1 -0
- package/dist-server/controllers/activity-instance/assignee-input.d.ts +25 -0
- package/dist-server/controllers/activity-instance/assignee-input.js +28 -0
- package/dist-server/controllers/activity-instance/assignee-input.js.map +1 -0
- package/dist-server/controllers/activity-instance/claim-draft.d.ts +17 -0
- package/dist-server/controllers/activity-instance/claim-draft.js +30 -0
- package/dist-server/controllers/activity-instance/claim-draft.js.map +1 -0
- package/dist-server/controllers/activity-instance/discard-draft.d.ts +22 -0
- package/dist-server/controllers/activity-instance/discard-draft.js +54 -0
- package/dist-server/controllers/activity-instance/discard-draft.js.map +1 -0
- package/dist-server/controllers/activity-instance/draft.d.ts +3 -0
- package/dist-server/controllers/activity-instance/draft.js +93 -0
- package/dist-server/controllers/activity-instance/draft.js.map +1 -0
- package/dist-server/controllers/activity-instance/end.d.ts +6 -0
- package/dist-server/controllers/activity-instance/end.js +65 -0
- package/dist-server/controllers/activity-instance/end.js.map +1 -0
- package/dist-server/controllers/activity-instance/entitlement.d.ts +25 -0
- package/dist-server/controllers/activity-instance/entitlement.js +110 -0
- package/dist-server/controllers/activity-instance/entitlement.js.map +1 -0
- package/dist-server/controllers/activity-instance/index.d.ts +6 -0
- package/dist-server/controllers/activity-instance/index.js +10 -0
- package/dist-server/controllers/activity-instance/index.js.map +1 -0
- package/dist-server/controllers/activity-instance/issue.d.ts +3 -0
- package/dist-server/controllers/activity-instance/issue.js +272 -0
- package/dist-server/controllers/activity-instance/issue.js.map +1 -0
- package/dist-server/controllers/activity-instance/pick.d.ts +2 -0
- package/dist-server/controllers/activity-instance/pick.js +112 -0
- package/dist-server/controllers/activity-instance/pick.js.map +1 -0
- package/dist-server/controllers/activity-read/assert-may-read.d.ts +20 -0
- package/dist-server/controllers/activity-read/assert-may-read.js +108 -0
- package/dist-server/controllers/activity-read/assert-may-read.js.map +1 -0
- package/dist-server/controllers/activity-read/participates.d.ts +41 -0
- package/dist-server/controllers/activity-read/participates.js +42 -0
- package/dist-server/controllers/activity-read/participates.js.map +1 -0
- package/dist-server/controllers/activity-thread/_abort.d.ts +5 -0
- package/dist-server/controllers/activity-thread/_abort.js +36 -0
- package/dist-server/controllers/activity-thread/_abort.js.map +1 -0
- package/dist-server/controllers/activity-thread/abort.d.ts +5 -0
- package/dist-server/controllers/activity-thread/abort.js +45 -0
- package/dist-server/controllers/activity-thread/abort.js.map +1 -0
- package/dist-server/controllers/activity-thread/check-authority.d.ts +2 -0
- package/dist-server/controllers/activity-thread/check-authority.js +65 -0
- package/dist-server/controllers/activity-thread/check-authority.js.map +1 -0
- package/dist-server/controllers/activity-thread/delegate.d.ts +7 -0
- package/dist-server/controllers/activity-thread/delegate.js +66 -0
- package/dist-server/controllers/activity-thread/delegate.js.map +1 -0
- package/dist-server/controllers/activity-thread/end.d.ts +6 -0
- package/dist-server/controllers/activity-thread/end.js +44 -0
- package/dist-server/controllers/activity-thread/end.js.map +1 -0
- package/dist-server/controllers/activity-thread/index.d.ts +7 -0
- package/dist-server/controllers/activity-thread/index.js +11 -0
- package/dist-server/controllers/activity-thread/index.js.map +1 -0
- package/dist-server/controllers/activity-thread/restart.d.ts +2 -0
- package/dist-server/controllers/activity-thread/restart.js +63 -0
- package/dist-server/controllers/activity-thread/restart.js.map +1 -0
- package/dist-server/controllers/activity-thread/save.d.ts +3 -0
- package/dist-server/controllers/activity-thread/save.js +45 -0
- package/dist-server/controllers/activity-thread/save.js.map +1 -0
- package/dist-server/controllers/activity-thread/start.d.ts +2 -0
- package/dist-server/controllers/activity-thread/start.js +43 -0
- package/dist-server/controllers/activity-thread/start.js.map +1 -0
- package/dist-server/controllers/activity-thread/submit.d.ts +6 -0
- package/dist-server/controllers/activity-thread/submit.js +90 -0
- package/dist-server/controllers/activity-thread/submit.js.map +1 -0
- package/dist-server/controllers/common.d.ts +34 -0
- package/dist-server/controllers/common.js +346 -0
- package/dist-server/controllers/common.js.map +1 -0
- package/dist-server/controllers/index.d.ts +5 -0
- package/dist-server/controllers/index.js +18 -0
- package/dist-server/controllers/index.js.map +1 -0
- package/dist-server/index.d.ts +6 -0
- package/dist-server/index.js +18 -0
- package/dist-server/index.js.map +1 -0
- package/dist-server/role-tasks.d.ts +2 -0
- package/dist-server/role-tasks.js +16 -0
- package/dist-server/role-tasks.js.map +1 -0
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/routes.js +57 -0
- package/dist-server/routes.js.map +1 -0
- package/dist-server/service/activity/activity-decision-key-item-type.d.ts +206 -0
- package/dist-server/service/activity/activity-decision-key-item-type.js +182 -0
- package/dist-server/service/activity/activity-decision-key-item-type.js.map +1 -0
- package/dist-server/service/activity/activity-history.d.ts +44 -0
- package/dist-server/service/activity/activity-history.js +220 -0
- package/dist-server/service/activity/activity-history.js.map +1 -0
- package/dist-server/service/activity/activity-model-type.d.ts +49 -0
- package/dist-server/service/activity/activity-model-type.js +138 -0
- package/dist-server/service/activity/activity-model-type.js.map +1 -0
- package/dist-server/service/activity/activity-mutation.d.ts +12 -0
- package/dist-server/service/activity/activity-mutation.js +416 -0
- package/dist-server/service/activity/activity-mutation.js.map +1 -0
- package/dist-server/service/activity/activity-query.d.ts +24 -0
- package/dist-server/service/activity/activity-query.js +310 -0
- package/dist-server/service/activity/activity-query.js.map +1 -0
- package/dist-server/service/activity/activity-search-key-item-type.d.ts +6 -0
- package/dist-server/service/activity/activity-search-key-item-type.js +28 -0
- package/dist-server/service/activity/activity-search-key-item-type.js.map +1 -0
- package/dist-server/service/activity/activity-type.d.ts +84 -0
- package/dist-server/service/activity/activity-type.js +269 -0
- package/dist-server/service/activity/activity-type.js.map +1 -0
- package/dist-server/service/activity/activity.d.ts +135 -0
- package/dist-server/service/activity/activity.js +328 -0
- package/dist-server/service/activity/activity.js.map +1 -0
- package/dist-server/service/activity/approval-line-seats.d.ts +12 -0
- package/dist-server/service/activity/approval-line-seats.js +68 -0
- package/dist-server/service/activity/approval-line-seats.js.map +1 -0
- package/dist-server/service/activity/credential-field.d.ts +35 -0
- package/dist-server/service/activity/credential-field.js +89 -0
- package/dist-server/service/activity/credential-field.js.map +1 -0
- package/dist-server/service/activity/decision-key-declaration.d.ts +106 -0
- package/dist-server/service/activity/decision-key-declaration.js +181 -0
- package/dist-server/service/activity/decision-key-declaration.js.map +1 -0
- package/dist-server/service/activity/declaration-guard-subscriber.d.ts +24 -0
- package/dist-server/service/activity/declaration-guard-subscriber.js +46 -0
- package/dist-server/service/activity/declaration-guard-subscriber.js.map +1 -0
- package/dist-server/service/activity/event-subscriber.d.ts +7 -0
- package/dist-server/service/activity/event-subscriber.js +21 -0
- package/dist-server/service/activity/event-subscriber.js.map +1 -0
- package/dist-server/service/activity/freeze-decision-sentences-for.d.ts +11 -0
- package/dist-server/service/activity/freeze-decision-sentences-for.js +18 -0
- package/dist-server/service/activity/freeze-decision-sentences-for.js.map +1 -0
- package/dist-server/service/activity/index.d.ts +9 -0
- package/dist-server/service/activity/index.js +13 -0
- package/dist-server/service/activity/index.js.map +1 -0
- package/dist-server/service/activity/search-key-declaration.d.ts +38 -0
- package/dist-server/service/activity/search-key-declaration.js +49 -0
- package/dist-server/service/activity/search-key-declaration.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval-mutation.d.ts +8 -0
- package/dist-server/service/activity-approval/activity-approval-mutation.js +81 -0
- package/dist-server/service/activity-approval/activity-approval-mutation.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval-query.d.ts +42 -0
- package/dist-server/service/activity-approval/activity-approval-query.js +391 -0
- package/dist-server/service/activity-approval/activity-approval-query.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval-subscription.d.ts +6 -0
- package/dist-server/service/activity-approval/activity-approval-subscription.js +39 -0
- package/dist-server/service/activity-approval/activity-approval-subscription.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval-type.d.ts +10 -0
- package/dist-server/service/activity-approval/activity-approval-type.js +39 -0
- package/dist-server/service/activity-approval/activity-approval-type.js.map +1 -0
- package/dist-server/service/activity-approval/activity-approval.d.ts +67 -0
- package/dist-server/service/activity-approval/activity-approval.js +183 -0
- package/dist-server/service/activity-approval/activity-approval.js.map +1 -0
- package/dist-server/service/activity-approval/event-subscriber.d.ts +7 -0
- package/dist-server/service/activity-approval/event-subscriber.js +46 -0
- package/dist-server/service/activity-approval/event-subscriber.js.map +1 -0
- package/dist-server/service/activity-approval/index.d.ts +8 -0
- package/dist-server/service/activity-approval/index.js +12 -0
- package/dist-server/service/activity-approval/index.js.map +1 -0
- package/dist-server/service/activity-approval/my-pending-approvals.d.ts +33 -0
- package/dist-server/service/activity-approval/my-pending-approvals.js +52 -0
- package/dist-server/service/activity-approval/my-pending-approvals.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-history.d.ts +60 -0
- package/dist-server/service/activity-instance/activity-instance-history.js +294 -0
- package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-mutation.d.ts +16 -0
- package/dist-server/service/activity-instance/activity-instance-mutation.js +185 -0
- package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-query.d.ts +27 -0
- package/dist-server/service/activity-instance/activity-instance-query.js +386 -0
- package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-subscription.d.ts +6 -0
- package/dist-server/service/activity-instance/activity-instance-subscription.js +39 -0
- package/dist-server/service/activity-instance/activity-instance-subscription.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance-type.d.ts +107 -0
- package/dist-server/service/activity-instance/activity-instance-type.js +301 -0
- package/dist-server/service/activity-instance/activity-instance-type.js.map +1 -0
- package/dist-server/service/activity-instance/activity-instance.d.ts +81 -0
- package/dist-server/service/activity-instance/activity-instance.js +324 -0
- package/dist-server/service/activity-instance/activity-instance.js.map +1 -0
- package/dist-server/service/activity-instance/assignee-pool.d.ts +59 -0
- package/dist-server/service/activity-instance/assignee-pool.js +99 -0
- package/dist-server/service/activity-instance/assignee-pool.js.map +1 -0
- package/dist-server/service/activity-instance/draft-list-states.d.ts +39 -0
- package/dist-server/service/activity-instance/draft-list-states.js +51 -0
- package/dist-server/service/activity-instance/draft-list-states.js.map +1 -0
- package/dist-server/service/activity-instance/event-subscriber.d.ts +21 -0
- package/dist-server/service/activity-instance/event-subscriber.js +59 -0
- package/dist-server/service/activity-instance/event-subscriber.js.map +1 -0
- package/dist-server/service/activity-instance/index.d.ts +9 -0
- package/dist-server/service/activity-instance/index.js +13 -0
- package/dist-server/service/activity-instance/index.js.map +1 -0
- package/dist-server/service/activity-instance/request-box.d.ts +2 -0
- package/dist-server/service/activity-instance/request-box.js +18 -0
- package/dist-server/service/activity-instance/request-box.js.map +1 -0
- package/dist-server/service/activity-stats/activity-stats-query.d.ts +9 -0
- package/dist-server/service/activity-stats/activity-stats-query.js +230 -0
- package/dist-server/service/activity-stats/activity-stats-query.js.map +1 -0
- package/dist-server/service/activity-stats/activity-stats-type.d.ts +27 -0
- package/dist-server/service/activity-stats/activity-stats-type.js +74 -0
- package/dist-server/service/activity-stats/activity-stats-type.js.map +1 -0
- package/dist-server/service/activity-stats/event-placement.d.ts +55 -0
- package/dist-server/service/activity-stats/event-placement.js +82 -0
- package/dist-server/service/activity-stats/event-placement.js.map +1 -0
- package/dist-server/service/activity-stats/index.d.ts +2 -0
- package/dist-server/service/activity-stats/index.js +6 -0
- package/dist-server/service/activity-stats/index.js.map +1 -0
- package/dist-server/service/activity-summary/activity-summary-query.d.ts +8 -0
- package/dist-server/service/activity-summary/activity-summary-query.js +137 -0
- package/dist-server/service/activity-summary/activity-summary-query.js.map +1 -0
- package/dist-server/service/activity-summary/activity-summary.d.ts +6 -0
- package/dist-server/service/activity-summary/activity-summary.js +28 -0
- package/dist-server/service/activity-summary/activity-summary.js.map +1 -0
- package/dist-server/service/activity-summary/index.d.ts +5 -0
- package/dist-server/service/activity-summary/index.js +9 -0
- package/dist-server/service/activity-summary/index.js.map +1 -0
- package/dist-server/service/activity-summary/open-work.d.ts +4 -0
- package/dist-server/service/activity-summary/open-work.js +51 -0
- package/dist-server/service/activity-summary/open-work.js.map +1 -0
- package/dist-server/service/activity-summary/person-open-work.d.ts +17 -0
- package/dist-server/service/activity-summary/person-open-work.js +68 -0
- package/dist-server/service/activity-summary/person-open-work.js.map +1 -0
- package/dist-server/service/activity-template/activity-template-history.d.ts +32 -0
- package/dist-server/service/activity-template/activity-template-history.js +165 -0
- package/dist-server/service/activity-template/activity-template-history.js.map +1 -0
- package/dist-server/service/activity-template/activity-template-mutation.d.ts +10 -0
- package/dist-server/service/activity-template/activity-template-mutation.js +194 -0
- package/dist-server/service/activity-template/activity-template-mutation.js.map +1 -0
- package/dist-server/service/activity-template/activity-template-query.d.ts +14 -0
- package/dist-server/service/activity-template/activity-template-query.js +112 -0
- package/dist-server/service/activity-template/activity-template-query.js.map +1 -0
- package/dist-server/service/activity-template/activity-template-type.d.ts +44 -0
- package/dist-server/service/activity-template/activity-template-type.js +164 -0
- package/dist-server/service/activity-template/activity-template-type.js.map +1 -0
- package/dist-server/service/activity-template/activity-template.d.ts +36 -0
- package/dist-server/service/activity-template/activity-template.js +154 -0
- package/dist-server/service/activity-template/activity-template.js.map +1 -0
- package/dist-server/service/activity-template/event-subscriber.d.ts +7 -0
- package/dist-server/service/activity-template/event-subscriber.js +21 -0
- package/dist-server/service/activity-template/event-subscriber.js.map +1 -0
- package/dist-server/service/activity-template/index.d.ts +8 -0
- package/dist-server/service/activity-template/index.js +12 -0
- package/dist-server/service/activity-template/index.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-history-query.d.ts +10 -0
- package/dist-server/service/activity-thread/activity-thread-history-query.js +69 -0
- package/dist-server/service/activity-thread/activity-thread-history-query.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-history.d.ts +39 -0
- package/dist-server/service/activity-thread/activity-thread-history.js +211 -0
- package/dist-server/service/activity-thread/activity-thread-history.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-mutation.d.ts +20 -0
- package/dist-server/service/activity-thread/activity-thread-mutation.js +115 -0
- package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-query.d.ts +24 -0
- package/dist-server/service/activity-thread/activity-thread-query.js +276 -0
- package/dist-server/service/activity-thread/activity-thread-query.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-subscription.d.ts +6 -0
- package/dist-server/service/activity-thread/activity-thread-subscription.js +38 -0
- package/dist-server/service/activity-thread/activity-thread-subscription.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread-type.d.ts +15 -0
- package/dist-server/service/activity-thread/activity-thread-type.js +50 -0
- package/dist-server/service/activity-thread/activity-thread-type.js.map +1 -0
- package/dist-server/service/activity-thread/activity-thread.d.ts +47 -0
- package/dist-server/service/activity-thread/activity-thread.js +197 -0
- package/dist-server/service/activity-thread/activity-thread.js.map +1 -0
- package/dist-server/service/activity-thread/event-subscriber.d.ts +13 -0
- package/dist-server/service/activity-thread/event-subscriber.js +45 -0
- package/dist-server/service/activity-thread/event-subscriber.js.map +1 -0
- package/dist-server/service/activity-thread/index.d.ts +10 -0
- package/dist-server/service/activity-thread/index.js +14 -0
- package/dist-server/service/activity-thread/index.js.map +1 -0
- package/dist-server/service/activity-thread/my-open-threads.d.ts +33 -0
- package/dist-server/service/activity-thread/my-open-threads.js +85 -0
- package/dist-server/service/activity-thread/my-open-threads.js.map +1 -0
- package/dist-server/service/activity-thread/todo-order.d.ts +49 -0
- package/dist-server/service/activity-thread/todo-order.js +70 -0
- package/dist-server/service/activity-thread/todo-order.js.map +1 -0
- package/dist-server/service/approval-notice/approval-notice-rules.d.ts +67 -0
- package/dist-server/service/approval-notice/approval-notice-rules.js +67 -0
- package/dist-server/service/approval-notice/approval-notice-rules.js.map +1 -0
- package/dist-server/service/approval-notice/approval-notice.d.ts +11 -0
- package/dist-server/service/approval-notice/approval-notice.js +76 -0
- package/dist-server/service/approval-notice/approval-notice.js.map +1 -0
- package/dist-server/service/approval-progress/approval-progress-query.d.ts +14 -0
- package/dist-server/service/approval-progress/approval-progress-query.js +142 -0
- package/dist-server/service/approval-progress/approval-progress-query.js.map +1 -0
- package/dist-server/service/approval-progress/approval-progress-rule.d.ts +67 -0
- package/dist-server/service/approval-progress/approval-progress-rule.js +102 -0
- package/dist-server/service/approval-progress/approval-progress-rule.js.map +1 -0
- package/dist-server/service/approval-progress/approval-progress-type.d.ts +44 -0
- package/dist-server/service/approval-progress/approval-progress-type.js +172 -0
- package/dist-server/service/approval-progress/approval-progress-type.js.map +1 -0
- package/dist-server/service/approval-progress/index.d.ts +2 -0
- package/dist-server/service/approval-progress/index.js +6 -0
- package/dist-server/service/approval-progress/index.js.map +1 -0
- package/dist-server/service/approval-progress/waiting-on.d.ts +15 -0
- package/dist-server/service/approval-progress/waiting-on.js +40 -0
- package/dist-server/service/approval-progress/waiting-on.js.map +1 -0
- package/dist-server/service/index.d.ts +24 -0
- package/dist-server/service/index.js +80 -0
- package/dist-server/service/index.js.map +1 -0
- package/dist-server/service/installable-activity/activity-readiness.d.ts +58 -0
- package/dist-server/service/installable-activity/activity-readiness.js +105 -0
- package/dist-server/service/installable-activity/activity-readiness.js.map +1 -0
- package/dist-server/service/installable-activity/index.d.ts +6 -0
- package/dist-server/service/installable-activity/index.js +10 -0
- package/dist-server/service/installable-activity/index.js.map +1 -0
- package/dist-server/service/installable-activity/installable-activity-mutation.d.ts +11 -0
- package/dist-server/service/installable-activity/installable-activity-mutation.js +83 -0
- package/dist-server/service/installable-activity/installable-activity-mutation.js.map +1 -0
- package/dist-server/service/installable-activity/installable-activity-query.d.ts +22 -0
- package/dist-server/service/installable-activity/installable-activity-query.js +127 -0
- package/dist-server/service/installable-activity/installable-activity-query.js.map +1 -0
- package/dist-server/service/installable-activity/installable-activity-type.d.ts +5 -0
- package/dist-server/service/installable-activity/installable-activity-type.js +21 -0
- package/dist-server/service/installable-activity/installable-activity-type.js.map +1 -0
- package/dist-server/service/installable-activity/installable-activity.d.ts +92 -0
- package/dist-server/service/installable-activity/installable-activity.js +140 -0
- package/dist-server/service/installable-activity/installable-activity.js.map +1 -0
- package/dist-server/service/nulls-last.d.ts +30 -0
- package/dist-server/service/nulls-last.js +37 -0
- package/dist-server/service/nulls-last.js.map +1 -0
- package/dist-server/service/subscription/roles-of.d.ts +9 -0
- package/dist-server/service/subscription/roles-of.js +17 -0
- package/dist-server/service/subscription/roles-of.js.map +1 -0
- package/dist-server/service/subscription/subscription-filters.d.ts +47 -0
- package/dist-server/service/subscription/subscription-filters.js +57 -0
- package/dist-server/service/subscription/subscription-filters.js.map +1 -0
- package/dist-server/service/work-door/activity-lookup.d.ts +70 -0
- package/dist-server/service/work-door/activity-lookup.js +110 -0
- package/dist-server/service/work-door/activity-lookup.js.map +1 -0
- package/dist-server/service/work-door/approval-line-standing.d.ts +106 -0
- package/dist-server/service/work-door/approval-line-standing.js +65 -0
- package/dist-server/service/work-door/approval-line-standing.js.map +1 -0
- package/dist-server/service/work-door/index.d.ts +15 -0
- package/dist-server/service/work-door/index.js +20 -0
- package/dist-server/service/work-door/index.js.map +1 -0
- package/dist-server/service/work-door/pass-work-door.d.ts +74 -0
- package/dist-server/service/work-door/pass-work-door.js +45 -0
- package/dist-server/service/work-door/pass-work-door.js.map +1 -0
- package/dist-server/service/work-door/work-door-declaration.d.ts +135 -0
- package/dist-server/service/work-door/work-door-declaration.js +87 -0
- package/dist-server/service/work-door/work-door-declaration.js.map +1 -0
- package/dist-server/service/work-door/work-door-event.d.ts +20 -0
- package/dist-server/service/work-door/work-door-event.js +25 -0
- package/dist-server/service/work-door/work-door-event.js.map +1 -0
- package/dist-server/service/work-door/work-door-journal-service.d.ts +47 -0
- package/dist-server/service/work-door/work-door-journal-service.js +75 -0
- package/dist-server/service/work-door/work-door-journal-service.js.map +1 -0
- package/dist-server/service/work-door/work-door-journal.d.ts +30 -0
- package/dist-server/service/work-door/work-door-journal.js +94 -0
- package/dist-server/service/work-door/work-door-journal.js.map +1 -0
- package/dist-server/service/work-door/work-door-not-used.d.ts +39 -0
- package/dist-server/service/work-door/work-door-not-used.js +86 -0
- package/dist-server/service/work-door/work-door-not-used.js.map +1 -0
- package/dist-server/service/work-door/work-door-resolver.d.ts +32 -0
- package/dist-server/service/work-door/work-door-resolver.js +152 -0
- package/dist-server/service/work-door/work-door-resolver.js.map +1 -0
- package/dist-server/service/work-door/work-door-service.d.ts +36 -0
- package/dist-server/service/work-door/work-door-service.js +127 -0
- package/dist-server/service/work-door/work-door-service.js.map +1 -0
- package/dist-server/service/work-door/work-door-type.d.ts +88 -0
- package/dist-server/service/work-door/work-door-type.js +206 -0
- package/dist-server/service/work-door/work-door-type.js.map +1 -0
- package/dist-server/service/work-door/work-door.d.ts +187 -0
- package/dist-server/service/work-door/work-door.js +119 -0
- package/dist-server/service/work-door/work-door.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/package.json +10 -10
- package/shared/approval-step.d.ts +21 -0
- package/shared/approval-step.js +55 -0
- package/tests/approval-progress-db.test.ts +143 -0
- package/things-factory.config.js +1 -0
- package/translations/en.json +20 -1
- package/translations/es.json +20 -1
- package/translations/ja.json +20 -1
- package/translations/ko.json +20 -1
- package/translations/ms.json +20 -1
- package/translations/zh.json +20 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Who may read one case - one instance, one thread, or one approval on it - by its id.
|
|
3
|
+
*
|
|
4
|
+
* The lists of every thread and every approval ask the activity-instance query privilege. Reading
|
|
5
|
+
* one by id cannot ask only that: the thread screen and the approval screen open the case for the
|
|
6
|
+
* people working on it, and most of them hold no management privilege. So the body decides.
|
|
7
|
+
*
|
|
8
|
+
* The domain comes first. Then the people the case is about:
|
|
9
|
+
*
|
|
10
|
+
* the assignee of the thread (of any thread, when the case is the instance)
|
|
11
|
+
* whoever raised the instance, wrote it, or started it
|
|
12
|
+
* a holder of the instance's supervisory role
|
|
13
|
+
* a holder of any one of the roles the instance waits for - they have to see it to pick it up (instance only)
|
|
14
|
+
* every approver on the thread(s) - by person or by role, references included, and a delegator
|
|
15
|
+
* keeps the row that was delegated
|
|
16
|
+
*
|
|
17
|
+
* Anyone else is refused by name (NOT_A_PARTICIPANT). A null would draw as "no such case" on the
|
|
18
|
+
* approval screen, which is untrue and sends the reader looking for something that exists.
|
|
19
|
+
*
|
|
20
|
+
* Kept free of entities and repositories so the rule can be tested on its own.
|
|
21
|
+
*/
|
|
22
|
+
export declare const NOT_A_PARTICIPANT = "not-a-participant";
|
|
23
|
+
export type CaseFacts = {
|
|
24
|
+
domainId?: string;
|
|
25
|
+
assigneeIds: (string | undefined)[];
|
|
26
|
+
waitingRoleIds?: readonly string[];
|
|
27
|
+
issuerId?: string;
|
|
28
|
+
creatorId?: string;
|
|
29
|
+
starterId?: string;
|
|
30
|
+
supervisoryRoleId?: string;
|
|
31
|
+
approvals: {
|
|
32
|
+
approverId?: string;
|
|
33
|
+
approverRoleId?: string;
|
|
34
|
+
}[];
|
|
35
|
+
};
|
|
36
|
+
export type Reader = {
|
|
37
|
+
domainId?: string;
|
|
38
|
+
userId: string;
|
|
39
|
+
roleIds: readonly string[];
|
|
40
|
+
};
|
|
41
|
+
export declare function participates(facts: CaseFacts, reader: Reader): boolean;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Who may read one case - one instance, one thread, or one approval on it - by its id.
|
|
4
|
+
*
|
|
5
|
+
* The lists of every thread and every approval ask the activity-instance query privilege. Reading
|
|
6
|
+
* one by id cannot ask only that: the thread screen and the approval screen open the case for the
|
|
7
|
+
* people working on it, and most of them hold no management privilege. So the body decides.
|
|
8
|
+
*
|
|
9
|
+
* The domain comes first. Then the people the case is about:
|
|
10
|
+
*
|
|
11
|
+
* the assignee of the thread (of any thread, when the case is the instance)
|
|
12
|
+
* whoever raised the instance, wrote it, or started it
|
|
13
|
+
* a holder of the instance's supervisory role
|
|
14
|
+
* a holder of any one of the roles the instance waits for - they have to see it to pick it up (instance only)
|
|
15
|
+
* every approver on the thread(s) - by person or by role, references included, and a delegator
|
|
16
|
+
* keeps the row that was delegated
|
|
17
|
+
*
|
|
18
|
+
* Anyone else is refused by name (NOT_A_PARTICIPANT). A null would draw as "no such case" on the
|
|
19
|
+
* approval screen, which is untrue and sends the reader looking for something that exists.
|
|
20
|
+
*
|
|
21
|
+
* Kept free of entities and repositories so the rule can be tested on its own.
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.NOT_A_PARTICIPANT = void 0;
|
|
25
|
+
exports.participates = participates;
|
|
26
|
+
exports.NOT_A_PARTICIPANT = 'not-a-participant';
|
|
27
|
+
function participates(facts, reader) {
|
|
28
|
+
if (!facts?.domainId || !reader?.domainId || facts.domainId !== reader.domainId)
|
|
29
|
+
return false;
|
|
30
|
+
const { userId } = reader;
|
|
31
|
+
/* An empty id on either side is nobody - an unassigned thread must not match a reader without one. */
|
|
32
|
+
if (!userId)
|
|
33
|
+
return false;
|
|
34
|
+
const roles = new Set(reader.roleIds);
|
|
35
|
+
const holds = (roleId) => !!roleId && roles.has(roleId);
|
|
36
|
+
if ([...(facts.assigneeIds || []), facts.issuerId, facts.creatorId, facts.starterId].includes(userId))
|
|
37
|
+
return true;
|
|
38
|
+
if (holds(facts.supervisoryRoleId) || (facts.waitingRoleIds || []).some(holds))
|
|
39
|
+
return true;
|
|
40
|
+
return (facts.approvals || []).some(one => one.approverId === userId || holds(one.approverRoleId));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=participates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"participates.js","sourceRoot":"","sources":["../../../server/controllers/activity-read/participates.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAiBH,oCAcC;AA7BY,QAAA,iBAAiB,GAAG,mBAAmB,CAAA;AAepD,SAAgB,YAAY,CAAC,KAAgB,EAAE,MAAc;IAC3D,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE7F,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACzB,sGAAsG;IACtG,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAEzB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAEhE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAClH,IAAI,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAE3F,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAA;AACpG,CAAC","sourcesContent":["/**\n * Who may read one case - one instance, one thread, or one approval on it - by its id.\n *\n * The lists of every thread and every approval ask the activity-instance query privilege. Reading\n * one by id cannot ask only that: the thread screen and the approval screen open the case for the\n * people working on it, and most of them hold no management privilege. So the body decides.\n *\n * The domain comes first. Then the people the case is about:\n *\n * the assignee of the thread (of any thread, when the case is the instance)\n * whoever raised the instance, wrote it, or started it\n * a holder of the instance's supervisory role\n * a holder of any one of the roles the instance waits for - they have to see it to pick it up (instance only)\n * every approver on the thread(s) - by person or by role, references included, and a delegator\n * keeps the row that was delegated\n *\n * Anyone else is refused by name (NOT_A_PARTICIPANT). A null would draw as \"no such case\" on the\n * approval screen, which is untrue and sends the reader looking for something that exists.\n *\n * Kept free of entities and repositories so the rule can be tested on its own.\n */\n\nexport const NOT_A_PARTICIPANT = 'not-a-participant'\n\nexport type CaseFacts = {\n domainId?: string\n assigneeIds: (string | undefined)[]\n waitingRoleIds?: readonly string[]\n issuerId?: string\n creatorId?: string\n starterId?: string\n supervisoryRoleId?: string\n approvals: { approverId?: string; approverRoleId?: string }[]\n}\n\nexport type Reader = { domainId?: string; userId: string; roleIds: readonly string[] }\n\nexport function participates(facts: CaseFacts, reader: Reader): boolean {\n if (!facts?.domainId || !reader?.domainId || facts.domainId !== reader.domainId) return false\n\n const { userId } = reader\n /* An empty id on either side is nobody - an unassigned thread must not match a reader without one. */\n if (!userId) return false\n\n const roles = new Set(reader.roleIds)\n const holds = (roleId?: string) => !!roleId && roles.has(roleId)\n\n if ([...(facts.assigneeIds || []), facts.issuerId, facts.creatorId, facts.starterId].includes(userId)) return true\n if (holds(facts.supervisoryRoleId) || (facts.waitingRoleIds || []).some(holds)) return true\n\n return (facts.approvals || []).some(one => one.approverId === userId || holds(one.approverRoleId))\n}\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._abort = _abort;
|
|
4
|
+
const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
|
|
5
|
+
const activity_approval_js_1 = require("../../service/activity-approval/activity-approval.js");
|
|
6
|
+
const _abort_js_1 = require("../activity-approval/_abort.js");
|
|
7
|
+
async function _abort({ activityThread, reason }, context) {
|
|
8
|
+
const { domain, user, tx } = context.state;
|
|
9
|
+
var repository = tx.getRepository(activity_thread_js_1.ActivityThread);
|
|
10
|
+
let activityApprovals = await tx.getRepository(activity_approval_js_1.ActivityApproval).find({
|
|
11
|
+
where: {
|
|
12
|
+
activityThread: { id: activityThread.id },
|
|
13
|
+
judgment: activity_approval_js_1.ActivityApprovalJudgment.Pending
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
/*
|
|
17
|
+
Actions to be processed when a activity thread is aborted
|
|
18
|
+
- All related activity approvals must be aborted.
|
|
19
|
+
*/
|
|
20
|
+
for (let activityApproval of activityApprovals) {
|
|
21
|
+
await (0, _abort_js_1._abort)({
|
|
22
|
+
activityApproval,
|
|
23
|
+
comment: reason
|
|
24
|
+
}, context);
|
|
25
|
+
}
|
|
26
|
+
return await repository.save({
|
|
27
|
+
...activityThread,
|
|
28
|
+
reason,
|
|
29
|
+
state: activity_thread_js_1.ActivityThreadStatus.Aborted,
|
|
30
|
+
transaction: 'abort',
|
|
31
|
+
updater: user,
|
|
32
|
+
terminatedAt: new Date(),
|
|
33
|
+
terminator: user
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=_abort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/_abort.ts"],"names":[],"mappings":";;AAIA,wBAsCC;AA1CD,yFAAuG;AACvG,+FAAiH;AACjH,8DAAgF;AAEzE,KAAK,UAAU,MAAM,CAC1B,EAAE,cAAc,EAAE,MAAM,EAAsD,EAC9E,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAA;IAEjD,IAAI,iBAAiB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uCAAgB,CAAC,CAAC,IAAI,CAAC;QACpE,KAAK,EAAE;YACL,cAAc,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE;YACzC,QAAQ,EAAE,+CAAwB,CAAC,OAAO;SAC3C;KACF,CAAC,CAAA;IAEF;;;MAGE;IACF,KAAK,IAAI,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;QAC/C,MAAM,IAAA,kBAAqB,EACzB;YACE,gBAAgB;YAChB,OAAO,EAAE,MAAM;SAChB,EACD,OAAO,CACR,CAAA;IACH,CAAC;IAED,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC;QAC3B,GAAG,cAAc;QACjB,MAAM;QACN,KAAK,EAAE,yCAAoB,CAAC,OAAO;QACnC,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI,IAAI,EAAE;QACxB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAA;AACJ,CAAC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { ActivityApproval, ActivityApprovalJudgment } from '../../service/activity-approval/activity-approval.js'\nimport { _abort as abortActivityApproval } from '../activity-approval/_abort.js'\n\nexport async function _abort(\n { activityThread, reason }: { activityThread: ActivityThread; reason: string },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityThread)\n\n let activityApprovals = await tx.getRepository(ActivityApproval).find({\n where: {\n activityThread: { id: activityThread.id },\n judgment: ActivityApprovalJudgment.Pending\n }\n })\n\n /* \n Actions to be processed when a activity thread is aborted\n - All related activity approvals must be aborted.\n */\n for (let activityApproval of activityApprovals) {\n await abortActivityApproval(\n {\n activityApproval,\n comment: reason\n },\n context\n )\n }\n\n return await repository.save({\n ...activityThread,\n reason,\n state: ActivityThreadStatus.Aborted,\n transaction: 'abort',\n updater: user,\n terminatedAt: new Date(),\n terminator: user\n })\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.abort = abort;
|
|
4
|
+
const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
|
|
5
|
+
const common_js_1 = require("../common.js");
|
|
6
|
+
const _abort_js_1 = require("./_abort.js");
|
|
7
|
+
const check_authority_js_1 = require("./check-authority.js");
|
|
8
|
+
async function abort({ id, reason }, context) {
|
|
9
|
+
const { domain, user, tx } = context.state;
|
|
10
|
+
var repository = tx.getRepository(activity_thread_js_1.ActivityThread);
|
|
11
|
+
var activityThread = await repository.findOne({
|
|
12
|
+
where: { domain: { id: domain.id }, id },
|
|
13
|
+
relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
|
|
14
|
+
});
|
|
15
|
+
if (!activityThread) {
|
|
16
|
+
throw new Error(context.t('error.activity-thread not found', {
|
|
17
|
+
activityThread: id
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
// Stopping is for the holder, never a way to claim and destroy an unassigned pool item.
|
|
21
|
+
if (!activityThread.assigneeId || activityThread.assigneeId !== user.id) {
|
|
22
|
+
throw new Error(context.t('error.not authorized to handle this task'));
|
|
23
|
+
}
|
|
24
|
+
await (0, check_authority_js_1.checkAuthority)(activityThread, context);
|
|
25
|
+
if (['ended', 'aborted'].includes(activityThread.activityInstance?.state)) {
|
|
26
|
+
throw new Error(context.t('error.activity-instance is already terminated', { id: activityThread.activityInstanceId }));
|
|
27
|
+
}
|
|
28
|
+
/*
|
|
29
|
+
Prerequisites for a activity thread to Be Aborted.
|
|
30
|
+
- The previous state of the activity thread must not be End or Aborted.
|
|
31
|
+
*/
|
|
32
|
+
if (activityThread.state == activity_thread_js_1.ActivityThreadStatus.Aborted || activityThread.state == activity_thread_js_1.ActivityThreadStatus.Ended) {
|
|
33
|
+
throw new Error(context.t(`error.activity-thread is already terminated`, {
|
|
34
|
+
id,
|
|
35
|
+
state: activityThread.state
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
if (!activityThread.startedAt) {
|
|
39
|
+
activityThread.startedAt = new Date();
|
|
40
|
+
}
|
|
41
|
+
const result = await (0, _abort_js_1._abort)({ activityThread, reason }, context);
|
|
42
|
+
await (0, common_js_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=abort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/abort.ts"],"names":[],"mappings":";;AAKA,sBAoDC;AAzDD,yFAAuG;AACvG,4CAA0D;AAC1D,2CAAoC;AACpC,6DAAqD;AAE9C,KAAK,UAAU,KAAK,CACzB,EAAE,EAAE,EAAE,MAAM,EAAkC,EAC9C,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,IAAI,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAA;IAEjD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;KAC5E,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;IACH,CAAC;IAED,wFAAwF;IACxF,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,IAAA,mCAAc,EAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAC7C,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+CAA+C,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;IACxH,CAAC;IAED;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,yCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,yCAAoB,CAAC,KAAK,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,KAAK,EAAE,cAAc,CAAC,KAAK;SAC5B,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QAC9B,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IACvC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAM,EAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAA;IAEhE,MAAM,IAAA,uCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { updateActivityInstanceState } from '../common.js'\nimport { _abort } from './_abort.js'\nimport { checkAuthority } from './check-authority.js'\n\nexport async function abort(\n { id, reason }: { id: string; reason: string },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n var repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n // Stopping is for the holder, never a way to claim and destroy an unassigned pool item.\n if (!activityThread.assigneeId || activityThread.assigneeId !== user.id) {\n throw new Error(context.t('error.not authorized to handle this task'))\n }\n await checkAuthority(activityThread, context)\n if (['ended', 'aborted'].includes(activityThread.activityInstance?.state)) {\n throw new Error(context.t('error.activity-instance is already terminated', { id: activityThread.activityInstanceId }))\n }\n\n /* \n Prerequisites for a activity thread to Be Aborted.\n - The previous state of the activity thread must not be End or Aborted.\n */\n if (activityThread.state == ActivityThreadStatus.Aborted || activityThread.state == ActivityThreadStatus.Ended) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n state: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n activityThread.startedAt = new Date()\n }\n\n const result = await _abort({ activityThread, reason }, context)\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkAuthority = checkAuthority;
|
|
4
|
+
const shell_1 = require("@things-factory/shell");
|
|
5
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
6
|
+
const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
|
|
7
|
+
const activity_instance_js_1 = require("../../service/activity-instance/activity-instance.js");
|
|
8
|
+
const assignee_pool_js_1 = require("../../service/activity-instance/assignee-pool.js");
|
|
9
|
+
const common_js_1 = require("../common.js");
|
|
10
|
+
async function checkAuthority(activityThread, context) {
|
|
11
|
+
const { user, tx } = context.state;
|
|
12
|
+
if (activityThread.assigneeId && activityThread.assigneeId === user.id) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (activityThread.state == activity_thread_js_1.ActivityThreadStatus.Unassigned) {
|
|
16
|
+
/*
|
|
17
|
+
* Claiming the pool's waiting thread. The case is held first - the order pick and a pool assign take
|
|
18
|
+
* (activity-instance/pick.ts, assign.ts) - and the thread is read again under it. The thread handed in
|
|
19
|
+
* was read before anything was held: someone else may have claimed it since, or a manager moved the
|
|
20
|
+
* case to another role's pool, and what this claims must be what is there now.
|
|
21
|
+
*
|
|
22
|
+
* The claimer gets this very thread; a case still short of people leaves the rest of the pool a new
|
|
23
|
+
* waiting one (common.ts leaveTheRestOfThePoolOneWaiting) - the same as pick.
|
|
24
|
+
*/
|
|
25
|
+
const activityInstance = await (0, shell_1.getRepository)(activity_instance_js_1.ActivityInstance, tx).findOne({
|
|
26
|
+
where: { id: activityThread.activityInstanceId },
|
|
27
|
+
...((0, shell_1.writeLockSupported)(tx) ? { lock: { mode: 'pessimistic_write' } } : {})
|
|
28
|
+
});
|
|
29
|
+
/*
|
|
30
|
+
* All the case's threads, not only this one: whether the rest of the pool is left a waiting thread depends
|
|
31
|
+
* on how many are held. A locking read is a current read - a plain one may answer from the snapshot taken
|
|
32
|
+
* before the wait.
|
|
33
|
+
*/
|
|
34
|
+
const threads = await (0, shell_1.getRepository)(activity_thread_js_1.ActivityThread, tx).find({
|
|
35
|
+
where: { activityInstance: { id: activityThread.activityInstanceId } },
|
|
36
|
+
...((0, shell_1.writeLockSupported)(tx) ? { lock: { mode: 'pessimistic_write' } } : {})
|
|
37
|
+
});
|
|
38
|
+
const now = threads.find(thread => thread.id === activityThread.id);
|
|
39
|
+
if (now?.state !== activity_thread_js_1.ActivityThreadStatus.Unassigned) {
|
|
40
|
+
throw new Error(context.t('error.activity-approval taken by someone else', { activityApproval: activityThread.id }));
|
|
41
|
+
}
|
|
42
|
+
/* One person, one thread of a case - as pick refuses it (activity-instance/pick.ts). */
|
|
43
|
+
if (threads.some(thread => thread.assigneeId === user.id)) {
|
|
44
|
+
throw new Error(context.t('error.activity-instance already yours', { id: activityInstance.id }));
|
|
45
|
+
}
|
|
46
|
+
const poolIds = (0, assignee_pool_js_1.poolIdsOf)(activityInstance);
|
|
47
|
+
if (poolIds.length) {
|
|
48
|
+
const roles = (await (0, shell_1.getRepository)(auth_base_1.User, tx).findOne({
|
|
49
|
+
where: { id: user.id },
|
|
50
|
+
relations: ['roles']
|
|
51
|
+
}))?.roles;
|
|
52
|
+
/* Any one of the pool's roles is enough (ADR-0091 decision 9). */
|
|
53
|
+
if ((0, assignee_pool_js_1.holdsAnyOf)((roles || []).map(role => role.id), poolIds)) {
|
|
54
|
+
activityThread.assignee = user;
|
|
55
|
+
activityThread.state = activity_thread_js_1.ActivityThreadStatus.Assigned;
|
|
56
|
+
/* The caller writes this thread; the count below reads it as held already. */
|
|
57
|
+
Object.assign(now, { assignee: user, state: activity_thread_js_1.ActivityThreadStatus.Assigned });
|
|
58
|
+
await (0, common_js_1.leaveTheRestOfThePoolOneWaiting)('claim', activityInstance, threads, context);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
throw new Error(context.t(`error.not authorized to handle this task`));
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=check-authority.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-authority.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/check-authority.ts"],"names":[],"mappings":"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","sourcesContent":["import { getRepository, writeLockSupported } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { ActivityInstance } from '../../service/activity-instance/activity-instance.js'\nimport { holdsAnyOf, poolIdsOf } from '../../service/activity-instance/assignee-pool.js'\nimport { leaveTheRestOfThePoolOneWaiting } from '../common.js'\n\nexport async function checkAuthority(activityThread: ActivityThread, context: ResolverContext) {\n const { user, tx } = context.state\n\n if (activityThread.assigneeId && activityThread.assigneeId === user.id) {\n return\n }\n\n if (activityThread.state == ActivityThreadStatus.Unassigned) {\n /*\n * Claiming the pool's waiting thread. The case is held first - the order pick and a pool assign take\n * (activity-instance/pick.ts, assign.ts) - and the thread is read again under it. The thread handed in\n * was read before anything was held: someone else may have claimed it since, or a manager moved the\n * case to another role's pool, and what this claims must be what is there now.\n *\n * The claimer gets this very thread; a case still short of people leaves the rest of the pool a new\n * waiting one (common.ts leaveTheRestOfThePoolOneWaiting) - the same as pick.\n */\n const activityInstance = await getRepository(ActivityInstance, tx).findOne({\n where: { id: activityThread.activityInstanceId },\n ...(writeLockSupported(tx) ? { lock: { mode: 'pessimistic_write' as const } } : {})\n })\n\n /*\n * All the case's threads, not only this one: whether the rest of the pool is left a waiting thread depends\n * on how many are held. A locking read is a current read - a plain one may answer from the snapshot taken\n * before the wait.\n */\n const threads = await getRepository(ActivityThread, tx).find({\n where: { activityInstance: { id: activityThread.activityInstanceId } },\n ...(writeLockSupported(tx) ? { lock: { mode: 'pessimistic_write' as const } } : {})\n })\n const now = threads.find(thread => thread.id === activityThread.id)\n\n if (now?.state !== ActivityThreadStatus.Unassigned) {\n throw new Error(context.t('error.activity-approval taken by someone else', { activityApproval: activityThread.id }))\n }\n\n /* One person, one thread of a case - as pick refuses it (activity-instance/pick.ts). */\n if (threads.some(thread => thread.assigneeId === user.id)) {\n throw new Error(context.t('error.activity-instance already yours', { id: activityInstance.id }))\n }\n\n const poolIds = poolIdsOf(activityInstance)\n\n if (poolIds.length) {\n const roles = (\n await getRepository(User, tx).findOne({\n where: { id: user.id },\n relations: ['roles']\n })\n )?.roles\n\n /* Any one of the pool's roles is enough (ADR-0091 decision 9). */\n if (holdsAnyOf((roles || []).map(role => role.id), poolIds)) {\n activityThread.assignee = user\n activityThread.state = ActivityThreadStatus.Assigned\n\n /* The caller writes this thread; the count below reads it as held already. */\n Object.assign(now, { assignee: user, state: ActivityThreadStatus.Assigned })\n await leaveTheRestOfThePoolOneWaiting('claim', activityInstance, threads, context)\n\n return\n }\n }\n }\n\n throw new Error(context.t(`error.not authorized to handle this task`))\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ActivityThread } from '../../service/activity-thread/activity-thread.js';
|
|
2
|
+
export declare function delegate({ id, assignee, dueAt, reason }: {
|
|
3
|
+
id: string;
|
|
4
|
+
assignee?: object;
|
|
5
|
+
dueAt?: Date;
|
|
6
|
+
reason?: string;
|
|
7
|
+
}, context: ResolverContext): Promise<ActivityThread>;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.delegate = delegate;
|
|
4
|
+
const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
|
|
5
|
+
const common_js_1 = require("../common.js");
|
|
6
|
+
const check_authority_js_1 = require("./check-authority.js");
|
|
7
|
+
const auth_base_1 = require("@things-factory/auth-base");
|
|
8
|
+
const delegation_js_1 = require("../activity-approval/delegation.js");
|
|
9
|
+
async function delegate({ id, assignee, dueAt, reason }, context) {
|
|
10
|
+
const { domain, user, tx } = context.state;
|
|
11
|
+
const repository = tx.getRepository(activity_thread_js_1.ActivityThread);
|
|
12
|
+
var activityThread = await repository.findOne({
|
|
13
|
+
where: { domain: { id: domain.id }, id }
|
|
14
|
+
});
|
|
15
|
+
if (!activityThread) {
|
|
16
|
+
throw new Error(context.t('error.activity-thread not found', {
|
|
17
|
+
activityThread: id
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
await (0, check_authority_js_1.checkAuthority)(activityThread, context);
|
|
21
|
+
/*
|
|
22
|
+
Prerequisites for a activity thread to Be Delegated.
|
|
23
|
+
- The previous state of the activity thread should be assigned or started.
|
|
24
|
+
*/
|
|
25
|
+
if (activityThread.state !== activity_thread_js_1.ActivityThreadStatus.Assigned && activityThread.state !== activity_thread_js_1.ActivityThreadStatus.Started) {
|
|
26
|
+
throw new Error(context.t(`error.activity-thread is already terminated`, {
|
|
27
|
+
id,
|
|
28
|
+
actual: activityThread.state
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
/*
|
|
32
|
+
* The receiver is looked up, not taken as sent. The client's object was saved as it came - any id,
|
|
33
|
+
* of any tenant, active or not - so a thread could be handed to someone outside this domain, whose
|
|
34
|
+
* to-do list reads their own domain and would never show it.
|
|
35
|
+
*/
|
|
36
|
+
const receiverId = assignee?.id;
|
|
37
|
+
const receiver = receiverId
|
|
38
|
+
? await tx.getRepository(auth_base_1.User).findOne({ where: { id: receiverId, status: auth_base_1.UserStatus.ACTIVATED }, relations: ['domains'] })
|
|
39
|
+
: null;
|
|
40
|
+
if (!receiver) {
|
|
41
|
+
throw new Error(context.t(`error.user not found`));
|
|
42
|
+
}
|
|
43
|
+
const refusal = (0, delegation_js_1.handOverRefusal)({
|
|
44
|
+
fromUserId: user.id,
|
|
45
|
+
toUserId: receiver.id,
|
|
46
|
+
toInDomain: (receiver.domains || []).some(one => one.id === domain.id)
|
|
47
|
+
});
|
|
48
|
+
if (refusal) {
|
|
49
|
+
throw Object.assign(new Error(context.t(delegation_js_1.DELEGATION_REFUSAL_KEYS[refusal])), { code: refusal });
|
|
50
|
+
}
|
|
51
|
+
if (dueAt) {
|
|
52
|
+
activityThread.dueAt = dueAt;
|
|
53
|
+
}
|
|
54
|
+
const result = await repository.save({
|
|
55
|
+
...activityThread,
|
|
56
|
+
assignee: receiver,
|
|
57
|
+
transaction: 'delegate',
|
|
58
|
+
reason,
|
|
59
|
+
state: activity_thread_js_1.ActivityThreadStatus.Assigned,
|
|
60
|
+
updater: user,
|
|
61
|
+
assignedAt: new Date()
|
|
62
|
+
});
|
|
63
|
+
await (0, common_js_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=delegate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/delegate.ts"],"names":[],"mappings":"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","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { updateActivityInstanceState } from '../common.js'\nimport { checkAuthority } from './check-authority.js'\nimport { User, UserStatus } from '@things-factory/auth-base'\nimport { DELEGATION_REFUSAL_KEYS, handOverRefusal } from '../activity-approval/delegation.js'\n\nexport async function delegate(\n {\n id,\n assignee,\n dueAt,\n reason\n }: {\n id: string\n assignee?: object\n dueAt?: Date\n reason?: string\n },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n await checkAuthority(activityThread, context)\n\n /* \n Prerequisites for a activity thread to Be Delegated.\n - The previous state of the activity thread should be assigned or started.\n */\n if (activityThread.state !== ActivityThreadStatus.Assigned && activityThread.state !== ActivityThreadStatus.Started) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n /*\n * The receiver is looked up, not taken as sent. The client's object was saved as it came - any id,\n * of any tenant, active or not - so a thread could be handed to someone outside this domain, whose\n * to-do list reads their own domain and would never show it.\n */\n const receiverId = (assignee as any)?.id\n const receiver = receiverId\n ? await tx.getRepository(User).findOne({ where: { id: receiverId, status: UserStatus.ACTIVATED }, relations: ['domains'] })\n : null\n\n if (!receiver) {\n throw new Error(context.t(`error.user not found`))\n }\n\n const refusal = handOverRefusal({\n fromUserId: user.id,\n toUserId: receiver.id,\n toInDomain: (receiver.domains || []).some(one => one.id === domain.id)\n })\n\n if (refusal) {\n throw Object.assign(new Error(context.t(DELEGATION_REFUSAL_KEYS[refusal])), { code: refusal })\n }\n\n if (dueAt) {\n activityThread.dueAt = dueAt\n }\n\n const result = await repository.save({\n ...activityThread,\n assignee: receiver,\n transaction: 'delegate',\n reason,\n state: ActivityThreadStatus.Assigned,\n updater: user,\n assignedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.end = end;
|
|
4
|
+
const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
|
|
5
|
+
const common_js_1 = require("../common.js");
|
|
6
|
+
const check_authority_js_1 = require("./check-authority.js");
|
|
7
|
+
async function end({ id, output, reason }, context) {
|
|
8
|
+
const { domain, user, tx } = context.state;
|
|
9
|
+
const repository = tx.getRepository(activity_thread_js_1.ActivityThread);
|
|
10
|
+
var activityThread = await repository.findOne({
|
|
11
|
+
where: { domain: { id: domain.id }, id }
|
|
12
|
+
});
|
|
13
|
+
if (!activityThread) {
|
|
14
|
+
throw new Error(context.t('error.activity-thread not found', {
|
|
15
|
+
activityThread: id
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
await (0, check_authority_js_1.checkAuthority)(activityThread, context);
|
|
19
|
+
/*
|
|
20
|
+
Prerequisites for a activity thread to Be End.
|
|
21
|
+
- The previous state of the activity thread must not be End or End.
|
|
22
|
+
*/
|
|
23
|
+
if (activityThread.state == activity_thread_js_1.ActivityThreadStatus.Aborted || activityThread.state == activity_thread_js_1.ActivityThreadStatus.Ended) {
|
|
24
|
+
throw new Error(context.t(`error.activity-thread is already terminated`, {
|
|
25
|
+
id,
|
|
26
|
+
actual: activityThread.state
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
if (!activityThread.startedAt) {
|
|
30
|
+
activityThread.startedAt = new Date();
|
|
31
|
+
}
|
|
32
|
+
activityThread = await repository.save({
|
|
33
|
+
...activityThread,
|
|
34
|
+
reason,
|
|
35
|
+
output,
|
|
36
|
+
transaction: 'end',
|
|
37
|
+
state: activity_thread_js_1.ActivityThreadStatus.Ended,
|
|
38
|
+
updater: user,
|
|
39
|
+
terminatedAt: new Date()
|
|
40
|
+
});
|
|
41
|
+
await (0, common_js_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
|
|
42
|
+
return activityThread;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=end.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"end.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/end.ts"],"names":[],"mappings":";;AAIA,kBAoDC;AAxDD,yFAAuG;AACvG,4CAA0D;AAC1D,6DAAqD;AAE9C,KAAK,UAAU,GAAG,CACvB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAoD,EACxE,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;IACH,CAAC;IAED,MAAM,IAAA,mCAAc,EAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAE7C;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,yCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,yCAAoB,CAAC,KAAK,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QAC9B,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IACvC,CAAC;IAED,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;QACrC,GAAG,cAAc;QACjB,MAAM;QACN,MAAM;QACN,WAAW,EAAE,KAAK;QAClB,KAAK,EAAE,yCAAoB,CAAC,KAAK;QACjC,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI,IAAI,EAAE;KACzB,CAAC,CAAA;IAEF,MAAM,IAAA,uCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,cAAc,CAAA;AACvB,CAAC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { updateActivityInstanceState } from '../common.js'\nimport { checkAuthority } from './check-authority.js'\n\nexport async function end(\n { id, output, reason }: { id: string; output?: object; reason?: string },\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n await checkAuthority(activityThread, context)\n\n /* \n Prerequisites for a activity thread to Be End.\n - The previous state of the activity thread must not be End or End.\n */\n if (activityThread.state == ActivityThreadStatus.Aborted || activityThread.state == ActivityThreadStatus.Ended) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n if (!activityThread.startedAt) {\n activityThread.startedAt = new Date()\n }\n\n activityThread = await repository.save({\n ...activityThread,\n reason,\n output,\n transaction: 'end',\n state: ActivityThreadStatus.Ended,\n updater: user,\n terminatedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return activityThread\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./delegate.js"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./abort.js"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./end.js"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./submit.js"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./save.js"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./start.js"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./restart.js"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/index.ts"],"names":[],"mappings":";;;AAAA,wDAA6B;AAC7B,qDAA0B;AAC1B,mDAAwB;AACxB,sDAA2B;AAC3B,oDAAyB;AACzB,qDAA0B;AAC1B,uDAA4B","sourcesContent":["export * from './delegate.js'\nexport * from './abort.js'\nexport * from './end.js'\nexport * from './submit.js'\nexport * from './save.js'\nexport * from './start.js'\nexport * from './restart.js'\n"]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.restart = restart;
|
|
4
|
+
const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
|
|
5
|
+
const common_js_1 = require("../common.js");
|
|
6
|
+
const check_authority_js_1 = require("./check-authority.js");
|
|
7
|
+
async function restart(id, output, reason, context) {
|
|
8
|
+
const { domain, user, tx } = context.state;
|
|
9
|
+
const repository = tx.getRepository(activity_thread_js_1.ActivityThread);
|
|
10
|
+
const activityThread = await repository.findOne({
|
|
11
|
+
where: { domain: { id: domain.id }, id },
|
|
12
|
+
relations: ['activityInstance', 'activityInstance.activity']
|
|
13
|
+
});
|
|
14
|
+
if (!activityThread) {
|
|
15
|
+
throw new Error(context.t('error.activity-thread not found', {
|
|
16
|
+
activityThread: id
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
19
|
+
await (0, check_authority_js_1.checkAuthority)(activityThread, context);
|
|
20
|
+
/*
|
|
21
|
+
Prerequisites for a activity thread to Be Delegated.
|
|
22
|
+
- The previous state of the activity thread should be Rejected.
|
|
23
|
+
*/
|
|
24
|
+
if (activityThread.state !== activity_thread_js_1.ActivityThreadStatus.Rejected) {
|
|
25
|
+
throw new Error(context.t(`error.activity-thread should be the state`, {
|
|
26
|
+
id,
|
|
27
|
+
state: activity_thread_js_1.ActivityThreadStatus.Rejected,
|
|
28
|
+
actual: activityThread.state
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
/*
|
|
32
|
+
* **되돌릴 수 없는 판정은 되살리지 않는다.**
|
|
33
|
+
*
|
|
34
|
+
* 반려되는 순간 대상이 닫히는 업무가 있다 — 부적합 처분, 트윈 조치. 그런 건을 되살리면 다음 차수의
|
|
35
|
+
* 결재가 새로 서는데, 대상은 이미 닫혀 있어 **승인해도 아무 일이 일어나지 않는다.** 사람은 승인할
|
|
36
|
+
* 것이 있다고 보고, 오류도 안 난다.
|
|
37
|
+
*
|
|
38
|
+
* 다시 하려면 새로 낸다.
|
|
39
|
+
*/
|
|
40
|
+
if (activityThread.activityInstance?.rejectionIsFinal ||
|
|
41
|
+
activityThread.activityInstance?.activity?.rejectionIsFinal ||
|
|
42
|
+
['ended', 'aborted'].includes(activityThread.activityInstance?.state)) {
|
|
43
|
+
throw new Error(context.t('error.activity-thread rejection is final', {
|
|
44
|
+
id,
|
|
45
|
+
activityInstance: activityThread.activityInstanceId
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
if (output) {
|
|
49
|
+
activityThread.output = output;
|
|
50
|
+
}
|
|
51
|
+
const result = await tx.getRepository(activity_thread_js_1.ActivityThread).save({
|
|
52
|
+
...activityThread,
|
|
53
|
+
reason,
|
|
54
|
+
state: activity_thread_js_1.ActivityThreadStatus.Started,
|
|
55
|
+
transaction: 'restart',
|
|
56
|
+
round: activityThread.round + 1,
|
|
57
|
+
updater: user,
|
|
58
|
+
startedAt: new Date()
|
|
59
|
+
});
|
|
60
|
+
await (0, common_js_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [result] }, context);
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=restart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/restart.ts"],"names":[],"mappings":";;AAIA,0BA6EC;AAjFD,yFAAuG;AACvG,4CAA0D;AAC1D,6DAAqD;AAE9C,KAAK,UAAU,OAAO,CAC3B,EAAU,EACV,MAAc,EACd,MAAc,EACd,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAA;IACnD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACxC,SAAS,EAAE,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;KAC7D,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;IACH,CAAC;IAED,MAAM,IAAA,mCAAc,EAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAE7C;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,KAAK,yCAAoB,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,2CAA2C,EAAE;YACrD,EAAE;YACF,KAAK,EAAE,yCAAoB,CAAC,QAAQ;YACpC,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,IACE,cAAc,CAAC,gBAAgB,EAAE,gBAAgB;QACjD,cAAc,CAAC,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB;QAC3D,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,KAAK,CAAC,EACrE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,0CAA0C,EAAE;YACpD,EAAE;YACF,gBAAgB,EAAE,cAAc,CAAC,kBAAkB;SACpD,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAC,IAAI,CAAC;QACzD,GAAG,cAAc;QACjB,MAAM;QACN,KAAK,EAAE,yCAAoB,CAAC,OAAO;QACnC,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,cAAc,CAAC,KAAK,GAAG,CAAC;QAC/B,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC,CAAA;IAEF,MAAM,IAAA,uCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAErG,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { updateActivityInstanceState } from '../common.js'\nimport { checkAuthority } from './check-authority.js'\n\nexport async function restart(\n id: string,\n output: object,\n reason: string,\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(ActivityThread)\n const activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['activityInstance', 'activityInstance.activity']\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n await checkAuthority(activityThread, context)\n\n /* \n Prerequisites for a activity thread to Be Delegated.\n - The previous state of the activity thread should be Rejected.\n */\n if (activityThread.state !== ActivityThreadStatus.Rejected) {\n throw new Error(\n context.t(`error.activity-thread should be the state`, {\n id,\n state: ActivityThreadStatus.Rejected,\n actual: activityThread.state\n })\n )\n }\n\n /*\n * **되돌릴 수 없는 판정은 되살리지 않는다.**\n *\n * 반려되는 순간 대상이 닫히는 업무가 있다 — 부적합 처분, 트윈 조치. 그런 건을 되살리면 다음 차수의\n * 결재가 새로 서는데, 대상은 이미 닫혀 있어 **승인해도 아무 일이 일어나지 않는다.** 사람은 승인할\n * 것이 있다고 보고, 오류도 안 난다.\n *\n * 다시 하려면 새로 낸다.\n */\n if (\n activityThread.activityInstance?.rejectionIsFinal ||\n activityThread.activityInstance?.activity?.rejectionIsFinal ||\n ['ended', 'aborted'].includes(activityThread.activityInstance?.state)\n ) {\n throw new Error(\n context.t('error.activity-thread rejection is final', {\n id,\n activityInstance: activityThread.activityInstanceId\n })\n )\n }\n\n if (output) {\n activityThread.output = output\n }\n\n const result = await tx.getRepository(ActivityThread).save({\n ...activityThread,\n reason,\n state: ActivityThreadStatus.Started,\n transaction: 'restart',\n round: activityThread.round + 1,\n updater: user,\n startedAt: new Date()\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [result] }, context)\n\n return result\n}\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ActivityThreadSave } from '../../service/activity-thread/activity-thread-type.js';
|
|
2
|
+
import { ActivityThread } from '../../service/activity-thread/activity-thread.js';
|
|
3
|
+
export declare function save(id: string, save: ActivityThreadSave, reason: string, context: ResolverContext): Promise<ActivityThread>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.save = save;
|
|
4
|
+
const common_js_1 = require("../common.js");
|
|
5
|
+
const activity_thread_js_1 = require("../../service/activity-thread/activity-thread.js");
|
|
6
|
+
const check_authority_js_1 = require("./check-authority.js");
|
|
7
|
+
async function save(id, save, reason, context) {
|
|
8
|
+
const { domain, user, tx } = context.state;
|
|
9
|
+
const repository = tx.getRepository(activity_thread_js_1.ActivityThread);
|
|
10
|
+
var activityThread = await repository.findOne({
|
|
11
|
+
where: { domain: { id: domain.id }, id }
|
|
12
|
+
});
|
|
13
|
+
if (!activityThread) {
|
|
14
|
+
throw new Error(context.t('error.activity-thread not found', {
|
|
15
|
+
activityThread: id
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
await (0, check_authority_js_1.checkAuthority)(activityThread, context);
|
|
19
|
+
/*
|
|
20
|
+
Prerequisites for a activity thread to Be Saved.
|
|
21
|
+
- The previous state of the activity thread must not be terminated.
|
|
22
|
+
*/
|
|
23
|
+
if (activityThread.state == activity_thread_js_1.ActivityThreadStatus.Aborted || activityThread.state == activity_thread_js_1.ActivityThreadStatus.Ended) {
|
|
24
|
+
throw new Error(context.t(`error.activity-thread is already terminated`, {
|
|
25
|
+
id,
|
|
26
|
+
actual: activityThread.state
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
// TODO 만약 activityInstance의 threadsMin 갯수를 아직 채우지 못했다면, 새로운 activityThread를 만들어서 처리하도록 한다.
|
|
30
|
+
// (다른 사용자들이 threadsMin 개수만큼의 activityThread를 채울 수 있는 기회를 제공하기 위해서)
|
|
31
|
+
if (!activityThread.startedAt) {
|
|
32
|
+
/* The act of saving means automatically starting the work. */
|
|
33
|
+
activityThread.startedAt = new Date();
|
|
34
|
+
}
|
|
35
|
+
activityThread = await repository.save({
|
|
36
|
+
...activityThread,
|
|
37
|
+
...save,
|
|
38
|
+
state: activity_thread_js_1.ActivityThreadStatus.Started,
|
|
39
|
+
transaction: 'save',
|
|
40
|
+
updater: user
|
|
41
|
+
});
|
|
42
|
+
await (0, common_js_1.updateActivityInstanceState)(activityThread.activityInstanceId, { causedBy: [activityThread] }, context);
|
|
43
|
+
return activityThread;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=save.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save.js","sourceRoot":"","sources":["../../../server/controllers/activity-thread/save.ts"],"names":[],"mappings":";;AAKA,oBAuDC;AA3DD,4CAA0D;AAC1D,yFAAuG;AACvG,6DAAqD;AAE9C,KAAK,UAAU,IAAI,CACxB,EAAU,EACV,IAAwB,EACxB,MAAc,EACd,OAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,mCAAc,CAAC,CAAA;IAEnD,IAAI,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;QAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;KACzC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,iCAAiC,EAAE;YAC3C,cAAc,EAAE,EAAE;SACnB,CAAC,CACH,CAAA;IACH,CAAC;IAED,MAAM,IAAA,mCAAc,EAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAE7C;;;MAGE;IACF,IAAI,cAAc,CAAC,KAAK,IAAI,yCAAoB,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,yCAAoB,CAAC,KAAK,EAAE,CAAC;QAC/G,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,CAAC,CAAC,6CAA6C,EAAE;YACvD,EAAE;YACF,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B,CAAC,CACH,CAAA;IACH,CAAC;IAED,2FAA2F;IAC3F,mEAAmE;IAEnE,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;QAC9B,8DAA8D;QAC9D,cAAc,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IACvC,CAAC;IAED,cAAc,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;QACrC,GAAG,cAAc;QACjB,GAAG,IAAI;QACP,KAAK,EAAE,yCAAoB,CAAC,OAAO;QACnC,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,IAAI;KACd,CAAC,CAAA;IAEF,MAAM,IAAA,uCAA2B,EAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAE7G,OAAO,cAAc,CAAA;AACvB,CAAC","sourcesContent":["import { ActivityThreadSave } from '../../service/activity-thread/activity-thread-type.js'\nimport { updateActivityInstanceState } from '../common.js'\nimport { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread.js'\nimport { checkAuthority } from './check-authority.js'\n\nexport async function save(\n id: string,\n save: ActivityThreadSave,\n reason: string,\n context: ResolverContext\n): Promise<ActivityThread> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(ActivityThread)\n\n var activityThread = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n if (!activityThread) {\n throw new Error(\n context.t('error.activity-thread not found', {\n activityThread: id\n })\n )\n }\n\n await checkAuthority(activityThread, context)\n\n /* \n Prerequisites for a activity thread to Be Saved.\n - The previous state of the activity thread must not be terminated.\n */\n if (activityThread.state == ActivityThreadStatus.Aborted || activityThread.state == ActivityThreadStatus.Ended) {\n throw new Error(\n context.t(`error.activity-thread is already terminated`, {\n id,\n actual: activityThread.state\n })\n )\n }\n\n // TODO 만약 activityInstance의 threadsMin 갯수를 아직 채우지 못했다면, 새로운 activityThread를 만들어서 처리하도록 한다.\n // (다른 사용자들이 threadsMin 개수만큼의 activityThread를 채울 수 있는 기회를 제공하기 위해서)\n\n if (!activityThread.startedAt) {\n /* The act of saving means automatically starting the work. */\n activityThread.startedAt = new Date()\n }\n\n activityThread = await repository.save({\n ...activityThread,\n ...save,\n state: ActivityThreadStatus.Started,\n transaction: 'save',\n updater: user\n })\n\n await updateActivityInstanceState(activityThread.activityInstanceId, { causedBy: [activityThread] }, context)\n\n return activityThread\n}\n"]}
|