Browse Source

ng: renamed AdminPanelService -> ServiceAPIService

Christian Kahlau 3 years ago
parent
commit
44422e2cba

+ 1 - 0
common/types/index.d.ts

@@ -1,4 +1,5 @@
 /// <reference path="buffered-data.d.ts" />
+/// <reference path="http-check-config.d.ts" />
 /// <reference path="query-response.d.ts" />
 /// <reference path="reduced-data.d.ts" />
 /// <reference path="server-data.d.ts" />

+ 3 - 3
ng/src/app/components/admin/admin-panel/admin-panel.component.ts

@@ -1,6 +1,6 @@
 import { Component, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';
 import { faSave } from '@fortawesome/free-solid-svg-icons';
-import { AdminPanelService } from '../../../services/admin-panel.service';
+import { ServiceApiService } from '../../../services/service-api.service';
 import { ServerApiService } from '../../../services/server-api.service';
 import { ServiceCheckFormComponent } from '../../service-check-form/service-check-form.component';
 
@@ -15,7 +15,7 @@ export class AdminPanelComponent implements OnInit {
   public serviceChecks: HttpCheckConfig[] = [];
   public fa = { save: faSave };
 
-  constructor(private adminService: AdminPanelService, apiService: ServerApiService) {
+  constructor(private serviceApi: ServiceApiService, apiService: ServerApiService) {
     apiService.serverConfigs$.subscribe(data => (this.serverConfigs = data));
   }
 
@@ -23,7 +23,7 @@ export class AdminPanelComponent implements OnInit {
 
   async fetchServiceChecks(serverId: number) {
     try {
-      this.serviceChecks = await this.adminService.loadServiceChecks(serverId);
+      this.serviceChecks = await this.serviceApi.loadServiceChecks(serverId);
     } catch (error: any) {
       console.error(error);
     }

+ 3 - 3
ng/src/app/components/service-check-form/service-check-form.component.ts

@@ -1,7 +1,7 @@
 import { Component, ElementRef, Input, OnInit, QueryList, ViewChildren } from '@angular/core';
 import { FormControl, FormGroup, FormArray, FormBuilder } from '@angular/forms';
 import { faMinusSquare, faPlusSquare } from '@fortawesome/free-solid-svg-icons';
-import { AdminPanelService } from '../../services/admin-panel.service';
+import { ServiceApiService } from '../../services/service-api.service';
 import { deepCopy } from '../../../../../common/util/object-utils';
 
 @Component({
@@ -32,7 +32,7 @@ export class ServiceCheckFormComponent implements OnInit {
     checks: this.formBuilder.array([])
   });
 
-  constructor(private formBuilder: FormBuilder, private checkService: AdminPanelService) {}
+  constructor(private formBuilder: FormBuilder, private serviceApi: ServiceApiService) {}
 
   get checks(): FormArray {
     return this.serviceCheckForm.controls['checks'] as FormArray;
@@ -64,7 +64,7 @@ export class ServiceCheckFormComponent implements OnInit {
       this.serviceCheckForm.updateValueAndValidity();
       const copy = deepCopy(this.serviceCheckForm.value as HttpCheckConfig);
       copy.checks = this.checks.controls.map(e => e.value).reverse();
-      const savedCheck = await this.checkService.saveServiceCheck(this.serviceCheck.serverId as number, copy);
+      const savedCheck = await this.serviceApi.saveServiceCheck(this.serviceCheck.serverId as number, copy);
       this.patchForm(savedCheck);
     } catch (error: any) {
       console.error(error);

+ 0 - 20
ng/src/app/services/admin-panel.service.ts

@@ -1,20 +0,0 @@
-import { Injectable } from '@angular/core';
-import { ServiceConfig } from '../../../../common/interfaces/service-config.interface';
-import { environment } from '../../environments/environment';
-import { HttpClient } from '@angular/common/http';
-import { firstValueFrom } from 'rxjs';
-
-@Injectable({
-  providedIn: 'root'
-})
-export class AdminPanelService {
-  constructor(private http: HttpClient) {}
-
-  public loadServiceChecks(serverId: number): Promise<HttpCheckConfig[]> {
-    return firstValueFrom(this.http.get<HttpCheckConfig[]>(`${environment.apiBaseUrl}services/${serverId}`));
-  }
-
-  public saveServiceCheck(serverId: number, checkConfig: HttpCheckConfig): Promise<HttpCheckConfig> {
-    return firstValueFrom(this.http.put<HttpCheckConfig>(`${environment.apiBaseUrl}services/${serverId}`, checkConfig));
-  }
-}

+ 4 - 4
ng/src/app/services/admin-panel.service.spec.ts → ng/src/app/services/service-api.service.spec.ts

@@ -1,13 +1,13 @@
 import { TestBed } from '@angular/core/testing';
 
-import { AdminPanelService } from './admin-panel.service';
+import { ServiceApiService } from './service-api.service';
 
-describe('AdminPanelService', () => {
-  let service: AdminPanelService;
+describe('ServiceApiService', () => {
+  let service: ServiceApiService;
 
   beforeEach(() => {
     TestBed.configureTestingModule({});
-    service = TestBed.inject(AdminPanelService);
+    service = TestBed.inject(ServiceApiService);
   });
 
   it('should be created', () => {

+ 32 - 0
ng/src/app/services/service-api.service.ts

@@ -0,0 +1,32 @@
+import { Injectable } from '@angular/core';
+import { HttpClient } from '@angular/common/http';
+import { firstValueFrom, map } from 'rxjs';
+
+import { 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 saveServiceCheck(serverId: number, checkConfig: HttpCheckConfig): Promise<HttpCheckConfig> {
+    return firstValueFrom(this.http.put<HttpCheckConfig>(`${environment.apiBaseUrl}services/${serverId}`, checkConfig));
+  }
+
+  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.toString(), end: end.toString() }
+        })
+        .pipe(map(resp => resp.data.map(data => ({ ...data, time: new Date(data.time) })) as ServiceCheckData[]))
+    );
+  }
+}