@things-factory/worklist 10.1.248 → 10.1.249
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 +18 -0
- package/dist-client/approval-progress.js +31 -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 +875 -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 +494 -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 +593 -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 +385 -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/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 +77 -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 +186 -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/index.d.ts +23 -0
- package/dist-server/service/index.js +75 -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 +2 -2
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InstallableActivityMutation = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const activity_installation_controller_js_1 = require("../../controllers/activity-installation/activity-installation-controller.js");
|
|
7
|
+
const activity_js_1 = require("../activity/activity.js");
|
|
8
|
+
const installable_activity_js_1 = require("./installable-activity.js");
|
|
9
|
+
let InstallableActivityMutation = class InstallableActivityMutation {
|
|
10
|
+
/**
|
|
11
|
+
* 양식을 이 도메인에 세운다.
|
|
12
|
+
*
|
|
13
|
+
* 세우는 방법은 `installActivity` 한 벌만 갖는다 — 화면에서 누르는 것과 앱이 기동할 때 세우는 것이
|
|
14
|
+
* 서로 다른 코드를 타면 언젠가 갈라지고, 그때 「화면으로 세운 것만 되는」 결함이 된다.
|
|
15
|
+
*/
|
|
16
|
+
/*
|
|
17
|
+
* Authorization (2026-09-11)
|
|
18
|
+
*
|
|
19
|
+
* Both mutations here had no `@privilege` directive and no `checkAuthority` call inside, so any
|
|
20
|
+
* signed-in user of the domain could deactivate an activity. Deactivating one blocks the work it
|
|
21
|
+
* carries: with `OOC Review` (dataset) deactivated, that domain can no longer raise or process an
|
|
22
|
+
* out-of-control review.
|
|
23
|
+
*
|
|
24
|
+
* The pair is `activity:mutation`. These calls write this module's own `Activity` rows and grant
|
|
25
|
+
* no capability outside it, so one pair covers both. Seven existing declarations in this package
|
|
26
|
+
* already use that pair for creating, deleting and enabling the same entity, and both mutations
|
|
27
|
+
* return `Activity` rather than `Boolean`, which matches those seven rather than a light switch.
|
|
28
|
+
*
|
|
29
|
+
* `domainOwnerGranted: true` matches those seven as well. The people who actually call this are
|
|
30
|
+
* domain owners, and they pass without an explicit grant.
|
|
31
|
+
*
|
|
32
|
+
* This closes the door for the first time; it is not a rename, so there is no `legacy` alias to
|
|
33
|
+
* carry and no record of who was passing through while it was undeclared. If someone is blocked
|
|
34
|
+
* after this deploys, an administrator grants `activity:mutation` (the privilege row is created
|
|
35
|
+
* at boot).
|
|
36
|
+
*/
|
|
37
|
+
async activateInstallableActivity(name, context) {
|
|
38
|
+
const { domain, user, tx } = context.state;
|
|
39
|
+
return await (0, activity_installation_controller_js_1.installActivity)(name, domain, { manager: tx, user });
|
|
40
|
+
}
|
|
41
|
+
/* Same privilege pair as activating. Deactivating is the heavier of the two: it stops submissions. */
|
|
42
|
+
async deactivateInstallableActivity(name, context) {
|
|
43
|
+
const { domain, user, tx } = context.state;
|
|
44
|
+
const repository = tx.getRepository(activity_js_1.Activity);
|
|
45
|
+
const activity = await repository.findOneBy({
|
|
46
|
+
domain: { id: domain.id },
|
|
47
|
+
name
|
|
48
|
+
});
|
|
49
|
+
if (!activity) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
return await repository.save({
|
|
53
|
+
...activity,
|
|
54
|
+
state: activity_js_1.ActivityStatus.Deprecated,
|
|
55
|
+
updater: user
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
exports.InstallableActivityMutation = InstallableActivityMutation;
|
|
60
|
+
tslib_1.__decorate([
|
|
61
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
62
|
+
(0, type_graphql_1.Directive)('@privilege(category: "activity", privilege: "mutation", domainOwnerGranted: true)'),
|
|
63
|
+
(0, type_graphql_1.Mutation)(returns => activity_js_1.Activity, { description: 'To activate installable activity to Activity on given domain' }),
|
|
64
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
65
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
66
|
+
tslib_1.__metadata("design:type", Function),
|
|
67
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
68
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
69
|
+
], InstallableActivityMutation.prototype, "activateInstallableActivity", null);
|
|
70
|
+
tslib_1.__decorate([
|
|
71
|
+
(0, type_graphql_1.Directive)('@transaction'),
|
|
72
|
+
(0, type_graphql_1.Directive)('@privilege(category: "activity", privilege: "mutation", domainOwnerGranted: true)'),
|
|
73
|
+
(0, type_graphql_1.Mutation)(returns => activity_js_1.Activity, { description: 'To deactivate installable activity to Activity on given domain' }),
|
|
74
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
75
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
76
|
+
tslib_1.__metadata("design:type", Function),
|
|
77
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
78
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
79
|
+
], InstallableActivityMutation.prototype, "deactivateInstallableActivity", null);
|
|
80
|
+
exports.InstallableActivityMutation = InstallableActivityMutation = tslib_1.__decorate([
|
|
81
|
+
(0, type_graphql_1.Resolver)(installable_activity_js_1.InstallableActivity)
|
|
82
|
+
], InstallableActivityMutation);
|
|
83
|
+
//# sourceMappingURL=installable-activity-mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installable-activity-mutation.js","sourceRoot":"","sources":["../../../server/service/installable-activity/installable-activity-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AAEtE,qIAA6G;AAC7G,yDAAkE;AAClE,uEAA+D;AAGxD,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACtC;;;;;OAKG;IACH;;;;;;;;;;;;;;;;;;;;OAoBG;IAIG,AAAN,KAAK,CAAC,2BAA2B,CAAc,IAAY,EAAS,OAAwB;QAC1F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,OAAO,MAAM,IAAA,qDAAe,EAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,sGAAsG;IAIhG,AAAN,KAAK,CAAC,6BAA6B,CAAc,IAAY,EAAS,OAAwB;QAC5F,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,sBAAQ,CAAC,CAAA;QAE7C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC;YAC1C,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;YACzB,IAAI;SACL,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAM;QACR,CAAC;QAED,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC;YAC3B,GAAG,QAAQ;YACX,KAAK,EAAE,4BAAc,CAAC,UAAU;YAChC,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AA5DY,kEAA2B;AA+BhC;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,sBAAQ,EAAE,EAAE,WAAW,EAAE,8DAA8D,EAAE,CAAC;IAC5E,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;8EAIlE;AAMK;IAHL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,mFAAmF,CAAC;IAC9F,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,sBAAQ,EAAE,EAAE,WAAW,EAAE,gEAAgE,EAAE,CAAC;IAC5E,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;gFAkBpE;sCA3DU,2BAA2B;IADvC,IAAA,uBAAQ,EAAC,6CAAmB,CAAC;GACjB,2BAA2B,CA4DvC","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\n\nimport { installActivity } from '../../controllers/activity-installation/activity-installation-controller.js'\nimport { Activity, ActivityStatus } from '../activity/activity.js'\nimport { InstallableActivity } from './installable-activity.js'\n\n@Resolver(InstallableActivity)\nexport class InstallableActivityMutation {\n /**\n * 양식을 이 도메인에 세운다.\n *\n * 세우는 방법은 `installActivity` 한 벌만 갖는다 — 화면에서 누르는 것과 앱이 기동할 때 세우는 것이\n * 서로 다른 코드를 타면 언젠가 갈라지고, 그때 「화면으로 세운 것만 되는」 결함이 된다.\n */\n /*\n * Authorization (2026-09-11)\n *\n * Both mutations here had no `@privilege` directive and no `checkAuthority` call inside, so any\n * signed-in user of the domain could deactivate an activity. Deactivating one blocks the work it\n * carries: with `OOC Review` (dataset) deactivated, that domain can no longer raise or process an\n * out-of-control review.\n *\n * The pair is `activity:mutation`. These calls write this module's own `Activity` rows and grant\n * no capability outside it, so one pair covers both. Seven existing declarations in this package\n * already use that pair for creating, deleting and enabling the same entity, and both mutations\n * return `Activity` rather than `Boolean`, which matches those seven rather than a light switch.\n *\n * `domainOwnerGranted: true` matches those seven as well. The people who actually call this are\n * domain owners, and they pass without an explicit grant.\n *\n * This closes the door for the first time; it is not a rename, so there is no `legacy` alias to\n * carry and no record of who was passing through while it was undeclared. If someone is blocked\n * after this deploys, an administrator grants `activity:mutation` (the privilege row is created\n * at boot).\n */\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Activity, { description: 'To activate installable activity to Activity on given domain' })\n async activateInstallableActivity(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Activity> {\n const { domain, user, tx } = context.state\n\n return await installActivity(name, domain, { manager: tx, user })\n }\n\n /* Same privilege pair as activating. Deactivating is the heavier of the two: it stops submissions. */\n @Directive('@transaction')\n @Directive('@privilege(category: \"activity\", privilege: \"mutation\", domainOwnerGranted: true)')\n @Mutation(returns => Activity, { description: 'To deactivate installable activity to Activity on given domain' })\n async deactivateInstallableActivity(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<Activity> {\n const { domain, user, tx } = context.state\n const repository = tx.getRepository(Activity)\n\n const activity = await repository.findOneBy({\n domain: { id: domain.id },\n name\n })\n\n if (!activity) {\n return\n }\n\n return await repository.save({\n ...activity,\n state: ActivityStatus.Deprecated,\n updater: user\n })\n }\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ListParam } from '@things-factory/shell';
|
|
2
|
+
import { InstallableActivity } from './installable-activity.js';
|
|
3
|
+
import { InstallableActivityList } from './installable-activity-type.js';
|
|
4
|
+
export declare class InstallableActivityQuery {
|
|
5
|
+
installableActivity(name: string, context: ResolverContext): Promise<InstallableActivity>;
|
|
6
|
+
installableActivities(params: ListParam, context: ResolverContext): Promise<InstallableActivityList>;
|
|
7
|
+
/** The key `label` is translated from. Computed from `name`, never stored — see activityTKey. */
|
|
8
|
+
labelTKey(one: InstallableActivity): string;
|
|
9
|
+
/** One key per `guide` line, in the same order and always the same length. */
|
|
10
|
+
guideTKeys(one: InstallableActivity): string[];
|
|
11
|
+
/**
|
|
12
|
+
* The keys `readiness.notes` and `readiness.gaps` are translated from.
|
|
13
|
+
*
|
|
14
|
+
* The catalog is built at boot, before any request names a locale, so the module keeps declaring
|
|
15
|
+
* sentences and the screen reads a translation of them - the same arrangement as label and guide
|
|
16
|
+
* (ADR-0054). A module that declares nothing gets no keys to look up, and the screen shows
|
|
17
|
+
* nothing, which is what it did before.
|
|
18
|
+
*/
|
|
19
|
+
readinessNotesTKey(one: InstallableActivity): string;
|
|
20
|
+
/** One key per `readiness.gaps` line, in the same order and always the same length. */
|
|
21
|
+
readinessGapTKeys(one: InstallableActivity): string[];
|
|
22
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InstallableActivityQuery = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const shell_1 = require("@things-factory/shell");
|
|
7
|
+
const activity_installation_controller_js_1 = require("../../controllers/activity-installation/activity-installation-controller.js");
|
|
8
|
+
const activity_js_1 = require("../activity/activity.js");
|
|
9
|
+
const installable_activity_js_1 = require("./installable-activity.js");
|
|
10
|
+
const approval_line_js_1 = require("../../controllers/activity-approval/approval-line.js");
|
|
11
|
+
const installable_activity_type_js_1 = require("./installable-activity-type.js");
|
|
12
|
+
const decision_key_declaration_js_1 = require("../activity/decision-key-declaration.js");
|
|
13
|
+
let InstallableActivityQuery = class InstallableActivityQuery {
|
|
14
|
+
async installableActivity(name, context) {
|
|
15
|
+
return await activity_installation_controller_js_1.ActivityInstallations.get(name);
|
|
16
|
+
}
|
|
17
|
+
async installableActivities(params, context) {
|
|
18
|
+
const { domain } = context.state;
|
|
19
|
+
const items = activity_installation_controller_js_1.ActivityInstallations.list();
|
|
20
|
+
for (var item of items) {
|
|
21
|
+
item.activity = await (0, shell_1.getRepository)(activity_js_1.Activity).findOneBy({
|
|
22
|
+
domain: { id: domain.id },
|
|
23
|
+
name: item.name
|
|
24
|
+
});
|
|
25
|
+
/*
|
|
26
|
+
* 「이 도메인이 이 단계를 쓰나」를 값으로 낸다 — 판단은 여기서 다시 짜지 않는다.
|
|
27
|
+
*
|
|
28
|
+
* `isApprovalStep` 이 참조를 걸러 내는 그 자리다. 화면이 길이를 세면 참조만 있는 결재선을
|
|
29
|
+
* 「결재자 있음」으로 그리고, 실제로는 그냥 지나간다.
|
|
30
|
+
*/
|
|
31
|
+
item.approvalSteps = (item.activity?.approvalLine || []).filter(approval_line_js_1.isApprovalStep).length;
|
|
32
|
+
}
|
|
33
|
+
/*
|
|
34
|
+
* Identified-but-unbuilt work comes out of this query too, because the catalog is the plan of
|
|
35
|
+
* record — "what is left" has to be answerable on the screen.
|
|
36
|
+
*
|
|
37
|
+
* Shaped to look like an installable activity so the screen has one list to draw, but it
|
|
38
|
+
* carries no `activity` (nothing is installed) and no callback. Its stage says planned or
|
|
39
|
+
* not-worklist, and the screen keeps those apart from the built ones: a decision must not read
|
|
40
|
+
* as a promise.
|
|
41
|
+
*/
|
|
42
|
+
const intended = activity_installation_controller_js_1.ActivityInstallations.listIntended().map(one => ({
|
|
43
|
+
name: one.key,
|
|
44
|
+
label: one.label,
|
|
45
|
+
description: undefined,
|
|
46
|
+
guide: one.guide,
|
|
47
|
+
category: one.category,
|
|
48
|
+
readiness: one.readiness
|
|
49
|
+
}));
|
|
50
|
+
const merged = [...items, ...intended];
|
|
51
|
+
return { items: merged, total: merged.length };
|
|
52
|
+
}
|
|
53
|
+
/** The key `label` is translated from. Computed from `name`, never stored — see activityTKey. */
|
|
54
|
+
labelTKey(one) {
|
|
55
|
+
return (0, decision_key_declaration_js_1.activityTKey)(one.name, 'label');
|
|
56
|
+
}
|
|
57
|
+
/** One key per `guide` line, in the same order and always the same length. */
|
|
58
|
+
guideTKeys(one) {
|
|
59
|
+
return (0, decision_key_declaration_js_1.activityGuideTKeys)(one.name, one.guide);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The keys `readiness.notes` and `readiness.gaps` are translated from.
|
|
63
|
+
*
|
|
64
|
+
* The catalog is built at boot, before any request names a locale, so the module keeps declaring
|
|
65
|
+
* sentences and the screen reads a translation of them - the same arrangement as label and guide
|
|
66
|
+
* (ADR-0054). A module that declares nothing gets no keys to look up, and the screen shows
|
|
67
|
+
* nothing, which is what it did before.
|
|
68
|
+
*/
|
|
69
|
+
readinessNotesTKey(one) {
|
|
70
|
+
return (0, decision_key_declaration_js_1.activityTKey)(one.name, 'readiness-notes');
|
|
71
|
+
}
|
|
72
|
+
/** One key per `readiness.gaps` line, in the same order and always the same length. */
|
|
73
|
+
readinessGapTKeys(one) {
|
|
74
|
+
return (0, decision_key_declaration_js_1.activityReadinessGapTKeys)(one.name, one.readiness?.gaps);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
exports.InstallableActivityQuery = InstallableActivityQuery;
|
|
78
|
+
tslib_1.__decorate([
|
|
79
|
+
(0, type_graphql_1.Query)(returns => installable_activity_js_1.InstallableActivity, { nullable: true, description: 'To fetch a InstallableActivity' }),
|
|
80
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
|
|
81
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
82
|
+
tslib_1.__metadata("design:type", Function),
|
|
83
|
+
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
84
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
85
|
+
], InstallableActivityQuery.prototype, "installableActivity", null);
|
|
86
|
+
tslib_1.__decorate([
|
|
87
|
+
(0, type_graphql_1.Query)(returns => installable_activity_type_js_1.InstallableActivityList, { description: 'To fetch multiple InstallableActivitys' }),
|
|
88
|
+
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
89
|
+
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
90
|
+
tslib_1.__metadata("design:type", Function),
|
|
91
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
92
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
93
|
+
], InstallableActivityQuery.prototype, "installableActivities", null);
|
|
94
|
+
tslib_1.__decorate([
|
|
95
|
+
(0, type_graphql_1.FieldResolver)(type => String, { description: 'i18n key the label is translated from, computed from name' }),
|
|
96
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
97
|
+
tslib_1.__metadata("design:type", Function),
|
|
98
|
+
tslib_1.__metadata("design:paramtypes", [installable_activity_js_1.InstallableActivity]),
|
|
99
|
+
tslib_1.__metadata("design:returntype", String)
|
|
100
|
+
], InstallableActivityQuery.prototype, "labelTKey", null);
|
|
101
|
+
tslib_1.__decorate([
|
|
102
|
+
(0, type_graphql_1.FieldResolver)(type => [String], { description: 'One i18n key per guide line, in order, computed from name' }),
|
|
103
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
104
|
+
tslib_1.__metadata("design:type", Function),
|
|
105
|
+
tslib_1.__metadata("design:paramtypes", [installable_activity_js_1.InstallableActivity]),
|
|
106
|
+
tslib_1.__metadata("design:returntype", Array)
|
|
107
|
+
], InstallableActivityQuery.prototype, "guideTKeys", null);
|
|
108
|
+
tslib_1.__decorate([
|
|
109
|
+
(0, type_graphql_1.FieldResolver)(type => String, { description: 'i18n key readiness.notes is translated from, computed from name' }),
|
|
110
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
111
|
+
tslib_1.__metadata("design:type", Function),
|
|
112
|
+
tslib_1.__metadata("design:paramtypes", [installable_activity_js_1.InstallableActivity]),
|
|
113
|
+
tslib_1.__metadata("design:returntype", String)
|
|
114
|
+
], InstallableActivityQuery.prototype, "readinessNotesTKey", null);
|
|
115
|
+
tslib_1.__decorate([
|
|
116
|
+
(0, type_graphql_1.FieldResolver)(type => [String], {
|
|
117
|
+
description: 'One i18n key per readiness.gaps line, in order, computed from name'
|
|
118
|
+
}),
|
|
119
|
+
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
120
|
+
tslib_1.__metadata("design:type", Function),
|
|
121
|
+
tslib_1.__metadata("design:paramtypes", [installable_activity_js_1.InstallableActivity]),
|
|
122
|
+
tslib_1.__metadata("design:returntype", Array)
|
|
123
|
+
], InstallableActivityQuery.prototype, "readinessGapTKeys", null);
|
|
124
|
+
exports.InstallableActivityQuery = InstallableActivityQuery = tslib_1.__decorate([
|
|
125
|
+
(0, type_graphql_1.Resolver)(installable_activity_js_1.InstallableActivity)
|
|
126
|
+
], InstallableActivityQuery);
|
|
127
|
+
//# sourceMappingURL=installable-activity-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installable-activity-query.js","sourceRoot":"","sources":["../../../server/service/installable-activity/installable-activity-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Args, Ctx, Query, Resolver, FieldResolver, Root } from 'type-graphql'\nimport { Domain, getRepository, ListParam } from '@things-factory/shell'\n\nimport { ActivityInstallations } from '../../controllers/activity-installation/activity-installation-controller.js'\nimport { Activity } from '../activity/activity.js'\nimport { InstallableActivity } from './installable-activity.js'\nimport { isApprovalStep } from '../../controllers/activity-approval/approval-line.js'\nimport { InstallableActivityList } from './installable-activity-type.js'\nimport { activityGuideTKeys, activityReadinessGapTKeys, activityTKey } from '../activity/decision-key-declaration.js'\n\n@Resolver(InstallableActivity)\nexport class InstallableActivityQuery {\n @Query(returns => InstallableActivity!, { nullable: true, description: 'To fetch a InstallableActivity' })\n async installableActivity(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<InstallableActivity> {\n return await ActivityInstallations.get(name)\n }\n\n @Query(returns => InstallableActivityList, { description: 'To fetch multiple InstallableActivitys' })\n async installableActivities(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<InstallableActivityList> {\n const { domain } = context.state\n\n const items = ActivityInstallations.list()\n\n for (var item of items) {\n item.activity = await getRepository(Activity).findOneBy({\n domain: { id: domain.id },\n name: item.name\n })\n\n /*\n * 「이 도메인이 이 단계를 쓰나」를 값으로 낸다 — 판단은 여기서 다시 짜지 않는다.\n *\n * `isApprovalStep` 이 참조를 걸러 내는 그 자리다. 화면이 길이를 세면 참조만 있는 결재선을\n * 「결재자 있음」으로 그리고, 실제로는 그냥 지나간다.\n */\n item.approvalSteps = (item.activity?.approvalLine || []).filter(isApprovalStep).length\n }\n\n /*\n * Identified-but-unbuilt work comes out of this query too, because the catalog is the plan of\n * record — \"what is left\" has to be answerable on the screen.\n *\n * Shaped to look like an installable activity so the screen has one list to draw, but it\n * carries no `activity` (nothing is installed) and no callback. Its stage says planned or\n * not-worklist, and the screen keeps those apart from the built ones: a decision must not read\n * as a promise.\n */\n const intended: InstallableActivity[] = ActivityInstallations.listIntended().map(one => ({\n name: one.key,\n label: one.label,\n description: undefined,\n guide: one.guide,\n category: one.category,\n readiness: one.readiness\n }))\n\n const merged = [...items, ...intended]\n\n return { items: merged, total: merged.length }\n }\n\n /** The key `label` is translated from. Computed from `name`, never stored — see activityTKey. */\n @FieldResolver(type => String, { description: 'i18n key the label is translated from, computed from name' })\n labelTKey(@Root() one: InstallableActivity): string {\n return activityTKey(one.name, 'label')\n }\n\n /** One key per `guide` line, in the same order and always the same length. */\n @FieldResolver(type => [String], { description: 'One i18n key per guide line, in order, computed from name' })\n guideTKeys(@Root() one: InstallableActivity): string[] {\n return activityGuideTKeys(one.name, one.guide)\n }\n\n /**\n * The keys `readiness.notes` and `readiness.gaps` are translated from.\n *\n * The catalog is built at boot, before any request names a locale, so the module keeps declaring\n * sentences and the screen reads a translation of them - the same arrangement as label and guide\n * (ADR-0054). A module that declares nothing gets no keys to look up, and the screen shows\n * nothing, which is what it did before.\n */\n @FieldResolver(type => String, { description: 'i18n key readiness.notes is translated from, computed from name' })\n readinessNotesTKey(@Root() one: InstallableActivity): string {\n return activityTKey(one.name, 'readiness-notes')\n }\n\n /** One key per `readiness.gaps` line, in the same order and always the same length. */\n @FieldResolver(type => [String], {\n description: 'One i18n key per readiness.gaps line, in order, computed from name'\n })\n readinessGapTKeys(@Root() one: InstallableActivity): string[] {\n return activityReadinessGapTKeys(one.name, one.readiness?.gaps)\n }\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InstallableActivityList = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const installable_activity_js_1 = require("./installable-activity.js");
|
|
7
|
+
let InstallableActivityList = class InstallableActivityList {
|
|
8
|
+
};
|
|
9
|
+
exports.InstallableActivityList = InstallableActivityList;
|
|
10
|
+
tslib_1.__decorate([
|
|
11
|
+
(0, type_graphql_1.Field)(type => [installable_activity_js_1.InstallableActivity]),
|
|
12
|
+
tslib_1.__metadata("design:type", Array)
|
|
13
|
+
], InstallableActivityList.prototype, "items", void 0);
|
|
14
|
+
tslib_1.__decorate([
|
|
15
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
16
|
+
tslib_1.__metadata("design:type", Number)
|
|
17
|
+
], InstallableActivityList.prototype, "total", void 0);
|
|
18
|
+
exports.InstallableActivityList = InstallableActivityList = tslib_1.__decorate([
|
|
19
|
+
(0, type_graphql_1.ObjectType)()
|
|
20
|
+
], InstallableActivityList);
|
|
21
|
+
//# sourceMappingURL=installable-activity-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installable-activity-type.js","sourceRoot":"","sources":["../../../server/service/installable-activity/installable-activity-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAqD;AAErD,uEAA+D;AAGxD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAMnC,CAAA;AANY,0DAAuB;AAElC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,6CAAmB,CAAC,CAAC;;sDACT;AAG5B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;sDACN;kCALF,uBAAuB;IADnC,IAAA,yBAAU,GAAE;GACA,uBAAuB,CAMnC","sourcesContent":["import { Field, Int, ObjectType } from 'type-graphql'\n\nimport { InstallableActivity } from './installable-activity.js'\n\n@ObjectType()\nexport class InstallableActivityList {\n @Field(type => [InstallableActivity])\n items: InstallableActivity[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Activity, ActivityStartingType, ActivityType, ActivityUIType, MultipleInstanceType } from '../activity/activity.js';
|
|
2
|
+
import { ActivityModelItem } from '../activity/activity-model-type.js';
|
|
3
|
+
import { ActivityDecisionKeyItem } from '../activity/activity-decision-key-item-type.js';
|
|
4
|
+
import { ActivityReadiness } from './activity-readiness.js';
|
|
5
|
+
import { UpdateActivityInstanceStateAddendum } from '../../controllers/common.js';
|
|
6
|
+
export declare class InstallableActivity {
|
|
7
|
+
/**
|
|
8
|
+
* The key. **Not a name to show anyone.**
|
|
9
|
+
*
|
|
10
|
+
* The callback is found by this value (`activityInstance.activity.name`), so renaming it stops
|
|
11
|
+
* the callback from running — an approval completes and the effect never happens, with nothing
|
|
12
|
+
* on screen to say so. plant hit exactly that on 2026-09-01.
|
|
13
|
+
*/
|
|
14
|
+
name?: string;
|
|
15
|
+
/**
|
|
16
|
+
* What to call this work on screen, when the key is not something a person reads.
|
|
17
|
+
*
|
|
18
|
+
* The catalog showed 「MES Disposition Approval」 among twenty-three Korean cards because the key
|
|
19
|
+
* was the only name it had. Declared work already carried a `label` for this; built work had
|
|
20
|
+
* nowhere to put one, so the identifier leaked into the screen.
|
|
21
|
+
*
|
|
22
|
+
* Optional. Without it the catalog falls back to the key, which is right for activities whose
|
|
23
|
+
* key already reads as a name.
|
|
24
|
+
*/
|
|
25
|
+
label?: string;
|
|
26
|
+
release?: string;
|
|
27
|
+
provider?: string;
|
|
28
|
+
/** One line for developers, in English, like every other GraphQL description in this repo. */
|
|
29
|
+
description?: string;
|
|
30
|
+
/**
|
|
31
|
+
* What this work is, **in the words of the person who receives it.**
|
|
32
|
+
*
|
|
33
|
+
* `description` is written for us and it is English by convention, so a Korean screen showing it
|
|
34
|
+
* to an approver says nothing useful. This field is the sentence that person actually needs:
|
|
35
|
+
* when the item reaches them, and what happens once they approve it.
|
|
36
|
+
*
|
|
37
|
+
* Plain sentences, never keys. A translation is read from `guideTKeys` — one key per line,
|
|
38
|
+
* computed from `name` — with the sentence here as its default. A value that could be either a key
|
|
39
|
+
* or a sentence leaves no way to count which keys a locale is missing.
|
|
40
|
+
*/
|
|
41
|
+
guide?: string[];
|
|
42
|
+
category?: string;
|
|
43
|
+
activityType?: ActivityType;
|
|
44
|
+
priority?: number;
|
|
45
|
+
startingType?: ActivityStartingType;
|
|
46
|
+
multiple?: MultipleInstanceType;
|
|
47
|
+
model?: ActivityModelItem[];
|
|
48
|
+
/**
|
|
49
|
+
* Which input values an approver judges by. See Activity.decisionKeys.
|
|
50
|
+
*
|
|
51
|
+
* A field declared here reaches the Activity row only if it is named in ACTIVITY_ROW_FIELDS and
|
|
52
|
+
* the entity has a column for it. It used to be a spread, which dropped what it did not recognise
|
|
53
|
+
* and reported success; naming the fields means a new one has to be wired over on purpose.
|
|
54
|
+
*/
|
|
55
|
+
decisionKeys?: ActivityDecisionKeyItem[];
|
|
56
|
+
uiType?: ActivityUIType;
|
|
57
|
+
uiSource?: string;
|
|
58
|
+
viewType?: ActivityUIType;
|
|
59
|
+
viewSource?: string;
|
|
60
|
+
reportType?: ActivityUIType;
|
|
61
|
+
reportSource?: string;
|
|
62
|
+
thumbnail?: string;
|
|
63
|
+
activity?: Activity;
|
|
64
|
+
/**
|
|
65
|
+
* **이 도메인이 이 단계를 쓰나** — 세워진 양식의 결재선에 결재자가 있나.
|
|
66
|
+
*
|
|
67
|
+
* 결재선은 양식이 아니라 **그 현장이 정하는 것**이다(installActivity 머리말). 그래서 같은 업무가
|
|
68
|
+
* 어느 공장에서는 결재를 받고 어느 공장에서는 그냥 지나간다.
|
|
69
|
+
*
|
|
70
|
+
* 그 사실이 지금까지 **기동 로그 한 줄**에만 있었다 — 「결재선 비어 있음 miratek, system」. 로그는
|
|
71
|
+
* 기동할 때 한 번 지나가고 그 뒤로 아무 데도 없다. 사람이 조치해야 하는 사실의 집이 아니다.
|
|
72
|
+
*
|
|
73
|
+
* 세지 않는 것 둘을 적어 둔다.
|
|
74
|
+
*
|
|
75
|
+
* - **사람 수가 아니라 단계 수다.** 역할로 걸린 한 단계는 그 역할을 가진 여러 사람이 본다. 「3명」
|
|
76
|
+
* 이라고 적으면 틀린 수를 말하게 된다.
|
|
77
|
+
* - **참조는 세지 않는다.** 참조는 결재를 막지 않으므로, 참조만 있는 결재선은 결재자가 없는 것과
|
|
78
|
+
* 같다(needsApproval). 세면 「이 단계를 쓴다」로 읽히는데 실제로는 그냥 지나간다.
|
|
79
|
+
*
|
|
80
|
+
* 비어 있다는 것이 무슨 일을 뜻하는지는 **업무마다 다르다** — 부적합 처분은 상신이 막히고, 정비
|
|
81
|
+
* 완료 확인은 확인 없이 닫힌다. 그 결과는 각 업무의 guide 가 말할 자리다. 이 칸은 사실만 낸다.
|
|
82
|
+
*/
|
|
83
|
+
approvalSteps?: number;
|
|
84
|
+
/**
|
|
85
|
+
* What the registering module says about how far along this type is.
|
|
86
|
+
*
|
|
87
|
+
* Declared, not computed — see ActivityReadiness. Missing means nobody has said, which the
|
|
88
|
+
* screen shows as 「선언 없음」 rather than as a zero.
|
|
89
|
+
*/
|
|
90
|
+
readiness?: ActivityReadiness;
|
|
91
|
+
callback?: (content: any, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext) => void;
|
|
92
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InstallableActivity = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const type_graphql_1 = require("type-graphql");
|
|
6
|
+
const activity_js_1 = require("../activity/activity.js");
|
|
7
|
+
const activity_model_type_js_1 = require("../activity/activity-model-type.js");
|
|
8
|
+
const activity_decision_key_item_type_js_1 = require("../activity/activity-decision-key-item-type.js");
|
|
9
|
+
const activity_readiness_js_1 = require("./activity-readiness.js");
|
|
10
|
+
let InstallableActivity = class InstallableActivity {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.priority = 1;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
exports.InstallableActivity = InstallableActivity;
|
|
16
|
+
tslib_1.__decorate([
|
|
17
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
18
|
+
tslib_1.__metadata("design:type", String)
|
|
19
|
+
], InstallableActivity.prototype, "name", void 0);
|
|
20
|
+
tslib_1.__decorate([
|
|
21
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'What to call this work on screen, when the key is not readable' }),
|
|
22
|
+
tslib_1.__metadata("design:type", String)
|
|
23
|
+
], InstallableActivity.prototype, "label", void 0);
|
|
24
|
+
tslib_1.__decorate([
|
|
25
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Release information of the Activity' }),
|
|
26
|
+
tslib_1.__metadata("design:type", String)
|
|
27
|
+
], InstallableActivity.prototype, "release", void 0);
|
|
28
|
+
tslib_1.__decorate([
|
|
29
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'Provider information of the Activity' }),
|
|
30
|
+
tslib_1.__metadata("design:type", String)
|
|
31
|
+
], InstallableActivity.prototype, "provider", void 0);
|
|
32
|
+
tslib_1.__decorate([
|
|
33
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
34
|
+
tslib_1.__metadata("design:type", String)
|
|
35
|
+
], InstallableActivity.prototype, "description", void 0);
|
|
36
|
+
tslib_1.__decorate([
|
|
37
|
+
(0, type_graphql_1.Field)(type => [String], {
|
|
38
|
+
nullable: true,
|
|
39
|
+
description: 'What this work is, for the person who receives it. Plain sentences; translated through guideTKeys.'
|
|
40
|
+
}),
|
|
41
|
+
tslib_1.__metadata("design:type", Array)
|
|
42
|
+
], InstallableActivity.prototype, "guide", void 0);
|
|
43
|
+
tslib_1.__decorate([
|
|
44
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
45
|
+
tslib_1.__metadata("design:type", String)
|
|
46
|
+
], InstallableActivity.prototype, "category", void 0);
|
|
47
|
+
tslib_1.__decorate([
|
|
48
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
49
|
+
tslib_1.__metadata("design:type", String)
|
|
50
|
+
], InstallableActivity.prototype, "activityType", void 0);
|
|
51
|
+
tslib_1.__decorate([
|
|
52
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
53
|
+
tslib_1.__metadata("design:type", Number)
|
|
54
|
+
], InstallableActivity.prototype, "priority", void 0);
|
|
55
|
+
tslib_1.__decorate([
|
|
56
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
57
|
+
tslib_1.__metadata("design:type", String)
|
|
58
|
+
], InstallableActivity.prototype, "startingType", void 0);
|
|
59
|
+
tslib_1.__decorate([
|
|
60
|
+
(0, type_graphql_1.Field)({
|
|
61
|
+
nullable: true,
|
|
62
|
+
description: 'Parallel or sequential are properties as a multi-instance activity, otherwise it means a single instance.'
|
|
63
|
+
}),
|
|
64
|
+
tslib_1.__metadata("design:type", String)
|
|
65
|
+
], InstallableActivity.prototype, "multiple", void 0);
|
|
66
|
+
tslib_1.__decorate([
|
|
67
|
+
(0, type_graphql_1.Field)(type => [activity_model_type_js_1.ActivityModelItem], { nullable: true }),
|
|
68
|
+
tslib_1.__metadata("design:type", Array)
|
|
69
|
+
], InstallableActivity.prototype, "model", void 0);
|
|
70
|
+
tslib_1.__decorate([
|
|
71
|
+
(0, type_graphql_1.Field)(type => [activity_decision_key_item_type_js_1.ActivityDecisionKeyItem], { nullable: true }),
|
|
72
|
+
tslib_1.__metadata("design:type", Array)
|
|
73
|
+
], InstallableActivity.prototype, "decisionKeys", void 0);
|
|
74
|
+
tslib_1.__decorate([
|
|
75
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
76
|
+
tslib_1.__metadata("design:type", String)
|
|
77
|
+
], InstallableActivity.prototype, "uiType", void 0);
|
|
78
|
+
tslib_1.__decorate([
|
|
79
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
80
|
+
tslib_1.__metadata("design:type", String)
|
|
81
|
+
], InstallableActivity.prototype, "uiSource", void 0);
|
|
82
|
+
tslib_1.__decorate([
|
|
83
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
84
|
+
tslib_1.__metadata("design:type", String)
|
|
85
|
+
], InstallableActivity.prototype, "viewType", void 0);
|
|
86
|
+
tslib_1.__decorate([
|
|
87
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
88
|
+
tslib_1.__metadata("design:type", String)
|
|
89
|
+
], InstallableActivity.prototype, "viewSource", void 0);
|
|
90
|
+
tslib_1.__decorate([
|
|
91
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
92
|
+
tslib_1.__metadata("design:type", String)
|
|
93
|
+
], InstallableActivity.prototype, "reportType", void 0);
|
|
94
|
+
tslib_1.__decorate([
|
|
95
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
96
|
+
tslib_1.__metadata("design:type", String)
|
|
97
|
+
], InstallableActivity.prototype, "reportSource", void 0);
|
|
98
|
+
tslib_1.__decorate([
|
|
99
|
+
(0, type_graphql_1.Field)(type => String, { nullable: true }),
|
|
100
|
+
tslib_1.__metadata("design:type", String)
|
|
101
|
+
], InstallableActivity.prototype, "thumbnail", void 0);
|
|
102
|
+
tslib_1.__decorate([
|
|
103
|
+
(0, type_graphql_1.Field)(type => activity_js_1.Activity, { nullable: true }),
|
|
104
|
+
tslib_1.__metadata("design:type", activity_js_1.Activity
|
|
105
|
+
/**
|
|
106
|
+
* **이 도메인이 이 단계를 쓰나** — 세워진 양식의 결재선에 결재자가 있나.
|
|
107
|
+
*
|
|
108
|
+
* 결재선은 양식이 아니라 **그 현장이 정하는 것**이다(installActivity 머리말). 그래서 같은 업무가
|
|
109
|
+
* 어느 공장에서는 결재를 받고 어느 공장에서는 그냥 지나간다.
|
|
110
|
+
*
|
|
111
|
+
* 그 사실이 지금까지 **기동 로그 한 줄**에만 있었다 — 「결재선 비어 있음 miratek, system」. 로그는
|
|
112
|
+
* 기동할 때 한 번 지나가고 그 뒤로 아무 데도 없다. 사람이 조치해야 하는 사실의 집이 아니다.
|
|
113
|
+
*
|
|
114
|
+
* 세지 않는 것 둘을 적어 둔다.
|
|
115
|
+
*
|
|
116
|
+
* - **사람 수가 아니라 단계 수다.** 역할로 걸린 한 단계는 그 역할을 가진 여러 사람이 본다. 「3명」
|
|
117
|
+
* 이라고 적으면 틀린 수를 말하게 된다.
|
|
118
|
+
* - **참조는 세지 않는다.** 참조는 결재를 막지 않으므로, 참조만 있는 결재선은 결재자가 없는 것과
|
|
119
|
+
* 같다(needsApproval). 세면 「이 단계를 쓴다」로 읽히는데 실제로는 그냥 지나간다.
|
|
120
|
+
*
|
|
121
|
+
* 비어 있다는 것이 무슨 일을 뜻하는지는 **업무마다 다르다** — 부적합 처분은 상신이 막히고, 정비
|
|
122
|
+
* 완료 확인은 확인 없이 닫힌다. 그 결과는 각 업무의 guide 가 말할 자리다. 이 칸은 사실만 낸다.
|
|
123
|
+
*/
|
|
124
|
+
)
|
|
125
|
+
], InstallableActivity.prototype, "activity", void 0);
|
|
126
|
+
tslib_1.__decorate([
|
|
127
|
+
(0, type_graphql_1.Field)(type => type_graphql_1.Int, {
|
|
128
|
+
nullable: true,
|
|
129
|
+
description: 'How many approval steps this activity has in this domain. Steps, not people; references excluded.'
|
|
130
|
+
}),
|
|
131
|
+
tslib_1.__metadata("design:type", Number)
|
|
132
|
+
], InstallableActivity.prototype, "approvalSteps", void 0);
|
|
133
|
+
tslib_1.__decorate([
|
|
134
|
+
(0, type_graphql_1.Field)(type => activity_readiness_js_1.ActivityReadiness, { nullable: true }),
|
|
135
|
+
tslib_1.__metadata("design:type", activity_readiness_js_1.ActivityReadiness)
|
|
136
|
+
], InstallableActivity.prototype, "readiness", void 0);
|
|
137
|
+
exports.InstallableActivity = InstallableActivity = tslib_1.__decorate([
|
|
138
|
+
(0, type_graphql_1.ObjectType)({ description: 'Entity for InstallableActivity' })
|
|
139
|
+
], InstallableActivity);
|
|
140
|
+
//# sourceMappingURL=installable-activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installable-activity.js","sourceRoot":"","sources":["../../../server/service/installable-activity/installable-activity.ts"],"names":[],"mappings":"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","sourcesContent":["import { Field, Int, ObjectType } from 'type-graphql'\n\nimport {\n Activity,\n ActivityStartingType,\n ActivityType,\n ActivityUIType,\n MultipleInstanceType\n} from '../activity/activity.js'\nimport { ActivityModelItem } from '../activity/activity-model-type.js'\nimport { ActivityDecisionKeyItem } from '../activity/activity-decision-key-item-type.js'\nimport { ActivityReadiness } from './activity-readiness.js'\nimport { UpdateActivityInstanceStateAddendum } from '../../controllers/common.js'\n\n@ObjectType({ description: 'Entity for InstallableActivity' })\nexport class InstallableActivity {\n /**\n * The key. **Not a name to show anyone.**\n *\n * The callback is found by this value (`activityInstance.activity.name`), so renaming it stops\n * the callback from running — an approval completes and the effect never happens, with nothing\n * on screen to say so. plant hit exactly that on 2026-09-01.\n */\n @Field({ nullable: true })\n name?: string\n\n /**\n * What to call this work on screen, when the key is not something a person reads.\n *\n * The catalog showed 「MES Disposition Approval」 among twenty-three Korean cards because the key\n * was the only name it had. Declared work already carried a `label` for this; built work had\n * nowhere to put one, so the identifier leaked into the screen.\n *\n * Optional. Without it the catalog falls back to the key, which is right for activities whose\n * key already reads as a name.\n */\n @Field({ nullable: true, description: 'What to call this work on screen, when the key is not readable' })\n label?: string\n\n @Field({ nullable: true, description: 'Release information of the Activity' })\n release?: string\n\n @Field({ nullable: true, description: 'Provider information of the Activity' })\n provider?: string\n\n /** One line for developers, in English, like every other GraphQL description in this repo. */\n @Field({ nullable: true })\n description?: string\n\n /**\n * What this work is, **in the words of the person who receives it.**\n *\n * `description` is written for us and it is English by convention, so a Korean screen showing it\n * to an approver says nothing useful. This field is the sentence that person actually needs:\n * when the item reaches them, and what happens once they approve it.\n *\n * Plain sentences, never keys. A translation is read from `guideTKeys` — one key per line,\n * computed from `name` — with the sentence here as its default. A value that could be either a key\n * or a sentence leaves no way to count which keys a locale is missing.\n */\n @Field(type => [String], {\n nullable: true,\n description: 'What this work is, for the person who receives it. Plain sentences; translated through guideTKeys.'\n })\n guide?: string[]\n\n @Field({ nullable: true })\n category?: string\n\n @Field({ nullable: true })\n activityType?: ActivityType\n\n @Field({ nullable: true })\n priority?: number = 1\n\n @Field({ nullable: true })\n startingType?: ActivityStartingType\n\n @Field({\n nullable: true,\n description:\n 'Parallel or sequential are properties as a multi-instance activity, otherwise it means a single instance.'\n })\n multiple?: MultipleInstanceType\n\n @Field(type => [ActivityModelItem], { nullable: true })\n model?: ActivityModelItem[]\n\n /**\n * Which input values an approver judges by. See Activity.decisionKeys.\n *\n * A field declared here reaches the Activity row only if it is named in ACTIVITY_ROW_FIELDS and\n * the entity has a column for it. It used to be a spread, which dropped what it did not recognise\n * and reported success; naming the fields means a new one has to be wired over on purpose.\n */\n @Field(type => [ActivityDecisionKeyItem], { nullable: true })\n decisionKeys?: ActivityDecisionKeyItem[]\n\n @Field({ nullable: true })\n uiType?: ActivityUIType\n\n @Field({ nullable: true })\n uiSource?: string\n\n @Field({ nullable: true })\n viewType?: ActivityUIType\n\n @Field({ nullable: true })\n viewSource?: string\n\n @Field({ nullable: true })\n reportType?: ActivityUIType\n\n @Field({ nullable: true })\n reportSource?: string\n\n @Field(type => String, { nullable: true })\n thumbnail?: string\n\n @Field(type => Activity, { nullable: true })\n activity?: Activity\n\n /**\n * **이 도메인이 이 단계를 쓰나** — 세워진 양식의 결재선에 결재자가 있나.\n *\n * 결재선은 양식이 아니라 **그 현장이 정하는 것**이다(installActivity 머리말). 그래서 같은 업무가\n * 어느 공장에서는 결재를 받고 어느 공장에서는 그냥 지나간다.\n *\n * 그 사실이 지금까지 **기동 로그 한 줄**에만 있었다 — 「결재선 비어 있음 miratek, system」. 로그는\n * 기동할 때 한 번 지나가고 그 뒤로 아무 데도 없다. 사람이 조치해야 하는 사실의 집이 아니다.\n *\n * 세지 않는 것 둘을 적어 둔다.\n *\n * - **사람 수가 아니라 단계 수다.** 역할로 걸린 한 단계는 그 역할을 가진 여러 사람이 본다. 「3명」\n * 이라고 적으면 틀린 수를 말하게 된다.\n * - **참조는 세지 않는다.** 참조는 결재를 막지 않으므로, 참조만 있는 결재선은 결재자가 없는 것과\n * 같다(needsApproval). 세면 「이 단계를 쓴다」로 읽히는데 실제로는 그냥 지나간다.\n *\n * 비어 있다는 것이 무슨 일을 뜻하는지는 **업무마다 다르다** — 부적합 처분은 상신이 막히고, 정비\n * 완료 확인은 확인 없이 닫힌다. 그 결과는 각 업무의 guide 가 말할 자리다. 이 칸은 사실만 낸다.\n */\n @Field(type => Int, {\n nullable: true,\n description: 'How many approval steps this activity has in this domain. Steps, not people; references excluded.'\n })\n approvalSteps?: number\n\n /**\n * What the registering module says about how far along this type is.\n *\n * Declared, not computed — see ActivityReadiness. Missing means nobody has said, which the\n * screen shows as 「선언 없음」 rather than as a zero.\n */\n @Field(type => ActivityReadiness, { nullable: true })\n readiness?: ActivityReadiness\n\n callback?: (content: any, addendum: UpdateActivityInstanceStateAddendum, context: ResolverContext) => void\n}\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sorting a column where a missing value means "not yet", not "smallest".
|
|
3
|
+
*
|
|
4
|
+
* Where NULL lands is decided by the database: sqlite puts it first ascending, postgres last. Left
|
|
5
|
+
* alone, the same code orders one way in development and another in production. And on a due-date
|
|
6
|
+
* column the database's answer is wrong either way — a task with no deadline is not the most urgent
|
|
7
|
+
* one.
|
|
8
|
+
*
|
|
9
|
+
* ORDER BY ... NULLS LAST would say it directly, but it is postgres and oracle syntax; mysql and
|
|
10
|
+
* mssql raise a syntax error, and this framework has to run on five drivers. TypeORM's third
|
|
11
|
+
* orderBy argument is no help either — SelectQueryBuilder appends "ASC NULLS LAST" without checking
|
|
12
|
+
* the driver.
|
|
13
|
+
*
|
|
14
|
+
* CASE WHEN ... IS NULL THEN 1 ELSE 0 END is standard SQL and behaves the same on all five.
|
|
15
|
+
*
|
|
16
|
+
* The expression cannot go straight into orderBy: TypeORM reads everything up to the first dot as
|
|
17
|
+
* an alias, and the field reference inside contains one — `"CASE WHEN "at"" alias was not found`.
|
|
18
|
+
* So it is added to the select under a name, and the ordering is done by that name.
|
|
19
|
+
*/
|
|
20
|
+
/** The select name the rank is added under. No dots, so TypeORM passes it through untouched. */
|
|
21
|
+
export declare const NULL_RANK_ALIAS = "nulls_last_rank";
|
|
22
|
+
/**
|
|
23
|
+
* Rank rows so the ones with no value sort last.
|
|
24
|
+
*
|
|
25
|
+
* `field` is a fully quoted column reference, resolved by the caller from TypeORM metadata — this
|
|
26
|
+
* module never spells a column name itself. The rank is always ordered ascending, in either
|
|
27
|
+
* direction of the sort it accompanies: an empty deadline belongs at the bottom whichever way the
|
|
28
|
+
* dated rows are pointing.
|
|
29
|
+
*/
|
|
30
|
+
export declare function nullsLastSelect(field: string): string;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Sorting a column where a missing value means "not yet", not "smallest".
|
|
4
|
+
*
|
|
5
|
+
* Where NULL lands is decided by the database: sqlite puts it first ascending, postgres last. Left
|
|
6
|
+
* alone, the same code orders one way in development and another in production. And on a due-date
|
|
7
|
+
* column the database's answer is wrong either way — a task with no deadline is not the most urgent
|
|
8
|
+
* one.
|
|
9
|
+
*
|
|
10
|
+
* ORDER BY ... NULLS LAST would say it directly, but it is postgres and oracle syntax; mysql and
|
|
11
|
+
* mssql raise a syntax error, and this framework has to run on five drivers. TypeORM's third
|
|
12
|
+
* orderBy argument is no help either — SelectQueryBuilder appends "ASC NULLS LAST" without checking
|
|
13
|
+
* the driver.
|
|
14
|
+
*
|
|
15
|
+
* CASE WHEN ... IS NULL THEN 1 ELSE 0 END is standard SQL and behaves the same on all five.
|
|
16
|
+
*
|
|
17
|
+
* The expression cannot go straight into orderBy: TypeORM reads everything up to the first dot as
|
|
18
|
+
* an alias, and the field reference inside contains one — `"CASE WHEN "at"" alias was not found`.
|
|
19
|
+
* So it is added to the select under a name, and the ordering is done by that name.
|
|
20
|
+
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.NULL_RANK_ALIAS = void 0;
|
|
23
|
+
exports.nullsLastSelect = nullsLastSelect;
|
|
24
|
+
/** The select name the rank is added under. No dots, so TypeORM passes it through untouched. */
|
|
25
|
+
exports.NULL_RANK_ALIAS = 'nulls_last_rank';
|
|
26
|
+
/**
|
|
27
|
+
* Rank rows so the ones with no value sort last.
|
|
28
|
+
*
|
|
29
|
+
* `field` is a fully quoted column reference, resolved by the caller from TypeORM metadata — this
|
|
30
|
+
* module never spells a column name itself. The rank is always ordered ascending, in either
|
|
31
|
+
* direction of the sort it accompanies: an empty deadline belongs at the bottom whichever way the
|
|
32
|
+
* dated rows are pointing.
|
|
33
|
+
*/
|
|
34
|
+
function nullsLastSelect(field) {
|
|
35
|
+
return `CASE WHEN ${field} IS NULL THEN 1 ELSE 0 END`;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=nulls-last.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nulls-last.js","sourceRoot":"","sources":["../../server/service/nulls-last.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AAaH,0CAEC;AAbD,gGAAgG;AACnF,QAAA,eAAe,GAAG,iBAAiB,CAAA;AAEhD;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,OAAO,aAAa,KAAK,4BAA4B,CAAA;AACvD,CAAC","sourcesContent":["/**\n * Sorting a column where a missing value means \"not yet\", not \"smallest\".\n *\n * Where NULL lands is decided by the database: sqlite puts it first ascending, postgres last. Left\n * alone, the same code orders one way in development and another in production. And on a due-date\n * column the database's answer is wrong either way — a task with no deadline is not the most urgent\n * one.\n *\n * ORDER BY ... NULLS LAST would say it directly, but it is postgres and oracle syntax; mysql and\n * mssql raise a syntax error, and this framework has to run on five drivers. TypeORM's third\n * orderBy argument is no help either — SelectQueryBuilder appends \"ASC NULLS LAST\" without checking\n * the driver.\n *\n * CASE WHEN ... IS NULL THEN 1 ELSE 0 END is standard SQL and behaves the same on all five.\n *\n * The expression cannot go straight into orderBy: TypeORM reads everything up to the first dot as\n * an alias, and the field reference inside contains one — `\"CASE WHEN \"at\"\" alias was not found`.\n * So it is added to the select under a name, and the ordering is done by that name.\n */\n\n/** The select name the rank is added under. No dots, so TypeORM passes it through untouched. */\nexport const NULL_RANK_ALIAS = 'nulls_last_rank'\n\n/**\n * Rank rows so the ones with no value sort last.\n *\n * `field` is a fully quoted column reference, resolved by the caller from TypeORM metadata — this\n * module never spells a column name itself. The rank is always ordered ascending, in either\n * direction of the sort it accompanies: an empty deadline belongs at the bottom whichever way the\n * dated rows are pointing.\n */\nexport function nullsLastSelect(field: string): string {\n return `CASE WHEN ${field} IS NULL THEN 1 ELSE 0 END`\n}\n"]}
|