1234567891011121314151617181920212223242526272829303132333435 |
- import {HttpClient, HttpHeaders} from '@angular/common/http';
- import {Injectable} from '@angular/core';
- import {Observable} from 'rxjs';
- import {ApiResultModel} from '../models/api-result.model';
- import {AppStateService} from './app-state.service';
- import {VpnStatusModel} from '../models/vpn/vpn-status.model';
- import {DnsStatusModel} from '../models/dns/dns-status.model';
- import {share} from 'rxjs/operators';
-
- const httpPostOptions = {
- headers: new HttpHeaders({ 'Content-Type': 'application/json' })
- };
-
- @Injectable({ providedIn: 'root' })
- export class StatusService {
- private urlBase = 'api/status';
-
- constructor(private http: HttpClient, private appStateService: AppStateService) { }
-
- getVpnStatus(): Observable<ApiResultModel<VpnStatusModel>> {
- const obs = this.http.get<ApiResultModel<VpnStatusModel>>(`${this.urlBase}/vpn`).pipe(share());
- obs.subscribe(vpnStatus => {
- this.appStateService.updateVpnStatus(vpnStatus.data);
- });
- return obs;
- }
-
- getDnsStatus(): Observable<ApiResultModel<DnsStatusModel>> {
- const obs = this.http.get<ApiResultModel<DnsStatusModel>>(`${this.urlBase}/dns`).pipe(share());
- obs.subscribe(dnsStatus => {
- this.appStateService.updateDnsStatus(dnsStatus.data);
- });
- return obs;
- }
- }
|