<?php

namespace Modules\Stock\Service;

use Exception;
use Skeleton\Router;

readonly class InventaireService
{
    public function __construct(private Router $router)
    {
    }

    /**
     * @throws Exception
     */
    public function getFormAction(?string $action, int|string $noInv): string
    {
        return match ($action) {
            'saisirResultats' => $this->router->generateUri('Stock.LigneCahierInventaire.saisirResultatsForm', ['noInv' => $noInv]),
            'exporter' => $this->router->generateUri('Stock.Inventaire.exporter'),
            'voirResultats' => $this->router->generateUri('Stock.LigneCahierInventaire.voirResultats', ['noInv' => $noInv]),
            default => throw new Exception('Aucune route n\'est associée à cette action'),
        };
    }
}
