import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
-import { map } from 'rxjs/operators';
-import { EIJob, EIProducer } from '../../interfaces/ei.types';
-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';
- eiJobPath = 'eijobs';
- 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
}
- getEIJobs(): Observable<EIJob[]> {
- const url = this.buildPath(this.eiJobPath);
+ getProducerIds(): Observable<string[]> {
+ const url = this.buildPath(this.eiProducersPath);
+ return this.httpClient.get<string[]>(url);
+ }
+
+ getJobsForProducer(producerId: string): Observable<EIJob[]> {
+ const url = this.buildPath(this.eiProducersPath, producerId, this.eiJobsPath);
return this.httpClient.get<EIJob[]>(url);
}
- getEIProducers(): Observable<EIProducer[]> {
- const url = this.buildPath(this.eiProducerPath);
- return this.httpClient.get<EIProducer[]>(url);
+ getProducer(producerId: string): Observable<ProducerRegistrationInfo> {
+ const url = this.buildPath(this.eiProducersPath, producerId);
+ return this.httpClient.get<ProducerRegistrationInfo>(url);
+ }
+
+ getProducerStatus(producerId: string): Observable<ProducerStatus> {
+ const url = this.buildPath(this.eiProducersPath, producerId, this.eiProducerStatusPath);
+ return this.httpClient.get<ProducerStatus>(url);
}
}