voucherValidation = $voucherValidation; } /** * @param CreateVoucherObject $object * @return bool */ protected function authorized($object): bool { $isAuthorized = true; switch ($object->getVoucherCode()) { case Vouchers::SORRY_50: case Vouchers::SORRY_100: case Vouchers::SORRY_200: $isAuthorized = Auth::user()->can('add voucher'); break; default: $isAuthorized = true; break; } return $isAuthorized; } /** * @param CreateVoucherObject $object * @return bool * @throws \App\Classes\Exceptions\RequestValidationException */ protected function validators($object): bool { return true; } /** * @param CreateVoucherObject $object * @return bool */ protected function criteria($object): bool { return true; } }