From e802c8565dad41e8cebafc6ea75c157c55ab3ab7 Mon Sep 17 00:00:00 2001 From: XShine555 Date: Sun, 5 Jul 2026 04:12:59 +0200 Subject: [PATCH] refactor(application): co-locate each command/query with its handler One file per use case under the feature folder (Tracks/PlayLists/Users), dropping the Commands/Queries/Handlers sub-folders and their namespaces. Each file now holds the record and its handler in namespace Musify.Application.; external usings updated accordingly. Build: 0 warnings, 0 errors. Co-Authored-By: Claude Opus 4.8 --- .../Authentication/JwtBearerEventsHandler.cs | 2 +- .../Musify.Api/Endpoints/PlayListEndpoints.cs | 3 +-- .../Musify.Api/Endpoints/TrackEndpoints.cs | 3 +-- backend/Musify.Api/Endpoints/UserEndpoints.cs | 3 +-- ...ommandHandler.cs => AddTrackToPlayList.cs} | 6 +++-- .../Commands/AddTrackToPlayListCommand.cs | 8 ------ .../Commands/CreatePlayListCommand.cs | 13 ---------- .../Commands/DeletePlayListCommand.cs | 8 ------ .../RemoveTrackFromPlayListCommand.cs | 8 ------ .../RequestPlayListPictureUploadCommand.cs | 13 ---------- .../Commands/UpdatePlayListCommand.cs | 14 ---------- ...istCommandHandler.cs => CreatePlayList.cs} | 10 +++++-- ...istCommandHandler.cs => DeletePlayList.cs} | 8 +++--- ...ByIdQueryHandler.cs => GetPlayListById.cs} | 8 +++--- ...ksQueryHandler.cs => GetPlayListTracks.cs} | 9 +++++-- ...ayListsQueryHandler.cs => GetPlayLists.cs} | 8 +++--- ...ueryHandler.cs => GetPlayListsByUserId.cs} | 12 ++++++--- .../PlayLists/Queries/GetPlayListByIdQuery.cs | 9 ------- .../Queries/GetPlayListTracksQuery.cs | 13 ---------- .../Queries/GetPlayListsByUserIdQuery.cs | 14 ---------- .../PlayLists/Queries/GetPlayListsQuery.cs | 10 ------- ...dHandler.cs => RemoveTrackFromPlayList.cs} | 6 +++-- ...ler.cs => RequestPlayListPictureUpload.cs} | 10 +++++-- ...istCommandHandler.cs => UpdatePlayList.cs} | 11 ++++++-- .../Tracks/Commands/CreateTrackCommand.cs | 13 ---------- .../Tracks/Commands/DeleteTrackCommand.cs | 10 ------- .../Commands/RequestTrackUploadUrlsCommand.cs | 16 ------------ ...eTrackCommandHandler.cs => CreateTrack.cs} | 10 +++++-- ...eTrackCommandHandler.cs => DeleteTrack.cs} | 10 ++++--- ...ackByIdQueryHandler.cs => GetTrackById.cs} | 8 +++--- ...treamQueryHandler.cs => GetTrackStream.cs} | 6 +++-- .../GetTracksQueryHandler.cs => GetTracks.cs} | 8 +++--- ...IdQueryHandler.cs => GetTracksByUserId.cs} | 12 ++++++--- .../Tracks/Queries/GetTrackByIdQuery.cs | 9 ------- .../Tracks/Queries/GetTrackStreamQuery.cs | 9 ------- .../Tracks/Queries/GetTracksByUserIdQuery.cs | 14 ---------- .../Tracks/Queries/GetTracksQuery.cs | 10 ------- ...ndHandler.cs => RequestTrackUploadUrls.cs} | 13 ++++++++-- .../Users/Commands/CreateUserCommand.cs | 26 ------------------- .../Users/Commands/SyncUserCommand.cs | 13 ---------- ...ateUserCommandHandler.cs => CreateUser.cs} | 25 +++++++++++++++--- ...UserByIdQueryHandler.cs => GetUserById.cs} | 8 +++--- .../GetUsersQueryHandler.cs => GetUsers.cs} | 8 +++--- .../Users/Queries/GetUserByIdQuery.cs | 9 ------- .../Users/Queries/GetUsersQuery.cs | 10 ------- .../SyncUserCommandHandler.cs => SyncUser.cs} | 11 ++++++-- 46 files changed, 158 insertions(+), 309 deletions(-) rename backend/Musify.Application/PlayLists/{Handlers/AddTrackToPlayListCommandHandler.cs => AddTrackToPlayList.cs} (94%) delete mode 100644 backend/Musify.Application/PlayLists/Commands/AddTrackToPlayListCommand.cs delete mode 100644 backend/Musify.Application/PlayLists/Commands/CreatePlayListCommand.cs delete mode 100644 backend/Musify.Application/PlayLists/Commands/DeletePlayListCommand.cs delete mode 100644 backend/Musify.Application/PlayLists/Commands/RemoveTrackFromPlayListCommand.cs delete mode 100644 backend/Musify.Application/PlayLists/Commands/RequestPlayListPictureUploadCommand.cs delete mode 100644 backend/Musify.Application/PlayLists/Commands/UpdatePlayListCommand.cs rename backend/Musify.Application/PlayLists/{Handlers/CreatePlayListCommandHandler.cs => CreatePlayList.cs} (95%) rename backend/Musify.Application/PlayLists/{Handlers/DeletePlayListCommandHandler.cs => DeletePlayList.cs} (93%) rename backend/Musify.Application/PlayLists/{Handlers/GetPlayListByIdQueryHandler.cs => GetPlayListById.cs} (85%) rename backend/Musify.Application/PlayLists/{Handlers/GetPlayListTracksQueryHandler.cs => GetPlayListTracks.cs} (86%) rename backend/Musify.Application/PlayLists/{Handlers/GetPlayListsQueryHandler.cs => GetPlayLists.cs} (84%) rename backend/Musify.Application/PlayLists/{Handlers/GetPlayListsByUserIdQueryHandler.cs => GetPlayListsByUserId.cs} (84%) delete mode 100644 backend/Musify.Application/PlayLists/Queries/GetPlayListByIdQuery.cs delete mode 100644 backend/Musify.Application/PlayLists/Queries/GetPlayListTracksQuery.cs delete mode 100644 backend/Musify.Application/PlayLists/Queries/GetPlayListsByUserIdQuery.cs delete mode 100644 backend/Musify.Application/PlayLists/Queries/GetPlayListsQuery.cs rename backend/Musify.Application/PlayLists/{Handlers/RemoveTrackFromPlayListCommandHandler.cs => RemoveTrackFromPlayList.cs} (91%) rename backend/Musify.Application/PlayLists/{Handlers/RequestPlayListPictureUploadCommandHandler.cs => RequestPlayListPictureUpload.cs} (94%) rename backend/Musify.Application/PlayLists/{Handlers/UpdatePlayListCommandHandler.cs => UpdatePlayList.cs} (95%) delete mode 100644 backend/Musify.Application/Tracks/Commands/CreateTrackCommand.cs delete mode 100644 backend/Musify.Application/Tracks/Commands/DeleteTrackCommand.cs delete mode 100644 backend/Musify.Application/Tracks/Commands/RequestTrackUploadUrlsCommand.cs rename backend/Musify.Application/Tracks/{Handlers/CreateTrackCommandHandler.cs => CreateTrack.cs} (95%) rename backend/Musify.Application/Tracks/{Handlers/DeleteTrackCommandHandler.cs => DeleteTrack.cs} (94%) rename backend/Musify.Application/Tracks/{Handlers/GetTrackByIdQueryHandler.cs => GetTrackById.cs} (84%) rename backend/Musify.Application/Tracks/{Handlers/GetTrackStreamQueryHandler.cs => GetTrackStream.cs} (93%) rename backend/Musify.Application/Tracks/{Handlers/GetTracksQueryHandler.cs => GetTracks.cs} (85%) rename backend/Musify.Application/Tracks/{Handlers/GetTracksByUserIdQueryHandler.cs => GetTracksByUserId.cs} (86%) delete mode 100644 backend/Musify.Application/Tracks/Queries/GetTrackByIdQuery.cs delete mode 100644 backend/Musify.Application/Tracks/Queries/GetTrackStreamQuery.cs delete mode 100644 backend/Musify.Application/Tracks/Queries/GetTracksByUserIdQuery.cs delete mode 100644 backend/Musify.Application/Tracks/Queries/GetTracksQuery.cs rename backend/Musify.Application/Tracks/{Handlers/RequestTrackUploadUrlsCommandHandler.cs => RequestTrackUploadUrls.cs} (94%) delete mode 100644 backend/Musify.Application/Users/Commands/CreateUserCommand.cs delete mode 100644 backend/Musify.Application/Users/Commands/SyncUserCommand.cs rename backend/Musify.Application/Users/{Handlers/CreateUserCommandHandler.cs => CreateUser.cs} (70%) rename backend/Musify.Application/Users/{Handlers/GetUserByIdQueryHandler.cs => GetUserById.cs} (85%) rename backend/Musify.Application/Users/{Handlers/GetUsersQueryHandler.cs => GetUsers.cs} (86%) delete mode 100644 backend/Musify.Application/Users/Queries/GetUserByIdQuery.cs delete mode 100644 backend/Musify.Application/Users/Queries/GetUsersQuery.cs rename backend/Musify.Application/Users/{Handlers/SyncUserCommandHandler.cs => SyncUser.cs} (88%) 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> {