feat: add updatedAt field to AchievementCard and related services
- Introduced `updatedAt` property in `AchievementData`, `KeyAccomplishment`, and `Task` interfaces for improved task tracking. - Updated `AchievementCard` UI to display the last updated date alongside completion date, enhancing user visibility. - Adjusted `UIShowcaseClient` and `TasksService` to include `updatedAt` values, ensuring consistency across task management components.
This commit is contained in:
@@ -67,15 +67,18 @@ export class TasksService {
|
||||
tags?: string[];
|
||||
dueDate?: Date;
|
||||
}): Promise<Task> {
|
||||
const status = taskData.status || 'todo';
|
||||
const task = await prisma.task.create({
|
||||
data: {
|
||||
title: taskData.title,
|
||||
description: taskData.description,
|
||||
status: taskData.status || 'todo',
|
||||
status: status,
|
||||
priority: taskData.priority || 'medium',
|
||||
dueDate: taskData.dueDate,
|
||||
source: 'manual', // Source manuelle
|
||||
sourceId: `manual-${Date.now()}` // ID unique
|
||||
sourceId: `manual-${Date.now()}`, // ID unique
|
||||
// Si créée directement en done/archived, définir completedAt
|
||||
completedAt: (status === 'done' || status === 'archived') ? getToday() : null
|
||||
},
|
||||
include: {
|
||||
taskTags: {
|
||||
@@ -135,12 +138,16 @@ export class TasksService {
|
||||
updatedAt: getToday()
|
||||
};
|
||||
|
||||
|
||||
if (updates.status === 'done' && !task.completedAt) {
|
||||
// Logique pour completedAt : date de résolution définitive
|
||||
if (updates.status === 'done') {
|
||||
// Première fois qu'on marque comme done -> définir completedAt
|
||||
updateData.completedAt = getToday();
|
||||
} else if (updates.status === 'archived' && !task.completedAt) {
|
||||
// Première fois qu'on archive -> définir completedAt (archiver = résoudre)
|
||||
updateData.completedAt = getToday();
|
||||
} else if (updates.status && updates.status !== 'done' && task.completedAt) {
|
||||
updateData.completedAt = null;
|
||||
}
|
||||
// Si elle était déjà done/archived et qu'on change le statut,
|
||||
// on garde la completedAt existante (ne jamais l'effacer)
|
||||
|
||||
await prisma.task.update({
|
||||
where: { id: taskId },
|
||||
|
||||
Reference in New Issue
Block a user