in common/src/main/scala/com/gu/anghammarad/common/Contacts.scala [68:85]
private def findUnderSpecifiedMatches(targets: List[Target], mappings: List[Mapping]): Option[List[Contact]] = {
mappings.filter { case Mapping(mappingTargets, _) =>
targets.toSet subsetOf mappingTargets.toSet
} match {
case Nil =>
None
case matches =>
val validMatches = matches.filter { case Mapping(mappingTargets, _) =>
if (includesApp(mappingTargets)) appMatches(targets, mappingTargets)
else if (includesStack(mappingTargets)) stackMatches(targets, mappingTargets)
else if (includesAwsAccount(mappingTargets)) awsAccountMatches(targets, mappingTargets)
else if (includesGithubTeamSlug(mappingTargets)) githubTeamSlugMatches(targets, mappingTargets)
else true
}
sortMappingsByTargets(targets, validMatches)
.headOption.map(_.contacts)
}
}