2026-01-29 13:43:44 -03:00
|
|
|
using MotoresArgentinosV2.Core.DTOs;
|
|
|
|
|
using MotoresArgentinosV2.Core.Entities;
|
|
|
|
|
|
|
|
|
|
namespace MotoresArgentinosV2.Core.Interfaces;
|
|
|
|
|
|
|
|
|
|
public interface IIdentityService
|
|
|
|
|
{
|
|
|
|
|
Task<(User? User, string? MigrationMessage)> AuthenticateAsync(string username, string password);
|
|
|
|
|
|
|
|
|
|
Task<bool> MigratePasswordAsync(string username, string newPassword);
|
|
|
|
|
|
|
|
|
|
// métodos para registro
|
|
|
|
|
Task<(bool Success, string Message)> RegisterUserAsync(RegisterRequest request);
|
|
|
|
|
Task<(bool Success, string Message)> VerifyEmailAsync(string token);
|
|
|
|
|
Task<(bool Success, string Message)> ResendVerificationEmailAsync(string email);
|
|
|
|
|
Task<(bool Success, string Message)> ForgotPasswordAsync(string email);
|
|
|
|
|
Task<(bool Success, string Message)> ResetPasswordAsync(string token, string newPassword);
|
|
|
|
|
Task<(bool Success, string Message)> ChangePasswordAsync(int userId, string current, string newPwd);
|
2026-02-12 15:24:32 -03:00
|
|
|
// Cambio de Email Seguro
|
|
|
|
|
Task<(bool Success, string Message)> InitiateEmailChangeAsync(int userId, string newEmail, string mfaCode);
|
|
|
|
|
Task<(bool Success, string Message)> ConfirmEmailChangeAsync(string token);
|
|
|
|
|
|
|
|
|
|
// Gestión MFA Segura
|
|
|
|
|
Task<(bool Success, string Message)> InitiateMFADisableAsync(int userId);
|
|
|
|
|
Task<(bool Success, string Message)> ConfirmMFADisableAsync(int userId, string token);
|
|
|
|
|
Task<(bool Success, string Message)> InitiateMFAReconfigureAsync(int userId);
|
2026-01-29 13:43:44 -03:00
|
|
|
Task<User> CreateGhostUserAsync(string email, string firstName, string lastName, string phone);
|
|
|
|
|
}
|