in app/controllers/banner/BannerDesignsController.scala [184:209]
def setStatus(designName: String, rawStatus: String) =
authAction.async { request =>
run {
logger.info(
s"${request.user.email} is changing status to $rawStatus on: $designName")
parseStatus(rawStatus) match {
case Some(status) =>
// First make sure no test variants are currently using this design
getTestsUsingDesign(designName)
.flatMap {
case Nil =>
dynamoDesigns
.updateStatus(designName, status)
.map(_ => Ok(status.toString))
case tests =>
val testNames = tests.map(banner => banner.name)
ZIO.succeed(BadRequest(s"Cannot change status of design $designName because it's still in use by the following test(s): ${testNames.mkString(", ")}"))
}
case None =>
ZIO.succeed(BadRequest(s"Invalid status for design: $rawStatus"))
}
}
}