'datetime', 'updated_at' => 'datetime', ]; /** * Validar password */ public function validatePassword(string $password): bool { return Hash::check($password, $this->password); } /** * Set password attribute - hash automatically */ public function setPasswordAttribute(string $value): void { $this->attributes['password'] = Hash::make($value); } /** * Scope para filtrar super admins */ public function scopeSuperAdmin(Builder $query): Builder { return $query->where('rol', 'super_admin'); } /** * Scope para filtrar admins */ public function scopeAdmin(Builder $query): Builder { return $query->where('rol', 'admin'); } /** * Verificar si es super admin */ public function isSuperAdmin(): bool { return $this->rol === 'super_admin'; } /** * Verificar si tiene permiso para gestionar otros admins */ public function canManageAdmins(): bool { return $this->rol === 'super_admin'; } }