feat(recipes): permet de corriger la température d'un tech-step #29
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/tech-step-temperature-correction"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Suite à la maquette proposée pour l'édition des métadonnées de tech-step : le popover de correction (
TechStepCorrectionPopover.tsx) permet déjà de corriger la technique et d'ajouter/retirer ingrédients/ustensiles, mais la température n'a jamais eu de circuit de correction manuelle — ni côté API (submitTechStepCorrectionScheman'avait pas de champtemperatures), ni côté service (StepTechStepTemperaturen'était écrit que partoStepTechStepCreateInputs, lors d'un create/update complet de recette).Cette PR couvre uniquement le back-end — le popover (
apps/web) sera mis à jour dans une PR suivante, empilée sur celle-ci, une fois cette base posée.Changement
packages/shared/src/schemas/recipe.ts: nouveaumanualStepTechStepTemperatureInputSchema—celsius/gasMark/qualitativemutuellement exclusifs (exactement un des trois), même conventionstart/endqueingredients/utensils. Le champtemperaturesrejoint le même lot combiné : dès que l'un des trois (ingredients/utensils/temperatures) est présent dans la requête, les trois sont résolus (un absent devient[], donc effacé) — jamais une fusion partielle catégorie par catégorie, même contrat que l'existant.recipe-tech-step-correction.service.ts:applyManualCorrectionécrit désormaisStepTechStepTemperature(delete + recreate, "le manuel remplace tout" comme les deux autres tables).rawn'est jamais envoyé par le client — dérivé dedescription.slice(start, end)côté service, pour ne pas faire confiance à une copie qui pourrait diverger du texte réel.specs/backend-architecture.md+specs/batch-cooking-modele.md: les deux routes de correction etstep_tech_step_temperaturen'étaient documentées nulle part — comblé au passage.Tests
Mocha ajoutés dans
recipe-tech-step-correction.test.ts: célsius/thermostat/qualitatif, rejet si zéro ou plusieurs champs renseignés, remplacement sans accumulation (auto + manuel), dérivation deraw, span hors limites.pnpm lint+pnpm build(shared, api) clean. Mocha non exécuté — ni Docker ni Postgres accessible dans cette session (vérifié Bash et PowerShell).🤖 Generated with Claude Code