1
1
import type { ISessionCase } from '@app/components/case/uinnlogget/types' ;
2
2
import { sessionEvent } from '@app/logging/logger' ;
3
3
import { SessionAction } from '@app/logging/types' ;
4
+ import type { DyplenkeParams } from '@app/redux-api/case/types' ;
4
5
import type { State } from '@app/redux/session/type' ;
5
6
import type { CaseReducer , PayloadAction } from '@reduxjs/toolkit' ;
6
7
import { createSessionCase , getSessionCaseKey } from './helpers' ;
@@ -63,11 +64,7 @@ const loadSessionCase: CaseReducer<State, PayloadAction<SessionCaseLoad>> = (sta
63
64
return state ;
64
65
}
65
66
66
- return setState ( state , sessionKey , {
67
- ...savedCase ,
68
- ...dyplenkeParams ,
69
- caseIsAtKA : dyplenkeParams . caseIsAtKA === null ? savedCase . caseIsAtKA : dyplenkeParams . caseIsAtKA ,
70
- } ) ;
67
+ return setState ( state , sessionKey , { ...savedCase , ...newDyplenkeParams ( savedCase , dyplenkeParams ) } ) ;
71
68
} ;
72
69
73
70
// Read from session storage if it exists, otherwise save to session storage.
@@ -93,16 +90,7 @@ const loadOrCreateSessionCase: CaseReducer<State, PayloadAction<SessionCaseCreat
93
90
sessionEvent ( SessionAction . LOAD ) ;
94
91
}
95
92
96
- const internalSaksnummer =
97
- dyplenkeParams . internalSaksnummer === null ? savedCase . internalSaksnummer : dyplenkeParams . internalSaksnummer ;
98
- const sakSakstype = dyplenkeParams . sakSakstype === null ? savedCase . sakSakstype : dyplenkeParams . sakSakstype ;
99
- const sakFagsaksystem =
100
- dyplenkeParams . sakFagsaksystem === null ? savedCase . sakFagsaksystem : dyplenkeParams . sakFagsaksystem ;
101
- const caseIsAtKA = dyplenkeParams . caseIsAtKA === null ? savedCase . caseIsAtKA : dyplenkeParams . caseIsAtKA ;
102
-
103
- const newDyplenkeParams = { internalSaksnummer, sakSakstype, sakFagsaksystem, caseIsAtKA } ;
104
-
105
- const newCase = { ...savedCase , ...newDyplenkeParams } ;
93
+ const newCase = { ...savedCase , ...newDyplenkeParams ( savedCase , dyplenkeParams ) } ;
106
94
107
95
setState ( state , sessionKey , newCase ) ;
108
96
saveSessionCase ( innsendingsytelse , newCase ) ;
@@ -132,6 +120,17 @@ const deleteSessionCase: CaseReducer<State, PayloadAction<SessionCaseRemove>> =
132
120
return state ;
133
121
} ;
134
122
123
+ const newDyplenkeParams = ( oldCase : ISessionCase , dyplenkeParams : DyplenkeParams ) : DyplenkeParams => {
124
+ const internalSaksnummer =
125
+ dyplenkeParams . internalSaksnummer === null ? oldCase . internalSaksnummer : dyplenkeParams . internalSaksnummer ;
126
+ const sakSakstype = dyplenkeParams . sakSakstype === null ? oldCase . sakSakstype : dyplenkeParams . sakSakstype ;
127
+ const sakFagsaksystem =
128
+ dyplenkeParams . sakFagsaksystem === null ? oldCase . sakFagsaksystem : dyplenkeParams . sakFagsaksystem ;
129
+ const caseIsAtKA = dyplenkeParams . caseIsAtKA === null ? oldCase . caseIsAtKA : dyplenkeParams . caseIsAtKA ;
130
+
131
+ return { internalSaksnummer, sakSakstype, sakFagsaksystem, caseIsAtKA } ;
132
+ } ;
133
+
135
134
export const caseReducers = {
136
135
setSessionCase,
137
136
updateSessionCase,
0 commit comments