import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';

import 'rxjs/add/operator/map';

import { RPCService } from '@loafer/ng-rpc/service';

import { Domain } from '@overflow/commons-typescript/model/domain';

import { NoAuthProbe } from '@overflow/commons-typescript/model/noauth';


@Injectable()
export class NoAuthProbeService {

  public constructor(
    private rpcService: RPCService,
  ) {

  }

  public readAllByDomain(domain: Domain): Observable<NoAuthProbe[]> {
    return this.rpcService.call<NoAuthProbe[]>('NoAuthProbeService.readAllByDomain', domain);
  }

  public acceptNoAuthProbe(noAuthProbe: NoAuthProbe): Observable<NoAuthProbe[]> {
    return this.rpcService.call<NoAuthProbe[]>('NoAuthProbeService.acceptNoAuthProbe', noAuthProbe);
  }

  public denyNoauthProbe(noAuthProbe: NoAuthProbe): Observable<NoAuthProbe[]> {
    return this.rpcService.call<NoAuthProbe[]>('NoAuthProbeService.denyNoauthProbe', noAuthProbe);
  }
}
