private def paramToList[T]()

in newswires/app/controllers/QueryController.scala [29:80]


  private def paramToList[T](
      request: Request[T],
      paramName: String
  ): List[String] =
    request.getQueryString(paramName).map(_.split(",").toList).getOrElse(Nil)

  def query(
      maybeFreeTextQuery: Option[String],
      maybeKeywords: Option[String],
      suppliers: List[String],
      categoryCode: List[String],
      categoryCodeExcl: List[String],
      maybeStart: Option[String],
      maybeEnd: Option[String],
      maybeBeforeId: Option[Int],
      maybeSinceId: Option[Int]
  ): Action[AnyContent] = apiAuthAction { request: UserRequest[AnyContent] =>
    val maybePreset =
      request.getQueryString("preset").flatMap(SearchPresets.get)

    val suppliersToExcludeByDefault =
      if (FeatureSwitchProvider.ShowGuSuppliers.isOn) Nil
      else List("GuReuters", "GuAP")

    val queryParams = SearchParams(
      text = maybeFreeTextQuery,
      start = maybeStart,
      end = maybeEnd,
      keywordIncl = maybeKeywords.map(_.split(",").toList).getOrElse(Nil),
      keywordExcl = paramToList(request, "keywordsExcl"),
      suppliersIncl = suppliers,
      suppliersExcl = request.queryString
        .get("supplierExcl")
        .map(_.toList)
        .getOrElse(Nil) ++ suppliersToExcludeByDefault,
      categoryCodesIncl = categoryCode,
      categoryCodesExcl = categoryCodeExcl
    )

    Ok(
      Json.toJson(
        FingerpostWireEntry.query(
          searchParams = queryParams,
          savedSearchParamList = maybePreset.getOrElse(Nil),
          maybeTextSearch = maybeFreeTextQuery,
          maybeBeforeId = maybeBeforeId,
          maybeSinceId = maybeSinceId,
          pageSize = 30
        )
      )
    )
  }