<?php

namespace App\Http\Requests\Admin\NetworkTools;

use Illuminate\Foundation\Http\FormRequest;

class DnsRequest extends FormRequest
{
    public function authorize(): bool
    {
        return $this->user()->can('use network tools');
    }

    public function rules(): array
    {
        return [
            'domain' => 'required|string|max:255|regex:/^[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?)*$/',
            'type' => 'nullable|string|in:A,AAAA,CNAME,MX,TXT,NS,SOA,PTR',
        ];
    }

    public function messages(): array
    {
        return [
            'domain.required' => 'Domain adı zorunludur.',
            'domain.string' => 'Domain adı metin olmalıdır.',
            'domain.max' => 'Domain adı en fazla 255 karakter olabilir.',
            'domain.regex' => 'Geçerli bir domain adı giriniz.',
            'type.string' => 'DNS tipi metin olmalıdır.',
            'type.in' => 'Geçersiz DNS tipi.',
        ];
    }
}
