public ActionResult <ChatIntegration> UpdateIntegrationForUser([FromBody] ChatIntegration chatIntegration, [FromQuery] Guid userId) { if (chatIntegration == null || chatIntegration.InstanceId == null || userId.Equals(Guid.Empty)) { return(BadRequest()); } ChatIntegrationEntity entity = _userService.UpdateIntegrationForUser(chatIntegration.MapDerivedIntegrationEntity(), userId); if (entity == null) { return(StatusCode(500)); } return(entity.MapDerivedChatIntegration()); }
public static ChatIntegrationEntity MapDerivedIntegrationEntity(this ChatIntegration integration) { if (integration.IntegrationId.IsSlackIntegration()) { var slackIntegration = (integration as AllYourChatsAreBelongToUs.Contracts.ViewModels.Slack.SlackIntegration); return(new SlackIntegrationEntity { SlackToken = slackIntegration.SlackToken, SlackUserId = slackIntegration.SlackUserId, Id = slackIntegration.InstanceId }); } return(new ChatIntegrationEntity(integration.IntegrationId, integration.Name) { Id = integration.InstanceId }); }