1
1
const MEDUSA_API_KEY = process . env . NEXT_PUBLIC_MEDUSA_API_KEY || ""
2
- const REVALIDATE_WINDOW = process . env . REVALIDATE_WINDOW || "60* 1000*10 " // 10 minutes
2
+ const REVALIDATE_WINDOW = process . env . REVALIDATE_WINDOW || "1000 * 60 * 60 " // 10 minutes
3
3
const ENDPOINT =
4
4
process . env . NEXT_PUBLIC_MEDUSA_BACKEND_URL || "http://localhost:9000"
5
5
@@ -22,8 +22,8 @@ export default async function medusaRequest(
22
22
options . body = JSON . stringify ( payload . body )
23
23
}
24
24
if ( "query" in payload ) {
25
- const queries = parseArrays ( payload . query )
26
- path = `${ path } ?${ new URLSearchParams ( queries ) . toString ( ) } `
25
+ const params = objectToURLSearchParams ( payload . query ) . toString ( )
26
+ path = `${ path } ?${ params } `
27
27
}
28
28
}
29
29
@@ -46,14 +46,18 @@ export default async function medusaRequest(
46
46
}
47
47
}
48
48
49
- const parseArrays = ( obj : Record < string , any > ) => {
50
- const result = { } as Record < string , any >
51
- Object . entries ( obj ) . forEach ( ( [ key , value ] ) => {
52
- if ( Array . isArray ( value ) ) {
53
- result [ `${ key } []` ] = value . join ( "," )
54
- return
49
+ function objectToURLSearchParams ( obj : Record < string , any > ) : URLSearchParams {
50
+ const params = new URLSearchParams ( )
51
+
52
+ for ( const key in obj ) {
53
+ if ( Array . isArray ( obj [ key ] ) ) {
54
+ obj [ key ] . forEach ( ( value : any ) => {
55
+ params . append ( `${ key } []` , value )
56
+ } )
57
+ } else {
58
+ params . append ( key , obj [ key ] )
55
59
}
56
- result [ key ] = value
57
- } )
58
- return result
60
+ }
61
+
62
+ return params
59
63
}
0 commit comments