Fix QC Kak Inno Admin, Fix QC Keano UI User, Fix QC Pak jun tabel apbdes

This commit is contained in:
2025-11-12 17:42:31 +08:00
parent 417a8937f5
commit 9622eb5a9a
354 changed files with 11444 additions and 4012 deletions

View File

@@ -28,7 +28,7 @@ export default async function demografiPekerjaanCreate(context: Context) {
});
return {
success: true,
message: "Success create demografi pekerjaan",
message: "Sukses menambahkan demografi pekerjaan",
data: created,
};
}

View File

@@ -27,7 +27,7 @@ export default async function grafikJumlahPendudukMiskinCreate(
return {
success: true,
message: "Success create grafik jumlah penduduk miskin",
message: "Sukses menambahkan grafik jumlah penduduk miskin",
data: created,
};
}

View File

@@ -30,7 +30,7 @@ export default async function lowonganKerjaCreate(context: Context) {
return {
success: true,
message: "Success create lowongan kerja",
message: "Sukses menambahkan lowongan kerja",
data: lowonganKerja,
};
}

View File

@@ -61,7 +61,7 @@ export default async function pasarDesaCreate(context: Context) {
return {
success: true,
message: "Success create pasar desa",
message: "Sukses menambahkan pasar desa",
data: result,
};
} catch (error) {

View File

@@ -19,7 +19,7 @@ export default async function kategoriProdukCreate(context: Context) {
});
return {
success: true,
message: "Success create kategori produk",
message: "Sukses menambahkan kategori produk",
data: kategoriProduk
};
}

View File

@@ -25,7 +25,7 @@ const kategoriProdukDelete = async (context: Context) => {
return {
success: true,
message: "Success delete kategori produk",
message: "Sukses Menghapus kategori produk",
data: kategoriProduk,
}
}

View File

@@ -34,7 +34,7 @@ export default async function apbDesaCreate(context: Context) {
});
return {
success: true,
message: "Success create apb desa",
message: "Sukses menambahkan apb desa",
data: created,
};
}

View File

@@ -0,0 +1,67 @@
import prisma from "@/lib/prisma";
import { Context } from "elysia";
export default async function apbDesaFindFirst(context: Context) {
try {
// ambil id dari query (?id=xxx) atau dari params (/api/apb-desa/:id)
const id = context.query?.id || context.params?.id;
// kalau ada ID, cari berdasarkan ID
if (id) {
const data = await prisma.apbDesa.findUnique({
where: { id: String(id), isActive: true },
include: {
pendapatan: true,
belanja: true,
pembiayaan: true,
},
});
if (!data) {
return {
success: false,
message: "APB Desa not found",
data: null,
};
}
return {
success: true,
message: "Success fetch APB Desa by ID",
data,
};
}
// kalau tidak ada ID, ambil data paling baru
const data = await prisma.apbDesa.findFirst({
where: { isActive: true },
include: {
pendapatan: true,
belanja: true,
pembiayaan: true,
},
orderBy: { createdAt: "desc" },
});
if (!data) {
return {
success: false,
message: "No APB Desa data found",
data: null,
};
}
return {
success: true,
message: "Success fetch latest APB Desa",
data,
};
} catch (e) {
console.error("Error in apbDesaFindFirst:", e);
return {
success: false,
message: "Failed to fetch APB Desa data",
data: null,
};
}
}

View File

@@ -4,12 +4,14 @@ import apbDesaFindUnique from "./findUnique";
import apbDesaCreate from "./create";
import apbDesaDelete from "./del";
import apbDesaUpdate from "./updt";
import apbDesaFindFirst from "./findFirst";
const APBDesa = new Elysia({
prefix: "/apbdesa",
tags: ["Ekonomi/Pendapatan Asli Desa/APB Desa"],
})
.get("/find-many", apbDesaFindMany)
.get("/find-first", apbDesaFindFirst)
.get("/:id", async (context) => {
const response = await apbDesaFindUnique(new Request(context.request));
return response;

View File

@@ -22,7 +22,7 @@ export default async function belanjaCreate(context: Context) {
});
return {
success: true,
message: "Success create belanja",
message: "Sukses menambahkan belanja",
data: created,
};
}

View File

@@ -22,7 +22,7 @@ export default async function pembiayaanCreate(context: Context) {
});
return {
success: true,
message: "Success create pembiayaan",
message: "Sukses menambahkan pembiayaan",
data: created,
};
}

View File

@@ -23,7 +23,7 @@ export default async function pendapatanAsliCreate(context: Context) {
});
return {
success: true,
message: "Success create pendapatan asli desa",
message: "Sukses menambahkan pendapatan asli desa",
data: created,
};
}

View File

@@ -35,7 +35,7 @@ export default async function programKemiskinanCreate(context: Context) {
return {
success: true,
message: "Success create program kemiskinan dengan relasi statistik",
message: "Sukses menambahkan program kemiskinan dengan relasi statistik",
data: program,
};
}

View File

@@ -14,6 +14,6 @@ export default async function programKemiskinanDelete(context: Context) {
return {
status: 200,
success: true,
message: "Success delete program kemiskinan",
message: "Sukses Menghapus program kemiskinan",
};
}

View File

@@ -27,7 +27,7 @@ export default async function sektorUnggulanDesaCreate(context: Context) {
});
return {
success: true,
message: "Success create sektor unggulan desa",
message: "Sukses menambahkan sektor unggulan desa",
data: created,
};
}

View File

@@ -27,7 +27,7 @@ export default async function posisiOrganisasiCreate(context: Context) {
});
return {
success: true,
message: "Success create posisi organisasi",
message: "Sukses menambahkan posisi organisasi",
data: posisiOrganisasi
};
} catch (error) {

View File

@@ -30,7 +30,7 @@ export default async function grafikMenganggurBerdasarkanUsiaCreate(context: Con
});
return {
success: true,
message: "Success create grafik menganggur berdasarkan usia",
message: "Sukses menambahkan grafik menganggur berdasarkan usia",
data: created,
};
}

View File

@@ -33,7 +33,7 @@ export default async function grafikMenganggurBerdasarkanPendidikanCreate(contex
});
return {
success: true,
message: "Success create grafik menganggur berdasarkan pendidikan",
message: "Sukses menambahkan grafik menganggur berdasarkan pendidikan",
data: created,
};
}