Skip to content

Commit 757fba3

Browse files
chore: Read service/git provider (#6091)
* refactoring part 1 * refactoring * refactoring git provider * git host refactring * wire * removed unused dep * unsed dep removed * review comments * review comments
1 parent 02a13e3 commit 757fba3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+737
-614
lines changed

Wire.go

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ import (
140140
"github.com/devtron-labs/devtron/pkg/dockerRegistry"
141141
"github.com/devtron-labs/devtron/pkg/eventProcessor"
142142
"github.com/devtron-labs/devtron/pkg/generateManifest"
143-
"github.com/devtron-labs/devtron/pkg/git"
144143
"github.com/devtron-labs/devtron/pkg/gitops"
145144
"github.com/devtron-labs/devtron/pkg/imageDigestPolicy"
146145
infraConfigService "github.com/devtron-labs/devtron/pkg/infraConfig"
@@ -379,11 +378,6 @@ func InitializeApp() (*App, error) {
379378
pipeline.NewCustomTagService,
380379
wire.Bind(new(pipeline.CustomTagService), new(*pipeline.CustomTagServiceImpl)),
381380

382-
repository.NewGitProviderRepositoryImpl,
383-
wire.Bind(new(repository.GitProviderRepository), new(*repository.GitProviderRepositoryImpl)),
384-
pipeline.NewGitRegistryConfigImpl,
385-
wire.Bind(new(pipeline.GitRegistryConfig), new(*pipeline.GitRegistryConfigImpl)),
386-
387381
appList.NewAppFilteringRouterImpl,
388382
wire.Bind(new(appList.AppFilteringRouter), new(*appList.AppFilteringRouterImpl)),
389383
appList2.NewAppFilteringRestHandlerImpl,
@@ -497,12 +491,6 @@ func InitializeApp() (*App, error) {
497491
restHandler.NewGitWebhookRestHandlerImpl,
498492
wire.Bind(new(restHandler.GitWebhookRestHandler), new(*restHandler.GitWebhookRestHandlerImpl)),
499493

500-
git.NewGitWebhookServiceImpl,
501-
wire.Bind(new(git.GitWebhookService), new(*git.GitWebhookServiceImpl)),
502-
503-
repository.NewGitWebhookRepositoryImpl,
504-
wire.Bind(new(repository.GitWebhookRepository), new(*repository.GitWebhookRepositoryImpl)),
505-
506494
pipeline.NewCiHandlerImpl,
507495
wire.Bind(new(pipeline.CiHandler), new(*pipeline.CiHandlerImpl)),
508496

@@ -745,8 +733,6 @@ func InitializeApp() (*App, error) {
745733
wire.Bind(new(restHandler.CoreAppRestHandler), new(*restHandler.CoreAppRestHandlerImpl)),
746734

747735
// Webhook
748-
repository.NewGitHostRepositoryImpl,
749-
wire.Bind(new(repository.GitHostRepository), new(*repository.GitHostRepositoryImpl)),
750736
restHandler.NewGitHostRestHandlerImpl,
751737
wire.Bind(new(restHandler.GitHostRestHandler), new(*restHandler.GitHostRestHandlerImpl)),
752738
restHandler.NewWebhookEventHandlerImpl,
@@ -755,10 +741,6 @@ func InitializeApp() (*App, error) {
755741
wire.Bind(new(router.GitHostRouter), new(*router.GitHostRouterImpl)),
756742
router.NewWebhookListenerRouterImpl,
757743
wire.Bind(new(router.WebhookListenerRouter), new(*router.WebhookListenerRouterImpl)),
758-
git.NewWebhookSecretValidatorImpl,
759-
wire.Bind(new(git.WebhookSecretValidator), new(*git.WebhookSecretValidatorImpl)),
760-
pipeline.NewGitHostConfigImpl,
761-
wire.Bind(new(pipeline.GitHostConfig), new(*pipeline.GitHostConfigImpl)),
762744
repository.NewWebhookEventDataRepositoryImpl,
763745
wire.Bind(new(repository.WebhookEventDataRepository), new(*repository.WebhookEventDataRepositoryImpl)),
764746
pipeline.NewWebhookEventDataConfigImpl,

api/restHandler/BulkUpdateRestHandler.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"context"
2121
"encoding/json"
2222
"fmt"
23+
"github.com/devtron-labs/devtron/pkg/build/git/gitProvider"
2324
"net/http"
2425
"strconv"
2526
"strings"
@@ -77,7 +78,7 @@ type BulkUpdateRestHandlerImpl struct {
7778
appWorkflowService appWorkflow.AppWorkflowService
7879
enforcerUtil rbac.EnforcerUtil
7980
envService request.EnvironmentService
80-
gitRegistryConfig pipeline.GitRegistryConfig
81+
gitRegistryConfig gitProvider.GitRegistryConfig
8182
dockerRegistryConfig pipeline.DockerRegistryConfig
8283
cdHandelr pipeline.CdHandler
8384
appCloneService appClone.AppCloneService
@@ -100,7 +101,7 @@ func NewBulkUpdateRestHandlerImpl(pipelineBuilder pipeline.PipelineBuilder, logg
100101
gitSensorClient gitSensor.Client,
101102
ciPipelineRepository pipelineConfig.CiPipelineRepository, pipelineRepository pipelineConfig.PipelineRepository,
102103
enforcerUtil rbac.EnforcerUtil, envService request.EnvironmentService,
103-
gitRegistryConfig pipeline.GitRegistryConfig, dockerRegistryConfig pipeline.DockerRegistryConfig,
104+
gitRegistryConfig gitProvider.GitRegistryConfig, dockerRegistryConfig pipeline.DockerRegistryConfig,
104105
cdHandelr pipeline.CdHandler,
105106
appCloneService appClone.AppCloneService,
106107
appWorkflowService appWorkflow.AppWorkflowService,

api/restHandler/CoreAppRestHandler.go

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@ import (
2222
"errors"
2323
"fmt"
2424
app2 "github.com/devtron-labs/devtron/api/restHandler/app/pipeline/configure"
25+
"github.com/devtron-labs/devtron/internal/sql/constants"
2526
appWorkflowBean "github.com/devtron-labs/devtron/pkg/appWorkflow/bean"
27+
"github.com/devtron-labs/devtron/pkg/build/git/gitProvider"
28+
"github.com/devtron-labs/devtron/pkg/build/git/gitProvider/read"
2629
pipelineBean "github.com/devtron-labs/devtron/pkg/build/pipeline/bean"
2730
"net/http"
2831
"strconv"
@@ -32,7 +35,6 @@ import (
3235
appBean "github.com/devtron-labs/devtron/api/appbean"
3336
"github.com/devtron-labs/devtron/api/restHandler/common"
3437
"github.com/devtron-labs/devtron/internal/sql/models"
35-
"github.com/devtron-labs/devtron/internal/sql/repository"
3638
appWorkflow2 "github.com/devtron-labs/devtron/internal/sql/repository/appWorkflow"
3739
"github.com/devtron-labs/devtron/internal/sql/repository/chartConfig"
3840
"github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig"
@@ -82,14 +84,14 @@ type CoreAppRestHandlerImpl struct {
8284
enforcer casbin.Enforcer
8385
appCrudOperationService app.AppCrudOperationService
8486
pipelineBuilder pipeline.PipelineBuilder
85-
gitRegistryService pipeline.GitRegistryConfig
87+
gitRegistryService gitProvider.GitRegistryConfig
88+
gitProviderReadService read.GitProviderReadService
8689
chartService chart.ChartService
8790
configMapService pipeline.ConfigMapService
8891
appListingService app.AppListingService
8992
propertiesConfigService pipeline.PropertiesConfigService
9093
appWorkflowService appWorkflow.AppWorkflowService
9194
materialRepository pipelineConfig.MaterialRepository
92-
gitProviderRepo repository.GitProviderRepository
9395
appWorkflowRepository appWorkflow2.AppWorkflowRepository
9496
environmentRepository repository2.EnvironmentRepository
9597
configMapRepository chartConfig.ConfigMapRepository
@@ -101,13 +103,14 @@ type CoreAppRestHandlerImpl struct {
101103
}
102104

103105
func NewCoreAppRestHandlerImpl(logger *zap.SugaredLogger, userAuthService user.UserService, validator *validator.Validate, enforcerUtil rbac.EnforcerUtil,
104-
enforcer casbin.Enforcer, appCrudOperationService app.AppCrudOperationService, pipelineBuilder pipeline.PipelineBuilder, gitRegistryService pipeline.GitRegistryConfig,
106+
enforcer casbin.Enforcer, appCrudOperationService app.AppCrudOperationService, pipelineBuilder pipeline.PipelineBuilder, gitRegistryService gitProvider.GitRegistryConfig,
105107
chartService chart.ChartService, configMapService pipeline.ConfigMapService, appListingService app.AppListingService,
106108
propertiesConfigService pipeline.PropertiesConfigService, appWorkflowService appWorkflow.AppWorkflowService,
107-
materialRepository pipelineConfig.MaterialRepository, gitProviderRepo repository.GitProviderRepository,
109+
materialRepository pipelineConfig.MaterialRepository,
108110
appWorkflowRepository appWorkflow2.AppWorkflowRepository, environmentRepository repository2.EnvironmentRepository, configMapRepository chartConfig.ConfigMapRepository,
109111
chartRepo chartRepoRepository.ChartRepository, teamService team.TeamService,
110-
argoUserService argo.ArgoUserService, pipelineStageService pipeline.PipelineStageService, ciPipelineRepository pipelineConfig.CiPipelineRepository) *CoreAppRestHandlerImpl {
112+
argoUserService argo.ArgoUserService, pipelineStageService pipeline.PipelineStageService, ciPipelineRepository pipelineConfig.CiPipelineRepository,
113+
gitProviderReadService read.GitProviderReadService) *CoreAppRestHandlerImpl {
111114
handler := &CoreAppRestHandlerImpl{
112115
logger: logger,
113116
userAuthService: userAuthService,
@@ -117,13 +120,13 @@ func NewCoreAppRestHandlerImpl(logger *zap.SugaredLogger, userAuthService user.U
117120
appCrudOperationService: appCrudOperationService,
118121
pipelineBuilder: pipelineBuilder,
119122
gitRegistryService: gitRegistryService,
123+
gitProviderReadService: gitProviderReadService,
120124
chartService: chartService,
121125
configMapService: configMapService,
122126
appListingService: appListingService,
123127
propertiesConfigService: propertiesConfigService,
124128
appWorkflowService: appWorkflowService,
125129
materialRepository: materialRepository,
126-
gitProviderRepo: gitProviderRepo,
127130
appWorkflowRepository: appWorkflowRepository,
128131
environmentRepository: environmentRepository,
129132
configMapRepository: configMapRepository,
@@ -478,7 +481,7 @@ func (handler CoreAppRestHandlerImpl) buildAppGitMaterials(appId int) ([]*appBea
478481
var gitMaterialsResp []*appBean.GitMaterial
479482
if len(gitMaterials) > 0 {
480483
for _, gitMaterial := range gitMaterials {
481-
gitRegistry, err := handler.gitRegistryService.FetchOneGitProvider(strconv.Itoa(gitMaterial.GitProviderId))
484+
gitRegistry, err := handler.gitProviderReadService.FetchOneGitProvider(strconv.Itoa(gitMaterial.GitProviderId))
482485
if err != nil {
483486
handler.logger.Errorw("service err, getGitProvider in GetAppAllDetail", "err", err, "appId", appId)
484487
return nil, err, http.StatusInternalServerError
@@ -1278,7 +1281,7 @@ func (handler CoreAppRestHandlerImpl) createGitMaterials(appId int, gitMaterials
12781281
}
12791282

12801283
//finding gitProvider to update gitMaterial
1281-
gitProvider, err := handler.gitProviderRepo.FindByUrl(material.GitProviderUrl)
1284+
gitProvider, err := handler.gitProviderReadService.FindByUrl(material.GitProviderUrl)
12821285
if err != nil {
12831286
handler.logger.Errorw("service err, FindByUrl in CreateGitMaterials", "err", err, "gitProviderUrl", material.GitProviderUrl)
12841287
return err, http.StatusInternalServerError
@@ -1287,7 +1290,7 @@ func (handler CoreAppRestHandlerImpl) createGitMaterials(appId int, gitMaterials
12871290
//validating git material by git provider auth mode
12881291
var hasPrefixResult bool
12891292
var expectedUrlPrefix string
1290-
if gitProvider.AuthMode == repository.AUTH_MODE_SSH {
1293+
if gitProvider.AuthMode == constants.AUTH_MODE_SSH {
12911294
hasPrefixResult = strings.HasPrefix(material.GitRepoUrl, app2.SSH_URL_PREFIX)
12921295
expectedUrlPrefix = app2.SSH_URL_PREFIX
12931296
} else {

api/restHandler/GitHostRestHandler.go

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,17 @@ package restHandler
1919
import (
2020
"context"
2121
"encoding/json"
22+
"github.com/devtron-labs/devtron/pkg/build/git/gitHost"
23+
bean2 "github.com/devtron-labs/devtron/pkg/build/git/gitHost/bean"
24+
read2 "github.com/devtron-labs/devtron/pkg/build/git/gitHost/read"
25+
"github.com/devtron-labs/devtron/pkg/build/git/gitProvider/read"
2226
"net/http"
2327
"strconv"
2428

2529
"github.com/devtron-labs/devtron/api/restHandler/common"
2630
"github.com/devtron-labs/devtron/client/gitSensor"
2731
"github.com/devtron-labs/devtron/pkg/auth/authorisation/casbin"
2832
"github.com/devtron-labs/devtron/pkg/auth/user"
29-
"github.com/devtron-labs/devtron/pkg/pipeline"
30-
"github.com/devtron-labs/devtron/pkg/pipeline/types"
3133
"github.com/gorilla/mux"
3234
"go.uber.org/zap"
3335
"gopkg.in/go-playground/validator.v9"
@@ -43,26 +45,30 @@ type GitHostRestHandler interface {
4345
}
4446

4547
type GitHostRestHandlerImpl struct {
46-
logger *zap.SugaredLogger
47-
gitHostConfig pipeline.GitHostConfig
48-
userAuthService user.UserService
49-
validator *validator.Validate
50-
enforcer casbin.Enforcer
51-
gitSensorClient gitSensor.Client
52-
gitProviderConfig pipeline.GitRegistryConfig
48+
logger *zap.SugaredLogger
49+
gitHostConfig gitHost.GitHostConfig
50+
gitHostReadService read2.GitHostReadService
51+
userAuthService user.UserService
52+
validator *validator.Validate
53+
enforcer casbin.Enforcer
54+
gitSensorClient gitSensor.Client
55+
gitProviderReadService read.GitProviderReadService
5356
}
5457

5558
func NewGitHostRestHandlerImpl(logger *zap.SugaredLogger,
56-
gitHostConfig pipeline.GitHostConfig, userAuthService user.UserService,
57-
validator *validator.Validate, enforcer casbin.Enforcer, gitSensorClient gitSensor.Client, gitProviderConfig pipeline.GitRegistryConfig) *GitHostRestHandlerImpl {
59+
gitHostConfig gitHost.GitHostConfig, userAuthService user.UserService,
60+
validator *validator.Validate, enforcer casbin.Enforcer, gitSensorClient gitSensor.Client,
61+
gitProviderReadService read.GitProviderReadService,
62+
gitHostReadService read2.GitHostReadService) *GitHostRestHandlerImpl {
5863
return &GitHostRestHandlerImpl{
59-
logger: logger,
60-
gitHostConfig: gitHostConfig,
61-
userAuthService: userAuthService,
62-
validator: validator,
63-
enforcer: enforcer,
64-
gitSensorClient: gitSensorClient,
65-
gitProviderConfig: gitProviderConfig,
64+
logger: logger,
65+
gitHostConfig: gitHostConfig,
66+
userAuthService: userAuthService,
67+
validator: validator,
68+
enforcer: enforcer,
69+
gitSensorClient: gitSensorClient,
70+
gitProviderReadService: gitProviderReadService,
71+
gitHostReadService: gitHostReadService,
6672
}
6773
}
6874

@@ -75,7 +81,7 @@ func (impl GitHostRestHandlerImpl) GetGitHosts(w http.ResponseWriter, r *http.Re
7581
return
7682
}
7783

78-
res, err := impl.gitHostConfig.GetAll()
84+
res, err := impl.gitHostReadService.GetAll()
7985
if err != nil {
8086
impl.logger.Errorw("service err, GetGitHosts", "err", err)
8187
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
@@ -84,7 +90,7 @@ func (impl GitHostRestHandlerImpl) GetGitHosts(w http.ResponseWriter, r *http.Re
8490

8591
// RBAC enforcer applying
8692
token := r.Header.Get("token")
87-
result := make([]types.GitHostRequest, 0)
93+
result := make([]bean2.GitHostRequest, 0)
8894
for _, item := range res {
8995
if ok := impl.enforcer.Enforce(token, casbin.ResourceGit, casbin.ActionGet, item.Name); ok {
9096
result = append(result, item)
@@ -114,7 +120,7 @@ func (impl GitHostRestHandlerImpl) GetGitHostById(w http.ResponseWriter, r *http
114120
return
115121
}
116122

117-
res, err := impl.gitHostConfig.GetById(id)
123+
res, err := impl.gitHostReadService.GetById(id)
118124

119125
if err != nil {
120126
impl.logger.Errorw("service err, GetGitHostById", "err", err)
@@ -136,7 +142,7 @@ func (impl GitHostRestHandlerImpl) CreateGitHost(w http.ResponseWriter, r *http.
136142

137143
decoder := json.NewDecoder(r.Body)
138144

139-
var bean types.GitHostRequest
145+
var bean bean2.GitHostRequest
140146
err = decoder.Decode(&bean)
141147
if err != nil {
142148
impl.logger.Errorw("request err, CreateGitHost", "err", err, "payload", bean)
@@ -189,7 +195,7 @@ func (impl GitHostRestHandlerImpl) GetAllWebhookEventConfig(w http.ResponseWrite
189195
return
190196
}
191197

192-
gitHost, err := impl.gitHostConfig.GetById(id)
198+
gitHost, err := impl.gitHostReadService.GetById(id)
193199
if err != nil {
194200
impl.logger.Errorw("service err, GetGitHostById", "err", err)
195201
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
@@ -259,7 +265,7 @@ func (impl GitHostRestHandlerImpl) GetWebhookDataMetaConfig(w http.ResponseWrite
259265
params := mux.Vars(r)
260266
gitProviderId := params["gitProviderId"]
261267

262-
gitProvider, err := impl.gitProviderConfig.FetchOneGitProvider(gitProviderId)
268+
gitProvider, err := impl.gitProviderReadService.FetchOneGitProvider(gitProviderId)
263269

264270
if err != nil {
265271
impl.logger.Errorw("service err FetchOneGitProvider, GetWebhookDataMetaConfig", "err", err)
@@ -274,7 +280,7 @@ func (impl GitHostRestHandlerImpl) GetWebhookDataMetaConfig(w http.ResponseWrite
274280
}
275281

276282
if gitHostId != 0 {
277-
gitHost, err := impl.gitHostConfig.GetById(gitHostId)
283+
gitHost, err := impl.gitHostReadService.GetById(gitHostId)
278284
if err != nil {
279285
impl.logger.Errorw("service err, GetGitHostById", "err", err)
280286
common.WriteJsonResp(w, err, nil, http.StatusInternalServerError)
@@ -300,6 +306,6 @@ func (impl GitHostRestHandlerImpl) GetWebhookDataMetaConfig(w http.ResponseWrite
300306

301307
type WebhookDataMetaConfigResponse struct {
302308
GitHostId int `json:"gitHostId"`
303-
GitHost *types.GitHostRequest `json:"gitHost"`
309+
GitHost *bean2.GitHostRequest `json:"gitHost"`
304310
WebhookEvents []*gitSensor.WebhookEventConfig `json:"webhookEvents"`
305311
}

0 commit comments

Comments
 (0)