<?php
namespace App\Http\Requests\Candidat;

use Illuminate\Foundation\Http\FormRequest;

class UploadPieceJointeRequest extends FormRequest
{
    public function authorize(): bool
    {
        return auth()->check() && auth()->user()->isCandidat();
    }

    public function rules(): array
    {
        return [
            'type_document' => [
                'required',
                'in:cni_passeport,photo_identite,casier_judiciaire,plan_localisation_candidat,plan_localisation_parrain,certificat_formation,autre'
            ],
            'fichier' => [
                'required',
                'file',
                'max:10240', // 10 MB max
                'mimes:jpg,jpeg,png,webp,pdf',
            ],
        ];
    }

    public function messages(): array
    {
        return [
            'fichier.max'   => 'Le fichier ne doit pas dépasser 10 Mo.',
            'fichier.mimes' => 'Seuls les formats JPG, PNG, WEBP et PDF sont acceptés.',
        ];
    }
}
