diff --git a/Application/Configuration/PlayListConfiguration.cs b/Application/Configuration/PlayListConfiguration.cs index 4567cc7..62d2a7f 100644 --- a/Application/Configuration/PlayListConfiguration.cs +++ b/Application/Configuration/PlayListConfiguration.cs @@ -6,19 +6,9 @@ namespace Musify.Application.Configuration { public const string SectionName = "PlayListConfiguration"; - public PlayListRoutes Routes { get; set; } = new PlayListRoutes(); + public Routes Routes { get; set; } = new Routes(); - public int SmallPictureWidth { get; set; } = 128; - - public int SmallPictureHeight { get; set; } = 128; - - public int MediumPictureWidth { get; private set; } = 256; - - public int MediumPictureHeight { get; private set; } = 256; - - public int LargePictureWidth { get; private set; } = 512; - - public int LargePictureHeight { get; private set; } = 512; + public PicturesSizes PicturesSizes { get; set; } = new PicturesSizes(); public static PlayListConfiguration Load(IConfiguration configuration) { @@ -31,17 +21,20 @@ namespace Musify.Application.Configuration static void Validate(PlayListConfiguration configuration) { - EnsureValue(configuration.Routes.ParentFolder, $"{SectionName}:BucketName"); + EnsureValue(configuration.Routes.OriginalPictures, $"{SectionName}:BucketName"); EnsureValue(configuration.Routes.SmallPictures, $"{SectionName}:Routes:SmallPictures"); EnsureValue(configuration.Routes.MediumPictures, $"{SectionName}:Routes:MediumPictures"); EnsureValue(configuration.Routes.LargePictures, $"{SectionName}:Routes:LargePictures"); + EnsureValue(configuration.Routes.PresetSmallPicture, $"{SectionName}:Routes:SmallPictures"); + EnsureValue(configuration.Routes.PresetMediumPicture, $"{SectionName}:Routes:MediumPictures"); + EnsureValue(configuration.Routes.PresetLargePicture, $"{SectionName}:Routes:LargePictures"); - EnsurePositiveValue(configuration.SmallPictureWidth, $"{SectionName}:SmallPictureWidth"); - EnsurePositiveValue(configuration.SmallPictureHeight, $"{SectionName}:SmallPictureHeight"); - EnsurePositiveValue(configuration.MediumPictureWidth, $"{SectionName}:MediumPictureWidth"); - EnsurePositiveValue(configuration.MediumPictureHeight, $"{SectionName}:MediumPictureHeight"); - EnsurePositiveValue(configuration.LargePictureWidth, $"{SectionName}:LargePictureWidth"); - EnsurePositiveValue(configuration.LargePictureHeight, $"{SectionName}:LargePictureHeight"); + EnsurePositiveValue(configuration.PicturesSizes.SmallPictureWidth, $"{SectionName}:SmallPictureWidth"); + EnsurePositiveValue(configuration.PicturesSizes.SmallPictureHeight, $"{SectionName}:SmallPictureHeight"); + EnsurePositiveValue(configuration.PicturesSizes.MediumPictureWidth, $"{SectionName}:MediumPictureWidth"); + EnsurePositiveValue(configuration.PicturesSizes.MediumPictureHeight, $"{SectionName}:MediumPictureHeight"); + EnsurePositiveValue(configuration.PicturesSizes.LargePictureWidth, $"{SectionName}:LargePictureWidth"); + EnsurePositiveValue(configuration.PicturesSizes.LargePictureHeight, $"{SectionName}:LargePictureHeight"); } static void EnsureValue(string value, string name) @@ -57,9 +50,9 @@ namespace Musify.Application.Configuration } } - public class PlayListRoutes + public class Routes { - public string ParentFolder { get; set; } = "PlayLists"; + public string OriginalPictures { get; set; } = "OriginalPictures"; public string SmallPictures { get; set; } = "SmallPictures"; @@ -67,10 +60,25 @@ namespace Musify.Application.Configuration public string LargePictures { get; set; } = "LargePictures"; - public string DefaultSmallPicture { get; set; } = "DefaultSmallPicture.webp"; + public string PresetSmallPicture { get; set; } = "PresetSmallPicture.webp"; - public string DefaultMediumPicture { get; set; } = "DefaultMediumPicture.webp"; + public string PresetMediumPicture { get; set; } = "PresettMediumPicture.webp"; - public string DefaultLargePicture { get; set; } = "DefaultLargePicture.webp"; + public string PresetLargePicture { get; set; } = "PresetLargePicture.webp"; + } + + public class PicturesSizes + { + public int SmallPictureWidth { get; set; } = 128; + + public int SmallPictureHeight { get; set; } = 128; + + public int MediumPictureWidth { get; private set; } = 256; + + public int MediumPictureHeight { get; private set; } = 256; + + public int LargePictureWidth { get; private set; } = 512; + + public int LargePictureHeight { get; private set; } = 512; } } \ No newline at end of file diff --git a/Application/Configuration/StorageConfiguration.cs b/Application/Configuration/StorageConfiguration.cs index b8932aa..d02353f 100644 --- a/Application/Configuration/StorageConfiguration.cs +++ b/Application/Configuration/StorageConfiguration.cs @@ -6,20 +6,18 @@ namespace Musify.Application.Configuration { public const string SectionName = "Storage"; + public string BucketName { get; set; } = string.Empty; + public string ServiceUrl { get; set; } = string.Empty; public string AccessKey { get; set; } = string.Empty; public string SecretAccessKey { get; set; } = string.Empty; - public string BucketName { get; set; } = string.Empty; - public bool ForcePathStyle { get; set; } public bool UseHttp { get; set; } - public StorageRoutes Routes { get; set; } = new StorageRoutes(); - public static StorageConfiguration Load(IConfiguration configuration) { var section = configuration.GetSection(SectionName).Get() @@ -32,8 +30,6 @@ namespace Musify.Application.Configuration static void Validate(StorageConfiguration configuration) { EnsureValue(configuration.BucketName, nameof(BucketName)); - EnsureValue(configuration.Routes.Uploads, $"{SectionName}:Route:Upload"); - EnsureValue(configuration.ServiceUrl, nameof(ServiceUrl)); EnsureValue(configuration.AccessKey, nameof(AccessKey)); EnsureValue(configuration.SecretAccessKey, nameof(SecretAccessKey)); @@ -45,9 +41,4 @@ namespace Musify.Application.Configuration throw new InvalidOperationException($"{name} configuration value not found."); } } - - public class StorageRoutes - { - public string Uploads { get; set; } = "Uploads"; - } } \ No newline at end of file diff --git a/Application/Pictures/PictureService.cs b/Application/Pictures/PictureService.cs index 7ee8348..0dfcedc 100644 --- a/Application/Pictures/PictureService.cs +++ b/Application/Pictures/PictureService.cs @@ -23,7 +23,7 @@ namespace Musify.Application.Pictures var upload = new Upload { Id = pictureId, - KeyName = $"{storageConfiguration.Routes.Uploads}/{pictureId}", + KeyName = keyName, ContentType = contentType, BucketName = storageConfiguration.BucketName, EntityType = entityType, @@ -39,7 +39,7 @@ namespace Musify.Application.Pictures pictureStream, contentType, storageConfiguration.BucketName, - $"{storageConfiguration.Routes.Uploads}/{pictureId}", + keyName, cancellationToken); if (!uploadResult.IsSuccess) diff --git a/Application/PlayLists/Commands/CreatePlayList/CreatePlayListCommandHandler.cs b/Application/PlayLists/Commands/CreatePlayList/CreatePlayListCommandHandler.cs index 76851f7..5127c3b 100644 --- a/Application/PlayLists/Commands/CreatePlayList/CreatePlayListCommandHandler.cs +++ b/Application/PlayLists/Commands/CreatePlayList/CreatePlayListCommandHandler.cs @@ -49,12 +49,18 @@ namespace Musify.Application.PlayLists.Commands.CreatePlayList request.PictureContentType, request.PictureStream, [ - new PictureResize(playListConfiguration.SmallPictureWidth, - playListConfiguration.SmallPictureHeight, playListConfiguration.Routes.SmallPictures), - new PictureResize(playListConfiguration.MediumPictureWidth, - playListConfiguration.MediumPictureHeight, playListConfiguration.Routes.MediumPictures), - new PictureResize(playListConfiguration.LargePictureWidth, - playListConfiguration.LargePictureHeight, playListConfiguration.Routes.LargePictures) + new PictureResize( + playListConfiguration.PicturesSizes.SmallPictureWidth, + playListConfiguration.PicturesSizes.SmallPictureHeight, + playListConfiguration.Routes.SmallPictures), + new PictureResize( + playListConfiguration.PicturesSizes.MediumPictureWidth, + playListConfiguration.PicturesSizes.MediumPictureHeight, + playListConfiguration.Routes.MediumPictures), + new PictureResize( + playListConfiguration.PicturesSizes.LargePictureWidth, + playListConfiguration.PicturesSizes.LargePictureHeight, + playListConfiguration.Routes.LargePictures) ], cancellationToken);