| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import { Injectable } from '@angular/core';
- import { HttpClient } from '@angular/common/http';
- import { firstValueFrom, map } from 'rxjs';
- import { HttpCheckData, ServiceCheckData } from '../../../../common/lib/http-check-data.module';
- import { environment } from 'src/environments/environment';
- @Injectable({
- providedIn: 'root'
- })
- export class ServiceApiService {
- constructor(private http: HttpClient) {}
- public loadServiceChecks(serverID: number): Promise<HttpCheckConfig[]> {
- return firstValueFrom(this.http.get<HttpCheckConfig[]>(`${environment.apiBaseUrl}services/${serverID}`));
- }
- public getServiceCheck(serverID: number, serviceID: number) {
- return firstValueFrom(this.http.get<HttpCheckConfig>(`${environment.apiBaseUrl}services/${serverID}/${serviceID}`));
- }
- public saveServiceCheck(serverId: number, checkConfig: HttpCheckConfig): Promise<HttpCheckConfig> {
- return firstValueFrom(this.http.put<HttpCheckConfig>(`${environment.apiBaseUrl}services/${serverId}`, checkConfig));
- }
- public deleteServiceCheck(serverID: number, serviceID: number): Promise<boolean> {
- return firstValueFrom(this.http.delete<any>(`${environment.apiBaseUrl}services/${serverID}/${serviceID}`).pipe(map(() => true)));
- }
- public queryServiceData(serverID: number, serviceID: number, start: Date, end: Date) {
- return firstValueFrom(
- this.http
- .get<QueryResponse<ServiceCheckData[]>>(`${environment.apiBaseUrl}services/${serverID}/${serviceID}/data`, {
- params: { start: start.toISOString(), end: end.toISOString() }
- })
- .pipe(map(resp => resp.data.map(data => ({ ...data, time: new Date(data.time) })) as ServiceCheckData[]))
- );
- }
- public queryServiceLog(serverID: number, serviceID: number, start: Date, end: Date) {
- return firstValueFrom(
- this.http
- .get<QueryResponse<ServiceCheckData[]>>(`${environment.apiBaseUrl}services/${serverID}/${serviceID}/logs`, {
- params: { start: start.toISOString(), end: end.toISOString() }
- })
- .pipe(map(resp => resp.data.map(data => ({ ...data, time: new Date(data.time) })) as ServiceCheckData[]))
- );
- }
- public testServiceCheck(checkConfig: HttpCheckConfig): Promise<HttpCheckData[]> {
- return firstValueFrom(
- this.http
- .post<HttpCheckData[]>(`${environment.apiBaseUrl}services/test`, checkConfig)
- .pipe(map(resp => resp.map(data => ({ ...data, time: new Date(data.time) }))))
- );
- }
- }
|