Recipe catalog v2: - Recipe gagne visibility (PERSONAL/HOUSE/PUBLIC), authorId, authorHouseId - Favoris par utilisateur (RecipeFavorite), régimes associés (RecipeDiet) - Aliments "pas aimés" par utilisateur (UserProfileDislikedIngredient), distinct des allergies médicales - API: GET /recipes?tab=favoris|perso|foyer|publique avec contrôle d'accès complet, POST/DELETE /recipes/:id/favorite, édition/suppression réservées à l'auteur (403 NOT_RECIPE_AUTHOR), GET/PATCH /profile/disliked-ingredients - Frontend: vue maître-détail (onglets + tableau + panneau détail), formulaire enrichi (visibilité, régimes), section préférences pour les aliments pas aimés Catalogue d'ingrédients de référence: - Extension du seed de 39 à ~430 ingrédients (viandes, poissons/fruits de mer, légumes, fruits, féculents, condiments/sauces, épices/herbes, pains à sandwich, cuisines italienne/asiatique/mexicaine/maghrébine, liquides et boissons de cuisine, bouillons/fonds) - Chaque ingrédient lié à ses allergènes UE (IngredientAllergy) — les 14 allergènes réglementaires restent tous couverts - Seeding optimisé en requêtes groupées (createMany/diff ciblé) plutôt qu'un upsert par ligne, pour garder resetDatabase() rapide en test Tests: 102 tests Mocha + 32 scénarios BDD, tous verts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
20 lines
839 B
TypeScript
20 lines
839 B
TypeScript
// Public entry point of the code shared between apps/api and apps/web.
|
|
// Anything exported here is part of the cross-app contract — keep it
|
|
// intentional (types, validation schemas, error codes), not an implementation
|
|
// detail specific to one side.
|
|
|
|
export * from "./errors/error-codes.js";
|
|
export * from "./schemas/account.js";
|
|
export * from "./schemas/auth.js";
|
|
export * from "./schemas/household.js";
|
|
export * from "./schemas/planning.js";
|
|
export * from "./schemas/preferences.js";
|
|
export * from "./schemas/profile.js";
|
|
export * from "./schemas/recipe.js";
|
|
export * from "./tools/assert-is-never.js";
|
|
export * from "./types/household.js";
|
|
export * from "./types/planning.js";
|
|
export * from "./types/preferences.js";
|
|
export * from "./types/recipe.js";
|
|
export * from "./types/reference.js";
|
|
export * from "./types/user-profile.js";
|