@@ -40,32 +40,32 @@ export class SyncToEnvironmentUseCase {
40
40
throw new BadRequestException ( 'Cannot sync workflow to the same environment' ) ;
41
41
}
42
42
43
- const workflowToClone = await this . getWorkflowToClone ( command ) ;
44
- const preferencesToClone = await this . getWorkflowPreferences ( workflowToClone . _id , command . user . environmentId ) ;
45
- const externalId = workflowToClone . workflowId ;
46
- const existingWorkflow = await this . findWorkflowInTargetEnvironment ( command , externalId ) ;
47
- const workflowDto = await this . buildRequestDto ( workflowToClone , preferencesToClone , command , existingWorkflow ) ;
43
+ const originWorkflow = await this . getWorkflowToClone ( command ) ;
44
+ const preferencesToClone = await this . getWorkflowPreferences ( originWorkflow . _id , command . user . environmentId ) ;
45
+ const externalId = originWorkflow . workflowId ;
46
+ const targetWorkflow = await this . findWorkflowInTargetEnvironment ( command , externalId ) ;
47
+ const workflowDto = await this . buildRequestDto ( originWorkflow , preferencesToClone , command , targetWorkflow ) ;
48
48
49
49
return await this . upsertWorkflowUseCase . execute (
50
50
UpsertWorkflowCommand . create ( {
51
51
user : { ...command . user , environmentId : command . targetEnvironmentId } ,
52
- identifierOrInternalId : existingWorkflow ?. _id ,
52
+ identifierOrInternalId : targetWorkflow ?. _id ,
53
53
workflowDto,
54
54
} )
55
55
) ;
56
56
}
57
57
58
58
private async buildRequestDto (
59
- workflowToClone : WorkflowResponseDto ,
59
+ originWorkflow : WorkflowResponseDto ,
60
60
preferencesToClone : PreferencesEntity [ ] ,
61
61
command : SyncToEnvironmentCommand ,
62
- existingWorkflow ?: WorkflowResponseDto
62
+ targetWorkflow ?: WorkflowResponseDto
63
63
) {
64
- if ( existingWorkflow ) {
65
- return await this . mapWorkflowToUpdateWorkflowDto ( workflowToClone , existingWorkflow , preferencesToClone , command ) ;
64
+ if ( targetWorkflow ) {
65
+ return await this . mapWorkflowToUpdateWorkflowDto ( originWorkflow , targetWorkflow , preferencesToClone , command ) ;
66
66
}
67
67
68
- return await this . mapWorkflowToCreateWorkflowDto ( workflowToClone , preferencesToClone , command ) ;
68
+ return await this . mapWorkflowToCreateWorkflowDto ( originWorkflow , preferencesToClone , command ) ;
69
69
}
70
70
71
71
private async getWorkflowToClone ( command : SyncToEnvironmentCommand ) : Promise < WorkflowResponseDto > {
@@ -94,18 +94,18 @@ export class SyncToEnvironmentUseCase {
94
94
}
95
95
96
96
private async mapWorkflowToCreateWorkflowDto (
97
- workflowToClone : WorkflowResponseDto ,
97
+ originWorkflow : WorkflowResponseDto ,
98
98
preferences : PreferencesEntity [ ] ,
99
99
command : SyncToEnvironmentCommand
100
100
) : Promise < CreateWorkflowDto > {
101
101
return {
102
- workflowId : workflowToClone . workflowId ,
103
- name : workflowToClone . name ,
104
- active : workflowToClone . active ,
105
- tags : workflowToClone . tags ,
106
- description : workflowToClone . description ,
102
+ workflowId : originWorkflow . workflowId ,
103
+ name : originWorkflow . name ,
104
+ active : originWorkflow . active ,
105
+ tags : originWorkflow . tags ,
106
+ description : originWorkflow . description ,
107
107
__source : WorkflowCreationSourceEnum . DASHBOARD ,
108
- steps : await this . mapStepsToDto ( workflowToClone . steps , command ) ,
108
+ steps : await this . mapStepsToDto ( originWorkflow . steps , command ) ,
109
109
preferences : this . mapPreferences ( preferences ) ,
110
110
} ;
111
111
}
@@ -128,20 +128,20 @@ export class SyncToEnvironmentUseCase {
128
128
}
129
129
130
130
private async mapStepsToDto (
131
- steps : StepResponseDto [ ] ,
131
+ originSteps : StepResponseDto [ ] ,
132
132
command : SyncToEnvironmentCommand ,
133
- existingWorkflowSteps ?: StepResponseDto [ ]
133
+ targetWorkflowSteps ?: StepResponseDto [ ]
134
134
) : Promise < ( StepUpdateDto | StepCreateDto ) [ ] > {
135
135
const augmentedSteps : ( StepUpdateDto | StepCreateDto ) [ ] = [ ] ;
136
- for ( const step of steps ) {
137
- const idAsOptionalObject = this . prodDbIdAsOptionalObject ( existingWorkflowSteps , step ) ;
136
+ for ( const originStep of originSteps ) {
137
+ const idAsOptionalObject = this . prodDbIdAsOptionalObject ( originStep , targetWorkflowSteps ) ;
138
138
const stepDataDto = await this . buildStepDataUsecase . execute ( {
139
139
identifierOrInternalId : command . identifierOrInternalId ,
140
- stepId : step . stepId ,
140
+ stepId : originStep . stepId ,
141
141
user : command . user ,
142
142
} ) ;
143
143
144
- augmentedSteps . push ( this . buildSingleStepRequest ( idAsOptionalObject , step , stepDataDto ) ) ;
144
+ augmentedSteps . push ( this . buildSingleStepRequest ( idAsOptionalObject , originStep , stepDataDto ) ) ;
145
145
}
146
146
147
147
return augmentedSteps ;
@@ -164,8 +164,8 @@ export class SyncToEnvironmentUseCase {
164
164
} ;
165
165
}
166
166
167
- private prodDbIdAsOptionalObject ( existingWorkflowSteps : StepResponseDto [ ] | undefined , step : StepResponseDto ) {
168
- const prodDatabaseId = this . findDatabaseIdInProdByExternalId ( existingWorkflowSteps , step ) ;
167
+ private prodDbIdAsOptionalObject ( originStep : StepResponseDto , targetWorkflowSteps ? : StepResponseDto [ ] ) {
168
+ const prodDatabaseId = this . findDatabaseIdInProdByExternalId ( originStep , targetWorkflowSteps ) ;
169
169
170
170
if ( prodDatabaseId ) {
171
171
return {
@@ -176,11 +176,8 @@ export class SyncToEnvironmentUseCase {
176
176
}
177
177
}
178
178
179
- private findDatabaseIdInProdByExternalId (
180
- existingWorkflowSteps : StepResponseDto [ ] | undefined ,
181
- step : StepResponseDto
182
- ) {
183
- return existingWorkflowSteps ?. find ( ( existingStep ) => existingStep . stepId === step . stepId ) ?. _id ?? step . _id ;
179
+ private findDatabaseIdInProdByExternalId ( originStep : StepResponseDto , targetWorkflowSteps ?: StepResponseDto [ ] ) {
180
+ return targetWorkflowSteps ?. find ( ( targetStep ) => targetStep . stepId === originStep . stepId ) ?. _id ;
184
181
}
185
182
186
183
private mapPreferences ( preferences : PreferencesEntity [ ] ) : {
0 commit comments