generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } model User { id String @id @default(uuid()) email String @unique password String? // Optionnel pour les utilisateurs Google name String googleId String? @unique resetToken String? resetTokenExpiry DateTime? // ---- Stripe / Abonnement ---- stripeId String? @unique // Customer ID Stripe subscription String? // 'free' | 'essential' | 'premium' stripeSubscriptionId String? @unique subscriptionStatus String? // active | trialing | past_due | canceled | incomplete subscriptionPriceId String? subscriptionCurrentPeriodEnd DateTime? // Préférences culinaires injectées dans le prompt IA dietaryPreference String? // 'vegetarian' | 'vegan' | 'pescatarian' | 'none' allergies String? // Liste séparée par des virgules : "arachides,gluten" maxCookingTime Int? // Temps total max (prépa + cuisson) en minutes equipment String? // JSON array : '["four","plaque","micro-ondes"]' cuisinePreference String? // "française", "italienne", "asiatique"... ou null servingsDefault Int? // Nombre de portions par défaut createdAt DateTime @default(now()) updatedAt DateTime @updatedAt recipes Recipe[] } model Recipe { id String @id @default(uuid()) title String ingredients String userPrompt String generatedRecipe String audioUrl String? imageUrl String? preparationTime Int? cookingTime Int? servings Int? difficulty String? steps String? tips String? userId String user User @relation(fields: [userId], references: [id]) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt }