@@ -90,17 +90,26 @@ export default (
9090 } ) ;
9191 } ,
9292
93- getOne : ( resource , params ) =>
94- httpClient ( `${ apiUrl } /${ resource } /${ encodeURIComponent ( params . id ) } ` , {
95- signal : params ?. signal ,
96- } ) . then ( ( { json } ) => ( {
97- data : json ,
98- } ) ) ,
93+ getOne : async ( resource , params ) => {
94+ let query : string = '' ;
95+ if ( params . meta && params . meta . embed ) {
96+ query =
97+ '?' + stringify ( { embed : JSON . stringify ( params . meta . embed ) } ) ;
98+ }
99+ const { json } = await httpClient (
100+ `${ apiUrl } /${ resource } /${ encodeURIComponent ( params . id ) } ${ query } ` ,
101+ { signal : params ?. signal }
102+ ) ;
103+ return { data : json } ;
104+ } ,
99105
100106 getMany : ( resource , params ) => {
101- const query = {
107+ const query : { filter : string ; embed ?: string } = {
102108 filter : JSON . stringify ( { id : params . ids } ) ,
103109 } ;
110+ if ( params . meta && params . meta . embed ) {
111+ query . embed = JSON . stringify ( params . meta . embed ) ;
112+ }
104113 const url = `${ apiUrl } /${ resource } ?${ stringify ( query ) } ` ;
105114 return httpClient ( url , { signal : params ?. signal } ) . then ( ( { json } ) => ( {
106115 data : json ,
@@ -114,14 +123,22 @@ export default (
114123 const rangeStart = ( page - 1 ) * perPage ;
115124 const rangeEnd = page * perPage - 1 ;
116125
117- const query = {
126+ const query : {
127+ sort : string ;
128+ range : string ;
129+ filter : string ;
130+ embed ?: string ;
131+ } = {
118132 sort : JSON . stringify ( [ field , order ] ) ,
119133 range : JSON . stringify ( [ ( page - 1 ) * perPage , page * perPage - 1 ] ) ,
120134 filter : JSON . stringify ( {
121135 ...params . filter ,
122136 [ params . target ] : params . id ,
123137 } ) ,
124138 } ;
139+ if ( params . meta && params . meta . embed ) {
140+ query . embed = JSON . stringify ( params . meta . embed ) ;
141+ }
125142 const url = `${ apiUrl } /${ resource } ?${ stringify ( query ) } ` ;
126143 const options =
127144 countHeader === 'Content-Range'
0 commit comments