using Domain.Exceptions; using Infrastructure.Repository.Auth; namespace Service.Auth; /// /// Represents the result of successfully confirming a user account. /// /// The UTC date and time at which the account was confirmed. /// The unique identifier of the confirmed user. public record ConfirmationServiceReturn(DateTime ConfirmedAt, Guid UserId); /// /// Defines operations for confirming user accounts and resending confirmation emails. /// public interface IConfirmationService { /// /// Validates a confirmation token and confirms the corresponding user account. /// /// The confirmation token issued to the user. /// A describing the confirmed account. Task ConfirmUserAsync(string confirmationToken); /// /// Resends the account confirmation email for the specified user. /// /// The unique identifier of the user requesting the resend. /// A task that completes once the operation has finished. Task ResendConfirmationEmailAsync(Guid userId); }