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 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
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