class MobileAppApi::V1::GroupController

Public Instance Methods

get_all_groups() click to toggle source

Api to get all groups of the current user

# File app/controllers/mobile_app_api/v1/group_controller.rb, line 6
def get_all_groups
  params[:per_page] ||= 5
  groups = @user.groups
  unless groups.blank?
    tutors = groups.map {|group| {group.id => group.tutors.except_user(@user).page(params[:page]).per(params[:per_page]).map(&:info)}}
    students = groups.map {|group| {group.id => group.students.except_user(@user).page(params[:page]).per(params[:per_page]).map(&:info)}}
    friends = groups.map {|group| {group.id => group.users.except_user(@user).page(params[:page]).per(params[:per_page]).where(id: @user.common_friends).map(&:info)}}
    render json: {status: 200, groups: groups, tutors: tutors, peers: students, friends: friends}
  else
    render json: {status: 400, error: "No Group Present"}
  end
end
get_group() click to toggle source

Get group by its Id for current user.

# File app/controllers/mobile_app_api/v1/group_controller.rb, line 20
def get_group
  params[:per_page] ||= 5
  if params[:group_id]
    group = Group.find(params[:group_id])
    unless group.blank?
      tutors = group.tutors.except_user(@user).page(params[:page]).per(params[:per_page]).map(&:info)
      students = group.students.except_user(@user).page(params[:page]).per(params[:per_page]).map(&:info)
      friends = group.users.except_user(@user).page(params[:page]).per(params[:per_page]).where(id: @user.common_friends).map(&:info)
      render json: {status: 200, group: group, tutors: tutors, peers: students, friends: friends}
      end
  else
    render json: {status: 400, error: "Please provide valid group id"}
  end
end
get_group_members() click to toggle source

Find the group with Id and get all its group members.

# File app/controllers/mobile_app_api/v1/group_controller.rb, line 36
def get_group_members
  params[:per_page] ||= 5
  if params[:group_id]
    group = Group.find(params[:group_id])
    unless group.blank?
      if params[:type] == "'tutors'"
        group_members = group.tutors.except_user(@user).page(params[:page]).per(params[:per_page]).map(&:info)
      elsif params[:type] == "'students'"
        group_members = group.students.except_user(@user).page(params[:page]).per(params[:per_page]).map(&:info)
      elsif params[:type] == "'friends'"
        group_members = group.users.except_user(@user).page(params[:page]).per(params[:per_page]).where(id: @user.direct_friends).map(&:info)
      else
        group_members = group.users.except_user(@user).page(params[:page]).per(params[:per_page]).map(&:info)
      end
      render json: {status: 200, group_members: group_members}
    end
  else
    render json: {status: 400, error: "Please provide valid group id"}
  end
end