Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. refreshAccountDetails$ = new BehaviorSubject <void> (null);
  2.  
  3. accountDetails$ = this.refreshAccountDetails$.pipe(
  4. distinctUntilChanged(),
  5. switchMap(() => this.getAccountDetails()),
  6. shareReplay());
  7.  
  8. submitForm() {
  9. this.userService.accountDetails$.pipe(take(1)).subscribe(accountDetails => {
  10. const submitModel = ...
  11. this.userService.onboarding(submitModel)
  12. .subscribe(() => {
  13. this.router.navigateByUrl(dashboard_path);
  14. });
  15. });
  16. }
  17.  
  18. onboarding(request: OnboardingRequest): Observable<ClientDetailsResponse> {
  19. return this.http.postTyped<ClientDetailsResponse>(this.ONBOARDING_ENDPOINT, request).pipe(
  20. tap(() => {
  21. this.refreshAccountDetails$.next(null);
  22. })
  23. );
  24. }
  25.  
  26. export class OnboardingRequiredGuard implements CanActivate {
  27. canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
  28. return this.userService.accountDetails$.pipe(
  29. map(accountDetails => {
  30. if (!accountDetails.isLpOnboardingFilled) {
  31. return this.router.parseUrl(_OnboardingPath_);
  32. }
  33. return true;
  34. })
  35. );
  36. }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement