import { HttpClient, HttpParams } from '@angular/common/http'; import { Inject, Injectable } from '@angular/core'; import { select, Store } from '@ngrx/store'; import { Observable } from 'rxjs'; import * as fromCore from '../reducers/root-reducer'; import { map } from 'rxjs/operators'; import { get, map as _map, toString } from 'lodash'; import { Environment } from '../../shared/interfaces/environment.interface'; import { SaveAssessmentDecisionAction } from '../actions/exempt-ep.action'; @Injectable() export class ExemptEPService { closeExemptEpModal: Observable; constructor(private http: HttpClient, private store: Store, @Inject('environment') private environment: Environment) { this.closeExemptEpModal = this.store.pipe(select(fromCore.getCloseExemptEpModal)); } dispatchSaveAssessmentDecision(payload: { assessmentId: number, isExempt: boolean }): void { this.store.dispatch(new SaveAssessmentDecisionAction(payload)); } saveAssessmentDecision(payload: { assessmentId: number, isExempt: boolean }): Observable { let params: HttpParams = new HttpParams(); params = params.set('assessmentId', toString(get(payload, 'assessmentId'))); params = params.set('isExempt', toString(get(payload, 'isExempt'))); return this.http.post(`${this.environment.assessmentCommandService}TierII/EAEPAssessmentDecision`, '', { params }).pipe( map((data: unknown) => get(data, 'responseObject')), ); } }