7
7
"github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig"
8
8
"github.com/devtron-labs/devtron/internal/sql/repository/pipelineConfig/bean/workflow/cdWorkflow"
9
9
bean3 "github.com/devtron-labs/devtron/pkg/bean"
10
- bean4 "github.com/devtron-labs/devtron/pkg/pipeline/bean"
11
10
"github.com/devtron-labs/devtron/pkg/pipeline/constants"
12
11
"github.com/devtron-labs/devtron/pkg/pipeline/types"
13
12
"github.com/devtron-labs/devtron/pkg/pipeline/workflowStatus/adapter"
@@ -23,10 +22,8 @@ import (
23
22
)
24
23
25
24
type WorkFlowStageStatusService interface {
26
- //todo move read functions for ci and cd from here to their respective services. CiService and CdWorkflowRunnerService
27
- GetCiWorkflowStagesByWorkflowIds (wfIds []int ) ([]* repository.WorkflowExecutionStage , error )
28
- GetPrePostWorkflowStagesByWorkflowIdAndType (wfId int , wfType string ) ([]* repository.WorkflowExecutionStage , error )
29
- GetPrePostWorkflowStagesByWorkflowRunnerIdsList (wfIdWfTypeMap map [int ]bean4.CdWorkflowWithArtifact ) (map [int ]map [string ][]* bean2.WorkflowStageDto , error )
25
+ GetWorkflowStagesByWorkflowIdsAndWfType (wfIds []int , wfType string ) ([]* repository.WorkflowExecutionStage , error )
26
+ GetWorkflowStagesByWorkflowIdAndType (wfId int , wfType string ) ([]* repository.WorkflowExecutionStage , error )
30
27
31
28
SaveWorkflowStages (wfId int , wfType , wfName string , tx * pg.Tx ) error
32
29
UpdateWorkflowStages (wfId int , wfType , wfName , wfStatus , podStatus , message , podName string , tx * pg.Tx ) (string , string , error )
@@ -284,10 +281,10 @@ func (impl *WorkFlowStageStatusServiceImpl) updateWorkflowStagesToDevtronStatus(
284
281
return currentWorkflowStages , updatedWfStatus
285
282
}
286
283
287
- func (impl * WorkFlowStageStatusServiceImpl ) GetCiWorkflowStagesByWorkflowIds (wfIds []int ) ([]* repository.WorkflowExecutionStage , error ) {
284
+ func (impl * WorkFlowStageStatusServiceImpl ) GetWorkflowStagesByWorkflowIdsAndWfType (wfIds []int , wfType string ) ([]* repository.WorkflowExecutionStage , error ) {
288
285
// implementation
289
286
290
- dbData , err := impl .workflowStatusRepository .GetCiWorkflowStagesByWorkflowIds (wfIds )
287
+ dbData , err := impl .workflowStatusRepository .GetWorkflowStagesByWorkflowIdsAndWtype (wfIds , wfType )
291
288
if err != nil {
292
289
impl .logger .Errorw ("error in getting ci workflow stages" , "error" , err )
293
290
return nil , err
@@ -299,7 +296,7 @@ func (impl *WorkFlowStageStatusServiceImpl) GetCiWorkflowStagesByWorkflowIds(wfI
299
296
}
300
297
}
301
298
302
- func (impl * WorkFlowStageStatusServiceImpl ) GetPrePostWorkflowStagesByWorkflowIdAndType (wfId int , wfType string ) ([]* repository.WorkflowExecutionStage , error ) {
299
+ func (impl * WorkFlowStageStatusServiceImpl ) GetWorkflowStagesByWorkflowIdAndType (wfId int , wfType string ) ([]* repository.WorkflowExecutionStage , error ) {
303
300
// implementation
304
301
305
302
dbData , err := impl .workflowStatusRepository .GetWorkflowStagesByWorkflowIdAndWtype (wfId , wfType )
@@ -314,44 +311,6 @@ func (impl *WorkFlowStageStatusServiceImpl) GetPrePostWorkflowStagesByWorkflowId
314
311
}
315
312
}
316
313
317
- func (impl * WorkFlowStageStatusServiceImpl ) GetPrePostWorkflowStagesByWorkflowRunnerIdsList (wfIdWfTypeMap map [int ]bean4.CdWorkflowWithArtifact ) (map [int ]map [string ][]* bean2.WorkflowStageDto , error ) {
318
- // implementation
319
- resp := map [int ]map [string ][]* bean2.WorkflowStageDto {}
320
- if len (wfIdWfTypeMap ) == 0 {
321
- return resp , nil
322
- }
323
- //first create a map of pre-runner ids and post-runner ids
324
- prePostRunnerIds := map [string ][]int {}
325
- for wfId , wf := range wfIdWfTypeMap {
326
- if wf .WorkflowType == bean .CD_WORKFLOW_TYPE_PRE .String () {
327
- prePostRunnerIds [bean .CD_WORKFLOW_TYPE_PRE .String ()] = append (prePostRunnerIds [bean .CD_WORKFLOW_TYPE_PRE .String ()], wfId )
328
- } else if wf .WorkflowType == bean .CD_WORKFLOW_TYPE_POST .String () {
329
- prePostRunnerIds [bean .CD_WORKFLOW_TYPE_POST .String ()] = append (prePostRunnerIds [bean .CD_WORKFLOW_TYPE_POST .String ()], wfId )
330
- }
331
- }
332
-
333
- preCdDbData , err := impl .workflowStatusRepository .GetWorkflowStagesByWorkflowIdsAndWtype (prePostRunnerIds [bean .CD_WORKFLOW_TYPE_PRE .String ()], bean .CD_WORKFLOW_TYPE_PRE .String ())
334
- if err != nil {
335
- impl .logger .Errorw ("error in getting pre-ci workflow stages" , "error" , err )
336
- return resp , err
337
- }
338
- //do the above for post cd
339
- postCdDbData , err := impl .workflowStatusRepository .GetWorkflowStagesByWorkflowIdsAndWtype (prePostRunnerIds [bean .CD_WORKFLOW_TYPE_POST .String ()], bean .CD_WORKFLOW_TYPE_POST .String ())
340
- if err != nil {
341
- impl .logger .Errorw ("error in getting post-ci workflow stages" , "error" , err )
342
- return resp , err
343
- }
344
- //iterate over prePostRunnerIds and create response structure using ConvertDBWorkflowStageToMap function
345
- for wfId , wf := range wfIdWfTypeMap {
346
- if wf .WorkflowType == bean .CD_WORKFLOW_TYPE_PRE .String () {
347
- resp [wfId ] = impl .ConvertDBWorkflowStageToMap (preCdDbData , wfId , wf .Status , wf .PodStatus , wf .Message , wf .WorkflowType , wf .StartedOn , wf .FinishedOn )
348
- } else if wf .WorkflowType == bean .CD_WORKFLOW_TYPE_POST .String () {
349
- resp [wfId ] = impl .ConvertDBWorkflowStageToMap (postCdDbData , wfId , wf .Status , wf .PodStatus , wf .Message , wf .WorkflowType , wf .StartedOn , wf .FinishedOn )
350
- }
351
- }
352
- return resp , nil
353
- }
354
-
355
314
func (impl * WorkFlowStageStatusServiceImpl ) ConvertDBWorkflowStageToMap (workflowStages []* repository.WorkflowExecutionStage , wfId int , status , podStatus , message , wfType string , startTime , endTime time.Time ) map [string ][]* bean2.WorkflowStageDto {
356
315
wfMap := make (map [string ][]* bean2.WorkflowStageDto )
357
316
foundInDb := false
0 commit comments