|
@@ -17,19 +17,23 @@ export class TracksApiService {
|
|
|
) { }
|
|
) { }
|
|
|
|
|
|
|
|
public getTracks(searchParams: TrackSearchParams): Promise<ResultPage<Track>> {
|
|
public getTracks(searchParams: TrackSearchParams): Promise<ResultPage<Track>> {
|
|
|
- return lastValueFrom(this.http.get<ResultPage<Track>>(this.config.apiUri(`/api/tracks`), { params: searchParams.toHttpParams() }));
|
|
|
|
|
|
|
+ return lastValueFrom(this.http.get<ResultPage<Track>>(this.config.apiUri(`/api/tracks`), { params: searchParams.toHttpParams() }))
|
|
|
|
|
+ .then(page => (ResultPage<Track>).deserialize(page, Track));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public createTrack(formData: FormData): Promise<Track> {
|
|
public createTrack(formData: FormData): Promise<Track> {
|
|
|
- return lastValueFrom(this.http.post<Track>(this.config.apiUri(`/api/tracks`), formData));
|
|
|
|
|
|
|
+ return lastValueFrom(this.http.post<Track>(this.config.apiUri(`/api/tracks`), formData))
|
|
|
|
|
+ .then(track => Track.deserialize(track));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public getTrack(trackId: string): Promise<Track> {
|
|
public getTrack(trackId: string): Promise<Track> {
|
|
|
- return lastValueFrom(this.http.get<Track>(this.config.apiUri(`/api/tracks/${trackId}`)));
|
|
|
|
|
|
|
+ return lastValueFrom(this.http.get<Track>(this.config.apiUri(`/api/tracks/${trackId}`)))
|
|
|
|
|
+ .then(track => Track.deserialize(track));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public updateTrack(track: Track): Promise<Track> {
|
|
public updateTrack(track: Track): Promise<Track> {
|
|
|
- return lastValueFrom(this.http.put<Track>(this.config.apiUri(`/api/tracks/${track.trackId}`), track));
|
|
|
|
|
|
|
+ return lastValueFrom(this.http.put<Track>(this.config.apiUri(`/api/tracks/${track.trackId}`), track))
|
|
|
|
|
+ .then(track => Track.deserialize(track));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public deleteTrack(track: Track): Promise<void> {
|
|
public deleteTrack(track: Track): Promise<void> {
|