shoc-backend/SeaHaven.Services/Interfaces/ITeamMemberRegistrationService.cs

23 lines
851 B
C#

using SeaHaven.Services.DTOs;
namespace SeaHaven.Services.Interfaces;
/// <summary>
/// The anonymous invite-registration flow. Every operation is scoped by the invite
/// token alone; unknown, expired, used and revoked invites share one outcome.
/// </summary>
public interface ITeamMemberRegistrationService
{
Task<TeamMemberRegistrationOutcomeDTO> ResolveAsync(string? token, CancellationToken cancellationToken);
Task<TeamMemberRegistrationOutcomeDTO> SendCodeAsync(string? token, CancellationToken cancellationToken);
Task<TeamMemberRegistrationOutcomeDTO> VerifyCodeAsync(
string? token,
string? code,
CancellationToken cancellationToken);
Task<TeamMemberRegistrationOutcomeDTO> CompleteAsync(
CompleteTeamMemberRegistrationRequestDTO request,
CancellationToken cancellationToken);
}