From dfa7b571f1268256a96dc1bc16a4aecf0cac58a9 Mon Sep 17 00:00:00 2001 From: amal Date: Tue, 2 Sep 2025 14:38:32 +0800 Subject: [PATCH] upd: login tanpa otp Deskripsi: - struktur db - update api - update api version app No Issues --- prisma/schema.prisma | 29 +++++++++++++++-------------- src/app/api/auth/login/route.ts | 3 ++- src/app/api/version-app/route.ts | 2 +- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index eba8a9d..dacd4ca 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -107,6 +107,7 @@ model User { gender String @default("M") //M= Male, F= Female img String? isFirstLogin Boolean @default(true) + isWithoutOTP Boolean @default(false) isActive Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@ -338,20 +339,20 @@ model DivisionProjectLink { } model DivisionProjectTask { - id String @id @default(cuid()) - Division Division @relation(fields: [idDivision], references: [id]) - idDivision String - DivisionProject DivisionProject @relation(fields: [idProject], references: [id]) - idProject String - title String - desc String? @db.Text - status Int @default(0) // 0 = todo, 1 = done - notifikasi Boolean @default(false) - dateStart DateTime @db.Date - dateEnd DateTime @db.Date - isActive Boolean @default(true) - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + id String @id @default(cuid()) + Division Division @relation(fields: [idDivision], references: [id]) + idDivision String + DivisionProject DivisionProject @relation(fields: [idProject], references: [id]) + idProject String + title String + desc String? @db.Text + status Int @default(0) // 0 = todo, 1 = done + notifikasi Boolean @default(false) + dateStart DateTime @db.Date + dateEnd DateTime @db.Date + isActive Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt DivisionProjectTaskDetail DivisionProjectTaskDetail[] } diff --git a/src/app/api/auth/login/route.ts b/src/app/api/auth/login/route.ts index a4f7447..63bf431 100644 --- a/src/app/api/auth/login/route.ts +++ b/src/app/api/auth/login/route.ts @@ -7,7 +7,7 @@ export async function POST(req: NextRequest) { const { phone }: ILogin = await req.json(); const user = await prisma.user.findUnique({ where: { phone, isActive: true }, - select: { id: true, phone: true }, + select: { id: true, phone: true, isWithoutOTP: true }, }); if (!user) { @@ -21,6 +21,7 @@ export async function POST(req: NextRequest) { success: true, message: "Sukses", phone: user.phone, + isWithoutOTP: user.isWithoutOTP, id: user.id, }); diff --git a/src/app/api/version-app/route.ts b/src/app/api/version-app/route.ts index 5db92a8..92ada2d 100644 --- a/src/app/api/version-app/route.ts +++ b/src/app/api/version-app/route.ts @@ -2,7 +2,7 @@ import { NextResponse } from "next/server"; export async function GET(request: Request) { try { - return NextResponse.json({ success: true, version: "1.7.9", tahap: "beta", update: "-api mobile; -tambah laporan pada project dan tugas divisi; -tambah upload link pada project dan tugas divisi; -tambah detail tanggal dan jam pada project dan tugas divisi" }, { status: 200 }); + return NextResponse.json({ success: true, version: "1.8.0", tahap: "beta", update: "-api mobile; -login tanpa otp (mobile app); -tambah laporan pada project dan tugas divisi; -tambah upload link pada project dan tugas divisi; -tambah detail tanggal dan jam pada project dan tugas divisi" }, { status: 200 }); } catch (error) { console.error(error); return NextResponse.json({ success: false, version: "Gagal mendapatkan version, coba lagi nanti (error: 500)", reason: (error as Error).message, }, { status: 500 });