import { HttpClient } from '@angular/common/http'; import { Inject, Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { Profile } from './models/profile.model'; import { Setting } from './models/setting.model'; import { APP_BASE_HREF } from '@angular/common'; @Injectable({ providedIn: 'root', }) export class SettingsService { constructor(private http: HttpClient, @Inject(APP_BASE_HREF) private baseHref: string) {} public get(): Observable { return this.http.get(`${this.baseHref}Api/Settings`); } public update(settings: Setting[]): Observable { return this.http.put(`${this.baseHref}Api/Settings`, settings); } public getProfile(): Observable { return this.http.get(`${this.baseHref}Api/Settings/Profile`); } public testPath(path: string): Observable { return this.http.post(`${this.baseHref}Api/Settings/TestPath`, { path }); } public testDownloadSpeed(): Observable { return this.http.get(`${this.baseHref}Api/Settings/TestDownloadSpeed`); } public testWriteSpeed(): Observable { return this.http.get(`${this.baseHref}Api/Settings/TestWriteSpeed`); } public testAria2cConnection(url: string, secret: string): Observable<{ version: string }> { return this.http.post<{ version: string }>(`${this.baseHref}Api/Settings/TestAria2cConnection`, { url, secret, }); } }