Files
exchange-2.0/app/Classes/Modules/Currencies/Standards/Rules/Rates/CanCreateRate.php
T
edmondlang e3e4b490b0 Merge branch 'development' of gitlab.com:CIEFWorldwideSdnBhd/exchange-2.0 into wallet-ui
# Conflicts:
#	resources/views/partials/header.blade.php
#	routes/web.php
2022-02-04 22:22:07 +08:00

56 lines
1.3 KiB
PHP

<?php
namespace App\Classes\Modules\Currencies\Standards\Rules\Rates;
use App\Classes\General\Abstracts\AbstractRule;
use App\Classes\Modules\Currencies\Standards\Validators\Rates\RateValidation;
use App\Classes\Modules\Currencies\DataTransferObjects\RateObject;
use Illuminate\Support\Facades\Auth;
class CanCreateRate extends AbstractRule
{
/** @var RateValidation */
private $rateValidation;
/**
* CanCreateRate constructor.
* @param RateValidation $rateValidation
*/
public function __construct(RateValidation $rateValidation)
{
$this->rateValidation = $rateValidation;
}
/**
* @return bool
*/
protected function authorized(): bool
{
// TODO Set Authorization rules
if (!Auth::user()->can('add currency_rate')) {
return false;
}
return true;
}
/**
* @param RateObject $object
* @return bool
* @throws \App\Classes\Exceptions\RequestValidationException
*/
protected function validators($object): bool
{
return $this->rateValidation->validate($object, 'POST');
}
/**
* @param RateObject $object
* @return bool
*/
protected function criteria($object): bool
{
return true;
}
}