From bc3f356e810bbb8e069eb3cf23bb1446019c9f61 Mon Sep 17 00:00:00 2001 From: amel Date: Mon, 29 Jul 2024 15:11:45 +0800 Subject: [PATCH 1/4] upd: log user Deskripsi: - membuat fungsi create log uer No Issues --- src/module/user/index.ts | 2 ++ src/module/user/log/fun/createLogUser.tsx | 25 +++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/module/user/log/fun/createLogUser.tsx diff --git a/src/module/user/index.ts b/src/module/user/index.ts index 014bb90..5750619 100644 --- a/src/module/user/index.ts +++ b/src/module/user/index.ts @@ -1,7 +1,9 @@ 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"; export { ViewProfile }; export { ViewEditProfile }; export { apiUser }; +export { createLogUser }; diff --git a/src/module/user/log/fun/createLogUser.tsx b/src/module/user/log/fun/createLogUser.tsx new file mode 100644 index 0000000..ac50290 --- /dev/null +++ b/src/module/user/log/fun/createLogUser.tsx @@ -0,0 +1,25 @@ +import { prisma } from "@/module/_global"; + +export default async function createLogUser({ act, desc, table, data }: { act: string, desc: string, table: string, data: string }) { + try { + + // diambil dari cookies + const user = 'devAmalia' + + await prisma.userLog.create({ + data: { + idUser: user, + action: act, + desc: desc, + idContent: data, + tbContent: table + } + }) + + return { success: true, message: "Success" } + + } catch (error) { + console.log(error) + return { success: false, message: "Internal Server Error" } + } +} \ No newline at end of file From f3c37386285f18f214f9ac6ee9ae25669dd9cc72 Mon Sep 17 00:00:00 2001 From: amel Date: Mon, 29 Jul 2024 15:13:47 +0800 Subject: [PATCH 2/4] upd:pengaplikasian api Deskripsi: - server action fungsi create log user pada fitur village No Issues --- src/module/village/api/api_index.ts | 2 -- src/module/village/api/post/createVillage.ts | 6 +++++- src/module/village/api/post/deleteVillage.ts | 7 ++++++- src/module/village/api/post/updateVillage.ts | 6 +++++- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/module/village/api/api_index.ts b/src/module/village/api/api_index.ts index 9fd6f2f..33484de 100644 --- a/src/module/village/api/api_index.ts +++ b/src/module/village/api/api_index.ts @@ -1,5 +1,3 @@ - - import { getAllVillage } from "./get/getAllVillage"; import { getOneVillage } from "./get/getOneVillage"; import { createVillage } from "./post/createVillage"; diff --git a/src/module/village/api/post/createVillage.ts b/src/module/village/api/post/createVillage.ts index 440e1c0..259b659 100644 --- a/src/module/village/api/post/createVillage.ts +++ b/src/module/village/api/post/createVillage.ts @@ -1,4 +1,5 @@ import { prisma } from "@/module/_global"; +import { createLogUser } from "@/module/user"; export async function createVillage(req: Request) { try { @@ -16,7 +17,10 @@ export async function createVillage(req: Request) { }, }); - return Response.json(village, { status: 201 }); + // create log user + const log = await createLogUser({ act: 'CREATE', desc: 'User membuat data desa baru', table: 'village', data: village.id }) + + return Response.json({ success: true, message: 'Sukses membuat desa baru' }, { status: 201 }); } catch (error) { console.error(error); return Response.json({ success: false, message: "Internal Server Error" }, { status: 500 }); diff --git a/src/module/village/api/post/deleteVillage.ts b/src/module/village/api/post/deleteVillage.ts index a89808f..510c6d1 100644 --- a/src/module/village/api/post/deleteVillage.ts +++ b/src/module/village/api/post/deleteVillage.ts @@ -1,4 +1,5 @@ import { prisma } from "@/module/_global"; +import { createLogUser } from "@/module/user"; export async function deleteVillage(req: Request) { try { @@ -11,8 +12,12 @@ export async function deleteVillage(req: Request) { isActive: false, }, }); + + // create log user + const log = await createLogUser({ act: 'DELETE', desc: 'User menghapus data desa', table: 'village', data: data.id }) + return Response.json( - { success: true, message: "Sukses Delete Village" }, + { success: true, message: "Sukses menghapus data desa" }, { status: 200 } ); } catch (error) { diff --git a/src/module/village/api/post/updateVillage.ts b/src/module/village/api/post/updateVillage.ts index 4f229b6..1e8f22e 100644 --- a/src/module/village/api/post/updateVillage.ts +++ b/src/module/village/api/post/updateVillage.ts @@ -1,4 +1,5 @@ import { prisma } from "@/module/_global"; +import { createLogUser } from "@/module/user"; export async function updateVillage(req: Request) { try { @@ -14,8 +15,11 @@ export async function updateVillage(req: Request) { }, }); + // create log user + const log = await createLogUser({ act: 'UPDATE', desc: 'User mengupdate data desa baru', table: 'village', data: data.id }) + return Response.json( - { success: true, message: "Sukses Update Village" }, + { success: true, message: "Sukses edit desa" }, { status: 200 } ); } catch (error) { From f546570a0955e497bd7c634fccb21855265ec8c4 Mon Sep 17 00:00:00 2001 From: amel Date: Mon, 29 Jul 2024 15:26:33 +0800 Subject: [PATCH 3/4] upd: database Deskripsi: - typo nama table No Issues --- prisma/schema.prisma | 18 +++++++++--------- .../api/post/createAnnouncement.ts | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 894fd66..ad0e0af 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -32,7 +32,7 @@ model Village { updatedAt DateTime @updatedAt Group Group[] User User[] - Annoucement Annoucement[] + Announcement Announcement[] Project Project[] Division Division[] } @@ -49,7 +49,7 @@ model Group { User User[] Project Project[] Division Division[] - AnnoucementMember AnnoucementMember[] + AnnouncementMember AnnouncementMember[] } model Position { @@ -81,7 +81,7 @@ model User { isActive Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt - Annoucement Annoucement[] + Announcement Announcement[] Project Project[] ProjectMember ProjectMember[] ProjectComment ProjectComment[] @@ -109,7 +109,7 @@ model UserLog { updatedAt DateTime @updatedAt } -model Annoucement { +model Announcement { id String @id @default(cuid()) Village Village @relation(fields: [idVillage], references: [id]) idVillage String @@ -120,13 +120,13 @@ model Annoucement { createdBy String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt - AnnoucementMember AnnoucementMember[] + AnnouncementMember AnnouncementMember[] } -model AnnoucementMember { +model AnnouncementMember { id String @id @default(cuid()) - Annoucement Annoucement @relation(fields: [idAnnoucement], references: [id]) - idAnnoucement String + Announcement Announcement @relation(fields: [idAnnouncement], references: [id]) + idAnnouncement String Group Group @relation(fields: [idGroup], references: [id]) idGroup String Division Division @relation(fields: [idDivision], references: [id]) @@ -203,7 +203,7 @@ model Division { createdAt DateTime @default(now()) updatedAt DateTime @updatedAt DivisionMember DivisionMember[] - AnnoucementMember AnnoucementMember[] + AnnouncementMember AnnouncementMember[] DivisionProject DivisionProject[] DivisionProjectTask DivisionProjectTask[] DivisionProjectMember DivisionProjectMember[] diff --git a/src/module/announcement/api/post/createAnnouncement.ts b/src/module/announcement/api/post/createAnnouncement.ts index 7b66ae4..039986b 100644 --- a/src/module/announcement/api/post/createAnnouncement.ts +++ b/src/module/announcement/api/post/createAnnouncement.ts @@ -4,7 +4,7 @@ import { NextRequest } from "next/server"; export async function createAnnouncement(req: NextRequest) { try { const data = await req.json(); - const announcement = await prisma.annoucement.create({ + const announcement = await prisma.announcement.create({ data: { title: data.title, desc: data.desc, @@ -26,7 +26,7 @@ export async function createAnnouncement(req: NextRequest) { isActive: true, })); - const announcementMember = await prisma.annoucementMember.createMany({ + const announcementMember = await prisma.announcementMember.createMany({ data: dataMember, }); From dd1defcf7584d2a017cb14e9bd0c2f3ff49005eb Mon Sep 17 00:00:00 2001 From: amel Date: Mon, 29 Jul 2024 15:36:30 +0800 Subject: [PATCH 4/4] upd: log user page user Deskripsi: - pengaplikasian log user pada user No Issues --- src/module/user/api/post/createUser.ts | 7 ++++++- src/module/user/api/post/deleteUser.ts | 4 ++++ src/module/user/api/post/updateUser.ts | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/module/user/api/post/createUser.ts b/src/module/user/api/post/createUser.ts index 4067556..a6c6e57 100644 --- a/src/module/user/api/post/createUser.ts +++ b/src/module/user/api/post/createUser.ts @@ -1,3 +1,4 @@ +import { createLogUser } from '@/module/user'; import { prisma } from "@/module/_global"; import { NextRequest } from "next/server"; @@ -27,7 +28,11 @@ export async function createUser(req: NextRequest) { }, }); - return Response.json(users, { status: 200 }); + // 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 }); + } 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 index 8f3097e..5ea84d3 100644 --- a/src/module/user/api/post/deleteUser.ts +++ b/src/module/user/api/post/deleteUser.ts @@ -1,3 +1,4 @@ +import { createLogUser } from '@/module/user'; import { prisma } from "@/module/_global"; import { NextRequest } from "next/server"; @@ -13,6 +14,9 @@ export async function deleteUser(req: NextRequest) { }, }); + // 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 } diff --git a/src/module/user/api/post/updateUser.ts b/src/module/user/api/post/updateUser.ts index a16c0e0..4463f0e 100644 --- a/src/module/user/api/post/updateUser.ts +++ b/src/module/user/api/post/updateUser.ts @@ -1,3 +1,4 @@ +import { createLogUser } from '@/module/user'; import { prisma } from "@/module/_global"; import { NextRequest } from "next/server"; @@ -22,6 +23,9 @@ export async function updateUser(req: NextRequest) { }, }); + // 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 }