From 85d13f766a91a59472188f284e82694a6af136ed Mon Sep 17 00:00:00 2001 From: amel Date: Fri, 16 May 2025 10:10:55 +0800 Subject: [PATCH] upd: api mobile Deskripsi: - test api mobile upload gambar banner - elysia No Issues --- .gitignore | 4 +- bun.lockb | Bin 291076 -> 301514 bytes package.json | 3 ++ .../api/mobile/project/[id]/lainnya/route.ts | 18 ++++--- src/app/api/v2/[[...slug]]/route.ts | 51 ++++++++++++++++++ src/app/api/v2/_test/route.ts | 18 +++++++ 6 files changed, 85 insertions(+), 9 deletions(-) create mode 100644 src/app/api/v2/[[...slug]]/route.ts create mode 100644 src/app/api/v2/_test/route.ts diff --git a/.gitignore b/.gitignore index f5d4bce..a82de76 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,6 @@ next-env.d.ts # folder foto kandidat /public/image/ /public/file/ -certificates \ No newline at end of file +certificates + +test.png \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 8c40967fb9704b2ac01de4779c6680db0e96fcbc..d7534ce5bf78c222000357455a7197aba06fab7b 100755 GIT binary patch delta 56385 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 P@^*Xwo88E&c}!_HsB6JRi;tKNa*i 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 diff --git a/package.json b/package.json index d32500b..888b6fa 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,8 @@ "seed": "npx tsx prisma/seed.ts" }, "dependencies": { + "@elysiajs/cors": "^1.3.1", + "@elysiajs/swagger": "^1.3.0", "@hookstate/core": "^4.0.1", "@hookstate/localstored": "^4.0.2", "@mantine/carousel": "^7.11.1", @@ -42,6 +44,7 @@ "dayjs": "^1.11.11", "echarts": "^5.5.1", "echarts-for-react": "^3.0.2", + "elysia": "^1.3.1", "embla-carousel-autoplay": "^7.1.0", "embla-carousel-react": "^7.1.0", "iron-session": "^8.0.2", diff --git a/src/app/api/mobile/project/[id]/lainnya/route.ts b/src/app/api/mobile/project/[id]/lainnya/route.ts index bf3f042..d6a8260 100644 --- a/src/app/api/mobile/project/[id]/lainnya/route.ts +++ b/src/app/api/mobile/project/[id]/lainnya/route.ts @@ -1,15 +1,17 @@ import { 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"; // HAPUS PROJECT YG TELAH DIBATALKAN export async function DELETE(request: Request, context: { params: { id: string } }) { try { - 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 userMobile = await funGetUserById({ id: String(user) }) + + if (userMobile.id == "null" || userMobile.id == undefined || userMobile.id == "") { + return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 200 }); } const { id } = context.params @@ -24,7 +26,7 @@ export async function DELETE(request: Request, context: { params: { id: string } { success: false, message: "Gagal mendapatkan kegiatan, data tidak ditemukan", }, - { status: 404 } + { status: 200 } ); } @@ -38,8 +40,8 @@ export async function DELETE(request: Request, context: { params: { id: string } }) // create log user - const log = await createLogUser({ act: 'DELETE', desc: 'User menghapus data kegiatan', table: 'project', data: String(id) }) - return NextResponse.json({ success: true, message: "Kegiatan berhasil dihapus", user: user.id }, { status: 200 }); + const log = await createLogUserMobile({ act: 'DELETE', desc: 'User menghapus data kegiatan', table: 'project', data: String(id), user: userMobile.id }) + return NextResponse.json({ success: true, message: "Kegiatan berhasil dihapus" }, { status: 200 }); } catch (error) { console.error(error); diff --git a/src/app/api/v2/[[...slug]]/route.ts b/src/app/api/v2/[[...slug]]/route.ts new file mode 100644 index 0000000..2274ed5 --- /dev/null +++ b/src/app/api/v2/[[...slug]]/route.ts @@ -0,0 +1,51 @@ +import Elysia from "elysia"; +import { swagger } from "@elysiajs/swagger"; +import { t } from "elysia"; +import fs from "fs/promises"; +import cors from "@elysiajs/cors"; +const Api = new Elysia({ + prefix: "/api/v2" +}) + .onError((c) => { + console.log(c) + return c + }) + // send a file + .post("/test", async (c) => { + try { + // const { file } = c.body + + console.log("terima file") + // const buffer = Buffer.from(await file.arrayBuffer()); + // await fs.writeFile("./test.png", buffer); + + return { + success: true, + message: "File uploaded successfully", + } + } catch (error) { + console.error(JSON.stringify(error)); + return { + success: false, + message: "File uploaded failed", + } + } + }, { + body: t.Object({ + name: t.String(), + file: t.File(), + }), + }) + +const ApiServer = new Elysia() + .use(cors({ + origin: "*", + methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"], + })) + .use(swagger({ + path: "/api/v2/docs" + })) + .use(Api) + +export const GET = ApiServer.handle +export const POST = ApiServer.handle \ No newline at end of file diff --git a/src/app/api/v2/_test/route.ts b/src/app/api/v2/_test/route.ts new file mode 100644 index 0000000..429642e --- /dev/null +++ b/src/app/api/v2/_test/route.ts @@ -0,0 +1,18 @@ +import { NextResponse } from "next/server"; +import fs from "fs/promises"; + +export const POST = async (request: Request) => { + try { + console.log("[POST]") + const formData = await request.formData() + // const file = formData.get("file") as File; + // const buffer = Buffer.from(await file.arrayBuffer()); + // await fs.writeFile("./test.png", buffer); + return NextResponse.json({ success: true, message: "Berhasil mendapatkan banner", data: "file" }, { status: 200 }); + } catch (error) { + console.error(error); + return NextResponse.json({ success: false, message: "Gagal menambahkan banner, coba lagi nanti (error: 500)", reason: (error as Error).message, }, { status: 500 }); + + } + +} \ No newline at end of file