Files
exchange-2.0/app/Classes/Modules/CompanyBanks/Standards/Rules/CanCreateCompanyBank.php
T
CheeSiong aa6f59b86d -Create Company Bank Logic Class
-Update Company Bank Logic Class
-Delete Company Bank Logic Class
2020-11-27 11:46:25 +08:00

55 lines
1.3 KiB
PHP

<?php
namespace App\Classes\Modules\CompanyBanks\Standards\Rules;
use App\Classes\General\Abstracts\AbstractRule;
use App\Classes\Modules\CompanyBanks\DataTransferObjects\SegmentObject;
use App\Classes\Modules\CompanyBanks\Standards\Validators\CompanyBankValidation;
class CanCreateCompanyBank extends AbstractRule
{
/** @var CompanyBankValidation */
private $companyBankValidation;
/**
* CanCreateCompanyBank constructor.
* @param CompanyBankValidation $companyBankValidation
*/
public function __construct(CompanyBankValidation $companyBankValidation)
{
$this->companyBankValidation = $companyBankValidation;
}
/**
* @return bool
*/
protected function authorized(): bool
{
// TODO Set Authorization rules
if (!\Auth::user()->can('add company_bank')) {
return false;
}
return true;
}
/**
* @param SegmentObject $object
* @return bool
* @throws \App\Classes\Exceptions\RequestValidationException
*/
protected function validators($object): bool
{
return $this->companyBankValidation->validate($object);
}
/**
* @param SegmentObject $object
* @return bool
*/
protected function criteria($object): bool
{
return true;
}
}