У меня есть коллекция под названием 'users' с некоторыми фиктивными данными, такими как:
uid: {
admin: false,
uid: 'longhash',
displayName: 'User Name',
email: 'user@email.com'
}
У меня проблемы с обработкой, извлечением и возвратом данных 'admin' из документа, асинхронно.
Мой код:
isAdmin:Observable<boolean> = this.uid.pipe(
switchMap(uid => {
if(!uid){
return observableOf(false);
} else {
let user = new BehaviorSubject<string>(uid);
return user.pipe(
switchMap(page =>
this.afs.collection<User>('users', ref => ref.where('uid', '==', uid)).snapshotChanges().pipe(
map(changes => {
return changes.map(userData => {
const cUser = userData.payload.doc.data() as User;
return cUser ? cUser.admin : false;
});
})
)
)
);
}
})
);
Это ошибка, которую показывает моя IDE:
Кто-нибудь знает, что я делаюздесь не так?