@@ -7,7 +7,7 @@ import com.gu.mediaservice.lib.auth.Authentication.Principal
77import com .gu .mediaservice .lib .elasticsearch .{CompletionPreview , ElasticSearchClient , ElasticSearchConfig , MigrationStatusProvider , Running }
88import com .gu .mediaservice .lib .logging .{GridLogging , MarkerMap }
99import com .gu .mediaservice .lib .metrics .FutureSyntax
10- import com .gu .mediaservice .model .{Agencies , Agency , AwaitingReviewForSyndication , Image }
10+ import com .gu .mediaservice .model .{Agencies , Agency , AwaitingReviewForSyndication , Dimensions , Image }
1111import com .sksamuel .elastic4s .ElasticDsl
1212import com .sksamuel .elastic4s .ElasticDsl ._
1313import com .sksamuel .elastic4s .requests .get .{GetRequest , GetResponse }
@@ -280,12 +280,16 @@ class ElasticSearch(
280280
281281 def getRelationDetails (mediaIdThisIsFor : String , getSecureThumbUrl : Image => String )(
282282 id : String
283- )(implicit ex : ExecutionContext , request : AuthenticatedRequest [AnyContent , Principal ], logMarker: MarkerMap = MarkerMap ()): (String , Option [Map [ String , String ] ]) = {
283+ )(implicit ex : ExecutionContext , request : AuthenticatedRequest [AnyContent , Principal ], logMarker: MarkerMap = MarkerMap ()): (String , Option [RelationDetail ]) = {
284284 try {
285- id -> Await .result(getImageById(id), 5 .seconds).map(image => Map (
286- " thumbnail" -> getSecureThumbUrl(image),
287- " addedBy" -> image.uploadedBy
288- ))
285+ id -> Await .result(getImageById(id), 5 .seconds).map{image =>
286+ RelationDetail (
287+ thumbnail = getSecureThumbUrl(image),
288+ addedBy = image.uploadedBy,
289+ addedAt = image.uploadTime,
290+ dimensions = image.source.orientedDimensions.orElse(image.source.dimensions)
291+ )
292+ }
289293 } catch {
290294 case e : TimeoutException =>
291295 logger.error(logMarker, s " Timeout getting image $id (when finding relation details for $mediaIdThisIsFor) " , e)
0 commit comments