Files
SGU-CredentialProvider/src/SGU.CredentialProvider/BrokerDecision.cs
T

25 lines
715 B
C#

namespace SGU.CredentialProvider;
internal enum BrokerDecisionKind
{
Authorized,
InvalidCredentials,
Unavailable
}
internal sealed record BrokerDecision(
BrokerDecisionKind Kind,
string? Domain = null,
string? UserName = null,
string? ErrorCode = null)
{
public static BrokerDecision Authorized(string domain, string userName) =>
new(BrokerDecisionKind.Authorized, domain, userName);
public static BrokerDecision Invalid(string? errorCode = null) =>
new(BrokerDecisionKind.InvalidCredentials, ErrorCode: errorCode);
public static BrokerDecision Unavailable(string? errorCode = null) =>
new(BrokerDecisionKind.Unavailable, ErrorCode: errorCode);
}