Changes
This commit is contained in:
@@ -8,6 +8,8 @@ using Musify.Application.Events;
|
||||
using Musify.Application.Tracks.Commands;
|
||||
using Musify.Application.Tracks.Responses;
|
||||
using Musify.Application.UploadIntents;
|
||||
using Musify.Application.Extensions;
|
||||
using Musify.Application.Abstractions.Application;
|
||||
using Musify.Domain.Entities;
|
||||
|
||||
namespace Musify.Application.Tracks.Handler
|
||||
@@ -15,6 +17,7 @@ namespace Musify.Application.Tracks.Handler
|
||||
public class CreateTrackCommandHandler(
|
||||
IDatabase database,
|
||||
IEventBus eventBus,
|
||||
IUploadIntentService uploadIntentService,
|
||||
IStorageService storageService,
|
||||
ILogger<CreateTrackCommandHandler> logger,
|
||||
ApplicationStorageConfiguration storageConfiguration,
|
||||
@@ -32,20 +35,20 @@ namespace Musify.Application.Tracks.Handler
|
||||
return Result.NotFound($"User {request.UserId} not found");
|
||||
}
|
||||
|
||||
var pictureValidation = await UploadIntentHelpers.ValidateAndLoadAsync(
|
||||
database, storageService, uploadIntentConfiguration,
|
||||
var pictureValidation = await uploadIntentService.ValidateAndLoadAsync(
|
||||
uploadIntentConfiguration,
|
||||
request.PictureIntentId, request.UserId, cancellationToken);
|
||||
if (!pictureValidation.IsSuccess)
|
||||
return pictureValidation.Error!.Value;
|
||||
return pictureValidation.As<UploadIntent, TrackApplicationResponse>();
|
||||
|
||||
var audioValidation = await UploadIntentHelpers.ValidateAndLoadAsync(
|
||||
database, storageService, uploadIntentConfiguration,
|
||||
var audioValidation = await uploadIntentService.ValidateAndLoadAsync(
|
||||
uploadIntentConfiguration,
|
||||
request.AudioIntentId, request.UserId, cancellationToken);
|
||||
if (!audioValidation.IsSuccess)
|
||||
return audioValidation.Error!.Value;
|
||||
return audioValidation.As<UploadIntent, TrackApplicationResponse>();
|
||||
|
||||
var pictureIntent = pictureValidation.Intent!;
|
||||
var audioIntent = audioValidation.Intent!;
|
||||
var pictureIntent = pictureValidation.Value;
|
||||
var audioIntent = audioValidation.Value;
|
||||
|
||||
var finalPictureKey = trackConfiguration.Routes.BuildOriginalPicturePath(request.UserId, pictureIntent.ObjectName);
|
||||
var finalAudioKey = trackConfiguration.Routes.BuildOriginalAudioPath(request.UserId, audioIntent.ObjectName);
|
||||
|
||||
@@ -2,6 +2,7 @@ using Ardalis.Result;
|
||||
using Mediator;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Musify.Application.Abstractions.Application;
|
||||
using Musify.Application.Abstractions.Infrastructure;
|
||||
using Musify.Application.Configuration;
|
||||
using Musify.Application.Tracks.Commands;
|
||||
@@ -13,6 +14,7 @@ namespace Musify.Application.Tracks.Handler
|
||||
{
|
||||
public class RequestTrackUploadUrlsCommandHandler(
|
||||
IDatabase database,
|
||||
IUploadIntentService uploadIntentService,
|
||||
IStorageService storageService,
|
||||
ILogger<RequestTrackUploadUrlsCommandHandler> logger,
|
||||
ApplicationStorageConfiguration storageConfiguration,
|
||||
@@ -78,8 +80,8 @@ namespace Musify.Application.Tracks.Handler
|
||||
await using var transaction = await database.BeginTransactionAsync(
|
||||
System.Data.IsolationLevel.Serializable, cancellationToken);
|
||||
|
||||
var quotaCheck = await UploadIntentHelpers.CheckQuotaAsync(
|
||||
database, uploadIntentConfiguration, logger,
|
||||
var quotaCheck = await uploadIntentService.CheckQuotaAsync(
|
||||
uploadIntentConfiguration, logger,
|
||||
request.UserId, effectivePictureSize + effectiveAudioSize, 2, cancellationToken);
|
||||
if (!quotaCheck.IsSuccess)
|
||||
return quotaCheck;
|
||||
|
||||
Reference in New Issue
Block a user