using System;
using System.Security.Claims;
using System.Threading.Tasks;
using BlueWest.Data.Application;
using Microsoft.AspNetCore.Identity;
namespace BlueWest.WebApi.Context.Users;
///
/// Auth manager contract interface.
///
public interface IAuthManager
{
///
/// CreateUserAsync
///
///
///
Task CreateUserAsync(RegisterViewModel registerViewModel);
///
/// VerifyLoginAsync
///
///
///
///
Task VerifyLoginByEmailAsync(string email, string password);
///
/// GetToken
///
///
///
Task<(bool, SessionTokenUnique, AccessToken)> GetToken(LoginRequest loginRequest);
///
/// Does Login
///
///
///
Task<(bool, ClaimsIdentity, SessionTokenUnique)> DoLogin(LoginRequest loginRequest);
}