Unify picture configuration and options registration
This commit is contained in:
@@ -7,7 +7,6 @@ using Musify.Application.Configuration;
|
||||
using Musify.Application.Contracts;
|
||||
using Musify.Application.Events;
|
||||
using Musify.Application.Services;
|
||||
using Musify.Application.Shared;
|
||||
using Musify.Domain.Entities;
|
||||
using Musify.Domain.ValueObjects;
|
||||
|
||||
@@ -90,6 +89,7 @@ public class CreateAlbumCommandHandler(
|
||||
{
|
||||
try
|
||||
{
|
||||
var sizes = albumConfiguration.PicturesSizes.ToImageSizes(albumConfiguration.Routes);
|
||||
await eventBus.PublishAsync(
|
||||
new CreateAlbumResourcesEvent(
|
||||
albumId,
|
||||
@@ -97,18 +97,9 @@ public class CreateAlbumCommandHandler(
|
||||
storageConfiguration.Bucket,
|
||||
pictureIntent.Key,
|
||||
finalPictureKey,
|
||||
new ImageSize(
|
||||
albumConfiguration.Routes.SmallPicturesPath,
|
||||
albumConfiguration.PicturesSizes.SmallPictureWidth,
|
||||
albumConfiguration.PicturesSizes.SmallPictureHeight),
|
||||
new ImageSize(
|
||||
albumConfiguration.Routes.MediumPicturesPath,
|
||||
albumConfiguration.PicturesSizes.MediumPictureWidth,
|
||||
albumConfiguration.PicturesSizes.MediumPictureHeight),
|
||||
new ImageSize(
|
||||
albumConfiguration.Routes.LargePicturesPath,
|
||||
albumConfiguration.PicturesSizes.LargePictureWidth,
|
||||
albumConfiguration.PicturesSizes.LargePictureHeight)),
|
||||
sizes.Small,
|
||||
sizes.Medium,
|
||||
sizes.Large),
|
||||
cancellationToken);
|
||||
return new Success();
|
||||
}
|
||||
|
||||
@@ -32,12 +32,14 @@ public class GetAlbumCoverQueryHandler(
|
||||
|
||||
var pictures = owned.Pictures;
|
||||
var routes = albumConfiguration.Routes;
|
||||
var (name, key) = request.Size.ToLowerInvariant() switch
|
||||
var size = PictureSizeParser.Parse(request.Size);
|
||||
var name = size switch
|
||||
{
|
||||
"small" => (pictures.SmallName, BuildKey(routes.BuildSmallPicturePath, pictures.SmallName)),
|
||||
"large" => (pictures.LargeName, BuildKey(routes.BuildLargePicturePath, pictures.LargeName)),
|
||||
_ => (pictures.MediumName, BuildKey(routes.BuildMediumPicturePath, pictures.MediumName))
|
||||
PictureSize.Small => pictures.SmallName,
|
||||
PictureSize.Large => pictures.LargeName,
|
||||
_ => pictures.MediumName
|
||||
};
|
||||
var key = string.IsNullOrEmpty(name) ? null : routes.BuildPicturePath(size, name);
|
||||
|
||||
// The resized files only exist once processing has finished; until then serve the original.
|
||||
if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(key))
|
||||
@@ -52,7 +54,4 @@ public class GetAlbumCoverQueryHandler(
|
||||
var contentType = MimeUtility.GetMimeMapping(name);
|
||||
return new AlbumCoverLocation(storageConfiguration.Bucket, key, contentType);
|
||||
}
|
||||
|
||||
private static string? BuildKey(Func<string, string> builder, string? name)
|
||||
=> string.IsNullOrEmpty(name) ? null : builder(name);
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public class RequestAlbumPictureUploadCommandHandler(
|
||||
|
||||
var objectName = $"{Guid.NewGuid()}.{request.FileType.TrimStart('.').ToLowerInvariant()}";
|
||||
|
||||
var tempKey = albumConfiguration.Routes.BuildTempPicturePath(
|
||||
var tempKey = albumConfiguration.Routes.BuildTempPath(
|
||||
uploadIntentConfiguration.TempRootPrefix, request.UserId, objectName);
|
||||
|
||||
try
|
||||
|
||||
@@ -106,6 +106,7 @@ public class UpdateAlbumCommandHandler(
|
||||
{
|
||||
try
|
||||
{
|
||||
var sizes = albumConfiguration.PicturesSizes.ToImageSizes(albumConfiguration.Routes);
|
||||
await eventBus.PublishAsync(
|
||||
new UpdateAlbumPictureSourceEvent(
|
||||
albumId,
|
||||
@@ -113,18 +114,9 @@ public class UpdateAlbumCommandHandler(
|
||||
storageConfiguration.Bucket,
|
||||
pictureIntent.Key,
|
||||
finalPictureKey,
|
||||
new ImageSize(
|
||||
albumConfiguration.Routes.SmallPicturesPath,
|
||||
albumConfiguration.PicturesSizes.SmallPictureWidth,
|
||||
albumConfiguration.PicturesSizes.SmallPictureHeight),
|
||||
new ImageSize(
|
||||
albumConfiguration.Routes.MediumPicturesPath,
|
||||
albumConfiguration.PicturesSizes.MediumPictureWidth,
|
||||
albumConfiguration.PicturesSizes.MediumPictureHeight),
|
||||
new ImageSize(
|
||||
albumConfiguration.Routes.LargePicturesPath,
|
||||
albumConfiguration.PicturesSizes.LargePictureWidth,
|
||||
albumConfiguration.PicturesSizes.LargePictureHeight)),
|
||||
sizes.Small,
|
||||
sizes.Medium,
|
||||
sizes.Large),
|
||||
cancellationToken);
|
||||
return new Success();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user