Merge pull request #101 from bipproduction/lukman/8-agustus-2024

feat : update get user announcement
This commit is contained in:
Amalia
2024-08-08 17:35:48 +08:00
committed by GitHub
5 changed files with 87 additions and 0 deletions

View File

@@ -187,6 +187,8 @@ Content-Type: application/json
###
GET http://localhost:3000/api/announcement/get?path=get-all-announcement HTTP/1.1
###
GET http://localhost:3000/api/announcement/get?path=get-user-announcement HTTP/1.1
###
GET http://localhost:3000/api/announcement/get?path=get-all-announcement&divisionI=1 HTTP/1.1

39
src/app/api/coba/route.ts Normal file
View File

@@ -0,0 +1,39 @@
import { prisma } from "@/module/_global";
import { funGetUserByCookies } from "@/module/auth";
import { revalidatePath, revalidateTag } from "next/cache";
import { NextResponse } from "next/server";
export const dynamic = 'force-dynamic'
export const revalidate = true
export async function GET(request: Request) {
try {
const user = await funGetUserByCookies()
if (user.id == undefined) {
return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 401 });
}
const villaId = user.idVillage
const data = await prisma.group.findMany({
where: {
isActive: true,
idVillage: String(villaId)
},
select: {
id: true,
name: true,
Division: {
select: {
id: true,
name: true
}
}
}
});
return NextResponse.json({ success: true, message: "Berhasil mendapatkan grup", data, }, { status: 200 });
} catch (error) {
console.log(error);
return NextResponse.json({ success: false, message: "Gagal mendapatkan grup, coba lagi nanti", reason: (error as Error).message, }, { status: 500 });
}
}

View File

@@ -17,6 +17,7 @@ export const API_ADDRESS = {
// Announcement
"apiGetAllAnnouncement": "/api/announcement/get?path=get-all-announcement",
"apiGetOneAnnouncement": "/api/announcement/get?path=get-one-announcement",
"apiGetUserAnnouncement": "/api/announcement/get?path=get-user-announcement",
"apiCreateAnnouncement": "/api/announcement/post?path=create-announcement",
"apiUpdateAnnouncement": "/api/announcement/post?path=update-announcement",
"apiDeleteAnnouncement": "/api/announcement/post?path=delete-announcement",

View File

@@ -1,5 +1,6 @@
import { getAllAnnouncement } from "./get/getAllAnnouncement";
import { getOneAnnouncement } from "./get/getOneAnnouncement";
import { getUserAnnouncement } from "./get/getUserAnnouncement";
import { createAnnouncement } from "./post/createAnnouncement";
import { deleteAnnouncement } from "./post/deleteAnnouncement";
import { updateAnnouncement } from "./post/updateAnnouncement";
@@ -15,6 +16,11 @@ export const API_INDEX_ANNOUNCEMENT = [
method: "GET",
bin: getOneAnnouncement,
},
{
path: "get-user-announcement",
method: "GET",
bin: getUserAnnouncement,
},
{
path: "create-announcement",
method: "POST",

View File

@@ -0,0 +1,39 @@
import { prisma } from "@/module/_global";
import { funGetUserByCookies } from "@/module/auth";
import { revalidatePath, revalidateTag } from "next/cache";
import { NextRequest, NextResponse } from "next/server";
export const dynamic = 'force-dynamic'
export const revalidate = true
export async function getUserAnnouncement(req: NextRequest) {
try {
const user = await funGetUserByCookies()
if (user.id == undefined) {
return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 401 });
}
const villaId = user.idVillage
const data = await prisma.group.findMany({
where: {
isActive: true,
idVillage: String(villaId)
},
select: {
id: true,
name: true,
Division: {
select: {
id: true,
name: true
}
}
}
});
return NextResponse.json({ success: true, message: "Berhasil mendapatkan grup", data, }, { status: 200 });
} catch (error) {
console.log(error);
return NextResponse.json({ success: false, message: "Gagal mendapatkan grup, coba lagi nanti", reason: (error as Error).message, }, { status: 500 });
}
}