refacto: passing by server actions on taskCard
This commit is contained in:
@@ -65,112 +65,8 @@ export async function GET(request: Request) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* API route pour créer une nouvelle tâche
|
||||
*/
|
||||
export async function POST(request: Request) {
|
||||
try {
|
||||
const body = await request.json();
|
||||
const { title, description, status, priority, tags, dueDate } = body;
|
||||
|
||||
if (!title) {
|
||||
return NextResponse.json({
|
||||
success: false,
|
||||
error: 'Le titre est requis'
|
||||
}, { status: 400 });
|
||||
}
|
||||
|
||||
const task = await tasksService.createTask({
|
||||
title,
|
||||
description,
|
||||
status: status as TaskStatus,
|
||||
priority: priority as TaskPriority,
|
||||
tags,
|
||||
dueDate: dueDate ? new Date(dueDate) : undefined
|
||||
});
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
data: task,
|
||||
message: 'Tâche créée avec succès'
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ Erreur lors de la création de la tâche:', error);
|
||||
|
||||
return NextResponse.json({
|
||||
success: false,
|
||||
error: error instanceof Error ? error.message : 'Erreur inconnue'
|
||||
}, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* API route pour mettre à jour une tâche
|
||||
*/
|
||||
export async function PATCH(request: Request) {
|
||||
try {
|
||||
const body = await request.json();
|
||||
const { taskId, ...updates } = body;
|
||||
|
||||
if (!taskId) {
|
||||
return NextResponse.json({
|
||||
success: false,
|
||||
error: 'taskId est requis'
|
||||
}, { status: 400 });
|
||||
}
|
||||
|
||||
// Convertir dueDate si présent
|
||||
if (updates.dueDate) {
|
||||
updates.dueDate = new Date(updates.dueDate);
|
||||
}
|
||||
|
||||
const updatedTask = await tasksService.updateTask(taskId, updates);
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
data: updatedTask,
|
||||
message: 'Tâche mise à jour avec succès'
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ Erreur lors de la mise à jour de la tâche:', error);
|
||||
|
||||
return NextResponse.json({
|
||||
success: false,
|
||||
error: error instanceof Error ? error.message : 'Erreur inconnue'
|
||||
}, { status: 500 });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* API route pour supprimer une tâche
|
||||
*/
|
||||
export async function DELETE(request: Request) {
|
||||
try {
|
||||
const { searchParams } = new URL(request.url);
|
||||
const taskId = searchParams.get('taskId');
|
||||
|
||||
if (!taskId) {
|
||||
return NextResponse.json({
|
||||
success: false,
|
||||
error: 'taskId est requis'
|
||||
}, { status: 400 });
|
||||
}
|
||||
|
||||
await tasksService.deleteTask(taskId);
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: 'Tâche supprimée avec succès'
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ Erreur lors de la suppression de la tâche:', error);
|
||||
|
||||
return NextResponse.json({
|
||||
success: false,
|
||||
error: error instanceof Error ? error.message : 'Erreur inconnue'
|
||||
}, { status: 500 });
|
||||
}
|
||||
}
|
||||
// POST, PATCH, DELETE methods have been migrated to Server Actions
|
||||
// See /src/actions/tasks.ts for:
|
||||
// - createTask (replaces POST)
|
||||
// - updateTask, updateTaskStatus, updateTaskTitle (replaces PATCH)
|
||||
// - deleteTask (replaces DELETE)
|
||||
|
||||
Reference in New Issue
Block a user