in thrall/app/lib/kinesis/MessageTranslator.scala [9:82]
def translate(updateMessage: UpdateMessage): Either[Throwable, ExternalThrallMessage] = {
updateMessage.subject match {
case Image | ReingestImage | UpdateImage =>
updateMessage.image match {
case Some(image) => Right(ImageMessage(updateMessage.lastModified, image))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case DeleteImage => (updateMessage.id) match {
case (Some(id)) => Right(DeleteImageMessage(id, updateMessage.lastModified))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case SoftDeleteImage => (updateMessage.id, updateMessage.softDeletedMetadata) match {
case (Some(id) , Some(deletedMetadata)) => Right(SoftDeleteImageMessage(id, updateMessage.lastModified, deletedMetadata))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case UnSoftDeleteImage => (updateMessage.id) match {
case (Some(id)) => Right(UnSoftDeleteImageMessage(id, updateMessage.lastModified))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case DeleteImageExports => (updateMessage.id) match {
case (Some(id)) => Right(DeleteImageExportsMessage(id, updateMessage.lastModified))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case UpdateImageExports => (updateMessage.id, updateMessage.crops) match {
case (Some(id), Some(crops)) => Right(UpdateImageExportsMessage(id, updateMessage.lastModified, crops))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case UpdateImageUserMetadata => (updateMessage.id, updateMessage.edits) match {
case (Some(id), Some(edits)) => Right(UpdateImageUserMetadataMessage(id, updateMessage.lastModified, edits))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case UpdateImageUsages => (updateMessage.id, updateMessage.usageNotice) match {
case (Some(id), Some(usageNotice)) => Right(UpdateImageUsagesMessage(id, updateMessage.lastModified, usageNotice))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case ReplaceImageLeases => (updateMessage.id, updateMessage.leases) match {
case (Some(id), Some(leases)) => Right(ReplaceImageLeasesMessage(id, updateMessage.lastModified, leases))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case AddImageLease => (updateMessage.id, updateMessage.mediaLease) match {
case (Some(id), Some(mediaLease)) => Right(AddImageLeaseMessage(id, updateMessage.lastModified, mediaLease))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case RemoveImageLease => (updateMessage.id, updateMessage.leaseId) match {
case (Some(id), Some(leaseId)) => Right(RemoveImageLeaseMessage(id, updateMessage.lastModified, leaseId))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case SetImageCollections => (updateMessage.id, updateMessage.collections) match {
case (Some(id), Some(collections)) => Right(SetImageCollectionsMessage(id, updateMessage.lastModified, collections))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case DeleteUsages => (updateMessage.id) match {
case Some(id) => Right(DeleteUsagesMessage(id, updateMessage.lastModified))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case DeleteSingleUsage => (updateMessage.id, updateMessage.usageId) match {
case (Some(id), Some(usageId)) => Right(DeleteSingleUsageMessage(id, updateMessage.lastModified, usageId))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case UpdateImageSyndicationMetadata => (updateMessage.id, updateMessage.syndicationRights) match {
case (Some(id), maybeSyndicationMetadata) => Right(UpdateImageSyndicationMetadataMessage(id, updateMessage.lastModified, maybeSyndicationMetadata))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case UpdateImagePhotoshootMetadata => (updateMessage.id, updateMessage.edits) match {
case (Some(id), Some(edits)) => Right(UpdateImagePhotoshootMetadataMessage(id, updateMessage.lastModified, edits))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case UpdateUsageStatus => (updateMessage.id, updateMessage.usageNotice ) match {
case (Some(id), Some(usageNotice)) => Right(UpdateUsageStatusMessage(id, usageNotice, updateMessage.lastModified))
case _ => Left(MissingFieldsException(updateMessage.subject))
}
case _ => Left(ProcessorNotFoundException(updateMessage.subject))
}
}