Some changes

This commit is contained in:
2026-03-18 21:05:06 +01:00
parent 28b46e3cc4
commit f41a6c2d77
4 changed files with 48 additions and 43 deletions
@@ -6,19 +6,9 @@ namespace Musify.Application.Configuration
{ {
public const string SectionName = "PlayListConfiguration"; 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 PicturesSizes PicturesSizes { get; set; } = new PicturesSizes();
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 static PlayListConfiguration Load(IConfiguration configuration) public static PlayListConfiguration Load(IConfiguration configuration)
{ {
@@ -31,17 +21,20 @@ namespace Musify.Application.Configuration
static void Validate(PlayListConfiguration 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.SmallPictures, $"{SectionName}:Routes:SmallPictures");
EnsureValue(configuration.Routes.MediumPictures, $"{SectionName}:Routes:MediumPictures"); EnsureValue(configuration.Routes.MediumPictures, $"{SectionName}:Routes:MediumPictures");
EnsureValue(configuration.Routes.LargePictures, $"{SectionName}:Routes:LargePictures"); 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.PicturesSizes.SmallPictureWidth, $"{SectionName}:SmallPictureWidth");
EnsurePositiveValue(configuration.SmallPictureHeight, $"{SectionName}:SmallPictureHeight"); EnsurePositiveValue(configuration.PicturesSizes.SmallPictureHeight, $"{SectionName}:SmallPictureHeight");
EnsurePositiveValue(configuration.MediumPictureWidth, $"{SectionName}:MediumPictureWidth"); EnsurePositiveValue(configuration.PicturesSizes.MediumPictureWidth, $"{SectionName}:MediumPictureWidth");
EnsurePositiveValue(configuration.MediumPictureHeight, $"{SectionName}:MediumPictureHeight"); EnsurePositiveValue(configuration.PicturesSizes.MediumPictureHeight, $"{SectionName}:MediumPictureHeight");
EnsurePositiveValue(configuration.LargePictureWidth, $"{SectionName}:LargePictureWidth"); EnsurePositiveValue(configuration.PicturesSizes.LargePictureWidth, $"{SectionName}:LargePictureWidth");
EnsurePositiveValue(configuration.LargePictureHeight, $"{SectionName}:LargePictureHeight"); EnsurePositiveValue(configuration.PicturesSizes.LargePictureHeight, $"{SectionName}:LargePictureHeight");
} }
static void EnsureValue(string value, string name) 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"; public string SmallPictures { get; set; } = "SmallPictures";
@@ -67,10 +60,25 @@ namespace Musify.Application.Configuration
public string LargePictures { get; set; } = "LargePictures"; 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;
} }
} }
@@ -6,20 +6,18 @@ namespace Musify.Application.Configuration
{ {
public const string SectionName = "Storage"; public const string SectionName = "Storage";
public string BucketName { get; set; } = string.Empty;
public string ServiceUrl { get; set; } = string.Empty; public string ServiceUrl { get; set; } = string.Empty;
public string AccessKey { get; set; } = string.Empty; public string AccessKey { get; set; } = string.Empty;
public string SecretAccessKey { 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 ForcePathStyle { get; set; }
public bool UseHttp { get; set; } public bool UseHttp { get; set; }
public StorageRoutes Routes { get; set; } = new StorageRoutes();
public static StorageConfiguration Load(IConfiguration configuration) public static StorageConfiguration Load(IConfiguration configuration)
{ {
var section = configuration.GetSection(SectionName).Get<StorageConfiguration>() var section = configuration.GetSection(SectionName).Get<StorageConfiguration>()
@@ -32,8 +30,6 @@ namespace Musify.Application.Configuration
static void Validate(StorageConfiguration configuration) static void Validate(StorageConfiguration configuration)
{ {
EnsureValue(configuration.BucketName, nameof(BucketName)); EnsureValue(configuration.BucketName, nameof(BucketName));
EnsureValue(configuration.Routes.Uploads, $"{SectionName}:Route:Upload");
EnsureValue(configuration.ServiceUrl, nameof(ServiceUrl)); EnsureValue(configuration.ServiceUrl, nameof(ServiceUrl));
EnsureValue(configuration.AccessKey, nameof(AccessKey)); EnsureValue(configuration.AccessKey, nameof(AccessKey));
EnsureValue(configuration.SecretAccessKey, nameof(SecretAccessKey)); EnsureValue(configuration.SecretAccessKey, nameof(SecretAccessKey));
@@ -45,9 +41,4 @@ namespace Musify.Application.Configuration
throw new InvalidOperationException($"{name} configuration value not found."); throw new InvalidOperationException($"{name} configuration value not found.");
} }
} }
public class StorageRoutes
{
public string Uploads { get; set; } = "Uploads";
}
} }
+2 -2
View File
@@ -23,7 +23,7 @@ namespace Musify.Application.Pictures
var upload = new Upload var upload = new Upload
{ {
Id = pictureId, Id = pictureId,
KeyName = $"{storageConfiguration.Routes.Uploads}/{pictureId}", KeyName = keyName,
ContentType = contentType, ContentType = contentType,
BucketName = storageConfiguration.BucketName, BucketName = storageConfiguration.BucketName,
EntityType = entityType, EntityType = entityType,
@@ -39,7 +39,7 @@ namespace Musify.Application.Pictures
pictureStream, pictureStream,
contentType, contentType,
storageConfiguration.BucketName, storageConfiguration.BucketName,
$"{storageConfiguration.Routes.Uploads}/{pictureId}", keyName,
cancellationToken); cancellationToken);
if (!uploadResult.IsSuccess) if (!uploadResult.IsSuccess)
@@ -49,12 +49,18 @@ namespace Musify.Application.PlayLists.Commands.CreatePlayList
request.PictureContentType, request.PictureContentType,
request.PictureStream, request.PictureStream,
[ [
new PictureResize(playListConfiguration.SmallPictureWidth, new PictureResize(
playListConfiguration.SmallPictureHeight, playListConfiguration.Routes.SmallPictures), playListConfiguration.PicturesSizes.SmallPictureWidth,
new PictureResize(playListConfiguration.MediumPictureWidth, playListConfiguration.PicturesSizes.SmallPictureHeight,
playListConfiguration.MediumPictureHeight, playListConfiguration.Routes.MediumPictures), playListConfiguration.Routes.SmallPictures),
new PictureResize(playListConfiguration.LargePictureWidth, new PictureResize(
playListConfiguration.LargePictureHeight, playListConfiguration.Routes.LargePictures) playListConfiguration.PicturesSizes.MediumPictureWidth,
playListConfiguration.PicturesSizes.MediumPictureHeight,
playListConfiguration.Routes.MediumPictures),
new PictureResize(
playListConfiguration.PicturesSizes.LargePictureWidth,
playListConfiguration.PicturesSizes.LargePictureHeight,
playListConfiguration.Routes.LargePictures)
], ],
cancellationToken); cancellationToken);