ldc-crm/app/Policies/CustomerPolicy.php
2023-06-23 17:18:59 +02:00

78 lines
1.3 KiB
PHP

<?php
namespace App\Policies;
use App\Models\Customer;
use App\Models\Service;
use Illuminate\Auth\Access\HandlesAuthorization;
use App\Policies\Rules\UserStaticRules as USR;
/**
* @codeCoverageIgnore
*/
class CustomerPolicy
{
use HandlesAuthorization;
/**
* View a Customer.
*
* @return boolean
*/
public function view(): bool
{
return USR::everyOne();
}
/**
* View any a Customer.
*
* @return boolean
*/
public function viewAny(): bool
{
return USR::everyOne();
}
/**
* Create a Customer.
*
* @return boolean
*/
public function create(): bool
{
return USR::noOne();
}
/**
* Update a Customer.
*
* @return boolean
*/
public function update(): bool
{
return USR::noOne();
}
/**
* Delete a Customer.
*
* @return boolean
*/
public function delete(): bool
{
return USR::everyOne();
}
/**
* Check if the customer belongs to the service
*
* @param \App\Models\Service $service
* @param \App\Models\Customer $customer
* @return boolean
*/
public function customerBelongsToService(Service $service, Customer $customer)
{
return !\is_null($customer->login($service->brand));
}
}