@@ -375,7 +375,8 @@ func (impl *DeploymentConfigurationServiceImpl) getConfigDataForAppConfiguration
375375 return configDataDto , nil
376376}
377377
378- func (impl * DeploymentConfigurationServiceImpl ) getCmCsEditDataForPublishedOnly (configDataQueryParams * bean2.ConfigDataQueryParams , envId , appId int ) (* bean2.DeploymentAndCmCsConfigDto , error ) {
378+ func (impl * DeploymentConfigurationServiceImpl ) getCmCsEditDataForPublishedOnly (ctx context.Context , configDataQueryParams * bean2.ConfigDataQueryParams , envId ,
379+ appId int , clusterId int , userHasAdminAccess bool , systemMetadata * resourceQualifiers.SystemMetadata ) (* bean2.DeploymentAndCmCsConfigDto , error ) {
379380 configDataDto := & bean2.DeploymentAndCmCsConfigDto {}
380381
381382 var resourceType bean.ResourceType
@@ -401,11 +402,29 @@ func (impl *DeploymentConfigurationServiceImpl) getCmCsEditDataForPublishedOnly(
401402 impl .logger .Errorw ("getCmCsEditDataForPublishedOnly, error in converting to json raw message" , "configDataQueryParams" , configDataQueryParams , "err" , err )
402403 return nil , err
403404 }
405+ resolvedCmCsMetadataDto , err := impl .ResolveCmCs (ctx , envId , appId , clusterId , userHasAdminAccess , configDataQueryParams .ResourceName , resourceType , systemMetadata )
406+ if err != nil {
407+ impl .logger .Errorw ("error in resolving cm and cs for published only config only response" , "appId" , appId , "envId" , envId , "err" , err )
408+ return nil , err
409+ }
404410
405411 cmCsConfig := bean2 .NewDeploymentAndCmCsConfig ().WithConfigData (respJson ).WithResourceType (resourceType )
412+
406413 if resourceType == bean .CS {
414+ resolvedConfigDataStringJson , err := utils .ConvertToJsonRawMessage (resolvedCmCsMetadataDto .ResolvedSecretData )
415+ if err != nil {
416+ impl .logger .Errorw ("getCmCsPublishedConfigResponse, error in ConvertToJsonRawMessage " , "err" , err )
417+ return nil , err
418+ }
419+ cmCsConfig .WithResolvedValue (resolvedConfigDataStringJson ).WithVariableSnapshot (resolvedCmCsMetadataDto .VariableMapCS )
407420 configDataDto .WithSecretData (cmCsConfig )
408421 } else if resourceType == bean .CM {
422+ resolvedConfigDataStringJson , err := utils .ConvertToJsonRawMessage (resolvedCmCsMetadataDto .ResolvedConfigMapData )
423+ if err != nil {
424+ impl .logger .Errorw ("getCmCsPublishedConfigResponse, error in ConvertToJsonRawMessage for resolvedJson" , "ResolvedConfigMapData" , resolvedCmCsMetadataDto .ResolvedConfigMapData , "err" , err )
425+ return nil , err
426+ }
427+ cmCsConfig .WithResolvedValue (resolvedConfigDataStringJson ).WithVariableSnapshot (resolvedCmCsMetadataDto .VariableMapCM )
409428 configDataDto .WithConfigMapData (cmCsConfig )
410429 }
411430 return configDataDto , nil
@@ -439,7 +458,7 @@ func (impl *DeploymentConfigurationServiceImpl) getCmCsPublishedConfigResponse(c
439458 return nil , err
440459 }
441460
442- resolvedCmCsMetadataDto , err := impl .ResolveCmCs (ctx , envId , appId , clusterId , userHasAdminAccess , systemMetadata )
461+ resolvedCmCsMetadataDto , err := impl .ResolveCmCs (ctx , envId , appId , clusterId , userHasAdminAccess , "" , "" , systemMetadata )
443462 if err != nil {
444463 impl .logger .Errorw ("error in resolving cm and cs for published only config only response" , "appId" , appId , "envId" , envId , "err" , err )
445464 return nil , err
@@ -508,7 +527,8 @@ func (impl *DeploymentConfigurationServiceImpl) getMergedCmCs(envId, appId int)
508527 }, nil
509528}
510529
511- func (impl * DeploymentConfigurationServiceImpl ) ResolveCmCs (ctx context.Context , envId , appId , clusterId int , userHasAdminAccess bool , systemMetadata * resourceQualifiers.SystemMetadata ) (* bean2.ResolvedCmCsMetadataDto , error ) {
530+ func (impl * DeploymentConfigurationServiceImpl ) ResolveCmCs (ctx context.Context , envId , appId , clusterId int , userHasAdminAccess bool ,
531+ resourceName string , resourceType bean.ResourceType , systemMetadata * resourceQualifiers.SystemMetadata ) (* bean2.ResolvedCmCsMetadataDto , error ) {
512532 scope := resourceQualifiers.Scope {
513533 AppId : appId ,
514534 EnvId : envId ,
@@ -520,6 +540,10 @@ func (impl *DeploymentConfigurationServiceImpl) ResolveCmCs(ctx context.Context,
520540 impl .logger .Errorw ("error in getting merged cm cs" , "appId" , appId , "envId" , envId , "err" , err )
521541 return nil , err
522542 }
543+ // if resourceName is provided then, resolve cmcs request is for single resource, then remove other data from merged cmCs
544+ if len (resourceName ) > 0 {
545+ helper .FilterOutMergedCmCsForResourceName (cmcsMetadataDto , resourceName , resourceType )
546+ }
523547 resolvedConfigList , resolvedSecretList , variableMapCM , variableMapCS , err := impl .scopedVariableManager .ResolveCMCS (ctx , scope , cmcsMetadataDto .ConfigAppLevelId , cmcsMetadataDto .ConfigEnvLevelId , cmcsMetadataDto .CmMap , cmcsMetadataDto .SecretMap )
524548 if err != nil {
525549 impl .logger .Errorw ("error in resolving CM/CS" , "scope" , scope , "appId" , appId , "envId" , envId , "err" , err )
@@ -617,7 +641,7 @@ func (impl *DeploymentConfigurationServiceImpl) getPublishedConfigData(ctx conte
617641 appId , envId , clusterId int , userHasAdminAccess bool , systemMetadata * resourceQualifiers.SystemMetadata ) (* bean2.DeploymentAndCmCsConfigDto , error ) {
618642
619643 if configDataQueryParams .IsRequestMadeForOneResource () {
620- return impl .getCmCsEditDataForPublishedOnly (configDataQueryParams , envId , appId )
644+ return impl .getCmCsEditDataForPublishedOnly (ctx , configDataQueryParams , envId , appId , clusterId , userHasAdminAccess , systemMetadata )
621645 }
622646 //ConfigMapsData and SecretsData are populated here
623647 configData , err := impl .getCmCsPublishedConfigResponse (ctx , envId , appId , clusterId , userHasAdminAccess , systemMetadata )
0 commit comments