fix: inject FirebaseFirestore via constructor instead of getInstance()

This commit is contained in:
null 2026-06-17 20:53:42 -05:00
parent e5c734d3b2
commit d6f5eb6b0f
8 changed files with 8 additions and 24 deletions

View File

@ -22,9 +22,7 @@ import kotlin.coroutines.resumeWithException
* Categories: Adventure, Travel, Food, Learning, Romance, Intimacy, Seasonal. * Categories: Adventure, Travel, Food, Learning, Romance, Intimacy, Seasonal.
*/ */
@Singleton @Singleton
class FirestoreBucketListDataSource @Inject constructor() { class FirestoreBucketListDataSource @Inject constructor(private val db: FirebaseFirestore) {
private val db = FirebaseFirestore.getInstance()
private fun itemsRef(coupleId: String) = private fun itemsRef(coupleId: String) =
db.collection(FirestoreCollections.COUPLES).document(coupleId) db.collection(FirestoreCollections.COUPLES).document(coupleId)
.collection(FirestoreCollections.Couples.BUCKET_LIST) .collection(FirestoreCollections.Couples.BUCKET_LIST)

View File

@ -12,9 +12,7 @@ import kotlin.coroutines.resume
import kotlin.coroutines.resumeWithException import kotlin.coroutines.resumeWithException
@Singleton @Singleton
class FirestoreCoupleDataSource @Inject constructor() { class FirestoreCoupleDataSource @Inject constructor(private val db: FirebaseFirestore) {
private val db = FirebaseFirestore.getInstance()
private fun coupleRef(coupleId: String) = db.collection(FirestoreCollections.COUPLES).document(coupleId) private fun coupleRef(coupleId: String) = db.collection(FirestoreCollections.COUPLES).document(coupleId)
private fun userRef(uid: String) = db.collection(FirestoreCollections.USERS).document(uid) private fun userRef(uid: String) = db.collection(FirestoreCollections.USERS).document(uid)

View File

@ -32,9 +32,7 @@ import kotlin.coroutines.resumeWithException
* still exposes a create helper for the function trigger path. * still exposes a create helper for the function trigger path.
*/ */
@Singleton @Singleton
class FirestoreDateMatchDataSource @Inject constructor() { class FirestoreDateMatchDataSource @Inject constructor(private val db: FirebaseFirestore) {
private val db = FirebaseFirestore.getInstance()
private fun matchesRef(coupleId: String) = private fun matchesRef(coupleId: String) =
db.collection(FirestoreCollections.COUPLES).document(coupleId) db.collection(FirestoreCollections.COUPLES).document(coupleId)
.collection(FirestoreCollections.Couples.DATE_MATCHES) .collection(FirestoreCollections.Couples.DATE_MATCHES)

View File

@ -25,9 +25,7 @@ import kotlin.coroutines.resumeWithException
* Local-first: Preferences stored in Room. Plans synced to Firestore when explicitly shared/scheduled. * Local-first: Preferences stored in Room. Plans synced to Firestore when explicitly shared/scheduled.
*/ */
@Singleton @Singleton
class FirestoreDatePlanDataSource @Inject constructor() { class FirestoreDatePlanDataSource @Inject constructor(private val db: FirebaseFirestore) {
private val db = FirebaseFirestore.getInstance()
private fun preferencesRef(coupleId: String) = private fun preferencesRef(coupleId: String) =
db.collection(FirestoreCollections.COUPLES).document(coupleId) db.collection(FirestoreCollections.COUPLES).document(coupleId)
.collection(FirestoreCollections.Couples.DATE_PLAN_PREFERENCES) .collection(FirestoreCollections.Couples.DATE_PLAN_PREFERENCES)

View File

@ -33,9 +33,7 @@ import kotlin.coroutines.resumeWithException
* only write their own action entry. * only write their own action entry.
*/ */
@Singleton @Singleton
class FirestoreDateSwipeDataSource @Inject constructor() { class FirestoreDateSwipeDataSource @Inject constructor(private val db: FirebaseFirestore) {
private val db = FirebaseFirestore.getInstance()
private fun swipesRef(coupleId: String) = private fun swipesRef(coupleId: String) =
db.collection(FirestoreCollections.COUPLES).document(coupleId) db.collection(FirestoreCollections.COUPLES).document(coupleId)
.collection(FirestoreCollections.Couples.DATE_SWIPES) .collection(FirestoreCollections.Couples.DATE_SWIPES)

View File

@ -11,9 +11,7 @@ import kotlin.coroutines.resumeWithException
import kotlin.random.Random import kotlin.random.Random
@Singleton @Singleton
class FirestoreInviteDataSource @Inject constructor() { class FirestoreInviteDataSource @Inject constructor(private val db: FirebaseFirestore) {
private val db = FirebaseFirestore.getInstance()
private fun inviteRef(code: String) = db.collection(FirestoreCollections.INVITES).document(code) private fun inviteRef(code: String) = db.collection(FirestoreCollections.INVITES).document(code)
fun generateCode(): String = (1..6) fun generateCode(): String = (1..6)

View File

@ -19,9 +19,7 @@ import kotlin.coroutines.resume
import kotlin.coroutines.resumeWithException import kotlin.coroutines.resumeWithException
@Singleton @Singleton
class FirestoreQuestionThreadDataSource @Inject constructor() { class FirestoreQuestionThreadDataSource @Inject constructor(private val db: FirebaseFirestore) {
private val db = FirebaseFirestore.getInstance()
private fun threadsRef(coupleId: String) = private fun threadsRef(coupleId: String) =
db.collection(FirestoreCollections.COUPLES).document(coupleId) db.collection(FirestoreCollections.COUPLES).document(coupleId)

View File

@ -11,9 +11,7 @@ import kotlin.coroutines.resume
import kotlin.coroutines.resumeWithException import kotlin.coroutines.resumeWithException
@Singleton @Singleton
class FirestoreUserDataSource @Inject constructor() { class FirestoreUserDataSource @Inject constructor(private val db: FirebaseFirestore) {
private val db = FirebaseFirestore.getInstance()
private fun userRef(uid: String) = db.collection(FirestoreCollections.USERS).document(uid) private fun userRef(uid: String) = db.collection(FirestoreCollections.USERS).document(uid)
suspend fun getUser(uid: String): User? = suspend fun getUser(uid: String): User? =