override def marshalledTags()

in src/main/scala/datastore/ElasticsearchRepo.scala [242:271]


  override def marshalledTags(maybeQuery:Option[String],
                              maybeFuzziness:Option[String],
                              maybeTagId:Option[String],
                              maybeSection: Option[String],
                              tagType:Option[String],
                              maybeCategory:Option[String],
                              maybeReferences:Option[String],
                              orderBy: Option[SortOrder],
                              limit: Option[Int],
                              cursor: Option[String]): Future[Edge[Tag]] = {
    val pageSize = limit.getOrElse(defaultPageSize)

    val sortParam = if(maybeSection.isDefined || tagType.isDefined) {
      ScoreSort(orderBy.getOrElse(SortOrder.DESC))
    } else {
      FieldSort("id", order = orderBy.getOrElse(SortOrder.ASC))
    }

    Edge.decodeCursor(cursor) match {
      case Right(maybeCursor)=>
        client.execute {
          buildTagQuery(maybeTagId, maybeSection, tagType, maybeQuery, maybeFuzziness, maybeCategory, maybeReferences)
            .sortBy(sortParam)
            .limit(pageSize)
            .searchAfter(maybeCursor)
        }.flatMap(handleResponseMultiple(_, pageSize)(tagTransform))
      case Left(err)=>
        Future.failed(new RuntimeException(s"Unable to decode cursor value $cursor: $err"))
    }
  }