3
3
ArrangorflateTilsagn ,
4
4
ArrFlateUtbetaling ,
5
5
FieldError ,
6
- } from "@mr/ api-client-v2 " ;
6
+ } from "api-client" ;
7
7
import { Button , Checkbox , ErrorSummary , Heading , TextField , VStack } from "@navikt/ds-react" ;
8
8
import {
9
9
ActionFunction ,
@@ -18,7 +18,7 @@ import { PageHeader } from "~/components/PageHeader";
18
18
import { UtbetalingDetaljer } from "~/components/utbetaling/UtbetalingDetaljer" ;
19
19
import { getOrError , getOrThrowError } from "~/form/form-helpers" ;
20
20
import { internalNavigation } from "~/internal-navigation" ;
21
- import { useOrgnrFromUrl } from "~/utils" ;
21
+ import { problemDetailResponse , useOrgnrFromUrl } from "~/utils" ;
22
22
import { getCurrentTab } from "~/utils/currentTab" ;
23
23
import { Separator } from "../components/Separator" ;
24
24
import { apiHeaders } from "~/auth/auth.server" ;
@@ -38,18 +38,28 @@ export const loader: LoaderFunction = async ({
38
38
params,
39
39
} ) : Promise < BekreftUtbetalingData > => {
40
40
const { id } = params ;
41
- if ( ! id ) throw Error ( "Mangler id" ) ;
42
-
43
- const [ { data : utbetaling } , { data : tilsagn } ] = await Promise . all ( [
44
- ArrangorflateService . getArrFlateUtbetaling ( {
45
- path : { id } ,
46
- headers : await apiHeaders ( request ) ,
47
- } ) ,
48
- ArrangorflateService . getArrangorflateTilsagnTilUtbetaling ( {
49
- path : { id } ,
50
- headers : await apiHeaders ( request ) ,
51
- } ) ,
52
- ] ) ;
41
+ if ( ! id ) {
42
+ throw new Response ( "Mangler id" , { status : 400 } ) ;
43
+ }
44
+
45
+ const [ { data : utbetaling , error : utbetalingError } , { data : tilsagn , error : tilsagnError } ] =
46
+ await Promise . all ( [
47
+ ArrangorflateService . getArrFlateUtbetaling ( {
48
+ path : { id } ,
49
+ headers : await apiHeaders ( request ) ,
50
+ } ) ,
51
+ ArrangorflateService . getArrangorflateTilsagnTilUtbetaling ( {
52
+ path : { id } ,
53
+ headers : await apiHeaders ( request ) ,
54
+ } ) ,
55
+ ] ) ;
56
+
57
+ if ( utbetalingError || ! utbetaling ) {
58
+ throw problemDetailResponse ( utbetalingError ) ;
59
+ }
60
+ if ( tilsagnError || ! tilsagn ) {
61
+ throw problemDetailResponse ( tilsagnError ) ;
62
+ }
53
63
54
64
return { utbetaling, tilsagn } ;
55
65
} ;
@@ -85,23 +95,23 @@ export const action: ActionFunction = async ({ request }) => {
85
95
return validationErrors ;
86
96
}
87
97
88
- try {
89
- await ArrangorflateService . godkjennUtbetaling ( {
90
- path : { id : utbetalingId } ,
91
- body : {
92
- digest : utbetalingDigest ,
93
- betalingsinformasjon : {
94
- kontonummer : kontonummer . toString ( ) ,
95
- kid : kid ,
96
- } ,
98
+ const { error } = await ArrangorflateService . godkjennUtbetaling ( {
99
+ path : { id : utbetalingId } ,
100
+ body : {
101
+ digest : utbetalingDigest ,
102
+ betalingsinformasjon : {
103
+ kontonummer : kontonummer . toString ( ) ,
104
+ kid : kid || null ,
97
105
} ,
98
- headers : await apiHeaders ( request ) ,
99
- } ) ;
100
- } catch ( error ) {
106
+ } ,
107
+ headers : await apiHeaders ( request ) ,
108
+ } ) ;
109
+ if ( error ) {
101
110
if ( isValidationError ( error ) ) {
102
111
return { errors : error . errors } ;
112
+ } else {
113
+ throw problemDetailResponse ( error ) ;
103
114
}
104
- throw error ;
105
115
}
106
116
return redirect (
107
117
`${ internalNavigation ( orgnr ) . kvittering ( utbetalingId ) } ?forside-tab=${ currentTab } ` ,
@@ -168,7 +178,7 @@ export default function BekreftUtbetaling() {
168
178
name = "kid"
169
179
error = { data ?. errors ?. find ( ( error ) => error . pointer === "/kid" ) ?. detail }
170
180
className = "border border-[#0214317D] rounded-md"
171
- defaultValue = { utbetaling . betalingsinformasjon ?. kid }
181
+ defaultValue = { utbetaling . betalingsinformasjon ?. kid ?? "" }
172
182
maxLength = { 25 }
173
183
/>
174
184
</ div >
0 commit comments