package com.example.scanwich import android.util.Log import com.google.firebase.auth.FirebaseAuth import com.google.firebase.firestore.FirebaseFirestore import com.google.firebase.firestore.SetOptions object FirebaseUtils { private fun getDb(): FirebaseFirestore { return try { // Tente d'utiliser la base de données nommée "scan-wich" FirebaseFirestore.getInstance("scan-wich") } catch (e: Exception) { // Repli sur la base par défaut si "scan-wich" n'est pas configurée comme base secondaire FirebaseFirestore.getInstance() } } fun syncMealToFirestore(meal: Meal) { val user = FirebaseAuth.getInstance().currentUser if (user != null) { getDb().collection("users").document(user.uid).collection("meals") .document(meal.date.toString()) .set(meal, SetOptions.merge()) .addOnSuccessListener { Log.d("Firestore", "Meal synced") } .addOnFailureListener { e -> Log.e("Firestore", "Error meal: ${e.message}") } } } fun syncGlycemiaToFirestore(glycemia: Glycemia) { val user = FirebaseAuth.getInstance().currentUser if (user != null) { getDb().collection("users").document(user.uid).collection("glycemia") .document(glycemia.date.toString()) .set(glycemia, SetOptions.merge()) .addOnSuccessListener { Log.d("Firestore", "Glycemia synced") } .addOnFailureListener { e -> Log.e("Firestore", "Error glycemia: ${e.message}") } } } fun syncSportToFirestore(sport: SportActivity) { val user = FirebaseAuth.getInstance().currentUser if (user != null) { getDb().collection("users").document(user.uid).collection("sports") .document(sport.id.toString()) .set(sport, SetOptions.merge()) .addOnSuccessListener { Log.d("Firestore", "Sport synced") } .addOnFailureListener { e -> Log.e("Firestore", "Error sport: ${e.message}") } } } }