*/ use HasFactory, Notifiable; protected $fillable = ['name', 'email', 'password', 'role']; protected $hidden = ['password', 'remember_token']; protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; } public function isSuperAdmin(): bool { return $this->role === 'super_admin'; } public function isAdminProgram(): bool { return $this->role === 'admin'; } public function canAccessProgram(Program $program): bool { return $this->isSuperAdmin() || $program->created_by === $this->id; } public function programs() { return $this->hasMany(Program::class, 'created_by'); } public function auditLogs() { return $this->hasMany(AuditLog::class); } }