Ajustes varios de permisos y visuales

This commit is contained in:
2025-01-27 08:34:28 -03:00
parent 90bbc3ac7b
commit 509f59ea45
17 changed files with 1606 additions and 1455 deletions

View File

@@ -2,6 +2,8 @@
namespace App\Models;
use App\Enums\RoleName;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Concerns\HasUlids;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
@@ -30,6 +32,23 @@ class User extends Authenticatable
return $this->belongsToMany(Role::class, 'user_roles', 'user_id', 'role_id');
}
public function isAn(...$roles): bool
{
return $this->roles()->whereIn('name', $roles)->exists();
}
public function scopeFilterSuperadmin(Builder $query) {
if(!auth()->check()) {
return;
}
if (!auth()->user()->isAn(RoleName::SuperAdmin)) {
$query->whereDoesntHave('roles', function (Builder $builder) {
$builder->where('name', RoleName::SuperAdmin);
});
}
}
protected function casts(): array
{
return [