diff --git a/src/app/api/mobile/banner/[id]/route.ts b/src/app/api/mobile/banner/[id]/route.ts index 31e2136..e91ea4f 100644 --- a/src/app/api/mobile/banner/[id]/route.ts +++ b/src/app/api/mobile/banner/[id]/route.ts @@ -1,6 +1,6 @@ import { DIR, funDeleteFile, funUploadFile, prisma } from "@/module/_global"; -import { funGetUserByCookies } from "@/module/auth"; -import { createLogUser } from "@/module/user"; +import { funGetUserById } from "@/module/auth"; +import { createLogUserMobile } from "@/module/user"; import { NextResponse } from "next/server"; @@ -8,9 +8,12 @@ import { NextResponse } from "next/server"; export async function GET(request: Request, context: { params: { id: string } }) { try { const { id } = context.params; - const user = await funGetUserByCookies() - if (user.id == undefined) { - return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 401 }); + const { searchParams } = new URL(request.url); + const user = searchParams.get("user") + const userLogin = await funGetUserById({ id: String(user) }) + + if (userLogin.id == "null" || userLogin.id == undefined || userLogin.id == "") { + return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 200 }); } const data = await prisma.bannerImage.findUnique({ @@ -31,9 +34,10 @@ export async function GET(request: Request, context: { params: { id: string } }) export async function DELETE(request: Request, context: { params: { id: string } }) { try { const { id } = context.params; - const user = await funGetUserByCookies() - if (user.id == undefined) { - return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 401 }); + const { user } = (await request.json()); + const userLogin = await funGetUserById({ id: user }) + if (userLogin.id == "null" || userLogin.id == undefined || userLogin.id == "") { + return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 200 }); } const upd = await prisma.bannerImage.update({ @@ -47,7 +51,7 @@ export async function DELETE(request: Request, context: { params: { id: string } // create log user - const log = await createLogUser({ act: 'DELETE', desc: 'User menghapus banner', table: 'bannerImage', data: id }) + const log = await createLogUserMobile({ act: 'DELETE', desc: 'User menghapus banner', table: 'bannerImage', data: id, user: String(userLogin.id) }) return NextResponse.json({ success: true, message: "Berhasil menghapus banner" }, { status: 200 }); @@ -62,17 +66,18 @@ export async function DELETE(request: Request, context: { params: { id: string } export async function PUT(request: Request, context: { params: { id: string } }) { try { const { id } = context.params; - const user = await funGetUserByCookies() - if (user.id == undefined) { - return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 401 }); - } - const body = await request.formData() const file = body.get("file") as File const data = body.get("data") - const { title } = JSON.parse(data as string) + const { title, user } = JSON.parse(data as string) + const userLogin = await funGetUserById({ id: user }) + + if (userLogin.id == "null" || userLogin.id == undefined || userLogin.id == "") { + return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 200 }); + } + const upd = await prisma.bannerImage.update({ where: { id: String(id) @@ -102,7 +107,7 @@ export async function PUT(request: Request, context: { params: { id: string } }) } // create log user - const log = await createLogUser({ act: 'UPDATE', desc: 'User mengupdate data banner', table: 'bannerImage', data: user.id }) + const log = await createLogUserMobile({ act: 'UPDATE', desc: 'User mengupdate data banner', table: 'bannerImage', data: id, user: String(userLogin.id) }) return NextResponse.json({ success: true, message: "Berhasil mengupdate banner" }, { status: 200 }); diff --git a/src/app/api/mobile/banner/route.ts b/src/app/api/mobile/banner/route.ts index 9737ac1..160d4b6 100644 --- a/src/app/api/mobile/banner/route.ts +++ b/src/app/api/mobile/banner/route.ts @@ -1,6 +1,6 @@ -import { DIR, funUploadFile, funViewDir, prisma } from "@/module/_global"; +import { DIR, funUploadFile, prisma } from "@/module/_global"; import { funGetUserById } from "@/module/auth"; -import { createLogUser } from "@/module/user"; +import { createLogUserMobile } from "@/module/user"; import { NextResponse } from "next/server"; @@ -38,32 +38,22 @@ export async function GET(request: Request) { // CREATE BANNER export async function POST(request: Request) { try { - console.log('masuklas') - console.log(request) const body = await request.formData() - const fileAwal = body.get("file"); - const file = JSON.parse(fileAwal as string) - const fileFix = file as File - const fileCoba = new File([fileFix], fileFix.name, { type: fileFix.type}); + const file = body.get("file") as File; const data = body.get("data"); - console.log(body, fileCoba) - const { title, user } = JSON.parse(data as string) - - if (user == "null" || user == undefined || user == "") { - return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 401 }); - } - const userLogin = await funGetUserById({ id: user }) + if (userLogin.id == "null" || userLogin.id == undefined || userLogin.id == "") { + return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 200 }); + } - const fExt = fileCoba.name.split(".").pop() - const fName = fileCoba.name.replace("." + fExt, "") - const newFile = new File([fileCoba], fileCoba.name, { type: fileCoba.type }); - const ini = funViewDir({ dirId: DIR.user }) - const upload = await funUploadFile({ file: fileCoba, dirId: DIR.banner }) + const fExt = file.name.split(".").pop() + const newFile = new File([file], file.name, { type: file.type }); + + const upload = await funUploadFile({ file: newFile, dirId: DIR.banner }) if (upload.success) { const create = await prisma.bannerImage.create({ data: { @@ -71,12 +61,14 @@ export async function POST(request: Request) { idVillage: userLogin.idVillage, extension: String(fExt), image: upload.data.id + }, + select: { + id: true, } }) // create log user - const log = await createLogUser({ act: 'CREATE', desc: 'User menambah data banner baru', table: 'bannerImage', data: String(userLogin.id) }) - + const log = await createLogUserMobile({ act: 'CREATE', desc: 'User menambah data banner baru', table: 'bannerImage', data: String(create.id), user: String(userLogin.id) }) return Response.json({ success: true, message: 'Sukses menambah data banner' }, { status: 200 }); } else { return Response.json({ success: false, message: 'Gagal menambah data banner' }, { status: 200 });