import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { RPCService } from '@loafer/ng-rpc'; import { Infra } from '@overflow/commons-typescript/model/infra'; import { Page, PageParams } from '@overflow/commons-typescript/core/model'; import { Host, Service } from '@overflow/commons-typescript'; @Injectable() export class InfraService { public constructor( private rpcService: RPCService, ) { } public regist(infra: Infra): Observable { return this.rpcService.call('InfraService.regist', infra); } public read(id: string): Observable { return this.rpcService.call('InfraService.read', id); } public registDiscoverd(probeID: number, hosts: Host[], services: Service[]): Observable { return this.rpcService.call('InfraService.registDiscoverd', probeID, hosts, services); } public readAllByProbeID(probeID: number, pageParams: PageParams): Observable> { return this.rpcService.call>('InfraService.readAllByProbeID', probeID, pageParams); } public readAllByDomainID(domainID: number, pageParams: PageParams): Observable> { return this.rpcService.call>('InfraService.readAllByDomainID', domainID, pageParams); } public readAllInfraZoneByProbeDomainID(probeDomainID: number): Observable { return this.rpcService.call('InfraService.readAllInfraZoneByProbeDomainID', probeDomainID); } }