Merge pull request #253 from bipproduction/bagas/28-jan-25

Bagas/28 jan 25
This commit is contained in:
Bagasbanuna02
2025-01-28 11:52:18 +08:00
committed by GitHub
56 changed files with 1366 additions and 199 deletions

View File

@@ -1,4 +1,7 @@
import { prisma } from "@/app/lib";
import { funGetUserIdByToken } from "@/app_modules/_global/fun/get";
import { IEventSponsor } from "@/app_modules/event/_lib/interface";
import backendLogger from "@/util/backendLogger";
import { NextResponse } from "next/server";
export async function POST(
@@ -13,40 +16,91 @@ export async function POST(
);
}
const { id } = context.params;
const userLoginId = await funGetUserIdByToken();
const body = await request.json();
console.log("body", body);
console.log("id", id);
if (!userLoginId) {
return NextResponse.json(
{ success: false, message: "User not found" },
{ status: 401 }
);
}
// const res = await prisma.eventSponsor.create({
try {
let fixData;
const { id } = context.params;
const req: IEventSponsor = await request.json();
// })
fixData = await prisma.eventSponsor.create({
data: {
eventId: id,
name: req.name as string,
fileName: req.fileName as string,
fileExt: req.fileExt as string,
fileId: req.fileId as string,
authorId: userLoginId,
},
});
return NextResponse.json({
success: true,
message: "Success create sponsor",
});
// try {
// const { id } = context.params;
// const body = await request.json();
// console.log("body",body);
// console.log("id",id);
// // const res = await prisma.eventSponsor.create({
// // })
// return NextResponse.json({
// success: true,
// message: "Success create sponsor",
// });
// } catch (error) {
// return NextResponse.json(
// { success: false, message: "Failed create sponsor" },
// { status: 500 }
// );
// }
await prisma.$disconnect();
return NextResponse.json({
success: true,
message: "Success create sponsor",
});
} catch (error) {
await prisma.$disconnect();
backendLogger.error("Error create sponsor event", error);
return NextResponse.json(
{ success: false, message: "Failed create sponsor" },
{ status: 500 }
);
}
}
export async function GET(
request: Request,
context: { params: { id: string } }
) {
const method = request.method;
if (method !== "GET") {
return NextResponse.json(
{ success: false, message: "Method not allowed" },
{ status: 405 }
);
}
try {
let fixData;
const { id } = context.params;
fixData = await prisma.eventSponsor.findUnique({
where: {
id: id,
},
include: {
Author: {
include: {
Profile: true,
},
},
},
});
await prisma.$disconnect();
return NextResponse.json({
success: true,
message: "Success create sponsor",
data: fixData,
});
} catch (error) {
backendLogger.error("Error get sponsor event", error);
await prisma.$disconnect();
return NextResponse.json(
{
success: false,
message: "Failed create sponsor",
reason: (error as Error).message,
},
{ status: 500 }
);
}
}

View File

@@ -0,0 +1,79 @@
import { prisma } from "@/app/lib";
import backendLogger from "@/util/backendLogger";
import { NextResponse } from "next/server";
export async function GET(
request: Request,
context: { params: { id: string } }
) {
const method = request.method;
if (method !== "GET") {
return NextResponse.json(
{ success: false, message: "Method not allowed" },
{ status: 405 }
);
}
try {
let fixData;
const { id } = context.params;
const { searchParams } = new URL(request.url);
const page = searchParams.get("page");
const takeData = 10;
const skipData = Number(page) * takeData - takeData;
if (!page) {
fixData = await prisma.eventSponsor.findMany({
orderBy: {
createdAt: "desc",
},
where: {
eventId: id,
},
include: {
Author: {
include: {
Profile: true,
},
},
},
});
} else {
fixData = await prisma.eventSponsor.findMany({
take: takeData,
skip: skipData,
orderBy: {
createdAt: "desc",
},
where: {
eventId: id,
},
include: {
Author: {
include: {
Profile: true,
},
},
},
});
}
await prisma.$disconnect();
return NextResponse.json({
success: true,
message: "Success create sponsor",
data: fixData,
});
} catch (error) {
backendLogger.error("Error get sponsor event", error);
await prisma.$disconnect();
return NextResponse.json(
{
success: false,
message: "Failed create sponsor",
reason: (error as Error).message,
},
{ status: 500 }
);
}
}

View File

@@ -1,10 +1,14 @@
import { funGetUserIdByToken } from '@/app_modules/_global/fun/get';
import LayoutEvent_DetailSponsor from '@/app_modules/event/detail/detail_sponsor/layout';
import React from 'react';
function Layout({children} : {children: React.ReactNode}) {
async function Layout({children} : {children: React.ReactNode}) {
const userLoginId = await funGetUserIdByToken()
return (
<>
<LayoutEvent_DetailSponsor>{children}</LayoutEvent_DetailSponsor>
<LayoutEvent_DetailSponsor userLoginId={userLoginId}>
{children}
</LayoutEvent_DetailSponsor>
</>
);
}

View File

@@ -1,10 +1,12 @@
import { funGetUserIdByToken } from '@/app_modules/_global/fun/get';
import DetailSponsor_Event from '@/app_modules/event/detail/detail_sponsor';
import React from 'react';
function Page() {
async function Page() {
const userLoginId = await funGetUserIdByToken();
return (
<>
<DetailSponsor_Event/>
<DetailSponsor_Event userLoginId={userLoginId} />
</>
);
}

View File

@@ -43,4 +43,7 @@ export const RouterEvent = {
`/dev/event/detail/sponsor/tambah_sponsor/${id}`,
detail_sponsor: ({ id }: { id: string }) =>
`/dev/event/detail/detail_sponsor/${id}`,
nominal_sponsor: ({ id }: { id: string }) =>
`/dev/event/detail/sponsor/nominal_sponsor/${id}`,
};