File: /var/www/ipsremont-demo/app/Http/Requests/Service/UpdateServiceRequest.php
<?php
namespace App\Http\Requests\Service;
use App\Helpers\UserHelper;
use Illuminate\Validation\Rule;
/**
* @property int $id
*/
class UpdateServiceRequest extends CreateServiceRequest
{
public function rules(): array
{
$rules = array_merge(parent::rules(), [
'inn' => ['required', 'string', 'max:255', Rule::unique('services')->ignore($this->request->get('id'))->whereNull('deleted_at')],
'external_id' => ['string', 'nullable', Rule::unique('services')->ignore($this->request->get('id'))->whereNull('deleted_at')],
'external_warehouse_id' => ['string', 'nullable', Rule::unique('services')->ignore($this->request->get('id'))->whereNull('deleted_at')],
]);
$user = UserHelper::getUser();
if ($user->isManager()) {
$rules['balance'] = ['numeric', 'between:-99999999,99999999', 'nullable'];
}
foreach ($rules as $field => $rule) {
if (strpos($field, 'user_') === 0) {
unset($rules[$field]);
}
}
unset($rules['role']);
unset($rules['country']);
unset($rules['city']);
unset($rules['physical_address']);
// if (!$user->isService()) {
// $additional = [
// 'country' => ['nullable'],
// 'city' => ['nullable'],
// 'address' => ['nullable'],
// ];
// $rules = array_merge($rules, $additional);
// }
return $rules;
}
}