<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Gate;

class SiteEdit extends FormRequest
{
	/**
	 * Determine if the user is authorized to make this request.
	 */
	public function authorize(): bool
	{
		return Gate::allows('wholesaler');
	}

	/**
	 * Get the validation rules that apply to the request.
	 *
	 * @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
	 */
	public function rules(): array
	{
		return [
			'site_name' => 'required|string|min:2|max:255',
			'site_email' => 'required|string|email|max:255',
			'site_address1' => 'required|string|min:2|max:255',
			'site_address2' => 'nullable|string|min:2|max:255',
			'site_city' => 'required|string|min:2|max:64',
			'site_state' => 'required|string|min:2|max:32',
			'site_postcode' => 'required|string|min:2|max:8',
			'site_description' => 'nullable|string|min:5',
			'site_phone' => 'nullable|regex:/[0-9 ]+/|min:6|max:12',
			'site_fax' => 'nullable|regex:/[0-9 ]+/|min:6|max:12',
			'site_tax' => 'required|regex:/[0-9 ]+/|size:14',
			'social' => 'nullable|array',
			'top_menu' => 'nullable|array',
			'site_logo' => 'nullable|image',
			'email_logo' => 'nullable|image',
		];
	}
}