@critical-path/core 0.47.0 → 0.48.1
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/domain/authorization.js +1 -1
- package/dist/domain/authorization.js.map +1 -1
- package/dist/domain/workload.d.ts.map +1 -1
- package/dist/domain/workload.js +7 -0
- package/dist/domain/workload.js.map +1 -1
- package/dist/engine/index.d.ts +8 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +76 -15
- package/dist/engine/index.js.map +1 -1
- package/dist/store/index.d.ts +13 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +12 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/sqlite.d.ts +2 -1
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +10 -0
- package/dist/store/sqlite.js.map +1 -1
- package/dist/testing/conformance.d.ts.map +1 -1
- package/dist/testing/conformance.js +11 -0
- package/dist/testing/conformance.js.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ const PROJECT_MANAGER = [
|
|
|
16
16
|
'comment.moderate',
|
|
17
17
|
'attachment.delete'
|
|
18
18
|
];
|
|
19
|
-
const PROJECT_ADMIN = [...PROJECT_MANAGER, 'project.delete'];
|
|
19
|
+
const PROJECT_ADMIN = [...PROJECT_MANAGER, 'project.delete', 'project.manage_admins'];
|
|
20
20
|
/** Actions each project role grants by default. */
|
|
21
21
|
export const DEFAULT_ROLE_PERMISSIONS = {
|
|
22
22
|
viewer: VIEWER,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../src/domain/authorization.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,GAA0B,CAAC,cAAc,CAAC,CAAC;AACvD,MAAM,WAAW,GAA0B;IACzC,GAAG,MAAM;IACT,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,mBAAmB;IACnB,UAAU;CACX,CAAC;AACF,MAAM,eAAe,GAA0B;IAC7C,GAAG,WAAW;IACd,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,wBAAwB;IACxB,kBAAkB;IAClB,mBAAmB;CACpB,CAAC;AACF,MAAM,aAAa,GAA0B,CAAC,GAAG,eAAe,EAAE,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../src/domain/authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workload.d.ts","sourceRoot":"","sources":["../../src/domain/workload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,IAAI,EAKJ,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+DD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,2BAAgC,GACxC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"workload.d.ts","sourceRoot":"","sources":["../../src/domain/workload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,IAAI,EAKJ,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+DD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,2BAAgC,GACxC,oBAAoB,CAoXtB"}
|
package/dist/domain/workload.js
CHANGED
|
@@ -77,6 +77,13 @@ export function calculateWorkloadDistribution(context, options = {}) {
|
|
|
77
77
|
dates.push(parseDateOnly(t.actualEndDate).getTime());
|
|
78
78
|
if (t.createdAt)
|
|
79
79
|
dates.push(parseDateOnly(t.createdAt).getTime());
|
|
80
|
+
// Without a due date, a task's effort is spread up to start + one day per 8 hours (see below),
|
|
81
|
+
// which can run past every date above (e.g. a task created on a weekend). Include that end,
|
|
82
|
+
// or its hours would fall outside every bucket and be lost.
|
|
83
|
+
const start = t.plannedStartDate ?? t.actualStartDate ?? t.createdAt;
|
|
84
|
+
if (!t.dueDate && start) {
|
|
85
|
+
dates.push(addDays(parseDateOnly(start), Math.max(1, Math.ceil(getTaskDurationHours(t) / 8))).getTime());
|
|
86
|
+
}
|
|
80
87
|
}
|
|
81
88
|
for (const te of timeEntries) {
|
|
82
89
|
if (te.loggedAt)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workload.js","sourceRoot":"","sources":["../../src/domain/workload.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAUvB,SAAS,YAAY,CAAC,CAAO;IAC3B,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB;IACtC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,OAAO,CAAC,CAAO,EAAE,IAAY;IACpC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAClC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,CAAO;IAC1B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAC7B,wDAAwD;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,YAAY,CAAC,CAAO;IAC3B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,cAAc,CAAC,CAAO,EAAE,QAA0B;IACzD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,wBAAwB;IACxB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,YAAY,CAAC,CAAO,EAAE,QAA0B;IACvD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAU;IACtC,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,wBAAwB,KAAK,QAAQ,IAAI,IAAI,CAAC,wBAAwB,IAAI,CAAC,EAAE,CAAC;QAC5F,OAAO,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAwB,EACxB,UAAuC,EAAE;IAEzC,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC/E,MAAM,QAAQ,GAAqB,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC9D,MAAM,OAAO,GAAoB,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC;IAC/D,MAAM,MAAM,GAAmB,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;IAC3D,MAAM,qBAAqB,GAAG,OAAO,CAAC,0BAA0B,IAAI,EAAE,CAAC;IAEvE,0CAA0C;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,0BAA0B;IAC1B,IAAI,OAAO,GAAgB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,IAAI,OAAO,GAAgB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,gBAAgB;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAChF,IAAI,CAAC,CAAC,eAAe;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,CAAC,aAAa;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,EAAE,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO;gBAAE,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO;gBAAE,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO;gBAAE,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO;gBAAE,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;QACtB,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,iCAAiC;IACjC,IAAI,MAAM,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACjH,MAAM,QAAQ,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAWrH,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEpD,OAAO,MAAM,IAAI,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,GAAmB;YACxB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE;YAC3B,MAAM,EAAE,EAAE;SACX,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1B,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,SAAqB,EAAU,EAAE;QACpE,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,UAAU;gBACb,IAAI,SAAS,EAAE,MAAM;oBAAE,OAAO,SAAS,CAAC,MAAM,CAAC;gBAC/C,OAAO,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC;YACzC,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,MAAM,IAAK,IAAI,CAAC,YAAY,EAAE,MAAiB,IAAI,YAAY,CAAC;YAC9E,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,QAAQ,IAAK,IAAI,CAAC,YAAY,EAAE,IAAe,IAAI,UAAU,CAAC;YAC5E,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;YACjC,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;YAC/B;gBACE,OAAO,YAAY,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE;QACtE,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO;QACvB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACzD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,2CAA2C;IAC3C,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC;gBAAE,SAAS;YAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAK;oBACnD,EAAE,EAAE,KAAK,CAAC,MAAM;oBAChB,SAAS,EAAE,SAAS,IAAI,EAAE;oBAC1B,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,aAAa;oBACrB,QAAQ,EAAE,QAAQ;oBAClB,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,SAAS,EAAE,KAAK,CAAC,QAAQ;iBACjB,CAAC;gBACX,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;YACrC,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAE1B,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC3B,iBAAiB,GAAG,SAAS,CAAC;YAChC,CAAC;iBAAM,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1D,IAAI,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;oBAC9E,iBAAiB,GAAG,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,IAAI,iBAAiB,IAAI,CAAC;gBAAE,SAAS;YAErC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YAErC,4BAA4B;YAC5B,IAAI,SAAS,GAAG,IAAI,CAAC,gBAAgB;gBACnC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBACtC,CAAC,CAAC,IAAI,CAAC,eAAe;oBACpB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC;oBACrC,CAAC,CAAC,IAAI,CAAC,SAAS;wBACd,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;wBAC/B,CAAC,CAAC,OAAO,CAAC;YAEhB,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;gBACxB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7B,CAAC,CAAC,SAAS;oBACT,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnE,CAAC,CAAC,OAAO,CAAC;YAEd,6GAA6G;YAC7G,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACtC,IAAI,SAAS,GAAG,KAAK,EAAE,CAAC;oBACtB,SAAS,GAAG,KAAK,CAAC;gBACpB,CAAC;gBACD,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;oBACxB,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;gBACxB,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;YAED,sDAAsD;YACtD,MAAM,YAAY,GAChB,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7D,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC;gBAC3D,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrD,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;gBACnD,OAAO,CAAC,QAAQ;gBAChB,qBAAqB,CAAC;YAExB,MAAM,WAAW,GAAG,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;YACrG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAErC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC;gBAElE,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;oBAChC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAE3C,IAAI,mBAAmB,GAAG,CAAC,CAAC;oBAC5B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;wBAChC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;wBAC9C,IAAI,MAAM,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;4BAChD,mBAAmB,EAAE,CAAC;wBACxB,CAAC;oBACH,CAAC;oBAED,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;wBAC5B,MAAM,YAAY,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;wBAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,sFAAsF;gBACtF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpG,MAAM,WAAW,GAAG,iBAAiB,GAAG,SAAS,CAAC;gBAElD,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;oBAChC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBAClD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACzF,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAElF,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;wBAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC/F,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC;wBAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,IAAI,OAAO,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IAEnD,sCAAsC;IACtC,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7E,CAAC;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,wBAAwB,GAAG,CAAC,CAAC;IAEjC,MAAM,OAAO,GAAqB,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACtD,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAE5B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YACtD,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YAC3B,gBAAgB,IAAI,YAAY,CAAC;YAEjC,uBAAuB;YACvB,MAAM,cAAc,GAClB,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACxF,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACpF,OAAO,CAAC,QAAQ;gBAChB,qBAAqB,CAAC;YAExB,IAAI,SAAS,GAAG,qBAAqB,CAAC;YACtC,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACpF,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,EAAE,mBAAmB;oBAAE,SAAS,GAAG,CAAC,CAAC,mBAAmB,CAAC;qBACzD,IAAI,GAAG,KAAK,YAAY;oBAAE,SAAS,GAAG,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;oBAC3B,SAAS,GAAG,CAAC,CAAC,mBAAmB,CAAC;gBACpC,CAAC;qBAAM,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;oBAChC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,qBAAqB,CAAC;gBACzD,CAAC;qBAAM,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;oBAChC,SAAS,GAAG,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;gBACzB,SAAS,GAAG,CAAC,CAAC;YAChB,CAAC;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,uBAAuB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;gBAC9H,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9D,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YACzD,CAAC;iBAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;gBAClF,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9D,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YACvD,CAAC;iBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAChC,MAAM,WAAW,GAAG,uBAAuB,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;gBAC/H,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,kBAAkB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9D,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAC1D,CAAC;YAED,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YAC1B,mBAAmB,IAAI,SAAS,CAAC;QACnC,CAAC;QAED,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC5D,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAClE,qBAAqB,IAAI,gBAAgB,CAAC;QAC1C,wBAAwB,IAAI,mBAAmB,CAAC;QAEhD,MAAM,gBAAgB,GACpB,mBAAmB,GAAG,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI;YACpE,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO;YACL,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,UAAU,EAAE,gBAAgB;YAC5B,MAAM;YACN,QAAQ;YACR,aAAa,EAAE,mBAAmB;YAClC,gBAAgB;SACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACtE,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IAE5E,MAAM,kBAAkB,GACtB,wBAAwB,GAAG,CAAC;QAC1B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,GAAG,wBAAwB,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI;QAC9E,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,SAAS;QACT,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC;QAChC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC;QAC9B,QAAQ;QACR,OAAO;QACP,MAAM;QACN,UAAU;QACV,YAAY;QACZ,OAAO;QACP,UAAU,EAAE,qBAAqB;QACjC,aAAa,EAAE,wBAAwB;QACvC,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"workload.js","sourceRoot":"","sources":["../../src/domain/workload.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/index.d.ts
CHANGED
|
@@ -48,6 +48,8 @@ export declare class CriticalPathEngine {
|
|
|
48
48
|
* policy or a tenant to enforce. Otherwise there is nothing to check, so lookups are skipped.
|
|
49
49
|
*/
|
|
50
50
|
private get enforcing();
|
|
51
|
+
/** Tenants of events published inside a transaction, resolved before the data changed. */
|
|
52
|
+
private readonly eventTenants;
|
|
51
53
|
/** Effects deferred until the enclosing store transaction commits; set on transaction views. */
|
|
52
54
|
private readonly pendingEffects?;
|
|
53
55
|
/**
|
|
@@ -134,7 +136,13 @@ export declare class CriticalPathEngine {
|
|
|
134
136
|
deleteTask(id: string, options?: {
|
|
135
137
|
subtasks?: 'delete' | 'detach';
|
|
136
138
|
}): Promise<boolean>;
|
|
139
|
+
/** `deleting`: tasks already being deleted in this cascade, so a stored parent cycle cannot recurse forever. */
|
|
137
140
|
private deleteTaskNow;
|
|
141
|
+
/**
|
|
142
|
+
* Rejects a `parentId` that is missing, in another project, the task itself, or one of its
|
|
143
|
+
* descendants (which would create a cycle).
|
|
144
|
+
*/
|
|
145
|
+
private assertValidParent;
|
|
138
146
|
/** Removes records owned by a task; the task's deletion was already authorized. */
|
|
139
147
|
private deleteTaskChildren;
|
|
140
148
|
/** Removes a dependency between two tasks. Requires `task.update` on the dependent task's project. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,EAEL,kBAAkB,EAClB,OAAO,EACP,IAAI,EACJ,cAAc,EACd,mBAAmB,EACnB,IAAI,EACJ,aAAa,EACb,SAAS,EACT,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,eAAe,EAEf,qBAAqB,EACrB,SAAS,EACT,OAAO,EACP,aAAa,EACb,QAAQ,EACR,eAAe,EAEf,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,EAC7B,cAAc,EACd,qBAAqB,EACrB,cAAc,EAId,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAiB,KAAK,aAAa,EAAE,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACjH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAWrD,OAAO,EACL,cAAc,EAwCf,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,iBAAiB,EAAoB,MAAM,2BAA2B,CAAC;AAIhF,OAAO,EAAuC,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExF,oDAAoD;AACpD,MAAM,WAAW,4BAA6B,SAAQ,UAAU;IAC9D,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAGD,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAM9B,qBAAa,kBAAkB;IAC7B,SAAgB,MAAM,EAAE,kBAAkB,CAAC;IAC3C,SAAgB,KAAK,EAAE,cAAc,CAAC;IACtC,SAAgB,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjD,SAAgB,OAAO,EAAE,cAAc,CAAC;IACxC,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,+GAA+G;IAC/G,SAAgB,QAAQ,EAAE,iBAAiB,CAAC;IAC5C,SAAgB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAqB;IACzD,2FAA2F;IAC3F,SAAgB,KAAK,CAAC,EAAE,KAAK,CAAC;IAC9B,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAU;gBAErC,MAAM,GAAE,kBAAuB;IAoC3C;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAM3C,iEAAiE;YACnD,YAAY;IAQ1B,OAAO,CAAC,SAAS;IAMjB;;;OAGG;IACH,OAAO,KAAK,SAAS,GAEpB;IAED,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAuB;IAEvD;;;;;OAKG;YACW,aAAa;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/index.js
CHANGED
|
@@ -90,6 +90,8 @@ export class CriticalPathEngine {
|
|
|
90
90
|
get enforcing() {
|
|
91
91
|
return !!this.actor && !this.authorizationBypassed && (!!this.config.authorize || !!this.actor.tenantId);
|
|
92
92
|
}
|
|
93
|
+
/** Tenants of events published inside a transaction, resolved before the data changed. */
|
|
94
|
+
eventTenants = new WeakMap();
|
|
93
95
|
/** Effects deferred until the enclosing store transaction commits; set on transaction views. */
|
|
94
96
|
pendingEffects;
|
|
95
97
|
/**
|
|
@@ -118,10 +120,25 @@ export class CriticalPathEngine {
|
|
|
118
120
|
const result = await this.store.transaction(async (tx) => {
|
|
119
121
|
effects.length = 0; // an adapter may retry fn
|
|
120
122
|
const view = Object.create(this);
|
|
123
|
+
// Events are delivered after commit, when deleted records can no longer say which tenant
|
|
124
|
+
// they belonged to, so each event's tenant is resolved now, inside the transaction.
|
|
125
|
+
const bus = this.events;
|
|
126
|
+
const events = new Proxy(bus, {
|
|
127
|
+
get: (t, property) => {
|
|
128
|
+
if (property === 'publish') {
|
|
129
|
+
return async (event) => {
|
|
130
|
+
this.eventTenants.set(event, await view.resolveEventTenant(event));
|
|
131
|
+
effects.push(() => bus.publish(event));
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
const value = Reflect.get(t, property);
|
|
135
|
+
return typeof value === 'function' ? value.bind(t) : value;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
121
138
|
Object.defineProperties(view, {
|
|
122
139
|
store: { value: tx },
|
|
123
140
|
pendingEffects: { value: effects },
|
|
124
|
-
events: { value:
|
|
141
|
+
events: { value: events },
|
|
125
142
|
plugins: { value: defer(this.plugins, ['runAfterTaskCreate', 'runAfterTaskUpdate', 'runAfterTaskDelete']) },
|
|
126
143
|
fileStorage: { value: this.fileStorage && defer(this.fileStorage, ['delete']) }
|
|
127
144
|
});
|
|
@@ -454,8 +471,16 @@ export class CriticalPathEngine {
|
|
|
454
471
|
if (!existing)
|
|
455
472
|
return null;
|
|
456
473
|
await this.requireProjectAccess('project.update', id);
|
|
457
|
-
if ('members' in updates)
|
|
474
|
+
if ('members' in updates) {
|
|
458
475
|
await this.requireProjectAccess('project.manage_members', id);
|
|
476
|
+
// Managers may manage members but not admins: granting, revoking or changing an admin entry
|
|
477
|
+
// needs project.manage_admins, so nobody can promote themselves above their own role.
|
|
478
|
+
const admins = (members) => new Set((members ?? []).filter((m) => m.role === 'admin').map((m) => (m.userId !== undefined ? `user:${m.userId}` : `team:${m.teamId}`)));
|
|
479
|
+
const [before, after] = [admins(existing.members), admins(updates.members)];
|
|
480
|
+
if (before.size !== after.size || [...before].some((key) => !after.has(key))) {
|
|
481
|
+
await this.requireProjectAccess('project.manage_admins', id);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
459
484
|
validateCustomFieldDefinitions(updates.customFieldDefinitions, this.plugins.getCustomFieldTypes());
|
|
460
485
|
updates = this.withoutTenant(updates);
|
|
461
486
|
const updated = await this.store.updateProject(id, updates);
|
|
@@ -591,6 +616,7 @@ export class CriticalPathEngine {
|
|
|
591
616
|
}
|
|
592
617
|
// Validate custom fields on the final (post-plugin) input, including required fields when none are given
|
|
593
618
|
validateCustomFieldValues(project?.customFieldDefinitions, input.customFields, this.plugins.getCustomFieldTypes());
|
|
619
|
+
await this.assertValidParent(input.parentId, projectId);
|
|
594
620
|
const defaultStatus = workflow?.defaultStatusKey || 'todo';
|
|
595
621
|
const initialStatus = processedInput.status || taskInput.status || defaultStatus;
|
|
596
622
|
const now = new Date().toISOString();
|
|
@@ -667,6 +693,9 @@ export class CriticalPathEngine {
|
|
|
667
693
|
if (processedUpdates.customFields) {
|
|
668
694
|
validateCustomFieldValues(project?.customFieldDefinitions, { ...existing.customFields, ...processedUpdates.customFields }, this.plugins.getCustomFieldTypes());
|
|
669
695
|
}
|
|
696
|
+
if (processedUpdates.parentId && processedUpdates.parentId !== existing.parentId) {
|
|
697
|
+
await this.assertValidParent(processedUpdates.parentId, existing.projectId, id);
|
|
698
|
+
}
|
|
670
699
|
const now = new Date().toISOString();
|
|
671
700
|
const existingStatusDef = resolveStatusDefinition(existing.status, project?.statusDefinitions || workflow?.statuses);
|
|
672
701
|
const newStatusDef = processedUpdates.status
|
|
@@ -991,13 +1020,14 @@ export class CriticalPathEngine {
|
|
|
991
1020
|
async deleteTask(id, options = {}) {
|
|
992
1021
|
return this.inTransaction((engine) => engine.deleteTaskNow(id, options));
|
|
993
1022
|
}
|
|
994
|
-
|
|
1023
|
+
/** `deleting`: tasks already being deleted in this cascade, so a stored parent cycle cannot recurse forever. */
|
|
1024
|
+
async deleteTaskNow(id, options = {}, deleting = new Set()) {
|
|
995
1025
|
const existing = await this.getTask(id);
|
|
996
1026
|
if (!existing)
|
|
997
1027
|
return false;
|
|
998
1028
|
await this.requireProjectAccess('task.delete', existing.projectId);
|
|
999
1029
|
await this.plugins.runBeforeTaskDelete(id, existing);
|
|
1000
|
-
await this.deleteTaskChildren(existing, options.subtasks ?? 'delete');
|
|
1030
|
+
await this.deleteTaskChildren(existing, options.subtasks ?? 'delete', deleting);
|
|
1001
1031
|
const deleted = await this.store.deleteTask(id);
|
|
1002
1032
|
if (deleted) {
|
|
1003
1033
|
await this.plugins.runAfterTaskDelete(id, existing);
|
|
@@ -1025,13 +1055,38 @@ export class CriticalPathEngine {
|
|
|
1025
1055
|
}
|
|
1026
1056
|
return deleted;
|
|
1027
1057
|
}
|
|
1058
|
+
/**
|
|
1059
|
+
* Rejects a `parentId` that is missing, in another project, the task itself, or one of its
|
|
1060
|
+
* descendants (which would create a cycle).
|
|
1061
|
+
*/
|
|
1062
|
+
async assertValidParent(parentId, projectId, taskId) {
|
|
1063
|
+
if (!parentId)
|
|
1064
|
+
return;
|
|
1065
|
+
if (parentId === taskId)
|
|
1066
|
+
throw new ValidationError('A task cannot be its own parent.');
|
|
1067
|
+
const parent = await this.store.getTask(parentId);
|
|
1068
|
+
if (!parent || parent.projectId !== projectId) {
|
|
1069
|
+
throw new ValidationError(`Parent task "${parentId}" was not found in this project.`);
|
|
1070
|
+
}
|
|
1071
|
+
if (!taskId)
|
|
1072
|
+
return;
|
|
1073
|
+
const seen = new Set([parentId]);
|
|
1074
|
+
for (let ancestor = parent.parentId; ancestor && !seen.has(ancestor);) {
|
|
1075
|
+
if (ancestor === taskId)
|
|
1076
|
+
throw new ValidationError(`Task "${parentId}" is a subtask of this task, so it cannot be its parent.`);
|
|
1077
|
+
seen.add(ancestor);
|
|
1078
|
+
ancestor = (await this.store.getTask(ancestor))?.parentId;
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1028
1081
|
/** Removes records owned by a task; the task's deletion was already authorized. */
|
|
1029
|
-
async deleteTaskChildren(task, subtasks) {
|
|
1082
|
+
async deleteTaskChildren(task, subtasks, deleting) {
|
|
1030
1083
|
const cascade = this.elevated();
|
|
1031
|
-
|
|
1084
|
+
// Parent cycles stored before parents were validated: skip tasks this cascade is already deleting.
|
|
1085
|
+
deleting.add(task.id);
|
|
1086
|
+
const children = (await this.store.getTasks(task.projectId)).filter((t) => t.parentId === task.id && !deleting.has(t.id));
|
|
1032
1087
|
for (const child of children) {
|
|
1033
1088
|
if (subtasks === 'delete') {
|
|
1034
|
-
await cascade.
|
|
1089
|
+
await cascade.deleteTaskNow(child.id, { subtasks }, deleting);
|
|
1035
1090
|
}
|
|
1036
1091
|
else {
|
|
1037
1092
|
await this.store.updateTask(child.id, { parentId: undefined });
|
|
@@ -1189,14 +1244,18 @@ export class CriticalPathEngine {
|
|
|
1189
1244
|
await this.requireProjectAccess('time.log', task.projectId);
|
|
1190
1245
|
}
|
|
1191
1246
|
if (task) {
|
|
1192
|
-
const
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1247
|
+
const deltas = { loggedHours: entry.hours, actualHours: entry.hours, ...(entry.isBillable !== false ? { billableHours: entry.hours } : {}) };
|
|
1248
|
+
if (this.store.incrementTaskHours) {
|
|
1249
|
+
await this.store.incrementTaskHours(task.id, deltas);
|
|
1250
|
+
}
|
|
1251
|
+
else {
|
|
1252
|
+
// Read-modify-write: adapters without incrementTaskHours can lose concurrent logs.
|
|
1253
|
+
await this.store.updateTask(task.id, {
|
|
1254
|
+
loggedHours: (task.loggedHours || 0) + entry.hours,
|
|
1255
|
+
actualHours: (task.actualHours || 0) + entry.hours,
|
|
1256
|
+
billableHours: deltas.billableHours !== undefined ? (task.billableHours || 0) + entry.hours : task.billableHours
|
|
1257
|
+
});
|
|
1258
|
+
}
|
|
1200
1259
|
}
|
|
1201
1260
|
const fullEntry = {
|
|
1202
1261
|
...entry,
|
|
@@ -2324,6 +2383,8 @@ export class CriticalPathEngine {
|
|
|
2324
2383
|
}
|
|
2325
2384
|
/** Finds the tenant an event belongs to, from the entity in its payload or its project. */
|
|
2326
2385
|
async resolveEventTenant(event) {
|
|
2386
|
+
if (this.eventTenants.has(event))
|
|
2387
|
+
return this.eventTenants.get(event);
|
|
2327
2388
|
const p = event.payload;
|
|
2328
2389
|
const owner = p.project ?? p.workflow ?? p.team;
|
|
2329
2390
|
if (owner)
|