<?php

namespace App\Http\Requests\Quote;

use Illuminate\Foundation\Http\FormRequest;

class StoreQuoteFormulaCategoryRequest extends FormRequest
{
    public function authorize(): bool
    {
        return auth()->check();
    }

    public function rules(): array
    {
        return [
            'code' => 'required|string|max:50|regex:/^[A-Z][A-Z0-9_]*$/',
            'name' => 'required|string|max:100',
            'description' => 'nullable|string|max:500',
            'sort_order' => 'nullable|integer|min:1',
            'is_active' => 'boolean',
        ];
    }

    public function messages(): array
    {
        return [
            'code.required' => '카테고리 코드는 필수입니다.',
            'code.regex' => '카테고리 코드는 대문자로 시작하고 대문자, 숫자, 언더스코어만 사용할 수 있습니다.',
            'code.max' => '카테고리 코드는 50자 이하로 입력해주세요.',
            'name.required' => '카테고리 이름은 필수입니다.',
            'name.max' => '카테고리 이름은 100자 이하로 입력해주세요.',
            'description.max' => '설명은 500자 이하로 입력해주세요.',
            'sort_order.integer' => '정렬 순서는 숫자로 입력해주세요.',
            'sort_order.min' => '정렬 순서는 1 이상이어야 합니다.',
        ];
    }
}
