@@ -2,6 +2,7 @@ import { parseFormData } from "@remix-run/form-data-parser";
22import { validationError } from "@rvf/react-router" ;
33import type { ActionFunctionArgs , LoaderFunctionArgs } from "react-router" ;
44import { data , redirectDocument } from "react-router" ;
5+ import { parsePathname } from "~/domains/flowIds" ;
56import { retrieveContentData } from "~/services/flow/formular/contentData/retrieveContentData" ;
67import { setUserVisitedValidationPage } from "~/services/flow/formular/contentData/setUserVisitedValidationPage" ;
78import { isFileUploadOrDeleteAction } from "~/services/flow/formular/fileUpload/isFileUploadOrDeleteAction" ;
@@ -14,7 +15,6 @@ import { validatedSession } from "~/services/security/csrf/validatedSession.serv
1415import { getSessionManager , updateSession } from "~/services/session.server" ;
1516import { updateMainSession } from "~/services/session.server/updateSessionInHeader" ;
1617import type { SummaryItem } from "~/services/summary/types" ;
17- import merge from "lodash/merge" ;
1818import {
1919 deleteUserFile ,
2020 uploadUserFile ,
@@ -25,9 +25,6 @@ import { shouldShowReportProblem } from "../../components/reportProblem/showRepo
2525import { generateSummaryFromUserData } from "~/services/summary/autoGenerateSummary" ;
2626import { isFeatureFlagEnabled } from "~/services/isFeatureFlagEnabled.server" ;
2727import { pruneIrrelevantData } from "~/services/flow/pruner/pruner" ;
28- import { buildFlowController } from "~/services/flow/server/buildFlowController" ;
29- import { getPageAndFlowDataFromPathname } from "~/services/flow/getPageAndFlowDataFromPathname" ;
30- import { stepStatesToSubflowDoneStates } from "~/services/navigation/stepStatesToSubflowDoneStates" ;
3128
3229export const loader = async ( { params, request } : LoaderFunctionArgs ) => {
3330 const resultUserAndFlow = await getUserDataAndFlow ( request ) ;
@@ -127,7 +124,7 @@ export const action = async ({ request }: ActionFunctionArgs) => {
127124 }
128125
129126 const { pathname } = new URL ( request . url ) ;
130- const { flowId, currentFlow } = getPageAndFlowDataFromPathname ( pathname ) ;
127+ const { flowId } = parsePathname ( pathname ) ;
131128 const { getSession, commitSession } = getSessionManager ( flowId ) ;
132129 const cookieHeader = request . headers . get ( "Cookie" ) ;
133130 const flowSession = await getSession ( cookieHeader ) ;
@@ -182,25 +179,13 @@ export const action = async ({ request }: ActionFunctionArgs) => {
182179 ) ;
183180 }
184181
185- const updatedUserData = merge (
186- { } ,
187- flowSession . data ,
188- resultFormUserData . value . userData ,
189- resultFormUserData . value . migrationData ,
190- ) ;
182+ updateSession ( flowSession , resultFormUserData . value . userData ) ;
191183
192- const subflowDoneStates = stepStatesToSubflowDoneStates (
193- buildFlowController ( {
194- config : currentFlow . config ,
195- data : updatedUserData ,
196- guards : "guards" in currentFlow ? currentFlow . guards : { } ,
197- } ) . stepStates ( ) ,
198- ) ;
184+ if ( resultFormUserData . value . migrationData ) {
185+ updateSession ( flowSession , resultFormUserData . value . migrationData ) ;
186+ }
199187
200- const pageData = { pageData : { subflowDoneStates } } ;
201- const userDataToSave = merge ( { } , updatedUserData , pageData ) ;
202- updateSession ( flowSession , userDataToSave ) ;
203- const { prunedData } = pruneIrrelevantData ( userDataToSave , flowId ) ;
188+ const { prunedData } = pruneIrrelevantData ( flowSession . data , flowId ) ;
204189
205190 await postValidationFlowAction ( request , prunedData ) ;
206191
0 commit comments