Newer
Older
class V1::ActivitiesController < ApplicationController

Mauricio Giacomini Girardello
committed
include ::ResourceModel
before_action :authenticate_user!
# GET v1/activities
# GET v1/activities.json
def index
render json: PublicActivity::Activity.includes(:owner).order('created_at DESC').all
# GET v1/users/1/activities
# GET v1/users/1/activities.json
def user_activities
render json: activities(resource_model)
end
private
def activities(object)
condition = '(owner_type = :type AND owner_id = :id) OR (recipient_type = :type AND recipient_id = :id)'
PublicActivity::Activity.order('created_at DESC').where(condition, {type: object.class.to_s, id: object.id}).all
end