Add getAllFriendships()
This commit is contained in:
		
							parent
							
								
									56427a69af
								
							
						
					
					
						commit
						4f08453a2d
					
				
					 1 changed files with 49 additions and 0 deletions
				
			
		|  | @ -0,0 +1,49 @@ | |||
| package be.ugent.sel.studeez.domain.implementation | ||||
| 
 | ||||
| import be.ugent.sel.studeez.data.local.models.Friendship | ||||
| import be.ugent.sel.studeez.domain.AccountDAO | ||||
| import be.ugent.sel.studeez.domain.FriendshipDAO | ||||
| import com.google.firebase.firestore.DocumentReference | ||||
| import com.google.firebase.firestore.FirebaseFirestore | ||||
| import com.google.firebase.firestore.ktx.snapshots | ||||
| import kotlinx.coroutines.flow.Flow | ||||
| import kotlinx.coroutines.flow.map | ||||
| import javax.inject.Inject | ||||
| 
 | ||||
| class FirebaseFriendshipDAO @Inject constructor( | ||||
|     private val firestore: FirebaseFirestore, | ||||
|     private val auth: AccountDAO | ||||
| ): FriendshipDAO { | ||||
| 
 | ||||
|     private fun currentUserDocument(): DocumentReference = firestore | ||||
|         .collection(FirebaseCollections.USER_COLLECTION) | ||||
|         .document(auth.currentUserId) | ||||
| 
 | ||||
|     override fun getAllFriendships(): Flow<List<Friendship>> { | ||||
|         return currentUserDocument() | ||||
|             .collection(FirebaseCollections.FRIENDS_COLLECTION) | ||||
|             .snapshots() | ||||
|             .map { it.toObjects(Friendship::class.java) } | ||||
|     } | ||||
| 
 | ||||
|     override fun getFriendshipCount(): Flow<Int> { | ||||
|         TODO("Not yet implemented") | ||||
|     } | ||||
| 
 | ||||
|     override fun getFriendshipDetails(id: String): Friendship { | ||||
|         TODO("Not yet implemented") | ||||
|     } | ||||
| 
 | ||||
|     override fun sendFriendshipRequest(id: String): Boolean { | ||||
|         TODO("Not yet implemented") | ||||
|     } | ||||
| 
 | ||||
|     override fun acceptFriendship(id: String): Boolean { | ||||
|         TODO("Not yet implemented") | ||||
|     } | ||||
| 
 | ||||
|     override fun removeFriendship(id: String): Boolean { | ||||
|         TODO("Not yet implemented") | ||||
|     } | ||||
| 
 | ||||
| } | ||||
		Reference in a new issue