def getProjectsForCommission()

in app/controllers/ProjectEntryController.scala [1053:1100]


  def getProjectsForCommission(commission: Int) = dbConfig.db.run(
    TableQuery[ProjectEntryRow].filter(_.commission===commission).sortBy(_.created.desc).result
  ).map(Success(_)).recover(Failure(_))

  def deleteCommissionData(commissionId: Int) = IsAdmin { uid =>
    request =>
      logger.info(s"Got a delete data request for commission ${commissionId}.")
      logger.info(s"Commission value is: ${request.body.asJson.get("commission")}")
      logger.info(s"Pluto value is: ${request.body.asJson.get("pluto")}")
      logger.info(s"File value is: ${request.body.asJson.get("file")}")
      logger.info(s"Backups value is: ${request.body.asJson.get("backups")}")
      logger.info(s"PTR value is: ${request.body.asJson.get("PTR")}")
      logger.info(s"Deliverables value is: ${request.body.asJson.get("deliverables")}")
      logger.info(s"SAN value is: ${request.body.asJson.get("SAN")}")
      logger.info(s"Matrix value is: ${request.body.asJson.get("matrix")}")
      logger.info(s"S3 value is: ${request.body.asJson.get("S3")}")
      logger.info(s"Buckets value is: ${request.body.asJson.get("buckets")}")
      logger.info(s"Bucket Booleans value is: ${request.body.asJson.get("bucketBooleans")}")

      implicit val db = dbConfig.db

      getProjectsForCommission(commissionId).map({
        case Success(result)=>
          result.map((project) => {
            logger.info(s"Found project ${project.id.get}.")
            deleteDataRunner(project.id.get, 400, request.body.asJson.get("pluto").toString().toBoolean, request.body.asJson.get("file").toString().toBoolean, request.body.asJson.get("backups").toString().toBoolean, request.body.asJson.get("PTR").toString().toBoolean, request.body.asJson.get("deliverables").toString().toBoolean, request.body.asJson.get("SAN").toString().toBoolean, request.body.asJson.get("matrix").toString().toBoolean, request.body.asJson.get("S3").toString().toBoolean, request.body.asJson.get("buckets").validate[Array[String]].get, request.body.asJson.get("bucketBooleans").validate[Array[Boolean]].get)
          })
          if (request.body.asJson.get("commission").toString().toBoolean) {
            Thread.sleep(1400)

            PlutoCommission.forId(commissionId).map({
              case Some(plutoCommission: PlutoCommission) =>
                plutoCommission.removeFromDatabase.map({
                  case Success(_) =>
                    logger.info(s"Attempt at removing commission record worked.")
                  case Failure(error) =>
                    logger.error(s"Attempt at removing commission record failed with error: ${error}")
                })
              case None =>
                logger.error(s"Could not look up commission entry for ${commissionId}: ")
            })
          }
        case Failure(error)=>
          logger.error(error.toString)
      })

      Ok(Json.obj("status"->"ok","detail"->"Delete data run."))
  }