- Remove jenisKelamin field from API, state, and UI components - Fix MigrasiPenduduk API to use null instead of undefined for optional fields - Update create/edit forms to properly handle asal/tujuan fields based on jenis - Fix DatePickerInput type handling with valueFormat prop - Update list page to display asal or tujuan conditionally - Add proper select statements in API responses - Fix TypeScript type errors in migrasi-penduduk module Closes: Schema mismatch causing errors when inputting migrasi penduduk data Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
import prisma from "@/lib/prisma";
|
|
import { Context } from "elysia";
|
|
|
|
type FormCreate = {
|
|
jenis: string;
|
|
nama: string;
|
|
tanggal: string;
|
|
asalTujuan: string;
|
|
alasan: string | null;
|
|
}
|
|
|
|
export default async function migrasiPendudukCreate(context: Context) {
|
|
const body = context.body as FormCreate;
|
|
|
|
const isMasuk = body.jenis === 'MASUK';
|
|
|
|
const created = await prisma.migrasiPenduduk.create({
|
|
data: {
|
|
jenis: body.jenis as 'MASUK' | 'KELUAR',
|
|
nama: body.nama,
|
|
tanggal: new Date(body.tanggal),
|
|
asal: isMasuk ? body.asalTujuan : null,
|
|
tujuan: !isMasuk ? body.asalTujuan : null,
|
|
alasan: body.alasan,
|
|
},
|
|
select: {
|
|
id: true,
|
|
jenis: true,
|
|
nama: true,
|
|
tanggal: true,
|
|
asal: true,
|
|
tujuan: true,
|
|
alasan: true,
|
|
}
|
|
});
|
|
return {
|
|
success: true,
|
|
message: "Sukses menambahkan migrasi penduduk",
|
|
data: created,
|
|
};
|
|
}
|