@@ -19,6 +19,7 @@ import {
19
19
AnyRecord ,
20
20
CollectionFlowStatusesEnum ,
21
21
CollectionFlowStepStatesEnum ,
22
+ DefaultContextSchema ,
22
23
TCollectionFlowState ,
23
24
TCollectionFlowStep ,
24
25
} from '@ballerine/common' ;
@@ -157,38 +158,53 @@ export class CollectionFlowController {
157
158
@common . Post ( '/final-submission' )
158
159
async finalSubmission ( @TokenScope ( ) tokenScope : ITokenScope , @common . Body ( ) body : FinishFlowDto ) {
159
160
try {
160
- await this . collectionFlowStateService . updateCollectionFlowState (
161
+ const { eventName, context } = body ;
162
+
163
+ const collectionFlowState = ( context . collectionFlow as AnyRecord )
164
+ . state as TCollectionFlowState ;
165
+
166
+ if ( collectionFlowState ?. status === CollectionFlowStatusesEnum . edit ) {
167
+ const pluginsOutput = this . collectionFlowService . removePluginsOutput ( {
168
+ context : context as DefaultContextSchema ,
169
+ plugins : [
170
+ 'businessInformation' ,
171
+ 'companySanctions' ,
172
+ 'merchantScreening' ,
173
+ 'merchantMonitoring' ,
174
+ 'riskEvaluation' ,
175
+ ] ,
176
+ } ) ;
177
+
178
+ context . pluginsOutput = pluginsOutput ;
179
+ }
180
+
181
+ await this . workflowService . updateWorkflowRuntimeData (
161
182
tokenScope . workflowRuntimeDataId ,
162
183
{
163
- ...( ( body . context . collectionFlow as AnyRecord ) . state as TCollectionFlowState ) ,
164
- steps : (
165
- ( body . context . collectionFlow as AnyRecord ) . state as TCollectionFlowState
166
- ) . steps . map ( ( step : TCollectionFlowStep ) => ( {
167
- ...step ,
168
- state : CollectionFlowStepStatesEnum . completed ,
169
- } ) ) ,
170
- status : CollectionFlowStatusesEnum . completed ,
184
+ context,
171
185
} ,
172
- [ tokenScope . projectId ] ,
186
+ tokenScope . projectId ,
173
187
) ;
174
188
175
- await this . workflowService . event (
189
+ await this . collectionFlowStateService . updateCollectionFlowState (
190
+ tokenScope . workflowRuntimeDataId ,
176
191
{
177
- id : tokenScope . workflowRuntimeDataId ,
178
- name : body . eventName ,
192
+ ...( ( context . collectionFlow as AnyRecord ) . state as TCollectionFlowState ) ,
193
+ steps : ( ( context . collectionFlow as AnyRecord ) . state as TCollectionFlowState ) . steps . map (
194
+ ( step : TCollectionFlowStep ) => ( {
195
+ ...step ,
196
+ state : CollectionFlowStepStatesEnum . completed ,
197
+ } ) ,
198
+ ) ,
199
+ status : CollectionFlowStatusesEnum . completed ,
179
200
} ,
180
201
[ tokenScope . projectId ] ,
181
- tokenScope . projectId ,
182
202
) ;
183
203
184
204
return this . workflowService . event (
185
205
{
186
206
id : tokenScope . workflowRuntimeDataId ,
187
- name : BUILT_IN_EVENT . DEEP_MERGE_CONTEXT ,
188
- payload : {
189
- newContext : body . context ,
190
- arrayMergeOption : ARRAY_MERGE_OPTION . REPLACE ,
191
- } ,
207
+ name : eventName ,
192
208
} ,
193
209
[ tokenScope . projectId ] ,
194
210
tokenScope . projectId ,
0 commit comments