def all()

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))
    }
  }