fix: donasi
deskripsi: - perubahan metode pengambilan data dari use server menjadi API: src/app/api/donasi/[id]/pencairan-dana/route.ts src/app/api/donasi/[id]/penggalang-dana/route.ts src/app/dev/(user)/donasi/pencairan_dana/[id]/page.tsx src/app/dev/(user)/donasi/penggalang_dana/[id]/page.tsx src/app_modules/admin/donasi/detail/publish/pencairan_dana.tsx src/app_modules/donasi/component/card_view/box_informasi_pencarian_dana.tsx src/app_modules/donasi/component/card_view/box_pencairan_dana.tsx src/app_modules/donasi/component/card_view/card_pencairan_dana.tsx src/app_modules/donasi/detail/detail_main/pencairan_dana/index.tsx src/app_modules/donasi/detail/detail_main/penggalang_dana/index.tsx src/app_modules/donasi/lib/api_donasi.ts No Issue
This commit is contained in:
52
src/app/api/donasi/[id]/pencairan-dana/route.ts
Normal file
52
src/app/api/donasi/[id]/pencairan-dana/route.ts
Normal file
@@ -0,0 +1,52 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { prisma } from "@/lib";
|
||||
|
||||
export const dynamic = "force-dynamic";
|
||||
|
||||
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 = 3;
|
||||
const skipData = page * takeData - takeData;
|
||||
|
||||
if (!page) {
|
||||
fixData = await prisma.donasi_PencairanDana.findMany({
|
||||
orderBy: {
|
||||
createdAt: "asc",
|
||||
},
|
||||
where: {
|
||||
donasiId: id,
|
||||
},
|
||||
});
|
||||
} else {
|
||||
fixData = await prisma.donasi_PencairanDana.findMany({
|
||||
take: takeData,
|
||||
skip: skipData,
|
||||
orderBy: {
|
||||
createdAt: "asc",
|
||||
},
|
||||
where: {
|
||||
donasiId: id,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
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,
|
||||
});
|
||||
}
|
||||
}
|
||||
73
src/app/api/donasi/[id]/penggalang-dana/route.ts
Normal file
73
src/app/api/donasi/[id]/penggalang-dana/route.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { prisma } from "@/lib";
|
||||
|
||||
export async function GET(
|
||||
request: Request,
|
||||
{ params }: { params: { id: string } }
|
||||
) {
|
||||
try {
|
||||
const { id } = params;
|
||||
const data = await prisma.user.findFirst({
|
||||
where: {
|
||||
id: id,
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
username: true,
|
||||
nomor: true,
|
||||
Profile: {
|
||||
select: {
|
||||
id: true,
|
||||
name: true,
|
||||
email: true,
|
||||
imageId: true,
|
||||
},
|
||||
},
|
||||
Donasi: {
|
||||
orderBy: {
|
||||
createdAt: "desc",
|
||||
},
|
||||
where: {
|
||||
donasiMaster_StatusDonasiId: "1",
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
title: true,
|
||||
target: true,
|
||||
active: true,
|
||||
createdAt: true,
|
||||
updatedAt: true,
|
||||
publishTime: true,
|
||||
catatan: true,
|
||||
authorId: true,
|
||||
progres: true,
|
||||
terkumpul: true,
|
||||
imagesId: true,
|
||||
donasiMaster_KategoriId: true,
|
||||
donasiMaster_DurasiId: true,
|
||||
donasiMaster_StatusDonasiId: true,
|
||||
Author: true,
|
||||
imageDonasi: true,
|
||||
CeritaDonasi: true,
|
||||
DonasiMaster_Ketegori: true,
|
||||
DonasiMaster_Durasi: true,
|
||||
DonasiMaster_Status: true,
|
||||
imageId: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
return NextResponse.json({
|
||||
success: true,
|
||||
message: "Data berhasil diambil",
|
||||
data: data,
|
||||
});
|
||||
} catch (error) {
|
||||
return NextResponse.json({
|
||||
success: false,
|
||||
message: "Terjadi kesalahan saat mengambil data",
|
||||
reason: error as Error,
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user