Files
calorie/app/src/main/java/com/example/scanwich/FirebaseUtils.kt
2026-02-24 10:03:35 -05:00

52 lines
2.1 KiB
Kotlin

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}") }
}
}
}