in app/controllers/CampaignController.scala [18:31]
def all(group: Option[String]) = googleAuthAction.async {
import com.gu.memsub.promo.Formatters.PromotionFormatters._
val campaignsF = campaignService.all
val promotionsF = promotionService.all
for {
campaigns <- campaignsF
promotions <- promotionsF
} yield {
val filtered = filterCampaignsByOptionalGroup(group.flatMap(CampaignGroup.fromId), campaigns)
val campaignsSortedByDateThenName = sortCampaignsByPromotionDateThenNameForDisplay(filtered, promotions)
Ok(Json.toJson(campaignsSortedByDateThenName))
}
}