У меня проблемы с вводом объекта в состояние моего приложения.
Мне нужно смонтировать объект с данными, возвращенными с firebase.user
и user.getIdTokenResult(true)
.
Пример:
userLogged = {
uid: user.uid,
displayName: user.displayName
admin: false,
};
const token = await user.getIdTokenResult (true);
userLogged.admin = token.claims.admin;
Логика аналогична приведенной выше, однако мне нужно сделать это, используя только операторы Rxjs, чтобы я мог изолировать этот объект в состоянии моего приложения.
@ Эффект
@Effect()
getUser$: Observable<Action> = this.actions$.pipe(
ofType(auth.AuthActionTypes.GET_USER),
switchMap(() => this.authService.getUser().pipe(
map(user => {
const userLogged = {
uid: user.uid,
displayName: user.displayName,
admin: false,
}
// **** i need call user.getIdTokenResult() ******
// and get claims.admin and assign to userLogged object admin.
// authState = {
// uid: user.uid,
// displayName: user.displayName,
// admin: true, // true or false
// }
return new auth.Authenticated(userLogged);
}),
catchError((err => of(new auth.AuthError(err))))
)
Я все еще адаптируюсь, используя реактивное программирование с использованием Rxjs, поэтому мне трудно объединять инкапсулированные данные Observables.