ldc-boutique-cnc-sable/app/Policies/Backend/SlidePolicy.php

68 lines
1.5 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Policies\Backend;
use App\Dto\SlideDto;
use App\Models\Customer;
use App\Models\Slide;
use App\Models\User;
use Domain\Enums\UserRole;
class SlidePolicy
{
public function viewAny(User | Customer $user): bool
{
if ($user instanceof Customer) {
return false;
}
return $user->role->isAtLeastEqualsTo(UserRole::Admin);
}
public function view(User | Customer $user, Slide | SlideDto $_): bool
{
if ($user instanceof Customer) {
return false;
}
return $user->role->isAtLeastEqualsTo(UserRole::Admin);
}
public function create(User | Customer $user): bool
{
if ($user instanceof Customer) {
return false;
}
return $user->role->isAtLeastEqualsTo(UserRole::Admin);
}
public function update(User | Customer $user, Slide | SlideDto $_): bool
{
if ($user instanceof Customer) {
return false;
}
return $user->role->isAtLeastEqualsTo(UserRole::Admin);
}
public function delete(User | Customer $user, Slide | SlideDto $_): bool
{
if ($user instanceof Customer) {
return false;
}
return $user->role->isAtLeastEqualsTo(UserRole::Admin);
}
public function toggleStatus(User | Customer $user): bool
{
if ($user instanceof Customer) {
return false;
}
return $user->role->isAtLeastEqualsTo(UserRole::Admin);
}
}