chore: apply requested changes
This commit is contained in:
@@ -511,6 +511,14 @@ export class ApiStorage implements IStorage {
|
||||
}
|
||||
|
||||
const oldStatus = existingTask.status;
|
||||
if (oldStatus === newStatus) {
|
||||
return {
|
||||
success: true,
|
||||
oldStatus,
|
||||
newStatus,
|
||||
taskId
|
||||
};
|
||||
}
|
||||
|
||||
// Update the task/subtask status
|
||||
await this.retryOperation(() =>
|
||||
@@ -520,9 +528,8 @@ export class ApiStorage implements IStorage {
|
||||
})
|
||||
);
|
||||
|
||||
// For subtasks, we might want to auto-adjust parent status
|
||||
// but in API storage, we'd need to query for the parent and its other subtasks
|
||||
// This is left as future enhancement since API storage handles relationships differently
|
||||
// Note: Parent status auto-adjustment is handled by the backend API service
|
||||
// which has its own business logic for managing task relationships
|
||||
|
||||
return {
|
||||
success: true,
|
||||
|
||||
@@ -391,12 +391,12 @@ export class FileStorage implements IStorage {
|
||||
const subs = parentTask.subtasks;
|
||||
let parentNewStatus = parentTask.status;
|
||||
if (subs.length > 0) {
|
||||
const allDone = subs.every((s) => (s.status || 'pending') === 'done');
|
||||
const anyInProgress = subs.some(
|
||||
(s) => (s.status || 'pending') === 'in-progress'
|
||||
);
|
||||
const norm = (s: any) => (s.status || 'pending');
|
||||
const allDone = subs.every((s) => norm(s) === 'done');
|
||||
const anyInProgress = subs.some((s) => norm(s) === 'in-progress');
|
||||
const anyDone = subs.some((s) => norm(s) === 'done');
|
||||
if (allDone) parentNewStatus = 'done';
|
||||
else if (anyInProgress) parentNewStatus = 'in-progress';
|
||||
else if (anyInProgress || anyDone) parentNewStatus = 'in-progress';
|
||||
}
|
||||
|
||||
// Always bump updatedAt; update status only if changed
|
||||
|
||||
Reference in New Issue
Block a user