batchCooking/packages/shared/src/schemas
Nicolas 16f593d5d0
Some checks failed
CI / lint (push) Successful in 1m46s
CI / build (push) Successful in 1m55s
CI / e2e (push) Successful in 8m37s
CI / intent-service-test (push) Successful in 17m3s
CI / test (push) Failing after 3h14m19s
feat(recipes): permet d'ajouter des ingredients hors-catalogue
Quand le catalogue seede ne couvre pas un ingredient, l'utilisateur pouvait
etre bloque (creation manuelle) ou perdre silencieusement la ligne (import).
Une ligne de recette accepte desormais `placeholderName` (texte libre) au
lieu de `ingredientId` : l'API cree une ligne `Ingredient` `isPlaceholder`
(cle `placeholder:<uuid>`, `displayName`, `createdById`) dans la transaction
de la recette, et emet `ingredient.placeholder_created`. Ces lignes sont
exclues de `GET /reference/ingredients` et de `ingredient-matcher`.

Front : bouton "Ajouter << ... >>" dans l'etat vide de `IngredientPicker`
(formulaire + import), badge "a completer" sur la ligne, helper
`ingredientLabel` applique partout ou un libelle d'ingredient est rendu.

Admin : `/admin/catalog/*` (+ page `apps/admin-web`) liste les placeholders
regroupes par nom normalise, "marquer traite" (`reviewedAt`) et purge des
orphelins. La promotion en vraie entree catalogue reste manuelle.

Migration `ingredient_placeholder` ecrite a la main (Postgres indisponible).
Suites Mocha DB-backed ecrites, non executees en session ; test pur
`normalizePlaceholderName` + Cypress admin-web/web verts.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-28 23:36:42 +02:00
..
account.ts Shared: types/schémas/codes d'erreur pour foyer admin/invitation + suppression de compte (step 1/8) 2026-08-17 10:37:50 +02:00
admin.ts feat(recipes): permet d'ajouter des ingredients hors-catalogue 2026-08-28 23:36:42 +02:00
auth.ts Centralize error handling + code quality pass (comments, SCSS theming) (#7) 2026-08-16 18:40:53 +02:00
cooking-session.ts feat(cooking): moteur d'optimisation des etapes de batch-cooking 2026-08-28 19:06:24 +02:00
household.ts feat(recipes): préférences de sources par foyer + distinction officielle/non-officielle 2026-08-20 09:22:54 +02:00
planning.ts feat(planning): dialog de sélection de recette, création de planning, assignation avec portions 2026-08-19 14:44:02 +02:00
preferences.ts Shared + migration: table user_preference (thème clair/sombre/système) (step 1/4) 2026-08-17 15:55:18 +02:00
profile.ts feat(recipes): catalogue v2 - visibilité, favoris, régimes et catalogue d'ingrédients exhaustif 2026-08-18 09:29:11 +02:00
recipe.ts feat(recipes): permet d'ajouter des ingredients hors-catalogue 2026-08-28 23:36:42 +02:00
shopping-list.ts feat(shopping-list): liste de courses agrégée depuis le planning (#73) 2026-08-22 22:45:06 +02:00
sources.ts feat(recipes): parcourir et prévisualiser les sources externes (étape 1/4) 2026-08-20 15:51:16 +02:00
tech-step-worker.ts feat(tech-steps): fiabilise la détection des tech steps (corpus + LLM + corrections utilisateur) (#66) 2026-08-22 15:57:57 +02:00