165 lines
5.3 KiB
TypeScript
165 lines
5.3 KiB
TypeScript
// import { Component, Input, Output, EventEmitter, AfterContentInit, OnInit, OnDestroy } from '@angular/core';
|
|
// import { Store, select } from '@ngrx/store';
|
|
// import { Observable, of, Subscription } from 'rxjs';
|
|
// import { catchError, exhaustMap, map, tap, take } from 'rxjs/operators';
|
|
// import { ConfirmationService, Message } from 'primeng/primeng';
|
|
|
|
// import { NoAuthProbe } from '@overflow/commons-typescript/model/noauth';
|
|
// import { AuthSelector } from '@overflow/shared/auth/store';
|
|
// import { DomainMember } from '@overflow/commons-typescript/model/domain';
|
|
|
|
// import { NoAuthProbeService } from '../service/noauth-probe.service';
|
|
// import { NoAuthProbeSubscriber, NoAuthProbeNotify } from '../subscriber/noauth-probe.subscriber';
|
|
// import { InfraHostIP, InfraHost } from '@overflow/commons-typescript';
|
|
|
|
// @Component({
|
|
// selector: 'of-noauth-probe-list',
|
|
// templateUrl: './noauth-probe-list.component.html',
|
|
// providers: [ConfirmationService]
|
|
// })
|
|
// export class NoAuthProbeListComponent implements OnInit, OnDestroy {
|
|
// pending$: Observable<boolean>;
|
|
// error$: Observable<any>;
|
|
|
|
// noauthProbes: NoAuthProbe[];
|
|
// noauthProbeSubscription: Subscription;
|
|
|
|
// selectedInfraHost: InfraHost;
|
|
// visibleNICs: boolean;
|
|
|
|
// constructor(
|
|
// private confirmationService: ConfirmationService,
|
|
// private store: Store<any>,
|
|
// private noAuthProbeService: NoAuthProbeService,
|
|
// private noAuthProbeSubscriber: NoAuthProbeSubscriber,
|
|
// ) {
|
|
// this.noauthProbes = [];
|
|
// this.noauthProbeSubscription = null;
|
|
// }
|
|
|
|
// ngOnInit() {
|
|
// this.store.pipe(
|
|
// tap(() => {
|
|
// this.pending$ = of(true);
|
|
// }),
|
|
// select(AuthSelector.selectDomainMember),
|
|
// exhaustMap((domainMember: DomainMember) =>
|
|
// this.noAuthProbeService.readAllByDomainID(domainMember.domain.id)
|
|
// .pipe(
|
|
// map((noauthProbes: NoAuthProbe[]) => {
|
|
// this.setNoauthProbes(noauthProbes);
|
|
// }),
|
|
// catchError(error => {
|
|
// this.setError$(error);
|
|
// return of();
|
|
// })
|
|
// )
|
|
// ),
|
|
// tap(() => {
|
|
// this.pending$ = of(false);
|
|
// }),
|
|
// take(1),
|
|
// ).subscribe();
|
|
|
|
// this.noauthProbeSubscription = this.noAuthProbeSubscriber.observable().pipe(
|
|
// tap((noAuthProbeNotify: NoAuthProbeNotify) => {
|
|
// const noauthProbes = [];
|
|
// this.noauthProbes.forEach(noauthProbe => {
|
|
// const n = noAuthProbeNotify.params;
|
|
// if (noauthProbe.id === n.id) {
|
|
// noauthProbes.push(n);
|
|
// } else {
|
|
// noauthProbes.push(noauthProbe);
|
|
// }
|
|
// });
|
|
|
|
// this.setNoauthProbes(noauthProbes);
|
|
// }
|
|
// ),
|
|
// ).subscribe();
|
|
// }
|
|
|
|
// ngOnDestroy(): void {
|
|
// if (null !== this.noauthProbeSubscription) {
|
|
// this.noauthProbeSubscription.unsubscribe();
|
|
// }
|
|
// }
|
|
|
|
// onAccept(infraHost: InfraHost) {
|
|
// this.selectedInfraHost = infraHost;
|
|
// this.visibleNICs = true;
|
|
// }
|
|
|
|
// onAcceptOrDeny(isAccept: boolean, selected: NoAuthProbe) {
|
|
// const title = isAccept ?
|
|
// 'Are you sure to accept this Probe?' : 'Are you sure to deny this Probe';
|
|
// const message = isAccept ?
|
|
// 'Start collecting data as a Probe.' : 'It will be permanently deleted.';
|
|
|
|
// this.confirmationService.confirm({
|
|
// header: title,
|
|
// message: message,
|
|
// icon: isAccept ? 'fa-check' : 'fa fa-trash',
|
|
// accept: () => {
|
|
// if (isAccept) {
|
|
// this.noAuthProbeService.acceptNoAuthProbe(selected.id)
|
|
// .pipe(
|
|
// tap(() => {
|
|
// this.pending$ = of(true);
|
|
// }),
|
|
// map((noauthProbes: NoAuthProbe[]) => {
|
|
// this.setNoauthProbes(noauthProbes);
|
|
// }),
|
|
// catchError(error => {
|
|
// this.setError$(error);
|
|
// return of();
|
|
// }),
|
|
// tap(() => {
|
|
// this.pending$ = of(false);
|
|
// }),
|
|
// take(1),
|
|
// ).subscribe();
|
|
// } else {
|
|
// this.noAuthProbeService.denyNoauthProbe(selected.id)
|
|
// .pipe(
|
|
// tap(() => {
|
|
// this.pending$ = of(true);
|
|
// }),
|
|
// map((noauthProbes: NoAuthProbe[]) => {
|
|
// this.setNoauthProbes(noauthProbes);
|
|
// }),
|
|
// catchError(error => {
|
|
// this.setError$(error);
|
|
// return of();
|
|
// }),
|
|
// tap(() => {
|
|
// this.pending$ = of(false);
|
|
// }),
|
|
// take(1),
|
|
// ).subscribe();
|
|
// }
|
|
// },
|
|
// reject: () => {
|
|
// }
|
|
// });
|
|
// }
|
|
|
|
// private setNoauthProbes(noauthProbes: NoAuthProbe[]): void {
|
|
// if (null === noauthProbes) {
|
|
// return;
|
|
// }
|
|
// noauthProbes.forEach(noauthProbe => {
|
|
// noauthProbe.infraHost = JSON.parse(noauthProbe.infraHostMeta);
|
|
// });
|
|
// this.noauthProbes = noauthProbes;
|
|
// }
|
|
|
|
// private setError$(error: any): void {
|
|
// this.error$ = of(error);
|
|
// }
|
|
|
|
// onNICSelected(infraHostIP: InfraHostIP) {
|
|
// console.log(infraHostIP);
|
|
// }
|
|
// }
|