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 }; }