@nocobase/app-plugin-projects 0.1.0-beta.7 → 0.1.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/README.md +55 -103
- package/dist/client/api/client.d.ts +4 -23
- package/dist/client/api/client.d.ts.map +1 -1
- package/dist/client/api/client.js +4 -48
- package/dist/client/api/client.js.map +1 -1
- package/dist/client/api/keys.d.ts +2 -8
- package/dist/client/api/keys.d.ts.map +1 -1
- package/dist/client/api/keys.js +2 -17
- package/dist/client/api/keys.js.map +1 -1
- package/dist/client/components/pm-badges.d.ts +1 -1
- package/dist/client/components/pm-badges.d.ts.map +1 -1
- package/dist/client/components/pm-executor-select.d.ts +2 -0
- package/dist/client/components/pm-executor-select.d.ts.map +1 -1
- package/dist/client/components/pm-executor-select.js.map +1 -1
- package/dist/client/components/ui/radio-group.d.ts +7 -0
- package/dist/client/components/ui/radio-group.d.ts.map +1 -0
- package/dist/client/components/ui/radio-group.js +12 -0
- package/dist/client/components/ui/radio-group.js.map +1 -0
- package/dist/client/config.d.ts +0 -2
- package/dist/client/config.d.ts.map +1 -1
- package/dist/client/config.js +1 -5
- package/dist/client/config.js.map +1 -1
- package/dist/client/issues.d.ts +2 -4
- package/dist/client/issues.d.ts.map +1 -1
- package/dist/client/issues.js +2 -3
- package/dist/client/issues.js.map +1 -1
- package/dist/client/kit/plans/lookup.d.ts +2 -2
- package/dist/client/kit/plans/lookup.js +3 -3
- package/dist/client/kit/plans/lookup.js.map +1 -1
- package/dist/client/kit/plans/plan-row.js +2 -2
- package/dist/client/kit/plans/plan-row.js.map +1 -1
- package/dist/client/kit.d.ts +2 -9
- package/dist/client/kit.d.ts.map +1 -1
- package/dist/client/kit.js +2 -9
- package/dist/client/kit.js.map +1 -1
- package/dist/client/lib/kinds.d.ts +3 -29
- package/dist/client/lib/kinds.d.ts.map +1 -1
- package/dist/client/lib/kinds.js +7 -46
- package/dist/client/lib/kinds.js.map +1 -1
- package/dist/client/lib/status-events.d.ts +21 -0
- package/dist/client/lib/status-events.d.ts.map +1 -0
- package/dist/client/lib/status-events.js +31 -0
- package/dist/client/lib/status-events.js.map +1 -0
- package/dist/client/lib/status.d.ts +5 -7
- package/dist/client/lib/status.d.ts.map +1 -1
- package/dist/client/lib/status.js +5 -7
- package/dist/client/lib/status.js.map +1 -1
- package/dist/client/locales/en-US.d.ts +6 -256
- package/dist/client/locales/en-US.d.ts.map +1 -1
- package/dist/client/locales/en-US.js +9 -255
- package/dist/client/locales/en-US.js.map +1 -1
- package/dist/client/locales/zh-CN.d.ts.map +1 -1
- package/dist/client/locales/zh-CN.js +10 -248
- package/dist/client/locales/zh-CN.js.map +1 -1
- package/dist/client/pages/issues/board/board-model.d.ts +1 -1
- package/dist/client/pages/issues/board/board-model.js +1 -1
- package/dist/client/pages/issues/board/use-board-move.d.ts +2 -8
- package/dist/client/pages/issues/board/use-board-move.d.ts.map +1 -1
- package/dist/client/pages/issues/board/use-board-move.js +5 -42
- package/dist/client/pages/issues/board/use-board-move.js.map +1 -1
- package/dist/client/pages/issues/detail/new-subtask.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/new-subtask.js +6 -28
- package/dist/client/pages/issues/detail/new-subtask.js.map +1 -1
- package/dist/client/pages/issues/detail/subtask-model.d.ts +1 -1
- package/dist/client/pages/issues/detail/subtask-model.js +1 -1
- package/dist/client/pages/issues/detail/use-confirmed-update.d.ts +6 -8
- package/dist/client/pages/issues/detail/use-confirmed-update.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/use-confirmed-update.js +9 -42
- package/dist/client/pages/issues/detail/use-confirmed-update.js.map +1 -1
- package/dist/client/pages/issues/detail/use-issue-page.d.ts +0 -4
- package/dist/client/pages/issues/detail/use-issue-page.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/use-issue-page.js +0 -14
- package/dist/client/pages/issues/detail/use-issue-page.js.map +1 -1
- package/dist/client/pages/issues/detail/use-issue-update.d.ts +2 -2
- package/dist/client/pages/issues/detail/use-issue-update.d.ts.map +1 -1
- package/dist/client/pages/issues/detail/use-issue-update.js +4 -6
- package/dist/client/pages/issues/detail/use-issue-update.js.map +1 -1
- package/dist/client/pages/issues/new-issue-form.d.ts +11 -8
- package/dist/client/pages/issues/new-issue-form.d.ts.map +1 -1
- package/dist/client/pages/issues/new-issue-form.js +47 -79
- package/dist/client/pages/issues/new-issue-form.js.map +1 -1
- package/dist/client/pages/issues/new.d.ts.map +1 -1
- package/dist/client/pages/issues/new.js +2 -1
- package/dist/client/pages/issues/new.js.map +1 -1
- package/dist/client/pages/issues/use-executor-options.d.ts +3 -2
- package/dist/client/pages/issues/use-executor-options.d.ts.map +1 -1
- package/dist/client/pages/issues/use-executor-options.js +5 -23
- package/dist/client/pages/issues/use-executor-options.js.map +1 -1
- package/dist/client/pages/projects/detail/use-project-page.d.ts +4 -26
- package/dist/client/pages/projects/detail/use-project-page.d.ts.map +1 -1
- package/dist/client/pages/projects/detail/use-project-page.js +7 -53
- package/dist/client/pages/projects/detail/use-project-page.js.map +1 -1
- package/dist/client/pages/projects/new.d.ts +1 -1
- package/dist/client/pages/projects/new.d.ts.map +1 -1
- package/dist/client/pages/projects/new.js +3 -7
- package/dist/client/pages/projects/new.js.map +1 -1
- package/dist/client/plugin.d.ts +3 -0
- package/dist/client/plugin.d.ts.map +1 -1
- package/dist/client/plugin.js +8 -1
- package/dist/client/plugin.js.map +1 -1
- package/dist/client/projects.d.ts +2 -2
- package/dist/client/projects.d.ts.map +1 -1
- package/dist/client/projects.js +2 -2
- package/dist/client/projects.js.map +1 -1
- package/dist/client/providers/query-provider.d.ts.map +1 -1
- package/dist/client/providers/query-provider.js +0 -4
- package/dist/client/providers/query-provider.js.map +1 -1
- package/dist/database/migrations/.manifest.json +4 -0
- package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts +4 -0
- package/dist/database/migrations/202610240010_pm_fixed_statuses.d.ts.map +1 -0
- package/dist/database/migrations/202610240010_pm_fixed_statuses.js +189 -0
- package/dist/database/migrations/202610240010_pm_fixed_statuses.js.map +1 -0
- package/dist/server/composition.d.ts +11 -17
- package/dist/server/composition.d.ts.map +1 -1
- package/dist/server/composition.js +11 -56
- package/dist/server/composition.js.map +1 -1
- package/dist/server/domains/issues/index.d.ts +1 -1
- package/dist/server/domains/issues/index.d.ts.map +1 -1
- package/dist/server/domains/issues/index.js +1 -1
- package/dist/server/domains/issues/index.js.map +1 -1
- package/dist/server/domains/issues/issue.context.d.ts +6 -22
- package/dist/server/domains/issues/issue.context.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.context.js +1 -22
- package/dist/server/domains/issues/issue.context.js.map +1 -1
- package/dist/server/domains/issues/issue.fields.d.ts +3 -3
- package/dist/server/domains/issues/issue.fields.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.fields.js +12 -15
- package/dist/server/domains/issues/issue.fields.js.map +1 -1
- package/dist/server/domains/issues/issue.projects.d.ts +2 -2
- package/dist/server/domains/issues/issue.projects.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.projects.js +1 -2
- package/dist/server/domains/issues/issue.projects.js.map +1 -1
- package/dist/server/domains/issues/issue.queries.d.ts +5 -7
- package/dist/server/domains/issues/issue.queries.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.queries.js +12 -41
- package/dist/server/domains/issues/issue.queries.js.map +1 -1
- package/dist/server/domains/issues/issue.routes.d.ts +1 -1
- package/dist/server/domains/issues/issue.routes.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.routes.js +17 -37
- package/dist/server/domains/issues/issue.routes.js.map +1 -1
- package/dist/server/domains/issues/issue.service.d.ts +20 -44
- package/dist/server/domains/issues/issue.service.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.service.js +19 -80
- package/dist/server/domains/issues/issue.service.js.map +1 -1
- package/dist/server/domains/issues/issue.status.d.ts +6 -10
- package/dist/server/domains/issues/issue.status.d.ts.map +1 -1
- package/dist/server/domains/issues/issue.status.js +3 -20
- package/dist/server/domains/issues/issue.status.js.map +1 -1
- package/dist/server/domains/issues/ports.d.ts +19 -36
- package/dist/server/domains/issues/ports.d.ts.map +1 -1
- package/dist/server/domains/issues/ports.js +0 -5
- package/dist/server/domains/issues/ports.js.map +1 -1
- package/dist/server/domains/notices/notice.planner.d.ts +2 -1
- package/dist/server/domains/notices/notice.planner.d.ts.map +1 -1
- package/dist/server/domains/notices/notice.planner.js +2 -1
- package/dist/server/domains/notices/notice.planner.js.map +1 -1
- package/dist/server/domains/notices/notice.rules.d.ts +1 -4
- package/dist/server/domains/notices/notice.rules.d.ts.map +1 -1
- package/dist/server/domains/notices/notice.rules.js +4 -5
- package/dist/server/domains/notices/notice.rules.js.map +1 -1
- package/dist/server/domains/plans/plan.ops.d.ts +3 -3
- package/dist/server/domains/plans/plan.ops.d.ts.map +1 -1
- package/dist/server/domains/plans/plan.ops.js +7 -10
- package/dist/server/domains/plans/plan.ops.js.map +1 -1
- package/dist/server/domains/projects/index.d.ts +1 -1
- package/dist/server/domains/projects/index.d.ts.map +1 -1
- package/dist/server/domains/projects/index.js.map +1 -1
- package/dist/server/domains/projects/project.routes.d.ts.map +1 -1
- package/dist/server/domains/projects/project.routes.js +1 -3
- package/dist/server/domains/projects/project.routes.js.map +1 -1
- package/dist/server/domains/projects/project.service.d.ts +0 -7
- package/dist/server/domains/projects/project.service.d.ts.map +1 -1
- package/dist/server/domains/projects/project.service.js +0 -17
- package/dist/server/domains/projects/project.service.js.map +1 -1
- package/dist/server/domains/projects/project.store.d.ts +0 -1
- package/dist/server/domains/projects/project.store.d.ts.map +1 -1
- package/dist/server/domains/projects/project.store.js +0 -1
- package/dist/server/domains/projects/project.store.js.map +1 -1
- package/dist/server/domains/reports/report.service.d.ts +1 -12
- package/dist/server/domains/reports/report.service.d.ts.map +1 -1
- package/dist/server/domains/reports/report.service.js +23 -79
- package/dist/server/domains/reports/report.service.js.map +1 -1
- package/dist/server/domains/statuses/event-types.d.ts +16 -0
- package/dist/server/domains/statuses/event-types.d.ts.map +1 -0
- package/dist/server/domains/statuses/event-types.js +31 -0
- package/dist/server/domains/statuses/event-types.js.map +1 -0
- package/dist/server/domains/statuses/index.d.ts +4 -0
- package/dist/server/domains/statuses/index.d.ts.map +1 -0
- package/dist/server/domains/statuses/index.js +4 -0
- package/dist/server/domains/statuses/index.js.map +1 -0
- package/dist/server/domains/statuses/status.catalog.d.ts +15 -0
- package/dist/server/domains/statuses/status.catalog.d.ts.map +1 -0
- package/dist/server/domains/statuses/status.catalog.js +119 -0
- package/dist/server/domains/statuses/status.catalog.js.map +1 -0
- package/dist/server/domains/statuses/status.events.d.ts +15 -0
- package/dist/server/domains/statuses/status.events.d.ts.map +1 -0
- package/dist/server/domains/statuses/status.events.js +2 -0
- package/dist/server/domains/statuses/status.events.js.map +1 -0
- package/dist/server/domains/statuses/status.fire.d.ts +48 -0
- package/dist/server/domains/statuses/status.fire.d.ts.map +1 -0
- package/dist/server/domains/statuses/status.fire.js +38 -0
- package/dist/server/domains/statuses/status.fire.js.map +1 -0
- package/dist/server/domains/subscriptions/subscription.routes.d.ts.map +1 -1
- package/dist/server/domains/subscriptions/subscription.routes.js +4 -2
- package/dist/server/domains/subscriptions/subscription.routes.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.blocking.d.ts +4 -4
- package/dist/server/domains/subtasks/subtask.blocking.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.blocking.js +2 -10
- package/dist/server/domains/subtasks/subtask.blocking.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.release.d.ts +5 -9
- package/dist/server/domains/subtasks/subtask.release.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.release.js +0 -4
- package/dist/server/domains/subtasks/subtask.release.js.map +1 -1
- package/dist/server/domains/subtasks/subtask.service.d.ts +1 -3
- package/dist/server/domains/subtasks/subtask.service.d.ts.map +1 -1
- package/dist/server/domains/subtasks/subtask.service.js +0 -12
- package/dist/server/domains/subtasks/subtask.service.js.map +1 -1
- package/dist/server/kernel/http.d.ts.map +1 -1
- package/dist/server/kernel/http.js +0 -3
- package/dist/server/kernel/http.js.map +1 -1
- package/dist/server/kernel/kinds.d.ts +24 -6
- package/dist/server/kernel/kinds.d.ts.map +1 -1
- package/dist/server/kernel/kinds.js +21 -1
- package/dist/server/kernel/kinds.js.map +1 -1
- package/dist/server/kernel/work.d.ts +8 -4
- package/dist/server/kernel/work.d.ts.map +1 -1
- package/dist/server/kernel/work.js +21 -10
- package/dist/server/kernel/work.js.map +1 -1
- package/dist/server/locales/en-US.d.ts +0 -9
- package/dist/server/locales/en-US.d.ts.map +1 -1
- package/dist/server/locales/en-US.js +0 -9
- package/dist/server/locales/en-US.js.map +1 -1
- package/dist/server/locales/zh-CN.d.ts.map +1 -1
- package/dist/server/locales/zh-CN.js +2 -11
- package/dist/server/locales/zh-CN.js.map +1 -1
- package/dist/server/providers/notifications.d.ts +1 -0
- package/dist/server/providers/notifications.d.ts.map +1 -1
- package/dist/server/providers/notifications.js +6 -120
- package/dist/server/providers/notifications.js.map +1 -1
- package/dist/server/providers/projects.d.ts +3 -8
- package/dist/server/providers/projects.d.ts.map +1 -1
- package/dist/server/providers/projects.js +8 -27
- package/dist/server/providers/projects.js.map +1 -1
- package/dist/server/routes/api.d.ts.map +1 -1
- package/dist/server/routes/api.js +0 -6
- package/dist/server/routes/api.js.map +1 -1
- package/dist/server/routes/schemas.d.ts +1 -27
- package/dist/server/routes/schemas.d.ts.map +1 -1
- package/dist/server/routes/schemas.js +5 -166
- package/dist/server/routes/schemas.js.map +1 -1
- package/dist/server/tokens.d.ts +12 -34
- package/dist/server/tokens.d.ts.map +1 -1
- package/dist/server/tokens.js +4 -16
- package/dist/server/tokens.js.map +1 -1
- package/dist/shared/access.d.ts +0 -1
- package/dist/shared/access.d.ts.map +1 -1
- package/dist/shared/access.js +2 -11
- package/dist/shared/access.js.map +1 -1
- package/dist/shared/issues.d.ts +5 -36
- package/dist/shared/issues.d.ts.map +1 -1
- package/dist/shared/issues.js.map +1 -1
- package/dist/shared/kinds.d.ts +3 -1
- package/dist/shared/kinds.d.ts.map +1 -1
- package/dist/shared/kinds.js +1 -1
- package/dist/shared/locales/access.en-US.d.ts +0 -1
- package/dist/shared/locales/access.en-US.d.ts.map +1 -1
- package/dist/shared/locales/access.en-US.js +1 -2
- package/dist/shared/locales/access.en-US.js.map +1 -1
- package/dist/shared/locales/access.zh-CN.d.ts.map +1 -1
- package/dist/shared/locales/access.zh-CN.js +1 -2
- package/dist/shared/locales/access.zh-CN.js.map +1 -1
- package/dist/shared/plans.d.ts +4 -6
- package/dist/shared/plans.d.ts.map +1 -1
- package/dist/shared/plans.js +2 -1
- package/dist/shared/plans.js.map +1 -1
- package/dist/shared/projects.d.ts +0 -4
- package/dist/shared/projects.d.ts.map +1 -1
- package/dist/shared/projects.js.map +1 -1
- package/dist/shared/realtime.d.ts +1 -1
- package/dist/shared/realtime.d.ts.map +1 -1
- package/dist/shared/statuses.d.ts +42 -0
- package/dist/shared/statuses.d.ts.map +1 -0
- package/dist/shared/statuses.js +73 -0
- package/dist/shared/statuses.js.map +1 -0
- package/dist/shared/subtasks.d.ts +3 -3
- package/dist/shared/subtasks.d.ts.map +1 -1
- package/package.json +7 -15
- package/skills/nocobase-app-plugin-projects/SKILL.md +26 -50
- package/dist/client/hooks/use-workflow-leave-guard.d.ts +0 -3
- package/dist/client/hooks/use-workflow-leave-guard.d.ts.map +0 -1
- package/dist/client/hooks/use-workflow-leave-guard.js +0 -31
- package/dist/client/hooks/use-workflow-leave-guard.js.map +0 -1
- package/dist/client/lib/built-in-rule-editors.d.ts +0 -13
- package/dist/client/lib/built-in-rule-editors.d.ts.map +0 -1
- package/dist/client/lib/built-in-rule-editors.js +0 -86
- package/dist/client/lib/built-in-rule-editors.js.map +0 -1
- package/dist/client/lib/built-in-rule-types.d.ts +0 -3
- package/dist/client/lib/built-in-rule-types.d.ts.map +0 -1
- package/dist/client/lib/built-in-rule-types.js +0 -63
- package/dist/client/lib/built-in-rule-types.js.map +0 -1
- package/dist/client/lib/status-rule-types.d.ts +0 -60
- package/dist/client/lib/status-rule-types.d.ts.map +0 -1
- package/dist/client/lib/status-rule-types.js +0 -38
- package/dist/client/lib/status-rule-types.js.map +0 -1
- package/dist/client/lib/workflow-events.d.ts +0 -25
- package/dist/client/lib/workflow-events.d.ts.map +0 -1
- package/dist/client/lib/workflow-events.js +0 -30
- package/dist/client/lib/workflow-events.js.map +0 -1
- package/dist/client/pages/config/workflow-detail.d.ts +0 -10
- package/dist/client/pages/config/workflow-detail.d.ts.map +0 -1
- package/dist/client/pages/config/workflow-detail.js +0 -207
- package/dist/client/pages/config/workflow-detail.js.map +0 -1
- package/dist/client/pages/config/workflows/flow-editor.d.ts +0 -15
- package/dist/client/pages/config/workflows/flow-editor.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/flow-editor.js +0 -76
- package/dist/client/pages/config/workflows/flow-editor.js.map +0 -1
- package/dist/client/pages/config/workflows/status-rules.d.ts +0 -21
- package/dist/client/pages/config/workflows/status-rules.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/status-rules.js +0 -203
- package/dist/client/pages/config/workflows/status-rules.js.map +0 -1
- package/dist/client/pages/config/workflows/transitions-matrix.d.ts +0 -20
- package/dist/client/pages/config/workflows/transitions-matrix.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/transitions-matrix.js +0 -114
- package/dist/client/pages/config/workflows/transitions-matrix.js.map +0 -1
- package/dist/client/pages/config/workflows/use-status-name.d.ts +0 -4
- package/dist/client/pages/config/workflows/use-status-name.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/use-status-name.js +0 -17
- package/dist/client/pages/config/workflows/use-status-name.js.map +0 -1
- package/dist/client/pages/config/workflows/workflow-diagram.d.ts +0 -17
- package/dist/client/pages/config/workflows/workflow-diagram.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/workflow-diagram.js +0 -298
- package/dist/client/pages/config/workflows/workflow-diagram.js.map +0 -1
- package/dist/client/pages/config/workflows/workflow-model.d.ts +0 -157
- package/dist/client/pages/config/workflows/workflow-model.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/workflow-model.js +0 -403
- package/dist/client/pages/config/workflows/workflow-model.js.map +0 -1
- package/dist/client/pages/config/workflows/workflow-views.d.ts +0 -31
- package/dist/client/pages/config/workflows/workflow-views.d.ts.map +0 -1
- package/dist/client/pages/config/workflows/workflow-views.js +0 -76
- package/dist/client/pages/config/workflows/workflow-views.js.map +0 -1
- package/dist/client/pages/config/workflows.d.ts +0 -8
- package/dist/client/pages/config/workflows.d.ts.map +0 -1
- package/dist/client/pages/config/workflows.js +0 -139
- package/dist/client/pages/config/workflows.js.map +0 -1
- package/dist/client/pages/issues/detail/start-dialog.d.ts +0 -20
- package/dist/client/pages/issues/detail/start-dialog.d.ts.map +0 -1
- package/dist/client/pages/issues/detail/start-dialog.js +0 -31
- package/dist/client/pages/issues/detail/start-dialog.js.map +0 -1
- package/dist/client/pages/projects/workflow-select.d.ts +0 -14
- package/dist/client/pages/projects/workflow-select.d.ts.map +0 -1
- package/dist/client/pages/projects/workflow-select.js +0 -34
- package/dist/client/pages/projects/workflow-select.js.map +0 -1
- package/dist/server/domains/approvals/approval.events.d.ts +0 -47
- package/dist/server/domains/approvals/approval.events.d.ts.map +0 -1
- package/dist/server/domains/approvals/approval.events.js +0 -2
- package/dist/server/domains/approvals/approval.events.js.map +0 -1
- package/dist/server/domains/approvals/approval.lifecycle.d.ts +0 -8
- package/dist/server/domains/approvals/approval.lifecycle.d.ts.map +0 -1
- package/dist/server/domains/approvals/approval.lifecycle.js +0 -54
- package/dist/server/domains/approvals/approval.lifecycle.js.map +0 -1
- package/dist/server/domains/approvals/approval.routes.d.ts +0 -10
- package/dist/server/domains/approvals/approval.routes.d.ts.map +0 -1
- package/dist/server/domains/approvals/approval.routes.js +0 -87
- package/dist/server/domains/approvals/approval.routes.js.map +0 -1
- package/dist/server/domains/approvals/approval.service.d.ts +0 -72
- package/dist/server/domains/approvals/approval.service.d.ts.map +0 -1
- package/dist/server/domains/approvals/approval.service.js +0 -261
- package/dist/server/domains/approvals/approval.service.js.map +0 -1
- package/dist/server/domains/approvals/approval.store.d.ts +0 -42
- package/dist/server/domains/approvals/approval.store.d.ts.map +0 -1
- package/dist/server/domains/approvals/approval.store.js +0 -66
- package/dist/server/domains/approvals/approval.store.js.map +0 -1
- package/dist/server/domains/approvals/index.d.ts +0 -4
- package/dist/server/domains/approvals/index.d.ts.map +0 -1
- package/dist/server/domains/approvals/index.js +0 -3
- package/dist/server/domains/approvals/index.js.map +0 -1
- package/dist/server/domains/checklists/checklist.routes.d.ts +0 -9
- package/dist/server/domains/checklists/checklist.routes.d.ts.map +0 -1
- package/dist/server/domains/checklists/checklist.routes.js +0 -62
- package/dist/server/domains/checklists/checklist.routes.js.map +0 -1
- package/dist/server/domains/checklists/checklist.service.d.ts +0 -26
- package/dist/server/domains/checklists/checklist.service.d.ts.map +0 -1
- package/dist/server/domains/checklists/checklist.service.js +0 -80
- package/dist/server/domains/checklists/checklist.service.js.map +0 -1
- package/dist/server/domains/checklists/checklist.store.d.ts +0 -32
- package/dist/server/domains/checklists/checklist.store.d.ts.map +0 -1
- package/dist/server/domains/checklists/checklist.store.js +0 -66
- package/dist/server/domains/checklists/checklist.store.js.map +0 -1
- package/dist/server/domains/checklists/index.d.ts +0 -4
- package/dist/server/domains/checklists/index.d.ts.map +0 -1
- package/dist/server/domains/checklists/index.js +0 -4
- package/dist/server/domains/checklists/index.js.map +0 -1
- package/dist/server/domains/workflows/built-in-rule-types.d.ts +0 -40
- package/dist/server/domains/workflows/built-in-rule-types.d.ts.map +0 -1
- package/dist/server/domains/workflows/built-in-rule-types.js +0 -260
- package/dist/server/domains/workflows/built-in-rule-types.js.map +0 -1
- package/dist/server/domains/workflows/event-types.d.ts +0 -21
- package/dist/server/domains/workflows/event-types.d.ts.map +0 -1
- package/dist/server/domains/workflows/event-types.js +0 -31
- package/dist/server/domains/workflows/event-types.js.map +0 -1
- package/dist/server/domains/workflows/index.d.ts +0 -10
- package/dist/server/domains/workflows/index.d.ts.map +0 -1
- package/dist/server/domains/workflows/index.js +0 -10
- package/dist/server/domains/workflows/index.js.map +0 -1
- package/dist/server/domains/workflows/rule-types.d.ts +0 -129
- package/dist/server/domains/workflows/rule-types.d.ts.map +0 -1
- package/dist/server/domains/workflows/rule-types.js +0 -33
- package/dist/server/domains/workflows/rule-types.js.map +0 -1
- package/dist/server/domains/workflows/templates.d.ts +0 -62
- package/dist/server/domains/workflows/templates.d.ts.map +0 -1
- package/dist/server/domains/workflows/templates.js +0 -63
- package/dist/server/domains/workflows/templates.js.map +0 -1
- package/dist/server/domains/workflows/workflow.diff.d.ts +0 -14
- package/dist/server/domains/workflows/workflow.diff.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.diff.js +0 -80
- package/dist/server/domains/workflows/workflow.diff.js.map +0 -1
- package/dist/server/domains/workflows/workflow.events.d.ts +0 -26
- package/dist/server/domains/workflows/workflow.events.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.events.js +0 -2
- package/dist/server/domains/workflows/workflow.events.js.map +0 -1
- package/dist/server/domains/workflows/workflow.fire.d.ts +0 -38
- package/dist/server/domains/workflows/workflow.fire.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.fire.js +0 -57
- package/dist/server/domains/workflows/workflow.fire.js.map +0 -1
- package/dist/server/domains/workflows/workflow.registry.d.ts +0 -27
- package/dist/server/domains/workflows/workflow.registry.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.registry.js +0 -132
- package/dist/server/domains/workflows/workflow.registry.js.map +0 -1
- package/dist/server/domains/workflows/workflow.routes.d.ts +0 -6
- package/dist/server/domains/workflows/workflow.routes.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.routes.js +0 -148
- package/dist/server/domains/workflows/workflow.routes.js.map +0 -1
- package/dist/server/domains/workflows/workflow.rules.d.ts +0 -14
- package/dist/server/domains/workflows/workflow.rules.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.rules.js +0 -212
- package/dist/server/domains/workflows/workflow.rules.js.map +0 -1
- package/dist/server/domains/workflows/workflow.service.d.ts +0 -71
- package/dist/server/domains/workflows/workflow.service.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.service.js +0 -366
- package/dist/server/domains/workflows/workflow.service.js.map +0 -1
- package/dist/server/domains/workflows/workflow.store.d.ts +0 -33
- package/dist/server/domains/workflows/workflow.store.d.ts.map +0 -1
- package/dist/server/domains/workflows/workflow.store.js +0 -148
- package/dist/server/domains/workflows/workflow.store.js.map +0 -1
- package/dist/shared/approvals.d.ts +0 -37
- package/dist/shared/approvals.d.ts.map +0 -1
- package/dist/shared/approvals.js +0 -4
- package/dist/shared/approvals.js.map +0 -1
- package/dist/shared/checklists.d.ts +0 -27
- package/dist/shared/checklists.d.ts.map +0 -1
- package/dist/shared/checklists.js +0 -7
- package/dist/shared/checklists.js.map +0 -1
- package/dist/shared/workflows.d.ts +0 -276
- package/dist/shared/workflows.d.ts.map +0 -1
- package/dist/shared/workflows.js +0 -151
- package/dist/shared/workflows.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { isBuiltInEvent, } from '../../../shared/workflows.js';
|
|
2
1
|
import { scopeOf } from '../../access/viewer.js';
|
|
3
2
|
import { SYSTEM_ACTOR } from '../../kernel/actor.js';
|
|
4
3
|
import { DomainError, forbidden, invalid, notFound, } from '../../kernel/errors.js';
|
|
@@ -34,13 +33,11 @@ async function reload(tx, id) {
|
|
|
34
33
|
}
|
|
35
34
|
export function createIssueService(deps) {
|
|
36
35
|
const record = (tx, issueId, actor, action, details = {}) => deps.activity.record(tx.conn, { issueId, actor, action, details });
|
|
37
|
-
/** After an update is written: the triggers,
|
|
38
|
-
async function announce(tx, before, after, actor, start,
|
|
39
|
-
await deps
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
.approvals()
|
|
43
|
-
.supersede(tx, after.id, after.statusKey, approvedRequest);
|
|
36
|
+
/** After an update is written: the triggers, and what changed. */
|
|
37
|
+
async function announce(tx, before, after, actor, start, ownerClaimed = false) {
|
|
38
|
+
await deps
|
|
39
|
+
.triggers()
|
|
40
|
+
.onIssueChanged(tx, { before, after, actor, start, ownerClaimed });
|
|
44
41
|
await deps.relations().changed(tx, { before, after, actor });
|
|
45
42
|
tx.emit({ type: 'issue.changed', issueId: after.id });
|
|
46
43
|
for (const parentId of new Set([before.parentIssueId, after.parentIssueId]))
|
|
@@ -126,7 +123,11 @@ export function createIssueService(deps) {
|
|
|
126
123
|
return deps.tx.run(async (tx) => {
|
|
127
124
|
const before = await requireVisible(tx.conn, viewer, idOrKey);
|
|
128
125
|
requireEditor(viewer);
|
|
129
|
-
|
|
126
|
+
const ownerClaimed = patch.ownerUserId === before.ownerUserId &&
|
|
127
|
+
viewer.actor.type === 'user' &&
|
|
128
|
+
viewer.actor.via !== 'agent' &&
|
|
129
|
+
viewer.actor.id === before.ownerUserId;
|
|
130
|
+
// Status and project changes can release waits. Take the graph guard
|
|
130
131
|
// before this issue's first write, in the same order as relationship edits and plan execution.
|
|
131
132
|
if (patch.parentIssueId !== undefined ||
|
|
132
133
|
patch.stage !== undefined ||
|
|
@@ -144,7 +145,7 @@ export function createIssueService(deps) {
|
|
|
144
145
|
: { added: [], removed: [] };
|
|
145
146
|
if (labels.added.length > 0 || labels.removed.length > 0)
|
|
146
147
|
activities.push({ action: 'labels_changed', details: labels });
|
|
147
|
-
if (activities.length === 0)
|
|
148
|
+
if (activities.length === 0 && !ownerClaimed)
|
|
148
149
|
return;
|
|
149
150
|
const now = new Date().toISOString();
|
|
150
151
|
await updateIssue(tx.conn, before.id, { ...values, updatedAt: now, lastActivityAt: now }, patch.revision);
|
|
@@ -152,29 +153,14 @@ export function createIssueService(deps) {
|
|
|
152
153
|
await record(tx, before.id, viewer.actor, action, details);
|
|
153
154
|
written = true;
|
|
154
155
|
};
|
|
155
|
-
if (status)
|
|
156
|
-
|
|
156
|
+
if (status)
|
|
157
|
+
await moveIssue(deps, tx, {
|
|
157
158
|
issue: before,
|
|
158
159
|
catalog: status.catalog,
|
|
159
160
|
to: status.to,
|
|
160
161
|
actor: viewer.actor,
|
|
161
162
|
write,
|
|
162
163
|
});
|
|
163
|
-
if (moved.outcome === 'pending') {
|
|
164
|
-
const pendingApproval = await deps.approvals().request(tx, {
|
|
165
|
-
issue: before,
|
|
166
|
-
toStatus: status.to,
|
|
167
|
-
actor: viewer.actor,
|
|
168
|
-
approvers: moved.approvers,
|
|
169
|
-
approverIds: moved.approverIds,
|
|
170
|
-
});
|
|
171
|
-
return { ...before, pendingApproval };
|
|
172
|
-
}
|
|
173
|
-
if (moved.outcome === 'moved' && moved.approval !== 'none')
|
|
174
|
-
await record(tx, before.id, viewer.actor, moved.approval === 'self'
|
|
175
|
-
? 'approval_self'
|
|
176
|
-
: 'approval_no_approver', { from: before.statusKey, to: status.to });
|
|
177
|
-
}
|
|
178
164
|
else
|
|
179
165
|
await write();
|
|
180
166
|
if (!written)
|
|
@@ -182,59 +168,16 @@ export function createIssueService(deps) {
|
|
|
182
168
|
const after = await reload(tx, before.id);
|
|
183
169
|
if (placed)
|
|
184
170
|
await deps.relations().placed(tx, after);
|
|
185
|
-
await announce(tx, before, after, viewer.actor, patch.start !== false);
|
|
186
|
-
|
|
171
|
+
await announce(tx, before, after, viewer.actor, patch.start !== false, ownerClaimed);
|
|
172
|
+
// Work hooks may update the issue again within this transaction.
|
|
173
|
+
return reload(tx, before.id);
|
|
187
174
|
});
|
|
188
175
|
},
|
|
189
|
-
async applyApproved(tx, request, approver) {
|
|
190
|
-
await deps.relations().lock(tx);
|
|
191
|
-
const issue = await findIssue(tx.conn, request.issueId);
|
|
192
|
-
if (!issue || issue.deletedAt)
|
|
193
|
-
return { code: 'ISSUE_GONE', message: 'The issue was deleted.' };
|
|
194
|
-
if (issue.statusKey !== request.fromStatus)
|
|
195
|
-
return {
|
|
196
|
-
code: 'STATUS_CHANGED',
|
|
197
|
-
message: `The issue left ${request.fromStatus} meanwhile.`,
|
|
198
|
-
};
|
|
199
|
-
const catalog = await deps.statuses.forProject(tx.conn, issue.projectId);
|
|
200
|
-
try {
|
|
201
|
-
await moveIssue(deps, tx, {
|
|
202
|
-
issue,
|
|
203
|
-
catalog,
|
|
204
|
-
to: request.toStatus,
|
|
205
|
-
actor: { type: request.requestedByType, id: request.requestedById },
|
|
206
|
-
approved: true,
|
|
207
|
-
write: async () => {
|
|
208
|
-
const now = new Date().toISOString();
|
|
209
|
-
await updateIssue(tx.conn, issue.id, {
|
|
210
|
-
statusKey: request.toStatus,
|
|
211
|
-
updatedAt: now,
|
|
212
|
-
lastActivityAt: now,
|
|
213
|
-
});
|
|
214
|
-
await record(tx, issue.id, SYSTEM_ACTOR, 'status_changed', {
|
|
215
|
-
from: issue.statusKey,
|
|
216
|
-
to: request.toStatus,
|
|
217
|
-
requestId: request.id,
|
|
218
|
-
approvedById: approver.id,
|
|
219
|
-
});
|
|
220
|
-
},
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
catch (error) {
|
|
224
|
-
if (error instanceof DomainError)
|
|
225
|
-
return { code: error.code, message: error.message };
|
|
226
|
-
throw error;
|
|
227
|
-
}
|
|
228
|
-
await announce(tx, issue, await reload(tx, issue.id), SYSTEM_ACTOR, true, request.id);
|
|
229
|
-
return null;
|
|
230
|
-
},
|
|
231
176
|
async eventTarget(conn, issueId, event) {
|
|
232
177
|
const issue = await findIssue(conn, issueId);
|
|
233
178
|
if (!issue || issue.deletedAt)
|
|
234
179
|
return { issueId, to: null, reason: 'notFound' };
|
|
235
|
-
const catalog =
|
|
236
|
-
if (isBuiltInEvent(event) && isTerminal(catalog, issue.statusKey))
|
|
237
|
-
return { issueId: issue.id, to: null, reason: 'finished' };
|
|
180
|
+
const catalog = deps.statuses.catalog();
|
|
238
181
|
const to = catalog.machine.eventTarget(issue.statusKey, event);
|
|
239
182
|
return to === null
|
|
240
183
|
? { issueId: issue.id, to: null, reason: 'noTransition' }
|
|
@@ -246,9 +189,7 @@ export function createIssueService(deps) {
|
|
|
246
189
|
const issue = await findIssue(tx.conn, issueId);
|
|
247
190
|
if (!issue || issue.deletedAt)
|
|
248
191
|
return { issueId, outcome: 'ignored', reason: 'notFound' };
|
|
249
|
-
const catalog =
|
|
250
|
-
if (isBuiltInEvent(event) && isTerminal(catalog, issue.statusKey))
|
|
251
|
-
return { issueId: issue.id, outcome: 'ignored', reason: 'finished' };
|
|
192
|
+
const catalog = deps.statuses.catalog();
|
|
252
193
|
const to = catalog.machine.eventTarget(issue.statusKey, event);
|
|
253
194
|
if (to === null)
|
|
254
195
|
return {
|
|
@@ -264,7 +205,6 @@ export function createIssueService(deps) {
|
|
|
264
205
|
to,
|
|
265
206
|
actor: SYSTEM_ACTOR,
|
|
266
207
|
sourceActor: recorded,
|
|
267
|
-
approved: true,
|
|
268
208
|
event,
|
|
269
209
|
write: async () => {
|
|
270
210
|
const now = new Date().toISOString();
|
|
@@ -314,8 +254,7 @@ export function createIssueService(deps) {
|
|
|
314
254
|
releaseExecutor: (executor, cause) => deps.tx.run(async (tx) => {
|
|
315
255
|
const released = [];
|
|
316
256
|
for (const before of await issuesExecutedBy(tx.conn, executor)) {
|
|
317
|
-
|
|
318
|
-
if (isTerminal(catalog, before.statusKey))
|
|
257
|
+
if (isTerminal(deps.statuses.catalog(), before.statusKey))
|
|
319
258
|
continue;
|
|
320
259
|
const now = new Date().toISOString();
|
|
321
260
|
await updateIssue(tx.conn, before.id, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.service.js","sourceRoot":"","sources":["../../../../server/domains/issues/issue.service.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,GAEf,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAAE,OAAO,EAAe,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAc,MAAM,uBAAuB,CAAC;AACjE,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,mBAAmB,CAAC;AAE3B,OAAO,EACL,aAAa,EACb,aAAa,GAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,UAAU,GAIX,MAAM,YAAY,CAAC;AA8IpB,SAAS,UAAU,CAAC,KAAY;IAC9B,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,MAAa,EAAE,KAAY;IAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACrE,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;QAChE,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;YAC1C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACnE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,IAAI;YAClD,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,EAAE;YACxC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QAChE,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,EAAM,EAAE,EAAU;IACtC,OAAO,CAAC,MAAM,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAU,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAe;IAChD,MAAM,MAAM,GAAG,CACb,EAAM,EACN,OAAe,EACf,KAAY,EACZ,MAAc,EACd,OAAO,GAAG,EAAE,EACZ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAExE,uFAAuF;IACvF,KAAK,UAAU,QAAQ,CACrB,EAAM,EACN,MAAa,EACb,KAAY,EACZ,KAAY,EACZ,KAAc,EACd,eAAwB;QAExB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YACtC,MAAM,IAAI;iBACP,SAAS,EAAE;iBACX,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,KAAK,MAAM,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YACzE,IAAI,QAAQ;gBAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YACjC,EAAE,CAAC,IAAI,CAAC;gBACN,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;gBACxB,OAAO;gBACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,OAAO,GAAiB;QAC5B,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK;YACxB,cAAc,CAAC,MAAM,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAClC,KAAK,CACN,CAAC;gBACF,gGAAgG;gBAChG,MAAM,IAAI;qBACP,SAAS,EAAE;qBACX,IAAI,CACH,EAAE,EACF,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAC7D,CAAC;gBACJ,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACrC,MAAM,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;oBACzB,EAAE;oBACF,MAAM;oBACN,UAAU;oBACV,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI;oBAC3C,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI;oBACvC,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,WAAW,EAAE,MAAM,CAAC,MAAM;oBAC1B,cAAc,EAAE,GAAG;oBACnB,SAAS,EAAE,GAAG;oBACd,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAC5B,MAAM,cAAc,CAClB,EAAE,CAAC,IAAI,EACP,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EACrB,EAAE,EACF,MAAM,CAAC,QAAQ,CAChB,CAAC;gBACJ,MAAM,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACpE,0FAA0F;gBAC1F,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS;oBACzC,MAAM,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvE,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzB,MAAM,MAAM,CACV,EAAE,EACF,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,KAAK,EACZ,eAAe,EACf;wBACE,OAAO,EAAE,EAAE;wBACX,UAAU;qBACX,CACF,CAAC;oBACF,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;gBACpE,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACpE,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE;oBACvC,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK;iBAC7B,CAAC,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBAChD,EAAE,CAAC,IAAI,CAAC;oBACN,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC/B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;iBACvC,CAAC,CAAC;gBACH,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK;YACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;gBACpC,MAAM,OAAO,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC9D,aAAa,CAAC,MAAM,CAAC,CAAC;gBACtB,uGAAuG;gBACvG,+FAA+F;gBAC/F,IACE,KAAK,CAAC,aAAa,KAAK,SAAS;oBACjC,KAAK,CAAC,KAAK,KAAK,SAAS;oBACzB,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;wBAC5B,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC;oBACvC,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;wBAC5B,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,EACvC,CAAC;oBACD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GACpD,MAAM,aAAa,CACjB,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAClC,MAAM,EACN,KAAK,CACN,CAAC;gBACJ,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;oBACvB,MAAM,MAAM,GAAG,QAAQ;wBACrB,CAAC,CAAC,MAAM,cAAc,CAClB,EAAE,CAAC,IAAI,EACP,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EACrB,MAAM,CAAC,EAAE,EACT,QAAQ,CACT;wBACH,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;oBAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;wBACtD,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;oBACjE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO;oBACpC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACrC,MAAM,WAAW,CACf,EAAE,CAAC,IAAI,EACP,MAAM,CAAC,EAAE,EACT,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,EAClD,KAAK,CAAC,QAAQ,CACf,CAAC;oBACF,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,UAAU;wBAC1C,MAAM,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC7D,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC,CAAC;gBACF,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE;wBACtC,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,KAAK;qBACN,CAAC,CAAC;oBACH,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAChC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;4BACzD,KAAK,EAAE,MAAM;4BACb,QAAQ,EAAE,MAAM,CAAC,EAAE;4BACnB,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;yBAC/B,CAAC,CAAC;wBACH,OAAO,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,CAAC;oBACxC,CAAC;oBACD,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM;wBACxD,MAAM,MAAM,CACV,EAAE,EACF,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,KAAK,CAAC,QAAQ,KAAK,MAAM;4BACvB,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,sBAAsB,EAC1B,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAC1C,CAAC;gBACN,CAAC;;oBAAM,MAAM,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO;oBAAE,OAAO,MAAM,CAAC;gBAC5B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC1C,IAAI,MAAM;oBAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACrD,MAAM,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;gBACvE,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ;YACvC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS;gBAC3B,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;YACnE,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,UAAU;gBACxC,OAAO;oBACL,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,kBAAkB,OAAO,CAAC,UAAU,aAAa;iBAC3D,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE;oBACxB,KAAK;oBACL,OAAO;oBACP,EAAE,EAAE,OAAO,CAAC,QAAQ;oBACpB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE,EAAE,EAAE,OAAO,CAAC,aAAa,EAAE;oBACnE,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,KAAK,IAAI,EAAE;wBAChB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBACrC,MAAM,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;4BACnC,SAAS,EAAE,OAAO,CAAC,QAAQ;4BAC3B,SAAS,EAAE,GAAG;4BACd,cAAc,EAAE,GAAG;yBACpB,CAAC,CAAC;wBACH,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE;4BACzD,IAAI,EAAE,KAAK,CAAC,SAAS;4BACrB,EAAE,EAAE,OAAO,CAAC,QAAQ;4BACpB,SAAS,EAAE,OAAO,CAAC,EAAE;4BACrB,YAAY,EAAE,QAAQ,CAAC,EAAE;yBAC1B,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,WAAW;oBAC9B,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,QAAQ,CACZ,EAAE,EACF,KAAK,EACL,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,EAC1B,YAAY,EACZ,IAAI,EACJ,OAAO,CAAC,EAAE,CACX,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK;YACpC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS;gBAC3B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACtE,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;gBAC/D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAC7D,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,EAAE,KAAK,IAAI;gBAChB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE;gBACzD,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;QACvD,CAAC;QAED,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;YACvC,4GAA4G;YAC5G,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS;gBAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;gBAC/D,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YACvE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC/D,IAAI,EAAE,KAAK,IAAI;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,cAAc;iBACvB,CAAC;YACJ,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,YAAY,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE;oBACxB,KAAK;oBACL,OAAO;oBACP,EAAE;oBACF,KAAK,EAAE,YAAY;oBACnB,WAAW,EAAE,QAAQ;oBACrB,QAAQ,EAAE,IAAI;oBACd,KAAK;oBACL,KAAK,EAAE,KAAK,IAAI,EAAE;wBAChB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBACrC,MAAM,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;4BACnC,SAAS,EAAE,EAAE;4BACb,SAAS,EAAE,GAAG;4BACd,cAAc,EAAE,GAAG;yBACpB,CAAC,CAAC;wBACH,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE;4BACrD,IAAI,EAAE,KAAK,CAAC,SAAS;4BACrB,EAAE;4BACF,KAAK;4BACL,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC3C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACnD,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACjD,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE;oBACxD,KAAK;oBACL,EAAE;oBACF,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5C,CAAC,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtD,OAAO;oBACL,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,EAAE;oBACF,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC;YACJ,CAAC;YACD,MAAM,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;QAC5E,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO;YAC1B,cAAc,CAAC,MAAM,CAAC,CAAC;YACvB,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,eAAe,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CACnC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACvB,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,MAAM,IAAI,MAAM,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC5C,EAAE,CAAC,IAAI,EACP,MAAM,CAAC,SAAS,CACjB,CAAC;gBACF,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACpD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACrC,MAAM,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;oBACpC,YAAY,EAAE,IAAI;oBAClB,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,GAAG;oBACd,cAAc,EAAE,GAAG;iBACpB,CAAC,CAAC;gBACH,MAAM,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE;oBAC3D,IAAI,EAAE,MAAM,CAAC,QAAQ;oBACrB,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,iBAAiB;oBACzB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAC;gBACH,MAAM,QAAQ,CACZ,EAAE,EACF,MAAM,EACN,MAAM,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,EAC3B,KAAK,CAAC,KAAK,EACX,KAAK,CACN,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEJ,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO;YAC3B,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO;YAC3B,cAAc,CAAC,MAAM,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBAC9B,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,EAAE,SAAS;oBAAE,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACvD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACrC,MAAM,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;oBACnC,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI;oBACjB,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9D,MAAM,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBAC3D,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtD,EAAE,CAAC,IAAI,CAAC;oBACN,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;iBAChC,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IACF,OAAO,OAAO,CAAC;IAEf,sFAAsF;IACtF,KAAK,UAAU,UAAU,CACvB,MAAc,EACd,OAAe,EACf,SAAkB;QAElB,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAC7B,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7D,IACE,SAAS;gBACT,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM;gBACnC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,KAAK,KAAK;gBAEhD,MAAM,SAAS,CAAC,0CAA0C,CAAC,CAAC;YAC9D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;gBACnC,SAAS,EAAE,GAAG;gBACd,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,SAAS,EAAE,GAAG;aACf,CAAC,CAAC;YACH,MAAM,MAAM,CACV,EAAE,EACF,KAAK,CAAC,EAAE,EACR,MAAM,CAAC,KAAK,EACZ,eAAe,EACf,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACrC,CAAC;YACF,MAAM,IAAI;iBACP,SAAS,EAAE;iBACX,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3D,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,EAAE,CAAC,IAAI,CAAC;gBACN,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;aAChC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"issue.service.js","sourceRoot":"","sources":["../../../../server/domains/issues/issue.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Moving an issue to another status: the
|
|
3
|
-
* transaction. The lifecycle's refusals become this plugin's errors: an unknown status is 400
|
|
4
|
-
*
|
|
5
|
-
* `CHECKLIST_INCOMPLETE`).
|
|
2
|
+
* Moving an issue to another status: the fixed statuses' machine and rules (`domains/statuses`, `server/lifecycle`),
|
|
3
|
+
* run in the caller's transaction. The lifecycle's refusals become this plugin's errors: an unknown status is 400
|
|
4
|
+
* `INVALID_STATUS` and a move nobody allowed 400 `TRANSITION_NOT_ALLOWED`.
|
|
6
5
|
*
|
|
7
|
-
* Entry actions run each in a savepoint, with their events kept only when they succeed; one that
|
|
8
|
-
* `stage_action_failed` and the move stands.
|
|
9
|
-
* (`stage_action_applied`, or `stage_action_skipped` with its reason, `unavailable` when the rule's plugin is gone).
|
|
6
|
+
* Entry actions (telling the owner) run each in a savepoint, with their events kept only when they succeed; one that
|
|
7
|
+
* fails is recorded as `stage_action_failed` and the move stands.
|
|
10
8
|
*/
|
|
11
9
|
import type { Issue } from '../../../shared/issues.js';
|
|
12
10
|
import type { ActivityRecorder } from '../../kernel/activity.js';
|
|
@@ -20,9 +18,7 @@ export interface IssueMove {
|
|
|
20
18
|
readonly to: string;
|
|
21
19
|
readonly actor: Actor;
|
|
22
20
|
readonly sourceActor?: Actor;
|
|
23
|
-
/** The move
|
|
24
|
-
readonly approved?: boolean;
|
|
25
|
-
/** The workflow event the move answers: only that event's transitions are taken. */
|
|
21
|
+
/** The status event the move answers: only that event's transitions are taken. */
|
|
26
22
|
readonly event?: string;
|
|
27
23
|
/** Writes the change; runs only when the move may happen now. */
|
|
28
24
|
readonly write: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.status.d.ts","sourceRoot":"","sources":["../../../../server/domains/issues/issue.status.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"issue.status.d.ts","sourceRoot":"","sources":["../../../../server/domains/issues/issue.status.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAkBD,wBAAsB,SAAS,CAC7B,IAAI,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,EAC7C,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,UAAU,CAAC,CAkDrB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { STATUS_RULE_TYPES } from '../../../shared/workflows.js';
|
|
2
1
|
import { conflict, invalid } from '../../kernel/errors.js';
|
|
3
2
|
import { LifecycleError, move, } from '../../lifecycle/index.js';
|
|
4
3
|
/** A savepoint around one entry action: its events reach the transaction only when it succeeds. */
|
|
@@ -26,8 +25,8 @@ export async function moveIssue(deps, tx, input) {
|
|
|
26
25
|
sourceActor: input.sourceActor ?? actor,
|
|
27
26
|
subject: issue,
|
|
28
27
|
context: tx,
|
|
29
|
-
// The
|
|
30
|
-
approved:
|
|
28
|
+
// The fixed statuses never wait for an approval.
|
|
29
|
+
approved: true,
|
|
31
30
|
...(input.event === undefined ? {} : { event: input.event }),
|
|
32
31
|
isolate: isolate(tx),
|
|
33
32
|
}, input.write);
|
|
@@ -43,22 +42,7 @@ export async function moveIssue(deps, tx, input) {
|
|
|
43
42
|
throw invalid(error.code === 'UNKNOWN_STATE' ? 'INVALID_STATUS' : error.code, error.message);
|
|
44
43
|
}
|
|
45
44
|
if (result.outcome === 'moved')
|
|
46
|
-
for (const report of result.entry)
|
|
47
|
-
if (report.status !== 'failed' &&
|
|
48
|
-
!STATUS_RULE_TYPES.includes(report.rule))
|
|
49
|
-
await deps.activity.record(tx.conn, {
|
|
50
|
-
issueId: issue.id,
|
|
51
|
-
actor: input.sourceActor ?? actor,
|
|
52
|
-
action: report.status === 'applied'
|
|
53
|
-
? 'stage_action_applied'
|
|
54
|
-
: 'stage_action_skipped',
|
|
55
|
-
details: {
|
|
56
|
-
...report.details,
|
|
57
|
-
statusKey: to,
|
|
58
|
-
rule: report.rule,
|
|
59
|
-
...(report.reason ? { reason: report.reason } : {}),
|
|
60
|
-
},
|
|
61
|
-
});
|
|
45
|
+
for (const report of result.entry)
|
|
62
46
|
if (report.status === 'failed')
|
|
63
47
|
await deps.activity.record(tx.conn, {
|
|
64
48
|
issueId: issue.id,
|
|
@@ -72,7 +56,6 @@ export async function moveIssue(deps, tx, input) {
|
|
|
72
56
|
: String(report.error),
|
|
73
57
|
},
|
|
74
58
|
});
|
|
75
|
-
}
|
|
76
59
|
return result;
|
|
77
60
|
}
|
|
78
61
|
//# sourceMappingURL=issue.status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.status.js","sourceRoot":"","sources":["../../../../server/domains/issues/issue.status.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"issue.status.js","sourceRoot":"","sources":["../../../../server/domains/issues/issue.status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* What issues depend on but other domains provide
|
|
2
|
+
* What issues depend on but other domains provide:
|
|
3
3
|
*
|
|
4
|
-
* - `
|
|
4
|
+
* - `StatusService`: the fixed statuses and the machine every move goes through, provided by `domains/statuses`.
|
|
5
5
|
* - `IssueTriggers`: what a change or a comment starts, such as work for an executor of a registered kind. Bound by
|
|
6
6
|
* another plugin through `projectsTriggersToken`; default: nothing.
|
|
7
7
|
* - `IssueRelations`: sub-issues and dependencies, provided by `domains/subtasks`. Default: none.
|
|
@@ -9,37 +9,37 @@
|
|
|
9
9
|
* Who may execute an issue, and how executors and actors are named, comes from the kinds (`kernel/kinds.ts`).
|
|
10
10
|
*/
|
|
11
11
|
import type { DatabaseConnection } from '@nocobase/db';
|
|
12
|
-
import type { ApprovalRequest } from '../../../shared/approvals.js';
|
|
13
12
|
import type { Attachment } from '../../../shared/attachments.js';
|
|
14
|
-
import type { IssueChecklist } from '../../../shared/checklists.js';
|
|
15
13
|
import type { IssueComment, MentionRef, ThreadPage } from '../../../shared/comments.js';
|
|
16
|
-
import type { Issue, IssueDetail,
|
|
14
|
+
import type { Issue, IssueDetail, StatusCategory, StatusDefinition } from '../../../shared/issues.js';
|
|
17
15
|
import type { IssueSubscriber } from '../../../shared/subscriptions.js';
|
|
18
16
|
import type { Blocker } from '../../../shared/subtasks.js';
|
|
19
17
|
import type { Viewer } from '../../access/viewer.js';
|
|
20
18
|
import type { Actor } from '../../kernel/actor.js';
|
|
21
19
|
import type { LifecycleMachine, LifecycleRegistry } from '../../lifecycle/index.js';
|
|
22
20
|
import type { Tx } from '../../kernel/tx.js';
|
|
23
|
-
/** The rules
|
|
21
|
+
/** The rules the fixed statuses name, run in the transaction of the move. */
|
|
24
22
|
export type IssueRules = LifecycleRegistry<Issue, Tx>;
|
|
23
|
+
/** The fixed statuses as one machine: who may move an issue where, and what entering a status does. */
|
|
25
24
|
export interface StatusCatalog {
|
|
26
25
|
readonly statuses: readonly StatusDefinition[];
|
|
27
|
-
/** Where a new issue starts. */
|
|
28
|
-
readonly initialStatus: string;
|
|
29
|
-
/** The ways a new issue may start, for the New issue form (`IssueStarts`). */
|
|
30
|
-
readonly starts: readonly IssueStartOption[];
|
|
31
26
|
category(key: string): StatusCategory | null;
|
|
32
|
-
/**
|
|
27
|
+
/** Every status change goes through `move` with it and `rules`. */
|
|
33
28
|
readonly machine: LifecycleMachine;
|
|
34
29
|
readonly rules: IssueRules;
|
|
35
|
-
/** The workflow's `commentRunLimit`, or `DEFAULT_COMMENT_RUN_LIMIT`. */
|
|
36
|
-
readonly commentRunLimit: number;
|
|
37
30
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
/** The fixed statuses (`shared/statuses.ts`), and where principals of each kind may move an issue. */
|
|
32
|
+
export interface StatusService {
|
|
33
|
+
list(): readonly StatusDefinition[];
|
|
34
|
+
category(key: string): StatusCategory | null;
|
|
35
|
+
/** The statuses a principal of `kind` may move an issue in `from` to, in order; `mayMove` is not asked. */
|
|
36
|
+
allowedMoves(kind: string, from: string): string[];
|
|
37
|
+
/** The machine as the kinds and status events registered now make it. */
|
|
38
|
+
catalog(): StatusCatalog;
|
|
41
39
|
}
|
|
42
40
|
export interface IssueChange {
|
|
41
|
+
/** A person explicitly assigned the issue to themselves, including an unchanged owner field. */
|
|
42
|
+
readonly ownerClaimed?: boolean;
|
|
43
43
|
/** Null for a new issue. */
|
|
44
44
|
readonly before: Issue | null;
|
|
45
45
|
readonly after: Issue;
|
|
@@ -47,32 +47,15 @@ export interface IssueChange {
|
|
|
47
47
|
/** False when the person asked not to start work now. */
|
|
48
48
|
readonly start: boolean;
|
|
49
49
|
}
|
|
50
|
-
/** Status changes held for approval (`domains/approvals`). */
|
|
51
|
-
export interface IssueApprovals {
|
|
52
|
-
/** Holds the change; answers the pending request. */
|
|
53
|
-
request(tx: Tx, input: {
|
|
54
|
-
readonly issue: Issue;
|
|
55
|
-
readonly toStatus: string;
|
|
56
|
-
readonly actor: Actor;
|
|
57
|
-
readonly approvers: readonly string[];
|
|
58
|
-
readonly approverIds: readonly string[];
|
|
59
|
-
}): Promise<ApprovalRequest>;
|
|
60
|
-
/** The issue is in `statusKey` now: requests to leave another status are stale, except the one being applied. */
|
|
61
|
-
supersede(tx: Tx, issueId: string, statusKey: string, except?: string): Promise<void>;
|
|
62
|
-
}
|
|
63
|
-
export declare const noApprovals: IssueApprovals;
|
|
64
50
|
/**
|
|
65
|
-
* What the issue page and the list show beside the issue:
|
|
66
|
-
*
|
|
51
|
+
* What the issue page and the list show beside the issue: sub-issues and dependencies, the newest threads, its files
|
|
52
|
+
* and who follows it.
|
|
67
53
|
*/
|
|
68
54
|
export interface IssueExtras {
|
|
69
55
|
threads(conn: DatabaseConnection, issue: Issue, viewer?: Viewer): Promise<ThreadPage>;
|
|
70
56
|
/** The issue's own files, as the viewer sees them (who may remove which). */
|
|
71
57
|
attachments(conn: DatabaseConnection, viewer: Viewer | null, issue: Issue): Promise<Attachment[]>;
|
|
72
58
|
subscribers(conn: DatabaseConnection, issue: Issue): Promise<IssueSubscriber[]>;
|
|
73
|
-
checklist(conn: DatabaseConnection, issue: Issue): Promise<IssueChecklist | null>;
|
|
74
|
-
pendingApproval(conn: DatabaseConnection, issue: Issue): Promise<ApprovalRequest | null>;
|
|
75
|
-
recentApprovals(conn: DatabaseConnection, issue: Issue): Promise<ApprovalRequest[]>;
|
|
76
59
|
relations(conn: DatabaseConnection, viewer: Viewer, issue: Issue): Promise<Pick<IssueDetail, 'subtasks' | 'blockedBy' | 'blocks' | 'relatedTo' | 'blockers' | 'hiddenBlockerCount'>>;
|
|
77
60
|
/** Per issue id: its live sub-issues and the unfinished issues it waits for. */
|
|
78
61
|
listCounts(conn: DatabaseConnection, issues: readonly Issue[]): Promise<Map<string, {
|
|
@@ -148,5 +131,5 @@ export interface IssueTriggers {
|
|
|
148
131
|
}): Promise<void>;
|
|
149
132
|
}
|
|
150
133
|
export declare const noTriggers: IssueTriggers;
|
|
151
|
-
export declare function isTerminal(catalog: StatusCatalog, key: string): boolean;
|
|
134
|
+
export declare function isTerminal(catalog: Pick<StatusCatalog, 'category'>, key: string): boolean;
|
|
152
135
|
//# sourceMappingURL=ports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../../../server/domains/issues/ports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../../../server/domains/issues/ports.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import { invalid } from '../../kernel/errors.js';
|
|
2
|
-
export const noApprovals = {
|
|
3
|
-
request: () => Promise.reject(invalid('APPROVAL_UNAVAILABLE', 'Approvals are not available.')),
|
|
4
|
-
supersede: () => Promise.resolve(),
|
|
5
|
-
};
|
|
6
1
|
export const noRelations = {
|
|
7
2
|
lock: () => Promise.resolve(),
|
|
8
3
|
created: () => Promise.resolve(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../../../server/domains/issues/ports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../../../server/domains/issues/ports.ts"],"names":[],"mappings":"AA+JA,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;IAChC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;IAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;IAChC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;CACjC,CAAC;AA2CF,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;CACxC,CAAC;AAEF,MAAM,UAAU,UAAU,CACxB,OAAwC,EACxC,GAAW;IAEX,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC;AACtD,CAAC"}
|
|
@@ -4,10 +4,11 @@
|
|
|
4
4
|
* follower before followers are read; then it runs the rules and emits what remains as `notice.planned`.
|
|
5
5
|
*
|
|
6
6
|
* Within one transaction and issue: the actor (a person) is never told of their own action; a person mentioned in a
|
|
7
|
-
* comment is not told of the comment too; a person who got a decision or the
|
|
7
|
+
* comment is not told of the comment too; a person who got a decision or the owner's notice is not told of
|
|
8
8
|
* the status change too. Kinds other than `user` have no inbox.
|
|
9
9
|
*/
|
|
10
10
|
import type { DomainEvent } from '../../kernel/events.js';
|
|
11
|
+
import '../statuses/status.events.js';
|
|
11
12
|
import type { KindRegistry } from '../../kernel/kinds.js';
|
|
12
13
|
import type { Tx } from '../../kernel/tx.js';
|
|
13
14
|
import type { SubscriptionService } from '../subscriptions/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notice.planner.d.ts","sourceRoot":"","sources":["../../../../server/domains/notices/notice.planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,UAAU,EAEV,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,+BAA+B;IAC/B,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAkGD,kGAAkG;AAClG,wBAAgB,MAAM,CACpB,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,MAAM,EAAE,SAAS,WAAW,EAAE,GAC7B,aAAa,EAAE,CAkCjB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC,GAAG,aAAa,CA0ChB"}
|
|
1
|
+
{"version":3,"file":"notice.planner.d.ts","sourceRoot":"","sources":["../../../../server/domains/notices/notice.planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,UAAU,EAEV,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,+BAA+B;IAC/B,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAkGD,kGAAkG;AAClG,wBAAgB,MAAM,CACpB,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,MAAM,EAAE,SAAS,WAAW,EAAE,GAC7B,aAAa,EAAE,CAkCjB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC,GAAG,aAAa,CA0ChB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '../statuses/status.events.js';
|
|
1
2
|
import { findIssue } from '../issues/index.js';
|
|
2
3
|
import './notice.events.js';
|
|
3
4
|
const RELEVANT = new Set([
|
|
@@ -50,7 +51,7 @@ export function dedupe(notices, events) {
|
|
|
50
51
|
};
|
|
51
52
|
const isTaken = (slot, issueId, userId) => taken.get(`${slot}:${issueId}`)?.has(userId) ?? false;
|
|
52
53
|
for (const event of events)
|
|
53
|
-
if (event.type === '
|
|
54
|
+
if (event.type === 'status.ownerNotified')
|
|
54
55
|
take('change', event.issueId, [event.ownerUserId]);
|
|
55
56
|
for (const notice of notices) {
|
|
56
57
|
if (notice.slot === 'change' && notice.kind === 'decision')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notice.planner.js","sourceRoot":"","sources":["../../../../server/domains/notices/notice.planner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"notice.planner.js","sourceRoot":"","sources":["../../../../server/domains/notices/notice.planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { type StatusCatalogs } from '../issues/index.js';
|
|
2
1
|
import type { NoticeRule } from './ports.js';
|
|
3
2
|
declare const issuePath: (identifier: string) => string;
|
|
4
|
-
export declare function builtInRules(
|
|
5
|
-
readonly statuses: StatusCatalogs;
|
|
6
|
-
}): NoticeRule;
|
|
3
|
+
export declare function builtInRules(): NoticeRule;
|
|
7
4
|
export { issuePath };
|
|
8
5
|
//# sourceMappingURL=notice.rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notice.rules.d.ts","sourceRoot":"","sources":["../../../../server/domains/notices/notice.rules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"notice.rules.d.ts","sourceRoot":"","sources":["../../../../server/domains/notices/notice.rules.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,UAAU,EAAoC,MAAM,YAAY,CAAC;AAM/E,QAAA,MAAM,SAAS,GAAI,YAAY,MAAM,WACQ,CAAC;AAI9C,wBAAgB,YAAY,IAAI,UAAU,CAgMzC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|