| 
									
										
										
										
											2016-04-27 11:28:22 -07:00
										 |  |  | import {Injectable} from '@angular/core'; | 
					
						
							| 
									
										
										
										
											2015-11-28 20:43:09 -08:00
										 |  |  | import {Hero} from './hero'; | 
					
						
							|  |  |  | import {BackendService} from './backend.service'; | 
					
						
							|  |  |  | import {Logger} from './logger.service'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @Injectable() | 
					
						
							| 
									
										
										
										
											2015-12-17 13:49:33 -08:00
										 |  |  | // #docregion class
 | 
					
						
							| 
									
										
										
										
											2015-11-28 20:43:09 -08:00
										 |  |  | export class HeroService { | 
					
						
							| 
									
										
										
										
											2015-12-17 13:49:33 -08:00
										 |  |  |   // #docregion ctor
 | 
					
						
							|  |  |  |   constructor( | 
					
						
							|  |  |  |     private _backend: BackendService, | 
					
						
							|  |  |  |     private _logger: Logger) { } | 
					
						
							|  |  |  |   // #enddocregion ctor
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-27 11:28:22 -07:00
										 |  |  |   private _heroes: Hero[] = []; | 
					
						
							| 
									
										
										
										
											2015-12-11 15:37:35 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-28 20:43:09 -08:00
										 |  |  |   getHeroes() { | 
					
						
							| 
									
										
										
										
											2016-04-27 11:28:22 -07:00
										 |  |  |     this._backend.getAll(Hero).then( (heroes: Hero[]) => { | 
					
						
							| 
									
										
										
										
											2015-12-17 13:49:33 -08:00
										 |  |  |       this._logger.log(`Fetched ${heroes.length} heroes.`); | 
					
						
							|  |  |  |       this._heroes.push(...heroes); // fill cache
 | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |     return this._heroes; | 
					
						
							| 
									
										
										
										
											2015-11-28 20:43:09 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-04-27 11:28:22 -07:00
										 |  |  | // #enddocregion class
 |