in app/model/commands/PublishAtomCommand.scala [140:159]
private def publishAtomToLive(mediaAtom: MediaAtom): MediaAtom = {
val atom = mediaAtom.asThrift
val event = ContentAtomEvent(atom, EventType.Update, (new Date()).getTime())
livePublisher.publishAtomEvent(event) match {
case Success(_) =>
publishedDataStore.updateAtom(atom) match {
case Right(_) => {
log.info(s"Successfully published atom: ${id} (revision ${atom.contentChangeDetails.revision})")
MediaAtom.fromThrift(atom)
}
case Left(err) =>
log.error("Unable to update datastore after publish", err)
AtomPublishFailed(s"Could not save published atom")
}
case Failure(err) =>
log.error("Unable to publish atom to kinesis", err)
AtomPublishFailed(s"Could not publish atom")
}
}