import { json } from '@sveltejs/kit';
import type { RequestHandler } from './$types';
import { getKelurahanByKecamatan, hasKodeposData } from '$lib/server/referensi';

export const GET: RequestHandler = async ({ url }) => {
	const provinsi = url.searchParams.get('provinsi')?.trim();
	const kabupaten = url.searchParams.get('kabupaten')?.trim();
	const kecamatan = url.searchParams.get('kecamatan')?.trim();

	if (!provinsi || !kabupaten || !kecamatan) {
		return json(
			{ success: false, message: 'Parameter provinsi, kabupaten, dan kecamatan wajib diisi.' },
			{ status: 400 }
		);
	}

	if (!(await hasKodeposData())) {
		return json(
			{ success: false, message: 'Data kodepos belum diimpor. Jalankan: npm run db:kodepos' },
			{ status: 503 }
		);
	}

	try {
		const data = await getKelurahanByKecamatan(provinsi, kabupaten, kecamatan);
		return json({ success: true, data });
	} catch {
		return json({ success: false, message: 'Gagal mengambil data kelurahan/kodepos.' }, { status: 500 });
	}
};
