TP-0000 | ui-fix (#32)
This commit is contained in:
committed by
GitHub Enterprise
parent
2eed0f966a
commit
131fe8ea45
@@ -71,6 +71,8 @@ func (cip *CreateIncidentAction) CreateIncidentModalCommandProcessing(callback s
|
||||
return
|
||||
}
|
||||
|
||||
//Add user who created the incident
|
||||
cip.slackbotClient.InviteUsersToConversation(incidentEntity.SlackChannel, incidentEntity.CreatedBy)
|
||||
// add default users to the incident
|
||||
err = cip.addDefaultUsersToIncident(*channelID, teamEntity, severityEntity)
|
||||
if err != nil {
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"houston/model/severity"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"go.uber.org/zap"
|
||||
@@ -150,7 +151,7 @@ func (r *Repository) FindIncidentById(Id uint) (*IncidentEntity, error) {
|
||||
}
|
||||
|
||||
func (r *Repository) FetchAllIncidents(
|
||||
TeamsId []uint, SeverityIds []uint, StatusIds []uint, pageNumber int64, pageSize int64) ([]IncidentEntity, int, error) {
|
||||
TeamsId []uint, SeverityIds []uint, StatusIds []uint, pageNumber int64, pageSize int64, incidentName string) ([]IncidentEntity, int, error) {
|
||||
var query = r.gormClient.Model([]IncidentEntity{})
|
||||
var incidentEntity []IncidentEntity
|
||||
if len(TeamsId) != 0 {
|
||||
@@ -162,6 +163,9 @@ func (r *Repository) FetchAllIncidents(
|
||||
if len(StatusIds) != 0 {
|
||||
query = query.Where("status IN ?", StatusIds)
|
||||
}
|
||||
if len(strings.TrimSpace(incidentName)) != 0 {
|
||||
query = query.Where("incident_name LIKE ?", "%"+incidentName+"%")
|
||||
}
|
||||
|
||||
var totalElements int64
|
||||
result := query.Count(&totalElements)
|
||||
@@ -169,7 +173,7 @@ func (r *Repository) FetchAllIncidents(
|
||||
return nil, 0, result.Error
|
||||
}
|
||||
|
||||
result = query.Offset(int(pageNumber * pageSize)).Limit(int(pageSize)).Find(&incidentEntity)
|
||||
result = query.Order("created_at desc").Offset(int(pageNumber * pageSize)).Limit(int(pageSize)).Find(&incidentEntity)
|
||||
|
||||
if result.Error != nil {
|
||||
return nil, 0, result.Error
|
||||
|
||||
@@ -19,11 +19,11 @@ func (c *Client) GetUsersInfo(users ...string) (*[]slack.User, error) {
|
||||
|
||||
func (c *Client) GetUsersInConversation(channelId string) ([]string, error) {
|
||||
users, _, err := c.socketModeClient.GetUsersInConversation(&slack.GetUsersInConversationParameters{
|
||||
Limit: 100,
|
||||
Limit: 100,
|
||||
ChannelID: channelId,
|
||||
})
|
||||
if err != nil {
|
||||
c.logger.Error("error in getting users from conversations",
|
||||
c.logger.Error("error in getting users from conversations",
|
||||
zap.String("channelId", channelId), zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
@@ -43,8 +43,8 @@ func (c *Client) GetUserEmailById(userId string) (string, error) {
|
||||
users, err := c.GetUsersInfo(userId)
|
||||
if err != nil {
|
||||
c.logger.Error("error in getting user info by id", zap.String("id", userId), zap.Error(err))
|
||||
return "", err
|
||||
return "Anonymous-" + userId, err
|
||||
}
|
||||
usersInfo := *users
|
||||
return usersInfo[0].Profile.Email, nil
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,6 +64,7 @@ func (i *incidentService) GetIncidents(c *gin.Context) {
|
||||
TeamIds := c.Query("team_ids")
|
||||
SeverityIds := c.Query("severity_ids")
|
||||
Status := c.Query("statuses")
|
||||
IncidentName := c.Query("incident_name")
|
||||
|
||||
if IncidentId != "" {
|
||||
numIncidentId, err := strconv.Atoi(IncidentId)
|
||||
@@ -90,11 +91,12 @@ func (i *incidentService) GetIncidents(c *gin.Context) {
|
||||
}
|
||||
|
||||
incidents, totalElements, err := i.GetAllIncidents(request.IncidentFilters{
|
||||
TeamIds: TeamIds,
|
||||
SeverityIds: SeverityIds,
|
||||
StatusIds: Status,
|
||||
PageSize: pageSize,
|
||||
PageNumber: pageNumber,
|
||||
TeamIds: TeamIds,
|
||||
SeverityIds: SeverityIds,
|
||||
StatusIds: Status,
|
||||
PageSize: pageSize,
|
||||
PageNumber: pageNumber,
|
||||
IncidentName: IncidentName,
|
||||
}, i.incidentRepository, i.severityRepository)
|
||||
if err != nil {
|
||||
i.logger.Info("error in fetching incidents", zap.Error(err))
|
||||
@@ -105,7 +107,7 @@ func (i *incidentService) GetIncidents(c *gin.Context) {
|
||||
incidentResponses, err := i.GetIncidentResponseFromIncidentEntity(
|
||||
incidents, i.incidentRepository, i.severityRepository, i.teamRepository)
|
||||
if err != nil {
|
||||
i.logger.Error("error in creating incident response", zap.Error(err))
|
||||
i.logger.Error("error in GetIncidentResponseFromIncidentEntity", zap.Error(err))
|
||||
c.JSON(http.StatusBadRequest, common.ErrorResponse(err, http.StatusBadRequest, nil))
|
||||
return
|
||||
}
|
||||
@@ -137,32 +139,32 @@ func (i *incidentService) GetIncidentResponseFromIncidentEntity(
|
||||
}
|
||||
incidentResponses[incident].TeamName = team.Name
|
||||
|
||||
severity, err := severityRepository.FindSeverityById(incidentResponses[incident].SeverityId)
|
||||
if (err != nil) {
|
||||
i.logger.Error("error in fetching severity", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
incidentResponses[incident].SeverityName = severity.Name
|
||||
incidentStatus, err := incidentRepository.GetIncidentStatusNameByStatus(incidentResponses[incident].Status)
|
||||
if (err != nil) {
|
||||
i.logger.Error("error in fetching incident status", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
incidentResponses[incident].StatusName = incidentStatus.Name
|
||||
userEmail, err := i.slackbotClient.GetUserEmailById(incidents[incident].CreatedBy)
|
||||
if err != nil {
|
||||
i.logger.Error("error in fetching user name by id", zap.String("userId", incidents[incident].CreatedBy), zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
incidentResponses[incident].CreatedBy = userEmail
|
||||
userEmail, err = i.slackbotClient.GetUserEmailById(incidents[incident].UpdatedBy)
|
||||
if err != nil {
|
||||
i.logger.Error("error in fetching user name by id", zap.String("userId", incidents[incident].UpdatedBy), zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
incidentResponses[incident].UpdatedBy = userEmail
|
||||
}
|
||||
return incidentResponses, nil
|
||||
severity, err := severityRepository.FindSeverityById(incidentResponses[incident].SeverityId)
|
||||
if err != nil {
|
||||
i.logger.Error("error in fetching severity", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
incidentResponses[incident].SeverityName = severity.Name
|
||||
incidentStatus, err := incidentRepository.GetIncidentStatusNameByStatus(incidentResponses[incident].Status)
|
||||
if err != nil {
|
||||
i.logger.Error("error in fetching incident status", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
incidentResponses[incident].StatusName = incidentStatus.Name
|
||||
userEmail, err := i.slackbotClient.GetUserEmailById(incidents[incident].CreatedBy)
|
||||
if err != nil {
|
||||
i.logger.Error("error in fetching user name by id", zap.String("userId", incidents[incident].CreatedBy), zap.Error(err))
|
||||
// return nil, err
|
||||
}
|
||||
incidentResponses[incident].CreatedBy = userEmail
|
||||
userEmail, err = i.slackbotClient.GetUserEmailById(incidents[incident].UpdatedBy)
|
||||
if err != nil {
|
||||
i.logger.Error("error in fetching user name by id", zap.String("userId", incidents[incident].UpdatedBy), zap.Error(err))
|
||||
// return nil, err
|
||||
}
|
||||
incidentResponses[incident].UpdatedBy = userEmail
|
||||
}
|
||||
return incidentResponses, nil
|
||||
}
|
||||
|
||||
func (i *incidentService) GetAllIncidents(
|
||||
@@ -183,7 +185,7 @@ func (i *incidentService) GetAllIncidents(
|
||||
StatusIds = i.SplitStringAndGetUintArray(incidentFilters.StatusIds)
|
||||
}
|
||||
return incidentRepository.FetchAllIncidents(
|
||||
TeamIds, SeverityIds, StatusIds, incidentFilters.PageNumber, incidentFilters.PageSize)
|
||||
TeamIds, SeverityIds, StatusIds, incidentFilters.PageNumber, incidentFilters.PageSize, incidentFilters.IncidentName)
|
||||
}
|
||||
|
||||
func (i *incidentService) SplitStringAndGetUintArray(str string) []uint {
|
||||
@@ -284,6 +286,8 @@ func (i *incidentService) CreateIncident(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
//Add user who created the incident
|
||||
i.slackbotClient.InviteUsersToConversation(incidentEntity.SlackChannel, incidentEntity.CreatedBy)
|
||||
// add default users to the incident
|
||||
err = i.addDefaultUsersToIncident(*channelID, teamEntity, severityEntity)
|
||||
if err != nil {
|
||||
@@ -424,7 +428,7 @@ func buildCreateIncidentRequest(createIncRequest request.CreateIncidentRequest)
|
||||
}
|
||||
|
||||
func (i *incidentService) UpdateIncident(c *gin.Context) {
|
||||
userEmail := c.GetHeader("X-User-Email")
|
||||
userEmail := c.GetHeader("X-User-Email")
|
||||
|
||||
var updateIncidentRequest request.UpdateIncidentRequest
|
||||
if err := c.ShouldBindJSON(&updateIncidentRequest); err != nil {
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package service
|
||||
|
||||
type IncidentFilters struct {
|
||||
TeamIds string
|
||||
SeverityIds string
|
||||
StatusIds string
|
||||
PageSize int64
|
||||
PageNumber int64
|
||||
}
|
||||
TeamIds string
|
||||
SeverityIds string
|
||||
StatusIds string
|
||||
PageSize int64
|
||||
PageNumber int64
|
||||
IncidentName string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user