@@ -11,6 +11,7 @@ interface ApiResponse<T = unknown> {
1111interface CallOptions {
1212 method ?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' ;
1313 body ?: unknown ;
14+ headers ?: Record < string , string > ;
1415}
1516
1617/**
@@ -21,7 +22,7 @@ async function call<T = unknown>(
2122 endpoint : string ,
2223 options : CallOptions = { } ,
2324) : Promise < ApiResponse < T > > {
24- const { method = 'GET' , body } = options ;
25+ const { method = 'GET' , body, headers : customHeaders } = options ;
2526
2627 const requestHeaders : Record < string , string > = {
2728 'Content-Type' : 'application/json' ,
@@ -33,6 +34,11 @@ async function call<T = unknown>(
3334 requestHeaders [ 'Cookie' ] = cookieHeader ;
3435 }
3536
37+ // Apply custom headers (e.g. Authorization, X-Organization-Id)
38+ if ( customHeaders ) {
39+ Object . assign ( requestHeaders , customHeaders ) ;
40+ }
41+
3642 try {
3743 const response = await fetch ( `${ API_BASE_URL } ${ endpoint } ` , {
3844 method,
@@ -67,16 +73,18 @@ async function call<T = unknown>(
6773}
6874
6975export const serverApi = {
70- get : < T = unknown > ( endpoint : string ) => call < T > ( endpoint , { method : 'GET' } ) ,
76+ get : < T = unknown > ( endpoint : string , headers ?: Record < string , string > ) =>
77+ call < T > ( endpoint , { method : 'GET' , headers } ) ,
7178
72- post : < T = unknown > ( endpoint : string , body ?: unknown ) =>
73- call < T > ( endpoint , { method : 'POST' , body } ) ,
79+ post : < T = unknown > ( endpoint : string , body ?: unknown , headers ?: Record < string , string > ) =>
80+ call < T > ( endpoint , { method : 'POST' , body, headers } ) ,
7481
75- put : < T = unknown > ( endpoint : string , body ?: unknown ) =>
76- call < T > ( endpoint , { method : 'PUT' , body } ) ,
82+ put : < T = unknown > ( endpoint : string , body ?: unknown , headers ?: Record < string , string > ) =>
83+ call < T > ( endpoint , { method : 'PUT' , body, headers } ) ,
7784
78- patch : < T = unknown > ( endpoint : string , body ?: unknown ) =>
79- call < T > ( endpoint , { method : 'PATCH' , body } ) ,
85+ patch : < T = unknown > ( endpoint : string , body ?: unknown , headers ?: Record < string , string > ) =>
86+ call < T > ( endpoint , { method : 'PATCH' , body, headers } ) ,
8087
81- delete : < T = unknown > ( endpoint : string ) => call < T > ( endpoint , { method : 'DELETE' } ) ,
88+ delete : < T = unknown > ( endpoint : string , headers ?: Record < string , string > ) =>
89+ call < T > ( endpoint , { method : 'DELETE' , headers } ) ,
8290} ;
0 commit comments