25 lines
715 B
C#
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);
|
|
}
|