using Microsoft.AspNetCore.Identity;
namespace Umbraco.Cms.Api.Management.Security;
///
/// Result returned from signing in when auto-linking takes place
///
public class AutoLinkSignInResult : SignInResult
{
public AutoLinkSignInResult(IReadOnlyCollection errors) =>
Errors = errors ?? throw new ArgumentNullException(nameof(errors));
public AutoLinkSignInResult()
{
}
public static AutoLinkSignInResult FailedNotLinked { get; } = new() { Succeeded = false };
public static AutoLinkSignInResult FailedNoEmail { get; } = new() { Succeeded = false };
public IReadOnlyCollection Errors { get; } = Array.Empty();
public static AutoLinkSignInResult FailedException(string error) => new(new[] { error }) { Succeeded = false };
public static AutoLinkSignInResult FailedCreatingUser(IReadOnlyCollection errors) =>
new(errors) { Succeeded = false };
public static AutoLinkSignInResult FailedLinkingUser(IReadOnlyCollection errors) =>
new(errors) { Succeeded = false };
}