in api/src/main/scala/com/gu/adapters/store/Store.scala [40:61]
def asAvatar(item: Item): Either[Error, Avatar] = {
val avatarId = item.getString("AvatarId")
val location = KVLocationFromID(avatarId)
for {
secureUrl <- fs.presignedUrl(props.processedBucket, location)
secureRawUrl <- fs.presignedUrl(props.rawBucket, location)
} yield {
Avatar(
id = avatarId,
avatarUrl = secureUrl.toString,
userId = item.getString("UserId"),
originalFilename = item.getString("OriginalFilename"),
rawUrl = secureRawUrl.toString,
status = Status(item.getString("Status")),
createdAt = ISODateFormatter.parse(item.getString("CreatedAt")),
lastModified = ISODateFormatter.parse(item.getString("LastModified")),
isSocial = item.getString("IsSocial").toBoolean,
isActive = item.getString("IsActive").toBoolean
)
}
}