@@ -41,7 +41,6 @@ import (
4141 "github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin"
4242 "github.com/devtron-labs/devtron/pkg/bean"
4343 "github.com/devtron-labs/devtron/pkg/generateManifest"
44- "github.com/devtron-labs/devtron/pkg/pipeline"
4544 pipelineBean "github.com/devtron-labs/devtron/pkg/pipeline/bean"
4645 resourceGroup2 "github.com/devtron-labs/devtron/pkg/resourceGroup"
4746 "github.com/devtron-labs/devtron/pkg/resourceQualifiers"
@@ -718,48 +717,22 @@ func (handler *PipelineConfigRestHandlerImpl) EnvConfigOverrideCreate(w http.Res
718717 return
719718 }
720719
721- createResp , err := handler .propertiesConfigService .CreateEnvironmentProperties (appId , & envConfigProperties )
722- if err != nil {
723- if err .Error () == bean4 .NOCHARTEXIST {
724- ctx , cancel := context .WithCancel (r .Context ())
725- if cn , ok := w .(http.CloseNotifier ); ok {
726- go func (done <- chan struct {}, closed <- chan bool ) {
727- select {
728- case <- done :
729- case <- closed :
730- cancel ()
731- }
732- }(ctx .Done (), cn .CloseNotify ())
733- }
734- appMetrics := false
735- if envConfigProperties .AppMetrics != nil {
736- appMetrics = * envConfigProperties .AppMetrics
737- }
738- templateRequest := bean3.TemplateRequest {
739- AppId : appId ,
740- ChartRefId : envConfigProperties .ChartRefId ,
741- ValuesOverride : []byte ("{}" ),
742- UserId : userId ,
743- IsAppMetricsEnabled : appMetrics ,
720+ ctx , cancel := context .WithCancel (r .Context ())
721+ if cn , ok := w .(http.CloseNotifier ); ok {
722+ go func (done <- chan struct {}, closed <- chan bool ) {
723+ select {
724+ case <- done :
725+ case <- closed :
726+ cancel ()
744727 }
728+ }(ctx .Done (), cn .CloseNotify ())
729+ }
745730
746- _ , err = handler .chartService .CreateChartFromEnvOverride (templateRequest , ctx )
747- if err != nil {
748- handler .Logger .Errorw ("service err, EnvConfigOverrideCreate" , "err" , err , "payload" , envConfigProperties )
749- common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
750- return
751- }
752- createResp , err = handler .propertiesConfigService .CreateEnvironmentProperties (appId , & envConfigProperties )
753- if err != nil {
754- handler .Logger .Errorw ("service err, EnvConfigOverrideCreate" , "err" , err , "payload" , envConfigProperties )
755- common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
756- return
757- }
758- } else {
759- handler .Logger .Errorw ("service err, EnvConfigOverrideCreate" , "err" , err , "payload" , envConfigProperties )
760- common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
761- return
762- }
731+ createResp , err := handler .propertiesConfigService .CreateEnvironmentPropertiesAndBaseIfNeeded (ctx , appId , & envConfigProperties )
732+ if err != nil {
733+ handler .Logger .Errorw ("service err, CreateEnvironmentPropertiesAndBaseIfNeeded" , "payload" , envConfigProperties , "err" , err )
734+ common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
735+ return
763736 }
764737 common .WriteJsonResp (w , err , createResp , http .StatusOK )
765738}
@@ -1037,77 +1010,12 @@ func (handler *PipelineConfigRestHandlerImpl) GetDeploymentTemplate(w http.Respo
10371010 common .WriteJsonResp (w , fmt .Errorf ("unauthorized user" ), "Unauthorized User" , http .StatusForbidden )
10381011 return
10391012 }
1040-
1041- appConfigResponse := make (map [string ]interface {})
1042- appConfigResponse ["globalConfig" ] = nil
1043-
1044- err = handler .chartRefService .CheckChartExists (chartRefId )
1013+ appConfigResponse , err := handler .chartService .GetDeploymentTemplateDataByAppIdAndCharRefId (appId , chartRefId )
10451014 if err != nil {
10461015 handler .Logger .Errorw ("refChartDir Not Found err, JsonSchemaExtractFromFile" , err )
10471016 common .WriteJsonResp (w , err , nil , http .StatusForbidden )
10481017 return
10491018 }
1050-
1051- schema , readme , err := handler .chartRefService .GetSchemaAndReadmeForTemplateByChartRefId (chartRefId )
1052- if err != nil {
1053- handler .Logger .Errorw ("err in getting schema and readme, GetDeploymentTemplate" , "err" , err , "appId" , appId , "chartRefId" , chartRefId )
1054- }
1055-
1056- template , err := handler .chartReadService .FindLatestChartForAppByAppId (appId )
1057- if err != nil && pg .ErrNoRows != err {
1058- handler .Logger .Errorw ("service err, GetDeploymentTemplate" , "err" , err , "appId" , appId , "chartRefId" , chartRefId )
1059- common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
1060- return
1061- }
1062-
1063- if pg .ErrNoRows == err {
1064- appOverride , _ , err := handler .chartRefService .GetAppOverrideForDefaultTemplate (chartRefId )
1065- if err != nil {
1066- handler .Logger .Errorw ("service err, GetDeploymentTemplate" , "err" , err , "appId" , appId , "chartRefId" , chartRefId )
1067- common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
1068- return
1069- }
1070- appOverride ["schema" ] = json .RawMessage (schema )
1071- appOverride ["readme" ] = string (readme )
1072- mapB , err := json .Marshal (appOverride )
1073- if err != nil {
1074- handler .Logger .Errorw ("marshal err, GetDeploymentTemplate" , "err" , err , "appId" , appId , "chartRefId" , chartRefId )
1075- return
1076- }
1077- appConfigResponse ["globalConfig" ] = json .RawMessage (mapB )
1078- } else {
1079- if template .ChartRefId != chartRefId {
1080- templateRequested , err := handler .chartService .GetByAppIdAndChartRefId (appId , chartRefId )
1081- if err != nil && err != pg .ErrNoRows {
1082- handler .Logger .Errorw ("service err, GetDeploymentTemplate" , "err" , err , "appId" , appId , "chartRefId" , chartRefId )
1083- common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
1084- return
1085- }
1086-
1087- if pg .ErrNoRows == err {
1088- template .ChartRefId = chartRefId
1089- template .Id = 0
1090- template .Latest = false
1091- } else {
1092- template .ChartRefId = templateRequested .ChartRefId
1093- template .Id = templateRequested .Id
1094- template .ChartRepositoryId = templateRequested .ChartRepositoryId
1095- template .RefChartTemplate = templateRequested .RefChartTemplate
1096- template .RefChartTemplateVersion = templateRequested .RefChartTemplateVersion
1097- template .Latest = templateRequested .Latest
1098- }
1099- }
1100- template .Schema = schema
1101- template .Readme = string (readme )
1102- bytes , err := json .Marshal (template )
1103- if err != nil {
1104- handler .Logger .Errorw ("marshal err, GetDeploymentTemplate" , "err" , err , "appId" , appId , "chartRefId" , chartRefId )
1105- return
1106- }
1107- appOverride := json .RawMessage (bytes )
1108- appConfigResponse ["globalConfig" ] = appOverride
1109- }
1110-
11111019 common .WriteJsonResp (w , nil , appConfigResponse , http .StatusOK )
11121020}
11131021
@@ -1992,15 +1900,9 @@ func (handler *PipelineConfigRestHandlerImpl) GetCdPipelineById(w http.ResponseW
19921900 return
19931901 }
19941902
1995- cdPipeline , err := handler .pipelineBuilder .GetCdPipelineById (pipelineId )
1996- if err != nil {
1997- handler .Logger .Errorw ("service err, GetCdPipelineById" , "err" , err , "appId" , appId , "pipelineId" , pipelineId )
1998- common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
1999- return
2000- }
2001- cdResp , err := pipeline .CreatePreAndPostStageResponse (cdPipeline , version )
1903+ cdResp , err := handler .pipelineBuilder .GetCdPipelineByIdResolved (pipelineId , version )
20021904 if err != nil {
2003- handler .Logger .Errorw ("service err, CheckForVersionAndCreatePreAndPostStagePayload " , "err " , err , "appId " , appId , "pipelineId " , pipelineId )
1905+ handler .Logger .Errorw ("service err, GetCdPipelineByIdResolved " , "appId " , appId , "pipelineId " , pipelineId , "err " , err )
20041906 common .WriteJsonResp (w , err , nil , http .StatusInternalServerError )
20051907 return
20061908 }
0 commit comments