bugfix/periodisk-redovisning-from-api

Squashed commit of the following:

commit d79f6b3c40565b5e080ed8eaea8925ef412eab4e
Author: Daniel Appelgren <daniel.appelgren@arbetsformedlingen.se>
Date:   Thu Oct 28 15:39:27 2021 +0200

    periodisk redovisning view reads from API
This commit is contained in:
Daniel Appelgren
2021-10-29 08:32:17 +02:00
parent cc22c5cd5e
commit 91f4123447
2 changed files with 14 additions and 20 deletions

View File

@@ -1,9 +1,10 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Avrop } from '@msfa-models/avrop.model'; import { Avrop } from '@msfa-models/avrop.model';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { PeriodiskRedovisning } from '@msfa-models/periodisk-redovisning.model'; import { mapResponseToPeriodiskRedovisning, PeriodiskRedovisning } from '@msfa-models/periodisk-redovisning.model';
import { PeriodiskRedovisningApiService } from '@msfa-services/api/periodisk-redovisning.api.service'; import { PeriodiskRedovisningApiService } from '@msfa-services/api/periodisk-redovisning.api.service';
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service'; import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
import { map } from 'rxjs/operators';
@Injectable() @Injectable()
export class PeriodiskRedovisningViewService { export class PeriodiskRedovisningViewService {
@@ -17,6 +18,8 @@ export class PeriodiskRedovisningViewService {
} }
public fetchPeriodiskRedovisning$(handlingId: string): Observable<PeriodiskRedovisning> { public fetchPeriodiskRedovisning$(handlingId: string): Observable<PeriodiskRedovisning> {
return this.periodiskRedovisningApiService.fetchPeriodiskRedovisning$(handlingId); return this.periodiskRedovisningApiService
.fetchPeriodiskRedovisning$(handlingId)
.pipe(map(({ data }) => (data ? mapResponseToPeriodiskRedovisning(data) : null)));
} }
} }

View File

@@ -3,14 +3,10 @@ import { Injectable } from '@angular/core';
import { ErrorType } from '@msfa-enums/error-type.enum'; import { ErrorType } from '@msfa-enums/error-type.enum';
import { environment } from '@msfa-environment'; import { environment } from '@msfa-environment';
import { PeriodiskRedovisningRequest } from '@msfa-models/api/periodisk-redovisning.request.model'; import { PeriodiskRedovisningRequest } from '@msfa-models/api/periodisk-redovisning.request.model';
import { import { PeriodiskRedovisningResponse } from '@msfa-models/api/periodisk-redovisning.response.model';
mockOnePeriodiskRedovisningResponse,
PeriodiskRedovisningResponse,
} from '@msfa-models/api/periodisk-redovisning.response.model';
import { CustomError } from '@msfa-models/error/custom-error'; import { CustomError } from '@msfa-models/error/custom-error';
import { mapResponseToPeriodiskRedovisning, PeriodiskRedovisning } from '@msfa-models/periodisk-redovisning.model'; import { Observable } from 'rxjs';
import { Observable, of } from 'rxjs'; import { catchError } from 'rxjs/operators';
import { catchError, delay, map } from 'rxjs/operators';
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
@@ -18,19 +14,14 @@ import { catchError, delay, map } from 'rxjs/operators';
export class PeriodiskRedovisningApiService { export class PeriodiskRedovisningApiService {
private _apiBaseUrl = `${environment.api.url}/rapporter/periodisk-redovisning`; private _apiBaseUrl = `${environment.api.url}/rapporter/periodisk-redovisning`;
private _handlingarBaseUrl = `${environment.api.url}/handlingar`;
constructor(private httpClient: HttpClient) {} constructor(private httpClient: HttpClient) {}
public fetchPeriodiskRedovisning$(handlingId: string): Observable<PeriodiskRedovisning> { public fetchPeriodiskRedovisning$(handlingId: string): Observable<{ data: PeriodiskRedovisningResponse }> {
return of(mapResponseToPeriodiskRedovisning(mockOnePeriodiskRedovisningResponse())).pipe(delay(59)); return this.httpClient.get<{ data: PeriodiskRedovisningResponse }>(
// return this.httpClient `${this._handlingarBaseUrl}/periodisk-redovisning/${handlingId}`
// .get<{ data: PeriodiskRedovisningResponse }>(`${this._apiBaseUrl}`, { params }) );
// .pipe(map(({ data }) => (data ? mapResponseToPeriodiskRedovisning(data) : null)));
}
public fetchAllPeriodiskaRedovisningar$(genomforandeReferens: number): Observable<PeriodiskRedovisning[]> {
return this.httpClient
.get<{ data: PeriodiskRedovisningResponse[] }>(`${this._apiBaseUrl}/${genomforandeReferens}`)
.pipe(map(({ data }) => data.map(pr => mapResponseToPeriodiskRedovisning(pr))));
} }
public postPeriodiskRedovisning$(requestData: PeriodiskRedovisningRequest): Observable<void> { public postPeriodiskRedovisning$(requestData: PeriodiskRedovisningRequest): Observable<void> {