fix: donasi

deskrispi:
- fix metode pengambilan data dari use server menjadi API
src/app/api/donasi/[id]/donatur/route.ts
src/app/api/donasi/[id]/pencairan-dana/route.ts
src/app/dev/(user)/donasi/donatur/[id]/page.tsx
src/app_modules/donasi/component/card_view/ui_card_donatur.tsx
src/app_modules/donasi/detail/detail_main/donatur/index.tsx
src/app_modules/donasi/lib/api_donasi.ts

No Issue
This commit is contained in:
2025-06-10 11:50:49 +08:00
parent 0573e06f30
commit 886d9f37f4
6 changed files with 199 additions and 34 deletions

View File

@@ -0,0 +1,106 @@
import prisma from "@/lib/prisma";
import { NextResponse } from "next/server";
export async function GET(
request: Request,
{ params }: { params: { id: string } }
) {
try {
let fixData;
const { id } = params;
const { searchParams } = new URL(request.url);
const page = Number(searchParams.get("page"));
const takeData = 10;
const skipData = page * takeData - takeData;
if (!page) {
fixData = await prisma.donasi_Invoice.findMany({
orderBy: {
createdAt: "desc",
},
where: {
donasiId: id,
donasiMaster_StatusInvoiceId: "1",
},
select: {
id: true,
createdAt: true,
updatedAt: true,
nominal: true,
DonasiMaster_StatusInvoice: true,
donasiMaster_StatusInvoiceId: true,
Author: true,
Donasi: {
select: {
id: true,
title: true,
target: true,
progres: true,
authorId: true,
imagesId: true,
publishTime: true,
donasiMaster_KategoriId: true,
donasiMaster_DurasiId: true,
donasiMaster_StatusDonasiId: true,
imageDonasi: true,
DonasiMaster_Ketegori: true,
DonasiMaster_Durasi: true,
DonasiMaster_Status: true,
},
},
},
});
} else {
fixData = await prisma.donasi_Invoice.findMany({
take: takeData,
skip: skipData,
orderBy: {
createdAt: "desc",
},
where: {
donasiId: id,
donasiMaster_StatusInvoiceId: "1",
},
select: {
id: true,
createdAt: true,
updatedAt: true,
nominal: true,
DonasiMaster_StatusInvoice: true,
donasiMaster_StatusInvoiceId: true,
Author: true,
Donasi: {
select: {
id: true,
title: true,
target: true,
progres: true,
authorId: true,
imagesId: true,
publishTime: true,
donasiMaster_KategoriId: true,
donasiMaster_DurasiId: true,
donasiMaster_StatusDonasiId: true,
imageDonasi: true,
DonasiMaster_Ketegori: true,
DonasiMaster_Durasi: true,
DonasiMaster_Status: true,
},
},
},
});
}
return NextResponse.json({
success: true,
message: "Data berhasil diambil",
data: fixData,
});
} catch (error) {
return NextResponse.json({
success: false,
message: "Terjadi kesalahan saat mengambil data",
reason: error as Error,
});
}
}

View File

@@ -12,7 +12,7 @@ export async function GET(
const { id } = params;
const { searchParams } = new URL(request.url);
const page = Number(searchParams.get("page"));
const takeData = 3;
const takeData = 5
const skipData = page * takeData - takeData;
if (!page) {