Compare commits

..

4 Commits

Author SHA1 Message Date
d1f553ee32 upd: api noc 2026-03-25 17:02:26 +08:00
b14ae8e5ff Merge pull request 'upd: api version' (#26) from amalia/16-mar-26 into join
Reviewed-on: #26
2026-03-16 16:13:58 +08:00
270875a95c upd: api version 2026-03-16 10:39:23 +08:00
09bd75d5e5 Merge pull request 'upd: api noc' (#25) from amalia/12-mar-26 into join
Reviewed-on: #25
2026-03-12 16:11:03 +08:00
2 changed files with 13 additions and 13 deletions

View File

@@ -84,13 +84,13 @@ const NocServer = new Elysia({ prefix: "/api/noc" })
// Hitung total kegiatan per divisi & urutkan descending, ambil top sesuai limit
const ranked = divisions
.map((d) => ({
.map((d: any) => ({
id: d.id,
division: d.name,
group: d.Group.name,
totalKegiatan: d._count.DivisionProject
}))
.sort((a, b) => b.totalKegiatan - a.totalKegiatan)
.sort((a: any, b: any) => b.totalKegiatan - a.totalKegiatan)
.slice(0, maxResults);
return {
@@ -119,7 +119,7 @@ const NocServer = new Elysia({ prefix: "/api/noc" })
}),
detail: {
summary: "Divisi Teraktif",
description: "Mendapatkan daftar divisi teraktif berdasarkan jumlah proyek pada desa tertentu.",
description: "Menu Beranda - Mendapatkan daftar divisi teraktif berdasarkan jumlah proyek pada desa tertentu.",
tags: ["NOC"],
},
}
@@ -187,7 +187,7 @@ const NocServer = new Elysia({ prefix: "/api/noc" })
take: maxResults,
});
const mapped = projects.map((p) => ({
const mapped = projects.map((p: any) => ({
id: p.id,
title: p.title,
status: p.status,
@@ -226,7 +226,7 @@ const NocServer = new Elysia({ prefix: "/api/noc" })
}),
detail: {
summary: "Latest Projects General",
description: "Mendapatkan daftar proyek umum terbaru dari berbagai grup pada desa tertentu.",
description: "Menu kinerja divisi - Mendapatkan daftar proyek umum terbaru dari berbagai grup pada desa tertentu.",
tags: ["NOC"],
},
}
@@ -336,8 +336,8 @@ const NocServer = new Elysia({ prefix: "/api/noc" })
},
});
const todayEvents = events.filter(e => moment(e.dateStart).isSame(todayMoment, 'day')).map(mapper);
const upcomingEvents = events.filter(e => moment(e.dateStart).isAfter(todayMoment, 'day')).map(mapper);
const todayEvents = events.filter((e: any) => moment(e.dateStart).isSame(todayMoment, 'day')).map(mapper);
const upcomingEvents = events.filter((e: any) => moment(e.dateStart).isAfter(todayMoment, 'day')).map(mapper);
let data: any = {
idDesa: village.id,
@@ -380,7 +380,7 @@ const NocServer = new Elysia({ prefix: "/api/noc" })
}),
detail: {
summary: "Events (Today & Upcoming)",
description: "Mendapatkan daftar event pada hari ini dan yang akan datang untuk semua divisi pada desa tertentu.",
description: "Menu beranda dan kinerja divisi - Mendapatkan daftar event pada hari ini dan yang akan datang untuk semua divisi pada desa tertentu.",
tags: ["NOC"],
},
}
@@ -489,7 +489,7 @@ const NocServer = new Elysia({ prefix: "/api/noc" })
}),
detail: {
summary: "Diagram Jumlah Document",
description: "Mendapatkan diagram jumlah document pada desa tertentu.",
description: "Menu kinerja divisi - Mendapatkan diagram jumlah document pada desa tertentu.",
tags: ["NOC"],
},
}
@@ -543,7 +543,7 @@ const NocServer = new Elysia({ prefix: "/api/noc" })
for (let index = 0; index < dataStatus.length; index++) {
const cek = data.some((i: any) => i.status == dataStatus[index].status)
if (cek) {
const find = ((Number(data.find((i: any) => i.status == dataStatus[index].status)?._count) * 100) / data.reduce((n, { _count }) => n + _count, 0)).toFixed(2)
const find = ((Number(data.find((i: any) => i.status == dataStatus[index].status)?._count) * 100) / data.reduce((n: any, { _count }: any) => n + _count, 0)).toFixed(2)
const fix = find != "100.00" ? find.substr(-2, 2) == "00" ? find.substr(0, 2) : find : "100"
input = {
text: fix + '%',
@@ -581,7 +581,7 @@ const NocServer = new Elysia({ prefix: "/api/noc" })
}),
detail: {
summary: "Diagram Progres Kegiatan",
description: "Mendapatkan diagram progres kegiatan pada desa tertentu.",
description: "Menu kinerja divisi - Mendapatkan diagram progres kegiatan pada desa tertentu.",
tags: ["NOC"],
},
}
@@ -676,7 +676,7 @@ const NocServer = new Elysia({ prefix: "/api/noc" })
}),
detail: {
summary: "Latest Discussion",
description: "Mendapatkan latest discussion pada desa tertentu.",
description: "Menu kinerja divisi - Mendapatkan latest discussion pada desa tertentu.",
tags: ["NOC"],
},
}

View File

@@ -2,7 +2,7 @@ import { NextResponse } from "next/server";
export async function GET(request: Request) {
try {
return NextResponse.json({ success: true, version: "2.1.6", tahap: "beta", update: "-revisi api mobile pengumuman, diskusi umum dan diskusi divisi; -ditambah kan file " }, { status: 200 });
return NextResponse.json({ success: true, version: "2.1.7", tahap: "beta", update: "-api untuk dashboard noc" }, { 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 });