using SteamLib.Core.Interfaces; namespace SteamLib.Exceptions; public class LoginException : Exception { public LoginError Error { get; } public string? Response { get; } public LoginException(LoginError error) : base($"Login was unsuccessful. Error {error}") { Error = error; } public LoginException(string response) { Error = LoginError.UndefinedError; Response = response; } public LoginException(string? response, string? message, LoginError? error, Exception? innerException) : base( message, innerException) { Response = response; Error = error ?? LoginError.UndefinedError; } } public enum LoginError { CaptchaRequired, InvalidCredentials, InvalidEmailAuthCode, InvalidTwoFactorCode, /// /// SteamEmail authentication is required to login but no was provided /// EmailAuthRequired, /// /// SteamGuard is required to login but no was provided /// SteamGuardRequired, /// /// Some error occurred while trying to login. /// UndefinedError }