<?php

namespace Functional\Tracking\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

/**
 * Validation de la création d'une mensuration (POST /api/metrics).
 * Idempotent par (user_id, measured_on) : une mensuration existante pour cette date est mise à jour.
 */
class StoreBodyMetricRequest extends FormRequest
{
    public function authorize(): bool
    {
        return true;
    }

    public function rules(): array
    {
        return [
            'measured_on' => ['required', 'date'],
            'weight' => ['nullable', 'numeric', 'min:0'],
            'body_fat' => ['nullable', 'numeric', 'min:0', 'max:100'],
            'notes' => ['nullable', 'string'],
        ];
    }
}
