From 6c867b2b92b09e09573b773ff774d22875df7137 Mon Sep 17 00:00:00 2001 From: xhagrg Date: Wed, 19 Apr 2017 09:46:08 -0500 Subject: [PATCH] Send required info for users. --- app/serializers/user_serializer.rb | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/app/serializers/user_serializer.rb b/app/serializers/user_serializer.rb index a4c7507..f14d7aa 100644 --- a/app/serializers/user_serializer.rb +++ b/app/serializers/user_serializer.rb @@ -1,7 +1,32 @@ class UserSerializer < ActiveModel::Serializer - attributes :name, :nick_name, :email + attributes :id, :name, :nick_name, :email, :is_friend, + :invitation_present + has_many :friends def id object._id.to_s end + + def friends + if @instance_options[:current_user_id] == id + object.friends + else + [] + end + end + + def is_friend + current_user.friend_ids.map(&:to_s).include?(id) + end + + def invitation_present + Invitation.or([ + { sender_id: id, receiver_id: current_user.id }, + { sender_id: current_user.id, receiver_id: id } + ]).present? + end + + def sent_invitation + current_user.sent_invitations.map { |i| i.receiver_id.to_s }.include?(id) + end end