@ketvietlab/ketsuite 0.1.29 → 0.1.30
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/cli.js +1 -1
- package/dist/modules/account_backend/index.js +0 -6
- package/dist/modules/account_backend/index.js.map +1 -1
- package/dist/modules/account_backend/screens/account-defaults.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/account-defaults.js +1 -1
- package/dist/modules/account_backend/screens/account-defaults.js.map +1 -1
- package/dist/modules/account_backend/screens/account-form.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/account-form.js +3 -1
- package/dist/modules/account_backend/screens/account-form.js.map +1 -1
- package/dist/modules/account_backend/screens/accounts-list.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/accounts-list.js +1 -1
- package/dist/modules/account_backend/screens/accounts-list.js.map +1 -1
- package/dist/modules/account_backend/screens/customer-invoice-form.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/customer-invoice-form.js +1 -1
- package/dist/modules/account_backend/screens/customer-invoice-form.js.map +1 -1
- package/dist/modules/account_backend/screens/customer-invoices-list.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/customer-invoices-list.js +1 -1
- package/dist/modules/account_backend/screens/customer-invoices-list.js.map +1 -1
- package/dist/modules/account_backend/screens/journal-entries-list.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/journal-entries-list.js +1 -1
- package/dist/modules/account_backend/screens/journal-entries-list.js.map +1 -1
- package/dist/modules/account_backend/screens/journal-entry-create.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/journal-entry-create.js +1 -1
- package/dist/modules/account_backend/screens/journal-entry-create.js.map +1 -1
- package/dist/modules/account_backend/screens/journal-form.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/journal-form.js +3 -3
- package/dist/modules/account_backend/screens/journal-form.js.map +1 -1
- package/dist/modules/account_backend/screens/journals-list.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/journals-list.js +1 -1
- package/dist/modules/account_backend/screens/journals-list.js.map +1 -1
- package/dist/modules/account_backend/screens/move-detail.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/move-detail.js +3 -1
- package/dist/modules/account_backend/screens/move-detail.js.map +1 -1
- package/dist/modules/account_backend/screens/opening-balances.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/opening-balances.js +2 -2
- package/dist/modules/account_backend/screens/opening-balances.js.map +1 -1
- package/dist/modules/account_backend/screens/overview.js +4 -2
- package/dist/modules/account_backend/screens/overview.js.map +1 -1
- package/dist/modules/account_backend/screens/payment-form.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/payment-form.js +1 -1
- package/dist/modules/account_backend/screens/payment-form.js.map +1 -1
- package/dist/modules/account_backend/screens/payment-term-form.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/payment-term-form.js +4 -2
- package/dist/modules/account_backend/screens/payment-term-form.js.map +1 -1
- package/dist/modules/account_backend/screens/payment-terms-list.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/payment-terms-list.js +1 -1
- package/dist/modules/account_backend/screens/payment-terms-list.js.map +1 -1
- package/dist/modules/account_backend/screens/payments-list.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/payments-list.js +1 -1
- package/dist/modules/account_backend/screens/payments-list.js.map +1 -1
- package/dist/modules/account_backend/screens/period-closes.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/period-closes.js +1 -1
- package/dist/modules/account_backend/screens/period-closes.js.map +1 -1
- package/dist/modules/account_backend/screens/tax-form.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/tax-form.js +3 -1
- package/dist/modules/account_backend/screens/tax-form.js.map +1 -1
- package/dist/modules/account_backend/screens/taxes-list.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/taxes-list.js +1 -1
- package/dist/modules/account_backend/screens/taxes-list.js.map +1 -1
- package/dist/modules/account_backend/screens/vendor-bill-form.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/vendor-bill-form.js +1 -1
- package/dist/modules/account_backend/screens/vendor-bill-form.js.map +1 -1
- package/dist/modules/account_backend/screens/vendor-bills-list.d.ts.map +1 -1
- package/dist/modules/account_backend/screens/vendor-bills-list.js +1 -1
- package/dist/modules/account_backend/screens/vendor-bills-list.js.map +1 -1
- package/dist/modules/account_partner_backend/screens/accounting-terms.d.ts.map +1 -1
- package/dist/modules/account_partner_backend/screens/accounting-terms.js +1 -1
- package/dist/modules/account_partner_backend/screens/accounting-terms.js.map +1 -1
- package/dist/modules/activity_backend/index.d.ts.map +1 -1
- package/dist/modules/activity_backend/index.js +0 -2
- package/dist/modules/activity_backend/index.js.map +1 -1
- package/dist/modules/activity_backend/screens/activities-list.d.ts.map +1 -1
- package/dist/modules/activity_backend/screens/activities-list.js +1 -1
- package/dist/modules/activity_backend/screens/activities-list.js.map +1 -1
- package/dist/modules/address_backend/index.d.ts.map +1 -1
- package/dist/modules/address_backend/index.js +0 -2
- package/dist/modules/address_backend/index.js.map +1 -1
- package/dist/modules/address_backend/screens/catalogs-list.d.ts.map +1 -1
- package/dist/modules/address_backend/screens/catalogs-list.js +1 -1
- package/dist/modules/address_backend/screens/catalogs-list.js.map +1 -1
- package/dist/modules/attendance_backend/screens/credentials.d.ts.map +1 -1
- package/dist/modules/attendance_backend/screens/credentials.js +1 -1
- package/dist/modules/attendance_backend/screens/credentials.js.map +1 -1
- package/dist/modules/attendance_backend/screens/period.d.ts.map +1 -1
- package/dist/modules/attendance_backend/screens/period.js +1 -1
- package/dist/modules/attendance_backend/screens/period.js.map +1 -1
- package/dist/modules/backend/current-company.d.ts +4 -0
- package/dist/modules/backend/current-company.d.ts.map +1 -0
- package/dist/modules/backend/current-company.js +27 -0
- package/dist/modules/backend/current-company.js.map +1 -0
- package/dist/modules/backend/design/client/backend-shell.d.mts +2 -2
- package/dist/modules/backend/design/client/backend-shell.d.mts.map +1 -1
- package/dist/modules/backend/design/client/backend-shell.mjs +1 -1
- package/dist/modules/backend/design/client/backend-shell.mjs.map +4 -4
- package/dist/modules/backend/design/client/ket-table.d.mts +2 -2
- package/dist/modules/backend/design/client/ket-table.d.mts.map +1 -1
- package/dist/modules/backend/design/client/ket-table.mjs +1 -1
- package/dist/modules/backend/design/client/ket-table.mjs.map +3 -3
- package/dist/modules/backend/design/client/search-filter.d.mts +2 -2
- package/dist/modules/backend/design/client/search-filter.d.mts.map +1 -1
- package/dist/modules/backend/design/client/search-filter.mjs +1 -1
- package/dist/modules/backend/design/client/search-filter.mjs.map +3 -3
- package/dist/modules/backend/design/forms.css +31 -0
- package/dist/modules/backend/index.d.ts +1 -0
- package/dist/modules/backend/index.d.ts.map +1 -1
- package/dist/modules/backend/index.js +1 -0
- package/dist/modules/backend/index.js.map +1 -1
- package/dist/modules/backend/optional-read.d.ts +4 -0
- package/dist/modules/backend/optional-read.d.ts.map +1 -0
- package/dist/modules/backend/optional-read.js +7 -0
- package/dist/modules/backend/optional-read.js.map +1 -0
- package/dist/modules/company_backend/index.d.ts.map +1 -1
- package/dist/modules/company_backend/index.js +0 -2
- package/dist/modules/company_backend/index.js.map +1 -1
- package/dist/modules/company_backend/screens/branch-form.d.ts.map +1 -1
- package/dist/modules/company_backend/screens/branch-form.js +3 -1
- package/dist/modules/company_backend/screens/branch-form.js.map +1 -1
- package/dist/modules/company_backend/screens/companies-list.d.ts.map +1 -1
- package/dist/modules/company_backend/screens/companies-list.js +1 -1
- package/dist/modules/company_backend/screens/companies-list.js.map +1 -1
- package/dist/modules/company_backend/screens/company-form.d.ts.map +1 -1
- package/dist/modules/company_backend/screens/company-form.js +1 -3
- package/dist/modules/company_backend/screens/company-form.js.map +1 -1
- package/dist/modules/company_backend/screens/context.d.ts.map +1 -1
- package/dist/modules/company_backend/screens/context.js +1 -1
- package/dist/modules/company_backend/screens/context.js.map +1 -1
- package/dist/modules/company_backend/screens/hierarchy.d.ts.map +1 -1
- package/dist/modules/company_backend/screens/hierarchy.js +1 -1
- package/dist/modules/company_backend/screens/hierarchy.js.map +1 -1
- package/dist/modules/crm_backend/client/crm-case-modal.d.mts +7 -7
- package/dist/modules/crm_backend/client/crm-case-modal.d.mts.map +1 -1
- package/dist/modules/crm_backend/client/crm-case-modal.mjs +1 -1
- package/dist/modules/crm_backend/client/crm-case-modal.mjs.map +3 -3
- package/dist/modules/crm_backend/client/crm-configuration-modal.d.mts +50 -50
- package/dist/modules/crm_backend/client/crm-configuration-modal.d.mts.map +1 -1
- package/dist/modules/crm_backend/client/crm-configuration-modal.mjs +1 -1
- package/dist/modules/crm_backend/client/crm-configuration-modal.mjs.map +3 -3
- package/dist/modules/crm_backend/messages.d.ts +0 -10
- package/dist/modules/crm_backend/messages.d.ts.map +1 -1
- package/dist/modules/crm_backend/messages.js +0 -10
- package/dist/modules/crm_backend/messages.js.map +1 -1
- package/dist/modules/crm_backend/screens/activity-planner.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/activity-planner.js +1 -1
- package/dist/modules/crm_backend/screens/activity-planner.js.map +1 -1
- package/dist/modules/crm_backend/screens/case-create.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/case-create.js +1 -1
- package/dist/modules/crm_backend/screens/case-create.js.map +1 -1
- package/dist/modules/crm_backend/screens/case-detail.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/case-detail.js +2 -2
- package/dist/modules/crm_backend/screens/case-detail.js.map +1 -1
- package/dist/modules/crm_backend/screens/cases-list.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/cases-list.js +1 -1
- package/dist/modules/crm_backend/screens/cases-list.js.map +1 -1
- package/dist/modules/crm_backend/screens/configuration.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/configuration.js +1 -1
- package/dist/modules/crm_backend/screens/configuration.js.map +1 -1
- package/dist/modules/crm_backend/screens/leaderboard.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/leaderboard.js +1 -1
- package/dist/modules/crm_backend/screens/leaderboard.js.map +1 -1
- package/dist/modules/crm_backend/screens/pipeline.d.ts.map +1 -1
- package/dist/modules/crm_backend/screens/pipeline.js +1 -1
- package/dist/modules/crm_backend/screens/pipeline.js.map +1 -1
- package/dist/modules/flow/domain/command-check.d.ts +3 -0
- package/dist/modules/flow/domain/command-check.d.ts.map +1 -0
- package/dist/modules/flow/domain/command-check.js +9 -0
- package/dist/modules/flow/domain/command-check.js.map +1 -0
- package/dist/modules/flow/domain/command.d.ts +33 -0
- package/dist/modules/flow/domain/command.d.ts.map +1 -0
- package/dist/modules/flow/domain/command.js +35 -0
- package/dist/modules/flow/domain/command.js.map +1 -0
- package/dist/modules/flow/domain/issue-bulk.d.ts +50 -0
- package/dist/modules/flow/domain/issue-bulk.d.ts.map +1 -0
- package/dist/modules/flow/domain/issue-bulk.js +97 -0
- package/dist/modules/flow/domain/issue-bulk.js.map +1 -0
- package/dist/modules/flow/domain/issue-dependency.d.ts +19 -0
- package/dist/modules/flow/domain/issue-dependency.d.ts.map +1 -0
- package/dist/modules/flow/domain/issue-dependency.js +59 -0
- package/dist/modules/flow/domain/issue-dependency.js.map +1 -0
- package/dist/modules/flow/domain/issue-discussion.d.ts +52 -0
- package/dist/modules/flow/domain/issue-discussion.d.ts.map +1 -0
- package/dist/modules/flow/domain/issue-discussion.js +114 -0
- package/dist/modules/flow/domain/issue-discussion.js.map +1 -0
- package/dist/modules/flow/domain/issue-transfer.d.ts +62 -0
- package/dist/modules/flow/domain/issue-transfer.d.ts.map +1 -0
- package/dist/modules/flow/domain/issue-transfer.js +171 -0
- package/dist/modules/flow/domain/issue-transfer.js.map +1 -0
- package/dist/modules/flow/domain/issue-validation.d.ts +68 -0
- package/dist/modules/flow/domain/issue-validation.d.ts.map +1 -0
- package/dist/modules/flow/domain/issue-validation.js +136 -0
- package/dist/modules/flow/domain/issue-validation.js.map +1 -0
- package/dist/modules/flow/domain/issue-write.d.ts +118 -0
- package/dist/modules/flow/domain/issue-write.d.ts.map +1 -0
- package/dist/modules/flow/domain/issue-write.js +372 -0
- package/dist/modules/flow/domain/issue-write.js.map +1 -0
- package/dist/modules/flow/domain/sprint-lifecycle.d.ts +61 -0
- package/dist/modules/flow/domain/sprint-lifecycle.d.ts.map +1 -0
- package/dist/modules/flow/domain/sprint-lifecycle.js +145 -0
- package/dist/modules/flow/domain/sprint-lifecycle.js.map +1 -0
- package/dist/modules/flow/functions/board.d.ts +7 -0
- package/dist/modules/flow/functions/board.d.ts.map +1 -0
- package/dist/modules/flow/functions/board.js +59 -0
- package/dist/modules/flow/functions/board.js.map +1 -0
- package/dist/modules/flow/functions/column.d.ts +8 -0
- package/dist/modules/flow/functions/column.d.ts.map +1 -0
- package/dist/modules/flow/functions/column.js +64 -0
- package/dist/modules/flow/functions/column.js.map +1 -0
- package/dist/modules/flow/functions/effects.d.ts +21 -0
- package/dist/modules/flow/functions/effects.d.ts.map +1 -0
- package/dist/modules/flow/functions/effects.js +96 -0
- package/dist/modules/flow/functions/effects.js.map +1 -0
- package/dist/modules/flow/functions/entity-save.d.ts +4 -0
- package/dist/modules/flow/functions/entity-save.d.ts.map +1 -0
- package/dist/modules/flow/functions/entity-save.js +60 -0
- package/dist/modules/flow/functions/entity-save.js.map +1 -0
- package/dist/modules/flow/functions/epic.d.ts +26 -0
- package/dist/modules/flow/functions/epic.d.ts.map +1 -0
- package/dist/modules/flow/functions/epic.js +151 -0
- package/dist/modules/flow/functions/epic.js.map +1 -0
- package/dist/modules/flow/functions/field.d.ts +9 -0
- package/dist/modules/flow/functions/field.d.ts.map +1 -0
- package/dist/modules/flow/functions/field.js +117 -0
- package/dist/modules/flow/functions/field.js.map +1 -0
- package/dist/modules/flow/functions/index.d.ts +5 -0
- package/dist/modules/flow/functions/index.d.ts.map +1 -0
- package/dist/modules/flow/functions/index.js +42 -0
- package/dist/modules/flow/functions/index.js.map +1 -0
- package/dist/modules/flow/functions/issue-batch.d.ts +6 -0
- package/dist/modules/flow/functions/issue-batch.d.ts.map +1 -0
- package/dist/modules/flow/functions/issue-batch.js +149 -0
- package/dist/modules/flow/functions/issue-batch.js.map +1 -0
- package/dist/modules/flow/functions/issue-dependency.d.ts +8 -0
- package/dist/modules/flow/functions/issue-dependency.d.ts.map +1 -0
- package/dist/modules/flow/functions/issue-dependency.js +54 -0
- package/dist/modules/flow/functions/issue-dependency.js.map +1 -0
- package/dist/modules/flow/functions/issue-discussion.d.ts +6 -0
- package/dist/modules/flow/functions/issue-discussion.d.ts.map +1 -0
- package/dist/modules/flow/functions/issue-discussion.js +86 -0
- package/dist/modules/flow/functions/issue-discussion.js.map +1 -0
- package/dist/modules/flow/functions/issue-read.d.ts +18 -0
- package/dist/modules/flow/functions/issue-read.d.ts.map +1 -0
- package/dist/modules/flow/functions/issue-read.js +159 -0
- package/dist/modules/flow/functions/issue-read.js.map +1 -0
- package/dist/modules/flow/functions/issue-write.d.ts +9 -0
- package/dist/modules/flow/functions/issue-write.d.ts.map +1 -0
- package/dist/modules/flow/functions/issue-write.js +149 -0
- package/dist/modules/flow/functions/issue-write.js.map +1 -0
- package/dist/modules/flow/functions/issueType.d.ts +8 -0
- package/dist/modules/flow/functions/issueType.d.ts.map +1 -0
- package/dist/modules/flow/functions/issueType.js +66 -0
- package/dist/modules/flow/functions/issueType.js.map +1 -0
- package/dist/modules/flow/functions/page.d.ts +22 -0
- package/dist/modules/flow/functions/page.d.ts.map +1 -0
- package/dist/modules/flow/functions/page.js +202 -0
- package/dist/modules/flow/functions/page.js.map +1 -0
- package/dist/modules/flow/functions/project.d.ts +26 -0
- package/dist/modules/flow/functions/project.d.ts.map +1 -0
- package/dist/modules/flow/functions/project.js +381 -0
- package/dist/modules/flow/functions/project.js.map +1 -0
- package/dist/modules/flow/functions/sprint.d.ts +17 -0
- package/dist/modules/flow/functions/sprint.d.ts.map +1 -0
- package/dist/modules/flow/functions/sprint.js +173 -0
- package/dist/modules/flow/functions/sprint.js.map +1 -0
- package/dist/modules/flow/functions/tag.d.ts +14 -0
- package/dist/modules/flow/functions/tag.d.ts.map +1 -0
- package/dist/modules/flow/functions/tag.js +88 -0
- package/dist/modules/flow/functions/tag.js.map +1 -0
- package/dist/modules/flow/index.d.ts +8 -2
- package/dist/modules/flow/index.d.ts.map +1 -1
- package/dist/modules/flow/index.js +7 -2
- package/dist/modules/flow/index.js.map +1 -1
- package/dist/modules/flow/pages.d.ts +1 -1
- package/dist/modules/flow/pages.d.ts.map +1 -1
- package/dist/modules/flow/pages.js +1 -1
- package/dist/modules/flow/pages.js.map +1 -1
- package/dist/modules/flow/queries/calendar.d.ts +21 -0
- package/dist/modules/flow/queries/calendar.d.ts.map +1 -0
- package/dist/modules/flow/queries/calendar.js +31 -0
- package/dist/modules/flow/queries/calendar.js.map +1 -0
- package/dist/modules/flow/queries/issue-dependencies.d.ts +17 -0
- package/dist/modules/flow/queries/issue-dependencies.d.ts.map +1 -0
- package/dist/modules/flow/queries/issue-dependencies.js +46 -0
- package/dist/modules/flow/queries/issue-dependencies.js.map +1 -0
- package/dist/modules/flow/queries/issue-followers.d.ts +6 -0
- package/dist/modules/flow/queries/issue-followers.d.ts.map +1 -0
- package/dist/modules/flow/queries/issue-followers.js +18 -0
- package/dist/modules/flow/queries/issue-followers.js.map +1 -0
- package/dist/modules/flow/queries/issue-list.d.ts +153 -0
- package/dist/modules/flow/queries/issue-list.d.ts.map +1 -0
- package/dist/modules/flow/queries/issue-list.js +439 -0
- package/dist/modules/flow/queries/issue-list.js.map +1 -0
- package/dist/modules/flow/queries/options.d.ts +4 -0
- package/dist/modules/flow/queries/options.d.ts.map +1 -0
- package/dist/modules/flow/queries/options.js +13 -0
- package/dist/modules/flow/queries/options.js.map +1 -0
- package/dist/modules/flow/queries/progress.d.ts +24 -0
- package/dist/modules/flow/queries/progress.d.ts.map +1 -0
- package/dist/modules/flow/queries/progress.js +54 -0
- package/dist/modules/flow/queries/progress.js.map +1 -0
- package/dist/modules/flow/queries/project-list.d.ts +4 -0
- package/dist/modules/flow/queries/project-list.d.ts.map +1 -0
- package/dist/modules/flow/queries/project-list.js +19 -0
- package/dist/modules/flow/queries/project-list.js.map +1 -0
- package/dist/modules/flow_backend/messages.d.ts +1 -2
- package/dist/modules/flow_backend/messages.d.ts.map +1 -1
- package/dist/modules/flow_backend/messages.js +0 -2
- package/dist/modules/flow_backend/messages.js.map +1 -1
- package/dist/modules/flow_backend/routes.js +1 -1
- package/dist/modules/flow_backend/routes.js.map +1 -1
- package/dist/modules/flow_backend/screens/all-epics.d.ts.map +1 -1
- package/dist/modules/flow_backend/screens/all-epics.js +1 -1
- package/dist/modules/flow_backend/screens/all-epics.js.map +1 -1
- package/dist/modules/flow_backend/screens/all-pages.d.ts.map +1 -1
- package/dist/modules/flow_backend/screens/all-pages.js +1 -1
- package/dist/modules/flow_backend/screens/all-pages.js.map +1 -1
- package/dist/modules/flow_backend/screens/epic-detail.js +1 -1
- package/dist/modules/flow_backend/screens/epic-detail.js.map +1 -1
- package/dist/modules/flow_backend/screens/gantt.d.ts.map +1 -1
- package/dist/modules/flow_backend/screens/gantt.js +1 -1
- package/dist/modules/flow_backend/screens/gantt.js.map +1 -1
- package/dist/modules/flow_backend/screens/issue-detail.js +2 -1
- package/dist/modules/flow_backend/screens/issue-detail.js.map +1 -1
- package/dist/modules/flow_backend/screens/issues.d.ts.map +1 -1
- package/dist/modules/flow_backend/screens/issues.js +1 -1
- package/dist/modules/flow_backend/screens/issues.js.map +1 -1
- package/dist/modules/flow_backend/screens/map.js +1 -1
- package/dist/modules/flow_backend/screens/map.js.map +1 -1
- package/dist/modules/flow_backend/screens/my-work.d.ts.map +1 -1
- package/dist/modules/flow_backend/screens/my-work.js +1 -1
- package/dist/modules/flow_backend/screens/my-work.js.map +1 -1
- package/dist/modules/flow_backend/screens/page-detail.js +1 -1
- package/dist/modules/flow_backend/screens/page-detail.js.map +1 -1
- package/dist/modules/flow_backend/screens/project-create.d.ts.map +1 -1
- package/dist/modules/flow_backend/screens/project-create.js +1 -1
- package/dist/modules/flow_backend/screens/project-create.js.map +1 -1
- package/dist/modules/flow_backend/screens/project-pages.d.ts.map +1 -1
- package/dist/modules/flow_backend/screens/project-pages.js +1 -1
- package/dist/modules/flow_backend/screens/project-pages.js.map +1 -1
- package/dist/modules/flow_backend/screens/projects-list.d.ts.map +1 -1
- package/dist/modules/flow_backend/screens/projects-list.js +1 -1
- package/dist/modules/flow_backend/screens/projects-list.js.map +1 -1
- package/dist/modules/flow_backend/screens/sprints.d.ts.map +1 -1
- package/dist/modules/flow_backend/screens/sprints.js +1 -1
- package/dist/modules/flow_backend/screens/sprints.js.map +1 -1
- package/dist/modules/flow_staff_channel/channel-routes.js +1 -1
- package/dist/modules/flow_staff_channel/channel-routes.js.map +1 -1
- package/dist/modules/hospitality_billing/messages.d.ts.map +1 -1
- package/dist/modules/hospitality_billing/messages.js +0 -2
- package/dist/modules/hospitality_billing/messages.js.map +1 -1
- package/dist/modules/hospitality_billing/screens/billing.d.ts.map +1 -1
- package/dist/modules/hospitality_billing/screens/billing.js +1 -1
- package/dist/modules/hospitality_billing/screens/billing.js.map +1 -1
- package/dist/modules/hospitality_billing/screens/page-frame.d.ts +1 -2
- package/dist/modules/hospitality_billing/screens/page-frame.d.ts.map +1 -1
- package/dist/modules/hospitality_billing/screens/page-frame.js +1 -1
- package/dist/modules/hospitality_billing/screens/page-frame.js.map +1 -1
- package/dist/modules/hospitality_core/messages.js +2 -2
- package/dist/modules/hospitality_core/messages.js.map +1 -1
- package/dist/modules/hospitality_core/screens/check-out-prep.d.ts.map +1 -1
- package/dist/modules/hospitality_core/screens/check-out-prep.js +1 -1
- package/dist/modules/hospitality_core/screens/check-out-prep.js.map +1 -1
- package/dist/modules/hospitality_core/screens/front-desk.d.ts.map +1 -1
- package/dist/modules/hospitality_core/screens/front-desk.js +40 -40
- package/dist/modules/hospitality_core/screens/front-desk.js.map +1 -1
- package/dist/modules/hospitality_core/screens/page-frame.d.ts +2 -3
- package/dist/modules/hospitality_core/screens/page-frame.d.ts.map +1 -1
- package/dist/modules/hospitality_core/screens/page-frame.js +3 -3
- package/dist/modules/hospitality_core/screens/page-frame.js.map +1 -1
- package/dist/modules/hospitality_core/screens/tape-chart.d.ts.map +1 -1
- package/dist/modules/hospitality_core/screens/tape-chart.js +3 -12
- package/dist/modules/hospitality_core/screens/tape-chart.js.map +1 -1
- package/dist/modules/hr_backend/screens/employee-form.d.ts.map +1 -1
- package/dist/modules/hr_backend/screens/employee-form.js +1 -1
- package/dist/modules/hr_backend/screens/employee-form.js.map +1 -1
- package/dist/modules/hr_backend/screens/leaves-list.d.ts.map +1 -1
- package/dist/modules/hr_backend/screens/leaves-list.js +1 -1
- package/dist/modules/hr_backend/screens/leaves-list.js.map +1 -1
- package/dist/modules/livedoc/islands.d.ts +9 -0
- package/dist/modules/livedoc/islands.d.ts.map +1 -1
- package/dist/modules/loyalty_backend/messages.d.ts +0 -10
- package/dist/modules/loyalty_backend/messages.d.ts.map +1 -1
- package/dist/modules/loyalty_backend/messages.js +0 -10
- package/dist/modules/loyalty_backend/messages.js.map +1 -1
- package/dist/modules/loyalty_backend/screens/index.d.ts.map +1 -1
- package/dist/modules/loyalty_backend/screens/index.js +5 -5
- package/dist/modules/loyalty_backend/screens/index.js.map +1 -1
- package/dist/modules/loyalty_backend/screens/page-frame.d.ts +2 -3
- package/dist/modules/loyalty_backend/screens/page-frame.d.ts.map +1 -1
- package/dist/modules/loyalty_backend/screens/page-frame.js +2 -2
- package/dist/modules/loyalty_backend/screens/page-frame.js.map +1 -1
- package/dist/modules/mail_backend/index.d.ts.map +1 -1
- package/dist/modules/mail_backend/index.js +0 -2
- package/dist/modules/mail_backend/index.js.map +1 -1
- package/dist/modules/mail_backend/screens/inbox-list.d.ts.map +1 -1
- package/dist/modules/mail_backend/screens/inbox-list.js +1 -1
- package/dist/modules/mail_backend/screens/inbox-list.js.map +1 -1
- package/dist/modules/mail_inbound_backend/index.d.ts.map +1 -1
- package/dist/modules/mail_inbound_backend/index.js +0 -2
- package/dist/modules/mail_inbound_backend/index.js.map +1 -1
- package/dist/modules/mail_inbound_backend/screens/inbound-list.d.ts.map +1 -1
- package/dist/modules/mail_inbound_backend/screens/inbound-list.js +1 -1
- package/dist/modules/mail_inbound_backend/screens/inbound-list.js.map +1 -1
- package/dist/modules/mail_transport_backend/index.d.ts.map +1 -1
- package/dist/modules/mail_transport_backend/index.js +0 -2
- package/dist/modules/mail_transport_backend/index.js.map +1 -1
- package/dist/modules/mail_transport_backend/screens/outbox-list.d.ts.map +1 -1
- package/dist/modules/mail_transport_backend/screens/outbox-list.js +1 -1
- package/dist/modules/mail_transport_backend/screens/outbox-list.js.map +1 -1
- package/dist/modules/manufacturing_backend/screens/order-execution.d.ts.map +1 -1
- package/dist/modules/manufacturing_backend/screens/order-execution.js +1 -1
- package/dist/modules/manufacturing_backend/screens/order-execution.js.map +1 -1
- package/dist/modules/oauth_backend/messages.d.ts +0 -4
- package/dist/modules/oauth_backend/messages.d.ts.map +1 -1
- package/dist/modules/oauth_backend/messages.js +0 -4
- package/dist/modules/oauth_backend/messages.js.map +1 -1
- package/dist/modules/oauth_backend/screens/index.d.ts.map +1 -1
- package/dist/modules/oauth_backend/screens/index.js +5 -5
- package/dist/modules/oauth_backend/screens/index.js.map +1 -1
- package/dist/modules/partner_backend/screens/form.d.ts.map +1 -1
- package/dist/modules/partner_backend/screens/form.js +3 -1
- package/dist/modules/partner_backend/screens/form.js.map +1 -1
- package/dist/modules/partner_backend/screens/list.d.ts.map +1 -1
- package/dist/modules/partner_backend/screens/list.js +1 -1
- package/dist/modules/partner_backend/screens/list.js.map +1 -1
- package/dist/modules/partner_backend/screens/new.d.ts.map +1 -1
- package/dist/modules/partner_backend/screens/new.js +1 -1
- package/dist/modules/partner_backend/screens/new.js.map +1 -1
- package/dist/modules/pricing_backend/index.js +0 -2
- package/dist/modules/pricing_backend/index.js.map +1 -1
- package/dist/modules/pricing_backend/screens/pricelist-detail.d.ts.map +1 -1
- package/dist/modules/pricing_backend/screens/pricelist-detail.js +1 -1
- package/dist/modules/pricing_backend/screens/pricelist-detail.js.map +1 -1
- package/dist/modules/pricing_backend/screens/pricelists-list.d.ts.map +1 -1
- package/dist/modules/pricing_backend/screens/pricelists-list.js +1 -1
- package/dist/modules/pricing_backend/screens/pricelists-list.js.map +1 -1
- package/dist/modules/product_backend/client/attribute-modal.d.mts +4 -4
- package/dist/modules/product_backend/client/attribute-modal.d.mts.map +1 -1
- package/dist/modules/product_backend/client/attribute-modal.mjs +1 -1
- package/dist/modules/product_backend/client/attribute-modal.mjs.map +3 -3
- package/dist/modules/product_backend/client/product-modal.d.mts +8 -8
- package/dist/modules/product_backend/client/product-modal.d.mts.map +1 -1
- package/dist/modules/product_backend/client/product-modal.mjs +1 -1
- package/dist/modules/product_backend/client/product-modal.mjs.map +3 -3
- package/dist/modules/product_backend/client/variant-editor.d.mts +3 -3
- package/dist/modules/product_backend/client/variant-editor.d.mts.map +1 -1
- package/dist/modules/product_backend/client/variant-editor.mjs +1 -1
- package/dist/modules/product_backend/client/variant-editor.mjs.map +3 -3
- package/dist/modules/product_backend/screens/detail.d.ts.map +1 -1
- package/dist/modules/product_backend/screens/detail.js +3 -2
- package/dist/modules/product_backend/screens/detail.js.map +1 -1
- package/dist/modules/product_backend/screens/variant.d.ts.map +1 -1
- package/dist/modules/product_backend/screens/variant.js +3 -2
- package/dist/modules/product_backend/screens/variant.js.map +1 -1
- package/dist/modules/purchase_backend/client/purchase-order-modal.d.mts +185 -0
- package/dist/modules/purchase_backend/client/purchase-order-modal.d.mts.map +1 -0
- package/dist/modules/purchase_backend/client/purchase-order-modal.mjs +2 -0
- package/dist/modules/purchase_backend/client/purchase-order-modal.mjs.map +7 -0
- package/dist/modules/purchase_backend/client/vendor-pricelist-modal.d.mts +52 -0
- package/dist/modules/purchase_backend/client/vendor-pricelist-modal.d.mts.map +1 -0
- package/dist/modules/purchase_backend/client/vendor-pricelist-modal.mjs +2 -0
- package/dist/modules/purchase_backend/client/vendor-pricelist-modal.mjs.map +7 -0
- package/dist/modules/purchase_backend/index.js +83 -14
- package/dist/modules/purchase_backend/index.js.map +1 -1
- package/dist/modules/purchase_backend/modal/context.d.ts +4 -0
- package/dist/modules/purchase_backend/modal/context.d.ts.map +1 -0
- package/dist/modules/purchase_backend/modal/context.js +94 -0
- package/dist/modules/purchase_backend/modal/context.js.map +1 -0
- package/dist/modules/purchase_backend/modal/order-modal-view.d.ts +18 -0
- package/dist/modules/purchase_backend/modal/order-modal-view.d.ts.map +1 -0
- package/dist/modules/purchase_backend/modal/order-modal-view.js +290 -0
- package/dist/modules/purchase_backend/modal/order-modal-view.js.map +1 -0
- package/dist/modules/purchase_backend/modal/pricelist-context.d.ts +3 -0
- package/dist/modules/purchase_backend/modal/pricelist-context.d.ts.map +1 -0
- package/dist/modules/purchase_backend/modal/pricelist-context.js +36 -0
- package/dist/modules/purchase_backend/modal/pricelist-context.js.map +1 -0
- package/dist/modules/purchase_backend/modal/pricelist-view.d.ts +12 -0
- package/dist/modules/purchase_backend/modal/pricelist-view.d.ts.map +1 -0
- package/dist/modules/purchase_backend/modal/pricelist-view.js +78 -0
- package/dist/modules/purchase_backend/modal/pricelist-view.js.map +1 -0
- package/dist/modules/purchase_backend/screens/order-detail.d.ts.map +1 -1
- package/dist/modules/purchase_backend/screens/order-detail.js +4 -2
- package/dist/modules/purchase_backend/screens/order-detail.js.map +1 -1
- package/dist/modules/purchase_backend/screens/overview.d.ts +5 -0
- package/dist/modules/purchase_backend/screens/overview.d.ts.map +1 -1
- package/dist/modules/purchase_backend/screens/overview.js +27 -6
- package/dist/modules/purchase_backend/screens/overview.js.map +1 -1
- package/dist/modules/purchase_backend/screens/rfq-create.d.ts.map +1 -1
- package/dist/modules/purchase_backend/screens/rfq-create.js +1 -1
- package/dist/modules/purchase_backend/screens/rfq-create.js.map +1 -1
- package/dist/modules/purchase_backend/screens/rfqs-list.d.ts +1 -1
- package/dist/modules/purchase_backend/screens/rfqs-list.d.ts.map +1 -1
- package/dist/modules/purchase_backend/screens/rfqs-list.js +1 -1
- package/dist/modules/purchase_backend/screens/rfqs-list.js.map +1 -1
- package/dist/modules/purchase_backend/screens/vendor-pricelist-create.d.ts.map +1 -1
- package/dist/modules/purchase_backend/screens/vendor-pricelist-create.js +1 -1
- package/dist/modules/purchase_backend/screens/vendor-pricelist-create.js.map +1 -1
- package/dist/modules/purchase_backend/screens/vendor-pricelists-list.d.ts +2 -1
- package/dist/modules/purchase_backend/screens/vendor-pricelists-list.d.ts.map +1 -1
- package/dist/modules/purchase_backend/screens/vendor-pricelists-list.js +2 -2
- package/dist/modules/purchase_backend/screens/vendor-pricelists-list.js.map +1 -1
- package/dist/modules/purchase_backend/search.d.ts +1 -1
- package/dist/modules/sale/functions/line-edit.d.ts +4 -0
- package/dist/modules/sale/functions/line-edit.d.ts.map +1 -0
- package/dist/modules/sale/functions/line-edit.js +120 -0
- package/dist/modules/sale/functions/line-edit.js.map +1 -0
- package/dist/modules/sale/index.d.ts.map +1 -1
- package/dist/modules/sale/index.js +16 -1
- package/dist/modules/sale/index.js.map +1 -1
- package/dist/modules/sale_backend/client/invoicing-policy-modal.d.mts +53 -0
- package/dist/modules/sale_backend/client/invoicing-policy-modal.d.mts.map +1 -0
- package/dist/modules/sale_backend/client/invoicing-policy-modal.mjs +2 -0
- package/dist/modules/sale_backend/client/invoicing-policy-modal.mjs.map +7 -0
- package/dist/modules/sale_backend/client/sale-order-modal.d.mts +161 -0
- package/dist/modules/sale_backend/client/sale-order-modal.d.mts.map +1 -0
- package/dist/modules/sale_backend/client/sale-order-modal.mjs +2 -0
- package/dist/modules/sale_backend/client/sale-order-modal.mjs.map +7 -0
- package/dist/modules/sale_backend/index.js +81 -20
- package/dist/modules/sale_backend/index.js.map +1 -1
- package/dist/modules/sale_backend/modal/context.d.ts +4 -0
- package/dist/modules/sale_backend/modal/context.d.ts.map +1 -0
- package/dist/modules/sale_backend/modal/context.js +94 -0
- package/dist/modules/sale_backend/modal/context.js.map +1 -0
- package/dist/modules/sale_backend/modal/order-modal-view.d.ts +18 -0
- package/dist/modules/sale_backend/modal/order-modal-view.d.ts.map +1 -0
- package/dist/modules/sale_backend/modal/order-modal-view.js +289 -0
- package/dist/modules/sale_backend/modal/order-modal-view.js.map +1 -0
- package/dist/modules/sale_backend/modal/policy-context.d.ts +3 -0
- package/dist/modules/sale_backend/modal/policy-context.d.ts.map +1 -0
- package/dist/modules/sale_backend/modal/policy-context.js +26 -0
- package/dist/modules/sale_backend/modal/policy-context.js.map +1 -0
- package/dist/modules/sale_backend/modal/policy-view.d.ts +11 -0
- package/dist/modules/sale_backend/modal/policy-view.d.ts.map +1 -0
- package/dist/modules/sale_backend/modal/policy-view.js +70 -0
- package/dist/modules/sale_backend/modal/policy-view.js.map +1 -0
- package/dist/modules/sale_backend/screens/invoicing-policies-list.d.ts +1 -1
- package/dist/modules/sale_backend/screens/invoicing-policies-list.d.ts.map +1 -1
- package/dist/modules/sale_backend/screens/invoicing-policies-list.js +1 -1
- package/dist/modules/sale_backend/screens/invoicing-policies-list.js.map +1 -1
- package/dist/modules/sale_backend/screens/invoicing-policy-create.d.ts.map +1 -1
- package/dist/modules/sale_backend/screens/invoicing-policy-create.js +1 -1
- package/dist/modules/sale_backend/screens/invoicing-policy-create.js.map +1 -1
- package/dist/modules/sale_backend/screens/order-detail.d.ts.map +1 -1
- package/dist/modules/sale_backend/screens/order-detail.js +3 -1
- package/dist/modules/sale_backend/screens/order-detail.js.map +1 -1
- package/dist/modules/sale_backend/screens/overview.d.ts +3 -0
- package/dist/modules/sale_backend/screens/overview.d.ts.map +1 -1
- package/dist/modules/sale_backend/screens/overview.js +22 -14
- package/dist/modules/sale_backend/screens/overview.js.map +1 -1
- package/dist/modules/sale_backend/screens/quotation-create.d.ts.map +1 -1
- package/dist/modules/sale_backend/screens/quotation-create.js +1 -1
- package/dist/modules/sale_backend/screens/quotation-create.js.map +1 -1
- package/dist/modules/sale_backend/screens/quotations-list.d.ts +1 -1
- package/dist/modules/sale_backend/screens/quotations-list.d.ts.map +1 -1
- package/dist/modules/sale_backend/screens/quotations-list.js +1 -1
- package/dist/modules/sale_backend/screens/quotations-list.js.map +1 -1
- package/dist/modules/sale_backend/screens/sales-orders-list.d.ts.map +1 -1
- package/dist/modules/sale_backend/screens/sales-orders-list.js +1 -1
- package/dist/modules/sale_backend/screens/sales-orders-list.js.map +1 -1
- package/dist/modules/stock/functions/inventory-preview.d.ts +4 -0
- package/dist/modules/stock/functions/inventory-preview.d.ts.map +1 -0
- package/dist/modules/stock/functions/inventory-preview.js +68 -0
- package/dist/modules/stock/functions/inventory-preview.js.map +1 -0
- package/dist/modules/stock/index.d.ts.map +1 -1
- package/dist/modules/stock/index.js +14 -1
- package/dist/modules/stock/index.js.map +1 -1
- package/dist/modules/stock_backend/client/inventory-count-modal.d.mts +60 -0
- package/dist/modules/stock_backend/client/inventory-count-modal.d.mts.map +1 -0
- package/dist/modules/stock_backend/client/inventory-count-modal.mjs +2 -0
- package/dist/modules/stock_backend/client/inventory-count-modal.mjs.map +7 -0
- package/dist/modules/stock_backend/client/stock-configuration-modal.d.mts +105 -0
- package/dist/modules/stock_backend/client/stock-configuration-modal.d.mts.map +1 -0
- package/dist/modules/stock_backend/client/stock-configuration-modal.mjs +2 -0
- package/dist/modules/stock_backend/client/stock-configuration-modal.mjs.map +7 -0
- package/dist/modules/stock_backend/client/stock-transfer-modal.d.mts +130 -0
- package/dist/modules/stock_backend/client/stock-transfer-modal.d.mts.map +1 -0
- package/dist/modules/stock_backend/client/stock-transfer-modal.mjs +2 -0
- package/dist/modules/stock_backend/client/stock-transfer-modal.mjs.map +7 -0
- package/dist/modules/stock_backend/functions/index.d.ts +10 -0
- package/dist/modules/stock_backend/functions/index.d.ts.map +1 -0
- package/dist/modules/stock_backend/functions/index.js +20 -0
- package/dist/modules/stock_backend/functions/index.js.map +1 -0
- package/dist/modules/stock_backend/functions.d.ts +1 -9
- package/dist/modules/stock_backend/functions.d.ts.map +1 -1
- package/dist/modules/stock_backend/functions.js +1 -18
- package/dist/modules/stock_backend/functions.js.map +1 -1
- package/dist/modules/stock_backend/index.js +52 -0
- package/dist/modules/stock_backend/index.js.map +1 -1
- package/dist/modules/stock_backend/islands.d.ts +8 -0
- package/dist/modules/stock_backend/islands.d.ts.map +1 -1
- package/dist/modules/stock_backend/islands.js +41 -0
- package/dist/modules/stock_backend/islands.js.map +1 -1
- package/dist/modules/stock_backend/modal/configuration-context.d.ts +3 -0
- package/dist/modules/stock_backend/modal/configuration-context.d.ts.map +1 -0
- package/dist/modules/stock_backend/modal/configuration-context.js +65 -0
- package/dist/modules/stock_backend/modal/configuration-context.js.map +1 -0
- package/dist/modules/stock_backend/modal/configuration-view.d.ts +21 -0
- package/dist/modules/stock_backend/modal/configuration-view.d.ts.map +1 -0
- package/dist/modules/stock_backend/modal/configuration-view.js +201 -0
- package/dist/modules/stock_backend/modal/configuration-view.js.map +1 -0
- package/dist/modules/stock_backend/modal/configuration.d.ts +20 -0
- package/dist/modules/stock_backend/modal/configuration.d.ts.map +1 -0
- package/dist/modules/stock_backend/modal/configuration.js +117 -0
- package/dist/modules/stock_backend/modal/configuration.js.map +1 -0
- package/dist/modules/stock_backend/modal/inventory-context.d.ts +3 -0
- package/dist/modules/stock_backend/modal/inventory-context.d.ts.map +1 -0
- package/dist/modules/stock_backend/modal/inventory-context.js +37 -0
- package/dist/modules/stock_backend/modal/inventory-context.js.map +1 -0
- package/dist/modules/stock_backend/modal/inventory-view.d.ts +14 -0
- package/dist/modules/stock_backend/modal/inventory-view.d.ts.map +1 -0
- package/dist/modules/stock_backend/modal/inventory-view.js +142 -0
- package/dist/modules/stock_backend/modal/inventory-view.js.map +1 -0
- package/dist/modules/stock_backend/modal/transfer-context.d.ts +3 -0
- package/dist/modules/stock_backend/modal/transfer-context.d.ts.map +1 -0
- package/dist/modules/stock_backend/modal/transfer-context.js +54 -0
- package/dist/modules/stock_backend/modal/transfer-context.js.map +1 -0
- package/dist/modules/stock_backend/modal/transfer-view.d.ts +15 -0
- package/dist/modules/stock_backend/modal/transfer-view.d.ts.map +1 -0
- package/dist/modules/stock_backend/modal/transfer-view.js +252 -0
- package/dist/modules/stock_backend/modal/transfer-view.js.map +1 -0
- package/dist/modules/stock_backend/routes.d.ts.map +1 -1
- package/dist/modules/stock_backend/routes.js +117 -34
- package/dist/modules/stock_backend/routes.js.map +1 -1
- package/dist/modules/stock_backend/screens/forecast.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/forecast.js +5 -32
- package/dist/modules/stock_backend/screens/forecast.js.map +1 -1
- package/dist/modules/stock_backend/screens/inventory.d.ts +3 -1
- package/dist/modules/stock_backend/screens/inventory.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/inventory.js +27 -74
- package/dist/modules/stock_backend/screens/inventory.js.map +1 -1
- package/dist/modules/stock_backend/screens/location-create.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/location-create.js +1 -1
- package/dist/modules/stock_backend/screens/location-create.js.map +1 -1
- package/dist/modules/stock_backend/screens/locations-list.d.ts +1 -1
- package/dist/modules/stock_backend/screens/locations-list.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/locations-list.js +1 -1
- package/dist/modules/stock_backend/screens/locations-list.js.map +1 -1
- package/dist/modules/stock_backend/screens/lot-create.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/lot-create.js +1 -1
- package/dist/modules/stock_backend/screens/lot-create.js.map +1 -1
- package/dist/modules/stock_backend/screens/lot-detail.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/lot-detail.js +3 -2
- package/dist/modules/stock_backend/screens/lot-detail.js.map +1 -1
- package/dist/modules/stock_backend/screens/lots-list.d.ts +1 -1
- package/dist/modules/stock_backend/screens/lots-list.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/lots-list.js +1 -1
- package/dist/modules/stock_backend/screens/lots-list.js.map +1 -1
- package/dist/modules/stock_backend/screens/overview.d.ts +9 -0
- package/dist/modules/stock_backend/screens/overview.d.ts.map +1 -0
- package/dist/modules/stock_backend/screens/overview.js +38 -0
- package/dist/modules/stock_backend/screens/overview.js.map +1 -0
- package/dist/modules/stock_backend/screens/picking-type-create.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/picking-type-create.js +1 -1
- package/dist/modules/stock_backend/screens/picking-type-create.js.map +1 -1
- package/dist/modules/stock_backend/screens/picking-types-list.d.ts +1 -1
- package/dist/modules/stock_backend/screens/picking-types-list.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/picking-types-list.js +1 -1
- package/dist/modules/stock_backend/screens/picking-types-list.js.map +1 -1
- package/dist/modules/stock_backend/screens/replenishment-create.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/replenishment-create.js +1 -1
- package/dist/modules/stock_backend/screens/replenishment-create.js.map +1 -1
- package/dist/modules/stock_backend/screens/replenishment-list.d.ts +2 -2
- package/dist/modules/stock_backend/screens/replenishment-list.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/replenishment-list.js +2 -2
- package/dist/modules/stock_backend/screens/replenishment-list.js.map +1 -1
- package/dist/modules/stock_backend/screens/stock-route-create.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/stock-route-create.js +1 -1
- package/dist/modules/stock_backend/screens/stock-route-create.js.map +1 -1
- package/dist/modules/stock_backend/screens/stock-route-detail.js +2 -1
- package/dist/modules/stock_backend/screens/stock-route-detail.js.map +1 -1
- package/dist/modules/stock_backend/screens/stock-routes-list.d.ts +1 -1
- package/dist/modules/stock_backend/screens/stock-routes-list.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/stock-routes-list.js +1 -1
- package/dist/modules/stock_backend/screens/stock-routes-list.js.map +1 -1
- package/dist/modules/stock_backend/screens/transfer-create.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/transfer-create.js +1 -1
- package/dist/modules/stock_backend/screens/transfer-create.js.map +1 -1
- package/dist/modules/stock_backend/screens/transfer-detail.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/transfer-detail.js +3 -2
- package/dist/modules/stock_backend/screens/transfer-detail.js.map +1 -1
- package/dist/modules/stock_backend/screens/transfers-list.d.ts +1 -1
- package/dist/modules/stock_backend/screens/transfers-list.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/transfers-list.js +1 -1
- package/dist/modules/stock_backend/screens/transfers-list.js.map +1 -1
- package/dist/modules/stock_backend/screens/warehouse-create.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/warehouse-create.js +1 -1
- package/dist/modules/stock_backend/screens/warehouse-create.js.map +1 -1
- package/dist/modules/stock_backend/screens/warehouses-list.d.ts +1 -1
- package/dist/modules/stock_backend/screens/warehouses-list.d.ts.map +1 -1
- package/dist/modules/stock_backend/screens/warehouses-list.js +1 -1
- package/dist/modules/stock_backend/screens/warehouses-list.js.map +1 -1
- package/dist/modules/stock_backend/search.d.ts +29 -0
- package/dist/modules/stock_backend/search.d.ts.map +1 -1
- package/dist/modules/stock_backend/search.js +22 -0
- package/dist/modules/stock_backend/search.js.map +1 -1
- package/dist/modules/user_backend/client/access-policy-modal.d.mts +4 -4
- package/dist/modules/user_backend/client/access-policy-modal.d.mts.map +1 -1
- package/dist/modules/user_backend/client/access-policy-modal.mjs +1 -1
- package/dist/modules/user_backend/client/access-policy-modal.mjs.map +3 -3
- package/dist/modules/user_backend/client/role-modal.d.mts +6 -6
- package/dist/modules/user_backend/client/role-modal.d.mts.map +1 -1
- package/dist/modules/user_backend/client/role-modal.mjs +1 -1
- package/dist/modules/user_backend/client/role-modal.mjs.map +3 -3
- package/dist/modules/user_backend/client/user-modal.d.mts +8 -8
- package/dist/modules/user_backend/client/user-modal.d.mts.map +1 -1
- package/dist/modules/user_backend/client/user-modal.mjs +1 -1
- package/dist/modules/user_backend/client/user-modal.mjs.map +3 -3
- package/dist/modules/user_backend/messages.d.ts +0 -6
- package/dist/modules/user_backend/messages.d.ts.map +1 -1
- package/dist/modules/user_backend/messages.js +0 -6
- package/dist/modules/user_backend/messages.js.map +1 -1
- package/dist/modules/user_backend/screens/access-policies-list.d.ts.map +1 -1
- package/dist/modules/user_backend/screens/access-policies-list.js +1 -1
- package/dist/modules/user_backend/screens/access-policies-list.js.map +1 -1
- package/dist/modules/user_backend/screens/profile-form.d.ts.map +1 -1
- package/dist/modules/user_backend/screens/profile-form.js +1 -1
- package/dist/modules/user_backend/screens/profile-form.js.map +1 -1
- package/dist/modules/user_backend/screens/roles-list.d.ts.map +1 -1
- package/dist/modules/user_backend/screens/roles-list.js +1 -1
- package/dist/modules/user_backend/screens/roles-list.js.map +1 -1
- package/dist/modules/user_backend/screens/users-list.d.ts.map +1 -1
- package/dist/modules/user_backend/screens/users-list.js +1 -1
- package/dist/modules/user_backend/screens/users-list.js.map +1 -1
- package/dist/modules/website_backend/screens/page-frame.d.ts +2 -3
- package/dist/modules/website_backend/screens/page-frame.d.ts.map +1 -1
- package/dist/modules/website_backend/screens/page-frame.js +2 -2
- package/dist/modules/website_backend/screens/page-frame.js.map +1 -1
- package/dist/permission-catalogue.d.ts.map +1 -1
- package/dist/permission-catalogue.js +2 -0
- package/dist/permission-catalogue.js.map +1 -1
- package/dist/role-templates.d.ts.map +1 -1
- package/dist/role-templates.js +23 -3
- package/dist/role-templates.js.map +1 -1
- package/dist/scaffold/index.js +1 -1
- package/dist/ui/client/live-doc-shell.d.ts +27 -1
- package/dist/ui/client/live-doc-shell.d.ts.map +1 -1
- package/dist/ui/client/live-doc-shell.js +43 -5
- package/dist/ui/client/live-doc-shell.js.map +1 -1
- package/dist/ui/client/live-doc-tail.d.ts +4 -0
- package/dist/ui/client/live-doc-tail.d.ts.map +1 -0
- package/dist/ui/client/live-doc-tail.js +21 -0
- package/dist/ui/client/live-doc-tail.js.map +1 -0
- package/dist/ui/client/live-doc-view.d.ts +18 -0
- package/dist/ui/client/live-doc-view.d.ts.map +1 -1
- package/dist/ui/client/live-doc-view.js +183 -4
- package/dist/ui/client/live-doc-view.js.map +1 -1
- package/dist/ui/client/live-doc.css +81 -0
- package/dist/ui/client/live-doc.d.mts +6 -3
- package/dist/ui/client/live-doc.d.mts.map +1 -1
- package/dist/ui/client/live-doc.mjs +14 -10
- package/dist/ui/client/live-doc.mjs.map +4 -4
- package/dist/ui/layout.d.ts +2 -2
- package/dist/ui/layout.d.ts.map +1 -1
- package/dist/ui/layout.js +3 -3
- package/dist/ui/layout.js.map +1 -1
- package/package.json +4 -4
- package/dist/modules/flow/functions.d.ts +0 -3
- package/dist/modules/flow/functions.d.ts.map +0 -1
- package/dist/modules/flow/functions.js +0 -1857
- package/dist/modules/flow/functions.js.map +0 -1
- package/dist/modules/flow/operations.d.ts +0 -414
- package/dist/modules/flow/operations.d.ts.map +0 -1
- package/dist/modules/flow/operations.js +0 -1671
- package/dist/modules/flow/operations.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/flow/domain/issue-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAMzD;;;;GAIG;AACH;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,GAAG,EACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA6BrC;AAED,yEAAyE;AACzE,wBAAsB,WAAW,CAC/B,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB/C;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;IACL,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;CACvB,GACA,OAAO,CAAC,UAAU,CAAC,CAgErB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;IACL,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB,GACA,OAAO,CAAC,UAAU,CAAC,CAwCrB"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { actorRequired, commandKey, commandRecordId, invalid, issue, n, now } from './command.js';
|
|
2
|
+
import { deleteFrom, eq, inArray } from '@ketvietlab/ketjs';
|
|
3
|
+
import { readableProject, readableRow } from '../membership.js';
|
|
4
|
+
import { saveIssue } from './issue-write.js';
|
|
5
|
+
export async function planTransfer(ctx, held, projectId, columnId) {
|
|
6
|
+
const columns = await ctx.db.select('flow.Column', { projectId, active: true });
|
|
7
|
+
if (!columns.length)
|
|
8
|
+
return issue('projectId', 'flow.error.projectHasNoColumns');
|
|
9
|
+
const named = columnId ? columns.find((row) => String(row.id) === String(columnId)) : undefined;
|
|
10
|
+
if (columnId && !named)
|
|
11
|
+
return issue('columnId', 'flow.error.notFound');
|
|
12
|
+
// No column named: the first one work arrives in, by the order the board
|
|
13
|
+
// shows. Landing in a terminal column would report the issue as finished
|
|
14
|
+
// the moment it moved, which is the one answer a move must not invent.
|
|
15
|
+
const landing = named ??
|
|
16
|
+
[...columns]
|
|
17
|
+
.filter((row) => row.terminalState !== true)
|
|
18
|
+
.sort((a, b) => n(a.sequence) - n(b.sequence) || String(a.id).localeCompare(String(b.id)))[0] ??
|
|
19
|
+
columns[0];
|
|
20
|
+
let typeId = null;
|
|
21
|
+
if (held.typeId) {
|
|
22
|
+
const from = (await ctx.db.select('flow.IssueType', { id: held.typeId }))[0];
|
|
23
|
+
const to = from
|
|
24
|
+
? (await ctx.db.select('flow.IssueType', { projectId, code: from.code, active: true }))[0]
|
|
25
|
+
: undefined;
|
|
26
|
+
typeId = to ? String(to.id) : null;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
columnId: String(landing.id),
|
|
30
|
+
typeId,
|
|
31
|
+
epicCleared: held.epicId != null,
|
|
32
|
+
sprintCleared: held.sprintId != null,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/** Carry the custom field values whose code exists on the other side. */
|
|
36
|
+
export async function carryFields(ctx, fromIssueId, toIssueId, projectId) {
|
|
37
|
+
const values = await ctx.db.select('flow.IssueFieldValue', { issueId: fromIssueId });
|
|
38
|
+
if (!values.length)
|
|
39
|
+
return { carried: 0, dropped: 0 };
|
|
40
|
+
const defs = await ctx.db.select('flow.FieldDef', { projectId, active: true });
|
|
41
|
+
const byCode = new Map(defs.map((def) => [String(def.code), def]));
|
|
42
|
+
let carried = 0;
|
|
43
|
+
for (const value of values) {
|
|
44
|
+
const from = (await ctx.db.select('flow.FieldDef', { id: value.fieldId }))[0];
|
|
45
|
+
const to = from ? byCode.get(String(from.code)) : undefined;
|
|
46
|
+
if (!to)
|
|
47
|
+
continue;
|
|
48
|
+
await ctx.db.insertIfAbsent('flow.IssueFieldValue', {
|
|
49
|
+
id: `${toIssueId}:${String(to.id)}`,
|
|
50
|
+
issueId: toIssueId,
|
|
51
|
+
fieldId: to.id,
|
|
52
|
+
value: value.value ?? null,
|
|
53
|
+
});
|
|
54
|
+
carried += 1;
|
|
55
|
+
}
|
|
56
|
+
return { carried, dropped: values.length - carried };
|
|
57
|
+
}
|
|
58
|
+
export async function transferIssue(ctx, input) {
|
|
59
|
+
if (!actorRequired(ctx))
|
|
60
|
+
return invalid(issue('actor', 'flow.error.actorRequired'));
|
|
61
|
+
if (!commandKey(input.idempotencyKey))
|
|
62
|
+
return invalid(issue('idempotencyKey', 'flow.error.idempotencyRequired'));
|
|
63
|
+
return ctx.tx(async (tx) => {
|
|
64
|
+
const held = await readableRow(tx, 'flow.Issue', input.id);
|
|
65
|
+
if (!held)
|
|
66
|
+
return invalid(issue('id', 'flow.error.notFound'));
|
|
67
|
+
if (String(held.projectId) === String(input.projectId))
|
|
68
|
+
return invalid(issue('projectId', 'flow.error.sameProject'));
|
|
69
|
+
if (n(held.version) !== input.expectedVersion)
|
|
70
|
+
return invalid(issue('version', 'flow.error.conflict', { current: held.version }));
|
|
71
|
+
const destination = await readableProject(tx, input.projectId);
|
|
72
|
+
if (!destination || destination.active !== true)
|
|
73
|
+
return invalid(issue('projectId', 'flow.error.notFound'));
|
|
74
|
+
const children = await tx.db.select('flow.Issue', { parentIssueId: input.id, active: true });
|
|
75
|
+
if (children.length)
|
|
76
|
+
return invalid(issue('id', 'flow.error.issueHasChildren'));
|
|
77
|
+
const plan = await planTransfer(tx, held, String(input.projectId), input.columnId);
|
|
78
|
+
if ('code' in plan)
|
|
79
|
+
return invalid(plan);
|
|
80
|
+
// The values move rather than being copied, so they are read before the
|
|
81
|
+
// old ones go and written against the destination's own definitions.
|
|
82
|
+
const carried = await carryFields(tx, input.id, input.id, String(input.projectId));
|
|
83
|
+
const V = tx.table('flow.IssueFieldValue');
|
|
84
|
+
const defs = await tx.db.select('flow.FieldDef', { projectId: held.projectId });
|
|
85
|
+
if (defs.length)
|
|
86
|
+
await tx.db.del(deleteFrom(V).where(eq(V.issueId, input.id), inArray(V.fieldId, defs.map((def) => String(def.id)))));
|
|
87
|
+
const version = n(held.version) + 1;
|
|
88
|
+
await tx.db.update('flow.Issue', { id: input.id }, {
|
|
89
|
+
projectId: input.projectId,
|
|
90
|
+
columnId: plan.columnId,
|
|
91
|
+
typeId: plan.typeId,
|
|
92
|
+
// Neither means anything on the other side, and keeping either would
|
|
93
|
+
// put an issue in a sprint its new project does not run.
|
|
94
|
+
epicId: null,
|
|
95
|
+
sprintId: null,
|
|
96
|
+
parentIssueId: null,
|
|
97
|
+
version,
|
|
98
|
+
updatedAt: now(),
|
|
99
|
+
});
|
|
100
|
+
return {
|
|
101
|
+
ok: true,
|
|
102
|
+
id: input.id,
|
|
103
|
+
version,
|
|
104
|
+
columnId: plan.columnId,
|
|
105
|
+
fieldsCarried: carried.carried,
|
|
106
|
+
fieldsDropped: carried.dropped,
|
|
107
|
+
typeCleared: Boolean(held.typeId) && plan.typeId === null,
|
|
108
|
+
epicCleared: plan.epicCleared,
|
|
109
|
+
sprintCleared: plan.sprintCleared,
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Put a copy of an issue into another project, leaving the original alone.
|
|
115
|
+
*
|
|
116
|
+
* The same mapping `transferIssue` uses, because the crossing is the same
|
|
117
|
+
* crossing — a type or a field that has no counterpart on the other side has
|
|
118
|
+
* none whether the issue is moving or being duplicated.
|
|
119
|
+
*
|
|
120
|
+
* What a copy deliberately does not bring is the history: the comments, the
|
|
121
|
+
* followers and the document are the record of a conversation that happened
|
|
122
|
+
* about *that* issue, and duplicating them would put words in people's mouths
|
|
123
|
+
* on a record they never saw. The copy starts with a title and the fields, and
|
|
124
|
+
* whoever asked for it can say the rest themselves (FLW-020).
|
|
125
|
+
*/
|
|
126
|
+
export async function copyIssue(ctx, input) {
|
|
127
|
+
if (!actorRequired(ctx))
|
|
128
|
+
return invalid(issue('actor', 'flow.error.actorRequired'));
|
|
129
|
+
if (!commandKey(input.idempotencyKey))
|
|
130
|
+
return invalid(issue('idempotencyKey', 'flow.error.idempotencyRequired'));
|
|
131
|
+
const held = await readableRow(ctx, 'flow.Issue', input.id);
|
|
132
|
+
if (!held)
|
|
133
|
+
return invalid(issue('id', 'flow.error.notFound'));
|
|
134
|
+
const destination = await readableProject(ctx, input.projectId);
|
|
135
|
+
if (!destination || destination.active !== true)
|
|
136
|
+
return invalid(issue('projectId', 'flow.error.notFound'));
|
|
137
|
+
const plan = await planTransfer(ctx, held, String(input.projectId), input.columnId);
|
|
138
|
+
if ('code' in plan)
|
|
139
|
+
return invalid(plan);
|
|
140
|
+
// Derived from the key, so a double click makes one copy rather than two —
|
|
141
|
+
// the same reason the create form derives its id (FLW-033).
|
|
142
|
+
const id = commandRecordId(`flow.issue.copy:${input.id}:${String(input.projectId)}`, input.idempotencyKey);
|
|
143
|
+
const tags = await ctx.db.select('flow.IssueTag', { issueId: input.id });
|
|
144
|
+
const made = await saveIssue(ctx, {
|
|
145
|
+
id,
|
|
146
|
+
projectId: String(input.projectId),
|
|
147
|
+
columnId: plan.columnId,
|
|
148
|
+
typeId: plan.typeId,
|
|
149
|
+
title: String(input.title ?? held.title ?? ''),
|
|
150
|
+
assigneeUserId: held.assigneeUserId ? String(held.assigneeUserId) : null,
|
|
151
|
+
priority: String(held.priority ?? '2'),
|
|
152
|
+
startDate: held.startDate ? String(held.startDate) : null,
|
|
153
|
+
dueDate: held.dueDate ? String(held.dueDate) : null,
|
|
154
|
+
estimate: held.estimate ?? undefined,
|
|
155
|
+
// A tag is the company's, so it means the same thing in both projects.
|
|
156
|
+
tagIds: tags.map((row) => String(row.tagId)),
|
|
157
|
+
idempotencyKey: input.idempotencyKey,
|
|
158
|
+
});
|
|
159
|
+
if (!made.ok)
|
|
160
|
+
return made;
|
|
161
|
+
const carried = await carryFields(ctx, input.id, id, String(input.projectId));
|
|
162
|
+
return {
|
|
163
|
+
ok: true,
|
|
164
|
+
id,
|
|
165
|
+
columnId: plan.columnId,
|
|
166
|
+
fieldsCarried: carried.carried,
|
|
167
|
+
fieldsDropped: carried.dropped,
|
|
168
|
+
typeCleared: Boolean(held.typeId) && plan.typeId === null,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=issue-transfer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-transfer.js","sourceRoot":"","sources":["../../../../../../../../packages/ketsuite/src/modules/flow/domain/issue-transfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { Ctx, Row } from '@ketvietlab/ketjs';
|
|
2
|
+
import type { FlowIssue } from './command.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Live, and readable by this caller.
|
|
5
|
+
*
|
|
6
|
+
* Creating an issue in a project somebody cannot see is writing to a project
|
|
7
|
+
* they cannot see, so the same gate answers both. The caller turns a false here
|
|
8
|
+
* into "not found", which is also the right answer for a project that is real
|
|
9
|
+
* but not theirs.
|
|
10
|
+
*/
|
|
11
|
+
export declare const projectExists: (ctx: Ctx, id: unknown) => Promise<boolean>;
|
|
12
|
+
export declare const columnOf: (ctx: Ctx, id: unknown) => Promise<Row | null>;
|
|
13
|
+
export declare const userExists: (ctx: Ctx, id: unknown) => Promise<boolean>;
|
|
14
|
+
/**
|
|
15
|
+
* A sprint an issue may still be dropped into.
|
|
16
|
+
*
|
|
17
|
+
* `null` reads as "no sprint" (always allowed). A closed sprint is the one
|
|
18
|
+
* state that refuses new membership — see the design note on the Sprint model.
|
|
19
|
+
*/
|
|
20
|
+
export declare function assignableSprint(ctx: Ctx, sprintId: unknown): Promise<Row | null | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* An epic an issue may belong to.
|
|
23
|
+
*
|
|
24
|
+
* `undefined` means "named but not found". Every other reference on an issue
|
|
25
|
+
* — column, sprint, parent — is checked for existence and for belonging to
|
|
26
|
+
* the same project; epic was the one that was written straight through, so an
|
|
27
|
+
* issue in project A could be filed under project B's epic and would then
|
|
28
|
+
* appear on B's epic panel and dependency map while still living on A's board.
|
|
29
|
+
*/
|
|
30
|
+
export declare function issueEpic(ctx: Ctx, epicId: unknown): Promise<Row | null | undefined>;
|
|
31
|
+
/**
|
|
32
|
+
* A type an issue may be filed as.
|
|
33
|
+
*
|
|
34
|
+
* Checked for existence and for belonging to the same project, which is what
|
|
35
|
+
* `epicId` was not and had to be taught — a reference written straight through
|
|
36
|
+
* puts a row on a board it does not belong to, and every screen downstream
|
|
37
|
+
* then agrees with it.
|
|
38
|
+
*/
|
|
39
|
+
export declare function issueType(ctx: Ctx, typeId: unknown): Promise<Row | null | undefined>;
|
|
40
|
+
/** The options a `select` field offers, as codes. */
|
|
41
|
+
export declare const optionCodes: (config: unknown) => string[];
|
|
42
|
+
/**
|
|
43
|
+
* Whether a value is well-formed for the kind of field holding it.
|
|
44
|
+
*
|
|
45
|
+
* Empty always passes and clears the value: a field a team added last week is
|
|
46
|
+
* blank on every issue that already existed, and refusing to save those until
|
|
47
|
+
* somebody fills it in would make adding a field an act of vandalism.
|
|
48
|
+
*/
|
|
49
|
+
export declare function fieldValueError(field: Row, raw: unknown): FlowIssue | null;
|
|
50
|
+
/**
|
|
51
|
+
* The custom fields of one project, by id and by code.
|
|
52
|
+
*
|
|
53
|
+
* Callers name a field either way — a screen posts ids, an agent writing
|
|
54
|
+
* `{ environment: 'production' }` names codes — and both have to land on the
|
|
55
|
+
* same definition.
|
|
56
|
+
*/
|
|
57
|
+
export declare function fieldsOfProject(ctx: Ctx, projectId: unknown): Promise<Map<string, Row>>;
|
|
58
|
+
/**
|
|
59
|
+
* A parent an issue may point at.
|
|
60
|
+
*
|
|
61
|
+
* Sub-tasks nest inside one project's board, so a parent from another project
|
|
62
|
+
* would put a child on a board its parent is not on. A cycle is worse: the
|
|
63
|
+
* pair becomes each other's ancestor and any walk up the tree runs forever.
|
|
64
|
+
* `blocks` already refuses cycles for the same reason (see createsBlockCycle);
|
|
65
|
+
* parentage had no check at all, and accepted a parent id that did not exist.
|
|
66
|
+
*/
|
|
67
|
+
export declare function parentIssueError(ctx: Ctx, issueId: string, parentIssueId: unknown, projectId: string): Promise<FlowIssue | null>;
|
|
68
|
+
//# sourceMappingURL=issue-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-validation.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/flow/domain/issue-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAI7C;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,QAAe,GAAG,MAAM,OAAO,KAAG,OAAO,CAAC,OAAO,CAG1E,CAAA;AAED,eAAO,MAAM,QAAQ,QAAe,GAAG,MAAM,OAAO,KAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CACF,CAAA;AAEvE,eAAO,MAAM,UAAU,QAAe,GAAG,MAAM,OAAO,KAAG,OAAO,CAAC,OAAO,CACK,CAAA;AAE7E;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC,CAKnG;AAED;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC,CAG1F;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC,CAG1F;AAED,qDAAqD;AACrD,eAAO,MAAM,WAAW,WAAY,OAAO,KAAG,MAAM,EAGnD,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAa1E;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAQ7F;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAgB3B"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { readableProject } from '../membership.js';
|
|
2
|
+
import { issue } from './command.js';
|
|
3
|
+
/**
|
|
4
|
+
* Live, and readable by this caller.
|
|
5
|
+
*
|
|
6
|
+
* Creating an issue in a project somebody cannot see is writing to a project
|
|
7
|
+
* they cannot see, so the same gate answers both. The caller turns a false here
|
|
8
|
+
* into "not found", which is also the right answer for a project that is real
|
|
9
|
+
* but not theirs.
|
|
10
|
+
*/
|
|
11
|
+
export const projectExists = async (ctx, id) => {
|
|
12
|
+
const project = await readableProject(ctx, id);
|
|
13
|
+
return Boolean(project && project.active === true);
|
|
14
|
+
};
|
|
15
|
+
export const columnOf = async (ctx, id) => (await ctx.db.select('flow.Column', { id, active: true }))[0] ?? null;
|
|
16
|
+
export const userExists = async (ctx, id) => !id || Boolean((await ctx.db.select('user.User', { id, active: true }))[0]);
|
|
17
|
+
/**
|
|
18
|
+
* A sprint an issue may still be dropped into.
|
|
19
|
+
*
|
|
20
|
+
* `null` reads as "no sprint" (always allowed). A closed sprint is the one
|
|
21
|
+
* state that refuses new membership — see the design note on the Sprint model.
|
|
22
|
+
*/
|
|
23
|
+
export async function assignableSprint(ctx, sprintId) {
|
|
24
|
+
if (!sprintId)
|
|
25
|
+
return null;
|
|
26
|
+
const sprint = (await ctx.db.select('flow.Sprint', { id: sprintId }))[0];
|
|
27
|
+
if (!sprint)
|
|
28
|
+
return undefined;
|
|
29
|
+
return sprint.state === 'closed' ? undefined : sprint;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* An epic an issue may belong to.
|
|
33
|
+
*
|
|
34
|
+
* `undefined` means "named but not found". Every other reference on an issue
|
|
35
|
+
* — column, sprint, parent — is checked for existence and for belonging to
|
|
36
|
+
* the same project; epic was the one that was written straight through, so an
|
|
37
|
+
* issue in project A could be filed under project B's epic and would then
|
|
38
|
+
* appear on B's epic panel and dependency map while still living on A's board.
|
|
39
|
+
*/
|
|
40
|
+
export async function issueEpic(ctx, epicId) {
|
|
41
|
+
if (!epicId)
|
|
42
|
+
return null;
|
|
43
|
+
return (await ctx.db.select('flow.Epic', { id: epicId }))[0] ?? undefined;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* A type an issue may be filed as.
|
|
47
|
+
*
|
|
48
|
+
* Checked for existence and for belonging to the same project, which is what
|
|
49
|
+
* `epicId` was not and had to be taught — a reference written straight through
|
|
50
|
+
* puts a row on a board it does not belong to, and every screen downstream
|
|
51
|
+
* then agrees with it.
|
|
52
|
+
*/
|
|
53
|
+
export async function issueType(ctx, typeId) {
|
|
54
|
+
if (!typeId)
|
|
55
|
+
return null;
|
|
56
|
+
return (await ctx.db.select('flow.IssueType', { id: typeId }))[0] ?? undefined;
|
|
57
|
+
}
|
|
58
|
+
/** The options a `select` field offers, as codes. */
|
|
59
|
+
export const optionCodes = (config) => {
|
|
60
|
+
const options = config?.options;
|
|
61
|
+
return Array.isArray(options) ? options.map((option) => String(option?.code ?? '')) : [];
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Whether a value is well-formed for the kind of field holding it.
|
|
65
|
+
*
|
|
66
|
+
* Empty always passes and clears the value: a field a team added last week is
|
|
67
|
+
* blank on every issue that already existed, and refusing to save those until
|
|
68
|
+
* somebody fills it in would make adding a field an act of vandalism.
|
|
69
|
+
*/
|
|
70
|
+
export function fieldValueError(field, raw) {
|
|
71
|
+
const value = String(raw ?? '').trim();
|
|
72
|
+
if (!value)
|
|
73
|
+
return null;
|
|
74
|
+
const kind = String(field.kind);
|
|
75
|
+
const bad = (code) => issue(`field:${String(field.code)}`, code);
|
|
76
|
+
if (kind === 'number' && !Number.isFinite(Number(value)))
|
|
77
|
+
return bad('flow.error.fieldNumber');
|
|
78
|
+
if (kind === 'date' && Number.isNaN(Date.parse(value)))
|
|
79
|
+
return bad('flow.error.fieldDate');
|
|
80
|
+
if (kind === 'bool' && value !== 'true' && value !== 'false')
|
|
81
|
+
return bad('flow.error.fieldBool');
|
|
82
|
+
// http/https only, the same rule the editor applies to a link it renders:
|
|
83
|
+
// this one ends up in an href on somebody else's screen too.
|
|
84
|
+
if (kind === 'url' && !/^https?:\/\//i.test(value))
|
|
85
|
+
return bad('flow.error.fieldUrl');
|
|
86
|
+
if (kind === 'select' && !optionCodes(field.config).includes(value))
|
|
87
|
+
return bad('flow.error.fieldOption');
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The custom fields of one project, by id and by code.
|
|
92
|
+
*
|
|
93
|
+
* Callers name a field either way — a screen posts ids, an agent writing
|
|
94
|
+
* `{ environment: 'production' }` names codes — and both have to land on the
|
|
95
|
+
* same definition.
|
|
96
|
+
*/
|
|
97
|
+
export async function fieldsOfProject(ctx, projectId) {
|
|
98
|
+
const defs = await ctx.db.select('flow.FieldDef', { projectId, active: true });
|
|
99
|
+
const by = new Map();
|
|
100
|
+
for (const def of defs) {
|
|
101
|
+
by.set(String(def.id), def);
|
|
102
|
+
by.set(String(def.code), def);
|
|
103
|
+
}
|
|
104
|
+
return by;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* A parent an issue may point at.
|
|
108
|
+
*
|
|
109
|
+
* Sub-tasks nest inside one project's board, so a parent from another project
|
|
110
|
+
* would put a child on a board its parent is not on. A cycle is worse: the
|
|
111
|
+
* pair becomes each other's ancestor and any walk up the tree runs forever.
|
|
112
|
+
* `blocks` already refuses cycles for the same reason (see createsBlockCycle);
|
|
113
|
+
* parentage had no check at all, and accepted a parent id that did not exist.
|
|
114
|
+
*/
|
|
115
|
+
export async function parentIssueError(ctx, issueId, parentIssueId, projectId) {
|
|
116
|
+
if (!parentIssueId)
|
|
117
|
+
return null;
|
|
118
|
+
if (String(parentIssueId) === issueId)
|
|
119
|
+
return issue('parentIssueId', 'flow.error.selfParent');
|
|
120
|
+
const parent = (await ctx.db.select('flow.Issue', { id: parentIssueId }))[0];
|
|
121
|
+
if (!parent)
|
|
122
|
+
return issue('parentIssueId', 'flow.error.notFound');
|
|
123
|
+
if (String(parent.projectId) !== projectId)
|
|
124
|
+
return issue('parentIssueId', 'flow.error.parentProjectMismatch');
|
|
125
|
+
const seen = new Set([issueId]);
|
|
126
|
+
let at = parent;
|
|
127
|
+
while (at) {
|
|
128
|
+
const id = String(at.id);
|
|
129
|
+
if (seen.has(id))
|
|
130
|
+
return issue('parentIssueId', 'flow.error.parentCycle');
|
|
131
|
+
seen.add(id);
|
|
132
|
+
at = at.parentIssueId ? (await ctx.db.select('flow.Issue', { id: at.parentIssueId }))[0] : undefined;
|
|
133
|
+
}
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=issue-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-validation.js","sourceRoot":"","sources":["../../../../../../../../packages/ketsuite/src/modules/flow/domain/issue-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { Ctx, Row } from '@ketvietlab/ketjs';
|
|
2
|
+
import type { FlowResult } from './command.ts';
|
|
3
|
+
export type SaveIssueInput = {
|
|
4
|
+
id: string;
|
|
5
|
+
projectId: string;
|
|
6
|
+
columnId: string;
|
|
7
|
+
typeId?: string | null;
|
|
8
|
+
epicId?: string | null;
|
|
9
|
+
sprintId?: string | null;
|
|
10
|
+
parentIssueId?: string | null;
|
|
11
|
+
title: string;
|
|
12
|
+
assigneeUserId?: string | null;
|
|
13
|
+
priority?: string;
|
|
14
|
+
startDate?: string | null;
|
|
15
|
+
dueDate?: string | null;
|
|
16
|
+
estimate?: unknown;
|
|
17
|
+
tagIds?: string[];
|
|
18
|
+
/** Custom field values, keyed by field id or by field code. */
|
|
19
|
+
fields?: Record<string, unknown>;
|
|
20
|
+
expectedVersion?: number;
|
|
21
|
+
idempotencyKey: string;
|
|
22
|
+
};
|
|
23
|
+
export declare function saveIssue(ctx: Ctx, input: SaveIssueInput): Promise<FlowResult>;
|
|
24
|
+
/**
|
|
25
|
+
* One system entry per command, carrying every tracked field that moved.
|
|
26
|
+
*
|
|
27
|
+
* The timeline used to record exactly one thing — who an issue was handed to —
|
|
28
|
+
* so "who put this in Done, and when" had no answer anywhere in the system. The
|
|
29
|
+
* fields tracked are the ones a person asks about afterwards: the column, the
|
|
30
|
+
* deadline, the priority and the sprint. Title and description are deliberately
|
|
31
|
+
* out: an entry per keystroke is what makes a timeline unreadable, and both
|
|
32
|
+
* already have their own history in the Live Doc.
|
|
33
|
+
*
|
|
34
|
+
* One message rather than one per field, because a single edit that moved three
|
|
35
|
+
* of them is one thing that happened.
|
|
36
|
+
*/
|
|
37
|
+
export declare function trackIssueChange(tx: Ctx, input: {
|
|
38
|
+
issueId: string;
|
|
39
|
+
threadId: unknown;
|
|
40
|
+
version: number;
|
|
41
|
+
body: string;
|
|
42
|
+
changes: Array<{
|
|
43
|
+
field: string;
|
|
44
|
+
oldValue?: string;
|
|
45
|
+
newValue?: string;
|
|
46
|
+
}>;
|
|
47
|
+
}): Promise<void>;
|
|
48
|
+
/** A change worth an entry, or nothing when the value did not actually move. */
|
|
49
|
+
export declare const moved: (field: string, before: unknown, after: unknown) => Array<{
|
|
50
|
+
field: string;
|
|
51
|
+
oldValue?: string;
|
|
52
|
+
newValue?: string;
|
|
53
|
+
}>;
|
|
54
|
+
export declare function ensureIssueThread(ctx: Ctx, issueId: string, title: string, createdAt: string): Promise<Row>;
|
|
55
|
+
export declare function moveIssue(ctx: Ctx, input: {
|
|
56
|
+
id: string;
|
|
57
|
+
columnId: string;
|
|
58
|
+
expectedVersion: number;
|
|
59
|
+
idempotencyKey: string;
|
|
60
|
+
}): Promise<FlowResult>;
|
|
61
|
+
export declare function assignSprint(ctx: Ctx, input: {
|
|
62
|
+
id: string;
|
|
63
|
+
sprintId: string | null;
|
|
64
|
+
expectedVersion: number;
|
|
65
|
+
idempotencyKey: string;
|
|
66
|
+
}): Promise<FlowResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Leaves an issue's thread.
|
|
69
|
+
*
|
|
70
|
+
* The only way out of a subscription this module hands out freely: being
|
|
71
|
+
* assigned an issue, commenting on one, or being mentioned in one all
|
|
72
|
+
* subscribe you, and every comment afterwards reaches you. Without this the
|
|
73
|
+
* follower set only ever grows, and a single mention in a busy spec is a
|
|
74
|
+
* standing appointment nobody agreed to.
|
|
75
|
+
*
|
|
76
|
+
* Answers ok when there was nothing to remove, because "I do not want these"
|
|
77
|
+
* is satisfied either way.
|
|
78
|
+
*/
|
|
79
|
+
/**
|
|
80
|
+
* Take an issue off the board without pretending it was finished.
|
|
81
|
+
*
|
|
82
|
+
* `Issue.active` has been in the model and in four indexes since Flow was
|
|
83
|
+
* written, `issue.list` has taken `includeArchived`, and nothing has ever
|
|
84
|
+
* written `false` — so the only way to clear a cancelled task was to drop it in
|
|
85
|
+
* the done column, which made every progress figure lie about it.
|
|
86
|
+
*
|
|
87
|
+
* Under compare-and-set, unlike `page.archive`: an issue carries a version
|
|
88
|
+
* because two people work the same one, and archiving from a stale screen is
|
|
89
|
+
* exactly the kind of mistake that guard exists for.
|
|
90
|
+
*
|
|
91
|
+
* What archiving is *not*: it is not completion and it is not deletion.
|
|
92
|
+
* Dependencies stay, so an archived blocker still blocks — silently unblocking
|
|
93
|
+
* work is the worst way to clear a blocker (FLW-DEC-011). Sub-tasks keep their
|
|
94
|
+
* parent, so restoring a parent restores the branch as it was.
|
|
95
|
+
*/
|
|
96
|
+
export declare function archiveIssue(ctx: Ctx, input: {
|
|
97
|
+
id: string;
|
|
98
|
+
expectedVersion: number;
|
|
99
|
+
idempotencyKey: string;
|
|
100
|
+
}): Promise<FlowResult>;
|
|
101
|
+
/**
|
|
102
|
+
* Put it back, exactly where it was.
|
|
103
|
+
*
|
|
104
|
+
* Unlike `page.restore` this needs no reparenting rule: a sub-task of an
|
|
105
|
+
* archived parent is still listed on every board and list of its own, so it
|
|
106
|
+
* cannot come back invisible the way a page under an archived page would.
|
|
107
|
+
*/
|
|
108
|
+
export declare function restoreIssue(ctx: Ctx, input: {
|
|
109
|
+
id: string;
|
|
110
|
+
expectedVersion: number;
|
|
111
|
+
idempotencyKey: string;
|
|
112
|
+
}): Promise<FlowResult>;
|
|
113
|
+
export declare function setIssueActive(ctx: Ctx, input: {
|
|
114
|
+
id: string;
|
|
115
|
+
expectedVersion: number;
|
|
116
|
+
idempotencyKey: string;
|
|
117
|
+
}, active: boolean): Promise<FlowResult>;
|
|
118
|
+
//# sourceMappingURL=issue-write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-write.d.ts","sourceRoot":"","sources":["../../../../../../../packages/ketsuite/src/modules/flow/domain/issue-write.ts"],"names":[],"mappings":"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"}
|