Skip to content

Commit f057b51

Browse files
committed
fix
1 parent a9020d4 commit f057b51

File tree

2 files changed

+46
-21
lines changed

2 files changed

+46
-21
lines changed

src/app/api/tasks/status/[id]/route.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { updateTaskStatus } from "@/app/lib/tasks_controller";
1+
import { getTaskById, updateTaskStatus } from "@/app/lib/tasks_controller";
22
import { NextResponse } from "next/server";
33

44
export const PATCH = async (req: Request, { params }: { params: { id: string } }) => {
@@ -25,3 +25,21 @@ export const PATCH = async (req: Request, { params }: { params: { id: string } }
2525
}
2626
}
2727
};
28+
29+
30+
export const GET = async (req: Request) => {
31+
try {
32+
const id = req.url.split("tasks/status")[1]
33+
const task = await getTaskById(id)
34+
35+
36+
if (!task) {
37+
return NextResponse.json({ message: "Error" }, { status: 404 });
38+
}
39+
40+
41+
return NextResponse.json({ message: "OK", task}, { status: 200 });
42+
} catch (err) {
43+
NextResponse.json({ message: "Error", err }, { status: 500 });
44+
}
45+
};

src/app/lib/tasks_controller.ts

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -75,32 +75,39 @@ export const updateTaskStatus = async (id: string | number, status: 'incomplete'
7575
throw new Error('Invalid status value');
7676
}
7777

78-
// Verifica se o ID é um número válido
79-
if (typeof id !== 'number' || isNaN(Number(id))) {
80-
throw new Error('Invalid ID format');
78+
// Atualiza a coluna status da tarefa com o ID fornecido
79+
const { data, error } = await supabase
80+
.from('tasks')
81+
.update({ status })
82+
.eq('id', id);
83+
84+
// Verifica se houve erro na atualização
85+
if (error) {
86+
console.error('Error updating task status: ', error.message);
87+
throw new Error(`Error updating task status: ${error.message}`);
8188
}
8289

83-
try {
84-
// Atualiza a coluna status da tarefa com o ID fornecido
85-
const { data, error } = await supabase
86-
.from('tasks')
87-
.update({ status })
88-
.eq('id', id); // Garante que o id seja numérico
89-
90-
if (error) {
91-
console.error('Error updating task status: ', error.message);
92-
throw new Error(`Error updating task status: ${error.message}`);
93-
}
94-
95-
console.log('Updated task status: ', data); // Verifica a resposta
96-
return data;
97-
} catch (err) {
98-
console.error('Unexpected error: ', err);
99-
throw new Error('An unexpected error occurred while updating task status');
90+
// Após a atualização, consulta a tarefa atualizada
91+
const { data: updatedData, error: fetchError } = await supabase
92+
.from('tasks')
93+
.select('*')
94+
.eq('id', id)
95+
.single(); // Garante que apenas um item seja retornado
96+
97+
// Verifica se houve erro ao buscar os dados atualizados
98+
if (fetchError) {
99+
console.error('Error fetching updated task: ', fetchError.message);
100+
throw new Error(`Error fetching updated task: ${fetchError.message}`);
100101
}
102+
103+
console.log('Updated task status: ', updatedData);
104+
105+
// Retorna os dados da tarefa atualizada
106+
return updatedData;
101107
};
102108

103109

110+
104111

105112

106113

0 commit comments

Comments
 (0)