Changes on routes
This commit is contained in:
@@ -55,6 +55,14 @@ namespace Musify.Application.Configuration
|
||||
public string PresetLargePicturePath => Path.Combine(ParentFolders, PresetLargePicture);
|
||||
|
||||
public string OriginalPicturesPath => Path.Combine(ParentFolders, OriginalPicturesFolder);
|
||||
|
||||
public string BuildOriginalPicturePath(string pictureName) => Path.Combine(ParentFolders, OriginalPicturesFolder, pictureName);
|
||||
|
||||
public string BuildSmallPicturePath(string pictureName) => Path.Combine(ParentFolders, SmallPicturesFolder, pictureName);
|
||||
|
||||
public string BuildMediumPicturePath(string pictureName) => Path.Combine(ParentFolders, MediumPicturesFolder, pictureName);
|
||||
|
||||
public string BuildLargePicturePath(string pictureName) => Path.Combine(ParentFolders, LargePicturesFolder, pictureName);
|
||||
}
|
||||
|
||||
public class PlayListPicturesSizes
|
||||
|
||||
@@ -72,7 +72,7 @@ namespace Musify.Application.PlayLists.Handlers
|
||||
async Task<Result> UploadPictureAsync(PlayList playList, IFileData picture, CancellationToken cancellationToken)
|
||||
{
|
||||
var pictureName = Guid.NewGuid() + picture.FileType;
|
||||
var pictureKey = Path.Combine(playListConfiguration.Routes.OriginalPicturesPath, pictureName);
|
||||
var pictureKey = playListConfiguration.Routes.BuildOriginalPicturePath(pictureName);
|
||||
|
||||
try
|
||||
{
|
||||
@@ -94,7 +94,7 @@ namespace Musify.Application.PlayLists.Handlers
|
||||
var updateEvent = new UpdatePlayListPictureEvent(
|
||||
playList.Id,
|
||||
storageConfiguration.Bucket,
|
||||
Path.Combine(playListConfiguration.Routes.OriginalPicturesPath, playList.OriginalPictureName),
|
||||
playListConfiguration.Routes.BuildOriginalPicturePath(playList.OriginalPictureName),
|
||||
new ImageSize(
|
||||
playListConfiguration.Routes.SmallPicturesPath,
|
||||
playListConfiguration.PicturesSizes.SmallPictureWidth,
|
||||
@@ -123,7 +123,7 @@ namespace Musify.Application.PlayLists.Handlers
|
||||
if (string.IsNullOrEmpty(playList.OriginalPictureName))
|
||||
return;
|
||||
|
||||
var originalPicturePath = Path.Combine(playListConfiguration.Routes.OriginalPicturesPath, playList.OriginalPictureName);
|
||||
var originalPicturePath = playListConfiguration.Routes.BuildOriginalPicturePath(playList.OriginalPictureName);
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Ardalis.Result;
|
||||
using Mediator;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Musify.Application.Configuration;
|
||||
using Musify.Application.Contracts.Infrastructure;
|
||||
@@ -14,9 +15,7 @@ namespace Musify.Application.PlayLists.Handlers
|
||||
{
|
||||
public async ValueTask<Result> Handle(DeletePlayListCommand request, CancellationToken cancellationToken)
|
||||
{
|
||||
var playList = await database.PlayLists.FindAsync(
|
||||
[request.PlayListId],
|
||||
cancellationToken);
|
||||
var playList = await database.PlayLists.SingleOrDefaultAsync(p => p.Id == request.PlayListId, cancellationToken);
|
||||
if (playList is null)
|
||||
{
|
||||
logger.LogDebug("Playlist {PlayListId} not found", request.PlayListId);
|
||||
@@ -29,15 +28,18 @@ namespace Musify.Application.PlayLists.Handlers
|
||||
return Result.Unauthorized();
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(playList.OriginalPictureName))
|
||||
await PublishRemoveFileEventAsync(playList.Id,
|
||||
playListConfiguration.Routes.BuildOriginalPicturePath(playList.OriginalPictureName), cancellationToken);
|
||||
if (playList.SmallPictureName != playListConfiguration.Routes.PresetSmallPicture)
|
||||
await PublishRemoveFileEventAsync(playList.Id, Path.Combine(playListConfiguration.Routes.SmallPicturesPath,
|
||||
playList.SmallPictureName), cancellationToken);
|
||||
await PublishRemoveFileEventAsync(playList.Id,
|
||||
playListConfiguration.Routes.BuildSmallPicturePath(playList.SmallPictureName), cancellationToken);
|
||||
if (playList.MediumPictureName != playListConfiguration.Routes.PresetMediumPicture)
|
||||
await PublishRemoveFileEventAsync(playList.Id, Path.Combine(playListConfiguration.Routes.MediumPicturesPath,
|
||||
playList.MediumPictureName), cancellationToken);
|
||||
await PublishRemoveFileEventAsync(playList.Id,
|
||||
playListConfiguration.Routes.BuildMediumPicturePath(playList.MediumPictureName), cancellationToken);
|
||||
if (playList.LargePictureName != playListConfiguration.Routes.PresetLargePicture)
|
||||
await PublishRemoveFileEventAsync(playList.Id, Path.Combine(playListConfiguration.Routes.LargePicturesPath,
|
||||
playList.LargePictureName), cancellationToken);
|
||||
await PublishRemoveFileEventAsync(playList.Id,
|
||||
playListConfiguration.Routes.BuildLargePicturePath(playList.LargePictureName), cancellationToken);
|
||||
|
||||
database.PlayLists.Remove(playList);
|
||||
await database.SaveChangesAsync(cancellationToken);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Ardalis.Result;
|
||||
using Mediator;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Musify.Application.Configuration;
|
||||
using Musify.Application.Contracts.Application;
|
||||
@@ -18,9 +19,7 @@ namespace Musify.Application.PlayLists.Handlers
|
||||
{
|
||||
public async ValueTask<Result<PlayListResponse>> Handle(UpdatePlayListCommand request, CancellationToken cancellationToken)
|
||||
{
|
||||
var playListEntity = await database.PlayLists.FindAsync(
|
||||
[request.PlayListId],
|
||||
cancellationToken);
|
||||
var playListEntity = await database.PlayLists.SingleOrDefaultAsync(pl => pl.Id == request.PlayListId, cancellationToken);
|
||||
if (playListEntity is null)
|
||||
{
|
||||
logger.LogInformation("Playlist {PlayListId} not found", request.PlayListId);
|
||||
@@ -43,8 +42,6 @@ namespace Musify.Application.PlayLists.Handlers
|
||||
{
|
||||
database.PlayLists.Update(playListEntity);
|
||||
await database.SaveChangesAsync(cancellationToken);
|
||||
await PublishPlayListPictureEvent(playListEntity, cancellationToken);
|
||||
await RemoveOldPictures(playListEntity, cancellationToken);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
@@ -53,6 +50,17 @@ namespace Musify.Application.PlayLists.Handlers
|
||||
return Result.Error($"Failed to update playlist {playListEntity.Id}");
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
await PublishPlayListPictureEvent(playListEntity, cancellationToken);
|
||||
await RemoveOldPictures(playListEntity, cancellationToken);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
logger.LogError(exception, "Failed to publish playlist picture update event or remove old pictures for playlist {PlayListId}", playListEntity.Id);
|
||||
return Result.Error($"Failed to update playlist {playListEntity.Id}");
|
||||
}
|
||||
|
||||
logger.LogInformation("Updated playlist {PlayListId}", playListEntity.Id);
|
||||
return Result.Success(PlayListResponse.FromEntity(playListEntity));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user