Skip to content

Commit cd26b82

Browse files
committed
deployment template get response
1 parent 08570eb commit cd26b82

File tree

2 files changed

+73
-67
lines changed

2 files changed

+73
-67
lines changed

api/restHandler/app/pipeline/configure/DeploymentPipelineRestHandler.go

Lines changed: 2 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,77 +1030,12 @@ func (handler *PipelineConfigRestHandlerImpl) GetDeploymentTemplate(w http.Respo
10301030
common.WriteJsonResp(w, fmt.Errorf("unauthorized user"), "Unauthorized User", http.StatusForbidden)
10311031
return
10321032
}
1033-
1034-
appConfigResponse := make(map[string]interface{})
1035-
appConfigResponse["globalConfig"] = nil
1036-
1037-
err = handler.chartRefService.CheckChartExists(chartRefId)
1038-
if err != nil {
1039-
handler.Logger.Errorw("refChartDir Not Found err, JsonSchemaExtractFromFile", err)
1040-
common.WriteJsonResp(w, err, nil, http.StatusForbidden)
1041-
return
1042-
}
1043-
1044-
schema, readme, err := handler.chartRefService.GetSchemaAndReadmeForTemplateByChartRefId(chartRefId)
1033+
appConfigResponse, err := handler.chartService.GetDeploymentTemplateDataByAppIdAndCharRefId(appId, chartRefId)
10451034
if err != nil {
1046-
handler.Logger.Errorw("err in getting schema and readme, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1047-
}
1048-
1049-
template, err := handler.chartService.FindLatestChartForAppByAppId(appId)
1050-
if err != nil && pg.ErrNoRows != err {
1051-
handler.Logger.Errorw("service err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1035+
handler.Logger.Error("service err, GetDeploymentTemplateDataByAppIdAndCharRefId", "appId", appId, "chartRefId", chartRefId, "err", err)
10521036
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
10531037
return
10541038
}
1055-
1056-
if pg.ErrNoRows == err {
1057-
appOverride, _, err := handler.chartRefService.GetAppOverrideForDefaultTemplate(chartRefId)
1058-
if err != nil {
1059-
handler.Logger.Errorw("service err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1060-
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
1061-
return
1062-
}
1063-
appOverride["schema"] = json.RawMessage(schema)
1064-
appOverride["readme"] = string(readme)
1065-
mapB, err := json.Marshal(appOverride)
1066-
if err != nil {
1067-
handler.Logger.Errorw("marshal err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1068-
return
1069-
}
1070-
appConfigResponse["globalConfig"] = json.RawMessage(mapB)
1071-
} else {
1072-
if template.ChartRefId != chartRefId {
1073-
templateRequested, err := handler.chartService.GetByAppIdAndChartRefId(appId, chartRefId)
1074-
if err != nil && err != pg.ErrNoRows {
1075-
handler.Logger.Errorw("service err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1076-
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
1077-
return
1078-
}
1079-
1080-
if pg.ErrNoRows == err {
1081-
template.ChartRefId = chartRefId
1082-
template.Id = 0
1083-
template.Latest = false
1084-
} else {
1085-
template.ChartRefId = templateRequested.ChartRefId
1086-
template.Id = templateRequested.Id
1087-
template.ChartRepositoryId = templateRequested.ChartRepositoryId
1088-
template.RefChartTemplate = templateRequested.RefChartTemplate
1089-
template.RefChartTemplateVersion = templateRequested.RefChartTemplateVersion
1090-
template.Latest = templateRequested.Latest
1091-
}
1092-
}
1093-
template.Schema = schema
1094-
template.Readme = string(readme)
1095-
bytes, err := json.Marshal(template)
1096-
if err != nil {
1097-
handler.Logger.Errorw("marshal err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1098-
return
1099-
}
1100-
appOverride := json.RawMessage(bytes)
1101-
appConfigResponse["globalConfig"] = appOverride
1102-
}
1103-
11041039
common.WriteJsonResp(w, nil, appConfigResponse, http.StatusOK)
11051040
}
11061041

pkg/chart/ChartService.go

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ type ChartService interface {
7272
IsGitOpsRepoConfiguredForDevtronApp(appId int) (bool, error)
7373
IsGitOpsRepoConfiguredForDevtronApps(appIds []int) (map[int]bool, error)
7474
IsGitOpsRepoAlreadyRegistered(gitOpsRepoUrl string) (bool, error)
75+
76+
GetDeploymentTemplateDataByAppIdAndCharRefId(appId, chartRefId int) (map[string]interface{}, error)
7577
}
7678

7779
type ChartServiceImpl struct {
@@ -1073,3 +1075,72 @@ func (impl *ChartServiceImpl) IsGitOpsRepoAlreadyRegistered(gitOpsRepoUrl string
10731075
impl.logger.Errorw("repository is already in use for devtron app", "repoUrl", gitOpsRepoUrl, "appId", chartModel.AppId)
10741076
return true, nil
10751077
}
1078+
1079+
func (impl *ChartServiceImpl) GetDeploymentTemplateDataByAppIdAndCharRefId(appId, chartRefId int) (map[string]interface{}, error) {
1080+
appConfigResponse := make(map[string]interface{})
1081+
appConfigResponse["globalConfig"] = nil
1082+
1083+
err := impl.chartRefService.CheckChartExists(chartRefId)
1084+
if err != nil {
1085+
impl.logger.Errorw("refChartDir Not Found err, JsonSchemaExtractFromFile", err)
1086+
return nil, err
1087+
}
1088+
1089+
schema, readme, err := impl.chartRefService.GetSchemaAndReadmeForTemplateByChartRefId(chartRefId)
1090+
if err != nil {
1091+
impl.logger.Errorw("err in getting schema and readme, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1092+
}
1093+
1094+
template, err := impl.FindLatestChartForAppByAppId(appId)
1095+
if err != nil && pg.ErrNoRows != err {
1096+
impl.logger.Errorw("service err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1097+
return nil, err
1098+
}
1099+
1100+
if pg.ErrNoRows == err {
1101+
appOverride, _, err := impl.chartRefService.GetAppOverrideForDefaultTemplate(chartRefId)
1102+
if err != nil {
1103+
impl.logger.Errorw("service err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1104+
return nil, err
1105+
}
1106+
appOverride["schema"] = json.RawMessage(schema)
1107+
appOverride["readme"] = string(readme)
1108+
mapB, err := json.Marshal(appOverride)
1109+
if err != nil {
1110+
impl.logger.Errorw("marshal err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1111+
return nil, err
1112+
}
1113+
appConfigResponse["globalConfig"] = json.RawMessage(mapB)
1114+
} else {
1115+
if template.ChartRefId != chartRefId {
1116+
templateRequested, err := impl.GetByAppIdAndChartRefId(appId, chartRefId)
1117+
if err != nil && err != pg.ErrNoRows {
1118+
impl.logger.Errorw("service err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1119+
return nil, err
1120+
}
1121+
1122+
if pg.ErrNoRows == err {
1123+
template.ChartRefId = chartRefId
1124+
template.Id = 0
1125+
template.Latest = false
1126+
} else {
1127+
template.ChartRefId = templateRequested.ChartRefId
1128+
template.Id = templateRequested.Id
1129+
template.ChartRepositoryId = templateRequested.ChartRepositoryId
1130+
template.RefChartTemplate = templateRequested.RefChartTemplate
1131+
template.RefChartTemplateVersion = templateRequested.RefChartTemplateVersion
1132+
template.Latest = templateRequested.Latest
1133+
}
1134+
}
1135+
template.Schema = schema
1136+
template.Readme = string(readme)
1137+
bytes, err := json.Marshal(template)
1138+
if err != nil {
1139+
impl.logger.Errorw("marshal err, GetDeploymentTemplate", "err", err, "appId", appId, "chartRefId", chartRefId)
1140+
return nil, err
1141+
}
1142+
appOverride := json.RawMessage(bytes)
1143+
appConfigResponse["globalConfig"] = appOverride
1144+
}
1145+
return appConfigResponse, nil
1146+
}

0 commit comments

Comments
 (0)