import {inject, Injectable} from '@angular/core'; import {environment} from "../../environments/environment"; import {HttpClient, HttpParams} from "@angular/common/http"; import {Observable} from "rxjs"; import {VsDuelDetailModel, VsDuelModel} from "../models/vsDuel.model"; import {PagedResponseModel} from "../models/pagedResponse.model"; @Injectable({ providedIn: 'root' }) export class VsDuelService { private readonly _serviceUrl = environment.apiBaseUrl + 'VsDuels/'; private readonly _httpClient: HttpClient = inject(HttpClient); public getVsDuel(vsDuelId: string): Observable { return this._httpClient.get(this._serviceUrl + vsDuelId); } public getAllianceVsDuels(allianceId: string, pageNumber: number, pageSize: number): Observable> { let params = new HttpParams(); params = params.append('pageNumber', pageNumber); params = params.append('pageSize', pageSize); return this._httpClient.get>(this._serviceUrl + 'Alliance/' + allianceId, {params: params}); } public getVsDuelDetail(vsDuelId: string): Observable { return this._httpClient.get(this._serviceUrl + 'GetDetailVsDuel/' + vsDuelId); } public createVsDuel(vsDuel: VsDuelModel): Observable { return this._httpClient.post(this._serviceUrl, vsDuel); } public updateVsDuel(vsDuelId: string, vsDuel: VsDuelModel): Observable { return this._httpClient.put(this._serviceUrl + vsDuelId, vsDuel); } public deleteVsDuel(vsDuelId: string): Observable { return this._httpClient.delete(this._serviceUrl + vsDuelId); } }