import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
-import { map } from 'rxjs/operators';
-import { EIJob, EIType, EIProducer } from '../../interfaces/ei.jobs';
-import { ControlpanelSuccessTransport } from '../../interfaces/controlpanel.types';
+import { EIJob, ProducerStatus, ProducerRegistrationInfo } from '../../interfaces/ei.types';
/**
* Services for calling the EI endpoints.
})
export class EIService {
- private basePath = 'api/enrichment';
- private eiTypePath = 'eitypes';
- private eiJobPath = 'eijobs';
- private eiProducerPath = 'eiproducers';
+ private basePath = '/ei-producer/v1';
+ readonly eiJobsPath = 'eijobs';
+ readonly eiProducersPath = 'eiproducers';
+ readonly eiProducerStatusPath = 'status';
private buildPath(...args: any[]) {
let result = this.basePath;
// injects to variable httpClient
}
- /**
- * Gets version details
- * @returns Observable that should yield a String
- */
- getVersion(): Observable<string> {
- const url = this.buildPath('version');
- return this.httpClient.get<ControlpanelSuccessTransport>(url).pipe(
- // Extract the string here
- map(res => res['data'])
- );
+ getProducerIds(): Observable<string[]> {
+ const url = this.buildPath(this.eiProducersPath);
+ return this.httpClient.get<string[]>(url);
}
- getEITypes(): Observable<EIType[]> {
- const url = this.buildPath(this.eiTypePath);
- return this.httpClient.get<EIType[]>(url);
+ getJobsForProducer(producerId: string): Observable<EIJob[]> {
+ const url = this.buildPath(this.eiProducersPath, producerId, this.eiJobsPath);
+ return this.httpClient.get<EIJob[]>(url);
}
- getEIJobs(): Observable<EIJob[]> {
- const url = this.buildPath(this.eiJobPath);
- return this.httpClient.get<EIJob[]>(url);
+ getProducer(producerId: string): Observable<ProducerRegistrationInfo> {
+ const url = this.buildPath(this.eiProducersPath, producerId);
+ return this.httpClient.get<ProducerRegistrationInfo>(url);
}
- getEIProducers(): Observable<EIProducer[]> {
- const url = this.buildPath(this.eiProducerPath);
- return this.httpClient.get<EIProducer[]>(url);
+ getProducerStatus(producerId: string): Observable<ProducerStatus> {
+ const url = this.buildPath(this.eiProducersPath, producerId, this.eiProducerStatusPath);
+ return this.httpClient.get<ProducerStatus>(url);
}
}