Refactor UserGroupService methods to use attempt (#16302)
This commit is contained in:
@@ -107,8 +107,8 @@ public interface IUserGroupService
|
||||
/// <param name="userGroupKeys">The user groups the users should be part of.</param>
|
||||
/// <param name="userKeys">The user whose groups we want to alter.</param>
|
||||
/// <returns>An attempt indicating if the operation was a success as well as a more detailed <see cref="UserGroupOperationStatus"/>.</returns>
|
||||
Task<UserGroupOperationStatus> UpdateUserGroupsOnUsersAsync(ISet<Guid> userGroupKeys, ISet<Guid> userKeys);
|
||||
Task<Attempt<UserGroupOperationStatus>> UpdateUserGroupsOnUsersAsync(ISet<Guid> userGroupKeys, ISet<Guid> userKeys);
|
||||
|
||||
Task<UserGroupOperationStatus> AddUsersToUserGroupAsync(UsersToUserGroupManipulationModel addUsersModel, Guid performingUserKey);
|
||||
Task<UserGroupOperationStatus> RemoveUsersFromUserGroupAsync(UsersToUserGroupManipulationModel removeUsersModel, Guid performingUserKey);
|
||||
Task<Attempt<UserGroupOperationStatus>> AddUsersToUserGroupAsync(UsersToUserGroupManipulationModel addUsersModel, Guid performingUserKey);
|
||||
Task<Attempt<UserGroupOperationStatus>> RemoveUsersFromUserGroupAsync(UsersToUserGroupManipulationModel removeUsersModel, Guid performingUserKey);
|
||||
}
|
||||
|
||||
@@ -210,7 +210,7 @@ internal sealed class UserGroupService : RepositoryService, IUserGroupService
|
||||
return Attempt.Succeed(UserGroupOperationStatus.Success);
|
||||
}
|
||||
|
||||
public async Task<UserGroupOperationStatus> UpdateUserGroupsOnUsersAsync(
|
||||
public async Task<Attempt<UserGroupOperationStatus>> UpdateUserGroupsOnUsersAsync(
|
||||
ISet<Guid> userGroupKeys,
|
||||
ISet<Guid> userKeys)
|
||||
{
|
||||
@@ -233,7 +233,7 @@ internal sealed class UserGroupService : RepositoryService, IUserGroupService
|
||||
if (adminGroup is not null && adminGroup.UserCount <= usersToDeAdmin.Length)
|
||||
{
|
||||
scope.Complete();
|
||||
return UserGroupOperationStatus.AdminGroupCannotBeEmpty;
|
||||
return Attempt.Fail(UserGroupOperationStatus.AdminGroupCannotBeEmpty);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -251,7 +251,7 @@ internal sealed class UserGroupService : RepositoryService, IUserGroupService
|
||||
|
||||
scope.Complete();
|
||||
|
||||
return UserGroupOperationStatus.Success;
|
||||
return Attempt.Succeed(UserGroupOperationStatus.Success);
|
||||
}
|
||||
|
||||
private Attempt<UserGroupOperationStatus> ValidateUserGroupDeletion(IUserGroup? userGroup)
|
||||
@@ -393,7 +393,7 @@ internal sealed class UserGroupService : RepositoryService, IUserGroupService
|
||||
return Attempt.SucceedWithStatus(UserGroupOperationStatus.Success, userGroup);
|
||||
}
|
||||
|
||||
public async Task<UserGroupOperationStatus> AddUsersToUserGroupAsync(UsersToUserGroupManipulationModel addUsersModel, Guid performingUserKey)
|
||||
public async Task<Attempt<UserGroupOperationStatus>> AddUsersToUserGroupAsync(UsersToUserGroupManipulationModel addUsersModel, Guid performingUserKey)
|
||||
{
|
||||
using ICoreScope scope = ScopeProvider.CreateCoreScope();
|
||||
|
||||
@@ -401,7 +401,7 @@ internal sealed class UserGroupService : RepositoryService, IUserGroupService
|
||||
|
||||
if (resolveAttempt.Success is false)
|
||||
{
|
||||
return resolveAttempt.Status;
|
||||
return Attempt.Fail(resolveAttempt.Status);
|
||||
}
|
||||
|
||||
ResolvedUserToUserGroupManipulationModel? resolvedModel = resolveAttempt.Result;
|
||||
@@ -423,10 +423,10 @@ internal sealed class UserGroupService : RepositoryService, IUserGroupService
|
||||
|
||||
scope.Complete();
|
||||
|
||||
return UserGroupOperationStatus.Success;
|
||||
return Attempt.Succeed(UserGroupOperationStatus.Success);
|
||||
}
|
||||
|
||||
public async Task<UserGroupOperationStatus> RemoveUsersFromUserGroupAsync(UsersToUserGroupManipulationModel removeUsersModel, Guid performingUserKey)
|
||||
public async Task<Attempt<UserGroupOperationStatus>> RemoveUsersFromUserGroupAsync(UsersToUserGroupManipulationModel removeUsersModel, Guid performingUserKey)
|
||||
{
|
||||
using ICoreScope scope = ScopeProvider.CreateCoreScope();
|
||||
|
||||
@@ -434,7 +434,7 @@ internal sealed class UserGroupService : RepositoryService, IUserGroupService
|
||||
|
||||
if (resolveAttempt.Success is false)
|
||||
{
|
||||
return resolveAttempt.Status;
|
||||
return Attempt.Fail(resolveAttempt.Status);
|
||||
}
|
||||
|
||||
ResolvedUserToUserGroupManipulationModel? resolvedModel = resolveAttempt.Result;
|
||||
@@ -450,7 +450,7 @@ internal sealed class UserGroupService : RepositoryService, IUserGroupService
|
||||
// We can't remove a user from a group they're not part of.
|
||||
if (user.Groups.Select(x => x.Key).Contains(resolvedModel.UserGroup.Key) is false)
|
||||
{
|
||||
return UserGroupOperationStatus.UserNotInGroup;
|
||||
return Attempt.Fail(UserGroupOperationStatus.UserNotInGroup);
|
||||
}
|
||||
|
||||
user.RemoveGroup(resolvedModel.UserGroup.Alias);
|
||||
@@ -461,14 +461,14 @@ internal sealed class UserGroupService : RepositoryService, IUserGroupService
|
||||
if (resolvedModel.UserGroup.Key == Constants.Security.AdminGroupKey
|
||||
&& resolvedModel.UserGroup.UserCount <= resolvedModel.Users.Length)
|
||||
{
|
||||
return UserGroupOperationStatus.AdminGroupCannotBeEmpty;
|
||||
return Attempt.Fail(UserGroupOperationStatus.AdminGroupCannotBeEmpty);
|
||||
}
|
||||
|
||||
_userService.Save(resolvedModel.Users);
|
||||
|
||||
scope.Complete();
|
||||
|
||||
return UserGroupOperationStatus.Success;
|
||||
return Attempt.Succeed(UserGroupOperationStatus.Success);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user