Files
houston-be/pkg/slack/houston/command/start_incident.go
Shubham Kirve b974cb6bf3 TP-0000 | Initialize houston repo (#1)
* TP-0000 | intialize houston repo

* TP-0000 | intialize houston repo
2023-03-29 00:01:17 +05:30

37 lines
1020 B
Go

package command
import (
houston "houston/pkg/slack/houston/design"
"github.com/slack-go/slack/socketmode"
"go.uber.org/zap"
"gorm.io/gorm"
)
type startIncidentButtonProcessor struct {
client *socketmode.Client
db *gorm.DB
logger *zap.Logger
}
func NewStartIncidentProcessor(client *socketmode.Client, db *gorm.DB, logger *zap.Logger) *startIncidentButtonProcessor {
return &startIncidentButtonProcessor{
client: client,
db: db,
logger: logger,
}
}
func (sip *startIncidentButtonProcessor) ProcessStartIncidentButtonCommand(channelId, triggerId string) {
modal := houston.GenerateModalRequest(sip.db, sip.logger, channelId)
_, err := sip.client.OpenView(triggerId, modal)
if err != nil {
sip.logger.Error("houston slack openview command failed.",
zap.String("trigger_id", triggerId), zap.String("channel_id", channelId), zap.Error(err))
return
}
sip.logger.Info("houston successfully send modal to slack", zap.String("trigger_id", triggerId))
// client.Ack(*request, payload)
}