Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- refreshAccountDetails$ = new BehaviorSubject <void> (null);
- accountDetails$ = this.refreshAccountDetails$.pipe(
- distinctUntilChanged(),
- switchMap(() => this.getAccountDetails()),
- shareReplay());
- submitForm() {
- this.userService.accountDetails$.pipe(take(1)).subscribe(accountDetails => {
- const submitModel = ...
- this.userService.onboarding(submitModel)
- .subscribe(() => {
- this.router.navigateByUrl(dashboard_path);
- });
- });
- }
- onboarding(request: OnboardingRequest): Observable<ClientDetailsResponse> {
- return this.http.postTyped<ClientDetailsResponse>(this.ONBOARDING_ENDPOINT, request).pipe(
- tap(() => {
- this.refreshAccountDetails$.next(null);
- })
- );
- }
- export class OnboardingRequiredGuard implements CanActivate {
- canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
- return this.userService.accountDetails$.pipe(
- map(accountDetails => {
- if (!accountDetails.isLpOnboardingFilled) {
- return this.router.parseUrl(_OnboardingPath_);
- }
- return true;
- })
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement