fix(JiraService): preserve archived status when updating tasks

This commit is contained in:
Julien Froidefond
2025-10-16 05:54:52 +02:00
parent a4188b09e5
commit 3b7a6c3972

View File

@@ -539,6 +539,9 @@ export class JiraService {
existingTask.priority !== taskData.priority
? existingTask.priority
: taskData.priority;
// Préserver le statut archived local - ne jamais désarchiver depuis Jira
const finalStatus =
existingTask.status === 'archived' ? 'archived' : taskData.status;
if (existingTask.title !== taskData.title) {
changes.push(`Titre: préservé localement ("${existingTask.title}")`);
@@ -546,8 +549,13 @@ export class JiraService {
if (existingTask.description !== taskData.description) {
changes.push(`Description modifiée`);
}
if (existingTask.status !== taskData.status) {
changes.push(`Statut: ${existingTask.status}${taskData.status}`);
if (
existingTask.status === 'archived' &&
taskData.status !== 'archived'
) {
changes.push(`Statut: préservé localement (archived)`);
} else if (existingTask.status !== finalStatus) {
changes.push(`Statut: ${existingTask.status}${finalStatus}`);
}
if (existingTask.priority !== taskData.priority) {
changes.push(
@@ -612,7 +620,7 @@ export class JiraService {
} = {
title: finalTitle,
description: taskData.description,
status: taskData.status,
status: finalStatus,
priority: finalPriority,
dueDate: taskData.dueDate,
jiraProject: taskData.jiraProject,
@@ -623,7 +631,7 @@ export class JiraService {
};
// Si la tâche passe à "done" et n'a pas encore de completedAt, le définir
if (taskData.status === 'done' && !existingTask.completedAt) {
if (finalStatus === 'done' && !existingTask.completedAt) {
updateData.completedAt = new Date();
console.log(` ✅ Tâche marquée comme terminée (completedAt défini)`);
}