diff --git a/src/src/StevesBot.Webhook/Program.cs b/src/src/StevesBot.Webhook/Program.cs index 4bed4fb..d092e81 100644 --- a/src/src/StevesBot.Webhook/Program.cs +++ b/src/src/StevesBot.Webhook/Program.cs @@ -41,7 +41,7 @@ builder.Services.AddSingleton(TimeProvider.System); builder.Services.AddSingleton>(); builder.Services.AddHostedService(); -builder.Services.AddSingleton(); +builder.Services.AddSingleton(); builder.Services.AddOptionsWithValidateOnStart() .BindConfiguration(nameof(DiscordNotificationOptions)) diff --git a/src/src/StevesBot.Webhook/YouTube/Handlers/NotificationHandler.cs b/src/src/StevesBot.Webhook/YouTube/Handlers/NotificationHandler.cs index c75d2fc..763fcbe 100644 --- a/src/src/StevesBot.Webhook/YouTube/Handlers/NotificationHandler.cs +++ b/src/src/StevesBot.Webhook/YouTube/Handlers/NotificationHandler.cs @@ -8,7 +8,7 @@ internal static class NotificationHandler [FromServices] IYouTubeDataApiClient youTubeDataApiClient, [FromServices] IDiscordRestClient discordRestClient, [FromServices] IOptionsMonitor discordNotificationOptions, - [FromServices] LastPostedStreamStore lastPostedStream, + [FromServices] ILastPostedStreamStore lastPostedStream, CancellationToken cancellationToken ) { diff --git a/src/src/StevesBot.Webhook/YouTube/ILastPostedStreamStore.cs b/src/src/StevesBot.Webhook/YouTube/ILastPostedStreamStore.cs new file mode 100644 index 0000000..fe587f8 --- /dev/null +++ b/src/src/StevesBot.Webhook/YouTube/ILastPostedStreamStore.cs @@ -0,0 +1,5 @@ +namespace StevesBot.Webhook.YouTube; + +internal interface ILastPostedStreamStore : IStore +{ +} \ No newline at end of file diff --git a/src/src/StevesBot.Webhook/YouTube/IStore.cs b/src/src/StevesBot.Webhook/YouTube/IStore.cs new file mode 100644 index 0000000..994c506 --- /dev/null +++ b/src/src/StevesBot.Webhook/YouTube/IStore.cs @@ -0,0 +1,7 @@ +namespace StevesBot.Webhook.YouTube; + +internal interface IStore +{ + void SetValue(T value); + bool HasValue(T value); +} \ No newline at end of file diff --git a/src/src/StevesBot.Webhook/YouTube/LastPostedStreamStore.cs b/src/src/StevesBot.Webhook/YouTube/LastPostedStreamStore.cs index 7030e9f..a82c9a0 100644 --- a/src/src/StevesBot.Webhook/YouTube/LastPostedStreamStore.cs +++ b/src/src/StevesBot.Webhook/YouTube/LastPostedStreamStore.cs @@ -1,11 +1,16 @@ namespace StevesBot.Webhook.YouTube; -internal class LastPostedStreamStore +internal class LastPostedStreamStore : ILastPostedStreamStore { - public string Value { get; private set; } = string.Empty; + private string _value = string.Empty; public void SetValue(string value) { - Value = value; + _value = value; + } + + public bool HasValue(string value) + { + return _value.Equals(value, StringComparison.OrdinalIgnoreCase); } } \ No newline at end of file