1 import {Injectable} from '@angular/core';
2 import {Observable} from 'rxjs';
3 import {ServiceInfoModel} from './serviceInfo.model';
4 import {HttpClient, HttpHeaders} from '@angular/common/http';
5 import { of } from 'rxjs';
6 import { map } from 'rxjs/operators';
7 import {Constants} from '../../utils/constants';
8 import {forkJoin} from "rxjs/observable/forkJoin";
9 import * as _ from 'lodash';
10 import {AuditStatus} from "./AuditStatus.model";
13 export class ServiceInfoService {
14 constructor(private _http: HttpClient) {
17 getServicesJobInfo(filterByUser : boolean, showSpinner: boolean = true): Observable<ServiceInfoModel[]> {
18 let pathQuery = Constants.Path.SERVICES_JOB_INFO_PATH;
19 let headers = new HttpHeaders({'x-show-spinner': showSpinner.toString()});
20 return this._http.get<ServiceInfoModel[]>(pathQuery, { headers: headers }).map(res => res );
23 deleteJob(jobId: string): Observable<any> {
24 let pathQuery = Constants.Path.SERVICES_JOB_INFO_PATH + '/job/' + jobId;
25 return this._http.delete<any>(pathQuery).map(res => res);
28 hideJob(jobId: string): Observable<any> {
29 let pathQuery = Constants.Path.SERVICES_JOB_INFO_PATH + '/hide/' + jobId;
30 return this._http.post<any>(pathQuery, null).map(res => res);
33 getJobAuditStatus(jobData: ServiceInfoModel) : Observable<Object[]>{
34 let pathQueryBySource: string = Constants.Path.SERVICES_JOB_INFO_PATH + Constants.Path.SERVICES_JOB_AUDIT_PATH + '/' + jobData.jobId + '?source=';
35 let pathQueryVID: string = pathQueryBySource + 'VID';
36 let pathQueryMSO: string;
39 if(jobData.aLaCarte) {
40 let requestParams: string[] = [];
41 pathQueryMSO = Constants.Path.SERVICES_JOB_INFO_PATH + Constants.Path.SERVICES_JOB_AUDIT_PATH + '/' + jobData.jobId + '/mso';
42 if (!_.isEmpty(jobData.requestId)) {
43 requestParams[requestParams.length] = 'requestId=' + jobData.requestId;
45 if (!_.isEmpty(jobData.serviceInstanceId)) {
46 requestParams[requestParams.length] = 'serviceInstanceId=' + jobData.serviceInstanceId;
48 if (requestParams.length > 0) {
49 pathQueryMSO += '?' + requestParams.join('&');
53 pathQueryMSO = pathQueryBySource + 'MSO';
57 let vidObs = this._http.get(pathQueryVID);
58 let msoObs = this._http.get(pathQueryMSO);
59 return forkJoin([vidObs, msoObs]);
62 getInstanceAuditStatus(instanceId: string, type :string) : Observable<AuditStatus[]>{
63 let pathQuery: string = Constants.Path.SERVICES_JOB_INFO_PATH + Constants.Path.SERVICES_JOB_AUDIT_PATH + '/' + type + '/' + instanceId + '/mso';
64 return this._http.get<any>(pathQuery).map(res => res);
67 getAuditStatusForRetry(trackById: string) : Observable<AuditStatus>{
68 let pathQuery: string = Constants.Path.AUDIT_STATUS_FOR_RETRY_PATH + '/' + trackById ;
69 return this._http.get<any>(pathQuery).map(res => res);