using AuthorBuddy.Web.Data; namespace AuthorBuddy.Web.Services; public interface IAuthService { Task LoginAsync(string username, string password); Task LogoutAsync(); Task RegisterAsync(string username, string password); Task AdminBypassLoginAsync(int userId); Task GetCurrentUserAsync(); bool IsLoggedIn { get; } bool Is2FARequired { get; } Task Verify2FAAsync(string code); Task Generate2FASecretAsync(); string Get2FAProvisioningUri(string secret, string username); Task Enable2FAAsync(string secret); Task Disable2FAAsync(); Task Is2FAEnabledAsync(); Task GetCurrent2FASecretAsync(); Task> GetAllUsersAsync(); Task SetUserActiveAsync(int userId, bool active); Task DeleteUserAsync(int userId); UserEntity? CurrentUser { get; } }