| 
									
										
										
										
											2016-01-11 13:49:12 +01:00
										 |  |  | // #docregion
 | 
					
						
							| 
									
										
										
										
											2016-06-08 01:06:25 +02:00
										 |  |  | import { Injectable } from '@angular/core'; | 
					
						
							| 
									
										
										
										
											2016-01-11 13:49:12 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-03 11:16:46 -07:00
										 |  |  | export class User { | 
					
						
							|  |  |  |   constructor( | 
					
						
							| 
									
										
										
										
											2016-06-08 01:06:25 +02:00
										 |  |  |     public name: string, | 
					
						
							|  |  |  |     public isAuthorized = false) { } | 
					
						
							| 
									
										
										
										
											2016-06-03 11:16:46 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Todo: get the user; don't 'new' it.
 | 
					
						
							|  |  |  | let alice = new User('Alice', true); | 
					
						
							|  |  |  | let bob = new User('Bob', false); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-11 13:49:12 +01:00
										 |  |  | @Injectable() | 
					
						
							|  |  |  | export class UserService { | 
					
						
							| 
									
										
										
										
											2016-06-03 11:16:46 -07:00
										 |  |  |   user = bob;  // initial user is Bob
 | 
					
						
							| 
									
										
										
										
											2016-01-11 13:49:12 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-03 11:16:46 -07:00
										 |  |  |   // swap users
 | 
					
						
							| 
									
										
										
										
											2016-01-11 13:49:12 +01:00
										 |  |  |   getNewUser() { | 
					
						
							| 
									
										
										
										
											2016-06-03 11:16:46 -07:00
										 |  |  |     return this.user = this.user === bob ? alice : bob; | 
					
						
							| 
									
										
										
										
											2016-01-11 13:49:12 +01:00
										 |  |  |   } | 
					
						
							|  |  |  | } |