member_webapp/@overflow/infra/service/infra.service.ts

57 lines
1.9 KiB
TypeScript
Raw Normal View History

2018-04-06 11:02:18 +00:00
import { Injectable } from '@angular/core';
2018-06-04 08:25:29 +00:00
import { Observable } from 'rxjs';
2018-05-24 06:44:13 +00:00
import { RPCService } from '@loafer/ng-rpc';
2018-05-02 08:09:39 +00:00
import { Infra } from '@overflow/commons-typescript/model/infra';
2018-06-07 07:28:27 +00:00
import { Page, PageParams } from '@overflow/commons-typescript/core/model';
2018-06-12 13:21:53 +00:00
import { Host, Service } from '@overflow/commons-typescript';
2018-06-21 09:24:37 +00:00
import { gzip } from 'pako';
2018-06-21 09:05:07 +00:00
2018-04-06 11:02:18 +00:00
@Injectable()
export class InfraService {
public constructor(
private rpcService: RPCService,
) {
}
2018-06-12 13:21:53 +00:00
public regist(infra: Infra): Observable<Infra> {
return this.rpcService.call<Infra>('InfraService.regist', infra);
}
public registDiscoverd(probeID: number, hosts: Host[], services: Service[]): Observable<Infra[]> {
2018-06-21 09:05:07 +00:00
const discoverd = {
hosts: hosts,
services: services,
};
const json = JSON.stringify(discoverd);
2018-06-21 09:24:37 +00:00
const compressed = gzip(json, { to: 'string' });
2018-06-21 09:05:07 +00:00
const base64 = btoa(compressed);
return this.rpcService.call<Infra[]>('InfraService.registDiscoverd', probeID, base64);
2018-06-12 13:21:53 +00:00
}
2018-04-06 11:02:18 +00:00
2018-06-14 04:38:51 +00:00
public read(id: string): Observable<Infra> {
return this.rpcService.call<Infra>('InfraService.read', id);
}
2018-06-07 06:07:45 +00:00
public readAllByProbeID(probeID: number, pageParams: PageParams): Observable<Page<Infra>> {
return this.rpcService.call<Page<Infra>>('InfraService.readAllByProbeID', probeID, pageParams);
}
2018-04-19 10:26:39 +00:00
2018-06-12 13:21:53 +00:00
public readAllByDomainID(domainID: number, pageParams: PageParams): Observable<Page<Infra>> {
return this.rpcService.call<Page<Infra>>('InfraService.readAllByDomainID', domainID, pageParams);
2018-04-19 10:26:39 +00:00
}
2018-06-12 05:45:21 +00:00
2018-06-12 13:21:53 +00:00
public readAllInfraZoneByProbeDomainID(probeDomainID: number): Observable<Infra[]> {
return this.rpcService.call<Infra[]>('InfraService.readAllInfraZoneByProbeDomainID', probeDomainID);
2018-06-12 05:45:21 +00:00
}
2018-06-21 09:35:24 +00:00
public readAllByMetaInfraTypeKeyAndProbeID(metaInfraTypeKey: string, probeID: number): Observable<Infra[]> {
return this.rpcService.call<Infra[]>('InfraService.readAllByMetaInfraTypeKeyAndProbeID', metaInfraTypeKey, probeID);
}
2018-04-06 11:02:18 +00:00
}