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