TP-0000 | sev fix (#34)
This commit is contained in:
committed by
GitHub Enterprise
parent
3d064e35da
commit
1f99edcb83
@@ -121,7 +121,9 @@ func (s *Server) teamHandler() {
|
||||
}
|
||||
|
||||
func (s *Server) severityHandler() {
|
||||
severityHandler := service.NewSeverityService(s.gin, s.logger, s.db)
|
||||
houstonClient := NewHoustonClient(s.logger)
|
||||
slackClient := slackbot.NewSlackClient(s.logger, houstonClient.socketModeClient)
|
||||
severityHandler := service.NewSeverityService(s.gin, s.logger, s.db, slackClient)
|
||||
|
||||
s.gin.GET("/severities", severityHandler.GetSeverities)
|
||||
s.gin.POST("/severities", severityHandler.UpdateSeverities)
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package service
|
||||
|
||||
type UpdateSeveritiesRequest struct {
|
||||
Severities []Severity `json:"severities"`
|
||||
Severities []Severity `json:"severities"`
|
||||
}
|
||||
|
||||
type Severity struct {
|
||||
Id uint `json:"id"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Sla int `json:"sla,omitempty"`
|
||||
SlackUserIds []string `json:"slackUserIds,omitempty"`
|
||||
}
|
||||
Id uint `json:"id"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Sla int `json:"sla,omitempty"`
|
||||
WorkEmailIds []string `json:"workEmailIds,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
commonutil "houston/common/util"
|
||||
"houston/model/severity"
|
||||
"houston/pkg/slackbot"
|
||||
request "houston/service/request"
|
||||
service "houston/service/response"
|
||||
common "houston/service/response/common"
|
||||
@@ -14,16 +16,18 @@ import (
|
||||
)
|
||||
|
||||
type severityService struct {
|
||||
gin *gin.Engine
|
||||
logger *zap.Logger
|
||||
db *gorm.DB
|
||||
gin *gin.Engine
|
||||
logger *zap.Logger
|
||||
db *gorm.DB
|
||||
client *slackbot.Client
|
||||
}
|
||||
|
||||
func NewSeverityService(gin *gin.Engine, logger *zap.Logger, db *gorm.DB) *severityService {
|
||||
func NewSeverityService(gin *gin.Engine, logger *zap.Logger, db *gorm.DB, client *slackbot.Client) *severityService {
|
||||
return &severityService{
|
||||
gin: gin,
|
||||
gin: gin,
|
||||
logger: logger,
|
||||
db: db,
|
||||
db: db,
|
||||
client: client,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,11 +42,11 @@ func (s *severityService) GetSeverities(c *gin.Context) {
|
||||
var severityResponses []service.SeverityResponse
|
||||
for _, severity := range *severityEntities {
|
||||
severityResponses = append(severityResponses, service.SeverityResponse{
|
||||
Id: severity.ID,
|
||||
Name: severity.Name,
|
||||
Description: severity.Description,
|
||||
Sla: severity.Sla,
|
||||
SlackUserIds: severity.SlackUserIds,
|
||||
Id: severity.ID,
|
||||
Name: severity.Name,
|
||||
Description: severity.Description,
|
||||
Sla: severity.Sla,
|
||||
SlackUserIds: severity.SlackUserIds,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -81,9 +85,20 @@ func (s *severityService) UpdateSeverities(c *gin.Context) {
|
||||
if severity.Sla != 0 {
|
||||
severityEntity.Sla = severity.Sla
|
||||
}
|
||||
if severity.SlackUserIds != nil {
|
||||
severityEntity.SlackUserIds = severity.SlackUserIds
|
||||
slackUserIds := []string{}
|
||||
if severity.WorkEmailIds != nil {
|
||||
for _, ind := range severity.WorkEmailIds {
|
||||
slackUser, err := s.client.GetUserByEmail(ind)
|
||||
if err != nil {
|
||||
s.logger.Error("error in GetUserByEmail for sev", zap.String("workEmail", ind), zap.Error(err))
|
||||
} else {
|
||||
slackUserIds = append(slackUserIds, slackUser.ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
slackUserIds = append(slackUserIds, severityEntity.SlackUserIds...)
|
||||
slackUserIds = commonutil.RemoveDuplicateStr(slackUserIds)
|
||||
severityEntity.SlackUserIds = slackUserIds
|
||||
err = severityService.Update(severityEntity)
|
||||
if err != nil {
|
||||
s.logger.Error("error in updating severity", zap.Any("severityId", severity.Id), zap.Error(err))
|
||||
@@ -93,4 +108,4 @@ func (s *severityService) UpdateSeverities(c *gin.Context) {
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, common.SuccessResponse("severity updated successfully", http.StatusOK))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ func (t *teamService) UpdateTeam(c *gin.Context) {
|
||||
for _, ind := range updateTeamRequest.WorkEmailIds {
|
||||
slackUser, err := t.client.GetUserByEmail(ind)
|
||||
if err != nil {
|
||||
t.logger.Error("error in GetUserByEmail", zap.String("workEmail", ind), zap.Error(err))
|
||||
t.logger.Error("error in GetUserByEmail for team", zap.String("workEmail", ind), zap.Error(err))
|
||||
} else {
|
||||
slackUserIds = append(slackUserIds, slackUser.ID)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user