Browse Source

More seasons hook up

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

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

@ -10,19 +10,55 @@ import { Season } from '../models/season.model';
export class SeasonsService {
seasons: Season[] = [];
useTestData: boolean = true;
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>> {
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> {
if(this.useTestData) {
let promise = new Promise<Season|undefined>((resolve, reject) =>{
this.httpClient.get<Array<Season>>("assets/Seasons.json").subscribe(data => {
for(let season of data) {
if(season.id == id) {
if(season.id.toString() == id) {
resolve(season);
}
}
@ -32,6 +68,15 @@ export class SeasonsService {
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);
}
create(title: string, subTitle: string, startingDate: Date) {
return this.httpClient.post("http://localhost:3000/seasons/", {title, subTitle, startingDate});
}

Loading…
Cancel
Save