fix: admin donasi

deskripsi:
- fix perubahan use server menjadi API
src/app/api/admin/donasi/[id]/count/route.ts
src/app/api/admin/donasi/[id]/pencairan/route.ts
src/app/dev/admin/donasi/detail/publish/[id]/page.tsx
src/app_modules/admin/_admin_global/comp_preview_image_admin.tsx
src/app_modules/admin/donasi/detail/publish/detail_list_donatur.tsx
src/app_modules/admin/donasi/detail/publish/detail_list_pencairan.tsx
src/app_modules/admin/donasi/detail/publish/detail_publish.tsx
src/app_modules/admin/donasi/lib/api_fetch_admin_donasi.ts
src/app_modules/admin/donasi/sub-detail/bukti_transfer_pencairan.tsx

No Issue
This commit is contained in:
2025-06-13 11:23:15 +08:00
parent dd65e4e678
commit 6ccdbf9763
9 changed files with 511 additions and 337 deletions

View File

@@ -0,0 +1,29 @@
import { NextResponse } from "next/server";
import prisma from "@/lib/prisma";
export async function GET(
req: Request,
{ params }: { params: { id: string } }
) {
const { id } = params;
try {
const data = await prisma.donasi_Invoice.count({
where: {
donasiId: id,
donasiMaster_StatusInvoiceId: "1",
},
});
return NextResponse.json({
success: true,
message: "Data berhasil diambil",
data: data,
});
} catch (error) {
console.error("Error get count donasi ", error);
return NextResponse.json({
success: false,
message: "Error get count donasi",
reason: (error as Error).message,
});
}
}

View File

@@ -1,24 +1,64 @@
import prisma from "@/lib/prisma";
import backendLogger from "@/util/backendLogger";
import _ from "lodash";
import { NextResponse } from "next/server";
export async function GET(req: Request, { params }: { params: { id: string } }) {
const donasiId = params.id
try {
const data = await prisma.donasi_PencairanDana.findMany({
orderBy: {
createdAt: "desc",
},
where: {
donasiId: donasiId,
}
})
} catch (error) {
backendLogger.error("Error get pencairan donasi >>", error);
return NextResponse.json({
success: false,
message: "Error get pencairan donasi",
reason: (error as Error).message
})
export async function GET(
req: Request,
{ params }: { params: { id: string } }
) {
let fixData;
const donasiId = params.id;
const { searchParams } = new URL(req.url);
const page = searchParams.get("page");
const takeData = 10
const skipData = Number(page) * takeData - takeData;
try {
if (!page) {
fixData = await prisma.donasi_PencairanDana.findMany({
orderBy: {
createdAt: "desc",
},
where: {
donasiId: donasiId,
},
});
} else {
const data = await prisma.donasi_PencairanDana.findMany({
take: takeData,
skip: skipData,
orderBy: {
createdAt: "desc",
},
where: {
donasiId: donasiId,
},
});
const nCount = await prisma.donasi_PencairanDana.count({
where: {
donasiId: donasiId,
},
});
fixData = {
data: data,
nPage: _.ceil(nCount / takeData),
};
}
}
return NextResponse.json({
success: true,
message: "Data berhasil diambil",
data: fixData,
});
} catch (error) {
backendLogger.error("Error get pencairan donasi >>", error);
return NextResponse.json({
success: false,
message: "Error get pencairan donasi",
reason: (error as Error).message,
});
}
}