This commit is contained in:
2026-03-20 20:24:10 +01:00
parent 9756672160
commit eda9bef828
7 changed files with 134 additions and 115 deletions
@@ -6,24 +6,27 @@ using Musify.Infrastructure.Messaging.Activities.Arguments;
namespace Musify.Infrastructure.Messaging.Activities
{
public class RemoveFilesActivity(IStorageHandler storageHandler, ILogger<RemoveFilesActivity> logger)
: IExecuteActivity<RemoveFileArguments[]>
: IExecuteActivity<RemoveFileArguments>
{
public async Task<ExecutionResult> Execute(ExecuteContext<RemoveFileArguments[]> executeContext)
{
foreach (var file in executeContext.Arguments)
{
var removeFile = await storageHandler.RemoveFileAsync(
file.BucketName,
file.KeyName,
executeContext.CancellationToken);
public const string ExecuteEndpointName = "Remove-File";
if (!removeFile.IsSuccess)
{
string errorMessage = string.Join(";", removeFile.Errors);
logger.LogWarning("Failed to remove file {File} from bucket {BucketName}: {ErrorMessage}",
file, file.BucketName, errorMessage);
}
public async Task<ExecutionResult> Execute(ExecuteContext<RemoveFileArguments> executeContext)
{
var removeFile = await storageHandler.RemoveFileAsync(
executeContext.Arguments.BucketName,
executeContext.Arguments.KeyName,
executeContext.CancellationToken);
if (!removeFile.IsSuccess)
{
string errorMessage = string.Join(";", removeFile.Errors);
logger.LogWarning(
"Failed to remove file {KeyName} from bucket {BucketName}: {ErrorMessage}",
executeContext.Arguments.KeyName,
executeContext.Arguments.BucketName,
errorMessage);
}
return executeContext.Completed();
}
}
@@ -7,6 +7,8 @@ namespace Musify.Infrastructure.Messaging.Activities
public class ResizePictureActivity(IStorageHandler storageHandler, IPictureHandler pictureHandler)
: IExecuteActivity<ResizePictureArgument>
{
public const string ExecuteEndpointName = "Resize-Picture";
public async Task<ExecutionResult> Execute(ExecuteContext<ResizePictureArgument> executeContext)
{
var file = await storageHandler.GetFileAsync(
@@ -1,4 +1,5 @@
using MassTransit;
using Microsoft.EntityFrameworkCore;
using Musify.Application.Contracts.Infrastructure;
using Musify.Infrastructure.Messaging.Activities.Arguments;
@@ -7,20 +8,21 @@ namespace Musify.Infrastructure.Messaging.Activities
public class UpdatePlayListPictureActivity(IDatabase database)
: IExecuteActivity<UpdatePlayListPictureArguments>
{
public const string ExecuteEndpointName = "Update-PlayList-Picture";
public async Task<ExecutionResult> Execute(ExecuteContext<UpdatePlayListPictureArguments> executeContext)
{
var PlayList = await database.PlayLists.FindAsync(executeContext.Arguments.PlayListId);
var playList = await database.PlayLists.SingleOrDefaultAsync(p => p.Id == executeContext.Arguments.PlayListId,
executeContext.CancellationToken);
if (PlayList is null)
{
if (playList is null)
throw new Exception($"PlayList with id {executeContext.Arguments.PlayListId} not found.");
}
PlayList.SmallPictureKeyName = executeContext.Arguments.SmallPictureKeyName;
PlayList.MediumPictureKeyName = executeContext.Arguments.MediumPictureKeyName;
PlayList.LargePictureKeyName = executeContext.Arguments.LargePictureKeyName;
playList.SmallPictureKeyName = executeContext.Arguments.SmallPictureKeyName;
playList.MediumPictureKeyName = executeContext.Arguments.MediumPictureKeyName;
playList.LargePictureKeyName = executeContext.Arguments.LargePictureKeyName;
database.PlayLists.Update(PlayList);
database.PlayLists.Update(playList);
await database.SaveChangesAsync(executeContext.CancellationToken);
return executeContext.Completed();