@@ -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 , LogMarker , 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 }
@@ -282,12 +282,16 @@ class ElasticSearch(
282282
283283 def getRelationDetails (mediaIdThisIsFor : String , getSecureThumbUrl : Image => String )(
284284 id : String
285- )(implicit ex : ExecutionContext , request : AuthenticatedRequest [AnyContent , Principal ], logMarker: MarkerMap = MarkerMap ()): (String , Option [Map [ String , String ] ]) = {
285+ )(implicit ex : ExecutionContext , request : AuthenticatedRequest [AnyContent , Principal ], logMarker: MarkerMap = MarkerMap ()): (String , Option [RelationDetail ]) = {
286286 try {
287- id -> Await .result(getImageById(id), 5 .seconds).map(image => Map (
288- " thumbnail" -> getSecureThumbUrl(image),
289- " addedBy" -> image.uploadedBy
290- ))
287+ id -> Await .result(getImageById(id), 5 .seconds).map{image =>
288+ RelationDetail (
289+ thumbnail = getSecureThumbUrl(image),
290+ addedBy = image.uploadedBy,
291+ addedAt = image.uploadTime,
292+ dimensions = image.source.orientedDimensions.orElse(image.source.dimensions)
293+ )
294+ }
291295 } catch {
292296 case e : TimeoutException =>
293297 logger.error(logMarker, s " Timeout getting image $id (when finding relation details for $mediaIdThisIsFor) " , e)
0 commit comments