Bug #18341

API sort hash is not working, but sort_by and sort_order are working but undocumented

Added by Tomáš Strachota about 1 year ago. Updated 5 months ago.

Status:New
Priority:Normal
Assigned To:Bryan Kearney
Category:API
Target version:-
Difficulty: Pull request:
Bugzilla link:1138262
Story points-
Velocity based estimate-
ReleaseKatello BacklogRelease relationshipAuto

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1138262

Description of problem:
In the API the order option is working. The documented sort hash is not working. There are the undocumented sort_by and sort_order that are working instead.

Working order:

# curl -K /opt/hoici/etc/curl-admin.conf -H 'Content-Type: application/json' -d '{"per_page":"9999","sort":{"by":"name","order":"desc"}}' -XGET https://localhost/katello/api/v2/organizations/4/products | jq . | tail -n10
  "sort": {
    "order": null,
    "by": null
  },
  "search": null,
  "per_page": "9999",
  "page": 1,
  "subtotal": 19,
  "total": 19
}

Not working sort hash:

# curl -K /opt/hoici/etc/curl-admin.conf -H 'Content-Type: application/json' -d '{"per_page":"9999","order":"name desc"}' -XGET https://localhost/katello/api/v2/organizations/4/products | jq . | tail -n10
  "sort": {
    "order": "desc",
    "by": "name" 
  },
  "search": null,
  "per_page": "9999",
  "page": 1,
  "subtotal": 19,
  "total": 19
}

Working sort_by and sort_order:

# curl -K /opt/hoici/etc/curl-admin.conf -H 'Content-Type: application/json' -d '{"per_page":"9999","sort_by":"name","sort_order":"desc"}' -XGET https://localhost/katello/api/v2/organizations/4/products | jq . | tail -n 10
  "sort": {
    "order": "desc",
    "by": "name" 
  },
  "search": null,
  "per_page": "9999",
  "page": 1,
  "subtotal": 19,
  "total": 19
}

Expected results:
Consistent API functionality and documentation for sorting the results


Related issues

Blocks Hammer CLI - Bug #18340: Hammer params for ordering are inconsistent New 02/01/2017

History

#1 Updated by Tomáš Strachota about 1 year ago

  • Blocks Bug #18340: Hammer params for ordering are inconsistent added

#2 Updated by Justin Sherrill about 1 year ago

  • Subject changed from API sort hash is not working, but sort_by and sort_order are working but undocumented to API sort hash is not working, but sort_by and sort_order are working but undocumented
  • Category set to API
  • Release set to Katello Backlog

#3 Updated by Tomáš Strachota 5 months ago

Ideally we unify the parameters with 'order' and 'by' that foreman uses today.
The steps should be:
  • document the params correctly in the API of Katello
  • fix the systems to use only one set of params for ordering (backward compatibility needs to be kept)
  • add deprecation warnings when the old params are used

Also available in: Atom PDF