package Ġnet . ais cope . g dd _ app . network Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġnet . ais cope . g dd _ app . model . Sample Ċ Ċ class ĠFirebase Remote Storage ( private Ġval Ġup loader : ĠFirebase Storage Uploader , Ġprivate Ġval Ġgson : ĠGson ) Ġ: ĠRemote Storage Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġupload ( sample : ĠSample ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Key Ġ= Ġ"${ sample . id }/ metadata . json " ĊĊĠĠĠĠĠĠĠ Ġup loader . upload ( gson . toJson ( sample . to Dto ()), Ġjson Key ) ĊĊĠĠĠĠĠĠĠ Ġsample . images . forEach Indexed Ġ{ Ġindex , Ġimage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġup loader . upload ( image , Ġ"${ sample . id }/ image _${ index }. jpg ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsample . masks . forEach Indexed Ġ{ Ġindex , Ġmask Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġup loader . upload ( mask , Ġ"${ sample . id }/ mask _${ index }. jpg ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ