From 83085418eda0b54ef69de139b89e93714950cbcb Mon Sep 17 00:00:00 2001 From: amal Date: Tue, 16 Sep 2025 14:23:15 +0800 Subject: [PATCH] upd: pengumuman deskripsiL : - update api ai pengumuman No Issues --- src/app/api/ai/announcement/route.ts | 36 +++++++++++++--------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/app/api/ai/announcement/route.ts b/src/app/api/ai/announcement/route.ts index 15b27db..a4a1d4a 100644 --- a/src/app/api/ai/announcement/route.ts +++ b/src/app/api/ai/announcement/route.ts @@ -1,6 +1,5 @@ import { prisma } from "@/module/_global"; import _ from "lodash"; -import moment from "moment"; import "moment/locale/id"; import { NextResponse } from "next/server"; export const dynamic = 'force-dynamic' @@ -11,42 +10,41 @@ export const dynamic = 'force-dynamic' export async function GET(request: Request) { try { const { searchParams } = new URL(request.url); - const judul = searchParams.get('q'); - const page = searchParams.get('p'); + const judul = searchParams.get('search'); + const page = searchParams.get('page'); const get = searchParams.get('get'); const villageId = searchParams.get('desa'); - const dataSkip = page == null || page == undefined ? 0 : Number(page) * 10 - 10; + const active = searchParams.get('active'); + + let getFix = 0; + if (get == null || get == undefined || get == "" || _.isNaN(Number(get))) { + getFix = 10; + } else { + getFix = Number(get); + } + + const dataSkip = page == null || page == undefined ? 0 : Number(page) * getFix - getFix; + let kondisi: any = { idVillage: String(villageId), - isActive: true, + isActive: (active == "false" || active == undefined) ? false : true, title: { contains: (judul == undefined || judul == null) ? "" : judul, mode: "insensitive" } } - const announcements = await prisma.announcement.findMany({ + const data = await prisma.announcement.findMany({ skip: dataSkip, - take: (get == null || get == undefined || get == "" || _.isNaN(Number(get))) ? 10 : Number(get), + take: getFix, where: kondisi, - select: { - id: true, - title: true, - desc: true, - createdAt: true, - }, orderBy: { createdAt: 'desc' } }); - const allData = announcements.map((v: any) => ({ - ..._.omit(v, ["createdAt"]), - createdAt: moment(v.createdAt).format("ll") - })) - - return NextResponse.json({ success: true, message: "Berhasil mendapatkan pengumuman", data: allData, }, { status: 200 }); + return NextResponse.json({ success: true, message: "Berhasil mendapatkan pengumuman", data, }, { status: 200 }); } catch (error) { console.error(error); return NextResponse.json({ success: false, message: "Gagal mendapatkan pengumuman, coba lagi nanti (error: 500)", reason: (error as Error).message, }, { status: 500 });