<?php

namespace Database\Seeders;

use App\Models\UnitKerja;
use Illuminate\Database\Seeder;

class UnitKerjaSeeder extends Seeder
{
    public const PERANGKAT_DAERAH = [
        'Sekretariat Daerah',
        'Sekretariat DPRD',
        'Inspektorat Daerah',
        'Badan Kepegawaian dan Pengembangan Sumber Daya Manusia',
        'Badan Perencanaan Pembangunan Daerah',
        'Badan Pengelolaan Keuangan dan Aset Daerah',
        'Badan Pendapatan Daerah',
        'Badan Kesatuan Bangsa dan Politik',
        'Badan Penanggulangan Bencana Daerah',
        'Dinas Pendidikan',
        'Dinas Kesehatan',
        'Dinas Pekerjaan Umum',
        'Dinas Perumahan dan Kawasan Permukiman',
        'Dinas Sosial',
        'Dinas Tenaga Kerja dan Transmigrasi',
        'Dinas Perhubungan',
        'Dinas Komunikasi Informatika dan Persandian',
        'Dinas Kependudukan dan Pencatatan Sipil',
        'Dinas Penanaman Modal dan Pelayanan Terpadu Satu Pintu',
        'Dinas Koperasi Usaha Kecil dan Menengah',
        'Dinas Perdagangan dan Perindustrian',
        'Dinas Pertanian',
        'Dinas Ketahanan Pangan',
        'Dinas Peternakan',
        'Dinas Perikanan',
        'Dinas Lingkungan Hidup',
        'Dinas Kehutanan',
        'Dinas Pariwisata',
        'Dinas Kebudayaan Pemuda dan Olahraga',
        'Dinas Perpustakaan dan Kearsipan',
        'Dinas Pemberdayaan Masyarakat dan Desa',
        'Dinas Pengendalian Penduduk dan Keluarga Berencana',
        'Dinas Pemberdayaan Perempuan dan Perlindungan Anak',
        'Satuan Polisi Pamong Praja',
        'Rumah Sakit Umum Daerah Sekarwangi',
        'Rumah Sakit Umum Daerah Palabuhanratu',
    ];

    public const KECAMATAN = [
        'Bantargadung', 'Bojonggenteng', 'Caringin', 'Ciambar', 'Cibadak', 'Cibitung',
        'Cicantayan', 'Cicurug', 'Cidadap', 'Cidahu', 'Cidolog', 'Ciemas', 'Cikakak',
        'Cikembar', 'Cikidang', 'Cimanggu', 'Ciracap', 'Cireunghas', 'Cisaat', 'Cisolok',
        'Curugkembar', 'Gegerbitung', 'Gunungguruh', 'Jampangkulon', 'Jampangtengah',
        'Kabandungan', 'Kadudampit', 'Kalapanunggal', 'Kalibunder', 'Kebonpedes',
        'Lengkong', 'Nagrak', 'Nyalindung', 'Pabuaran', 'Palabuhanratu', 'Parakansalak',
        'Parungkuda', 'Purabaya', 'Sagaranten', 'Simpenan', 'Sukabumi', 'Sukalarang',
        'Sukaraja', 'Surade', 'Tegalbuleud', 'Waluran', 'Warungkiara',
    ];

    public function run(): void
    {
        $units = array_merge(
            self::PERANGKAT_DAERAH,
            array_map(fn (string $name) => 'Kecamatan ' . $name, self::KECAMATAN)
        );

        foreach ($units as $namaUnit) {
            UnitKerja::updateOrCreate(['nama_unit' => $namaUnit]);
        }
    }
}
