Skip to content
Snippets Groups Projects
activities_controller.rb 684 B
Newer Older
class V1::ActivitiesController < ApplicationController
  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