public override async Task <ChangeUserRoleResponse> ChangeUserRole(ChangeUserRoleRequest request, ServerCallContext context) { var user = await dbContext.Users.FindIfNullThrowAsync(request.UserId); var project = await dbContext.Projects.FindIfNullThrowAsync(request.ProjectId); var assignment = await dbContext.UserProjectAssignments .FirstOrDefaultAsync(x => x.User == user && x.Project == project) ?? throw EntityNotFoundException.Create <UserProjectAssignment>($"UserId {request.UserId} and ProjectId {request.ProjectId}"); assignment.Role = (Domain.ValueObjects.UserRole)request.Role; await dbContext.SaveChangesAsync(); return(new ChangeUserRoleResponse { }); }
public async Task <ChangeUserRoleResponse> ChangeUserRole([FromBody] ChangeUserRoleRequest request) => await _mediator.Send(request);