From a37a0607e372ba0f87a3d142f39b8062834efae5 Mon Sep 17 00:00:00 2001 From: Shubham Kirve Date: Mon, 10 Jul 2023 14:03:54 +0530 Subject: [PATCH] TP-0000 | shifting inviting users logic in async func (#115) --- .../action/incident_update_status_action.go | 22 +++++++------ .../action/incident_update_type_action.go | 31 +++++++++---------- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/internal/processor/action/incident_update_status_action.go b/internal/processor/action/incident_update_status_action.go index 539b2e9..de8128d 100644 --- a/internal/processor/action/incident_update_status_action.go +++ b/internal/processor/action/incident_update_status_action.go @@ -144,17 +144,19 @@ func (isp *UpdateIncidentAction) IncidentUpdateStatus(callback slack.Interaction zap.String("user_id", user.ID), zap.Error(err)) } - errMessage := util.PostIncidentStatusUpdateMessage(user.ID, result.Name, callback.View.PrivateMetadata, isp.client) - if errMessage != nil { - isp.logger.Error("post response failed for IncidentUpdateStatus", zap.Error(errMessage)) - return - } + go func() { + errMessage := util.PostIncidentStatusUpdateMessage(user.ID, result.Name, callback.View.PrivateMetadata, isp.client) + if errMessage != nil { + isp.logger.Error("post response failed for IncidentUpdateStatus", zap.Error(errMessage)) + return + } - msgUpdate := NewIncidentChannelMessageUpdateAction(isp.client, isp.logger, isp.incidentService, isp.teamRepository, isp.severityRepository) - msgUpdate.ProcessAction(incidentEntity.SlackChannel) - if result.IsTerminalStatus && (incidentEntity.SeverityId != 1 && incidentEntity.SeverityId != 2) { - isp.client.ArchiveConversation(callback.View.PrivateMetadata) - } + msgUpdate := NewIncidentChannelMessageUpdateAction(isp.client, isp.logger, isp.incidentService, isp.teamRepository, isp.severityRepository) + msgUpdate.ProcessAction(incidentEntity.SlackChannel) + if result.IsTerminalStatus && (incidentEntity.SeverityId != 1 && incidentEntity.SeverityId != 2) { + isp.client.ArchiveConversation(callback.View.PrivateMetadata) + } + }() var payload interface{} isp.client.Ack(*request, payload) diff --git a/internal/processor/action/incident_update_type_action.go b/internal/processor/action/incident_update_type_action.go index 05b1801..77040b2 100644 --- a/internal/processor/action/incident_update_type_action.go +++ b/internal/processor/action/incident_update_type_action.go @@ -94,23 +94,22 @@ func (itp *IncidentUpdateTypeAction) IncidentUpdateType(callback slack.Interacti zap.String("user_id", user.ID), zap.Error(err)) } - itp.addDefaultUsersToIncident(callback.View.PrivateMetadata, incidentEntity.TeamId) - if len(strings.TrimSpace(teamEntity.OncallHandle)) > 0 { - itp.tagOncallToIncident(int(incidentEntity.TeamId), callback.View.PrivateMetadata) - } - - severityEntity, err := itp.severityService.FindSeverityById(incidentEntity.SeverityId) - if err != nil { - itp.logger.Error("error in fetching severity in incident update type action", zap.String("channel", incidentEntity.SlackChannel), - zap.Uint("incident_id", incidentEntity.ID), zap.Error(err)) - return - } else if severityEntity == nil { - itp.logger.Info("severity not found in incident update type action", zap.String("channel", incidentEntity.SlackChannel), - zap.Uint("incident_id", incidentEntity.ID)) - return - } - go func() { + itp.addDefaultUsersToIncident(callback.View.PrivateMetadata, incidentEntity.TeamId) + if len(strings.TrimSpace(teamEntity.OncallHandle)) > 0 { + itp.tagOncallToIncident(int(incidentEntity.TeamId), callback.View.PrivateMetadata) + } + + severityEntity, err := itp.severityService.FindSeverityById(incidentEntity.SeverityId) + if err != nil { + itp.logger.Error("error in fetching severity in incident update type action", zap.String("channel", incidentEntity.SlackChannel), + zap.Uint("incident_id", incidentEntity.ID), zap.Error(err)) + return + } else if severityEntity == nil { + itp.logger.Info("severity not found in incident update type action", zap.String("channel", incidentEntity.SlackChannel), + zap.Uint("incident_id", incidentEntity.ID)) + return + } errMessage := util.PostIncidentTypeUpdateMessage( user.ID, teamEntity.Name, severityEntity.Name, severityEntity.Description, incidentEntity.IncidentName, incidentEntity.Title, callback.View.PrivateMetadata, itp.socketModeClient)