using LiteCqrs; using TeleWave.Application.Common.Interfaces; using TeleWave.Application.Common.Models; namespace TeleWave.Application.Auth.DeleteMyAccount; public sealed class DeleteMyAccountCommandHandler( IIdentityService identityService, ICurrentUser currentUser ) : ICommandHandler { public async Task Handle( DeleteMyAccountCommand command, CancellationToken cancellationToken ) { if (currentUser.UserId is not { } userId) return Result.Failure(AuthErrors.Unauthorized); return await identityService.DeleteUserAsync(userId, cancellationToken); } }