2015-12-11 15:37:35 -08:00
|
|
|
import {Injectable} from 'angular2/core';
|
2015-11-28 20:43:09 -08:00
|
|
|
import {Logger} from './logger.service';
|
|
|
|
import {Hero} from './hero';
|
|
|
|
|
|
|
|
@Injectable()
|
|
|
|
export class BackendService {
|
|
|
|
constructor(private _logger: Logger) {}
|
2015-12-11 15:37:35 -08:00
|
|
|
|
2015-11-28 20:43:09 -08:00
|
|
|
getAll<T>(type: {new(...args:any[]): any }) : any[]{
|
|
|
|
if (type === Hero) {
|
|
|
|
// TODO get from the database and return as a promise
|
|
|
|
return [
|
2015-12-11 15:37:35 -08:00
|
|
|
new Hero('Windstorm', 'Weather mastery'),
|
|
|
|
new Hero('Mr. Nice', 'Killing them with kindness'),
|
2015-11-30 14:13:24 -08:00
|
|
|
new Hero('Magneta', 'Manipulates metalic objects')];
|
2015-11-28 20:43:09 -08:00
|
|
|
}
|
|
|
|
let err = new Error('Cannot get object of this type');
|
|
|
|
this._logger.error(err);
|
|
|
|
throw err;
|
|
|
|
}
|
|
|
|
}
|