@@ -136,16 +136,24 @@ export interface MetadataResultItem {
136136 metadata : StringKeyObject ;
137137}
138138
139+ function toJsonParam ( value : unknown ) {
140+ return JSON . stringify ( value ?? { } ) ;
141+ }
142+
139143function getMetadataFilterValues ( folderId : string , keys ?: string [ ] ) {
144+ const params : Record < string , string > = { } ;
145+ if ( keys !== undefined ) {
146+ params . keys = toJsonParam ( keys ) ;
147+ }
140148 return girderRest . get < DIVEMetadataFilterValueResults > ( `dive_metadata/${ folderId } /metadata_keys` , {
141- params : { keys } ,
149+ params,
142150 } ) ;
143151}
144152
145153function filterDiveMetadata ( folderId : string , filters : DIVEMetadataFilter , offset = 0 , limit = 50 , sort = 'filename' , sortdir = 1 ) {
146154 return girderRest . get < DIVEMetadataResults > ( `dive_metadata/${ folderId } /filter` , {
147155 params : {
148- filters, offset, limit, sort, sortdir,
156+ filters : toJsonParam ( filters ) , offset, limit, sort, sortdir,
149157 } ,
150158 } ) ;
151159}
@@ -178,7 +186,7 @@ async function getDiveDatasetMetadataRow(
178186function createDiveMetadataClone ( folder : string , filters : DIVEMetadataFilter , destFolder : string ) {
179187 return girderRest . post < string > ( `dive_metadata/${ folder } /clone_filter` , null , {
180188 params : {
181- baseFolder : folder , filters, destFolder,
189+ baseFolder : folder , filters : toJsonParam ( filters ) , destFolder,
182190 } ,
183191 } ) ;
184192}
@@ -206,7 +214,11 @@ function createDiveMetadataFolder(
206214) {
207215 return girderRest . post < createDiveMetadataResponse > ( `dive_metadata/create_metadata_folder/${ parentFolder } ` , null , {
208216 params : {
209- name, rootFolderId, categoricalLimit, displayConfig, ffprobeMetadata,
217+ name,
218+ rootFolderId,
219+ categoricalLimit,
220+ displayConfig : toJsonParam ( displayConfig ) ,
221+ ffprobeMetadata : toJsonParam ( ffprobeMetadata ) ,
210222 } ,
211223 } ) ;
212224}
@@ -342,12 +354,17 @@ async function updateDiveMetadataOrder(folderId: string, order: string[], groups
342354}
343355
344356async function runSlicerMetadataTask ( rootId : string , taskId : string , filters : DIVEMetadataFilter , params : Record < string , XMLBaseValue > ) {
345- return girderRest . post < JobResponse > ( `dive_metadata/${ rootId } /slicer-cli-task` , { taskId, filterParams : { filters, params } } , { params : { taskId, filterParams : { filters, params } } } ) ;
357+ const filterParams = toJsonParam ( { filters, params } ) ;
358+ return girderRest . post < JobResponse > (
359+ `dive_metadata/${ rootId } /slicer-cli-task` ,
360+ { taskId, filterParams } ,
361+ { params : { taskId, filterParams } } ,
362+ ) ;
346363}
347364
348365async function exportDiveMetadata ( folderId : string , filters : DIVEMetadataFilter , format : 'csv' | 'json' , baseUrl ?: string ) {
349366 const response = await girderRest . post ( `dive_metadata/${ folderId } /export` , null , {
350- params : { format, filters, baseURL : baseUrl } ,
367+ params : { format, filters : toJsonParam ( filters ) , baseURL : baseUrl } ,
351368 responseType : 'blob' ,
352369 } ) ;
353370
0 commit comments