Add gateway calls for producer in ei service
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / services / ei / ei.service.ts
index 3be9b8b..19c5836 100644 (file)
@@ -20,8 +20,8 @@
 
 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, EIProducer, ProducerStatus, ProducerRegistrationInfo } from '../../interfaces/ei.types';
 
 /**
  * Services for calling the EI endpoints.
@@ -32,8 +32,9 @@ import { EIJob, EIProducer } from '../../interfaces/ei.types';
 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;
@@ -57,6 +58,16 @@ export class EIService {
         return this.httpClient.get<EIJob[]>(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);
+    }
+
     getEIProducers(): Observable<EIProducer[]> {
         const url = this.buildPath(this.eiProducersPath);
         return this.httpClient.get<EIProducer[]>(url);