Sharingang/Sharingang-Android

View on GitHub
app/src/main/java/com/example/sharingang/database/firestore/FirestoreItemStore.kt

Summary

Maintainability
A
0 mins
Test Coverage
F
0%
package com.example.sharingang.database.firestore

import com.example.sharingang.database.store.ItemStore
import com.example.sharingang.models.Item
import com.google.firebase.firestore.FirebaseFirestore
import javax.inject.Inject
import javax.inject.Singleton

/**
 * Implementation of ItemRepository using the Firestore database
 *
 * During development it requires running the Firebase emulator (see README.md)
 */
@Singleton
class FirestoreItemStore @Inject constructor(firestore: FirebaseFirestore) :
    ItemStore, AbstractFirestoreStore<Item>("items", Item::class.java, firestore) {

    override suspend fun set(item: Item): String? {
        return if (item.id == null) {
            super.add(item)
        } else {
            if (super.update(item, item.id)) {
                item.id
            } else {
                null
            }
        }
    }
}