From daa5d87b0238c9ab93e8005f44337cb4954aecfa Mon Sep 17 00:00:00 2001 From: amel Date: Tue, 10 Sep 2024 11:27:47 +0800 Subject: [PATCH] upd: diskusi Deskripsi: - pembatasan user role - log user No Issues --- src/app/api/discussion/[id]/comment/route.ts | 9 ++++++++- src/app/api/discussion/[id]/route.ts | 14 ++++++++++++-- src/app/api/discussion/route.ts | 7 +++++++ src/module/discussion/ui/detail_discussion.tsx | 16 +++++++++++----- 4 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/app/api/discussion/[id]/comment/route.ts b/src/app/api/discussion/[id]/comment/route.ts index 13089aa..338ef78 100644 --- a/src/app/api/discussion/[id]/comment/route.ts +++ b/src/app/api/discussion/[id]/comment/route.ts @@ -1,8 +1,9 @@ import { prisma } from "@/module/_global"; import { funGetUserByCookies } from "@/module/auth"; +import { createLogUser } from "@/module/user"; import { NextResponse } from "next/server"; -// CREATE COMENT BY ID +// CREATE COMENT BY ID KOMENTAR export async function POST(request: Request, context: { params: { id: string } }) { try { const user = await funGetUserByCookies() @@ -34,9 +35,15 @@ export async function POST(request: Request, context: { params: { id: string } } comment: comment, idDisscussion: id, createdBy: user.id + }, + select: { + id: true } }) + // create log user + const log = await createLogUser({ act: 'CREATE', desc: 'User menambah komentar pada diskusi', table: 'divisionDisscussionComment', data: data.id }) + return NextResponse.json({ success: true, message: "Berhasil menambah komentar", data: data, }, { status: 200 }); } catch (error) { diff --git a/src/app/api/discussion/[id]/route.ts b/src/app/api/discussion/[id]/route.ts index 00d0936..bbd9246 100644 --- a/src/app/api/discussion/[id]/route.ts +++ b/src/app/api/discussion/[id]/route.ts @@ -1,6 +1,6 @@ import { prisma } from "@/module/_global"; import { funGetUserByCookies } from "@/module/auth"; -import { stat } from "fs"; +import { createLogUser } from "@/module/user"; import _ from "lodash"; import moment from "moment"; import "moment/locale/id"; @@ -95,7 +95,7 @@ export async function GET(request: Request, context: { params: { id: string } }) } -// ONE OR CLOSE DISCUSSION +// OPEN OR CLOSE DISCUSSION export async function DELETE(request: Request, context: { params: { id: string } }) { try { const user = await funGetUserByCookies() @@ -131,6 +131,10 @@ export async function DELETE(request: Request, context: { params: { id: string } status: newStatus } }); + + // create log user + const log = await createLogUser({ act: 'UPDATE', desc: 'User mengupdate status diskusi', table: 'divisionDisscussion', data: id }) + return NextResponse.json({ success: true, message: "Berhasil mengedit diskusi" }, { status: 200 }); } catch (error) { @@ -167,6 +171,9 @@ export async function PUT(request: Request, context: { params: { id: string } }) isActive: false } }); + // create log user + const log = await createLogUser({ act: 'DELETE', desc: 'User menghapus data diskusi', table: 'divisionDisscussion', data: id }) + return NextResponse.json({ success: true, message: "Berhasil menghapus diskusi" }, { status: 200 }); } catch (error) { console.error(error); @@ -203,6 +210,9 @@ export async function POST(request: Request, context: { params: { id: string } } desc: desc } }); + + // create log user + const log = await createLogUser({ act: 'UPDATE', desc: 'User mengupdate data diskusi', table: 'divisionDisscussion', data: id }) return NextResponse.json({ success: true, message: "Berhasil mengedit diskusi" }, { status: 200 }); } catch (error) { diff --git a/src/app/api/discussion/route.ts b/src/app/api/discussion/route.ts index 46e9be1..c00992d 100644 --- a/src/app/api/discussion/route.ts +++ b/src/app/api/discussion/route.ts @@ -4,6 +4,7 @@ import _ from "lodash"; import moment from "moment"; import { NextResponse } from "next/server"; import "moment/locale/id"; +import { createLogUser } from "@/module/user"; // GET ALL DISCUSSION DIVISION ACTIVE = TRUE @@ -116,8 +117,14 @@ export async function POST(request: Request) { desc, createdBy: user.id }, + select: { + id: true + } }); + // create log user + const log = await createLogUser({ act: 'CREATE', desc: 'User membuat data diskusi', table: 'divisionDisscussion', data: data.id }) + return NextResponse.json({ success: true, message: "Berhasil menambahkan diskusi", data, }, { status: 200 }); } catch (error) { console.error(error); diff --git a/src/module/discussion/ui/detail_discussion.tsx b/src/module/discussion/ui/detail_discussion.tsx index ee87f58..d92d028 100644 --- a/src/module/discussion/ui/detail_discussion.tsx +++ b/src/module/discussion/ui/detail_discussion.tsx @@ -52,19 +52,25 @@ export default function DetailDiscussion({ id, idDivision }: { id: string, idDiv getData() }, [refresh.get()]) + async function reloadData() { + try { + const response = await funGetDiscussionById(id) + setData(response.data) + } catch (error) { + console.error(error) + } + } + const sendComent = async () => { try { if (isComent.trim() == "") { return toast.error("Masukkan Komentar Anda") } - const response = await funCreateComent(id, { - comment: isComent, - idDiscussion: param.detail - }) + const response = await funCreateComent(id, { comment: isComent, idDiscussion: param.detail }) if (response.success) { setIsComent("") - getData() + reloadData() } else { toast.error(response.message) }