AuthorBuddy/Services/IAuthService.cs
2026-05-25 06:38:16 +02:00

25 lines
902 B
C#

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