'datetime', 'password' => 'hashed', ]; public function getJWTIdentifier() { return $this->getKey(); } public function getJWTCustomClaims() { return []; } public function isAdmin() { return $this->tipe_pengguna === 'admin' || $this->tipe_pengguna === 'super admin'; } public static function getJabatanOptions($instansi = null) { $jabatanOptions = [ 'BPBD' => [ 'Kepala Seksi Kedaruratan dan Logistik' => 'Bertanggung jawab atas penanganan darurat bencana.', 'Operator Pusdalops (Pusat Pengendalian Operasi)' => 'Mengelola data dan sistem informasi kebencanaan.', 'Staf Kedaruratan dan Rehabilitasi' => 'Memverifikasi laporan masyarakat terkait bencana.', 'Koordinator Tim Reaksi Cepat (TRC)' => 'Menilai dan menindaklanjuti laporan yang masuk.' ], 'PUPR' => [ 'Kepala Bidang Bina Marga' => 'Bertanggung jawab atas pemeliharaan dan pembangunan jalan.', 'Kepala Seksi Pemeliharaan Jalan dan Jembatan' => 'Menangani perbaikan jalan berlubang.', 'Staf Pengawas Infrastruktur' => 'Mengevaluasi kondisi jalan berdasarkan laporan masyarakat.', 'Operator GIS (Geographic Information System)' => 'Mengelola data berbasis peta (Leaflet.js).' ] ]; if ($instansi && isset($jabatanOptions[$instansi])) { return $jabatanOptions[$instansi]; } return $jabatanOptions; } public static function getInstansiOptions() { return ['BPBD', 'PUPR']; } }