31 lines
864 B
TypeScript
31 lines
864 B
TypeScript
import { NextResponse } from "next/server";
|
|
import { revalidatePath } from "next/cache";
|
|
import { transactionService } from "@/services/transaction.service";
|
|
import { requireAuth } from "@/lib/auth-utils";
|
|
|
|
export async function POST() {
|
|
const authError = await requireAuth();
|
|
if (authError) return authError;
|
|
|
|
try {
|
|
const result = await transactionService.deduplicate();
|
|
|
|
// Revalider le cache des pages
|
|
revalidatePath("/transactions", "page");
|
|
revalidatePath("/statistics", "page");
|
|
revalidatePath("/dashboard", "page");
|
|
|
|
return NextResponse.json(result, {
|
|
headers: {
|
|
"Cache-Control": "no-store",
|
|
},
|
|
});
|
|
} catch (error) {
|
|
console.error("Error deduplicating transactions:", error);
|
|
return NextResponse.json(
|
|
{ error: "Failed to deduplicate transactions" },
|
|
{ status: 500 },
|
|
);
|
|
}
|
|
}
|