From 661c829ca9cd10cf91114fa9276659e4c8f3b4bf Mon Sep 17 00:00:00 2001 From: ashish sonam Date: Fri, 22 Sep 2023 19:33:44 +0530 Subject: [PATCH] soft delete chart-group deployment --- .../service/AppStoreDeploymentService.go | 17 ++++++++++++++++- wire_gen.go | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/pkg/appStore/deployment/service/AppStoreDeploymentService.go b/pkg/appStore/deployment/service/AppStoreDeploymentService.go index 6c7e5335d3..752e2f8aeb 100644 --- a/pkg/appStore/deployment/service/AppStoreDeploymentService.go +++ b/pkg/appStore/deployment/service/AppStoreDeploymentService.go @@ -87,6 +87,7 @@ func GetDeploymentServiceTypeConfig() (*DeploymentServiceTypeConfig, error) { type AppStoreDeploymentServiceImpl struct { logger *zap.SugaredLogger installedAppRepository repository.InstalledAppRepository + chartGroupDeploymentRepository repository.ChartGroupDeploymentRepository appStoreApplicationVersionRepository appStoreDiscoverRepository.AppStoreApplicationVersionRepository environmentRepository clusterRepository.EnvironmentRepository clusterInstalledAppsRepository repository.ClusterInstalledAppsRepository @@ -105,7 +106,7 @@ type AppStoreDeploymentServiceImpl struct { } func NewAppStoreDeploymentServiceImpl(logger *zap.SugaredLogger, installedAppRepository repository.InstalledAppRepository, - appStoreApplicationVersionRepository appStoreDiscoverRepository.AppStoreApplicationVersionRepository, environmentRepository clusterRepository.EnvironmentRepository, + chartGroupDeploymentRepository repository.ChartGroupDeploymentRepository, appStoreApplicationVersionRepository appStoreDiscoverRepository.AppStoreApplicationVersionRepository, environmentRepository clusterRepository.EnvironmentRepository, clusterInstalledAppsRepository repository.ClusterInstalledAppsRepository, appRepository app.AppRepository, appStoreDeploymentHelmService appStoreDeploymentTool.AppStoreDeploymentHelmService, appStoreDeploymentArgoCdService appStoreDeploymentGitopsTool.AppStoreDeploymentArgoCdService, environmentService cluster.EnvironmentService, @@ -116,6 +117,7 @@ func NewAppStoreDeploymentServiceImpl(logger *zap.SugaredLogger, installedAppRep return &AppStoreDeploymentServiceImpl{ logger: logger, installedAppRepository: installedAppRepository, + chartGroupDeploymentRepository: chartGroupDeploymentRepository, appStoreApplicationVersionRepository: appStoreApplicationVersionRepository, environmentRepository: environmentRepository, clusterInstalledAppsRepository: clusterInstalledAppsRepository, @@ -796,6 +798,19 @@ func (impl AppStoreDeploymentServiceImpl) DeleteInstalledApp(ctx context.Context } } + // soft delete chart-group deployment + chartGroupDeployment, err := impl.chartGroupDeploymentRepository.FindByInstalledAppId(model.Id) + if err != nil { + impl.logger.Errorw("error while fetching chart group deployment", "error", err) + return nil, err + } + chartGroupDeployment.Deleted = true + _, err = impl.chartGroupDeploymentRepository.Update(chartGroupDeployment, tx) + if err != nil { + impl.logger.Errorw("error while updating chart group deployment", "error", err) + return nil, err + } + if util2.IsBaseStack() || util2.IsHelmApp(app.AppOfferingMode) || util.IsHelmApp(model.DeploymentAppType) { // there might be a case if helm release gets uninstalled from helm cli. //in this case on deleting the app from API, it should not give error as it should get deleted from db, otherwise due to delete error, db does not get clean diff --git a/wire_gen.go b/wire_gen.go index 37feb1f442..dd6cfacd9f 100644 --- a/wire_gen.go +++ b/wire_gen.go @@ -384,7 +384,7 @@ func InitializeApp() (*App, error) { if err != nil { return nil, err } - appStoreDeploymentServiceImpl := service.NewAppStoreDeploymentServiceImpl(sugaredLogger, installedAppRepositoryImpl, appStoreApplicationVersionRepositoryImpl, environmentRepositoryImpl, clusterInstalledAppsRepositoryImpl, appRepositoryImpl, appStoreDeploymentHelmServiceImpl, appStoreDeploymentArgoCdServiceImpl, environmentServiceImpl, clusterServiceImplExtended, helmAppServiceImpl, appStoreDeploymentCommonServiceImpl, globalEnvVariables, installedAppVersionHistoryRepositoryImpl, gitOpsConfigRepositoryImpl, attributesServiceImpl, deploymentServiceTypeConfig, chartTemplateServiceImpl) + appStoreDeploymentServiceImpl := service.NewAppStoreDeploymentServiceImpl(sugaredLogger, installedAppRepositoryImpl, chartGroupDeploymentRepositoryImpl, appStoreApplicationVersionRepositoryImpl, environmentRepositoryImpl, clusterInstalledAppsRepositoryImpl, appRepositoryImpl, appStoreDeploymentHelmServiceImpl, appStoreDeploymentArgoCdServiceImpl, environmentServiceImpl, clusterServiceImplExtended, helmAppServiceImpl, appStoreDeploymentCommonServiceImpl, globalEnvVariables, installedAppVersionHistoryRepositoryImpl, gitOpsConfigRepositoryImpl, attributesServiceImpl, deploymentServiceTypeConfig, chartTemplateServiceImpl) k8sCommonServiceImpl := k8s2.NewK8sCommonServiceImpl(sugaredLogger, k8sUtil, clusterServiceImplExtended) manifestPushConfigRepositoryImpl := repository10.NewManifestPushConfigRepository(sugaredLogger, db) gitOpsManifestPushServiceImpl := app2.NewGitOpsManifestPushServiceImpl(sugaredLogger, chartTemplateServiceImpl, chartServiceImpl, gitOpsConfigRepositoryImpl, gitFactory, pipelineStatusTimelineServiceImpl)