INFRA-3705 : Creation of RCA ticket for sev-0 non-escalated non-CX incidents (#456)

* INFRA-3705 : Creation of RCA ticket for sev-0 non-escalated non-CX incidents

* INFRA-3705 : Self review

* INFRA-3705 : Fix tests:

* INFRA-3705 : UT's and minor constant changes

* INFRA-3705 : Add migration script
This commit is contained in:
Vijay Joshi
2024-09-17 10:01:07 +05:30
committed by GitHub
parent 5c46ee2406
commit fd2a977e82
35 changed files with 1106 additions and 107 deletions

View File

@@ -5,6 +5,7 @@ import (
"github.com/spf13/viper"
"gorm.io/gorm"
"houston/model/incident"
incidentJiraModel "houston/model/incident_jira"
"houston/model/incident_products"
"houston/model/log"
productModel "houston/model/product"
@@ -29,11 +30,13 @@ import (
teamUserSeverityRepo "houston/repository/teamUserSeverity"
"houston/service/conference"
"houston/service/documentService"
"houston/service/externalTeam"
"houston/service/google"
incidentService "houston/service/incident/impl"
"houston/service/incidentProducts"
"houston/service/incidentStatus"
"houston/service/incidentUser"
"houston/service/incident_jira"
"houston/service/products"
"houston/service/productsTeams"
rcaService "houston/service/rca/impl"
@@ -88,6 +91,8 @@ type houstonServices struct {
incidentUserService incidentUser.IncidentUserService
requestStatusService requestStatus.RequestStatusService
tagValueService tagValue.TagValueService
incidentJiraService incident_jira.IncidentJiraService
externalTeamService externalTeam.ExternalTeamService
}
var appContext *applicationContext
@@ -108,6 +113,8 @@ func InitializeServices() {
incidentStatusService := initIncidentStatusService()
teamUserService := initTeamUserService()
requestStatusService := initRequestStatusService()
externalTeamService := initExternalTeamService()
incidentJiraService := initIncidentJiraService(externalTeamService)
services = &houstonServices{
logRepo: logRepo,
teamRepo: teamRepo,
@@ -133,6 +140,8 @@ func InitializeServices() {
incidentStatusService: incidentStatusService,
requestStatusService: requestStatusService,
tagValueService: initTagValueService(),
externalTeamService: externalTeamService,
incidentJiraService: incidentJiraService,
}
services.userService = initUserService()
services.teamService = initTeamService()
@@ -278,7 +287,7 @@ func GetDocumentService() *documentService.ActionsImpl {
func initRCAService() *rcaService.RcaService {
rcaService := rcaService.NewRcaService(
initIncidentService(), initSlackService(), initDocumentService(),
initRCARepo(), initRCAInputRepo(), initUserRepo(), initDriveService(),
initRCARepo(), initRCAInputRepo(), initUserRepo(), initDriveService(), initIncidentJiraService(initExternalTeamService()),
)
return rcaService
}
@@ -422,3 +431,19 @@ func initTagValueService() tagValue.TagValueService {
func GetTagValueService() tagValue.TagValueService {
return services.tagValueService
}
func initIncidentJiraService(externalTeamService externalTeam.ExternalTeamService) incident_jira.IncidentJiraService {
return incident_jira.NewIncidentJiraService(incidentJiraModel.NewIncidentJiraRepo(GetDB()), externalTeamService)
}
func GetIncidentJiraService() incident_jira.IncidentJiraService {
return services.incidentJiraService
}
func initExternalTeamService() externalTeam.ExternalTeamService {
return externalTeam.NewExternalTeamService(externalTeamRepo.NewExternalTeamRepository(GetDB()))
}
func GetExternalTeamService() externalTeam.ExternalTeamService {
return services.externalTeamService
}