From a91fd8949c243ff5a5885b8bbcadc3ef7923d7d2 Mon Sep 17 00:00:00 2001 From: amel Date: Wed, 14 Aug 2024 17:42:01 +0800 Subject: [PATCH] upd: refactor folder --- src/app/api/announcement/[id]/route.ts | 22 ++++++- src/app/api/coba/route.ts | 39 ----------- src/app/api/discussion/[id]/comment/route.ts | 20 +++++- src/app/api/discussion/[id]/route.ts | 48 +++++++++++--- src/app/api/division/[id]/detail/route.ts | 4 +- src/app/api/division/[id]/route.ts | 2 +- src/app/api/group/[id]/route.ts | 4 +- src/app/api/position/[id]/route.ts | 12 ++-- src/app/api/position/get/route.ts | 6 -- src/app/api/position/post/route.ts | 6 -- src/app/api/position/route.ts | 17 ++++- src/app/api/user/get/route.ts | 7 -- src/app/api/user/post/route.ts | 7 -- src/module/position/api/api_index.ts | 34 ---------- src/module/position/api/api_position.ts | 15 ----- src/module/position/api/get/getAllPosition.ts | 53 --------------- src/module/position/api/get/getOnePosition.ts | 27 -------- .../position/api/post/createPosition.ts | 39 ----------- .../position/api/post/deletePosition.ts | 31 --------- .../position/api/post/updatePosition.ts | 43 ------------ src/module/position/index.ts | 2 - src/module/user/api/api_index.ts | 40 ----------- src/module/user/api/api_user.ts | 15 ----- src/module/user/api/get/getAllUser.ts | 66 ------------------- src/module/user/api/get/getOneUser.ts | 58 ---------------- src/module/user/api/get/getRoleUser.ts | 21 ------ src/module/user/api/post/createUser.ts | 55 ---------------- src/module/user/api/post/deleteUser.ts | 35 ---------- src/module/user/api/post/updateUser.ts | 40 ----------- src/module/user/index.ts | 2 - 30 files changed, 100 insertions(+), 670 deletions(-) delete mode 100644 src/app/api/coba/route.ts delete mode 100644 src/app/api/position/get/route.ts delete mode 100644 src/app/api/position/post/route.ts delete mode 100644 src/app/api/user/get/route.ts delete mode 100644 src/app/api/user/post/route.ts delete mode 100644 src/module/position/api/api_index.ts delete mode 100644 src/module/position/api/api_position.ts delete mode 100644 src/module/position/api/get/getAllPosition.ts delete mode 100644 src/module/position/api/get/getOnePosition.ts delete mode 100644 src/module/position/api/post/createPosition.ts delete mode 100644 src/module/position/api/post/deletePosition.ts delete mode 100644 src/module/position/api/post/updatePosition.ts delete mode 100644 src/module/user/api/api_index.ts delete mode 100644 src/module/user/api/api_user.ts delete mode 100644 src/module/user/api/get/getAllUser.ts delete mode 100644 src/module/user/api/get/getOneUser.ts delete mode 100644 src/module/user/api/get/getRoleUser.ts delete mode 100644 src/module/user/api/post/createUser.ts delete mode 100644 src/module/user/api/post/deleteUser.ts delete mode 100644 src/module/user/api/post/updateUser.ts diff --git a/src/app/api/announcement/[id]/route.ts b/src/app/api/announcement/[id]/route.ts index 95535bd..efa845d 100644 --- a/src/app/api/announcement/[id]/route.ts +++ b/src/app/api/announcement/[id]/route.ts @@ -16,6 +16,22 @@ export async function GET(request: Request, context: { params: { id: string } }) return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 401 }); } + const data = await prisma.announcement.count({ + where: { + id: id, + }, + }); + + if (data == 0) { + return NextResponse.json( + { + success: false, + message: "Gagal mendapatkan pengumuman, data tidak ditemukan", + }, + { status: 404 } + ); + } + const announcement = await prisma.announcement.findUnique({ where: { id: id, @@ -60,7 +76,7 @@ export async function GET(request: Request, context: { params: { id: string } }) return NextResponse.json( { success: true, - message: "Berhasil mendapatkan announcement", + message: "Berhasil mendapatkan pengumuman", data: announcement, member: fixMember }, @@ -71,7 +87,7 @@ export async function GET(request: Request, context: { params: { id: string } }) } catch (error) { console.error(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan announcement, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mendapatkan pengumuman, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } @@ -148,7 +164,7 @@ export async function PUT(request: Request, context: { params: { id: string } }) return NextResponse.json( { success: false, - message: "Hapus pengumuman gagal, data tidak ditemukan", + message: "Edit pengumuman gagal, data tidak ditemukan", }, { status: 404 } ); diff --git a/src/app/api/coba/route.ts b/src/app/api/coba/route.ts deleted file mode 100644 index 2eb8a44..0000000 --- a/src/app/api/coba/route.ts +++ /dev/null @@ -1,39 +0,0 @@ -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 }); - } -} diff --git a/src/app/api/discussion/[id]/comment/route.ts b/src/app/api/discussion/[id]/comment/route.ts index b79a927..24d4e99 100644 --- a/src/app/api/discussion/[id]/comment/route.ts +++ b/src/app/api/discussion/[id]/comment/route.ts @@ -13,6 +13,22 @@ export async function POST(request: Request, context: { params: { id: string } } const { id } = context.params const { comment } = (await request.json()); + const cek = await prisma.divisionDisscussion.count({ + where: { + id: id + } + }) + + if (cek == 0) { + return NextResponse.json( + { + success: false, + message: "Tambah komentar gagal, data tidak ditemukan", + }, + { status: 404 } + ); + } + const data = await prisma.divisionDisscussionComment.create({ data: { comment: comment, @@ -21,10 +37,10 @@ export async function POST(request: Request, context: { params: { id: string } } } }) - return NextResponse.json({ success: true, message: "Berhasil mendapatkan diskusi", data: data, }, { status: 200 }); + return NextResponse.json({ success: true, message: "Berhasil menambah komentar", data: data, }, { status: 200 }); } catch (error) { console.log(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan diskusi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal menambah komentar, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } \ No newline at end of file diff --git a/src/app/api/discussion/[id]/route.ts b/src/app/api/discussion/[id]/route.ts index e740eba..71e9848 100644 --- a/src/app/api/discussion/[id]/route.ts +++ b/src/app/api/discussion/[id]/route.ts @@ -15,6 +15,22 @@ export async function GET(request: Request, context: { params: { id: string } }) } const { id } = context.params + const cek = await prisma.divisionDisscussion.count({ + where: { + id: id + } + }) + + if (cek == 0) { + return NextResponse.json( + { + success: false, + message: "Gagal mendapatkan diskusi, data tidak ditemukan", + }, + { status: 404 } + ); + } + const data = await prisma.divisionDisscussion.findUnique({ where: { id: id @@ -66,11 +82,11 @@ export async function GET(request: Request, context: { params: { id: string } }) totalComments: comments.length, }; - return NextResponse.json({ success: true, message: "Berhasil mendapatkan divisi", data: response }, { status: 200 }); + return NextResponse.json({ success: true, message: "Berhasil mendapatkan diskusi", data: response }, { status: 200 }); } catch (error) { console.log(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan divisi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mendapatkan diskusi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } @@ -100,7 +116,7 @@ export async function DELETE(request: Request, context: { params: { id: string } }); if (data == 0) { - return NextResponse.json({ success: false, message: "Gagal mendapatkan discussion, data tidak ditemukan" }, { status: 404 }); + return NextResponse.json({ success: false, message: "Gagal mendapatkan diskusi, data tidak ditemukan" }, { status: 404 }); } const result = await prisma.divisionDisscussion.update({ @@ -111,11 +127,11 @@ export async function DELETE(request: Request, context: { params: { id: string } status: newStatus } }); - return NextResponse.json({ success: true, message: "Berhasil Update discussion" }, { status: 200 }); + return NextResponse.json({ success: true, message: "Berhasil mengedit diskusi" }, { status: 200 }); } catch (error) { console.log(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan discussion, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mengedit diskusi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } @@ -127,6 +143,18 @@ export async function PUT(request: Request, context: { params: { id: string } }) return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 401 }); } const { id } = context.params + + const cek = await prisma.divisionDisscussion.count({ + where: { + id: id + }, + }); + + if (cek == 0) { + return NextResponse.json({ success: false, message: "Gagal menghapus diskusi, data tidak ditemukan" }, { status: 404 }); + } + + const data = await prisma.divisionDisscussion.update({ where: { id: id @@ -135,10 +163,10 @@ export async function PUT(request: Request, context: { params: { id: string } }) isActive: false } }); - return NextResponse.json({ success: true, message: "Berhasil Delete discussion" }, { status: 200 }); + return NextResponse.json({ success: true, message: "Berhasil menghapus diskusi" }, { status: 200 }); } catch (error) { console.log(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan discussion, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal menghapus diskusi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } @@ -160,7 +188,7 @@ export async function POST(request: Request, context: { params: { id: string } } }); if (data == 0) { - return NextResponse.json({ success: false, message: "Gagal mendapatkan discussion, data tidak ditemukan" }, { status: 404 }); + return NextResponse.json({ success: false, message: "Gagal mengedit diskusi, data tidak ditemukan" }, { status: 404 }); } const update = await prisma.divisionDisscussion.update({ @@ -171,10 +199,10 @@ export async function POST(request: Request, context: { params: { id: string } } desc: desc } }); - return NextResponse.json({ success: true, message: "Berhasil Edit discussion" }, { status: 200 }); + return NextResponse.json({ success: true, message: "Berhasil mengedit diskusi" }, { status: 200 }); } catch (error) { console.log(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan discussion, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mengedit diskusi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } diff --git a/src/app/api/division/[id]/detail/route.ts b/src/app/api/division/[id]/detail/route.ts index 1566b25..60e8ee7 100644 --- a/src/app/api/division/[id]/detail/route.ts +++ b/src/app/api/division/[id]/detail/route.ts @@ -202,7 +202,7 @@ export async function DELETE(request: Request, context: { params: { id: string } ); } catch (error) { console.log(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan divisi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mengeluarkan anggota divisi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } @@ -253,7 +253,7 @@ export async function PUT(request: Request, context: { params: { id: string } }) ); } catch (error) { console.log(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan divisi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mengubah status admin divisi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } diff --git a/src/app/api/division/[id]/route.ts b/src/app/api/division/[id]/route.ts index 8cc0757..07b33c8 100644 --- a/src/app/api/division/[id]/route.ts +++ b/src/app/api/division/[id]/route.ts @@ -111,6 +111,6 @@ export async function PUT(request: Request, context: { params: { id: string } }) ); } catch (error) { console.log(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan divisi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mengedit divisi, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } \ No newline at end of file diff --git a/src/app/api/group/[id]/route.ts b/src/app/api/group/[id]/route.ts index d69123f..efee4e8 100644 --- a/src/app/api/group/[id]/route.ts +++ b/src/app/api/group/[id]/route.ts @@ -85,7 +85,7 @@ export async function DELETE(request: Request, context: { params: { id: string } ); } catch (error) { console.log(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan grup, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mengedit grup, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } @@ -133,6 +133,6 @@ export async function PUT(request: Request, context: { params: { id: string } }) ); } catch (error) { console.log(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan grup, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mengedit grup, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } \ No newline at end of file diff --git a/src/app/api/position/[id]/route.ts b/src/app/api/position/[id]/route.ts index ae15c91..f36d2c3 100644 --- a/src/app/api/position/[id]/route.ts +++ b/src/app/api/position/[id]/route.ts @@ -64,7 +64,7 @@ export async function DELETE(request: Request, context: { params: { id: string } return NextResponse.json( { success: false, - message: "Gagal delete jabatan, data tidak ditemukan", + message: "Gagal mengubah status jabatan, data tidak ditemukan", }, { status: 404 } ); @@ -81,12 +81,12 @@ export async function DELETE(request: Request, context: { params: { id: string } }); return NextResponse.json( - { success: true, message: "Sukses Delete Position" }, + { success: true, message: "Berhasil mengubah status jabatan" }, { status: 200 } ); } catch (error) { console.error(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan position, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mengubah status jabatan, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } @@ -116,16 +116,16 @@ export async function PUT(request: Request, context: { params: { id: string } }) idGroup: data.idGroup, }, }); - return NextResponse.json({ success: true, message: "Berhasil edit position", positions, }, { status: 200 }); + return NextResponse.json({ success: true, message: "Berhasil mengedit jabatan", positions, }, { status: 200 }); } else { return NextResponse.json( - { success: false, message: "Position sudah ada" }, + { success: false, message: "Jabatan sudah ada" }, { status: 400 } ); } } catch (error) { console.error(error); - return NextResponse.json({ success: false, message: "Gagal mendapatkan jabatan, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal mengedit jabatan, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } \ No newline at end of file diff --git a/src/app/api/position/get/route.ts b/src/app/api/position/get/route.ts deleted file mode 100644 index 9703a3e..0000000 --- a/src/app/api/position/get/route.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { apiPosition } from "@/module/position"; -import { NextRequest } from "next/server"; - -export async function GET(req: NextRequest) { - return apiPosition(req, "GET"); -} diff --git a/src/app/api/position/post/route.ts b/src/app/api/position/post/route.ts deleted file mode 100644 index 178ff3e..0000000 --- a/src/app/api/position/post/route.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { apiPosition } from "@/module/position"; -import { NextRequest } from "next/server"; - -export async function POST(req: NextRequest) { - return apiPosition(req, "POST"); -} diff --git a/src/app/api/position/route.ts b/src/app/api/position/route.ts index ade9980..cb1b019 100644 --- a/src/app/api/position/route.ts +++ b/src/app/api/position/route.ts @@ -25,6 +25,17 @@ export async function GET(request: Request) { grupFix = groupID } + const cek = await prisma.group.count({ + where: { + id: String(grupFix), + isActive: true + } + }) + + if (cek == 0) { + return NextResponse.json({ success: false, message: "Gagal mendapatkan jabatan, data tidak ditemukan", }, { status: 404 }); + } + const positions = await prisma.position.findMany({ where: { idGroup: String(grupFix), @@ -91,16 +102,16 @@ export async function POST(request: Request) { revalidatePath('/position?active=true', 'page') revalidateTag('position') - return NextResponse.json({ success: true, message: "Berhasil menambahkan position", positions, }, { status: 200 }); + return NextResponse.json({ success: true, message: "Berhasil menambahkan jabatan", positions, }, { status: 200 }); } else { return NextResponse.json( - { success: false, message: "Position sudah ada" }, + { success: false, message: "Jabatan sudah ada" }, { status: 400 } ); } } catch (error) { console.error(error); - return NextResponse.json({ success: false, message: "Gagal menambahkan position, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); + return NextResponse.json({ success: false, message: "Gagal menambahkan jabatan, coba lagi nanti", reason: (error as Error).message, }, { status: 500 }); } } diff --git a/src/app/api/user/get/route.ts b/src/app/api/user/get/route.ts deleted file mode 100644 index 97c613e..0000000 --- a/src/app/api/user/get/route.ts +++ /dev/null @@ -1,7 +0,0 @@ - -import { apiUser } from "@/module/user"; -import { NextRequest } from "next/server"; - -export async function GET(req: NextRequest) { - return apiUser(req, "GET") -} \ No newline at end of file diff --git a/src/app/api/user/post/route.ts b/src/app/api/user/post/route.ts deleted file mode 100644 index ee604fb..0000000 --- a/src/app/api/user/post/route.ts +++ /dev/null @@ -1,7 +0,0 @@ - -import { apiUser } from "@/module/user"; -import { NextRequest } from "next/server"; - -export async function POST(req: NextRequest) { - return apiUser(req, "POST") -} \ No newline at end of file diff --git a/src/module/position/api/api_index.ts b/src/module/position/api/api_index.ts deleted file mode 100644 index ba37ee9..0000000 --- a/src/module/position/api/api_index.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { getAllPosition } from "./get/getAllPosition"; -import { getOnePosition } from "./get/getOnePosition"; -import { createlPosition } from "./post/createPosition"; -import { deletePosition } from "./post/deletePosition"; -import { updatePosition } from "./post/updatePosition"; - -export const API_INDEX_POSITION = [ - { - path: "get-all-position", - method: "GET", - bin: getAllPosition, - }, - { - path: "create-position", - method: "POST", - bin: createlPosition, - }, - { - path: "update-position", - method: "POST", - bin: updatePosition, - }, - { - path: "delete-position", - method: "POST", - bin: deletePosition, - }, - { - path: "get-one-position", - method: "GET", - bin: getOnePosition, - }, - ]; - \ No newline at end of file diff --git a/src/module/position/api/api_position.ts b/src/module/position/api/api_position.ts deleted file mode 100644 index 941913f..0000000 --- a/src/module/position/api/api_position.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { NextRequest } from "next/server"; -import { API_INDEX_POSITION } from "./api_index"; - - -type Method = "GET" | "POST"; -export async function apiPosition(req: NextRequest, method: Method) { - const { searchParams } = new URL(req.url); - const path = searchParams.get("path"); - const act = API_INDEX_POSITION.find((v) => v.path === path && v.method === method); - if (!path) - return Response.json({ success: false, message: "page not found" }, { status: 404 }); - if (act) return act.bin(req); - - return Response.json({ success: false, message: "404" }); -} \ No newline at end of file diff --git a/src/module/position/api/get/getAllPosition.ts b/src/module/position/api/get/getAllPosition.ts deleted file mode 100644 index 06f3ad3..0000000 --- a/src/module/position/api/get/getAllPosition.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { prisma } from "@/module/_global"; -import { funGetUserByCookies } from "@/module/auth"; -import _, { omit } from "lodash"; -import { NextRequest } from "next/server"; - -export async function getAllPosition(req: NextRequest) { - try { - - let grupFix - const searchParams = req.nextUrl.searchParams - const groupID = searchParams.get('groupId'); - const active = searchParams.get('active'); - const name = searchParams.get('name') - const user = await funGetUserByCookies() - - if (groupID == "null") { - grupFix = user.idGroup - } else { - grupFix = groupID - } - - const positions = await prisma.position.findMany({ - where: { - idGroup: String(grupFix), - isActive: (active == "true" ? true : false), - name: { - contains: (name == undefined || name == null) ? "" : name, - mode: "insensitive" - } - }, - select: { - id: true, - name: true, - isActive: true, - Group: { - select: { - name: true - } - } - }, - }); - - const allData = positions.map((v: any) => ({ - ..._.omit(v, ["Group"]), - group: v.Group.name - })) - - return Response.json(allData); - } catch (error) { - console.error(error); - return Response.json({ success: false, message: "Internal Server Error" }, { status: 500 }); - } -} diff --git a/src/module/position/api/get/getOnePosition.ts b/src/module/position/api/get/getOnePosition.ts deleted file mode 100644 index e9e7d83..0000000 --- a/src/module/position/api/get/getOnePosition.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { prisma } from "@/module/_global"; -import { NextRequest } from "next/server"; - -export async function getOnePosition(req: NextRequest) { - try { - const searchParams = req.nextUrl.searchParams - const positionId = searchParams.get('positionId'); - const getOne = await prisma.position.findUnique({ - where: { - id: String(positionId), - }, - select: { - id: true, - name: true, - idGroup: true, - }, - }); - - return Response.json(getOne); - } catch (error) { - console.error(error); - return Response.json( - { message: "Internal Server Error", success: false }, - { status: 500 } - ); - } -} diff --git a/src/module/position/api/post/createPosition.ts b/src/module/position/api/post/createPosition.ts deleted file mode 100644 index 5b6a0bb..0000000 --- a/src/module/position/api/post/createPosition.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { prisma } from "@/module/_global"; - -export async function createlPosition(req: Request) { - try { - const data = await req.json(); - const cek = await prisma.position.count({ - where: { - name: data.name, - idGroup: data.idGroup, - }, - }); - if (cek == 0) { - const positions = await prisma.position.create({ - data: { - name: data.name, - idGroup: data.idGroup, - }, - select: { - id: true, - name: true, - }, - }); - - return Response.json(positions, { status: 201 }); - } else { - return Response.json( - { success: false, message: "Position sudah ada" }, - { status: 400 } - ); - } - - } catch (error) { - console.error(error); - return Response.json( - { success: false, message: "Internal Server Error" }, - { status: 500 } - ); - } -} diff --git a/src/module/position/api/post/deletePosition.ts b/src/module/position/api/post/deletePosition.ts deleted file mode 100644 index 8fdc84a..0000000 --- a/src/module/position/api/post/deletePosition.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { prisma } from "@/module/_global"; -import { revalidatePath } from "next/cache"; -import { NextRequest } from "next/server"; - -export async function deletePosition(req: NextRequest) { - try { - const data = await req.json(); - const active = data.isActive; - - const update = await prisma.position.update({ - where: { - id: data.id, - }, - data: { - isActive: !active, - }, - }); - - revalidatePath("/position"); - return Response.json( - { success: true, message: "Sukses Delete Position" }, - { status: 200 } - ); - } catch (error) { - console.error(error); - return Response.json( - { message: "Internal Server Error", success: false }, - { status: 500 } - ); - } -} diff --git a/src/module/position/api/post/updatePosition.ts b/src/module/position/api/post/updatePosition.ts deleted file mode 100644 index 3bce6dc..0000000 --- a/src/module/position/api/post/updatePosition.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { prisma } from "@/module/_global"; - -export async function updatePosition(req: Request) { - try { - const data = await req.json(); - const cek = await prisma.position.count({ - where: { - name: data.name, - idGroup: data.idGroup, - }, - }); - - if (cek == 0) { - const update = await prisma.position.update({ - where: { - id: data.id, - }, - data: { - name: data.name, - idGroup: data.idGroup, - }, - }); - - return Response.json({ success: true, message: "Sukses Update Position" }, { status: 200 }); - } else { - return Response.json( - { success: false, message: "Position sudah ada" }, - { status: 400 } - ); - } - - return Response.json( - { success: true, message: "Sukses Update Position" }, - { status: 200 } - ); - } catch (error) { - console.error(error); - return Response.json( - { message: "Internal Server Error", success: false }, - { status: 500 } - ); - } -} diff --git a/src/module/position/index.ts b/src/module/position/index.ts index 521f031..7f89077 100644 --- a/src/module/position/index.ts +++ b/src/module/position/index.ts @@ -1,8 +1,6 @@ -import { apiPosition } from "./api/api_position"; import TabListPosition from "./ui/tab_list_position"; import TabListGroup from "./ui/tab_list_position"; import NavbarListPosition from "./ui/navbar_list_position"; -export { apiPosition }; export { NavbarListPosition } export { TabListPosition } \ No newline at end of file diff --git a/src/module/user/api/api_index.ts b/src/module/user/api/api_index.ts deleted file mode 100644 index 5db8e68..0000000 --- a/src/module/user/api/api_index.ts +++ /dev/null @@ -1,40 +0,0 @@ - -import { getAllUser } from "./get/getAllUser"; -import { getOneUser } from "./get/getOneUser"; -import { updateUser } from "./post/updateUser"; -import { deleteUser } from "./post/deleteUser"; -import { createUser } from "./post/createUser"; -import { getRoleUser } from "./get/getRoleUser"; - -export const API_INDEX_USER = [ - { - path: "get-all-users", - method: "GET", - bin: getAllUser, - }, - { - path: "get-one-users", - method: "GET", - bin: getOneUser, - }, - { - path: "create-users", - method: "POST", - bin: createUser, - }, - { - path: "update-users", - method: "POST", - bin: updateUser, - }, - { - path: "delete-users", - method: "POST", - bin: deleteUser, - }, - { - path: "get-role-user", - method: "GET", - bin: getRoleUser, - }, - ]; \ No newline at end of file diff --git a/src/module/user/api/api_user.ts b/src/module/user/api/api_user.ts deleted file mode 100644 index 910df81..0000000 --- a/src/module/user/api/api_user.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { NextRequest } from "next/server"; -import { API_INDEX_USER } from "./api_index"; - - -type Method = "GET" | "POST"; -export async function apiUser(req: NextRequest, method: Method) { - const { searchParams } = new URL(req.url); - const path = searchParams.get("path"); - const act = API_INDEX_USER.find((v) => v.path === path && v.method === method); - if (!path) - return Response.json({ success: false, message: "page not found" }, { status: 404 }); - if (act) return act.bin(req); - - return Response.json({ success: false, message: "404" }); -} \ No newline at end of file diff --git a/src/module/user/api/get/getAllUser.ts b/src/module/user/api/get/getAllUser.ts deleted file mode 100644 index 9b9588c..0000000 --- a/src/module/user/api/get/getAllUser.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { prisma } from "@/module/_global"; -import { funGetUserByCookies } from "@/module/auth"; -import _ from "lodash"; -import { NextRequest } from "next/server"; - -export async function getAllUser(req: NextRequest) { - try { - let fixGroup - const searchParams = req.nextUrl.searchParams; - const idGroup = searchParams.get("groupId"); - const active = searchParams.get("active"); - const user = await funGetUserByCookies(); - const name = searchParams.get("name") - - if (idGroup == "null" || idGroup == undefined) { - fixGroup = user.idGroup - } else { - fixGroup = idGroup - } - - const users = await prisma.user.findMany({ - where: { - isActive: active == "true" ? true : false, - idGroup: String(fixGroup), - name: { - contains: (name == undefined || name == null) ? "" : name, - mode: "insensitive", - } - }, - select: { - id: true, - isActive: true, - nik: true, - name: true, - phone: true, - email: true, - gender: true, - Position: { - select: { - name: true, - }, - }, - Group: { - select: { - name: true, - }, - }, - }, - }); - - const allData = users.map((v: any) => ({ - ..._.omit(v, ["Group", "Position"]), - group: v.Group.name, - position: v.Position.name, - })); - - return Response.json(allData); - - } catch (error) { - console.error(error); - return Response.json( - { success: false, message: "Internal Server Error" }, - { status: 500 } - ); - } -} diff --git a/src/module/user/api/get/getOneUser.ts b/src/module/user/api/get/getOneUser.ts deleted file mode 100644 index 7b73b9c..0000000 --- a/src/module/user/api/get/getOneUser.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { prisma } from "@/module/_global"; -import _ from "lodash"; -import { NextRequest } from "next/server"; - -export async function getOneUser(req: NextRequest) { - try { - const searchParams = req.nextUrl.searchParams; - const idUser = searchParams.get("userID"); - - const users = await prisma.user.findUnique({ - where: { - id: String(idUser), - }, - select: { - id: true, - nik: true, - name: true, - phone: true, - email: true, - gender: true, - idGroup: true, - isActive: true, - idPosition: true, - UserRole: { - select: { - name: true, - id: true - } - }, - Position: { - select: { - name: true, - id: true - }, - }, - Group: { - select: { - name: true, - id: true - }, - }, - }, - }); - - const { ...userData } = users; - const group = users?.Group.name - const position = users?.Position.name - const idUserRole = users?.UserRole.id - - const result = { ...userData, group, position, idUserRole }; - - const omitData = _.omit(result, ["Group", "Position", "UserRole"]) - return Response.json(omitData); - } catch (error) { - console.error(error); - return Response.json({ message: "Internal Server Errorr", success: false }, { status: 500 }); - } -} diff --git a/src/module/user/api/get/getRoleUser.ts b/src/module/user/api/get/getRoleUser.ts deleted file mode 100644 index c9d1428..0000000 --- a/src/module/user/api/get/getRoleUser.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { prisma } from "@/module/_global"; -import { NextRequest } from "next/server"; - -export async function getRoleUser(req: NextRequest) { - try { - const res = await prisma.userRole.findMany({ - select: { - id: true, - name: true, - }, - }); - - return Response.json(res); - } catch (error) { - console.error(error); - return Response.json( - { success: false, message: "Internal Server Error" }, - { status: 500 } - ); - } -} diff --git a/src/module/user/api/post/createUser.ts b/src/module/user/api/post/createUser.ts deleted file mode 100644 index c6f5736..0000000 --- a/src/module/user/api/post/createUser.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { createLogUser } from '@/module/user'; -import { prisma } from "@/module/_global"; -import { NextRequest } from "next/server"; - -export async function createUser(req: NextRequest) { - try { - const data = await req.json(); - const village = "desa1" - - const cek = await prisma.user.count({ - where: { - nik: data.nik, - email: data.email, - phone: data.phone - }, - }); - - if (cek == 0) { - const users = await prisma.user.create({ - data: { - nik: data.nik, - name: data.name, - phone: data.phone, - email: data.email, - gender: data.gender, - idGroup: data.idGroup, - idVillage: village, - idPosition: data.idPosition, - idUserRole: data.idUserRole, - }, - select: { - id: true, - nik: true, - name: true, - phone: true, - email: true, - gender: true, - }, - }); - - // create log user - const log = await createLogUser({ act: 'CREATE', desc: 'User membuat data user baru', table: 'user', data: users.id }) - - return Response.json({ success: true, message: 'Sukses membuat user' }, { status: 200 }); - } else { - return Response.json({ success: false, message: "User sudah ada" }, { status: 400 }); - } - - - - } catch (error) { - console.error(error); - return Response.json({ success: false, message: "Internal Server Error" }, { status: 500 }); - } -} diff --git a/src/module/user/api/post/deleteUser.ts b/src/module/user/api/post/deleteUser.ts deleted file mode 100644 index 461aeda..0000000 --- a/src/module/user/api/post/deleteUser.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { createLogUser } from '@/module/user'; -import { prisma } from "@/module/_global"; -import { NextRequest } from "next/server"; -import { revalidatePath } from 'next/cache'; - -export async function deleteUser(req: NextRequest) { - try { - const data = await req.json(); - const active = data.isActive; - const update = await prisma.user.update({ - where: { - id: data.id, - }, - data: { - isActive: !active, - }, - }); - - revalidatePath("/member"); - - // create log user - const log = await createLogUser({ act: 'DELETE', desc: 'User menghapus data user', table: 'user', data: update.id }) - - return Response.json( - { success: true, message: "Sukses Delete User" }, - { status: 200 } - ); - } catch (error) { - console.error(error); - return Response.json( - { message: "Internal Server Error", success: false }, - { status: 500 } - ); - } -} diff --git a/src/module/user/api/post/updateUser.ts b/src/module/user/api/post/updateUser.ts deleted file mode 100644 index 626302f..0000000 --- a/src/module/user/api/post/updateUser.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { createLogUser } from '@/module/user'; -import { prisma } from "@/module/_global"; -import { NextRequest } from "next/server"; -import { funGetUserByCookies } from '@/module/auth'; - -export async function updateUser(req: NextRequest) { - try { - const data = await req.json(); - - const updates = await prisma.user.update({ - where: { - id: data.id, - }, - data: { - nik: data.nik, - name: data.name, - phone: data.phone, - email: data.email, - gender: data.gender, - idGroup: data.idGroup, - idPosition: data.idPosition, - idUserRole: data.idUserRole, - }, - }); - - // create log user - const log = await createLogUser({ act: 'UPDATE', desc: 'User mengupdate data user', table: 'user', data: data.id }) - - return Response.json( - { success: true, message: "Sukses Update User" }, - { status: 200 } - ); - } catch (error) { - console.error(error); - return Response.json( - { message: "Internal Server Error", success: false }, - { status: 500 } - ); - } -} diff --git a/src/module/user/index.ts b/src/module/user/index.ts index a58ede7..af89e21 100644 --- a/src/module/user/index.ts +++ b/src/module/user/index.ts @@ -1,5 +1,4 @@ import { TypeUser } from './lib/type_user'; -import { apiUser } from "./api/api_user"; import createLogUser from "./log/fun/createLogUser"; import ViewEditProfile from "./profile/view/view_edit_profile"; import ViewProfile from "./profile/view/view_profile"; @@ -7,7 +6,6 @@ import { funGetAllmember } from './member/lib/api_member'; export { ViewProfile }; export { ViewEditProfile }; -export { apiUser }; export { createLogUser }; export type { TypeUser } export { funGetAllmember }