From 695046583f8a481b763e2f7881bab3a4d580189b Mon Sep 17 00:00:00 2001 From: bagasbanuna Date: Tue, 9 Dec 2025 14:31:02 +0800 Subject: [PATCH 1/3] Fix API untuk QC: Ayu Fix: - modified: src/app/api/mobile/admin/collaboration/[id]/route.ts - modified: src/app/api/mobile/collaboration/route.ts - modified: src/app/api/mobile/voting/route.ts ### No Issue --- src/app/api/mobile/admin/collaboration/[id]/route.ts | 1 + src/app/api/mobile/collaboration/route.ts | 2 ++ src/app/api/mobile/voting/route.ts | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/src/app/api/mobile/admin/collaboration/[id]/route.ts b/src/app/api/mobile/admin/collaboration/[id]/route.ts index 11c30486..4f5cc6d7 100644 --- a/src/app/api/mobile/admin/collaboration/[id]/route.ts +++ b/src/app/api/mobile/admin/collaboration/[id]/route.ts @@ -78,6 +78,7 @@ async function GET(request: Request, { params }: { params: { id: string } }) { select: { User: { select: { + nomor: true, username: true, id: true, Profile: { diff --git a/src/app/api/mobile/collaboration/route.ts b/src/app/api/mobile/collaboration/route.ts index 9f8925ac..5290f94c 100644 --- a/src/app/api/mobile/collaboration/route.ts +++ b/src/app/api/mobile/collaboration/route.ts @@ -113,6 +113,7 @@ async function GET(request: Request) { Author: { select: { id: true, + username: true, Profile: true, }, }, @@ -141,6 +142,7 @@ async function GET(request: Request) { Author: { select: { id: true, + username: true, Profile: true, }, }, diff --git a/src/app/api/mobile/voting/route.ts b/src/app/api/mobile/voting/route.ts index e3231ad0..a7dc3f49 100644 --- a/src/app/api/mobile/voting/route.ts +++ b/src/app/api/mobile/voting/route.ts @@ -123,6 +123,10 @@ async function GET(request: Request) { }, }, }); + + fixData = data; + + } else if (category === "contribution") { const data = await prisma.voting_Kontributor.findMany({ orderBy: { From 2cdc57d8446c692358be2b7e2ae5d53d5e31bf6f Mon Sep 17 00:00:00 2001 From: bagasbanuna Date: Tue, 9 Dec 2025 17:33:33 +0800 Subject: [PATCH 2/3] chore(release): 1.5.25 --- CHANGELOG.md | 2 ++ package.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4f8c5cd..ba625cd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines. +## [1.5.25](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.24...v1.5.25) (2025-12-09) + ## [1.5.24](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.22...v1.5.24) (2025-12-08) ## [1.5.22](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.21...v1.5.22) (2025-12-03) diff --git a/package.json b/package.json index 24a1fe82..fc6d2eeb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hipmi", - "version": "1.5.24", + "version": "1.5.25", "private": true, "prisma": { "seed": "bun prisma/seed.ts" From b3410a5804492b7bcbab4dc417ea10e2f6662047 Mon Sep 17 00:00:00 2001 From: bagasbanuna Date: Tue, 9 Dec 2025 17:38:25 +0800 Subject: [PATCH 3/3] Fix API Mobile for QC: Ayu Fix: - modified: src/app/api/mobile/admin/forum/route.ts ### No Issue --- src/app/api/mobile/admin/forum/route.ts | 56 +++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/src/app/api/mobile/admin/forum/route.ts b/src/app/api/mobile/admin/forum/route.ts index bc7e02d2..881ce3ae 100644 --- a/src/app/api/mobile/admin/forum/route.ts +++ b/src/app/api/mobile/admin/forum/route.ts @@ -1,5 +1,6 @@ import { NextResponse } from "next/server"; import { prisma } from "@/lib"; +import _ from "lodash"; export { GET }; @@ -51,7 +52,7 @@ async function GET(request: Request, { params }: { params: { name: string } }) { reportComment, }; } else if (category === "posting") { - fixData = await prisma.forum_Posting.findMany({ + const data = await prisma.forum_Posting.findMany({ take: page ? takeData : undefined, skip: page ? skipData : undefined, orderBy: { @@ -75,10 +76,24 @@ async function GET(request: Request, { params }: { params: { name: string } }) { Profile: true, }, }, + _count: { + select: { + Forum_ReportPosting: true, + Forum_Komentar: true, + }, + }, }, }); + + fixData = data.map((item) => ({ + ..._.omit(item, "_count"), + reportPosting: item._count.Forum_ReportPosting, + komentar: item._count.Forum_Komentar, + })); + + console.log("fixData >>", fixData); } else if (category === "report_posting") { - fixData = await prisma.forum_ReportPosting.findMany({ + const data = await prisma.forum_ReportPosting.findMany({ take: page ? takeData : undefined, skip: page ? skipData : undefined, orderBy: { @@ -123,8 +138,25 @@ async function GET(request: Request, { params }: { params: { name: string } }) { }, }, }); + + const filterLatest = (data: any) => + Object.values( + data.reduce((acc: any, item: any) => { + const key = item.Forum_Posting?.id; + if (!key) return acc; + if ( + !acc[key] || + new Date(item.createdAt) > new Date(acc[key].createdAt) + ) { + acc[key] = item; + } + return acc; + }, {}) + ); + + fixData = filterLatest(data); } else if (category === "report_comment") { - fixData = await prisma.forum_ReportKomentar.findMany({ + const data = await prisma.forum_ReportKomentar.findMany({ take: page ? takeData : undefined, skip: page ? skipData : undefined, orderBy: { @@ -160,6 +192,23 @@ async function GET(request: Request, { params }: { params: { name: string } }) { }, }, }); + + const filterLatest = (data: any) => + Object.values( + data.reduce((acc: any, item: any) => { + const key = item.Forum_Komentar?.id; + if (!key) return acc; + if ( + !acc[key] || + new Date(item.createdAt) > new Date(acc[key].createdAt) + ) { + acc[key] = item; + } + return acc; + }, {}) + ); + + fixData = filterLatest(data); } else { return NextResponse.json( { @@ -171,7 +220,6 @@ async function GET(request: Request, { params }: { params: { name: string } }) { ); } - return NextResponse.json( { success: true,