fix : donasi

deksripsi:
- mengant use server menjadi api
src/app/api/donasi/[id]/invoice/count/route.ts
src/app/api/donasi/[id]/invoice/route.ts
src/app/api/donasi/kabar/[id]/route.ts
src/app/dev/(user)/donasi/cerita_penggalang/[id]/layout.tsx
src/app/dev/(user)/donasi/cerita_penggalang/[id]/page.tsx
src/app/dev/(user)/donasi/detail/donasi_saya/[id]/page.tsx
src/app/dev/(user)/donasi/detail/kabar/[id]/page.tsx
src/app/dev/(user)/donasi/proses_donasi/invoice/[id]/page.tsx
src/app_modules/admin/donasi/detail/publish/detail_list_donatur.tsx
src/app_modules/admin/donasi/fun/update/fun_update_status_dan_total.ts
src/app_modules/donasi/detail/detail_donasi_saya/index.tsx
src/app_modules/donasi/detail/detail_kabar/index.tsx
src/app_modules/donasi/detail/detail_main/cerita_penggalang/layout.tsx
src/app_modules/donasi/lib/api_donasi.ts
src/app_modules/donasi/proses_donasi/invoice/index.tsx

No Issue
This commit is contained in:
2025-06-09 14:57:47 +08:00
parent 1b23c50ff0
commit 048f819a57
15 changed files with 532 additions and 209 deletions

View File

@@ -0,0 +1,31 @@
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.donasi_Invoice.count({
where: {
donasiId: id,
donasiMaster_StatusInvoiceId: {
equals: "1",
},
},
});
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).message || error,
});
}
}

View File

@@ -0,0 +1,71 @@
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.donasi_Invoice.findFirst({
where: {
id: id,
},
select: {
id: true,
nominal: true,
donasiId: true,
createdAt: true,
donasiMaster_BankId: true,
donasiMaster_StatusInvoiceId: true,
Donasi: {
select: {
id: true,
title: true,
target: true,
active: true,
createdAt: true,
updatedAt: true,
publishTime: true,
catatan: true,
progres: true,
terkumpul: true,
authorId: 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,
},
},
DonasiMaster_Bank: true,
DonasiMaster_StatusInvoice: true,
},
});
if (!data) {
return NextResponse.json({
success: false,
message: "Data tidak ditemukan",
});
}
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).message || error,
});
}
}

View File

@@ -0,0 +1,28 @@
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.donasi_Kabar.findFirst({
where: {
id: id,
},
});
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,
});
}
}

View File

@@ -4,18 +4,12 @@ import React from "react";
export default async function Layout({
children,
params,
}: {
children: React.ReactNode;
params: { id: string };
}) {
const dataDonasi = await Donasi_getOneById(params.id);
const statusDonasiId = dataDonasi?.donasiMaster_StatusDonasiId;
return (
<>
<LayoutCeritaPenggalangDonasi statusDonasiId={statusDonasiId as string} donasiId={dataDonasi?.id as string}>
{children}
</LayoutCeritaPenggalangDonasi>
<LayoutCeritaPenggalangDonasi>{children}</LayoutCeritaPenggalangDonasi>
</>
);
}

View File

@@ -1,8 +1,6 @@
import { CeritaPenggalangDonasi } from "@/app_modules/donasi";
import Donasi_getCeritaByDonasiId from "@/app_modules/donasi/fun/get/get_cerita_penggalang";
export default async function Page() {
// const dataCerita = await Donasi_getCeritaByDonasiId(params.id);
return (
<>
<CeritaPenggalangDonasi />

View File

@@ -1,21 +1,9 @@
import { DetailDonasiSaya } from "@/app_modules/donasi";
import { Donasi_getCountDonatur } from "@/app_modules/donasi/fun/count/get_count_donatur";
import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id";
import { Donasi_getOneInvoiceById } from "@/app_modules/donasi/fun/get/get_one_invoice_by_id";
export default async function Page({ params }: { params: { id: string } }) {
let invoiceId = params.id;
const dataDonasi = await Donasi_getOneInvoiceById(invoiceId);
const countDonatur = await Donasi_getCountDonatur(
dataDonasi?.donasiId as any
);
export default async function Page() {
return (
<>
<DetailDonasiSaya
dataDonasi={dataDonasi as any}
countDonatur={countDonatur}
/>
<DetailDonasiSaya />
</>
);
}

View File

@@ -2,9 +2,5 @@ import { DetailKabarDonasi } from "@/app_modules/donasi";
import { Donasi_getOneKabar } from "@/app_modules/donasi/fun/get/get_one_kabar";
export default async function Page({params}: {params: {id: string}}) {
let kabarId = params.id
const dataDonasi = await Donasi_getOneKabar(kabarId)
return <DetailKabarDonasi dataDonasi={dataDonasi as any}/>
return <DetailKabarDonasi />
}

View File

@@ -1,9 +1,5 @@
import { Donasi_InvoiceProses } from "@/app_modules/donasi";
import { Donasi_getOneInvoiceById } from "@/app_modules/donasi/fun/get/get_one_invoice_by_id";
export default async function Page({ params }: { params: { id: string } }) {
let invoiceId = params.id;
const dataInvoice = await Donasi_getOneInvoiceById(invoiceId);
return <Donasi_InvoiceProses dataInvoice={dataInvoice as any} />;
export default async function Page() {
return <Donasi_InvoiceProses />;
}