Browse Source

More seasons hook up

new_auth
Dan 2 years ago
parent
commit
42042efc72
  1. 61
      packages/bridge-ui/src/app/services/seasons.service.ts

61
packages/bridge-ui/src/app/services/seasons.service.ts

@ -10,23 +10,68 @@ import { Season } from '../models/season.model';
export class SeasonsService { export class SeasonsService {
seasons: Season[] = []; seasons: Season[] = [];
useTestData: boolean = true;
constructor(private httpClient: HttpClient) { constructor(private httpClient: HttpClient) {
} }
private convertToClientSeason(data: any): Season {
let _season = new Season();
_season.id = data.id.toString();
_season.title = data.title;
_season.subTitle = data.subTitle;
_season.startingDate = new Date(data.startingDate);
_season.racers = [];
if ("races" in Object.keys(data)) {
_season.races = data.races;
} else {
_season.races = [];
}
_season.standings = [];
return _season;
}
getAllSeasons(): Observable<Array<Season>> { getAllSeasons(): Observable<Array<Season>> {
return this.httpClient.get<Array<Season>>("assets/Seasons.json") if(this.useTestData) {
return this.httpClient.get<Array<Season>>("assets/Seasons.json");
}
let promise = new Promise<Array<Season>>((resolve, reject) =>{
this.httpClient.get<Array<Season>>("http://localhost:3000/seasons/").subscribe(data => {
let seasons: Season[] = [];
for(let server_season of data) {
let _season = this.convertToClientSeason(server_season);
seasons.push(_season)
console.log(_season)
console.log(server_season)
}
resolve(seasons);
//reject(undefined);
});
});
return from(promise);
} }
getSeason(id: string): Observable<Season | undefined> { getSeason(id: string): Observable<Season | undefined> {
let promise = new Promise<Season|undefined>((resolve, reject) =>{ if(this.useTestData) {
this.httpClient.get<Array<Season>>("assets/Seasons.json").subscribe(data => { let promise = new Promise<Season|undefined>((resolve, reject) =>{
for(let season of data) { this.httpClient.get<Array<Season>>("assets/Seasons.json").subscribe(data => {
if(season.id == id) { for(let season of data) {
resolve(season); if(season.id.toString() == id) {
resolve(season);
}
} }
} reject(undefined);
reject(undefined); });
});
return from(promise);
}
let promise = new Promise<Season|undefined>((resolve, reject) =>{
this.httpClient.get<Array<Season>>("http://localhost:3000/seasons/"+id).subscribe(data => {
let _season = this.convertToClientSeason(data);
resolve(_season);
}); });
}); });
return from(promise); return from(promise);

Loading…
Cancel
Save