Skip to content

Commit 31f3111

Browse files
authored
Merge pull request #4469 from guardian/an/safe-parse-oldest-uploadtime-query
convert api requests asking for "orderBy=oldest" to the corect value
2 parents bf745bf + 636dd1d commit 31f3111

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

media-api/app/lib/elasticsearch/ElasticSearchModel.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ object SearchParams {
120120
def parseBooleanFromQuery(s: String): Option[Boolean] = Try(s.toBoolean).toOption
121121
def parseSyndicationStatus(s: String): Option[SyndicationStatus] = Some(SyndicationStatus(s))
122122

123+
private def readOrderBy(orderByRaw: String): String = {
124+
if (orderByRaw == "oldest") "uploadTime"
125+
else orderByRaw
126+
}
127+
123128
def apply(request: Authentication.Request[Any]): SearchParams = {
124129

125130
def commaSep(key: String): List[String] = request.getQueryString(key).toList.flatMap(commasToList)
@@ -143,7 +148,7 @@ object SearchParams {
143148
request.getQueryString("ids").map(_.split(",").toList),
144149
request.getQueryString("offset") flatMap parseIntFromQuery getOrElse 0,
145150
request.getQueryString("length") flatMap parseIntFromQuery getOrElse 10,
146-
request.getQueryString("orderBy"),
151+
request.getQueryString("orderBy") map readOrderBy,
147152
request.getQueryString("since") flatMap parseDateFromQuery,
148153
request.getQueryString("until") flatMap parseDateFromQuery,
149154
request.getQueryString("modifiedSince") flatMap parseDateFromQuery,

0 commit comments

Comments
 (0)