Files
Musify/Application/Tracks/Commands/CreateTrackCommand.cs
T
2026-03-28 20:47:54 +01:00

30 lines
1.1 KiB
C#

using Ardalis.Result;
using DispatchR.Abstractions.Send;
using Musify.Application.Contracts.Application;
using Musify.Application.Tracks.Responses;
using Musify.Domain.Entities;
namespace Musify.Application.Tracks.Commands
{
public record CreateTrackCommand(
Guid UserId,
string Title,
IFileData Picture,
IFileData Audio)
: IRequest<CreateTrackCommand, Task<Result<TrackResponse> >>
{
public static Track ToEntity(CreateTrackCommand command, string smallPictureName, string mediumPictureName, string largePictureName)
{
return new Track
{
Title = command.Title,
NormalizedTitle = command.Title.ToUpperInvariant(),
OriginalPictureName = Guid.NewGuid() + command.Picture.FileType,
OriginalAudioName = Guid.NewGuid() + command.Audio.FileType,
SmallPictureName = smallPictureName,
MediumPictureName = mediumPictureName,
LargePictureName = largePictureName
};
}
}
}