diff --git a/API/RequestHandler.cs b/API/RequestHandler.cs index ba9b401..4efb59b 100644 --- a/API/RequestHandler.cs +++ b/API/RequestHandler.cs @@ -21,7 +21,7 @@ public class RequestHandler new(HttpMethod.Get, "/Tasks/Types", Array.Empty()), new(HttpMethod.Post, "/Tasks/CreateMonitorTask", new[] { "connectorName", "internalId", "reoccurrenceTime", "language?" }), - new(HttpMethod.Post, "/Tasks/CreateUpdateLibraryTask", new[] { "reoccurrenceTime" }), + //DEPRECATED new(HttpMethod.Post, "/Tasks/CreateUpdateLibraryTask", new[] { "reoccurrenceTime" }), new(HttpMethod.Post, "/Tasks/CreateDownloadChaptersTask", new[] { "connectorName", "internalId", "chapters", "language?" }), new(HttpMethod.Get, "/Tasks", new[] { "taskType", "connectorName?", "publicationId?" }), @@ -162,11 +162,11 @@ public class RequestHandler return; _taskManager.AddTask(new MonitorPublicationTask(connectorName1, (Publication)publication1, TimeSpan.Parse(reoccurrenceTime1), language1 ?? "en")); break; - case "/Tasks/CreateUpdateLibraryTask": - variables.TryGetValue("reoccurrenceTime", out string? reoccurrenceTime2); + case "/Tasks/CreateUpdateLibraryTask": // DEPRECATED + /*variables.TryGetValue("reoccurrenceTime", out string? reoccurrenceTime2); if (reoccurrenceTime2 is null) return; - _taskManager.AddTask(new UpdateLibrariesTask(TimeSpan.Parse(reoccurrenceTime2))); + _taskManager.AddTask(new UpdateLibrariesTask(TimeSpan.Parse(reoccurrenceTime2)));*/ break; case "/Tasks/CreateDownloadChaptersTask": variables.TryGetValue("connectorName", out string? connectorName2); diff --git a/Tranga/Migrate.cs b/Tranga/Migrate.cs new file mode 100644 index 0000000..9eceeae --- /dev/null +++ b/Tranga/Migrate.cs @@ -0,0 +1,27 @@ +using Newtonsoft.Json; + +namespace Tranga; + +public static class Migrate +{ + private static readonly ushort CurrentVersion = 16; + public static void Files(TrangaSettings settings) + { + settings.version ??= 15; + switch (settings.version) + { + case 15: + RemoveUpdateLibraryTask(settings); + break; + } + + settings.version = CurrentVersion; + settings.ExportSettings(); + } + + private static void RemoveUpdateLibraryTask(TrangaSettings settings) + { + List tasks = JsonConvert.DeserializeObject>(settings.tasksFilePath)!; + tasks.RemoveAll(t => t.task == TrangaTask.Task.UpdateLibraries); + } +} \ No newline at end of file diff --git a/Tranga/TaskManager.cs b/Tranga/TaskManager.cs index d1f5437..383ab2d 100644 --- a/Tranga/TaskManager.cs +++ b/Tranga/TaskManager.cs @@ -37,6 +37,7 @@ public class TaskManager }; this.settings = settings; + Migrate.Files(settings); ImportData(); ExportDataAndSettings(); Thread taskChecker = new(TaskCheckerThread); diff --git a/Tranga/TrangaSettings.cs b/Tranga/TrangaSettings.cs index 086dad5..d272477 100644 --- a/Tranga/TrangaSettings.cs +++ b/Tranga/TrangaSettings.cs @@ -15,6 +15,7 @@ public class TrangaSettings [JsonIgnore] public string coverImageCache => Path.Join(workingDirectory, "imageCache"); public HashSet libraryManagers { get; } public HashSet notificationManagers { get; } + public ushort? version { get; set; } public TrangaSettings(string downloadLocation, string workingDirectory, HashSet? libraryManagers, HashSet? notificationManagers) diff --git a/Tranga/TrangaTasks/UpdateLibrariesTask.cs b/Tranga/TrangaTasks/UpdateLibrariesTask.cs index 545ac9e..2ecf6f2 100644 --- a/Tranga/TrangaTasks/UpdateLibrariesTask.cs +++ b/Tranga/TrangaTasks/UpdateLibrariesTask.cs @@ -3,6 +3,9 @@ using Logging; namespace Tranga.TrangaTasks; +/// +/// LEGACY DEPRECATED +/// public class UpdateLibrariesTask : TrangaTask { public UpdateLibrariesTask(TimeSpan reoccurrence) : base(Task.UpdateLibraries, reoccurrence)