Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun DatabaseReference.getCurrentUser(userId: String): Observable<FUser> {
- val dbRefsAll = mutableListOf<Observable<FUser>>()
- val refParent = child("parents").child(userId)
- dbRefsAll.add(child("parents").child(userId).dataChanges().map {
- val user = it.mapParent()
- refParent.keepSynced(true)
- user.password = it.child("password").getValue(String::class.java) ?: ""
- user
- })
- val refChild = child("children").child(userId)
- dbRefsAll.add(refChild.dataChanges().map {
- val user = it.mapChild()
- refChild.keepSynced(true)
- user.password = it.child("password").getValue(String::class.java) ?: ""
- user
- })
- return Observable.combineLatest(dbRefsAll) {
- it.forEach {
- if (it != null) with(it as FUser) {
- if (!name.isNullOrEmpty()) {
- return@combineLatest this
- }
- }
- }
- return@combineLatest null
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement