in app/util/AtomElementBuilders.scala [19:37]
def buildContentChangeDetails(user: PandaUser, existingContentChangeDetails: Option[ContentChangeDetails], updateCreated: Boolean = false,
updateLastModified: Boolean = false, updatePublished: Boolean = false, updateTakenDown: Boolean = false): ContentChangeDetails = {
def pandaUserToAtomUser(user: PandaUser): User = {
User(user.email, Some(user.firstName), Some(user.lastName))
}
def buildChangeRecord(existingRecord: Option[ChangeRecord], shouldUpdate: Boolean) = {
if (shouldUpdate) {
Some(ChangeRecord(DateTime.now.getMillis, user=Some(pandaUserToAtomUser(user))))
} else if (existingRecord.isDefined) existingRecord else None
}
ContentChangeDetails(
created = buildChangeRecord(existingContentChangeDetails.flatMap(_.created) , updateCreated),
lastModified = buildChangeRecord(existingContentChangeDetails.flatMap(_.lastModified), updateLastModified),
published = buildChangeRecord(existingContentChangeDetails.flatMap(_.published) , updatePublished),
takenDown = buildChangeRecord(existingContentChangeDetails.flatMap(_.takenDown) , updateTakenDown),
revision = existingContentChangeDetails.map(_.revision).getOrElse(0L) + 1
)
}