diff --git a/src/services/core/user-preferences.ts b/src/services/core/user-preferences.ts index f15fdb3..d52311f 100644 --- a/src/services/core/user-preferences.ts +++ b/src/services/core/user-preferences.ts @@ -66,6 +66,19 @@ class UserPreferencesService { * Récupère ou crée l'entrée user preferences (avec upsert pour éviter les doublons) */ private async getOrCreateUserPreferences(userId: string) { + // S'assurer que l'utilisateur existe d'abord (upsert pour éviter les doublons) + await prisma.user.upsert({ + where: { id: userId }, + update: {}, // Ne rien mettre à jour si existe + create: { + id: userId, + email: `${userId}@towercontrol.local`, + name: 'Default User', + role: 'user', + password: 'default', // Mot de passe temporaire + } + }); + // Utiliser upsert pour éviter les conditions de course const userPrefs = await prisma.userPreferences.upsert({ where: { userId }, // Utiliser userId au lieu de id