From a114a01db86b797cf64b188c594a3d6060592956 Mon Sep 17 00:00:00 2001 From: Eddasol Date: Thu, 19 Sep 2024 13:34:50 +0200 Subject: [PATCH] WIP: Fix custom missions --- .../EchoAndCustomMissionLoader.cs | 44 +++++++++++++++++++ backend/api/Services/SourceService.cs | 2 + 2 files changed, 46 insertions(+) create mode 100644 backend/api/Services/MissionLoaders/EchoAndCustomMissionLoader.cs diff --git a/backend/api/Services/MissionLoaders/EchoAndCustomMissionLoader.cs b/backend/api/Services/MissionLoaders/EchoAndCustomMissionLoader.cs new file mode 100644 index 000000000..bc19ac4b4 --- /dev/null +++ b/backend/api/Services/MissionLoaders/EchoAndCustomMissionLoader.cs @@ -0,0 +1,44 @@ +using System.Globalization; +using System.Text.Json; +using Api.Controllers.Models; +using Api.Database.Models; +using Api.Utilities; +using Microsoft.Identity.Abstractions; +namespace Api.Services.MissionLoaders +{ + public class EchoAndCustomMissionLoader( + IEchoService echoService, + ISourceService sourceService, + ILogger logger) : IMissionLoader + { + public async Task> GetAvailableMissions(string? installationCode) + { + return await echoService.GetAvailableMissions(installationCode); + } + + public async Task GetMissionById(string sourceMissionId) + { + //TODO: + // If source = custom + // getCustomMission + // Else: + return await echoService.GetMissionById(sourceMissionId); + } + + + public async Task> GetTasksForMission(string missionSourceId) + { + //TODO: + // If source = custom + // getTasksForCustomMission + // Else: + return await sourceService.GetMissionTasksFromSourceId(missionSourceId); + return await echoService.GetTasksForMission(missionSourceId); + } + + public async Task> GetPlantInfos() + { + return await echoService.GetPlantInfos(); + } + } +} diff --git a/backend/api/Services/SourceService.cs b/backend/api/Services/SourceService.cs index cd46fa329..2ddf31525 100644 --- a/backend/api/Services/SourceService.cs +++ b/backend/api/Services/SourceService.cs @@ -20,6 +20,8 @@ public interface ISourceService public abstract Task CreateSourceIfDoesNotExist(List tasks, bool readOnly = true); + public abstract Task?> GetMissionTasksFromSourceId(string id); + public abstract Task Delete(string id); public void DetachTracking(Source source);