Commit 6c8bd41f21bdbc1027ea3cf7f3e7fe22b1f9da11
Exists in
staging
and in
3 other branches
Merge branch 'angular_poc' into staging
Showing
3 changed files
with
35 additions
and
0 deletions
Show diff stats
lib/noosfero/api/api.rb
lib/noosfero/api/entities.rb
... | ... | @@ -236,6 +236,15 @@ module Noosfero |
236 | 236 | expose :name |
237 | 237 | end |
238 | 238 | |
239 | + class Activity < Entity | |
240 | + root 'activities', 'activity' | |
241 | + expose :id, :params, :verb, :created_at, :updated_at, :comments_count, :visible | |
242 | + expose :user, :using => Profile | |
243 | + expose :target do |activity, opts| | |
244 | + type_map = {Profile => ::Profile, ArticleBase => ::Article}.find {|h| activity.target.kind_of?(h.last)} | |
245 | + type_map.first.represent(activity.target) unless type_map.nil? | |
246 | + end | |
247 | + end | |
239 | 248 | |
240 | 249 | end |
241 | 250 | end | ... | ... |
... | ... | @@ -0,0 +1,25 @@ |
1 | +module Noosfero | |
2 | + module API | |
3 | + module V1 | |
4 | + class Activities < Grape::API | |
5 | + before { authenticate! } | |
6 | + | |
7 | + resource :profiles do | |
8 | + | |
9 | + get ':id/activities' do | |
10 | + profile = environment.profiles | |
11 | + profile = profile.visible_for_person(current_person) if profile.respond_to?(:visible_for_person) | |
12 | + profile = profile.find_by_id(params[:id]) | |
13 | + activities = profile.activities.map(&:activity) | |
14 | + present activities, :with => Entities::Activity, :current_person => current_person | |
15 | + end | |
16 | + | |
17 | + get ':id/network_activities' do | |
18 | + #TODO | |
19 | + end | |
20 | + | |
21 | + end | |
22 | + end | |
23 | + end | |
24 | + end | |
25 | +end | ... | ... |