@nocobase/app-plugin-projects 0.1.0-beta.4 → 0.1.0-beta.5

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.
Files changed (100) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +13 -0
  3. package/dist/client/api/client.d.ts +4 -2
  4. package/dist/client/api/client.d.ts.map +1 -1
  5. package/dist/client/api/client.js +6 -2
  6. package/dist/client/api/client.js.map +1 -1
  7. package/dist/client/components/attachment-list.d.ts +77 -0
  8. package/dist/client/components/attachment-list.d.ts.map +1 -0
  9. package/dist/client/components/attachment-list.js +147 -0
  10. package/dist/client/components/attachment-list.js.map +1 -0
  11. package/dist/client/locales/en-US.d.ts +8 -0
  12. package/dist/client/locales/en-US.d.ts.map +1 -1
  13. package/dist/client/locales/en-US.js +9 -1
  14. package/dist/client/locales/en-US.js.map +1 -1
  15. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  16. package/dist/client/locales/zh-CN.js +9 -1
  17. package/dist/client/locales/zh-CN.js.map +1 -1
  18. package/dist/client/pages/config/members/invitations-section.d.ts.map +1 -1
  19. package/dist/client/pages/config/members/invitations-section.js +34 -12
  20. package/dist/client/pages/config/members/invitations-section.js.map +1 -1
  21. package/dist/client/pages/config/members/invite-dialog.d.ts +5 -4
  22. package/dist/client/pages/config/members/invite-dialog.d.ts.map +1 -1
  23. package/dist/client/pages/config/members/invite-dialog.js +7 -7
  24. package/dist/client/pages/config/members/invite-dialog.js.map +1 -1
  25. package/dist/client/pages/intake/intake-files.d.ts.map +1 -1
  26. package/dist/client/pages/intake/intake-files.js +38 -2
  27. package/dist/client/pages/intake/intake-files.js.map +1 -1
  28. package/dist/client/pages/intake/intake-panel.d.ts.map +1 -1
  29. package/dist/client/pages/intake/intake-panel.js +5 -1
  30. package/dist/client/pages/intake/intake-panel.js.map +1 -1
  31. package/dist/database/migrations/.manifest.json +4 -0
  32. package/dist/database/migrations/202610110001_pm_issue_graph_revision.d.ts +4 -0
  33. package/dist/database/migrations/202610110001_pm_issue_graph_revision.d.ts.map +1 -0
  34. package/dist/database/migrations/202610110001_pm_issue_graph_revision.js +20 -0
  35. package/dist/database/migrations/202610110001_pm_issue_graph_revision.js.map +1 -0
  36. package/dist/server/domains/approvals/approval.routes.d.ts.map +1 -1
  37. package/dist/server/domains/approvals/approval.routes.js +1 -0
  38. package/dist/server/domains/approvals/approval.routes.js.map +1 -1
  39. package/dist/server/domains/invitations/invitation.routes.d.ts +2 -1
  40. package/dist/server/domains/invitations/invitation.routes.d.ts.map +1 -1
  41. package/dist/server/domains/invitations/invitation.routes.js +27 -10
  42. package/dist/server/domains/invitations/invitation.routes.js.map +1 -1
  43. package/dist/server/domains/invitations/invitation.service.d.ts +1 -1
  44. package/dist/server/domains/invitations/invitation.service.d.ts.map +1 -1
  45. package/dist/server/domains/invitations/invitation.service.js +19 -3
  46. package/dist/server/domains/invitations/invitation.service.js.map +1 -1
  47. package/dist/server/domains/issues/issue.routes.d.ts.map +1 -1
  48. package/dist/server/domains/issues/issue.routes.js +5 -1
  49. package/dist/server/domains/issues/issue.routes.js.map +1 -1
  50. package/dist/server/domains/issues/issue.service.d.ts.map +1 -1
  51. package/dist/server/domains/issues/issue.service.js +20 -0
  52. package/dist/server/domains/issues/issue.service.js.map +1 -1
  53. package/dist/server/domains/issues/ports.d.ts +2 -0
  54. package/dist/server/domains/issues/ports.d.ts.map +1 -1
  55. package/dist/server/domains/issues/ports.js +1 -0
  56. package/dist/server/domains/issues/ports.js.map +1 -1
  57. package/dist/server/domains/plans/plan.engine.d.ts.map +1 -1
  58. package/dist/server/domains/plans/plan.engine.js +6 -0
  59. package/dist/server/domains/plans/plan.engine.js.map +1 -1
  60. package/dist/server/domains/settings/settings.store.d.ts +4 -4
  61. package/dist/server/domains/settings/settings.store.js +2 -2
  62. package/dist/server/domains/subtasks/index.d.ts +1 -0
  63. package/dist/server/domains/subtasks/index.d.ts.map +1 -1
  64. package/dist/server/domains/subtasks/index.js +1 -0
  65. package/dist/server/domains/subtasks/index.js.map +1 -1
  66. package/dist/server/domains/subtasks/subtask.guard.d.ts +12 -0
  67. package/dist/server/domains/subtasks/subtask.guard.d.ts.map +1 -0
  68. package/dist/server/domains/subtasks/subtask.guard.js +23 -0
  69. package/dist/server/domains/subtasks/subtask.guard.js.map +1 -0
  70. package/dist/server/domains/subtasks/subtask.release.d.ts +3 -3
  71. package/dist/server/domains/subtasks/subtask.release.d.ts.map +1 -1
  72. package/dist/server/domains/subtasks/subtask.release.js +6 -3
  73. package/dist/server/domains/subtasks/subtask.release.js.map +1 -1
  74. package/dist/server/domains/subtasks/subtask.routes.d.ts +1 -0
  75. package/dist/server/domains/subtasks/subtask.routes.d.ts.map +1 -1
  76. package/dist/server/domains/subtasks/subtask.routes.js +31 -3
  77. package/dist/server/domains/subtasks/subtask.routes.js.map +1 -1
  78. package/dist/server/domains/subtasks/subtask.service.d.ts +3 -1
  79. package/dist/server/domains/subtasks/subtask.service.d.ts.map +1 -1
  80. package/dist/server/domains/subtasks/subtask.service.js +83 -4
  81. package/dist/server/domains/subtasks/subtask.service.js.map +1 -1
  82. package/dist/server/domains/subtasks/subtask.store.d.ts +2 -0
  83. package/dist/server/domains/subtasks/subtask.store.d.ts.map +1 -1
  84. package/dist/server/domains/subtasks/subtask.store.js +17 -0
  85. package/dist/server/domains/subtasks/subtask.store.js.map +1 -1
  86. package/dist/server/kernel/http.d.ts.map +1 -1
  87. package/dist/server/kernel/http.js +2 -0
  88. package/dist/server/kernel/http.js.map +1 -1
  89. package/dist/server/routes/api.js +1 -1
  90. package/dist/server/routes/api.js.map +1 -1
  91. package/dist/server/routes/schemas.d.ts +8 -1
  92. package/dist/server/routes/schemas.d.ts.map +1 -1
  93. package/dist/server/routes/schemas.js +12 -1
  94. package/dist/server/routes/schemas.js.map +1 -1
  95. package/dist/shared/invitations.d.ts +1 -1
  96. package/dist/shared/invitations.d.ts.map +1 -1
  97. package/dist/shared/subtasks.d.ts +5 -0
  98. package/dist/shared/subtasks.d.ts.map +1 -1
  99. package/package.json +6 -6
  100. package/skills/nocobase-app-plugin-projects/SKILL.md +4 -8
@@ -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,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,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,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,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,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,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,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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"}
@@ -93,6 +93,8 @@ export interface CommentChange {
93
93
  * caller's transaction.
94
94
  */
95
95
  export interface IssueRelations {
96
+ /** Before issue/counter writes; held until the outer transaction ends. Pass false when adding no waits. */
97
+ lock(tx: Tx, advance?: boolean): Promise<void>;
96
98
  /** A new issue: 400 unless every `blockedBy` is an issue the viewer sees; inserts them, then checks for a cycle. */
97
99
  created(tx: Tx, issue: Issue, blockedBy: readonly string[], viewer: Viewer): Promise<void>;
98
100
  /** After the issue's parent or stage was written: 400 `DEPENDENCY_CYCLE` when issues now wait for each other. */
@@ -1 +1 @@
1
- {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../../../server/domains/issues/ports.ts"],"names":[],"mappings":"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"}
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,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAE7C,yEAAyE;AACzE,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C,gCAAgC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;IAC7C,gGAAgG;IAChG,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,+EAA+E;IAC/E,UAAU,CACR,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,OAAO,CACL,EAAE,EAAE,EAAE,EACN,KAAK,EAAE;QACL,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;QACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;KACzC,GACA,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,iHAAiH;IACjH,SAAS,CACP,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,eAAO,MAAM,WAAW,EAAE,cAMzB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CACL,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,6EAA6E;IAC7E,WAAW,CACT,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACzB,WAAW,CACT,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9B,SAAS,CACP,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClC,eAAe,CACb,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACnC,eAAe,CACb,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC9B,SAAS,CACP,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,GACX,OAAO,CACR,IAAI,CACF,WAAW,EACT,UAAU,GACV,WAAW,GACX,QAAQ,GACR,WAAW,GACX,UAAU,GACV,oBAAoB,CACvB,CACF,CAAC;IACF,gFAAgF;IAChF,UAAU,CACR,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,SAAS,KAAK,EAAE,GACvB,OAAO,CACR,GAAG,CACD,MAAM,EACN;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CACjE,CACF,CAAC;CACH;AAED,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,2GAA2G;IAC3G,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,oHAAoH;IACpH,OAAO,CACL,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,iHAAiH;IACjH,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,uHAAuH;IACvH,OAAO,CACL,EAAE,EAAE,EAAE,EACN,MAAM,EAAE;QACN,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;KACvB,GACA,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,iHAAiH;IACjH,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,eAAO,MAAM,WAAW,EAAE,cAMzB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D;;;OAGG;IACH,gBAAgB,CAAC,CACf,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IAClC,8GAA8G;IAC9G,WAAW,CAAC,CACV,EAAE,EAAE,EAAE,EACN,KAAK,EAAE;QACL,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;KACxB,GACA,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,CACR,EAAE,EAAE,EAAE,EACN,KAAK,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,GACtE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,oFAAoF;IACpF,kBAAkB,CAAC,CACjB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE;QACL,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;KACxB,GACA,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,eAAO,MAAM,UAAU,EAAE,aAExB,CAAC;AAEF,wBAAgB,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAGvE"}
@@ -4,6 +4,7 @@ export const noApprovals = {
4
4
  supersede: () => Promise.resolve(),
5
5
  };
6
6
  export const noRelations = {
7
+ lock: () => Promise.resolve(),
7
8
  created: () => Promise.resolve(),
8
9
  placed: () => Promise.resolve(),
9
10
  changed: () => Promise.resolve(),
@@ -1 +1 @@
1
- {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../../../server/domains/issues/ports.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAyDjD,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,CAAC,MAAM,CACZ,OAAO,CAAC,sBAAsB,EAAE,8BAA8B,CAAC,CAChE;IACH,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;CACnC,CAAC;AAmGF,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,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,CAAC,OAAsB,EAAE,GAAW;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../../../server/domains/issues/ports.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAyDjD,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,CAAC,MAAM,CACZ,OAAO,CAAC,sBAAsB,EAAE,8BAA8B,CAAC,CAChE;IACH,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;CACnC,CAAC;AAqGF,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,CAAC,OAAsB,EAAE,GAAW;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC;AACtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan.engine.d.ts","sourceRoot":"","sources":["../../../../server/domains/plans/plan.engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EACV,YAAY,EAGZ,YAAY,EACZ,SAAS,EACT,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAW,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAML,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACzC;AAED,0DAA0D;AAC1D,qBAAa,UAAW,SAAQ,KAAK;aAEjB,KAAK,EAAE,MAAM;aACb,KAAK,EAAE,YAAY;aACnB,KAAK,EAAE,OAAO;gBAFd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,OAAO;CAKjC;AAgDD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU;IAwE7C,2DAA2D;qBAEjD,MAAM,QACR,SAAS,SAAS,EAAE,GACzB,OAAO,CAAC,YAAY,EAAE,CAAC;IAsD1B,iGAAiG;gBAE3F,EAAE,UACE,MAAM,QACR,SAAS,SAAS,EAAE,GACzB,OAAO,CAAC,aAAa,EAAE,CAAC;EAqE9B;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,WAAW,CASxE"}
1
+ {"version":3,"file":"plan.engine.d.ts","sourceRoot":"","sources":["../../../../server/domains/plans/plan.engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EACV,YAAY,EAGZ,YAAY,EACZ,SAAS,EACT,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAW,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAIvD,OAAO,EAML,KAAK,UAAU,EAEhB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,mCAAmC;AACnC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACzC;AAED,0DAA0D;AAC1D,qBAAa,UAAW,SAAQ,KAAK;aAEjB,KAAK,EAAE,MAAM;aACb,KAAK,EAAE,YAAY;aACnB,KAAK,EAAE,OAAO;gBAFd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,OAAO;CAKjC;AAgDD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU;IAwE7C,2DAA2D;qBAEjD,MAAM,QACR,SAAS,SAAS,EAAE,GACzB,OAAO,CAAC,YAAY,EAAE,CAAC;IAyD1B,iGAAiG;gBAE3F,EAAE,UACE,MAAM,QACR,SAAS,SAAS,EAAE,GACzB,OAAO,CAAC,aAAa,EAAE,CAAC;EAuE9B;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,WAAW,CASxE"}
@@ -1,6 +1,7 @@
1
1
  import { DomainError, invalid } from '../../kernel/errors.js';
2
2
  import { collectRunAttempts } from '../../kernel/work.js';
3
3
  import { findIssue } from '../issues/index.js';
4
+ import { lockIssueGraph } from '../subtasks/index.js';
4
5
  import { dependencyExists, issueFields, OPERATIONS, } from './plan.ops.js';
5
6
  /** A row stopped the execution; the caller rolls back. */
6
7
  export class RowFailure extends Error {
@@ -99,6 +100,9 @@ export function createPlanEngine(deps) {
99
100
  /** Rehearses `rows` as `viewer`; rolls everything back. */
100
101
  async rehearse(viewer, rows) {
101
102
  return deps.tx.unit(async (tx) => {
103
+ // A later row may write the graph after earlier rows lock issues or counters. Keep this outer guard across
104
+ // every row's savepoint, including failures, without advancing the revision for a rehearsal or plain edits.
105
+ await lockIssueGraph(tx.conn, false);
102
106
  const refs = new Map();
103
107
  // What the rehearsal created; it is rolled back, so the card shows no id for it.
104
108
  const transient = new Set();
@@ -148,6 +152,8 @@ export function createPlanEngine(deps) {
148
152
  },
149
153
  /** Executes `rows` in `tx` as `viewer`; throws `RowFailure` at the first row that cannot run. */
150
154
  async execute(tx, viewer, rows) {
155
+ // Execution and undo share this entry: take the graph before any row can lock an issue or the issue counter.
156
+ await lockIssueGraph(tx.conn, false);
151
157
  const refs = new Map();
152
158
  const ctx = { tx, viewer, services: deps.services, refs };
153
159
  const outcomes = [];
@@ -1 +1 @@
1
- {"version":3,"file":"plan.engine.js","sourceRoot":"","sources":["../../../../server/domains/plans/plan.engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.engine.js","sourceRoot":"","sources":["../../../../server/domains/plans/plan.engine.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * The `pmSettings` row. It is created by the seed `202609300005_pm_default_settings`; a missing row reads as the
3
- * defaults and is recreated by the first write.
2
+ * Workspace settings and the issue counter. `pmSettings` is created by the seed
3
+ * `202609300005_pm_default_settings`; a missing settings row reads as the defaults and is recreated by the first write.
4
4
  */
5
5
  import type { DatabaseConnection } from '@nocobase/db';
6
6
  export declare const SETTINGS = "pmSettings";
@@ -16,8 +16,8 @@ export interface SettingsRow {
16
16
  export declare function readSettings(conn: DatabaseConnection): Promise<SettingsRow | undefined>;
17
17
  export declare function writeSettings(conn: DatabaseConnection, values: Partial<Pick<SettingsRow, 'issuePrefix' | 'values'>>): Promise<void>;
18
18
  /**
19
- * The next issue number and the current prefix. An atomic increment in the caller's transaction: concurrent creates
20
- * wait for each other, and a rolled-back create releases its number.
19
+ * The next issue number and the current prefix, allocated atomically in the caller's transaction.
20
+ * A rolled-back create releases its number.
21
21
  */
22
22
  export declare function nextIssueNumber(conn: DatabaseConnection): Promise<{
23
23
  readonly number: number;
@@ -28,8 +28,8 @@ export async function writeSettings(conn, values) {
28
28
  });
29
29
  }
30
30
  /**
31
- * The next issue number and the current prefix. An atomic increment in the caller's transaction: concurrent creates
32
- * wait for each other, and a rolled-back create releases its number.
31
+ * The next issue number and the current prefix, allocated atomically in the caller's transaction.
32
+ * A rolled-back create releases its number.
33
33
  */
34
34
  export async function nextIssueNumber(conn) {
35
35
  await ensureRow(conn);
@@ -2,4 +2,5 @@ export { createSubtaskService, type SubtaskDeps, type SubtaskService, } from './
2
2
  export { createSubtaskRoutes } from './subtask.routes.js';
3
3
  export { batchDoneNotice, dependencyReleasedNotice, } from './subtask.notices.js';
4
4
  export { findDependency, findDependencyBetween, type DependencyRecord, } from './subtask.store.js';
5
+ export { lockIssueGraph } from './subtask.guard.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/domains/subtasks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/domains/subtasks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
@@ -2,4 +2,5 @@ export { createSubtaskService, } from './subtask.service.js';
2
2
  export { createSubtaskRoutes } from './subtask.routes.js';
3
3
  export { batchDoneNotice, dependencyReleasedNotice, } from './subtask.notices.js';
4
4
  export { findDependency, findDependencyBetween, } from './subtask.store.js';
5
+ export { lockIssueGraph } from './subtask.guard.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/domains/subtasks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,qBAAqB,GAEtB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/domains/subtasks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAGrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,qBAAqB,GAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { DatabaseConnection } from '@nocobase/db';
2
+ /**
3
+ * Serialize relationship writes and issue transitions that change blockers across projects and processes until the outermost transaction
4
+ * commits. The conditional update also rejects an old repeatable-read snapshot: a write lock cannot refresh the graph.
5
+ * This row must be separate from settings/counters: writing those in a plan could otherwise expose the latest row
6
+ * version through MySQL's read-your-own-writes, while graph reads still use the old snapshot. Always take this guard
7
+ * before issue rows and the issue counter. Plans take it before their first row, and standalone creates before their
8
+ * counter. Taking it without advancing the revision preserves concurrent independent creates and plain-edit plans.
9
+ * The adapter reports matched rows for this no-op update (including mysql2's default FOUND_ROWS), not changed values.
10
+ */
11
+ export declare function lockIssueGraph(conn: DatabaseConnection, advance?: boolean): Promise<void>;
12
+ //# sourceMappingURL=subtask.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subtask.guard.d.ts","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIvD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,kBAAkB,EACxB,OAAO,UAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -0,0 +1,23 @@
1
+ import { conflict } from '../../kernel/errors.js';
2
+ /**
3
+ * Serialize relationship writes and issue transitions that change blockers across projects and processes until the outermost transaction
4
+ * commits. The conditional update also rejects an old repeatable-read snapshot: a write lock cannot refresh the graph.
5
+ * This row must be separate from settings/counters: writing those in a plan could otherwise expose the latest row
6
+ * version through MySQL's read-your-own-writes, while graph reads still use the old snapshot. Always take this guard
7
+ * before issue rows and the issue counter. Plans take it before their first row, and standalone creates before their
8
+ * counter. Taking it without advancing the revision preserves concurrent independent creates and plain-edit plans.
9
+ * The adapter reports matched rows for this no-op update (including mysql2's default FOUND_ROWS), not changed values.
10
+ */
11
+ export async function lockIssueGraph(conn, advance = true) {
12
+ const graph = conn.repository('pmIssueGraph');
13
+ const row = await graph.findOne({ filter: { id: 'default' } });
14
+ if (!row)
15
+ throw new Error('The issue dependency graph is not initialized.');
16
+ const { updatedCount } = await graph.updateMany({
17
+ filter: { id: 'default', revision: row.revision },
18
+ values: { revision: { increment: advance ? 1 : 0 } },
19
+ });
20
+ if (updatedCount !== 1)
21
+ throw conflict('DEPENDENCY_GRAPH_CHANGED', 'The issue dependency graph changed meanwhile. Reload and retry.');
22
+ }
23
+ //# sourceMappingURL=subtask.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subtask.guard.js","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.guard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAwB,EACxB,OAAO,GAAG,IAAI;IAEd,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAC3B,cAAc,CACf,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;QAC9C,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;QACjD,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;KACrD,CAAC,CAAC;IACH,IAAI,YAAY,KAAK,CAAC;QACpB,MAAM,QAAQ,CACZ,0BAA0B,EAC1B,iEAAiE,CAClE,CAAC;AACN,CAAC"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * 1. Release: each issue that waited for it, or a later-stage sibling, that is unfinished and held by nothing now gets
5
5
  * one `issue.dependencyReleased` (and the `onUnblocked` hook).
6
- * 2. Join: when it has a parent, the parent's row is written first (`lastActivityAt`), which locks it, so two siblings
7
- * finishing at once take turns here and the second reads what the first committed. Then, if every live sub-issue
6
+ * 2. Join: when it has a parent, the parent's row is updated (`lastActivityAt`) under the graph guard already held
7
+ * by the issue transition. Then, if every live sub-issue
8
8
  * is finished, one `issue.batchDone` for all of them and the workflow event `subtasks.done` on the parent; else, if
9
9
  * its stage is finished, one `issue.batchDone` for the stage.
10
10
  *
@@ -22,7 +22,7 @@ export interface ReleaseDeps {
22
22
  readonly triggers: () => IssueTriggers;
23
23
  readonly issues: () => Pick<IssueService, 'fireEvent'>;
24
24
  }
25
- /** Tells the issue nothing holds it any more, when that is so. */
25
+ /** Called after removing an actual wait; tells the issue when nothing holds it any more. */
26
26
  export declare function releaseIfFree(deps: ReleaseDeps, tx: Tx, catalogs: Catalogs, issue: Issue, releasedBy: Issue, actor: Actor): Promise<void>;
27
27
  /** `finished` entered a finished status, or was deleted: release what waited for it, then join at its parent. */
28
28
  export declare function onTerminal(deps: ReleaseDeps, tx: Tx, finished: Issue, actor: Actor): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"subtask.release.d.ts","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.release.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,qBAAqB,CAAC;AAE7B,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,aAAa,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;CACxD;AAID,kEAAkE;AAClE,wBAAsB,aAAa,CACjC,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,KAAK,EACjB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAmBf;AAkED,iHAAiH;AACjH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAmBf"}
1
+ {"version":3,"file":"subtask.release.d.ts","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.release.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,qBAAqB,CAAC;AAE7B,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,aAAa,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;CACxD;AAID,4FAA4F;AAC5F,wBAAsB,aAAa,CACjC,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,KAAK,EACjB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAmBf;AAkED,iHAAiH;AACjH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,WAAW,EACjB,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -3,7 +3,7 @@ import { blockersOf, catalogsFor } from './subtask.blocking.js';
3
3
  import { incoming } from './subtask.store.js';
4
4
  import './subtask.events.js';
5
5
  const eventActor = (actor) => ({ type: actor.type, id: actor.id });
6
- /** Tells the issue nothing holds it any more, when that is so. */
6
+ /** Called after removing an actual wait; tells the issue when nothing holds it any more. */
7
7
  export async function releaseIfFree(deps, tx, catalogs, issue, releasedBy, actor) {
8
8
  if (issue.deletedAt || (await catalogs.terminal(issue)))
9
9
  return;
@@ -33,7 +33,7 @@ async function join(deps, tx, catalogs, finished, actor) {
33
33
  const before = await findIssue(tx.conn, parentId);
34
34
  if (!before || before.deletedAt)
35
35
  return;
36
- // Writing the parent's row locks it until the transaction ends: siblings finishing at once take turns here.
36
+ // The originating transition took the graph guard before writing the child; keep that order for this parent too.
37
37
  await updateIssue(tx.conn, parentId, {
38
38
  lastActivityAt: new Date().toISOString(),
39
39
  });
@@ -91,6 +91,8 @@ async function join(deps, tx, catalogs, finished, actor) {
91
91
  /** `finished` entered a finished status, or was deleted: release what waited for it, then join at its parent. */
92
92
  export async function onTerminal(deps, tx, finished, actor) {
93
93
  const catalogs = catalogsFor(deps.statuses, tx.conn);
94
+ // Completing an issue releases waits; deleting one that was already terminal does not release them again.
95
+ const releasesWaits = !finished.deletedAt || !(await catalogs.terminal(finished));
94
96
  const waiting = (await incoming(tx.conn, [finished.id], 'blockedBy')).map((dependency) => dependency.issueId);
95
97
  const candidates = await findIssues(tx.conn, waiting);
96
98
  if (finished.parentIssueId && finished.stage !== null) {
@@ -104,7 +106,8 @@ export async function onTerminal(deps, tx, finished, actor) {
104
106
  if (seen.has(candidate.id))
105
107
  continue;
106
108
  seen.add(candidate.id);
107
- await releaseIfFree(deps, tx, catalogs, candidate, finished, actor);
109
+ if (releasesWaits)
110
+ await releaseIfFree(deps, tx, catalogs, candidate, finished, actor);
108
111
  }
109
112
  await join(deps, tx, catalogs, finished, actor);
110
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subtask.release.js","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subtask.release.js","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.release.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { type ViewerEnv } from '../../access/request.js';
3
3
  import type { SubtaskService } from './subtask.service.js';
4
4
  /**
5
5
  * Under `/api/projects/issues`: `POST /{issueId}/dependencies` (201, the link as the issue page shows it),
6
+ * `PATCH /{issueId}/dependencies/{dependencyId}` (200, changes its type in place),
6
7
  * `DELETE /{issueId}/dependencies/{dependencyId}` and `POST /{issueId}/removeDependency { dependsOnIssueId, type? }`
7
8
  * (204), which removes the link by the other issue.
8
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"subtask.routes.d.ts","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.routes.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,yBAAyB,CAAC;AASjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAyJ7E"}
1
+ {"version":3,"file":"subtask.routes.d.ts","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.routes.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,yBAAyB,CAAC;AAWjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CA2M7E"}
@@ -1,10 +1,12 @@
1
1
  import { apiErrorResponse, apiErrorResponses, apiValidator, cliRoute, dataResponse, describeRoute, emptyResponse, } from '@nocobase/app-server/router';
2
- import { delegatedWrite, viewerOf, } from '../../access/request.js';
2
+ import { delegatedWrite, refuseDelegated, viewerOf, } from '../../access/request.js';
3
3
  import { domainRouter, personOrRunSecurity, tags } from '../../kernel/http.js';
4
- import { AddDependencyBody, DependencyParams, IssueDependencySchema, IssueParams, RemoveDependencyBody, } from '../../routes/schemas.js';
4
+ import { AddDependencyBody, DependencyParams, IssueDependencySchema, IssueParams, RemoveDependencyBody, UpdateDependencyBody, } from '../../routes/schemas.js';
5
+ import { requireEditor } from '../issues/index.js';
5
6
  const access = 'Needs `edit` on the issue. `issueId` and `dependsOnIssueId` are ids or identifiers.';
6
7
  /**
7
8
  * Under `/api/projects/issues`: `POST /{issueId}/dependencies` (201, the link as the issue page shows it),
9
+ * `PATCH /{issueId}/dependencies/{dependencyId}` (200, changes its type in place),
8
10
  * `DELETE /{issueId}/dependencies/{dependencyId}` and `POST /{issueId}/removeDependency { dependsOnIssueId, type? }`
9
11
  * (204), which removes the link by the other issue.
10
12
  */
@@ -33,7 +35,7 @@ export function createSubtaskRoutes(subtasks) {
33
35
  ...apiErrorResponses,
34
36
  400: apiErrorResponse(400, 'When `dependsOnIssueId` names no issue the caller sees or the issue itself (`INVALID_DEPENDENCY`), or the link would make issues wait in a cycle (`DEPENDENCY_CYCLE`) or too deep a chain (`DEPENDENCY_TOO_DEEP`).'),
35
37
  404: apiErrorResponse(404),
36
- 409: apiErrorResponse(409, 'When the issues are already linked (`DEPENDENCY_EXISTS`).'),
38
+ 409: apiErrorResponse(409, 'When the issues are already linked (`DEPENDENCY_EXISTS`), or concurrent graph changes require reloading and retrying (`DEPENDENCY_GRAPH_CHANGED`).'),
37
39
  },
38
40
  }), apiValidator('param', IssueParams), apiValidator('json', AddDependencyBody), async (context) => {
39
41
  const { issueId } = context.req.valid('param');
@@ -61,6 +63,30 @@ export function createSubtaskRoutes(subtasks) {
61
63
  data: await subtasks.addDependency(viewerOf(context), issueId, input),
62
64
  }, 201);
63
65
  });
66
+ routes.patch('/:issueId/dependencies/:dependencyId', async (context, next) => {
67
+ requireEditor(viewerOf(context));
68
+ refuseDelegated(context);
69
+ await next();
70
+ }, describeRoute({
71
+ tags,
72
+ summary: 'Change an issue relationship type',
73
+ operationId: 'projectsUpdateIssueDependency',
74
+ // The issue page names a relationship row; the CLI links and unlinks by the other issue.
75
+ ...cliRoute(false),
76
+ description: `${access} Changes the link in one transaction and keeps its id. A related link may be changed from either end; the current issue waits when the new type is blockedBy. An existing target type is refused without removing either link.`,
77
+ responses: {
78
+ 200: dataResponse(IssueDependencySchema),
79
+ ...apiErrorResponses,
80
+ 400: apiErrorResponse(400, 'The target is no longer visible, the change would create a dependency cycle, or a delegated caller needs a confirmed plan (PLAN_REQUIRED).'),
81
+ 404: apiErrorResponse(404),
82
+ 409: apiErrorResponse(409, 'The relationship changed (DEPENDENCY_CHANGED), the target type already exists (DEPENDENCY_EXISTS), or concurrent graph changes require reloading and retrying (DEPENDENCY_GRAPH_CHANGED).'),
83
+ },
84
+ }), apiValidator('param', DependencyParams), apiValidator('json', UpdateDependencyBody), async (context) => {
85
+ const { issueId, dependencyId } = context.req.valid('param');
86
+ return context.json({
87
+ data: await subtasks.updateDependency(viewerOf(context), issueId, dependencyId, context.req.valid('json')),
88
+ });
89
+ });
64
90
  routes.delete('/:issueId/dependencies/:dependencyId', describeRoute({
65
91
  tags,
66
92
  summary: 'Remove a dependency by its id',
@@ -72,6 +98,7 @@ export function createSubtaskRoutes(subtasks) {
72
98
  204: emptyResponse(),
73
99
  ...apiErrorResponses,
74
100
  404: apiErrorResponse(404),
101
+ 409: apiErrorResponse(409, 'When the dependency graph changed (DEPENDENCY_GRAPH_CHANGED): reload and retry.'),
75
102
  },
76
103
  }), apiValidator('param', DependencyParams), async (context) => {
77
104
  const { issueId, dependencyId } = context.req.valid('param');
@@ -103,6 +130,7 @@ export function createSubtaskRoutes(subtasks) {
103
130
  204: emptyResponse(),
104
131
  ...apiErrorResponses,
105
132
  404: apiErrorResponse(404),
133
+ 409: apiErrorResponse(409, 'When the dependency graph changed (DEPENDENCY_GRAPH_CHANGED): reload and retry.'),
106
134
  },
107
135
  }), apiValidator('param', IssueParams), apiValidator('json', RemoveDependencyBody), async (context) => {
108
136
  const { dependsOnIssueId, type } = context.req.valid('json');
@@ -1 +1 @@
1
- {"version":3,"file":"subtask.routes.js","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subtask.routes.js","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.routes.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import type { DatabaseConnection } from '@nocobase/db';
10
10
  import type { Issue } from '../../../shared/issues.js';
11
- import { type AddDependencyRequest, type Blocker, type IssueDependency } from '../../../shared/subtasks.js';
11
+ import { type AddDependencyRequest, type Blocker, type IssueDependency, type UpdateDependencyRequest } from '../../../shared/subtasks.js';
12
12
  import type { Viewer } from '../../access/viewer.js';
13
13
  import type { ActivityRecorder } from '../../kernel/activity.js';
14
14
  import type { IdSource } from '../../kernel/ids.js';
@@ -19,6 +19,8 @@ import type { RelationChecks } from '../workflows/index.js';
19
19
  import { type ReleaseDeps } from './subtask.release.js';
20
20
  export interface SubtaskService {
21
21
  addDependency(viewer: Viewer, idOrKey: string, input: AddDependencyRequest): Promise<IssueDependency>;
22
+ /** Changes one link in place. An existing target type is refused rather than merging two links. */
23
+ updateDependency(viewer: Viewer, idOrKey: string, dependencyId: string, input: UpdateDependencyRequest): Promise<IssueDependency>;
22
24
  removeDependency(viewer: Viewer, idOrKey: string, dependencyId: string): Promise<void>;
23
25
  /** By the other issue and type (`blockedBy` when left out). */
24
26
  removeDependencyTo(viewer: Viewer, idOrKey: string, dependsOnIssueId: string, type?: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"subtask.service.d.ts","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,OAAO,EAEZ,KAAK,eAAe,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAM,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAS5D,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAW9B,MAAM,WAAW,cAAc;IAC7B,aAAa,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,+DAA+D;IAC/D,kBAAkB,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,oGAAoG;IACpG,UAAU,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE;;;;OAIG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAYD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,cAAc,CA8XtE"}
1
+ {"version":3,"file":"subtask.service.d.ts","sourceRoot":"","sources":["../../../../server/domains/subtasks/subtask.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,OAAO,EAEZ,KAAK,eAAe,EAEpB,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAM,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAU5D,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAY9B,MAAM,WAAW,cAAc;IAC7B,aAAa,CACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,mGAAmG;IACnG,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5B,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,+DAA+D;IAC/D,kBAAkB,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,oGAAoG;IACpG,UAAU,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE;;;;OAIG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAYD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,cAAc,CAgetE"}