Files
houston-be/internal/processor/resolve_incident_command_processor.go
Shashank Shekhar 88459577f4 TP-49403 | parameterized slash command (#297)
* TP-49403 | parameterized slash command

* TP-49403 | handeling resolve and rca params also implemented Help-Commands button

* TP-49403 | using command pattern for command resolutiuon and execution

* TP-49403 | made find team by name and find severity by name queries case insensitive

* TP-49403 | updating help message keys
2023-11-30 11:56:32 +05:30

40 lines
1.2 KiB
Go

package processor
import (
"fmt"
"github.com/slack-go/slack/socketmode"
"houston/internal/processor/action"
"houston/logger"
"houston/pkg/slackbot"
"houston/service/rca"
)
type ResolveIncidentCommandProcessor struct {
socketModeClient *socketmode.Client
resolveIncidentCommandAction *action.ResolveIncidentCommandAction
rcaService *rca.RcaService
}
const ResolveIncidentCommandProcessorLogTag = "[start_incident_command_processor]"
func NewResolveIncidentCommandProcessor(
socketModeClient *socketmode.Client,
slackBot *slackbot.Client,
rcaService *rca.RcaService,
) *ResolveIncidentCommandProcessor {
return &ResolveIncidentCommandProcessor{
socketModeClient: socketModeClient,
resolveIncidentCommandAction: action.NewResolveIncidentCommandAction(socketModeClient, slackBot, rcaService),
}
}
func (processor *ResolveIncidentCommandProcessor) ProcessSlashCommand(event *socketmode.Event) {
defer func() {
if r := recover(); r != nil {
logger.Error(fmt.Sprintf("%s Exception occurred: %+v", ResolveIncidentCommandProcessorLogTag, r.(error)))
}
}()
processor.resolveIncidentCommandAction.PerformAction(event)
}