diff --git a/zero.Raven/Identity/RavenRoleStore(TRole).cs b/zero.Raven/Identity/RavenRoleStore(TRole).cs index 89c11852..4faa8b26 100644 --- a/zero.Raven/Identity/RavenRoleStore(TRole).cs +++ b/zero.Raven/Identity/RavenRoleStore(TRole).cs @@ -3,6 +3,7 @@ using Raven.Client.Documents; using Raven.Client.Documents.Linq; using Raven.Client.Exceptions; using System.Security.Claims; +using Microsoft.AspNetCore.Mvc.ApplicationModels; using zero.Raven; namespace zero.Identity; @@ -26,9 +27,16 @@ public class RavenRoleStore : private IdentityResult Fail(Result result) { - ResultError error = result.Errors.FirstOrDefault() ?? new("unknown", "Unknown error"); - string message = error.Message + "(key: " + error.Property + ")"; - return IdentityResult.Failed(new IdentityError { Description = message }); + IdentityError[] errors = new IdentityError[result.Errors.Count]; + + int index = 0; + foreach (ResultError error in result.Errors) + { + string message = error.Message + "(key: " + error.Property + ")"; + errors[index++] = new() { Code = "zero/raven/500", Description = message }; + } + + return IdentityResult.Failed(errors); } diff --git a/zero.Raven/Identity/RavenUserStore(TUser).cs b/zero.Raven/Identity/RavenUserStore(TUser).cs index 5719f42f..9c27a825 100644 --- a/zero.Raven/Identity/RavenUserStore(TUser).cs +++ b/zero.Raven/Identity/RavenUserStore(TUser).cs @@ -42,9 +42,16 @@ public partial class RavenUserStore : private IdentityResult Fail(Result result) { - ResultError error = result.Errors.FirstOrDefault() ?? new("unknown", "Unknown error"); - string message = error.Message + "(key: " + error.Property + ")"; - return IdentityResult.Failed(new IdentityError { Description = message }); + IdentityError[] errors = new IdentityError[result.Errors.Count]; + + int index = 0; + foreach (ResultError error in result.Errors) + { + string message = error.Message + "(key: " + error.Property + ")"; + errors[index++] = new() { Code = "zero/raven/500", Description = message }; + } + + return IdentityResult.Failed(errors); } ///