diff --git a/backend/Musify.Api/Authentication/JwtBearerEventsHandler.cs b/backend/Musify.Api/Authentication/JwtBearerEventsHandler.cs index 1b0ba36..d10f4fb 100644 --- a/backend/Musify.Api/Authentication/JwtBearerEventsHandler.cs +++ b/backend/Musify.Api/Authentication/JwtBearerEventsHandler.cs @@ -1,6 +1,6 @@ using Mediator; using Microsoft.AspNetCore.Authentication.JwtBearer; -using Musify.Application.Users.Commands; +using Musify.Application.Users; using System.Security.Claims; namespace Musify.Api.Authentication; diff --git a/backend/Musify.Api/Endpoints/PlayListEndpoints.cs b/backend/Musify.Api/Endpoints/PlayListEndpoints.cs index 79b26c6..a32d622 100644 --- a/backend/Musify.Api/Endpoints/PlayListEndpoints.cs +++ b/backend/Musify.Api/Endpoints/PlayListEndpoints.cs @@ -1,6 +1,5 @@ using Mediator; -using Musify.Application.PlayLists.Commands; -using Musify.Application.PlayLists.Queries; +using Musify.Application.PlayLists; using Musify.Api.Authentication; using Musify.Api.DataTransferObjects.PlayLists; using Musify.Api.Extensions; diff --git a/backend/Musify.Api/Endpoints/TrackEndpoints.cs b/backend/Musify.Api/Endpoints/TrackEndpoints.cs index a55ff35..4e39c11 100644 --- a/backend/Musify.Api/Endpoints/TrackEndpoints.cs +++ b/backend/Musify.Api/Endpoints/TrackEndpoints.cs @@ -1,6 +1,5 @@ using Mediator; -using Musify.Application.Tracks.Commands; -using Musify.Application.Tracks.Queries; +using Musify.Application.Tracks; using Musify.Api.Authentication; using Musify.Api.DataTransferObjects.Tracks; using Musify.Api.Extensions; diff --git a/backend/Musify.Api/Endpoints/UserEndpoints.cs b/backend/Musify.Api/Endpoints/UserEndpoints.cs index cf27b01..9ba490a 100644 --- a/backend/Musify.Api/Endpoints/UserEndpoints.cs +++ b/backend/Musify.Api/Endpoints/UserEndpoints.cs @@ -1,6 +1,5 @@ using Mediator; -using Musify.Application.Users.Commands; -using Musify.Application.Users.Queries; +using Musify.Application.Users; using Musify.Api.DataTransferObjects.Users; using Musify.Api.Extensions; using Musify.Api.Filters; diff --git a/backend/Musify.Application/PlayLists/Handlers/AddTrackToPlayListCommandHandler.cs b/backend/Musify.Application/PlayLists/AddTrackToPlayList.cs similarity index 94% rename from backend/Musify.Application/PlayLists/Handlers/AddTrackToPlayListCommandHandler.cs rename to backend/Musify.Application/PlayLists/AddTrackToPlayList.cs index c2af69e..2e81be1 100644 --- a/backend/Musify.Application/PlayLists/Handlers/AddTrackToPlayListCommandHandler.cs +++ b/backend/Musify.Application/PlayLists/AddTrackToPlayList.cs @@ -3,11 +3,13 @@ using Mediator; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Musify.Application.Contracts; -using Musify.Application.PlayLists.Commands; using Musify.Domain.Entities; -namespace Musify.Application.PlayLists.Handlers +namespace Musify.Application.PlayLists { + public record AddTrackToPlayListCommand(long UserId, Guid PlayListId, Guid TrackId) + : ICommand>; + public class AddTrackToPlayListCommandHandler( IDatabase database, ILogger logger) diff --git a/backend/Musify.Application/PlayLists/Commands/AddTrackToPlayListCommand.cs b/backend/Musify.Application/PlayLists/Commands/AddTrackToPlayListCommand.cs deleted file mode 100644 index 430c3e0..0000000 --- a/backend/Musify.Application/PlayLists/Commands/AddTrackToPlayListCommand.cs +++ /dev/null @@ -1,8 +0,0 @@ -using ErrorOr; -using Mediator; - -namespace Musify.Application.PlayLists.Commands -{ - public record AddTrackToPlayListCommand(long UserId, Guid PlayListId, Guid TrackId) - : ICommand>; -} diff --git a/backend/Musify.Application/PlayLists/Commands/CreatePlayListCommand.cs b/backend/Musify.Application/PlayLists/Commands/CreatePlayListCommand.cs deleted file mode 100644 index 2b6e5b2..0000000 --- a/backend/Musify.Application/PlayLists/Commands/CreatePlayListCommand.cs +++ /dev/null @@ -1,13 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.PlayLists.Responses; - -namespace Musify.Application.PlayLists.Commands -{ - public record CreatePlayListCommand( - long UserId, - string Name, - string Description, - Guid? PictureIntentId) - : ICommand>; -} diff --git a/backend/Musify.Application/PlayLists/Commands/DeletePlayListCommand.cs b/backend/Musify.Application/PlayLists/Commands/DeletePlayListCommand.cs deleted file mode 100644 index 3360559..0000000 --- a/backend/Musify.Application/PlayLists/Commands/DeletePlayListCommand.cs +++ /dev/null @@ -1,8 +0,0 @@ -using ErrorOr; -using Mediator; - -namespace Musify.Application.PlayLists.Commands -{ - public record DeletePlayListCommand(long UserId, Guid PlayListId) - : ICommand>; -} \ No newline at end of file diff --git a/backend/Musify.Application/PlayLists/Commands/RemoveTrackFromPlayListCommand.cs b/backend/Musify.Application/PlayLists/Commands/RemoveTrackFromPlayListCommand.cs deleted file mode 100644 index f5f6e96..0000000 --- a/backend/Musify.Application/PlayLists/Commands/RemoveTrackFromPlayListCommand.cs +++ /dev/null @@ -1,8 +0,0 @@ -using ErrorOr; -using Mediator; - -namespace Musify.Application.PlayLists.Commands -{ - public record RemoveTrackFromPlayListCommand(long UserId, Guid PlayListId, Guid TrackId) - : ICommand>; -} diff --git a/backend/Musify.Application/PlayLists/Commands/RequestPlayListPictureUploadCommand.cs b/backend/Musify.Application/PlayLists/Commands/RequestPlayListPictureUploadCommand.cs deleted file mode 100644 index 3aa40e6..0000000 --- a/backend/Musify.Application/PlayLists/Commands/RequestPlayListPictureUploadCommand.cs +++ /dev/null @@ -1,13 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.PlayLists.Responses; - -namespace Musify.Application.PlayLists.Commands -{ - public record RequestPlayListPictureUploadCommand( - long UserId, - string FileType, - string ContentType, - long? ExpectedSizeBytes = null) - : ICommand>; -} diff --git a/backend/Musify.Application/PlayLists/Commands/UpdatePlayListCommand.cs b/backend/Musify.Application/PlayLists/Commands/UpdatePlayListCommand.cs deleted file mode 100644 index c715408..0000000 --- a/backend/Musify.Application/PlayLists/Commands/UpdatePlayListCommand.cs +++ /dev/null @@ -1,14 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.PlayLists.Responses; - -namespace Musify.Application.PlayLists.Commands -{ - public record UpdatePlayListCommand( - long UserId, - Guid PlayListId, - string? NewName, - string? NewDescription, - Guid? NewPictureIntentId) - : ICommand>; -} diff --git a/backend/Musify.Application/PlayLists/Handlers/CreatePlayListCommandHandler.cs b/backend/Musify.Application/PlayLists/CreatePlayList.cs similarity index 95% rename from backend/Musify.Application/PlayLists/Handlers/CreatePlayListCommandHandler.cs rename to backend/Musify.Application/PlayLists/CreatePlayList.cs index c71acbe..8d3fe1c 100644 --- a/backend/Musify.Application/PlayLists/Handlers/CreatePlayListCommandHandler.cs +++ b/backend/Musify.Application/PlayLists/CreatePlayList.cs @@ -5,14 +5,20 @@ using Microsoft.Extensions.Logging; using Musify.Application.Configuration; using Musify.Application.Shared; using Musify.Application.Events; -using Musify.Application.PlayLists.Commands; using Musify.Application.PlayLists.Responses; using Musify.Application.Services; using Musify.Domain.Entities; using Musify.Application.Contracts; -namespace Musify.Application.PlayLists.Handlers +namespace Musify.Application.PlayLists { + public record CreatePlayListCommand( + long UserId, + string Name, + string Description, + Guid? PictureIntentId) + : ICommand>; + public class CreatePlayListCommandHandler( IEventBus eventBus, IDatabase database, diff --git a/backend/Musify.Application/PlayLists/Handlers/DeletePlayListCommandHandler.cs b/backend/Musify.Application/PlayLists/DeletePlayList.cs similarity index 93% rename from backend/Musify.Application/PlayLists/Handlers/DeletePlayListCommandHandler.cs rename to backend/Musify.Application/PlayLists/DeletePlayList.cs index 5fbf156..05c0b61 100644 --- a/backend/Musify.Application/PlayLists/Handlers/DeletePlayListCommandHandler.cs +++ b/backend/Musify.Application/PlayLists/DeletePlayList.cs @@ -4,11 +4,13 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Musify.Application.Contracts; using Musify.Application.Events; -using Musify.Application.PlayLists.Commands; using Musify.Domain.ValueObjects; -namespace Musify.Application.PlayLists.Handlers +namespace Musify.Application.PlayLists { + public record DeletePlayListCommand(long UserId, Guid PlayListId) + : ICommand>; + public class DeletePlayListCommandHandler( IDatabase database, IEventBus eventBus, @@ -57,4 +59,4 @@ namespace Musify.Application.PlayLists.Handlers return new Success(); } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/PlayLists/Handlers/GetPlayListByIdQueryHandler.cs b/backend/Musify.Application/PlayLists/GetPlayListById.cs similarity index 85% rename from backend/Musify.Application/PlayLists/Handlers/GetPlayListByIdQueryHandler.cs rename to backend/Musify.Application/PlayLists/GetPlayListById.cs index 9752143..7e658d3 100644 --- a/backend/Musify.Application/PlayLists/Handlers/GetPlayListByIdQueryHandler.cs +++ b/backend/Musify.Application/PlayLists/GetPlayListById.cs @@ -1,12 +1,14 @@ using ErrorOr; using Microsoft.EntityFrameworkCore; using Musify.Application.PlayLists.Responses; -using Musify.Application.PlayLists.Queries; using Mediator; using Musify.Application.Contracts; -namespace Musify.Application.PlayLists.Handlers +namespace Musify.Application.PlayLists { + public record GetPlayListByIdQuery(Guid Id) + : IQuery>; + public class GetPlayListByIdQueryHandler(IDatabase database) : IQueryHandler> { @@ -24,4 +26,4 @@ namespace Musify.Application.PlayLists.Handlers return playList; } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/PlayLists/Handlers/GetPlayListTracksQueryHandler.cs b/backend/Musify.Application/PlayLists/GetPlayListTracks.cs similarity index 86% rename from backend/Musify.Application/PlayLists/Handlers/GetPlayListTracksQueryHandler.cs rename to backend/Musify.Application/PlayLists/GetPlayListTracks.cs index e46f4b0..d5db772 100644 --- a/backend/Musify.Application/PlayLists/Handlers/GetPlayListTracksQueryHandler.cs +++ b/backend/Musify.Application/PlayLists/GetPlayListTracks.cs @@ -3,12 +3,17 @@ using Mediator; using Microsoft.EntityFrameworkCore; using Musify.Application.Contracts; using Musify.Application.Pagination; -using Musify.Application.PlayLists.Queries; using Musify.Application.Tracks.Responses; using X.PagedList.EF; -namespace Musify.Application.PlayLists.Handlers +namespace Musify.Application.PlayLists { + public record GetPlayListTracksQuery( + Guid PlayListId, + int PageNumber = 1, + int PageSize = 10) + : IQuery>>; + public class GetPlayListTracksQueryHandler(IDatabase database) : IQueryHandler> > { diff --git a/backend/Musify.Application/PlayLists/Handlers/GetPlayListsQueryHandler.cs b/backend/Musify.Application/PlayLists/GetPlayLists.cs similarity index 84% rename from backend/Musify.Application/PlayLists/Handlers/GetPlayListsQueryHandler.cs rename to backend/Musify.Application/PlayLists/GetPlayLists.cs index b04ccc4..53dae0d 100644 --- a/backend/Musify.Application/PlayLists/Handlers/GetPlayListsQueryHandler.cs +++ b/backend/Musify.Application/PlayLists/GetPlayLists.cs @@ -2,13 +2,15 @@ using ErrorOr; using Microsoft.EntityFrameworkCore; using Musify.Application.Pagination; using Musify.Application.PlayLists.Responses; -using Musify.Application.PlayLists.Queries; using X.PagedList.EF; using Mediator; using Musify.Application.Contracts; -namespace Musify.Application.PlayLists.Handlers +namespace Musify.Application.PlayLists { + public record GetPlayListsQuery(int PageNumber = 1, int PageSize = 10) + : IQuery> >; + public class GetPlayListsQueryHandler(IDatabase database) : IQueryHandler >> { @@ -25,4 +27,4 @@ namespace Musify.Application.PlayLists.Handlers return PaginatedResponse.FromPagedList(pagedPlayLists); } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/PlayLists/Handlers/GetPlayListsByUserIdQueryHandler.cs b/backend/Musify.Application/PlayLists/GetPlayListsByUserId.cs similarity index 84% rename from backend/Musify.Application/PlayLists/Handlers/GetPlayListsByUserIdQueryHandler.cs rename to backend/Musify.Application/PlayLists/GetPlayListsByUserId.cs index d0e44e2..4427251 100644 --- a/backend/Musify.Application/PlayLists/Handlers/GetPlayListsByUserIdQueryHandler.cs +++ b/backend/Musify.Application/PlayLists/GetPlayListsByUserId.cs @@ -2,13 +2,19 @@ using ErrorOr; using Microsoft.EntityFrameworkCore; using Musify.Application.Pagination; using Musify.Application.PlayLists.Responses; -using Musify.Application.PlayLists.Queries; using X.PagedList.EF; using Mediator; using Musify.Application.Contracts; -namespace Musify.Application.PlayLists.Handlers +namespace Musify.Application.PlayLists { + public record GetPlayListsByUserIdQuery( + long UserId, + string? Name, + int PageNumber = 1, + int PageSize = 10) + : IQuery> >; + public class GetPlayListsByUserIdQueryHandler(IDatabase database) : IQueryHandler > > { @@ -34,4 +40,4 @@ namespace Musify.Application.PlayLists.Handlers return PaginatedResponse.FromPagedList(pagedPlayLists); } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/PlayLists/Queries/GetPlayListByIdQuery.cs b/backend/Musify.Application/PlayLists/Queries/GetPlayListByIdQuery.cs deleted file mode 100644 index f02f40b..0000000 --- a/backend/Musify.Application/PlayLists/Queries/GetPlayListByIdQuery.cs +++ /dev/null @@ -1,9 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.PlayLists.Responses; - -namespace Musify.Application.PlayLists.Queries -{ - public record GetPlayListByIdQuery(Guid Id) - : IQuery>; -} \ No newline at end of file diff --git a/backend/Musify.Application/PlayLists/Queries/GetPlayListTracksQuery.cs b/backend/Musify.Application/PlayLists/Queries/GetPlayListTracksQuery.cs deleted file mode 100644 index f3f78ed..0000000 --- a/backend/Musify.Application/PlayLists/Queries/GetPlayListTracksQuery.cs +++ /dev/null @@ -1,13 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Pagination; -using Musify.Application.Tracks.Responses; - -namespace Musify.Application.PlayLists.Queries -{ - public record GetPlayListTracksQuery( - Guid PlayListId, - int PageNumber = 1, - int PageSize = 10) - : IQuery>>; -} diff --git a/backend/Musify.Application/PlayLists/Queries/GetPlayListsByUserIdQuery.cs b/backend/Musify.Application/PlayLists/Queries/GetPlayListsByUserIdQuery.cs deleted file mode 100644 index 91390a0..0000000 --- a/backend/Musify.Application/PlayLists/Queries/GetPlayListsByUserIdQuery.cs +++ /dev/null @@ -1,14 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Pagination; -using Musify.Application.PlayLists.Responses; - -namespace Musify.Application.PlayLists.Queries -{ - public record GetPlayListsByUserIdQuery( - long UserId, - string? Name, - int PageNumber = 1, - int PageSize = 10) - : IQuery> >; -} \ No newline at end of file diff --git a/backend/Musify.Application/PlayLists/Queries/GetPlayListsQuery.cs b/backend/Musify.Application/PlayLists/Queries/GetPlayListsQuery.cs deleted file mode 100644 index 16b2890..0000000 --- a/backend/Musify.Application/PlayLists/Queries/GetPlayListsQuery.cs +++ /dev/null @@ -1,10 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Pagination; -using Musify.Application.PlayLists.Responses; - -namespace Musify.Application.PlayLists.Queries -{ - public record GetPlayListsQuery(int PageNumber = 1, int PageSize = 10) - : IQuery> >; -} \ No newline at end of file diff --git a/backend/Musify.Application/PlayLists/Handlers/RemoveTrackFromPlayListCommandHandler.cs b/backend/Musify.Application/PlayLists/RemoveTrackFromPlayList.cs similarity index 91% rename from backend/Musify.Application/PlayLists/Handlers/RemoveTrackFromPlayListCommandHandler.cs rename to backend/Musify.Application/PlayLists/RemoveTrackFromPlayList.cs index 940b316..c7024f7 100644 --- a/backend/Musify.Application/PlayLists/Handlers/RemoveTrackFromPlayListCommandHandler.cs +++ b/backend/Musify.Application/PlayLists/RemoveTrackFromPlayList.cs @@ -3,10 +3,12 @@ using Mediator; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Musify.Application.Contracts; -using Musify.Application.PlayLists.Commands; -namespace Musify.Application.PlayLists.Handlers +namespace Musify.Application.PlayLists { + public record RemoveTrackFromPlayListCommand(long UserId, Guid PlayListId, Guid TrackId) + : ICommand>; + public class RemoveTrackFromPlayListCommandHandler( IDatabase database, ILogger logger) diff --git a/backend/Musify.Application/PlayLists/Handlers/RequestPlayListPictureUploadCommandHandler.cs b/backend/Musify.Application/PlayLists/RequestPlayListPictureUpload.cs similarity index 94% rename from backend/Musify.Application/PlayLists/Handlers/RequestPlayListPictureUploadCommandHandler.cs rename to backend/Musify.Application/PlayLists/RequestPlayListPictureUpload.cs index 0e66282..160683f 100644 --- a/backend/Musify.Application/PlayLists/Handlers/RequestPlayListPictureUploadCommandHandler.cs +++ b/backend/Musify.Application/PlayLists/RequestPlayListPictureUpload.cs @@ -3,15 +3,21 @@ using Mediator; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Musify.Application.Configuration; -using Musify.Application.PlayLists.Commands; using Musify.Application.PlayLists.Responses; using Musify.Application.Services; using Musify.Domain.Entities; using Musify.Domain.ValueObjects; using Musify.Application.Contracts; -namespace Musify.Application.PlayLists.Handlers +namespace Musify.Application.PlayLists { + public record RequestPlayListPictureUploadCommand( + long UserId, + string FileType, + string ContentType, + long? ExpectedSizeBytes = null) + : ICommand>; + public class RequestPlayListPictureUploadCommandHandler( IDatabase database, UploadIntentValidator uploadIntentValidator, diff --git a/backend/Musify.Application/PlayLists/Handlers/UpdatePlayListCommandHandler.cs b/backend/Musify.Application/PlayLists/UpdatePlayList.cs similarity index 95% rename from backend/Musify.Application/PlayLists/Handlers/UpdatePlayListCommandHandler.cs rename to backend/Musify.Application/PlayLists/UpdatePlayList.cs index be4bf08..40f2440 100644 --- a/backend/Musify.Application/PlayLists/Handlers/UpdatePlayListCommandHandler.cs +++ b/backend/Musify.Application/PlayLists/UpdatePlayList.cs @@ -5,14 +5,21 @@ using Microsoft.Extensions.Logging; using Musify.Application.Configuration; using Musify.Application.Shared; using Musify.Application.Events; -using Musify.Application.PlayLists.Commands; using Musify.Application.PlayLists.Responses; using Musify.Application.Services; using Musify.Domain.Entities; using Musify.Application.Contracts; -namespace Musify.Application.PlayLists.Handlers +namespace Musify.Application.PlayLists { + public record UpdatePlayListCommand( + long UserId, + Guid PlayListId, + string? NewName, + string? NewDescription, + Guid? NewPictureIntentId) + : ICommand>; + public class UpdatePlayListCommandHandler( IEventBus eventBus, IDatabase database, diff --git a/backend/Musify.Application/Tracks/Commands/CreateTrackCommand.cs b/backend/Musify.Application/Tracks/Commands/CreateTrackCommand.cs deleted file mode 100644 index 8f04682..0000000 --- a/backend/Musify.Application/Tracks/Commands/CreateTrackCommand.cs +++ /dev/null @@ -1,13 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Tracks.Responses; - -namespace Musify.Application.Tracks.Commands -{ - public record CreateTrackCommand( - long UserId, - string Title, - Guid PictureIntentId, - Guid AudioIntentId) - : ICommand>; -} diff --git a/backend/Musify.Application/Tracks/Commands/DeleteTrackCommand.cs b/backend/Musify.Application/Tracks/Commands/DeleteTrackCommand.cs deleted file mode 100644 index f4c1bb9..0000000 --- a/backend/Musify.Application/Tracks/Commands/DeleteTrackCommand.cs +++ /dev/null @@ -1,10 +0,0 @@ -using ErrorOr; -using Mediator; - -namespace Musify.Application.Tracks.Commands -{ - public record DeleteTrackCommand( - long UserId, - Guid TrackId) - : ICommand>; -} \ No newline at end of file diff --git a/backend/Musify.Application/Tracks/Commands/RequestTrackUploadUrlsCommand.cs b/backend/Musify.Application/Tracks/Commands/RequestTrackUploadUrlsCommand.cs deleted file mode 100644 index 33cfe1e..0000000 --- a/backend/Musify.Application/Tracks/Commands/RequestTrackUploadUrlsCommand.cs +++ /dev/null @@ -1,16 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Tracks.Responses; - -namespace Musify.Application.Tracks.Commands -{ - public record RequestTrackUploadUrlsCommand( - long UserId, - string PictureFileType, - string PictureContentType, - string AudioFileType, - string AudioContentType, - long? ExpectedPictureSizeBytes = null, - long? ExpectedAudioSizeBytes = null) - : ICommand>; -} diff --git a/backend/Musify.Application/Tracks/Handlers/CreateTrackCommandHandler.cs b/backend/Musify.Application/Tracks/CreateTrack.cs similarity index 95% rename from backend/Musify.Application/Tracks/Handlers/CreateTrackCommandHandler.cs rename to backend/Musify.Application/Tracks/CreateTrack.cs index 0ac3a3b..e891ff6 100644 --- a/backend/Musify.Application/Tracks/Handlers/CreateTrackCommandHandler.cs +++ b/backend/Musify.Application/Tracks/CreateTrack.cs @@ -5,15 +5,21 @@ using Microsoft.Extensions.Logging; using Musify.Application.Configuration; using Musify.Application.Shared; using Musify.Application.Events; -using Musify.Application.Tracks.Commands; using Musify.Application.Tracks.Responses; using Musify.Application.Services; using Musify.Domain.Entities; using Musify.Domain.ValueObjects; using Musify.Application.Contracts; -namespace Musify.Application.Tracks.Handlers +namespace Musify.Application.Tracks { + public record CreateTrackCommand( + long UserId, + string Title, + Guid PictureIntentId, + Guid AudioIntentId) + : ICommand>; + public class CreateTrackCommandHandler( IDatabase database, IEventBus eventBus, diff --git a/backend/Musify.Application/Tracks/Handlers/DeleteTrackCommandHandler.cs b/backend/Musify.Application/Tracks/DeleteTrack.cs similarity index 94% rename from backend/Musify.Application/Tracks/Handlers/DeleteTrackCommandHandler.cs rename to backend/Musify.Application/Tracks/DeleteTrack.cs index 345cb3a..7f6fa37 100644 --- a/backend/Musify.Application/Tracks/Handlers/DeleteTrackCommandHandler.cs +++ b/backend/Musify.Application/Tracks/DeleteTrack.cs @@ -2,13 +2,17 @@ using ErrorOr; using Mediator; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; -using Musify.Application.Tracks.Commands; using Musify.Domain.ValueObjects; using Musify.Application.Events; using Musify.Application.Contracts; -namespace Musify.Application.Tracks.Handlers +namespace Musify.Application.Tracks { + public record DeleteTrackCommand( + long UserId, + Guid TrackId) + : ICommand>; + public class DeleteTrackCommandHandler( IDatabase database, IEventBus eventBus, @@ -67,4 +71,4 @@ namespace Musify.Application.Tracks.Handlers return new Success(); } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/Tracks/Handlers/GetTrackByIdQueryHandler.cs b/backend/Musify.Application/Tracks/GetTrackById.cs similarity index 84% rename from backend/Musify.Application/Tracks/Handlers/GetTrackByIdQueryHandler.cs rename to backend/Musify.Application/Tracks/GetTrackById.cs index 62b8ac0..861194c 100644 --- a/backend/Musify.Application/Tracks/Handlers/GetTrackByIdQueryHandler.cs +++ b/backend/Musify.Application/Tracks/GetTrackById.cs @@ -2,11 +2,13 @@ using ErrorOr; using Mediator; using Microsoft.EntityFrameworkCore; using Musify.Application.Contracts; -using Musify.Application.Tracks.Queries; using Musify.Application.Tracks.Responses; -namespace Musify.Application.Tracks.Handlers +namespace Musify.Application.Tracks { + public record GetTrackByIdQuery(Guid TrackId) + : IQuery>; + public class GetTrackByIdQueryHandler(IDatabase database) : IQueryHandler > { @@ -23,4 +25,4 @@ namespace Musify.Application.Tracks.Handlers return track; } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/Tracks/Handlers/GetTrackStreamQueryHandler.cs b/backend/Musify.Application/Tracks/GetTrackStream.cs similarity index 93% rename from backend/Musify.Application/Tracks/Handlers/GetTrackStreamQueryHandler.cs rename to backend/Musify.Application/Tracks/GetTrackStream.cs index 46016d2..98ab662 100644 --- a/backend/Musify.Application/Tracks/Handlers/GetTrackStreamQueryHandler.cs +++ b/backend/Musify.Application/Tracks/GetTrackStream.cs @@ -4,12 +4,14 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Musify.Application.Configuration; using Musify.Application.Contracts; -using Musify.Application.Tracks.Queries; using Musify.Application.Tracks.Responses; using Musify.Domain.ValueObjects; -namespace Musify.Application.Tracks.Handlers +namespace Musify.Application.Tracks { + public record GetTrackStreamQuery(Guid TrackId, long UserId) + : IQuery>; + public class GetTrackStreamQueryHandler( IDatabase database, IStreamTicketService ticketService, diff --git a/backend/Musify.Application/Tracks/Handlers/GetTracksQueryHandler.cs b/backend/Musify.Application/Tracks/GetTracks.cs similarity index 85% rename from backend/Musify.Application/Tracks/Handlers/GetTracksQueryHandler.cs rename to backend/Musify.Application/Tracks/GetTracks.cs index ba8366a..d8c1027 100644 --- a/backend/Musify.Application/Tracks/Handlers/GetTracksQueryHandler.cs +++ b/backend/Musify.Application/Tracks/GetTracks.cs @@ -2,13 +2,15 @@ using ErrorOr; using Mediator; using Microsoft.EntityFrameworkCore; using Musify.Application.Pagination; -using Musify.Application.Tracks.Queries; using Musify.Application.Tracks.Responses; using X.PagedList.EF; using Musify.Application.Contracts; -namespace Musify.Application.Tracks.Handlers +namespace Musify.Application.Tracks { + public record GetTracksQuery(int PageNumber = 1, int PageSize = 10) + : IQuery >>; + public class GetTracksQueryHandler(IDatabase database) : IQueryHandler> > { @@ -26,4 +28,4 @@ namespace Musify.Application.Tracks.Handlers return PaginatedResponse.FromPagedList(pagedTracks); } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/Tracks/Handlers/GetTracksByUserIdQueryHandler.cs b/backend/Musify.Application/Tracks/GetTracksByUserId.cs similarity index 86% rename from backend/Musify.Application/Tracks/Handlers/GetTracksByUserIdQueryHandler.cs rename to backend/Musify.Application/Tracks/GetTracksByUserId.cs index f6d099d..bbedfc3 100644 --- a/backend/Musify.Application/Tracks/Handlers/GetTracksByUserIdQueryHandler.cs +++ b/backend/Musify.Application/Tracks/GetTracksByUserId.cs @@ -2,13 +2,19 @@ using ErrorOr; using Mediator; using Microsoft.EntityFrameworkCore; using Musify.Application.Pagination; -using Musify.Application.Tracks.Queries; using Musify.Application.Tracks.Responses; using X.PagedList.EF; using Musify.Application.Contracts; -namespace Musify.Application.Tracks.Handlers +namespace Musify.Application.Tracks { + public record GetTracksByUserIdQuery( + long UserId, + string? Name = null, + int PageNumber = 1, + int PageSize = 10) + : IQuery > >; + public class GetTracksByUserIdQueryHandler(IDatabase database) : IQueryHandler> > { @@ -38,4 +44,4 @@ namespace Musify.Application.Tracks.Handlers return PaginatedResponse.FromPagedList(pagedTracks); } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/Tracks/Queries/GetTrackByIdQuery.cs b/backend/Musify.Application/Tracks/Queries/GetTrackByIdQuery.cs deleted file mode 100644 index d7f12ab..0000000 --- a/backend/Musify.Application/Tracks/Queries/GetTrackByIdQuery.cs +++ /dev/null @@ -1,9 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Tracks.Responses; - -namespace Musify.Application.Tracks.Queries -{ - public record GetTrackByIdQuery(Guid TrackId) - : IQuery>; -} \ No newline at end of file diff --git a/backend/Musify.Application/Tracks/Queries/GetTrackStreamQuery.cs b/backend/Musify.Application/Tracks/Queries/GetTrackStreamQuery.cs deleted file mode 100644 index c2fce39..0000000 --- a/backend/Musify.Application/Tracks/Queries/GetTrackStreamQuery.cs +++ /dev/null @@ -1,9 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Tracks.Responses; - -namespace Musify.Application.Tracks.Queries -{ - public record GetTrackStreamQuery(Guid TrackId, long UserId) - : IQuery>; -} diff --git a/backend/Musify.Application/Tracks/Queries/GetTracksByUserIdQuery.cs b/backend/Musify.Application/Tracks/Queries/GetTracksByUserIdQuery.cs deleted file mode 100644 index 7ce4e3d..0000000 --- a/backend/Musify.Application/Tracks/Queries/GetTracksByUserIdQuery.cs +++ /dev/null @@ -1,14 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Pagination; -using Musify.Application.Tracks.Responses; - -namespace Musify.Application.Tracks.Queries -{ - public record GetTracksByUserIdQuery( - long UserId, - string? Name = null, - int PageNumber = 1, - int PageSize = 10) - : IQuery > >; -} \ No newline at end of file diff --git a/backend/Musify.Application/Tracks/Queries/GetTracksQuery.cs b/backend/Musify.Application/Tracks/Queries/GetTracksQuery.cs deleted file mode 100644 index f435266..0000000 --- a/backend/Musify.Application/Tracks/Queries/GetTracksQuery.cs +++ /dev/null @@ -1,10 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Pagination; -using Musify.Application.Tracks.Responses; - -namespace Musify.Application.Tracks.Queries -{ - public record GetTracksQuery(int PageNumber = 1, int PageSize = 10) - : IQuery >>; -} \ No newline at end of file diff --git a/backend/Musify.Application/Tracks/Handlers/RequestTrackUploadUrlsCommandHandler.cs b/backend/Musify.Application/Tracks/RequestTrackUploadUrls.cs similarity index 94% rename from backend/Musify.Application/Tracks/Handlers/RequestTrackUploadUrlsCommandHandler.cs rename to backend/Musify.Application/Tracks/RequestTrackUploadUrls.cs index 2e69bda..09ae79b 100644 --- a/backend/Musify.Application/Tracks/Handlers/RequestTrackUploadUrlsCommandHandler.cs +++ b/backend/Musify.Application/Tracks/RequestTrackUploadUrls.cs @@ -4,14 +4,23 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Musify.Application.Configuration; using Musify.Application.Services; -using Musify.Application.Tracks.Commands; using Musify.Application.Tracks.Responses; using Musify.Domain.Entities; using Musify.Domain.ValueObjects; using Musify.Application.Contracts; -namespace Musify.Application.Tracks.Handlers +namespace Musify.Application.Tracks { + public record RequestTrackUploadUrlsCommand( + long UserId, + string PictureFileType, + string PictureContentType, + string AudioFileType, + string AudioContentType, + long? ExpectedPictureSizeBytes = null, + long? ExpectedAudioSizeBytes = null) + : ICommand>; + public class RequestTrackUploadUrlsCommandHandler( IDatabase database, UploadIntentValidator uploadIntentValidator, diff --git a/backend/Musify.Application/Users/Commands/CreateUserCommand.cs b/backend/Musify.Application/Users/Commands/CreateUserCommand.cs deleted file mode 100644 index bfcdf18..0000000 --- a/backend/Musify.Application/Users/Commands/CreateUserCommand.cs +++ /dev/null @@ -1,26 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Users.Responses; -using Musify.Domain.Entities; - -namespace Musify.Application.Users.Commands -{ - public record CreateUserCommand(long Id, - string Name, - string? FirstName, - string? SecondName) - : ICommand> - { - public static User ToEntity(CreateUserCommand command) - { - return new User - { - Id = command.Id, - Name = command.Name, - NormalizedName = command.Name.ToUpperInvariant(), - FirstName = command.FirstName, - SecondName = command.SecondName - }; - } - } -} \ No newline at end of file diff --git a/backend/Musify.Application/Users/Commands/SyncUserCommand.cs b/backend/Musify.Application/Users/Commands/SyncUserCommand.cs deleted file mode 100644 index fc0bdc3..0000000 --- a/backend/Musify.Application/Users/Commands/SyncUserCommand.cs +++ /dev/null @@ -1,13 +0,0 @@ -using ErrorOr; -using Mediator; - -namespace Musify.Application.Users.Commands -{ - public record SyncUserCommand( - long Id, - string Name, - string? FirstName, - string? SecondName, - string? ProfilePictureUrl) - : ICommand>; -} diff --git a/backend/Musify.Application/Users/Handlers/CreateUserCommandHandler.cs b/backend/Musify.Application/Users/CreateUser.cs similarity index 70% rename from backend/Musify.Application/Users/Handlers/CreateUserCommandHandler.cs rename to backend/Musify.Application/Users/CreateUser.cs index 5f4d8ec..392e026 100644 --- a/backend/Musify.Application/Users/Handlers/CreateUserCommandHandler.cs +++ b/backend/Musify.Application/Users/CreateUser.cs @@ -3,11 +3,30 @@ using Mediator; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Musify.Application.Contracts; -using Musify.Application.Users.Commands; using Musify.Application.Users.Responses; +using Musify.Domain.Entities; -namespace Musify.Application.Users.Handlers +namespace Musify.Application.Users { + public record CreateUserCommand(long Id, + string Name, + string? FirstName, + string? SecondName) + : ICommand> + { + public static User ToEntity(CreateUserCommand command) + { + return new User + { + Id = command.Id, + Name = command.Name, + NormalizedName = command.Name.ToUpperInvariant(), + FirstName = command.FirstName, + SecondName = command.SecondName + }; + } + } + public class CreateUserCommandHandler(IDatabase database, ILogger logger) : ICommandHandler > { @@ -37,4 +56,4 @@ namespace Musify.Application.Users.Handlers return UserApplicationResponse.FromEntity(newUser); } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/Users/Handlers/GetUserByIdQueryHandler.cs b/backend/Musify.Application/Users/GetUserById.cs similarity index 85% rename from backend/Musify.Application/Users/Handlers/GetUserByIdQueryHandler.cs rename to backend/Musify.Application/Users/GetUserById.cs index ed6261f..50e9359 100644 --- a/backend/Musify.Application/Users/Handlers/GetUserByIdQueryHandler.cs +++ b/backend/Musify.Application/Users/GetUserById.cs @@ -2,11 +2,13 @@ using ErrorOr; using Mediator; using Microsoft.EntityFrameworkCore; using Musify.Application.Contracts; -using Musify.Application.Users.Queries; using Musify.Application.Users.Responses; -namespace Musify.Application.Users.Handlers +namespace Musify.Application.Users { + public record GetUserByIdQuery(long Id) + : IQuery >; + public class GetUserByIdQueryHandler(IDatabase database) : IQueryHandler > { @@ -24,4 +26,4 @@ namespace Musify.Application.Users.Handlers return user; } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/Users/Handlers/GetUsersQueryHandler.cs b/backend/Musify.Application/Users/GetUsers.cs similarity index 86% rename from backend/Musify.Application/Users/Handlers/GetUsersQueryHandler.cs rename to backend/Musify.Application/Users/GetUsers.cs index 06b5f7b..498d1a9 100644 --- a/backend/Musify.Application/Users/Handlers/GetUsersQueryHandler.cs +++ b/backend/Musify.Application/Users/GetUsers.cs @@ -2,13 +2,15 @@ using ErrorOr; using Mediator; using Microsoft.EntityFrameworkCore; using Musify.Application.Pagination; -using Musify.Application.Users.Queries; using Musify.Application.Users.Responses; using X.PagedList.EF; using Musify.Application.Contracts; -namespace Musify.Application.Users.Handlers +namespace Musify.Application.Users { + public record GetUsersQuery(int PageNumber, int PageSize, string? UsernameSearch = null) + : IQuery >>; + public class GetUsersQueryHandler(IDatabase database) : IQueryHandler > > { @@ -32,4 +34,4 @@ namespace Musify.Application.Users.Handlers return PaginatedResponse.FromPagedList(pagedUser); } } -} \ No newline at end of file +} diff --git a/backend/Musify.Application/Users/Queries/GetUserByIdQuery.cs b/backend/Musify.Application/Users/Queries/GetUserByIdQuery.cs deleted file mode 100644 index 3ba862c..0000000 --- a/backend/Musify.Application/Users/Queries/GetUserByIdQuery.cs +++ /dev/null @@ -1,9 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Users.Responses; - -namespace Musify.Application.Users.Queries -{ - public record GetUserByIdQuery(long Id) - : IQuery >; -} \ No newline at end of file diff --git a/backend/Musify.Application/Users/Queries/GetUsersQuery.cs b/backend/Musify.Application/Users/Queries/GetUsersQuery.cs deleted file mode 100644 index a92e65c..0000000 --- a/backend/Musify.Application/Users/Queries/GetUsersQuery.cs +++ /dev/null @@ -1,10 +0,0 @@ -using ErrorOr; -using Mediator; -using Musify.Application.Pagination; -using Musify.Application.Users.Responses; - -namespace Musify.Application.Users.Queries -{ - public record GetUsersQuery(int PageNumber, int PageSize, string? UsernameSearch = null) - : IQuery >>; -} diff --git a/backend/Musify.Application/Users/Handlers/SyncUserCommandHandler.cs b/backend/Musify.Application/Users/SyncUser.cs similarity index 88% rename from backend/Musify.Application/Users/Handlers/SyncUserCommandHandler.cs rename to backend/Musify.Application/Users/SyncUser.cs index 0718feb..576d149 100644 --- a/backend/Musify.Application/Users/Handlers/SyncUserCommandHandler.cs +++ b/backend/Musify.Application/Users/SyncUser.cs @@ -3,11 +3,18 @@ using Mediator; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Musify.Application.Contracts; -using Musify.Application.Users.Commands; using Musify.Domain.Entities; -namespace Musify.Application.Users.Handlers +namespace Musify.Application.Users { + public record SyncUserCommand( + long Id, + string Name, + string? FirstName, + string? SecondName, + string? ProfilePictureUrl) + : ICommand>; + public class SyncUserCommandHandler(IDatabase database, ILogger logger) : ICommandHandler> {