refactor(kependudukan): improve TypeScript types and clean up code

- Add proper TypeScript interfaces for seeder files
- Rename MigrasiPendudukForm interface for consistency
- Separate asal/tujuan fields in MigrasiPenduduk API based on jenis
- Remove unnecessary eslint-disable comments
- Add local type definitions for public kependudukan pages
- Clean up unused imports (React, Flex, IconBuilding)
- Improve type safety in form handlers (handleChangeText vs handleChangeSelect)
- Add explicit type casting where needed to fix type errors

Co-authored-by: Qwen Code

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
2026-04-13 15:00:33 +08:00
parent d84edc44f5
commit 80186bf493
28 changed files with 213 additions and 134 deletions

View File

@@ -1,8 +1,28 @@
import prisma from "@/lib/prisma";
import { loadJsonData } from "../../load-json";
const posisiOrganisasiBumDes = loadJsonData("ekonomi/struktur-organisasi/posisi-organisasi-bumdes.json");
const pegawai = loadJsonData("ekonomi/struktur-organisasi/pegawai-bumdes.json");
interface PosisiOrganisasi {
id: string;
nama: string;
deskripsi: string;
hierarki: number;
parentId: string | null;
}
interface PegawaiBumDes {
id: string;
namaLengkap: string;
gelarAkademik: string;
tanggalMasuk: string;
email: string;
telepon: string;
alamat: string;
posisiId: string;
isActive: boolean;
}
const posisiOrganisasiBumDes = loadJsonData<PosisiOrganisasi[][]>("ekonomi/struktur-organisasi/posisi-organisasi-bumdes.json");
const pegawai = loadJsonData<PegawaiBumDes[]>("ekonomi/struktur-organisasi/pegawai-bumdes.json");
export async function seedStrukturBumdes() {
const flattenedPosisi = posisiOrganisasiBumDes.flat();

View File

@@ -1,8 +1,29 @@
import prisma from "@/lib/prisma";
import { loadJsonData } from "../../../load-json";
const pegawaiPpid = loadJsonData("ppid/struktur-ppid/pegawai-PPID.json");
const posisiOrganisasiPPID = loadJsonData("ppid/struktur-ppid/posisi-organisasi-PPID.json");
interface PegawaiPPID {
id: string;
namaLengkap: string;
gelarAkademik: string;
tanggalMasuk: string;
email: string;
telepon: string;
alamat: string;
imageName?: string;
posisiId: string;
isActive: boolean;
}
interface PosisiOrganisasiPPID {
id: string;
nama: string;
deskripsi: string;
hierarki: number;
parentId: string | null;
}
const pegawaiPpid = loadJsonData<PegawaiPPID[]>("ppid/struktur-ppid/pegawai-PPID.json");
const posisiOrganisasiPPID = loadJsonData<PosisiOrganisasiPPID[][]>("ppid/struktur-ppid/posisi-organisasi-PPID.json");
export async function seedPegawaiPpid() {