in common-lib/src/main/scala/com/gu/mediaservice/lib/ImageFields.scala [42:70]
def identifierField(field: String) = s"identifiers.$field"
def metadataField(field: String) = s"metadata.$field"
def editsField(field: String) = s"userMetadata.$field"
def usageRightsField(field: String) = s"usageRights.$field"
def collectionsField(field: String) = s"collections.$field"
def usagesField(field: String) = s"usages.$field"
def sourceField(field: String) = s"source.$field"
def photoshootField(field: String) = editsField(s"photoshoot.$field")
def leasesField(field: String) = s"leases.$field"
val fieldAliases = Map(
"crops" -> "exports",
"croppedBy" -> "exports.author",
"filename" -> "uploadInfo.filename",
"photoshoot"-> photoshootField("title"),
"leases" -> "leases.leases",
"leasedBy" -> "leases.leases.leasedBy",
"people" -> metadataField("peopleInImage")
)
def getFieldPath(field: String) = field match {
case f if metadataFields.contains(f) => metadataField(f)
case f if usageRightsFields.contains(f) => usageRightsField(f)
case f if editsFields.contains(f) => editsField(f)
case f if collectionsFields.contains(f) => collectionsField(f)
case f if usagesFields.contains(f) => usagesField(f)
case f if sourceFields.contains(f) => sourceField(f)
case f => fieldAliases.getOrElse(f, f)
}