public ActionResult SendMessage([FromBody] Models.Message message, [FromBody] string userToken) { if (!ModelState.IsValid) { return(BadRequest()); } User user = _context.Users.FirstOrDefault(u => u.UserToken == userToken); if (user == null) { return(NotFound("Invalid token")); } string accessToken = user.Accounts.FirstOrDefault(a => a.PlatformName == message.NetworkName).AccessToken; if (accessToken == null) { return(BadRequest("Access token for network not found")); } Connector connector = _context.Connectors.FirstOrDefault(c => c.NetworkName == message.NetworkName); Data.Models.Message dataMessage = new Data.Models.Message() { NetworkName = message.NetworkName, ReceiverId = message.ReceiverId, Text = message.Text }; _connectorSender.SendMessage(connector, dataMessage, accessToken); return(Ok()); }
public async Task <IActionResult> SendMessage([FromBody] AggregatorMessage message, [FromQuery] string userToken) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } User user = await _context .Users .Include(u => u.Accounts) .FirstOrDefaultAsync(u => u.UserToken == userToken); if (user == null) { return(NotFound("Invalid token")); } string accessToken = user .Accounts .FirstOrDefault(a => a.PlatformName == message.NetworkName) .AccessToken; if (accessToken == null) { return(BadRequest("Access token for network not found")); } Connector connector = await _context .Connectors .FirstOrDefaultAsync(c => c.NetworkName == message.NetworkName); Message dataMessage = new Message() { NetworkName = message.NetworkName, NetworkUserId = message.ReceiverId, Text = message.Text }; _connectorSender.SendMessage(connector, dataMessage, accessToken); return(Ok()); }