public async Task <IEnumerable <string> > RegisterNodeAsync(bool isPullNode) { var nodeRequest = new RegisterNodeRequest { RequestId = Guid.NewGuid().ToString(), DeviceId = DeviceId, NodeName = NodeName, IsPullNode = isPullNode, }; _logger?.Information($"Creating Register Node Request for {DeviceId}. (Name: {NodeName}, IsPullNode: {isPullNode})"); try { var response = await Client.RegisterNodeAsync(nodeRequest); if (response.Successful) { _logger?.Information($"Register Node Request Successful."); } else { _logger?.Error($"Register Node Request Not Successful."); } return(response.PullNodeList); } catch (Exception ex) { Log.Error(ex, ex.Message); throw; } }
public Task <RegisterNodeResponse> HandleRegisterNodeRequest(RegisterNodeRequest request) { _logger?.Information($"Register Node Request Received " + $"(Node Name: {request.NodeName}, " + $"Device ID: {request.DeviceId}, " + $"Is Pull Node: {request.IsPullNode})."); var node = _nodeRepository.GetNode(request.NodeName, request.DeviceId, request.IsPullNode); var response = new RegisterNodeResponse { RequestId = request.RequestId, NodeName = node.NodeName, Successful = true }; var pullNodes = _nodeRepository .PullNodes .Select(x => x.NodeName) .ToList(); response.PullNodeList.AddRange(pullNodes); _logger?.Information($"Sending Response to {response.NodeName} " + $"(Is Successful = {response.Successful})."); return(Task.FromResult(response)); }
public async Task <JsonResult> Register([FromBody] RegisterNodeRequest request) { return(await ProcessRequest(async() => { if (request.NodeAddresses == null || request.NodeAddresses.Count == 0) { return GenerateBadRequestResponse(new ArgumentException("Node addresses are required")); } var response = _localBlockChain.RegisterNodes(request.NodeAddresses); return GenerateOkResponse(response); })); }
public IHttpActionResult RegisterNode([FromBody] RegisterNodeRequest request) { if (request.Nodes.Count < 1) { return(BadRequest("Please supply valid list of nodes")); } RegisterNodes(request.Nodes); var response = new RegisterNodeResponse() { Message = "New nodes have been added", TotalNodes = _nodes }; return(Json(response)); }
public override Task <RegisterNodeResponse> RegisterNode(RegisterNodeRequest request, ServerCallContext context) { return(_requestHandler.HandleRegisterNodeRequest(request)); }