import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
-import { Observable, of } from 'rxjs';
-import { EIJob, EIProducer } from '../../interfaces/ei.types';
+import { Observable } from 'rxjs';
+import { EIJob, ProducerStatus, ProducerRegistrationInfo } from '@interfaces/ei.types';
/**
* Services for calling the EI endpoints.
export class EIService {
private basePath = '/ei-producer/v1';
- eiJobsPath = 'eijobs';
- eiProducersPath = 'eiproducers';
+ readonly eiJobsPath = 'eijobs';
+ readonly eiProducersPath = 'eiproducers';
+ readonly eiProducerStatusPath = 'status';
private buildPath(...args: any[]) {
let result = this.basePath;
// injects to variable httpClient
}
- getProducerIds(): Observable<String[]> {
+ getProducerIds(): Observable<string[]> {
const url = this.buildPath(this.eiProducersPath);
- return this.httpClient.get<String[]>(url);
+ return this.httpClient.get<string[]>(url);
}
- getJobsForProducer(producerId: String): Observable<EIJob[]> {
+ 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.eiProducersPath);
- 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);
}
}