*/ use HasFactory, Notifiable, HasRoles; public const ROLE_ADMIN = 'admin'; public const ROLE_KAUNTER = 'petugas_kaunter'; public const ROLE_CABUTAN = 'petugas_cabutan'; /** Peranan yang boleh ditugaskan kepada pengguna + label paparan ringkas. */ public const ROLE_LABELS = [ self::ROLE_ADMIN => 'Admin', self::ROLE_KAUNTER => 'Kaunter', self::ROLE_CABUTAN => 'Cabutan', ]; /** Label ringkas peranan utama pengguna ini (cth "Admin"). */ public function roleLabel(): string { $role = $this->getRoleNames()->first(); return self::ROLE_LABELS[$role] ?? ($role ? \Illuminate\Support\Str::headline($role) : '-'); } protected $fillable = [ 'name', 'email', 'password', ]; protected $hidden = [ 'password', 'remember_token', ]; protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; } }