Commit 532cef679340dc0934e2a30fc82af5a34a3cc293
1 parent
0eba5453
Exists in
api_tasks
and in
1 other branch
API improvements
- Fixed bug on GET enterprise API showing communities and vice-versa. - Improved POST comment API to recieve multiple params, such as Title. Signed-off-by: André Bernardes <andrebsguedes@gmail.com> Signed-off-by: Tallys Martins <tallysmartins@gmail.com>
Showing
3 changed files
with
12 additions
and
4 deletions
Show diff stats
lib/noosfero/api/v1/comments.rb
| @@ -38,7 +38,8 @@ module Noosfero | @@ -38,7 +38,8 @@ module Noosfero | ||
| 38 | # POST api/v1/articles/12/comments?private_toke=234298743290432&body=new comment | 38 | # POST api/v1/articles/12/comments?private_toke=234298743290432&body=new comment |
| 39 | post ":id/comments" do | 39 | post ":id/comments" do |
| 40 | article = find_article(environment.articles, params[:id]) | 40 | article = find_article(environment.articles, params[:id]) |
| 41 | - present article.comments.create(:author => current_person, :body => params[:body]), :with => Entities::Comment | 41 | + options = params[:comment].merge(:author => current_person) |
| 42 | + present article.comments.create(options), :with => Entities::Comment | ||
| 42 | end | 43 | end |
| 43 | end | 44 | end |
| 44 | 45 |
lib/noosfero/api/v1/communities.rb
| @@ -19,6 +19,7 @@ module Noosfero | @@ -19,6 +19,7 @@ module Noosfero | ||
| 19 | get do | 19 | get do |
| 20 | communities = select_filtered_collection_of(environment, 'communities', params) | 20 | communities = select_filtered_collection_of(environment, 'communities', params) |
| 21 | communities = communities.visible_for_person(current_person) | 21 | communities = communities.visible_for_person(current_person) |
| 22 | + communities = communities.by_location(params) # Must be the last. May return Exception obj. | ||
| 22 | present communities, :with => Entities::Community | 23 | present communities, :with => Entities::Community |
| 23 | end | 24 | end |
| 24 | 25 | ||
| @@ -41,7 +42,10 @@ module Noosfero | @@ -41,7 +42,10 @@ module Noosfero | ||
| 41 | end | 42 | end |
| 42 | 43 | ||
| 43 | get ':id' do | 44 | get ':id' do |
| 44 | - community = environment.communities.visible.find_by_id(params[:id]) | 45 | + community = environment.communities.find_by_id(params[:id]) |
| 46 | + unless community.nil? | ||
| 47 | + community = nil unless community.display_info_to?(current_person) | ||
| 48 | + end | ||
| 45 | present community, :with => Entities::Community | 49 | present community, :with => Entities::Community |
| 46 | end | 50 | end |
| 47 | 51 |
lib/noosfero/api/v1/enterprises.rb
| @@ -5,7 +5,7 @@ module Noosfero | @@ -5,7 +5,7 @@ module Noosfero | ||
| 5 | before { authenticate! } | 5 | before { authenticate! } |
| 6 | 6 | ||
| 7 | resource :enterprises do | 7 | resource :enterprises do |
| 8 | - | 8 | + |
| 9 | # Collect enterprises from environment | 9 | # Collect enterprises from environment |
| 10 | # | 10 | # |
| 11 | # Parameters: | 11 | # Parameters: |
| @@ -26,7 +26,10 @@ module Noosfero | @@ -26,7 +26,10 @@ module Noosfero | ||
| 26 | 26 | ||
| 27 | desc "Return one enterprise by id" | 27 | desc "Return one enterprise by id" |
| 28 | get ':id' do | 28 | get ':id' do |
| 29 | - enterprise = environment.enterprises.visible.find_by_id(params[:id]) | 29 | + enterprise = environment.enterprises.find_by_id(params[:id]) |
| 30 | + unless enterprise.nil? | ||
| 31 | + enterprise = nil unless enterprise.display_info_to?(current_person) | ||
| 32 | + end | ||
| 30 | present enterprise, :with => Entities::Enterprise | 33 | present enterprise, :with => Entities::Enterprise |
| 31 | end | 34 | end |
| 32 | 35 |