feat(gemensam-planering): Implemented gemensam-planering form. (TV-700)
Squashed commit of the following: commit 2d07f37e30009c7f701af35aed65839535044bb3 Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Wed Oct 6 09:33:21 2021 +0200 Updated error handling commit 12290b9436a06ecf0b2b8509016b14748ca17a18 Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Wed Oct 6 09:10:48 2021 +0200 Updated after PR commit cc2fb38528069819acbc39c7b1f6d71ecae666a1 Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Wed Oct 6 08:46:33 2021 +0200 Updated proxy.conf commit ee919de929d7b7316cd7050015fbad9c662b8718 Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Wed Oct 6 08:44:00 2021 +0200 Updated api-endpoint commit 249ef70e14fa8db0c388ffb27f5173815a07c768 Merge: c8296cbfcc0a9aaeAuthor: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Wed Oct 6 08:39:43 2021 +0200 Merge branch 'develop' into feature/TV-700-erik commit c8296cbff42d747df8c17cf3858f22956fd1e910 Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Wed Oct 6 07:44:41 2021 +0200 Fixed some linting and tests commit ec0bf7cd3616859742e461ffd65a2289f5c50cd6 Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Wed Oct 6 07:37:28 2021 +0200 Changes after PR commit aa6cee5248299056e043170b8803335529277062 Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Tue Oct 5 14:56:45 2021 +0200 Fixed some styling commit 86de8306679fcff5ed8595f97f696cb43f38f4ac Merge: 3b1822d85cee9695Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Tue Oct 5 14:46:52 2021 +0200 Merged develop and resolved conflicts commit 3b1822d8c8f197b789d1db5832b8e99351e8afa3 Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Tue Oct 5 14:22:06 2021 +0200 Updated GP commit a63dfb716a3888f3e5830fe224de4cd16b1922c2 Merge: e2a8cb1c07ec3c4aAuthor: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se> Date: Tue Oct 5 07:29:23 2021 +0200 Merge branch 'develop' into feature/TV-700 commit e2a8cb1cef2ada931f8a82ae0e9849aabb77ac4d Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se> Date: Mon Oct 4 20:16:42 2021 +0200 lamnas over till team 1
This commit is contained in:
@@ -2,21 +2,48 @@ import { HttpClient } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { environment } from '@msfa-environment';
|
||||
import { Activity, ActivityResponse, mapResponseToActivity } from '@msfa-models/activity.model';
|
||||
import { GemensamPlaneringPostRequest } from '@msfa-models/api/gemensam-planering.request.model';
|
||||
import { Avrop } from '@msfa-models/avrop.model';
|
||||
import { CustomError, errorToCustomError } from '@msfa-models/error/custom-error';
|
||||
import { DeltagareApiService } from '@msfa-services/api/deltagare.api.service';
|
||||
import { Observable } from 'rxjs';
|
||||
import { filter, map } from 'rxjs/operators';
|
||||
import { catchError, filter, map, shareReplay } from 'rxjs/operators';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class GemensamPlaneringApiService {
|
||||
private _apiBaseUrl = `${environment.api.url}`;
|
||||
private _apiBaseUrl = `${environment.api.url}/rapporter/gemensam-planering`;
|
||||
|
||||
constructor(private httpClient: HttpClient) {}
|
||||
|
||||
public getActivities$(): Observable<Activity[]> {
|
||||
return this.httpClient.get<{ data: ActivityResponse[] }>(`${this._apiBaseUrl}/activities`).pipe(
|
||||
public fetchActivities$(): Observable<Activity[]> {
|
||||
return this.httpClient.get<{ data: ActivityResponse[] }>(`${this._apiBaseUrl}/aktiviteter`).pipe(
|
||||
filter(response => !!response?.data),
|
||||
map(({ data }) => data.map(aktivitet => mapResponseToActivity(aktivitet)))
|
||||
map(({ data }) => data.map(activity => mapResponseToActivity(activity))),
|
||||
catchError((error: Error & { status: number }) => {
|
||||
throw new CustomError(
|
||||
errorToCustomError({ ...error, message: `Kunde inte hämta aktiviteter.\n\n${error.message}` })
|
||||
);
|
||||
}),
|
||||
shareReplay(1)
|
||||
);
|
||||
}
|
||||
|
||||
public fetchAvropInformation$(genomforandeReferens: number): Observable<Avrop> {
|
||||
return this.deltagareApiService.fetchAvropInformation$(genomforandeReferens);
|
||||
}
|
||||
|
||||
public async postGemensamPlanering(requestData: GemensamPlaneringPostRequest): Promise<void> {
|
||||
return this.httpClient
|
||||
.post<void>(`${this._apiBaseUrl}`, requestData)
|
||||
.pipe(
|
||||
catchError((error: Error & { status: number }) => {
|
||||
throw new CustomError(
|
||||
errorToCustomError({ ...error, message: `Kunde inte spara gemensam planering.\n\n${error.message}` })
|
||||
);
|
||||
})
|
||||
)
|
||||
.toPromise();
|
||||
}
|
||||
|
||||
constructor(private httpClient: HttpClient, private deltagareApiService: DeltagareApiService) {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user