From 6485b8744f9dfdb8b1aa952fcd35231e37b6de6f Mon Sep 17 00:00:00 2001 From: glax Date: Fri, 9 Jun 2023 23:42:18 +0200 Subject: [PATCH] API: Updated /Tasks/GetProgress to return progress of specific task (by sortNumber) --- Tranga-API/Program.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Tranga-API/Program.cs b/Tranga-API/Program.cs index 7c713aa..9e39b28 100644 --- a/Tranga-API/Program.cs +++ b/Tranga-API/Program.cs @@ -144,14 +144,24 @@ app.MapGet("/Tasks/Get", (string taskType, string? connectorName, string? search } }); -app.MapGet("/Tasks/GetProgress", (string taskType, string? connectorName, string? publicationId) => +app.MapGet("/Tasks/GetProgress", (string taskType, string connectorName, string publicationId, string? chapterSortNumber) => { + Connector? connector = + taskManager.GetAvailableConnectors().FirstOrDefault(con => con.Key == connectorName).Value; + if (connector is null) + return -1f; try { + TrangaTask? task = null; TrangaTask.Task pTask = Enum.Parse(taskType); - TrangaTask? task = taskManager - .GetTasksMatching(pTask, connectorName: connectorName, internalId: publicationId)?.First(); - + if (pTask is TrangaTask.Task.DownloadNewChapters) + { + task = taskManager.GetTasksMatching(pTask, connectorName: connectorName, internalId: publicationId).FirstOrDefault(); + }else if (pTask is TrangaTask.Task.DownloadChapter && chapterSortNumber is not null) + { + task = taskManager.GetTasksMatching(pTask, connectorName: connectorName, internalId: publicationId, + chapterSortNumber: chapterSortNumber).FirstOrDefault(); + } if (task is null) return -1f;