diff --git a/Application/Configuration/PlayListConfiguration.cs b/Application/Configuration/PlayListConfiguration.cs index 4effc04..2eccd32 100644 --- a/Application/Configuration/PlayListConfiguration.cs +++ b/Application/Configuration/PlayListConfiguration.cs @@ -49,15 +49,15 @@ namespace Musify.Application.Configuration public int SmallPictureHeight { get; set; } = 128; [Range(1, 1024)] - public int MediumPictureWidth { get; private set; } = 256; + public int MediumPictureWidth { get; set; } = 256; [Range(1, 1024)] - public int MediumPictureHeight { get; private set; } = 256; + public int MediumPictureHeight { get; set; } = 256; [Range(1, 1024)] - public int LargePictureWidth { get; private set; } = 512; + public int LargePictureWidth { get; set; } = 512; [Range(1, 1024)] - public int LargePictureHeight { get; private set; } = 512; + public int LargePictureHeight { get; set; } = 512; } } \ No newline at end of file diff --git a/Application/Configuration/TrackConfiguration.cs b/Application/Configuration/TrackConfiguration.cs index d352048..dc135f7 100644 --- a/Application/Configuration/TrackConfiguration.cs +++ b/Application/Configuration/TrackConfiguration.cs @@ -52,15 +52,15 @@ namespace Musify.Application.Configuration public int SmallPictureHeight { get; set; } = 128; [Range(1, 1024)] - public int MediumPictureWidth { get; private set; } = 256; + public int MediumPictureWidth { get; set; } = 256; [Range(1, 1024)] - public int MediumPictureHeight { get; private set; } = 256; + public int MediumPictureHeight { get; set; } = 256; [Range(1, 1024)] - public int LargePictureWidth { get; private set; } = 512; + public int LargePictureWidth { get; set; } = 512; [Range(1, 1024)] - public int LargePictureHeight { get; private set; } = 512; + public int LargePictureHeight { get; set; } = 512; } } \ No newline at end of file diff --git a/Infrastructure/Configuration/AudioTranscoderConfiguration.cs b/Infrastructure/Configuration/AudioTranscoderConfiguration.cs index c19ecca..affc4a3 100644 --- a/Infrastructure/Configuration/AudioTranscoderConfiguration.cs +++ b/Infrastructure/Configuration/AudioTranscoderConfiguration.cs @@ -2,21 +2,11 @@ namespace Musify.Infrastructure.Configuration { -#pragma warning disable CS8618 public class AudioTranscoderConfiguration { public const string SectionName = "AudioTranscoder"; - [Required] - public AudioTranscoderRoutes Routes { get; set; } = new AudioTranscoderRoutes(); - [Required] public TimeSpan TranscodingTimeout { get; set; } = TimeSpan.FromMinutes(5); } - - public class AudioTranscoderRoutes - { - [Required] - public string WorkingDirectory { get; set; } - } } \ No newline at end of file diff --git a/Infrastructure/Configuration/ConfigurationDependencyInjection.cs b/Infrastructure/Configuration/ConfigurationDependencyInjection.cs index f275aa4..b89a9eb 100644 --- a/Infrastructure/Configuration/ConfigurationDependencyInjection.cs +++ b/Infrastructure/Configuration/ConfigurationDependencyInjection.cs @@ -14,7 +14,8 @@ namespace Musify.Infrastructure.Configuration .AddValidatedConfiguration(configuration, InfrastructureStorageConfiguration.SectionName) .AddValidatedConfiguration(configuration, MessagingConfiguration.SectionName) .AddValidatedConfiguration(configuration, OpenTelemetryConfiguration.SectionName) - .AddValidatedConfiguration(configuration, AudioTranscoderConfiguration.SectionName); + .AddValidatedConfiguration(configuration, AudioTranscoderConfiguration.SectionName) + .AddValidatedConfiguration(configuration, WorkerConfiguration.SectionName); return serviceDescriptors; } diff --git a/Infrastructure/Configuration/DatabaseConfiguration.cs b/Infrastructure/Configuration/DatabaseConfiguration.cs index 5996e49..e79f5ed 100644 --- a/Infrastructure/Configuration/DatabaseConfiguration.cs +++ b/Infrastructure/Configuration/DatabaseConfiguration.cs @@ -2,12 +2,11 @@ namespace Musify.Infrastructure.Configuration { -#pragma warning disable CS8618 public class DatabaseConfiguration { public const string SectionName = "Database"; [Required] - public string ConnectionString { get; set; } + public required string ConnectionString { get; set; } } } \ No newline at end of file diff --git a/Infrastructure/Configuration/KeycloakConfiguration.cs b/Infrastructure/Configuration/KeycloakConfiguration.cs index 635dc07..e370097 100644 --- a/Infrastructure/Configuration/KeycloakConfiguration.cs +++ b/Infrastructure/Configuration/KeycloakConfiguration.cs @@ -2,21 +2,20 @@ namespace Musify.Infrastructure.Configuration { -#pragma warning disable CS8618 public class KeycloakConfiguration { public const string SectionName = "Keycloak"; [Required] - public string BaseUrl { get; set; } + public required string BaseUrl { get; set; } [Required] - public string Realm { get; set; } + public required string Realm { get; set; } [Required] - public string Username { get; set; } + public required string Username { get; set; } [Required] - public string Password { get; set; } + public required string Password { get; set; } } } \ No newline at end of file diff --git a/Infrastructure/Configuration/WorkerConfiguration.cs b/Infrastructure/Configuration/WorkerConfiguration.cs new file mode 100644 index 0000000..f399b81 --- /dev/null +++ b/Infrastructure/Configuration/WorkerConfiguration.cs @@ -0,0 +1,18 @@ +using System.ComponentModel.DataAnnotations; + +namespace Musify.Infrastructure.Configuration +{ + public class WorkerConfiguration + { + public const string SectionName = "Workers"; + + [Required] + public WorkerRoutes Routes { get; set; } = new WorkerRoutes(); + } + + public class WorkerRoutes + { + [Required] + public string TemporaryFilesDirectory { get; set; } = string.Empty; + } +} diff --git a/Infrastructure/Messaging/Activities/DownloadFileFromBucketActivity.cs b/Infrastructure/Messaging/Activities/DownloadFileFromBucketActivity.cs index 139cd9a..86e9b19 100644 --- a/Infrastructure/Messaging/Activities/DownloadFileFromBucketActivity.cs +++ b/Infrastructure/Messaging/Activities/DownloadFileFromBucketActivity.cs @@ -2,7 +2,6 @@ using Microsoft.Extensions.Logging; using Musify.Application.Contracts.Infrastructure; using Musify.Domain.Entities; -using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Messaging.Activities.Arguments; namespace Musify.Infrastructure.Messaging.Activities @@ -10,8 +9,7 @@ namespace Musify.Infrastructure.Messaging.Activities public class DownloadFileFromBucketActivity( IStorageHandler storageHandler, ILogger logger, - IProcessTrackingStore processTrackingStore, - AudioTranscoderConfiguration audioTranscoderConfiguration) + IProcessTrackingStore processTrackingStore) : IExecuteActivity { public const string ExecuteEndpointName = "Download-File-From-Bucket"; diff --git a/Infrastructure/Messaging/Consumers/TranscodeAudioFromTrackConsumer.cs b/Infrastructure/Messaging/Consumers/TranscodeAudioFromTrackConsumer.cs index e373565..faf5853 100644 --- a/Infrastructure/Messaging/Consumers/TranscodeAudioFromTrackConsumer.cs +++ b/Infrastructure/Messaging/Consumers/TranscodeAudioFromTrackConsumer.cs @@ -8,7 +8,7 @@ namespace Musify.Infrastructure.Messaging.Consumers { public class TranscodeAudioFromTrackConsumer( IBus bus, - AudioTranscoderConfiguration audioTranscoderConfiguration) + WorkerConfiguration workerConfiguration) : IConsumer { public const string QueueName = "Transcode-Audio-From-Track"; @@ -23,7 +23,7 @@ namespace Musify.Infrastructure.Messaging.Consumers new DownloadFileFromBucketArguments( consumeContext.Message.SourceBucketName, consumeContext.Message.SourceKeyName, - audioTranscoderConfiguration.Routes.WorkingDirectory)); + workerConfiguration.Routes.TemporaryFilesDirectory)); routingSlipBuilder.AddActivity( "TranscodeAudio", diff --git a/Infrastructure/Messaging/Consumers/UpdatePlayListPictureConsumer.cs b/Infrastructure/Messaging/Consumers/UpdatePlayListPictureConsumer.cs index 6af894e..0ba7a98 100644 --- a/Infrastructure/Messaging/Consumers/UpdatePlayListPictureConsumer.cs +++ b/Infrastructure/Messaging/Consumers/UpdatePlayListPictureConsumer.cs @@ -8,7 +8,7 @@ namespace Musify.Infrastructure.Messaging.Consumers { public class UpdatePlayListPictureConsumer( IBus bus, - AudioTranscoderConfiguration audioTranscoderConfiguration) + WorkerConfiguration workerConfiguration) : IConsumer { public const string QueueName = "Update-PlayList-Picture"; @@ -17,7 +17,7 @@ namespace Musify.Infrastructure.Messaging.Consumers { var routingSlipBuilder = new RoutingSlipBuilder(NewId.NextGuid()); var folderName = Guid.NewGuid().ToString(); - var workingDirectory = Path.Combine(audioTranscoderConfiguration.Routes.WorkingDirectory, folderName); + var workingDirectory = Path.Combine(workerConfiguration.Routes.TemporaryFilesDirectory, folderName); routingSlipBuilder.AddActivity( "DownloadFile", diff --git a/Infrastructure/Messaging/Consumers/UpdateTrackPictureConsumer.cs b/Infrastructure/Messaging/Consumers/UpdateTrackPictureConsumer.cs index 22d050c..f019285 100644 --- a/Infrastructure/Messaging/Consumers/UpdateTrackPictureConsumer.cs +++ b/Infrastructure/Messaging/Consumers/UpdateTrackPictureConsumer.cs @@ -8,7 +8,7 @@ namespace Musify.Infrastructure.Messaging.Consumers { public class UpdateTrackPictureConsumer( IBus bus, - AudioTranscoderConfiguration audioTranscoderConfiguration) + WorkerConfiguration workerConfiguration) : IConsumer { public const string QueueName = "Update-Track-Picture"; @@ -17,7 +17,7 @@ namespace Musify.Infrastructure.Messaging.Consumers { var routingSlipBuilder = new RoutingSlipBuilder(NewId.NextGuid()); var folderName = Guid.NewGuid().ToString(); - var workingDirectory = Path.Combine(audioTranscoderConfiguration.Routes.WorkingDirectory, folderName); + var workingDirectory = Path.Combine(workerConfiguration.Routes.TemporaryFilesDirectory, folderName); routingSlipBuilder.AddActivity( "DownloadFile",