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
|