public async Task HandleAsync() { await updateUsersService.EditUserNodeAsync(notice.UserId, notice.NodeId).ConfigureAwait(false); var segment = await BlockSegmentsService.Instance.CreateUserNodeChangedSegmentAsync(notice.UserId, notice.NodeId, current.Node.Id).ConfigureAwait(false); BlockGenerationHelper.Instance.AddSegment(segment); }
public async Task EditUserNode() { var user = fillTestDbHelper.Users.FirstOrDefault(); await updateUsersService.EditUserNodeAsync(user.Id, 2); var actualUser = await loadUsersService.GetUserAsync(user.Id); Assert.Equal(2, actualUser.NodeId); }
public async Task <IActionResult> OperationCompleted([FromHeader] string encryptedOperationId, [FromHeader] string nodeId) { try { var nodeConnection = connectionsService.GetNodeConnection(Convert.ToInt64(nodeId)); if (nodeConnection != null) { byte[] decryptedRequestData = Encryptor.SymmetricDataDecrypt( Convert.FromBase64String(encryptedOperationId), nodeConnection.SignPublicKey, nodeConnection.SymmetricKey, NodeData.Instance.NodeKeys.Password).DecryptedData; string operationId = Encoding.UTF8.GetString(decryptedRequestData); ChangeUserNodeOperation operation = await changeNodeOperationsService.CompleteOperationAsync(operationId, nodeConnection.Node.Id).ConfigureAwait(false); await updateUsersService.EditUserNodeAsync(operation.UserId, nodeConnection.Node.Id).ConfigureAwait(false); await deleteUsersService.DeleteUserInformationAsync(operation.UserId).ConfigureAwait(false); nodeNoticeService.SendUserNodeChangedNodeNoticeAsync(operation.UserId, nodeConnection.Node.Id); noticeService.SendUserNodeChangedNoticeAsync(operation.UserId, nodeConnection.Node.Id); BlockSegmentVm segment = await BlockSegmentsService.Instance.CreateUserNodeChangedSegmentAsync( operation.UserId, nodeConnection.Node.Id, NodeSettings.Configs.Node.Id).ConfigureAwait(false); BlockGenerationHelper.Instance.AddSegment(segment); return(StatusCode(StatusCodes.Status200OK)); } return(StatusCode(StatusCodes.Status400BadRequest)); } catch (CryptographicException) { return(StatusCode(StatusCodes.Status403Forbidden)); } catch (Exception ex) { Logger.WriteLog(ex); return(StatusCode(StatusCodes.Status500InternalServerError)); } }