[auth] properly refresh user when auth object changes
				
					
				
			This commit is contained in:
		
							parent
							
								
									dfbec0ceef
								
							
						
					
					
						commit
						e6266ecedc
					
				| @ -1,3 +1,4 @@ | ||||
| import { Router, NavigationStart } from '@angular/router'; | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { HttpClient, HttpParams } from '@angular/common/http'; | ||||
| import { StateService } from './state.service'; | ||||
| @ -30,16 +31,20 @@ const SERVICES_API_PREFIX = `/api/v1/services`; | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class ServicesApiServices { | ||||
|   private apiBaseUrl: string; // base URL is protocol, hostname, and port
 | ||||
|   private apiBasePath: string; // network path is /testnet, etc. or '' for mainnet
 | ||||
|   apiBaseUrl: string; // base URL is protocol, hostname, and port
 | ||||
|   apiBasePath: string; // network path is /testnet, etc. or '' for mainnet
 | ||||
| 
 | ||||
|   userSubject$ = new ReplaySubject<IUser | null>(1); | ||||
|   currentAuth = null; | ||||
| 
 | ||||
|   constructor( | ||||
|     private httpClient: HttpClient, | ||||
|     private stateService: StateService, | ||||
|     private storageService: StorageService | ||||
|     private storageService: StorageService, | ||||
|     private router: Router, | ||||
|   ) { | ||||
|     this.currentAuth = localStorage.getItem('auth'); | ||||
| 
 | ||||
|     this.apiBaseUrl = ''; // use relative URL by default
 | ||||
|     if (!stateService.isBrowser) { // except when inside AU SSR process
 | ||||
|       this.apiBaseUrl = this.stateService.env.NGINX_PROTOCOL + '://' + this.stateService.env.NGINX_HOSTNAME + ':' + this.stateService.env.NGINX_PORT; | ||||
| @ -59,6 +64,15 @@ export class ServicesApiServices { | ||||
|     } | ||||
| 
 | ||||
|     this.getUserInfo$().subscribe(); | ||||
|     console.log('refresh user'); | ||||
|     this.router.events.subscribe((event) => { | ||||
|       if (event instanceof NavigationStart) { | ||||
|         if (this.currentAuth !== localStorage.getItem('auth')) { | ||||
|           console.log('refresh user'); | ||||
|           this.getUserInfo$().subscribe(); | ||||
|         } | ||||
|       } | ||||
|     }); | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user