def initiateGuts()

in app/controllers/BulkDownloadsController.scala [224:257]


  def initiateGuts(codeValue:String)(cb:(ServerTokenEntry, LightboxBulkEntry)=>Future[Result]) = {
    serverTokenDAO.get(codeValue).flatMap({
      case None=>
        logger.error(s"No token exists for $codeValue")
        Future(Forbidden(GenericErrorResponse("forbidden", "invalid or expired token").asJson))
      case Some(Left(err))=>
        logger.error(s"Could not verify one-time token: ${err.toString}")
        Future(Forbidden(GenericErrorResponse("forbidden", "invalid or expired token").asJson))
      case Some(Right(token))=>
        val updatedToken = token.updateCheckExpired(maxUses=Some(1)).copy(uses = token.uses+1)
        if(updatedToken.expired){
          logger.error(s"Token ${updatedToken.value} is expired, denying access")
          errorResponse(updatedToken)
        } else {
          token.associatedId match {
            case None=>
              logger.error(s"Token ${token.value} has no bulk associated with it!")
              errorResponse(updatedToken)
            case Some(associatedId)=>
              if(associatedId=="loose"){
                val looseBulkEntry = LightboxBulkEntry.forLoose(updatedToken.createdForUser.getOrElse("unknown"),-1)
                cb(updatedToken, looseBulkEntry)
              } else {
                lightboxBulkEntryDAO.entryForId(UUID.fromString(associatedId)).flatMap({
                  case Some(Left(err)) => errorResponse(updatedToken)
                  case None => errorResponse(updatedToken)
                  case Some(Right(bulkEntry)) =>
                    cb(updatedToken, bulkEntry)
                })
              }
          }
        }
    })
  }