Commit 4ff55834 authored by ari_darmawan's avatar ari_darmawan

fitur test ping

parent eb6381be
...@@ -13,6 +13,7 @@ import { LoginLogsComponent } from './login-logs/login-logs.component'; ...@@ -13,6 +13,7 @@ import { LoginLogsComponent } from './login-logs/login-logs.component';
import { AdminDashboardLogbooksComponent } from './admin-dashboard-logbooks/admin-dashboard-logbooks.component'; import { AdminDashboardLogbooksComponent } from './admin-dashboard-logbooks/admin-dashboard-logbooks.component';
import { AdminUserAgentComponent } from './admin-user-agent/admin-user-agent.component'; import { AdminUserAgentComponent } from './admin-user-agent/admin-user-agent.component';
import { LogbookComponent } from './logbook/logbook.component'; import { LogbookComponent } from './logbook/logbook.component';
import { AdminTestPingComponent } from '../admin/admin-test-ping/admin-test-ping.component'
const routes: Routes = [ const routes: Routes = [
{ {
...@@ -63,6 +64,10 @@ const routes: Routes = [ ...@@ -63,6 +64,10 @@ const routes: Routes = [
path: 'user-agent', path: 'user-agent',
component: AdminUserAgentComponent component: AdminUserAgentComponent
}, },
{
path: 'testing-server',
component: AdminTestPingComponent
},
]; ];
......
<div class="container">
<div class="row">
<div class="col-sm-3">
<div class="form-group">
<label><small>Host Or Domain <span class="text-danger">*</span></small></label>
<input type="text" class="form-control form-control-sm" [(ngModel)]="host" (keyup.enter)="request()">
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<label><small></small></label>
<button
class="btn btn-sm btn-success arataka-btn-success" style="margin-top: 29px; width: 100px;" (click)="request()">
<i class="bi bi-search"></i>
Test Ping
</button>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<ul class="list-group" *ngFor="let data of list">
<li class="list-group-item" style="margin: 10px;">{{data}}</li>
</ul>
</div>
</div>
</div>
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { AdminTestPingComponent } from './admin-test-ping.component';
describe('AdminTestPingComponent', () => {
let component: AdminTestPingComponent;
let fixture: ComponentFixture<AdminTestPingComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ AdminTestPingComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(AdminTestPingComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
import { ServiceProxyWeb, MicroService } from '../../../shared/serviceproxy/service-proxy.service';
import { interval, Subscription } from 'rxjs';
import { switchMap } from 'rxjs/operators';
@Component({
selector: 'app-admin-test-ping',
templateUrl: './admin-test-ping.component.html',
styleUrls: ['./admin-test-ping.component.css']
})
export class AdminTestPingComponent implements OnInit {
list: any[] = []
intervalSubscription: Subscription;
host: string = 'innodev.vnetcloud.com';
constructor(
private MicroService: MicroService
) { }
ngOnInit() {
}
ngOnDestroy(): void {
//Called once, before the instance is destroyed.
//Add 'implements OnDestroy' to the class.
this.stopInterval()
}
request() {
this.stopInterval()
setTimeout(() => {
this.startInterval()
}, 1000);
}
startInterval() {
const serverUrl = {
host: this.host
}; // Ganti dengan URL server Anda
this.intervalSubscription = interval(5000) // Interval setiap 1000 milidetik (1 detik)
.pipe(
switchMap(() => this.MicroService.pingServer(serverUrl))
)
.subscribe(result => {
this.list.push(result.values.output);
});
}
stopInterval() {
if (this.intervalSubscription) {
this.intervalSubscription.unsubscribe();
console.log('Interval stopped. No more pinging.');
}
}
}
...@@ -2,7 +2,7 @@ import { Component, OnInit,Injector, ViewChildren, ViewChild } from '@angular/co ...@@ -2,7 +2,7 @@ import { Component, OnInit,Injector, ViewChildren, ViewChild } from '@angular/co
import { HttpErrorResponse } from '@angular/common/http'; import { HttpErrorResponse } from '@angular/common/http';
import { FormBuilder, FormGroup } from '@angular/forms'; import { FormBuilder, FormGroup } from '@angular/forms';
import { TicketService } from '../../../shared/serviceproxy/service-proxy.service'; import { TicketService } from '../../../shared/serviceproxy/service-proxy.service';
import { ServiceProxyWeb } from '../../../shared/serviceproxy/service-proxy.service'; import { ServiceProxyWeb, MicroService } from '../../../shared/serviceproxy/service-proxy.service';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { environment } from '../../../environments/environment.prod'; import { environment } from '../../../environments/environment.prod';
declare const AratakaConfig : any; declare const AratakaConfig : any;
...@@ -55,7 +55,8 @@ export class AdminTicketComponent implements OnInit { ...@@ -55,7 +55,8 @@ export class AdminTicketComponent implements OnInit {
constructor( constructor(
private _TicketService : TicketService, private _TicketService : TicketService,
public _SP : ServiceProxyWeb public _SP : ServiceProxyWeb,
private MicroService: MicroService
) { } ) { }
ngOnInit() { ngOnInit() {
...@@ -77,7 +78,6 @@ export class AdminTicketComponent implements OnInit { ...@@ -77,7 +78,6 @@ export class AdminTicketComponent implements OnInit {
} }
this.GettingListTicketDataAPI(this.ListRequest) this.GettingListTicketDataAPI(this.ListRequest)
} }
......
...@@ -39,6 +39,7 @@ import { PipeDencryptoJs } from '../pipe/pipe-global.pipe'; ...@@ -39,6 +39,7 @@ import { PipeDencryptoJs } from '../pipe/pipe-global.pipe';
*/ */
import { NzSelectModule } from 'ng-zorro-antd'; import { NzSelectModule } from 'ng-zorro-antd';
import { NgZorroAntdModule, NzPopoverModule, NzToolTipModule } from 'ng-zorro-antd'; import { NgZorroAntdModule, NzPopoverModule, NzToolTipModule } from 'ng-zorro-antd';
import { AdminTestPingComponent } from './admin-test-ping/admin-test-ping.component';
@NgModule({ @NgModule({
declarations: [ declarations: [
/*PipeSha256, /*PipeSha256,
...@@ -70,6 +71,7 @@ import { NgZorroAntdModule, NzPopoverModule, NzToolTipModule } from 'ng-zorro- ...@@ -70,6 +71,7 @@ import { NgZorroAntdModule, NzPopoverModule, NzToolTipModule } from 'ng-zorro-
CreateAgentComponent, CreateAgentComponent,
LogbookComponent, LogbookComponent,
TabsLogbookComponent, TabsLogbookComponent,
AdminTestPingComponent,
], ],
imports: [ imports: [
PipeglobalModule, PipeglobalModule,
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
export const environment = { export const environment = {
production: false, production: false,
"APIBASEURL" : "http://crm.nobubank.com/nobucall-api-v2/", "APIBASEURL" : "http://localhost:9825/",
"MICROSERVICEURL" : "http://crm.nobubank.com/nobucall-api-log/api/v1/", "MICROSERVICEURL" : "http://crm.nobubank.com/nobucall-api-log/api/v1/",
"SITE_NAME" : "Visionet Helpdesk System", "SITE_NAME" : "Visionet Helpdesk System",
"SITE_LOGO" : "https://i0.wp.com/jogorogo.info/wp-content/uploads/2017/07/logo_visionet.png?fit=879%2C227", "SITE_LOGO" : "https://i0.wp.com/jogorogo.info/wp-content/uploads/2017/07/logo_visionet.png?fit=879%2C227",
......
...@@ -4,7 +4,8 @@ import { HttpClient,HttpHeaders, HttpRequest } from '@angular/common/http'; ...@@ -4,7 +4,8 @@ import { HttpClient,HttpHeaders, HttpRequest } from '@angular/common/http';
import {HttpResponse} from '@angular/common/http'; import {HttpResponse} from '@angular/common/http';
import {Observable} from 'rxjs'; import {Observable} from 'rxjs';
import { Http, ResponseContentType, RequestOptions } from '@angular/http'; import { Http, ResponseContentType, RequestOptions } from '@angular/http';
import { first, map } from "rxjs/operators";
import { Subscription } from 'rxjs';
//import { Observable } from 'rxjs'; //import { Observable } from 'rxjs';
import { environment } from '../../environments/environment'; import { environment } from '../../environments/environment';
...@@ -50,6 +51,16 @@ export class MicroService { ...@@ -50,6 +51,16 @@ export class MicroService {
constructor(private injector: Injector, private http : HttpClient) { } constructor(private injector: Injector, private http : HttpClient) { }
pingServer(params: object): Observable<any> {
const service = this.injector.get(ServiceProxyWeb)
let headers = new HttpHeaders({
'Content-Type': 'application/json'
});
let options = { headers: headers};
return this.http.post(API_URL +'test-ping',params , options);
}
post(url: string, request: object) { post(url: string, request: object) {
var service = this.injector.get(ServiceProxyWeb) var service = this.injector.get(ServiceProxyWeb)
var headers = new HttpHeaders({ var headers = new HttpHeaders({
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment