Update structure

This commit is contained in:
2026-05-28 20:42:38 +02:00
parent 689144eae4
commit d60daf6272
97 changed files with 164 additions and 137 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
namespace Musify.Application.Events namespace Musify.Application.Common
{ {
public record ImageSize( public record ImageSize(
string SavePath, string SavePath,
@@ -1,13 +0,0 @@
namespace Musify.Application.Contracts.Application
{
public interface IFileData
{
Stream FileStream { get; }
string FileName { get; }
string FileType { get; }
string ContentType { get; }
}
}
@@ -1,4 +1,4 @@
namespace Musify.Application.Contracts.Infrastructure namespace Musify.Application.Contracts
{ {
public interface IAudioTranscoderService public interface IAudioTranscoderService
{ {
@@ -1,7 +1,7 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Domain.Entities; using Musify.Domain.Entities;
namespace Musify.Application.Contracts.Infrastructure namespace Musify.Application.Contracts
{ {
public interface IDatabase public interface IDatabase
{ {
@@ -1,4 +1,4 @@
namespace Musify.Application.Contracts.Infrastructure namespace Musify.Application.Contracts
{ {
public interface IDatabaseTransaction : IAsyncDisposable public interface IDatabaseTransaction : IAsyncDisposable
{ {
@@ -1,4 +1,4 @@
namespace Musify.Application.Contracts.Infrastructure namespace Musify.Application.Contracts
{ {
public interface IEventBus public interface IEventBus
{ {
@@ -1,4 +1,4 @@
namespace Musify.Application.Contracts.Infrastructure namespace Musify.Application.Contracts
{ {
public interface IPictureService public interface IPictureService
{ {
@@ -1,11 +1,11 @@
namespace Musify.Application.Contracts.Infrastructure namespace Musify.Application.Contracts
{ {
public interface IStorageService public interface IStorageService
{ {
Task<Stream> GetFileAsync(string bucket, string key, CancellationToken cancellationToken); Task<Stream> GetFileAsync(string bucket, string key, CancellationToken cancellationToken);
// Returns null if the object does not exist // Returns null if the object does not exist
Task<ObjectMetadata?> HeadObjectAsync(string bucket, string key, CancellationToken cancellationToken); Task<ObjectMetaData?> HeadObjectAsync(string bucket, string key, CancellationToken cancellationToken);
Task<string> GetUrlAsync(string bucket, string key, TimeSpan ExpirationTime, CancellationToken cancellationToken); Task<string> GetUrlAsync(string bucket, string key, TimeSpan ExpirationTime, CancellationToken cancellationToken);
@@ -1,4 +0,0 @@
namespace Musify.Application.Contracts.Infrastructure
{
public record ObjectMetadata(string ContentType, long ContentLength);
}
+4
View File
@@ -0,0 +1,4 @@
namespace Musify.Application.Contracts
{
public record ObjectMetaData(string ContentType, long ContentLength);
}
@@ -1,3 +1,5 @@
using Musify.Application.Common;
namespace Musify.Application.Events namespace Musify.Application.Events
{ {
public record CreatePlayListResourcesEvent( public record CreatePlayListResourcesEvent(
@@ -1,3 +1,5 @@
using Musify.Application.Common;
namespace Musify.Application.Events namespace Musify.Application.Events
{ {
public record CreateTrackResourcesEvent( public record CreateTrackResourcesEvent(
@@ -1,3 +1,5 @@
using Musify.Application.Common;
namespace Musify.Application.Events namespace Musify.Application.Events
{ {
public record UpdatePlayListPictureEvent( public record UpdatePlayListPictureEvent(
@@ -1,3 +1,5 @@
using Musify.Application.Common;
namespace Musify.Application.Events namespace Musify.Application.Events
{ {
public record UpdatePlayListPictureSourceEvent( public record UpdatePlayListPictureSourceEvent(
@@ -1,3 +1,5 @@
using Musify.Application.Common;
namespace Musify.Application.Events namespace Musify.Application.Events
{ {
public record UpdateTrackPictureEvent( public record UpdateTrackPictureEvent(
@@ -3,13 +3,15 @@ using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Common;
using Musify.Application.Events; using Musify.Application.Events;
using Musify.Application.PlayLists.Commands; using Musify.Application.PlayLists.Commands;
using Musify.Application.PlayLists.Responses; using Musify.Application.PlayLists.Responses;
using Musify.Application.Extensions; using Musify.Application.Extensions;
using Musify.Application.Services; using Musify.Application.Services;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Application.Contracts;
namespace Musify.Application.PlayLists.Handlers namespace Musify.Application.PlayLists.Handlers
{ {
@@ -2,10 +2,11 @@ using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Application.Events; using Musify.Application.Events;
using Musify.Application.PlayLists.Commands; using Musify.Application.PlayLists.Commands;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
namespace Musify.Application.PlayLists.Handlers namespace Musify.Application.PlayLists.Handlers
{ {
@@ -1,9 +1,9 @@
using Ardalis.Result; using Ardalis.Result;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.PlayLists.Responses; using Musify.Application.PlayLists.Responses;
using Musify.Application.PlayLists.Queries; using Musify.Application.PlayLists.Queries;
using Mediator; using Mediator;
using Musify.Application.Contracts;
namespace Musify.Application.PlayLists.Handlers namespace Musify.Application.PlayLists.Handlers
{ {
@@ -1,11 +1,11 @@
using Ardalis.Result; using Ardalis.Result;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Pagination; using Musify.Application.Pagination;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.PlayLists.Responses; using Musify.Application.PlayLists.Responses;
using Musify.Application.PlayLists.Queries; using Musify.Application.PlayLists.Queries;
using X.PagedList.EF; using X.PagedList.EF;
using Mediator; using Mediator;
using Musify.Application.Contracts;
namespace Musify.Application.PlayLists.Handlers namespace Musify.Application.PlayLists.Handlers
{ {
@@ -1,11 +1,11 @@
using Ardalis.Result; using Ardalis.Result;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Pagination; using Musify.Application.Pagination;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.PlayLists.Responses; using Musify.Application.PlayLists.Responses;
using Musify.Application.PlayLists.Queries; using Musify.Application.PlayLists.Queries;
using X.PagedList.EF; using X.PagedList.EF;
using Mediator; using Mediator;
using Musify.Application.Contracts;
namespace Musify.Application.PlayLists.Handlers namespace Musify.Application.PlayLists.Handlers
{ {
@@ -2,12 +2,13 @@ using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Application.PlayLists.Commands; using Musify.Application.PlayLists.Commands;
using Musify.Application.PlayLists.Responses; using Musify.Application.PlayLists.Responses;
using Musify.Application.Services; using Musify.Application.Services;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Application.Contracts;
namespace Musify.Application.PlayLists.Handlers namespace Musify.Application.PlayLists.Handlers
{ {
@@ -3,13 +3,15 @@ using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Common;
using Musify.Application.Events; using Musify.Application.Events;
using Musify.Application.PlayLists.Commands; using Musify.Application.PlayLists.Commands;
using Musify.Application.PlayLists.Responses; using Musify.Application.PlayLists.Responses;
using Musify.Application.Extensions; using Musify.Application.Extensions;
using Musify.Application.Services; using Musify.Application.Services;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Application.Contracts;
namespace Musify.Application.PlayLists.Handlers namespace Musify.Application.PlayLists.Handlers
{ {
@@ -1,8 +1,9 @@
using Ardalis.Result; using Ardalis.Result;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Application.Contracts;
namespace Musify.Application.Services; namespace Musify.Application.Services;
@@ -3,15 +3,17 @@ using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Common;
using Musify.Application.Events; using Musify.Application.Events;
using Musify.Application.Tracks.Commands; using Musify.Application.Tracks.Commands;
using Musify.Application.Tracks.Responses; using Musify.Application.Tracks.Responses;
using Musify.Application.Extensions; using Musify.Application.Extensions;
using Musify.Application.Services; using Musify.Application.Services;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Application.Contracts;
namespace Musify.Application.Tracks.Handler namespace Musify.Application.Tracks.Handlers
{ {
public class CreateTrackCommandHandler( public class CreateTrackCommandHandler(
IDatabase database, IDatabase database,
@@ -2,12 +2,13 @@ using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Tracks.Commands; using Musify.Application.Tracks.Commands;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Application.Events; using Musify.Application.Events;
using Musify.Application.Contracts;
namespace Musify.Application.Tracks.Handler namespace Musify.Application.Tracks.Handlers
{ {
public class DeleteTrackCommandHandler( public class DeleteTrackCommandHandler(
IDatabase database, IDatabase database,
@@ -1,11 +1,11 @@
using Ardalis.Result; using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Application.Tracks.Queries; using Musify.Application.Tracks.Queries;
using Musify.Application.Tracks.Responses; using Musify.Application.Tracks.Responses;
namespace Musify.Application.Tracks.Handler namespace Musify.Application.Tracks.Handlers
{ {
public class GetTrackByIdQueryHandler(IDatabase database) public class GetTrackByIdQueryHandler(IDatabase database)
: IQueryHandler<GetTrackByIdQuery, Result<TrackApplicationResponse> > : IQueryHandler<GetTrackByIdQuery, Result<TrackApplicationResponse> >
@@ -2,12 +2,12 @@ using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Pagination; using Musify.Application.Pagination;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Tracks.Queries; using Musify.Application.Tracks.Queries;
using Musify.Application.Tracks.Responses; using Musify.Application.Tracks.Responses;
using X.PagedList.EF; using X.PagedList.EF;
using Musify.Application.Contracts;
namespace Musify.Application.Tracks.Handler namespace Musify.Application.Tracks.Handlers
{ {
public class GetTracksByUserIdQueryHandler(IDatabase database) public class GetTracksByUserIdQueryHandler(IDatabase database)
: IQueryHandler<GetTracksByUserIdQuery, Result<PaginatedResponse<TrackApplicationResponse>> > : IQueryHandler<GetTracksByUserIdQuery, Result<PaginatedResponse<TrackApplicationResponse>> >
@@ -2,12 +2,12 @@ using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Pagination; using Musify.Application.Pagination;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Tracks.Queries; using Musify.Application.Tracks.Queries;
using Musify.Application.Tracks.Responses; using Musify.Application.Tracks.Responses;
using X.PagedList.EF; using X.PagedList.EF;
using Musify.Application.Contracts;
namespace Musify.Application.Tracks.Handler namespace Musify.Application.Tracks.Handlers
{ {
public class GetTracksQueryHandler(IDatabase database) public class GetTracksQueryHandler(IDatabase database)
: IQueryHandler<GetTracksQuery, Result<PaginatedResponse<TrackApplicationResponse>> > : IQueryHandler<GetTracksQuery, Result<PaginatedResponse<TrackApplicationResponse>> >
@@ -2,14 +2,15 @@ using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Application.Services; using Musify.Application.Services;
using Musify.Application.Tracks.Commands; using Musify.Application.Tracks.Commands;
using Musify.Application.Tracks.Responses; using Musify.Application.Tracks.Responses;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Application.Contracts;
namespace Musify.Application.Tracks.Handler namespace Musify.Application.Tracks.Handlers
{ {
public class RequestTrackUploadUrlsCommandHandler( public class RequestTrackUploadUrlsCommandHandler(
IDatabase database, IDatabase database,
@@ -2,7 +2,7 @@ using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Application.Users.Commands; using Musify.Application.Users.Commands;
using Musify.Application.Users.Responses; using Musify.Application.Users.Responses;
@@ -1,7 +1,7 @@
using Ardalis.Result; using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Application.Users.Queries; using Musify.Application.Users.Queries;
using Musify.Application.Users.Responses; using Musify.Application.Users.Responses;
@@ -1,7 +1,7 @@
using Ardalis.Result; using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Application.Users.Queries; using Musify.Application.Users.Queries;
using Musify.Application.Users.Responses; using Musify.Application.Users.Responses;
@@ -2,10 +2,10 @@ using Ardalis.Result;
using Mediator; using Mediator;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Pagination; using Musify.Application.Pagination;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Users.Queries; using Musify.Application.Users.Queries;
using Musify.Application.Users.Responses; using Musify.Application.Users.Responses;
using X.PagedList.EF; using X.PagedList.EF;
using Musify.Application.Contracts;
namespace Musify.Application.Users.Handlers namespace Musify.Application.Users.Handlers
{ {
+2
View File
@@ -1,6 +1,8 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using Musify.Domain.ValueObjects;
namespace Musify.Domain.Entities namespace Musify.Domain.Entities
{ {
#pragma warning disable CS8618 #pragma warning disable CS8618
+2
View File
@@ -2,6 +2,8 @@
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using Musify.Domain.ValueObjects;
namespace Musify.Domain.Entities namespace Musify.Domain.Entities
{ {
#pragma warning disable CS8618 #pragma warning disable CS8618
+2
View File
@@ -1,6 +1,8 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using Musify.Domain.ValueObjects;
namespace Musify.Domain.Entities namespace Musify.Domain.Entities
{ {
[Table("Upload")] [Table("Upload")]
+2
View File
@@ -1,6 +1,8 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using Musify.Domain.ValueObjects;
namespace Musify.Domain.Entities namespace Musify.Domain.Entities
{ {
[Table("UploadIntents")] [Table("UploadIntents")]
+1 -1
View File
@@ -1,4 +1,4 @@
namespace Musify.Domain.Entities namespace Musify.Domain.ValueObjects
{ {
public enum LifeCycleStatus public enum LifeCycleStatus
{ {
+1 -1
View File
@@ -1,4 +1,4 @@
namespace Musify.Domain.Entities namespace Musify.Domain.ValueObjects
{ {
public enum ProcessingStatus public enum ProcessingStatus
{ {
+1 -1
View File
@@ -1,4 +1,4 @@
namespace Musify.Domain.Entities namespace Musify.Domain.ValueObjects
{ {
public enum UploadIntentPurpose public enum UploadIntentPurpose
{ {
+1 -1
View File
@@ -1,4 +1,4 @@
namespace Musify.Domain.Entities namespace Musify.Domain.ValueObjects
{ {
public enum UploadIntentStatus public enum UploadIntentStatus
{ {
+1 -1
View File
@@ -1,4 +1,4 @@
namespace Musify.Domain.Entities namespace Musify.Domain.ValueObjects
{ {
public enum UploadState public enum UploadState
{ {
@@ -1,21 +1,21 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Application.Contracts;
namespace Musify.Infrastructure.Jobs namespace Musify.Infrastructure.Jobs
{ {
public class TemporalUploadsCleanupJob( public class TemporalUploadsCleanUpJob(
IServiceScopeFactory scopeFactory, IServiceScopeFactory scopeFactory,
ILogger<TemporalUploadsCleanupJob> logger, ILogger<TemporalUploadsCleanUpJob> logger,
ApplicationStorageConfiguration storageConfiguration, ApplicationStorageConfiguration storageConfiguration,
UploadIntentConfiguration uploadIntentConfiguration) UploadIntentConfiguration uploadIntentConfiguration)
: BackgroundService : BackgroundService
{ {
protected override async Task ExecuteAsync(CancellationToken stoppingToken) protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{ {
logger.LogInformation("TemporalUploadsCleanupJob started (interval: {Interval}s, prefix: {Prefix})", logger.LogInformation("TemporalUploadsCleanUpJob started (interval: {Interval}s, prefix: {Prefix})",
uploadIntentConfiguration.TempCleanupJobIntervalSeconds, uploadIntentConfiguration.TempCleanupJobIntervalSeconds,
uploadIntentConfiguration.TempRootPrefix); uploadIntentConfiguration.TempRootPrefix);
@@ -27,7 +27,7 @@ namespace Musify.Infrastructure.Jobs
} }
catch (Exception exception) when (exception is not OperationCanceledException) catch (Exception exception) when (exception is not OperationCanceledException)
{ {
logger.LogError(exception, "Error in TemporalUploadsCleanupJob"); logger.LogError(exception, "Error in TemporalUploadsCleanUpJob");
} }
await Task.Delay(TimeSpan.FromSeconds(uploadIntentConfiguration.TempCleanupJobIntervalSeconds), stoppingToken); await Task.Delay(TimeSpan.FromSeconds(uploadIntentConfiguration.TempCleanupJobIntervalSeconds), stoppingToken);
@@ -39,7 +39,7 @@ namespace Musify.Infrastructure.Jobs
await using var scope = scopeFactory.CreateAsyncScope(); await using var scope = scopeFactory.CreateAsyncScope();
var storageService = scope.ServiceProvider.GetRequiredService<IStorageService>(); var storageService = scope.ServiceProvider.GetRequiredService<IStorageService>();
var cutoff = DateTime.UtcNow.AddDays(-uploadIntentConfiguration.TempUploadsRetentionDays); var cutOff = DateTime.UtcNow.AddDays(-uploadIntentConfiguration.TempUploadsRetentionDays);
var deleted = 0; var deleted = 0;
var errors = 0; var errors = 0;
@@ -48,7 +48,7 @@ namespace Musify.Infrastructure.Jobs
uploadIntentConfiguration.TempRootPrefix, uploadIntentConfiguration.TempRootPrefix,
cancellationToken)) cancellationToken))
{ {
if (lastModified >= cutoff) if (lastModified >= cutOff)
continue; continue;
try try
@@ -64,7 +64,7 @@ namespace Musify.Infrastructure.Jobs
} }
if (deleted > 0 || errors > 0) if (deleted > 0 || errors > 0)
logger.LogInformation("TemporalUploadsCleanupJob: deleted {Deleted} orphaned objects, {Errors} errors", deleted, errors); logger.LogInformation("TemporalUploadsCleanUpJob: deleted {Deleted} orphaned objects, {Errors} errors", deleted, errors);
} }
} }
} }
@@ -2,9 +2,9 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Domain.Entities; using Musify.Domain.ValueObjects;
using Musify.Application.Contracts;
namespace Musify.Infrastructure.Jobs namespace Musify.Infrastructure.Jobs
{ {
@@ -1,9 +1,10 @@
using MassTransit; using MassTransit;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Infrastructure.MassTransit.Activities.Arguments; using Musify.Domain.ValueObjects;
using Musify.Infrastructure.MassTransit.Arguments;
namespace Musify.Infrastructure.MassTransit.Activities namespace Musify.Infrastructure.MassTransit.Activities
{ {
@@ -1,10 +1,11 @@
using MassTransit; using MassTransit;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Infrastructure.MassTransit.Activities.Arguments; using Musify.Domain.ValueObjects;
using Musify.Infrastructure.MassTransit.Activities.Logs; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Logs;
namespace Musify.Infrastructure.MassTransit.Activities namespace Musify.Infrastructure.MassTransit.Activities
{ {
@@ -1,8 +1,9 @@
using MassTransit; using MassTransit;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Infrastructure.MassTransit.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Logs; using Musify.Infrastructure.MassTransit.Logs;
@@ -1,6 +1,6 @@
using MassTransit; using MassTransit;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.MassTransit.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Logs; using Musify.Infrastructure.MassTransit.Logs;
@@ -1,8 +1,8 @@
using MassTransit; using MassTransit;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.MassTransit.Activities.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Activities.Logs; using Musify.Infrastructure.MassTransit.Logs;
namespace Musify.Infrastructure.MassTransit.Activities.Files namespace Musify.Infrastructure.MassTransit.Activities.Files
{ {
@@ -1,9 +1,9 @@
using MassTransit; using MassTransit;
using Amazon.S3; using Amazon.S3;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Activities.Arguments;
using System.Net; using System.Net;
using Musify.Application.Contracts;
namespace Musify.Infrastructure.MassTransit.Activities.Files namespace Musify.Infrastructure.MassTransit.Activities.Files
{ {
@@ -1,8 +1,8 @@
using MassTransit; using MassTransit;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.MassTransit.Activities.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Activities.Logs; using Musify.Infrastructure.MassTransit.Logs;
namespace Musify.Infrastructure.MassTransit.Activities namespace Musify.Infrastructure.MassTransit.Activities
{ {
@@ -1,6 +1,6 @@
using MassTransit; using MassTransit;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.MassTransit.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Logs; using Musify.Infrastructure.MassTransit.Logs;
@@ -1,6 +1,6 @@
using MassTransit; using MassTransit;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Infrastructure.MassTransit.Activities.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
namespace Musify.Infrastructure.MassTransit.Activities namespace Musify.Infrastructure.MassTransit.Activities
{ {
@@ -1,8 +1,8 @@
using MassTransit; using MassTransit;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.MassTransit.Activities.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Activities.Logs; using Musify.Infrastructure.MassTransit.Logs;
namespace Musify.Infrastructure.MassTransit.Activities namespace Musify.Infrastructure.MassTransit.Activities
{ {
@@ -1,8 +1,8 @@
using MassTransit; using MassTransit;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.MassTransit.Activities.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Activities.Logs; using Musify.Infrastructure.MassTransit.Logs;
namespace Musify.Infrastructure.MassTransit.Activities namespace Musify.Infrastructure.MassTransit.Activities
{ {
@@ -1,8 +1,8 @@
using MassTransit; using MassTransit;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.MassTransit.Activities.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Activities.Logs; using Musify.Infrastructure.MassTransit.Logs;
namespace Musify.Infrastructure.MassTransit.Activities namespace Musify.Infrastructure.MassTransit.Activities
{ {
@@ -1,7 +1,8 @@
using MassTransit; using MassTransit;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.MassTransit.Arguments;
namespace Musify.Infrastructure.MassTransit.Activities.PlayLists namespace Musify.Infrastructure.MassTransit.Activities.PlayLists
{ {
@@ -1,8 +1,10 @@
using MassTransit; using MassTransit;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Application.Contracts;
namespace Musify.Infrastructure.MassTransit.Activities.PlayLists namespace Musify.Infrastructure.MassTransit.Activities.PlayLists
{ {
@@ -1,7 +1,8 @@
using MassTransit; using MassTransit;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.MassTransit.Arguments;
namespace Musify.Infrastructure.MassTransit.Activities.Tracks namespace Musify.Infrastructure.MassTransit.Activities.Tracks
{ {
@@ -1,8 +1,10 @@
using MassTransit; using MassTransit;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Application.Contracts;
namespace Musify.Infrastructure.MassTransit.Activities.Tracks namespace Musify.Infrastructure.MassTransit.Activities.Tracks
{ {
@@ -1,8 +1,9 @@
using MassTransit; using MassTransit;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Infrastructure.MassTransit.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Logs; using Musify.Infrastructure.MassTransit.Logs;
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.PlayLists namespace Musify.Infrastructure.MassTransit.Arguments
{ {
internal record DeletePlayListFromDbArguments( internal record DeletePlayListFromDbArguments(
Guid PlayListId); Guid PlayListId);
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Tracks namespace Musify.Infrastructure.MassTransit.Arguments
{ {
internal record DeleteTrackFromDbArguments( internal record DeleteTrackFromDbArguments(
Guid TrackId); Guid TrackId);
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
{ {
public record DownloadFileFromBucketArguments( public record DownloadFileFromBucketArguments(
string Bucket, string Bucket,
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
{ {
public record GenerateAudioWorkflowPathsArguments( public record GenerateAudioWorkflowPathsArguments(
Guid TrackId, Guid TrackId,
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
{ {
public record GeneratePictureWorkflowPathsArguments( public record GeneratePictureWorkflowPathsArguments(
string TemporaryRootDirectory, string TemporaryRootDirectory,
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.PlayLists namespace Musify.Infrastructure.MassTransit.Arguments
{ {
internal record MarkPlayListAsRemovingArguments( internal record MarkPlayListAsRemovingArguments(
Guid PlayListId); Guid PlayListId);
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Tracks namespace Musify.Infrastructure.MassTransit.Arguments
{ {
internal record MarkTrackAsRemovingArguments( internal record MarkTrackAsRemovingArguments(
Guid TrackId); Guid TrackId);
@@ -1,3 +1,4 @@
using Musify.Application.Common;
using Musify.Application.Events; using Musify.Application.Events;
namespace Musify.Infrastructure.MassTransit.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
@@ -1,3 +1,4 @@
using Musify.Application.Common;
using Musify.Application.Events; using Musify.Application.Events;
namespace Musify.Infrastructure.MassTransit.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
{ {
public record RemoveFileFromBucketArguments( public record RemoveFileFromBucketArguments(
string Bucket, string Bucket,
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
{ {
public record ResizePictureLocalArguments( public record ResizePictureLocalArguments(
string SourceFilePathVariable, string SourceFilePathVariable,
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
{ {
public record TranscodeDashAudioArguments( public record TranscodeDashAudioArguments(
Guid TrackId, Guid TrackId,
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
{ {
public record TransferFilesToBucketArguments( public record TransferFilesToBucketArguments(
string DestinationBucket, string DestinationBucket,
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
{ {
public record UpdatePlayListPictureArguments( public record UpdatePlayListPictureArguments(
Guid PlayListId, Guid PlayListId,
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Arguments namespace Musify.Infrastructure.MassTransit.Arguments
{ {
public record UpdateTrackPictureArguments( public record UpdateTrackPictureArguments(
Guid TrackId, Guid TrackId,
@@ -2,10 +2,8 @@ using MassTransit;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using Musify.Infrastructure.MassTransit.Activities; using Musify.Infrastructure.MassTransit.Activities;
using Musify.Infrastructure.MassTransit.Activities.Arguments;
using Musify.Infrastructure.MassTransit.Activities.Audio; using Musify.Infrastructure.MassTransit.Activities.Audio;
using Musify.Infrastructure.MassTransit.Activities.Files; using Musify.Infrastructure.MassTransit.Activities.Files;
using Musify.Infrastructure.MassTransit.Activities.Logs;
using Musify.Infrastructure.MassTransit.Activities.PlayLists; using Musify.Infrastructure.MassTransit.Activities.PlayLists;
using Musify.Infrastructure.MassTransit.Activities.Tracks; using Musify.Infrastructure.MassTransit.Activities.Tracks;
using Musify.Infrastructure.MassTransit.Activities.UploadIntents; using Musify.Infrastructure.MassTransit.Activities.UploadIntents;
@@ -1,7 +1,7 @@
using MassTransit; using MassTransit;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using Musify.Infrastructure.Persistence; using Musify.Infrastructure.Persistence;
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Logs namespace Musify.Infrastructure.MassTransit.Logs
{ {
public record DownloadFileFromBucketLog( public record DownloadFileFromBucketLog(
string Bucket, string Bucket,
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Logs namespace Musify.Infrastructure.MassTransit.Logs
{ {
public record GeneratePictureWorkflowPathsLog(string WorkingDirectory); public record GeneratePictureWorkflowPathsLog(string WorkingDirectory);
} }
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Logs namespace Musify.Infrastructure.MassTransit.Logs
{ {
public record ResizePictureLog(string DestinationFilePath); public record ResizePictureLog(string DestinationFilePath);
} }
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Logs namespace Musify.Infrastructure.MassTransit.Logs
{ {
public record TranscodeDashAudioLog(string WorkingDirectory); public record TranscodeDashAudioLog(string WorkingDirectory);
} }
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Logs namespace Musify.Infrastructure.MassTransit.Logs
{ {
public record TransferFilesToBucketLog(string DestinationBucket, string[] UploadedKeys); public record TransferFilesToBucketLog(string DestinationBucket, string[] UploadedKeys);
} }
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Logs namespace Musify.Infrastructure.MassTransit.Logs
{ {
public record UpdatePlayListPictureLog( public record UpdatePlayListPictureLog(
Guid PlayListId, Guid PlayListId,
@@ -1,4 +1,4 @@
namespace Musify.Infrastructure.MassTransit.Activities.Logs namespace Musify.Infrastructure.MassTransit.Logs
{ {
public record UpdateTrackPictureLog( public record UpdateTrackPictureLog(
Guid TrackId, Guid TrackId,
@@ -1,5 +1,5 @@
using MassTransit; using MassTransit;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
namespace Musify.Infrastructure.MassTransit namespace Musify.Infrastructure.MassTransit
{ {
@@ -4,10 +4,9 @@ using Musify.Application.Events;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using Musify.Infrastructure.MassTransit.Activities.Audio; using Musify.Infrastructure.MassTransit.Activities.Audio;
using Musify.Infrastructure.MassTransit.Activities.Files; using Musify.Infrastructure.MassTransit.Activities.Files;
using Musify.Infrastructure.MassTransit.Activities;
using Musify.Infrastructure.MassTransit.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Consumers; using Musify.Infrastructure.MassTransit.Consumers;
using Musify.Infrastructure.MassTransit.Activities;
using Musify.Infrastructure.MassTransit.Activities.Arguments;
namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
{ {
@@ -1,12 +1,12 @@
using MassTransit; using MassTransit;
using MassTransit.Courier.Contracts; using MassTransit.Courier.Contracts;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Infrastructure.MassTransit.Activities.Files; using Musify.Infrastructure.MassTransit.Activities.Files;
using Musify.Infrastructure.MassTransit.Activities.Arguments;
using Musify.Infrastructure.MassTransit.Activities.PlayLists; using Musify.Infrastructure.MassTransit.Activities.PlayLists;
using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Consumers; using Musify.Infrastructure.MassTransit.Consumers;
using Musify.Application.Contracts;
namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
{ {
@@ -1,12 +1,12 @@
using MassTransit; using MassTransit;
using MassTransit.Courier.Contracts; using MassTransit.Courier.Contracts;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Infrastructure.MassTransit.Activities.Arguments;
using Musify.Infrastructure.MassTransit.Activities.Files; using Musify.Infrastructure.MassTransit.Activities.Files;
using Musify.Infrastructure.MassTransit.Activities.Tracks; using Musify.Infrastructure.MassTransit.Activities.Tracks;
using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Consumers; using Musify.Infrastructure.MassTransit.Consumers;
using Musify.Application.Contracts;
namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders namespace Musify.Infrastructure.MassTransit.RoutingSlip.Builders
{ {
@@ -1,9 +1,9 @@
using MassTransit; using MassTransit;
using MassTransit.Courier.Contracts; using MassTransit.Courier.Contracts;
using Musify.Application.Common;
using Musify.Application.Events; using Musify.Application.Events;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using Musify.Infrastructure.MassTransit.Activities; using Musify.Infrastructure.MassTransit.Activities;
using Musify.Infrastructure.MassTransit.Activities.Arguments;
using Musify.Infrastructure.MassTransit.Activities.Files; using Musify.Infrastructure.MassTransit.Activities.Files;
using Musify.Infrastructure.MassTransit.Arguments; using Musify.Infrastructure.MassTransit.Arguments;
using Musify.Infrastructure.MassTransit.Consumers; using Musify.Infrastructure.MassTransit.Consumers;
@@ -1,5 +1,6 @@
using MassTransit; using MassTransit;
using MassTransit.Courier.Contracts; using MassTransit.Courier.Contracts;
using Musify.Application.Common;
using Musify.Application.Events; using Musify.Application.Events;
using Musify.Infrastructure.MassTransit.Activities.Files; using Musify.Infrastructure.MassTransit.Activities.Files;
using Musify.Infrastructure.MassTransit.Activities.PlayLists; using Musify.Infrastructure.MassTransit.Activities.PlayLists;
+2 -2
View File
@@ -1,10 +1,10 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore.Storage;
using MassTransit; using MassTransit;
using Musify.Application.Contracts.Infrastructure;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using AppIDatabase = Musify.Application.Contracts.Infrastructure.IDatabase; using AppIDatabase = Musify.Application.Contracts.IDatabase;
using Musify.Application.Contracts;
namespace Musify.Infrastructure.Persistence namespace Musify.Infrastructure.Persistence
{ {
@@ -1,7 +1,7 @@
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
namespace Musify.Infrastructure.Persistence namespace Musify.Infrastructure.Persistence
@@ -1,5 +1,5 @@
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using System.Diagnostics; using System.Diagnostics;
+1 -1
View File
@@ -1,5 +1,5 @@
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using SixLabors.ImageSharp; using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing; using SixLabors.ImageSharp.Processing;
@@ -2,11 +2,11 @@ using Amazon.S3;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Musify.Application.Contracts.Infrastructure;
using Musify.Application.Configuration; using Musify.Application.Configuration;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using Musify.Infrastructure.Jobs; using Musify.Infrastructure.Jobs;
using Musify.Application.Services; using Musify.Application.Services;
using Musify.Application.Contracts;
namespace Musify.Infrastructure.Services namespace Musify.Infrastructure.Services
{ {
@@ -66,7 +66,7 @@ namespace Musify.Infrastructure.Services
serviceDescriptors.AddUploadIntentConfiguration(configuration); serviceDescriptors.AddUploadIntentConfiguration(configuration);
serviceDescriptors.AddHostedService<UploadIntentExpirationJob>(); serviceDescriptors.AddHostedService<UploadIntentExpirationJob>();
serviceDescriptors.AddHostedService<TemporalUploadsCleanupJob>(); serviceDescriptors.AddHostedService<TemporalUploadsCleanUpJob>();
return serviceDescriptors; return serviceDescriptors;
} }
+5 -4
View File
@@ -3,10 +3,11 @@ using Amazon.S3.Model;
using Amazon.S3.Transfer; using Amazon.S3.Transfer;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using MimeMapping; using MimeMapping;
using Musify.Application.Contracts.Infrastructure; using Musify.Application.Contracts;
using Musify.Domain.Entities; using Musify.Domain.Entities;
using Musify.Domain.ValueObjects;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using ObjectMetadata = Musify.Application.Contracts.Infrastructure.ObjectMetadata; using ObjectMetaData = Musify.Application.Contracts.ObjectMetaData;
namespace Musify.Infrastructure.Services namespace Musify.Infrastructure.Services
{ {
@@ -70,12 +71,12 @@ namespace Musify.Infrastructure.Services
return await amazonS3.GetPreSignedURLAsync(request); return await amazonS3.GetPreSignedURLAsync(request);
} }
public async Task<ObjectMetadata?> HeadObjectAsync(string bucket, string key, CancellationToken cancellationToken) public async Task<ObjectMetaData?> HeadObjectAsync(string bucket, string key, CancellationToken cancellationToken)
{ {
try try
{ {
var response = await amazonS3.GetObjectMetadataAsync(bucket, key, cancellationToken); var response = await amazonS3.GetObjectMetadataAsync(bucket, key, cancellationToken);
return new ObjectMetadata(response.Headers.ContentType, response.ContentLength); return new ObjectMetaData(response.Headers.ContentType, response.ContentLength);
} }
catch (AmazonS3Exception ex) when (ex.StatusCode == System.Net.HttpStatusCode.NotFound) catch (AmazonS3Exception ex) when (ex.StatusCode == System.Net.HttpStatusCode.NotFound)
{ {