<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class SuratUtama extends Model
{
    use HasFactory;

    protected $table = 'surat_utama'; // Pastikan nama tabel sesuai

    protected $fillable = [
        'nomor_surat',
        'id_tipe_surat',
        'tanggal_pengajuan',
        'status',
        'catatan_penolakan',
        'file_path',
        'disetujui_oleh',
        'tanggal_disetujui',
        // Kolom Umum
        'nama_lengkap',
        'nik',
        'tempat_lahir',
        'tanggal_lahir',
        'jenis_kelamin',
        'pekerjaan',
        'agama',
        'alamat',
        'no_hp',
        // Kolom Khusus Surat Kelahiran
        'nama_bayi',
        'nik_bayi',
        'tempat_lahir_bayi',
        'tanggal_lahir_bayi',
        'jenis_kelamin_bayi',
        'berat_bayi_kg',
        'panjang_bayi_cm',
        'anak_ke',
        'nama_ayah',
        'nik_ayah',
        'tempat_lahir_ayah',
        'tanggal_lahir_ayah',
        'pekerjaan_ayah',
        'alamat_ayah',
        'nama_ibu',
        'nik_ibu',
        'tempat_lahir_ibu',
        'tanggal_lahir_ibu',
        'pekerjaan_ibu',
        'alamat_ibu',
        'nama_pelapor',
        'nik_pelapor',
        'hubungan_pelapor_dengan_bayi',
        // Kolom Khusus Surat Kematian
        'tanggal_kematian',
        'waktu_kematian',
        'tempat_kematian',
        'sebab_kematian',
        'tempat_pemakaman',
        'nama_pelapor_kematian',
        'nik_pelapor_kematian',
        'hubungan_pelapor_dengan_almarhum',
        'nama_saksi_kematian_1',
        'nik_saksi_kematian_1',
        'nama_saksi_kematian_2',
        'nik_saksi_kematian_2',
        // Kolom Khusus Surat Keterangan Ahli Waris (dan Keterangan Umum lainnya)
        'keperluan',
        'jumlah_ahli_waris',
        'daftar_ahli_waris',
        // Kolom Khusus Surat Keterangan Domisili
        'domisili_sejak',
        'alamat_sebelumnya',
        // Kolom Khusus Surat Keterangan Kehilangan
        'barang_hilang',
        'tanggal_kehilangan',
        'tempat_kehilangan',
        'kronologi_kehilangan',
        // Kolom Khusus Surat Keterangan Usaha
        'nama_usaha',
        'jenis_usaha',
        'alamat_usaha',
        'tahun_berdiri',
        // Kolom Khusus Surat Pendatang (Surat Keterangan Datang)
        'asal_domisili',
        'tanggal_datang',
        'tujuan_datang',
        // Kolom Khusus Surat Pengantar Perkawinan (N1, N2, N3, N4)
        'nama_pasangan',
        'nik_pasangan',
        'tempat_lahir_pasangan',
        'tanggal_lahir_pasangan',
        'pekerjaan_pasangan',
        'agama_pasangan',
        'alamat_pasangan',
        'status_perkawinan_pasangan',
        'nama_orang_tua_pasangan_ayah',
        'nama_orang_tua_pasangan_ibu',
        'tempat_akad_nikah',
        'tanggal_akad_nikah',
        // Kolom Khusus Surat Pindah (Surat Keterangan Pindah)
        'alamat_tujuan_pindah',
        'desa_tujuan_pindah',
        'kecamatan_tujuan_pindah',
        'kabupaten_tujuan_pindah',
        'provinsi_tujuan_pindah',
        'alasan_pindah',
        'jumlah_keluarga_ikut_pindah',
        'daftar_keluarga_ikut_pindah',
        // Kolom Khusus Surat Keterangan Tidak Mampu (SKTM)
        'penghasilan_per_bulan',
        'jumlah_tanggungan',
        'kondisi_ekonomi',
    ];

    protected $casts = [
        'tanggal_pengajuan' => 'date',
        'tanggal_lahir' => 'date',
        'tanggal_lahir_bayi' => 'date',
        'tanggal_lahir_ayah' => 'date',
        'tanggal_lahir_ibu' => 'date',
        'tanggal_kematian' => 'date',
        'tanggal_kehilangan' => 'date',
        'tahun_berdiri' => 'date', // Asumsi ini date untuk tahun
        'tanggal_datang' => 'date',
        'tanggal_akad_nikah' => 'date',
        'domisili_sejak' => 'date',
    ];

    public function disetujuiOleh()
    {
        return $this->belongsTo(User::class, 'disetujui_oleh');
    }
}