Skip to content

Commit e21e454

Browse files
authored
Merge pull request #6175 from devtron-labs/cdworkflow-runner-read
misc: added cd workflow runner read service
2 parents 6b42cf6 + 19519af commit e21e454

File tree

5 files changed

+55
-25
lines changed

5 files changed

+55
-25
lines changed

pkg/eventProcessor/in/WorkflowEventProcessorService.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ type WorkflowEventProcessorImpl struct {
7373
cdWorkflowService cd.CdWorkflowService
7474
cdWorkflowReadService read.CdWorkflowReadService
7575
cdWorkflowRunnerService cd.CdWorkflowRunnerService
76+
cdWorkflowRunnerReadService read.CdWorkflowRunnerReadService
7677
workflowDagExecutor dag.WorkflowDagExecutor
7778
argoUserService argo.ArgoUserService
7879
ciHandler pipeline.CiHandler
@@ -104,6 +105,7 @@ func NewWorkflowEventProcessorImpl(logger *zap.SugaredLogger,
104105
cdWorkflowService cd.CdWorkflowService,
105106
cdWorkflowReadService read.CdWorkflowReadService,
106107
cdWorkflowRunnerService cd.CdWorkflowRunnerService,
108+
cdWorkflowRunnerReadService read.CdWorkflowRunnerReadService,
107109
workflowDagExecutor dag.WorkflowDagExecutor,
108110
argoUserService argo.ArgoUserService,
109111
ciHandler pipeline.CiHandler, cdHandler pipeline.CdHandler,
@@ -126,6 +128,7 @@ func NewWorkflowEventProcessorImpl(logger *zap.SugaredLogger,
126128
cdWorkflowService: cdWorkflowService,
127129
cdWorkflowReadService: cdWorkflowReadService,
128130
cdWorkflowRunnerService: cdWorkflowRunnerService,
131+
cdWorkflowRunnerReadService: cdWorkflowRunnerReadService,
129132
argoUserService: argoUserService,
130133
ciHandler: ciHandler,
131134
cdHandler: cdHandler,
@@ -165,7 +168,7 @@ func (impl *WorkflowEventProcessorImpl) SubscribeCDStageCompleteEvent() error {
165168
impl.logger.Errorw("error while unmarshalling cdStageCompleteEvent object", "err", err, "msg", msg.Data)
166169
return
167170
}
168-
wfr, err := impl.cdWorkflowRunnerService.FindWorkflowRunnerById(cdStageCompleteEvent.WorkflowRunnerId)
171+
wfr, err := impl.cdWorkflowRunnerReadService.FindWorkflowRunnerById(cdStageCompleteEvent.WorkflowRunnerId)
169172
if err != nil {
170173
impl.logger.Errorw("could not get wf runner", "err", err)
171174
return
@@ -991,7 +994,7 @@ func (impl *WorkflowEventProcessorImpl) validateConcurrentOrInvalidRequest(ctx c
991994
return isValidRequest, err
992995
}
993996
} else {
994-
isLatestRequest, err = impl.cdWorkflowRunnerService.CheckIfWfrLatest(cdWfr.Id, pipelineId)
997+
isLatestRequest, err = impl.cdWorkflowRunnerReadService.CheckIfWfrLatest(cdWfr.Id, pipelineId)
995998
if err != nil {
996999
impl.logger.Errorw("error, CheckIfWfrLatest", "err", err, "cdWfrId", cdWfr.Id)
9971000
return isValidRequest, err

pkg/workflow/cd/CdWorkflowRunnerService.go

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,10 @@ import (
2121
"github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/workflow"
2222
"github.com/devtron-labs/devtron/pkg/workflow/cd/adapter"
2323
"github.com/devtron-labs/devtron/pkg/workflow/cd/bean"
24-
"github.com/go-pg/pg"
2524
"go.uber.org/zap"
2625
)
2726

2827
type CdWorkflowRunnerService interface {
29-
FindWorkflowRunnerById(wfrId int) (*bean.CdWorkflowRunnerDto, error)
30-
CheckIfWfrLatest(wfrId, pipelineId int) (isLatest bool, err error)
3128
UpdateWfr(dto *bean.CdWorkflowRunnerDto, updatedBy int) error
3229
UpdateIsArtifactUploaded(wfrId int, isArtifactUploaded bool) error
3330
}
@@ -45,25 +42,6 @@ func NewCdWorkflowRunnerServiceImpl(logger *zap.SugaredLogger,
4542
}
4643
}
4744

48-
func (impl *CdWorkflowRunnerServiceImpl) FindWorkflowRunnerById(wfrId int) (*bean.CdWorkflowRunnerDto, error) {
49-
cdWfr, err := impl.cdWorkflowRepository.FindWorkflowRunnerById(wfrId)
50-
if err != nil {
51-
impl.logger.Errorw("error in getting cd workflow runner by id", "err", err, "id", wfrId)
52-
return nil, err
53-
}
54-
return adapter.ConvertCdWorkflowRunnerDbObjToDto(cdWfr), nil
55-
56-
}
57-
58-
func (impl *CdWorkflowRunnerServiceImpl) CheckIfWfrLatest(wfrId, pipelineId int) (isLatest bool, err error) {
59-
isLatest, err = impl.cdWorkflowRepository.IsLatestCDWfr(wfrId, pipelineId)
60-
if err != nil && err != pg.ErrNoRows {
61-
impl.logger.Errorw("err in checking latest cd workflow runner", "err", err)
62-
return false, err
63-
}
64-
return isLatest, nil
65-
}
66-
6745
func (impl *CdWorkflowRunnerServiceImpl) UpdateWfr(dto *bean.CdWorkflowRunnerDto, updatedBy int) error {
6846
runnerDbObj := adapter.ConvertCdWorkflowRunnerDtoToDbObj(dto)
6947
runnerDbObj.UpdateAuditLog(int32(updatedBy))
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package read
2+
3+
import (
4+
"github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig"
5+
"github.com/devtron-labs/devtron/pkg/workflow/cd/adapter"
6+
"github.com/devtron-labs/devtron/pkg/workflow/cd/bean"
7+
"github.com/go-pg/pg"
8+
"go.uber.org/zap"
9+
)
10+
11+
type CdWorkflowRunnerReadService interface {
12+
FindWorkflowRunnerById(wfrId int) (*bean.CdWorkflowRunnerDto, error)
13+
CheckIfWfrLatest(wfrId, pipelineId int) (isLatest bool, err error)
14+
}
15+
16+
type CdWorkflowRunnerReadServiceImpl struct {
17+
logger *zap.SugaredLogger
18+
cdWorkflowRepository pipelineConfig.CdWorkflowRepository
19+
}
20+
21+
func NewCdWorkflowRunnerReadServiceImpl(logger *zap.SugaredLogger,
22+
cdWorkflowRepository pipelineConfig.CdWorkflowRepository) *CdWorkflowRunnerReadServiceImpl {
23+
return &CdWorkflowRunnerReadServiceImpl{
24+
logger: logger,
25+
cdWorkflowRepository: cdWorkflowRepository,
26+
}
27+
}
28+
29+
func (impl *CdWorkflowRunnerReadServiceImpl) FindWorkflowRunnerById(wfrId int) (*bean.CdWorkflowRunnerDto, error) {
30+
cdWfr, err := impl.cdWorkflowRepository.FindWorkflowRunnerById(wfrId)
31+
if err != nil {
32+
impl.logger.Errorw("error in getting cd workflow runner by id", "err", err, "id", wfrId)
33+
return nil, err
34+
}
35+
return adapter.ConvertCdWorkflowRunnerDbObjToDto(cdWfr), nil
36+
37+
}
38+
39+
func (impl *CdWorkflowRunnerReadServiceImpl) CheckIfWfrLatest(wfrId, pipelineId int) (isLatest bool, err error) {
40+
isLatest, err = impl.cdWorkflowRepository.IsLatestCDWfr(wfrId, pipelineId)
41+
if err != nil && err != pg.ErrNoRows {
42+
impl.logger.Errorw("err in checking latest cd workflow runner", "err", err)
43+
return false, err
44+
}
45+
return isLatest, nil
46+
}

pkg/workflow/cd/wire_workflowCd.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,6 @@ var CdWorkflowWireSet = wire.NewSet(
3030
wire.Bind(new(read.CdWorkflowReadService), new(*read.CdWorkflowReadServiceImpl)),
3131
NewCdWorkflowRunnerServiceImpl,
3232
wire.Bind(new(CdWorkflowRunnerService), new(*CdWorkflowRunnerServiceImpl)),
33+
read.NewCdWorkflowRunnerReadServiceImpl,
34+
wire.Bind(new(read.CdWorkflowRunnerReadService), new(*read.CdWorkflowRunnerReadServiceImpl)),
3335
)

wire_gen.go

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)