<?php
namespace App\Validators;

use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\ValidationException;

class AccountsValidator
{
    public static function validate($data)
    {
        $validator = Validator::make($data, [
            'specialisation'        => 'nullable|array',
            'specialisation.*'      => 'required|integer|exists:company_specialisations,id',
            'countries'             => 'nullable|array',
            'countries.*'           => 'required|exists:countries,iso2',
            'search'                => 'nullable|string|max:100',
        ]);

        if ($validator->fails()) {
            throw new ValidationException($validator);
        }
    }

    public static function getFilters(): Array
    {
        return [
            'search' => 'trim|strip_tags|xss_clean',
        ];
    }
}
