diff --git a/api.http b/api.http new file mode 100644 index 0000000..a3ab361 --- /dev/null +++ b/api.http @@ -0,0 +1,8 @@ +### +POST http://localhost:3000/api/auth/login/ HTTP/1.1 +Content-Type: application/json +{ + "id": "devLukman", + "phone": "6287701790942", + "email": "lukman@bip.com" +} \ No newline at end of file diff --git a/src/app/api/auth/login/route.ts b/src/app/api/auth/login/route.ts new file mode 100644 index 0000000..2432ae7 --- /dev/null +++ b/src/app/api/auth/login/route.ts @@ -0,0 +1,25 @@ +import prisma from "@/module/_global/bin/prisma"; +import { Login } from "@/types/auth/login"; +import { NextRequest } from "next/server"; + +export async function POST(req: NextRequest) { + const { email }: Login = await req.json(); + const user = await prisma.user.findUnique({ + where: { email, isActive: true }, + select: { id: true, phone: true }, + }); + + if (!user) { + return Response.json({ + success: false, + message: "Email atau Password salah", + }); + } + + return Response.json({ + success: true, + message: "Login Berhasil", + phone: user.phone, + id: user.id, + }); +} diff --git a/src/module/_global/bin/prisma.ts b/src/module/_global/bin/prisma.ts new file mode 100644 index 0000000..b9e55ff --- /dev/null +++ b/src/module/_global/bin/prisma.ts @@ -0,0 +1,17 @@ +import { PrismaClient } from '@prisma/client' + +const prismaClientSingleton = () => { + return new PrismaClient() +} + +type PrismaClientSingleton = ReturnType + +const globalForPrisma = globalThis as unknown as { + prisma: PrismaClientSingleton | undefined +} + +const prisma = globalForPrisma.prisma ?? prismaClientSingleton() + +export default prisma + +if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma \ No newline at end of file diff --git a/src/module/division_new/_division_fitur/discussion/component/drawer_list_discussion.tsx b/src/module/division_new/_division_fitur/discussion/component/drawer_list_discussion.tsx index 87c6d5f..767fae0 100644 --- a/src/module/division_new/_division_fitur/discussion/component/drawer_list_discussion.tsx +++ b/src/module/division_new/_division_fitur/discussion/component/drawer_list_discussion.tsx @@ -7,7 +7,7 @@ export default function DrawerListDiscussion() { window.location.href = "/discussion/create"} justify={'center'} align={'center'} direction={'column'} > diff --git a/src/module/division_new/_division_fitur/discussion/component/form_create_discussion.tsx b/src/module/division_new/_division_fitur/discussion/component/form_create_discussion.tsx index 8451623..d1354f2 100644 --- a/src/module/division_new/_division_fitur/discussion/component/form_create_discussion.tsx +++ b/src/module/division_new/_division_fitur/discussion/component/form_create_discussion.tsx @@ -18,27 +18,21 @@ export default function FormCreateDiscussion() { return ( - - -
- -
-
- - -