From 47ff32f70e6e2fb48a0e8cd77dc9ba647bd23fba Mon Sep 17 00:00:00 2001 From: Sella-GH <147769367+Sella-GH@users.noreply.github.com> Date: Mon, 10 Jun 2024 00:53:17 +0200 Subject: [PATCH] Make it more modular --- .../Services/Modules/AzuraCastFileService.cs | 17 +++++++++++++---- AzzyBot-Next/Services/TimerServiceHost.cs | 3 ++- AzzyBot-Next/Utilities/Enums/AzuraCastChecks.cs | 7 +++++++ 3 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 AzzyBot-Next/Utilities/Enums/AzuraCastChecks.cs diff --git a/AzzyBot-Next/Services/Modules/AzuraCastFileService.cs b/AzzyBot-Next/Services/Modules/AzuraCastFileService.cs index cc6ef69e..09b842af 100644 --- a/AzzyBot-Next/Services/Modules/AzuraCastFileService.cs +++ b/AzzyBot-Next/Services/Modules/AzuraCastFileService.cs @@ -12,6 +12,7 @@ using AzzyBot.Services.Interfaces; using AzzyBot.Utilities; using AzzyBot.Utilities.Encryption; +using AzzyBot.Utilities.Enums; using AzzyBot.Utilities.Records.AzuraCast; using DSharpPlus.Entities; using Microsoft.Extensions.Hosting; @@ -29,17 +30,25 @@ public sealed class AzuraCastFileService(IHostApplicationLifetime applicationLif private readonly CancellationToken _cancellationToken = applicationLifetime.ApplicationStopping; private readonly JsonSerializerOptions _serializerOptions = new() { WriteIndented = true }; - public void StartAzuraCastFileService() + public void StartAzuraCastFileService(AzuraCastChecks check) { _logger.AzuraCastFileServiceStart(); if (_cancellationToken.IsCancellationRequested) return; - Task.Run(async () => await _taskQueue.QueueBackgroundWorkItemAsync(BuildWorkItemAsync)); + switch (check) + { + case AzuraCastChecks.CheckForUpdates: + break; + + case AzuraCastChecks.CheckForFileChanges: + Task.Run(async () => await _taskQueue.QueueBackgroundWorkItemAsync(CheckForFileChangesAsync)); + break; + } } - private async ValueTask BuildWorkItemAsync(CancellationToken cancellationToken) + private async ValueTask CheckForFileChangesAsync(CancellationToken cancellationToken) { _logger.AzuraCastFileServiceWorkItem(); @@ -66,7 +75,7 @@ private async ValueTask BuildWorkItemAsync(CancellationToken cancellationToken) } catch (OperationCanceledException) { - _logger.OperationCanceled(nameof(BuildWorkItemAsync)); + _logger.OperationCanceled(nameof(CheckForFileChangesAsync)); } return; diff --git a/AzzyBot-Next/Services/TimerServiceHost.cs b/AzzyBot-Next/Services/TimerServiceHost.cs index 899a7507..c7c4571c 100644 --- a/AzzyBot-Next/Services/TimerServiceHost.cs +++ b/AzzyBot-Next/Services/TimerServiceHost.cs @@ -5,6 +5,7 @@ using AzzyBot.Logging; using AzzyBot.Services.Modules; using AzzyBot.Utilities; +using AzzyBot.Utilities.Enums; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; @@ -68,7 +69,7 @@ private async void TimerTimeoutAsync(object? o) _logger.GlobalTimerCheckForAzuraCastFiles(); _lastAzuraCastFileCheck = now; - _azuraCastFileService.StartAzuraCastFileService(); + _azuraCastFileService.StartAzuraCastFileService(AzuraCastChecks.CheckForFileChanges); } } catch (Exception ex) diff --git a/AzzyBot-Next/Utilities/Enums/AzuraCastChecks.cs b/AzzyBot-Next/Utilities/Enums/AzuraCastChecks.cs new file mode 100644 index 00000000..fb76f924 --- /dev/null +++ b/AzzyBot-Next/Utilities/Enums/AzuraCastChecks.cs @@ -0,0 +1,7 @@ +namespace AzzyBot.Utilities.Enums; + +public enum AzuraCastChecks +{ + CheckForFileChanges, + CheckForUpdates +}