From 43247476fd7638da47bfe677f66f3d1ad097b567 Mon Sep 17 00:00:00 2001 From: Nicolas Fuentes Maturana Date: Mon, 20 Sep 2021 13:56:35 +0200 Subject: [PATCH] Merge pull request #104 in TEA/mina-sidor-fa-web from feature/TV-541 to develop Squashed commit of the following: commit d3b644086cb124c86ed944c4e5c7dcfe2a37cfd8 Merge: 350fcea a28bca7 Author: fueno Date: Mon Sep 20 13:56:11 2021 +0200 Merge branch 'develop' into feature/TV-541 commit 350fcea2d3c625355b4f23bb3454060da274cb19 Merge: 5ddd03a ffc5a46 Author: fueno Date: Mon Sep 20 12:32:38 2021 +0200 Merge branch 'develop' into feature/TV-541 commit 5ddd03ac8a6fe422684463ab537879754ea67c9a Author: fueno Date: Mon Sep 20 12:19:05 2021 +0200 TV-541 renaming service and model names commit ce0ec535e2622faf0a057324716bd955b25918ad Merge: 877e08a 77be903 Author: fueno Date: Mon Sep 20 10:15:00 2021 +0200 Merge branch 'feature/TV-542' into feature/TV-541 commit 877e08af6206911ddd6d9b119ae6ee2591be616b Author: fueno Date: Fri Sep 17 16:39:59 2021 +0200 TV-541: api and state service for gp commit 77be9034c95efe885602fcd9aa6a5a23664d5630 Author: fueno Date: Fri Sep 17 16:34:15 2021 +0200 TV-542: mock-data for gp --- .../services/deltagare-activity.service.ts | 16 +++++ .../src/app/shared/models/activity.model.ts | 23 ++++++ .../models/api/activity-response.model.ts | 5 ++ .../services/api/activity-api.service.ts | 26 +++++++ .../scripts/gemensam-planering/aktiviteter.js | 72 +++++++++++++++++++ 5 files changed, 142 insertions(+) create mode 100644 apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/services/deltagare-activity.service.ts create mode 100644 apps/mina-sidor-fa/src/app/shared/models/activity.model.ts create mode 100644 apps/mina-sidor-fa/src/app/shared/models/api/activity-response.model.ts create mode 100644 apps/mina-sidor-fa/src/app/shared/services/api/activity-api.service.ts create mode 100644 mock-api/mina-sidor-fa/scripts/gemensam-planering/aktiviteter.js diff --git a/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/services/deltagare-activity.service.ts b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/services/deltagare-activity.service.ts new file mode 100644 index 0000000..17ef273 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/pages/deltagare/pages/deltagare-report/services/deltagare-activity.service.ts @@ -0,0 +1,16 @@ +import { Injectable } from '@angular/core'; +import { Activity } from '@msfa-models/activity.model'; +import { ActivityApiService } from '@msfa-services/api/activity-api.service'; +import { Observable } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) +export class DeltagareActivityService { + + constructor(private activityApiService: ActivityApiService) { } + + public getActivities$(): Observable { + return this.activityApiService.getActivities$(); + } +} diff --git a/apps/mina-sidor-fa/src/app/shared/models/activity.model.ts b/apps/mina-sidor-fa/src/app/shared/models/activity.model.ts new file mode 100644 index 0000000..4fac65f --- /dev/null +++ b/apps/mina-sidor-fa/src/app/shared/models/activity.model.ts @@ -0,0 +1,23 @@ +import { ActivityResponse } from './api/activity-response.model'; + +export interface Activity { + id: string; + name: string; + description?: string; +} + +export interface SubActivity { + subId: string; + subName: string; + subDescription: string; +} + +export function mapResponseToActivity(data: ActivityResponse): Activity { + const { aktivitets_id, aktivitets_namn } = data; + + return { + id: aktivitets_id, + name: aktivitets_namn + } + +} diff --git a/apps/mina-sidor-fa/src/app/shared/models/api/activity-response.model.ts b/apps/mina-sidor-fa/src/app/shared/models/api/activity-response.model.ts new file mode 100644 index 0000000..c4d7d29 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/shared/models/api/activity-response.model.ts @@ -0,0 +1,5 @@ +export interface ActivityResponse { + aktivitets_id: string; + aktivitets_namn: string; + beskrivning?: string; +} diff --git a/apps/mina-sidor-fa/src/app/shared/services/api/activity-api.service.ts b/apps/mina-sidor-fa/src/app/shared/services/api/activity-api.service.ts new file mode 100644 index 0000000..10020c6 --- /dev/null +++ b/apps/mina-sidor-fa/src/app/shared/services/api/activity-api.service.ts @@ -0,0 +1,26 @@ +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { environment } from '@msfa-environment'; +import { ActivityResponse } from '@msfa-models/api/activity-response.model'; +import { Activity, mapResponseToActivity } from '@msfa-models/activity.model'; +import { Observable } from 'rxjs'; +import { filter, map } from 'rxjs/operators'; + +@Injectable({ + providedIn: 'root' +}) + +export class ActivityApiService { + + private _apiBaseUrl = `${environment.api.url}`; + + public getActivities$(): Observable { // endpoint ska uppdateras + return this.httpClient.get<{ data: ActivityResponse[] }>(`${this._apiBaseUrl}/aktiviteter`).pipe( + filter(response => !!response?.data), + map(({ data }) => data.map(aktivitet => mapResponseToActivity(aktivitet))) + ) + } + + constructor(private httpClient: HttpClient) { } + +} diff --git a/mock-api/mina-sidor-fa/scripts/gemensam-planering/aktiviteter.js b/mock-api/mina-sidor-fa/scripts/gemensam-planering/aktiviteter.js new file mode 100644 index 0000000..22649ee --- /dev/null +++ b/mock-api/mina-sidor-fa/scripts/gemensam-planering/aktiviteter.js @@ -0,0 +1,72 @@ +function generateAktiviteter() { + const aktiviteter = [ + { + aktivitets_id: '24', + aktivitets_namn: 'Motiverande samtal', + beskrivning: 'test', + }, + { + aktivitets_id: '156', + aktivitets_namn: 'Hälsofrämjande åtgärder', + beskrivning: 'test', + }, + { + aktivitets_id: '157', + aktivitets_namn: 'Information', + beskrivning: 'test', + }, + { + aktivitets_id: '158', + aktivitets_namn: 'Insats hos annan aktör', + beskrivning: 'test', + }, + { + aktivitets_id: '159', + aktivitets_namn: 'Kontakter med arbetsgivare eller andra relevanta aktörer', + beskrivning: 'test', + }, + { + aktivitets_id: '160', + aktivitets_namn: 'Kortare utbildning', + beskrivning: 'test', + }, + { + aktivitets_id: '161', + aktivitets_namn: 'Vägledning mot arbete eller utbildning', + beskrivning: 'test', + }, + { + aktivitets_id: '162', + aktivitets_namn: 'Praktiskt stöd', + beskrivning: 'test', + }, + { + aktivitets_id: '163', + aktivitets_namn: 'Stöd för att stärka deltagarens digitala kompetens', + beskrivning: 'test', + }, + { + aktivitets_id: '164', + aktivitets_namn: 'Stöd för att stärka deltagarens språkkunskaper', + beskrivning: 'test', + }, + { + aktivitets_id: '165', + aktivitets_namn: 'Individuellt utvecklingsmöte', + beskrivning: 'test', + }, + { + aktivitets_id: '188', + aktivitets_namn: 'Eget arbete enligt individuell planering med anordnare', + beskrivning: 'test', + }, + ]; + + console.log('Aktiviteter generated...'); + + return aktiviteter; +} + +export default { + generate: generateAktiviteter, +};