diff --git a/boot/src/main/kotlin/org/freekode/tp2intervals/app/confguration/ConfigurationService.kt b/boot/src/main/kotlin/org/freekode/tp2intervals/app/confguration/ConfigurationService.kt index 3b33ce3..1a0e1b7 100644 --- a/boot/src/main/kotlin/org/freekode/tp2intervals/app/confguration/ConfigurationService.kt +++ b/boot/src/main/kotlin/org/freekode/tp2intervals/app/confguration/ConfigurationService.kt @@ -31,6 +31,9 @@ class ConfigurationService( return errors } + fun platformInfo() = + platformInfoRepositoryMap.entries.associate { it.key to it.value.platformInfo() } + fun platformInfo(platform: Platform): PlatformInfo { return platformInfoRepositoryMap[platform]!!.platformInfo() } diff --git a/boot/src/main/kotlin/org/freekode/tp2intervals/rest/configuration/ConfigurationController.kt b/boot/src/main/kotlin/org/freekode/tp2intervals/rest/configuration/ConfigurationController.kt index 4eadac2..6e1388c 100644 --- a/boot/src/main/kotlin/org/freekode/tp2intervals/rest/configuration/ConfigurationController.kt +++ b/boot/src/main/kotlin/org/freekode/tp2intervals/rest/configuration/ConfigurationController.kt @@ -2,8 +2,6 @@ package org.freekode.tp2intervals.rest.configuration import org.freekode.tp2intervals.app.confguration.ConfigurationService import org.freekode.tp2intervals.domain.Platform -import org.freekode.tp2intervals.domain.TrainingType -import org.freekode.tp2intervals.domain.config.PlatformInfo import org.freekode.tp2intervals.domain.config.UpdateConfigurationRequest import org.freekode.tp2intervals.domain.workout.structure.StepModifier import org.freekode.tp2intervals.rest.ErrorResponseDTO @@ -43,9 +41,11 @@ class ConfigurationController( return StepModifier.entries } + @GetMapping("/api/configuration/platform") + fun getAllPlatformInfo() = + configurationService.platformInfo() + @GetMapping("/api/configuration/{platform}") - fun getConfigurations(@PathVariable platform: Platform): PlatformInfo { - log.debug("Received request for getting configurations for platform: {}", platform) - return configurationService.platformInfo(platform) - } + fun getConfigurations(@PathVariable platform: Platform) = + configurationService.platformInfo(platform) } diff --git a/ui/src/app/components/copy-calendar-to-calendar/copy-calendar-to-calendar.component.html b/ui/src/app/components/copy-calendar-to-calendar/copy-calendar-to-calendar.component.html index 192d943..dd4ffb2 100644 --- a/ui/src/app/components/copy-calendar-to-calendar/copy-calendar-to-calendar.component.html +++ b/ui/src/app/components/copy-calendar-to-calendar/copy-calendar-to-calendar.component.html @@ -25,7 +25,7 @@ Date Range diff --git a/ui/src/app/components/copy-calendar-to-calendar/copy-calendar-to-calendar.component.ts b/ui/src/app/components/copy-calendar-to-calendar/copy-calendar-to-calendar.component.ts index 2bba94d..36d1537 100644 --- a/ui/src/app/components/copy-calendar-to-calendar/copy-calendar-to-calendar.component.ts +++ b/ui/src/app/components/copy-calendar-to-calendar/copy-calendar-to-calendar.component.ts @@ -19,7 +19,7 @@ import {finalize, switchMap, tap} from "rxjs"; import {WorkoutClient} from "infrastructure/client/workout.client"; import {NotificationService} from "infrastructure/notification.service"; import {MatTooltipModule} from "@angular/material/tooltip"; -import {TrainingTypes} from "app/training-types"; +import {TrainingTypes} from "infrastructure/training-types"; @Component({ selector: 'copy-calendar-to-calendar', @@ -49,14 +49,13 @@ export class CopyCalendarToCalendarComponent implements OnInit { readonly todayDate = new Date() readonly tomorrowDate = new Date(new Date().getTime() + 24 * 60 * 60 * 1000) - @Input() platform: any @Input() trainingTypes: any[] = [] @Input() selectedTrainingTypes = ['BIKE', 'VIRTUAL_BIKE'] @Input() directions: any[] = [] @Input() inProgress = false formGroup: FormGroup - platformInfo: any + platformsInfo: any scheduledJobs: any[] = [] constructor( @@ -68,8 +67,8 @@ export class CopyCalendarToCalendarComponent implements OnInit { } ngOnInit(): void { - this.configurationClient.platformInfo(this.platform.key).subscribe(value => { - this.platformInfo = value + this.configurationClient.getAllPlatformInfo().subscribe(value => { + this.platformsInfo = value }) this.formGroup = this.getFormGroup(); this.loadScheduledJobs().subscribe() diff --git a/ui/src/app/trainer-road/tr-copy-calendar-to-calendar/tr-copy-calendar-to-calendar.component.html b/ui/src/app/trainer-road/tr-copy-calendar-to-calendar/tr-copy-calendar-to-calendar.component.html index 4248b14..9911d0a 100644 --- a/ui/src/app/trainer-road/tr-copy-calendar-to-calendar/tr-copy-calendar-to-calendar.component.html +++ b/ui/src/app/trainer-road/tr-copy-calendar-to-calendar/tr-copy-calendar-to-calendar.component.html @@ -1,5 +1,4 @@ diff --git a/ui/src/app/training-peaks/tp-copy-calendar-to-calendar/tp-copy-calendar-to-calendar.component.html b/ui/src/app/training-peaks/tp-copy-calendar-to-calendar/tp-copy-calendar-to-calendar.component.html index 7f677c7..ab07786 100644 --- a/ui/src/app/training-peaks/tp-copy-calendar-to-calendar/tp-copy-calendar-to-calendar.component.html +++ b/ui/src/app/training-peaks/tp-copy-calendar-to-calendar/tp-copy-calendar-to-calendar.component.html @@ -1,5 +1,4 @@ diff --git a/ui/src/infrastructure/client/configuration.client.ts b/ui/src/infrastructure/client/configuration.client.ts index 8ec6e60..d6916bb 100644 --- a/ui/src/infrastructure/client/configuration.client.ts +++ b/ui/src/infrastructure/client/configuration.client.ts @@ -24,6 +24,15 @@ export class ConfigurationClient { .put(`/api/configuration`, configData) } + getAllPlatformInfo(): Observable { + return this.httpClient.get(`/api/configuration/platform`).pipe( + map(response => { + Object.keys(response).forEach(key => response[key] = response[key].infoMap) + return response + }) + ) + } + platformInfo(platform): Observable { return this.httpClient.get(`/api/configuration/${platform}`).pipe( map(response => (response).infoMap) diff --git a/ui/src/app/training-types.ts b/ui/src/infrastructure/training-types.ts similarity index 100% rename from ui/src/app/training-types.ts rename to ui/src/infrastructure/training-types.ts