26 lines
672 B
TypeScript
26 lines
672 B
TypeScript
import { Injectable, Type } from '@angular/core';
|
|
|
|
import { Logger } from './logger.service';
|
|
import { Hero } from './hero';
|
|
|
|
const HEROES = [
|
|
new Hero('Windstorm', 'Weather mastery'),
|
|
new Hero('Mr. Nice', 'Killing them with kindness'),
|
|
new Hero('Magneta', 'Manipulates metalic objects')
|
|
];
|
|
|
|
@Injectable()
|
|
export class BackendService {
|
|
constructor(private logger: Logger) {}
|
|
|
|
getAll(type: Type): PromiseLike<any[]> {
|
|
if (type === Hero) {
|
|
// TODO get from the database
|
|
return Promise.resolve<Hero[]>(HEROES);
|
|
}
|
|
let err = new Error('Cannot get object of this type');
|
|
this.logger.error(err);
|
|
throw err;
|
|
}
|
|
}
|