From 8aa4cd43508d604944894e8d08c306f5f74385af Mon Sep 17 00:00:00 2001 From: Shubham Kirve Date: Sun, 18 Jun 2023 20:13:37 +0530 Subject: [PATCH] TP-25848 | shifting unnecessary logic of changing severity to async func (#99) --- .../action/incident_update_severity_action.go | 66 +++++++++---------- service/team_tag_service.go | 0 2 files changed, 33 insertions(+), 33 deletions(-) create mode 100644 service/team_tag_service.go diff --git a/internal/processor/action/incident_update_severity_action.go b/internal/processor/action/incident_update_severity_action.go index b08cdf9..60540a1 100644 --- a/internal/processor/action/incident_update_severity_action.go +++ b/internal/processor/action/incident_update_severity_action.go @@ -96,42 +96,42 @@ func (isp *IncidentUpdateSevertityAction) IncidentUpdateSeverity(callback slack. for _, o := range incidentSeverityEntity.SlackUserIds { isp.slackbotClient.InviteUsersToConversation(callback.View.PrivateMetadata, o) } + go func() { + msgOption := slack.MsgOptionText(fmt.Sprintf("<@%s> *>* `set severity to %s (%s)`", user.ID, incidentSeverityEntity.Name, incidentSeverityEntity.Description), false) + _, _, errMessage := isp.client.PostMessage(callback.View.PrivateMetadata, msgOption) + if errMessage != nil { + isp.logger.Error("post response failed for IncidentUpdateSeverity", zap.Error(errMessage)) + return + } - msgOption := slack.MsgOptionText(fmt.Sprintf("<@%s> *>* `set severity to %s (%s)`", user.ID, incidentSeverityEntity.Name, incidentSeverityEntity.Description), false) - _, _, errMessage := isp.client.PostMessage(callback.View.PrivateMetadata, msgOption) - if errMessage != nil { - isp.logger.Error("post response failed for IncidentUpdateSeverity", zap.Error(errMessage)) - return - } + teamEntity, err := isp.teamService.FindTeamById(incidentEntity.TeamId) + if err != nil { + isp.logger.Error("FindTeamEntityById error", + zap.String("incident_slack_channel_id", channel.ID), zap.String("channel", channel.Name), + zap.String("user_id", user.ID), zap.Error(err)) + return + } else if teamEntity == nil { + isp.logger.Error("Team Not Found", + zap.String("incident_slack_channel_id", channel.ID), zap.String("channel", channel.Name), + zap.String("user_id", user.ID), zap.Error(err)) + return + } - teamEntity, err := isp.teamService.FindTeamById(incidentEntity.TeamId) - if err != nil { - isp.logger.Error("FindTeamEntityById error", - zap.String("incident_slack_channel_id", channel.ID), zap.String("channel", channel.Name), - zap.String("user_id", user.ID), zap.Error(err)) - return - } else if teamEntity == nil { - isp.logger.Error("Team Not Found", - zap.String("incident_slack_channel_id", channel.ID), zap.String("channel", channel.Name), - zap.String("user_id", user.ID), zap.Error(err)) - return - } - - txt := fmt.Sprintf("set the channel topic: *%s · %s (%s) %s* | %s", teamEntity.Name, incidentSeverityEntity.Name, incidentSeverityEntity.Description, incidentEntity.IncidentName, incidentEntity.Title) - att := slack.Attachment{ - Text: txt, - Color: "#808080", // Grey color code - MarkdownIn: []string{"txt"}, // Define which fields support markdown - } - _, _, errMessage = isp.client.PostMessage(callback.View.PrivateMetadata, slack.MsgOptionAttachments(att)) - if errMessage != nil { - isp.logger.Error("post response failed for IncidentUpdateType", zap.Error(errMessage)) - return - } - - topic := fmt.Sprintf("%s-%s(%s) Incident-%d | %s", teamEntity.Name, incidentSeverityEntity.Name, incidentSeverityEntity.Description, incidentEntity.ID, incidentEntity.Title) - isp.slackbotClient.SetChannelTopic(callback.View.PrivateMetadata, topic) + txt := fmt.Sprintf("set the channel topic: *%s · %s (%s) %s* | %s", teamEntity.Name, incidentSeverityEntity.Name, incidentSeverityEntity.Description, incidentEntity.IncidentName, incidentEntity.Title) + att := slack.Attachment{ + Text: txt, + Color: "#808080", // Grey color code + MarkdownIn: []string{"txt"}, // Define which fields support markdown + } + _, _, errMessage = isp.client.PostMessage(callback.View.PrivateMetadata, slack.MsgOptionAttachments(att)) + if errMessage != nil { + isp.logger.Error("post response failed for IncidentUpdateType", zap.Error(errMessage)) + return + } + topic := fmt.Sprintf("%s-%s(%s) Incident-%d | %s", teamEntity.Name, incidentSeverityEntity.Name, incidentSeverityEntity.Description, incidentEntity.ID, incidentEntity.Title) + isp.slackbotClient.SetChannelTopic(callback.View.PrivateMetadata, topic) + }() var payload interface{} isp.client.Ack(*request, payload) } diff --git a/service/team_tag_service.go b/service/team_tag_service.go new file mode 100644 index 0000000..e69de29