Files
houston-be/internal/slack_private_metadata.go
Shashank Shekhar 233c632d38 INFRA-2866 | Create and update incident with assigner and responder from slack (#394)
* INFRA-2866 | create incident modal with product

* INFRA-2866 | Update product flow

* INFRA-2866 | Resolving review comments

* INFRA-2866 | Adding default values for product, assigner and responder

* INFRA-2866 | bug fix in getting assigner and responder team

* INFRA-2866 | bug-fix: users in no team are not getting products

* INFRA-2866 | adding log lines

* INFRA-2866 | adding assigner team members into incident

* INFRA-2866 | updated help command response text

* INFRA-2866 | adding assigner team members by severity

* INFRA-2866 | updating product list for users with no product

* INFRA-2866 | assigner teams = (teamsOfUser ++ teamsOfSelectedProducts)

* INFRA-2866 | renamed assigner to reporting team

* INFRA-2866 | query to seed product as others for current open incidents without any product
2024-03-19 16:26:30 +05:30

75 lines
1.7 KiB
Go

package internal
import (
"encoding/json"
"fmt"
)
type SlackPrivateMetadata struct {
Channel string `json:"channel"`
ProductIds []uint `json:"productIds"`
ProductNames []string `json:"productNames"`
TriggerId string `json:"triggerId"`
}
func NewSlackPrivateMetadata() *SlackPrivateMetadata {
return &SlackPrivateMetadata{}
}
func StringToSlackPrivateMetadata(jsonString string) (*SlackPrivateMetadata, error) {
var slackPrivateMetadata SlackPrivateMetadata
// Unmarshal the JSON string into the struct
err := json.Unmarshal([]byte(jsonString), &slackPrivateMetadata)
if err != nil {
fmt.Println("Error:", err)
return nil, err
}
return &slackPrivateMetadata, nil
}
func (s *SlackPrivateMetadata) String() string {
jsonData, err := json.Marshal(s)
if err != nil {
fmt.Println("Error:", err)
return ""
}
return string(jsonData)
}
func (s *SlackPrivateMetadata) SetChannel(channel string) *SlackPrivateMetadata {
s.Channel = channel
return s
}
func (s *SlackPrivateMetadata) GetChannel() string {
return s.Channel
}
func (s *SlackPrivateMetadata) SetProductIds(productIds []uint) *SlackPrivateMetadata {
s.ProductIds = productIds
return s
}
func (s *SlackPrivateMetadata) GetProductIds() []uint {
return s.ProductIds
}
func (s *SlackPrivateMetadata) SetProductNames(productNames []string) *SlackPrivateMetadata {
s.ProductNames = productNames
return s
}
func (s *SlackPrivateMetadata) GetProductNames() []string {
return s.ProductNames
}
func (s *SlackPrivateMetadata) SetTriggerId(triggerId string) *SlackPrivateMetadata {
s.TriggerId = triggerId
return s
}
func (s *SlackPrivateMetadata) GetTriggerId() string {
return s.TriggerId
}