From 5c39797bf9a5dd3ebd324126e6ee06d990266e9e Mon Sep 17 00:00:00 2001 From: Victor Costa Date: Wed, 13 Jan 2016 11:36:39 -0300 Subject: [PATCH] api: add activities endpoint --- lib/noosfero/api/api.rb | 1 + lib/noosfero/api/entities.rb | 4 ++++ lib/noosfero/api/v1/activities.rb | 25 +++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 0 deletions(-) create mode 100644 lib/noosfero/api/v1/activities.rb diff --git a/lib/noosfero/api/api.rb b/lib/noosfero/api/api.rb index a31a818..357880b 100644 --- a/lib/noosfero/api/api.rb +++ b/lib/noosfero/api/api.rb @@ -56,6 +56,7 @@ module Noosfero mount V1::Contacts mount V1::Boxes mount V1::Profiles + mount V1::Activities mount Session diff --git a/lib/noosfero/api/entities.rb b/lib/noosfero/api/entities.rb index 5caa3ed..9f53ecc 100644 --- a/lib/noosfero/api/entities.rb +++ b/lib/noosfero/api/entities.rb @@ -236,6 +236,10 @@ module Noosfero expose :name end + class Activity < Entity + root 'activities', 'activity' + expose :id, :params, :verb, :created_at, :updated_at, :comments_count, :visible + end end end diff --git a/lib/noosfero/api/v1/activities.rb b/lib/noosfero/api/v1/activities.rb new file mode 100644 index 0000000..3c979f3 --- /dev/null +++ b/lib/noosfero/api/v1/activities.rb @@ -0,0 +1,25 @@ +module Noosfero + module API + module V1 + class Activities < Grape::API + before { authenticate! } + + resource :profiles do + + get ':id/activities' do + profile = environment.profiles + profile = profile.visible_for_person(current_person) if profile.respond_to?(:visible_for_person) + profile = profile.find_by_id(params[:id]) + activities = profile.activities.map(&:activity) + present activities, :with => Entities::Activity, :current_person => current_person + end + + get ':id/network_activities' do + #TODO + end + + end + end + end + end +end -- libgit2 0.21.2