@@ -39,7 +39,13 @@ export const METADATA_FIELDS = [
3939 * @param {object } result Raw metadata
4040 * @param {OrganMetadataCollection } organMetadata Organ metadata
4141 */
42- export async function toLookup ( result , organMetadata ) {
42+ export async function toLookup ( result , organMetadata , token = undefined ) {
43+ // Headers to use in authenticated fetch requests
44+ const headers = { } ;
45+ if ( token ) {
46+ headers [ 'Authorization' ] = `Bearer ${ token } ` ;
47+ }
48+
4349 /** @type {Map<string, SennetMetadata> } */
4450 const lookup = new Map ( ) ;
4551 for ( const hit of result . hits . hits ) {
@@ -54,18 +60,23 @@ export async function toLookup(result, organMetadata) {
5460 sources : [ { uuid : donor_uuid } ] ,
5561 } ,
5662 } = hit ;
57- const source = await fetch ( `${ SENNET_ENTITY_ENDPOINT } ${ donor_uuid } ` ) . then ( ( r ) => r . json ( ) ) ;
63+ const source = await fetch ( `${ SENNET_ENTITY_ENDPOINT } ${ donor_uuid } ` , { headers } ) . then ( ( r ) => r . json ( ) ) ;
5864 const {
5965 source_mapped_metadata : {
60- age : { value : [ donor_age ] = [ '' ] } ,
61- race : { value : [ donor_race ] = [ '' ] } ,
62- sex : { value : [ donor_sex ] = [ '' ] } ,
63- body_mass_index : { value : [ donor_bmi ] = [ '' ] } ,
64- } ,
66+ age : { value : [ donor_age ] = [ '' ] } = { } ,
67+ race : { value : [ donor_race ] = [ '' ] } = { } ,
68+ sex : { value : [ donor_sex ] = [ '' ] } = { } ,
69+ body_mass_index : { value : [ donor_bmi ] = [ '' ] } = { } ,
70+ } = { } ,
6571 } = source ;
66- const ancestors = await fetch ( `${ SENNET_ANCESTORS_ENDPOINT } ${ uuid } ` ) . then ( ( r ) => r . json ( ) ) ;
67- const mapped_organ = organMetadata . resolve ( ORGAN_MAPPING [ organ . toUpperCase ( ) ] ?. organ_id ?? '' ) ;
6872
73+ const ancestors = await fetch ( `${ SENNET_ANCESTORS_ENDPOINT } ${ uuid } ` , { headers } ) . then ( ( r ) => r . json ( ) ) ;
74+ if ( ancestors . error ) {
75+ console . error ( `Error getting ancestors for ${ uuid } : ${ ancestors . error } ` ) ;
76+ throw new Error ( ancestors . error ) ;
77+ }
78+
79+ const mapped_organ = organMetadata . resolve ( ORGAN_MAPPING [ organ . toUpperCase ( ) ] ?. organ_id ?? '' ) ;
6980 const { block_id, rui_location } = getSampleBlockId ( ancestors , SENNET_ENTITY_ENDPOINT ) ;
7081 lookup . set ( sennet_id , {
7182 organ : mapped_organ ,
0 commit comments