Commit d4f50a7fa501b1a0748646ce3fea7c4f60b512df
Committed by
Rodrigo Souto
1 parent
a27de945
Exists in
staging
and in
41 other branches
api: accept order parameter
Showing
1 changed file
with
9 additions
and
5 deletions
Show diff stats
lib/noosfero/api/helpers.rb
| ... | ... | @@ -67,15 +67,19 @@ module Noosfero |
| 67 | 67 | |
| 68 | 68 | conditions |
| 69 | 69 | end |
| 70 | - | |
| 71 | - | |
| 70 | + | |
| 71 | + def make_order_with_parameters(params) | |
| 72 | + params[:order] || "created_at DESC" | |
| 73 | + end | |
| 74 | + | |
| 72 | 75 | def select_filtered_collection_of(object, method, params) |
| 73 | 76 | conditions = make_conditions_with_parameter(params) |
| 74 | - | |
| 77 | + order = make_order_with_parameters(params) | |
| 78 | + | |
| 75 | 79 | if params[:reference_id] |
| 76 | - objects = object.send(method).send("#{params.key?(:oldest) ? 'older_than' : 'newer_than'}", params[:reference_id]).where(conditions).limit(limit).order("created_at DESC") | |
| 80 | + objects = object.send(method).send("#{params.key?(:oldest) ? 'older_than' : 'newer_than'}", params[:reference_id]).where(conditions).limit(limit).order(order) | |
| 77 | 81 | else |
| 78 | - objects = object.send(method).where(conditions).limit(limit).order("created_at DESC") | |
| 82 | + objects = object.send(method).where(conditions).limit(limit).order(order) | |
| 79 | 83 | end |
| 80 | 84 | objects |
| 81 | 85 | end | ... | ... |