<?php

namespace App\Http\Requests\Product;

use Illuminate\Foundation\Http\FormRequest;

class ProductStoreRequest extends FormRequest
{
    public function authorize(): bool
    {
        return true;
    }

    public function rules(): array
    {
        return [
            // 기본 필드
            'code' => 'required|string|max:30',
            'name' => 'required|string|max:100',
            'unit' => 'nullable|string|max:10',
            'category_id' => 'required|integer',
            'product_type' => 'required|string|max:30',
            'description' => 'nullable|string|max:255',

            // 상태 플래그
            'is_sellable' => 'nullable|boolean',
            'is_purchasable' => 'nullable|boolean',
            'is_producible' => 'nullable|boolean',

            // 하이브리드 구조: 고정 필드
            'safety_stock' => 'nullable|integer|min:0',
            'lead_time' => 'nullable|integer|min:0',
            'is_variable_size' => 'nullable|boolean',
            'product_category' => 'nullable|string|max:20',
            'part_type' => 'nullable|string|max:20',

            // 하이브리드 구조: 동적 필드
            'attributes' => 'nullable|array',
            'attributes_archive' => 'nullable|array',
        ];
    }
}
