|
@@ -1,7 +1,7 @@
|
|
|
import { HttpClient } from '@angular/common/http';
|
|
import { HttpClient } from '@angular/common/http';
|
|
|
import { Injectable } from '@angular/core';
|
|
import { Injectable } from '@angular/core';
|
|
|
import { lastValueFrom } from 'rxjs';
|
|
import { lastValueFrom } from 'rxjs';
|
|
|
-import { environment } from 'src/env/environment';
|
|
|
|
|
|
|
+import { ConfigService } from './config.service';
|
|
|
import { Track } from './tracks/track';
|
|
import { Track } from './tracks/track';
|
|
|
|
|
|
|
|
@Injectable({
|
|
@Injectable({
|
|
@@ -10,35 +10,36 @@ import { Track } from './tracks/track';
|
|
|
export class TracksApiService {
|
|
export class TracksApiService {
|
|
|
|
|
|
|
|
public constructor(
|
|
public constructor(
|
|
|
|
|
+ private readonly config: ConfigService,
|
|
|
private readonly http: HttpClient
|
|
private readonly http: HttpClient
|
|
|
) { }
|
|
) { }
|
|
|
|
|
|
|
|
public getTracks(): Promise<Track[]> {
|
|
public getTracks(): Promise<Track[]> {
|
|
|
- return lastValueFrom(this.http.get<Track[]>(`${environment.apiUri}/api/tracks`));
|
|
|
|
|
|
|
+ return lastValueFrom(this.http.get<Track[]>(this.config.apiUri(`/api/tracks`)));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public createTrack(formData: FormData): Promise<Track> {
|
|
public createTrack(formData: FormData): Promise<Track> {
|
|
|
- return lastValueFrom(this.http.post<Track>(`${environment.apiUri}/api/tracks`, formData));
|
|
|
|
|
|
|
+ return lastValueFrom(this.http.post<Track>(this.config.apiUri(`/api/tracks`), formData));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public getTrack(trackId: string): Promise<Track> {
|
|
public getTrack(trackId: string): Promise<Track> {
|
|
|
- return lastValueFrom(this.http.get<Track>(`${environment.apiUri}/api/tracks/${trackId}`));
|
|
|
|
|
|
|
+ return lastValueFrom(this.http.get<Track>(this.config.apiUri(`/api/tracks/${trackId}`)));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public updateTrack(track: Track): Promise<Track> {
|
|
public updateTrack(track: Track): Promise<Track> {
|
|
|
- return lastValueFrom(this.http.put<Track>(`${environment.apiUri}/api/tracks/${track.trackId}`, track));
|
|
|
|
|
|
|
+ return lastValueFrom(this.http.put<Track>(this.config.apiUri(`/api/tracks/${track.trackId}`), track));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public deleteTrack(track: Track): Promise<void> {
|
|
public deleteTrack(track: Track): Promise<void> {
|
|
|
- return lastValueFrom(this.http.delete(`${environment.apiUri}/api/tracks/${track.trackId}`)).then();
|
|
|
|
|
|
|
+ return lastValueFrom(this.http.delete(this.config.apiUri(`/api/tracks/${track.trackId}`))).then();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public getTrackGpxUrl(track: Track): string {
|
|
public getTrackGpxUrl(track: Track): string {
|
|
|
- return `${environment.apiUri}/api/tracks/download/${track.fileHash}`;
|
|
|
|
|
|
|
+ return this.config.apiUri(`/api/tracks/download/${track.fileHash}`);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public downloadTrack(track: Track): Promise<{ blob: Blob | null, filename?: string }> {
|
|
public downloadTrack(track: Track): Promise<{ blob: Blob | null, filename?: string }> {
|
|
|
- return lastValueFrom(this.http.get(`${environment.apiUri}/api/tracks/download/${track.fileHash}`, {
|
|
|
|
|
|
|
+ return lastValueFrom(this.http.get(this.config.apiUri(`/api/tracks/download/${track.fileHash}`), {
|
|
|
responseType: 'blob',
|
|
responseType: 'blob',
|
|
|
observe: 'response'
|
|
observe: 'response'
|
|
|
})).then(response => {
|
|
})).then(response => {
|