From 3cc79d85d99db86ba789aca5fc46ddcaab1a342d Mon Sep 17 00:00:00 2001
From: Bruno FS <bfs15@inf.ufpr.br>
Date: Fri, 9 Dec 2016 11:23:39 -0200
Subject: [PATCH] Added reviewed and complained to serializers

---
 app/serializers/collection_min_serializer.rb  | 11 +++++++++--
 app/serializers/collection_serializer.rb      | 12 ++++++++++--
 app/serializers/learning_object_serializer.rb |  2 +-
 app/serializers/user_serializer.rb            |  9 +++++++--
 4 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/app/serializers/collection_min_serializer.rb b/app/serializers/collection_min_serializer.rb
index 4dbb788e9..93fd70127 100644
--- a/app/serializers/collection_min_serializer.rb
+++ b/app/serializers/collection_min_serializer.rb
@@ -1,12 +1,19 @@
 class CollectionMinSerializer < ActiveModel::Serializer
-  cache key: 'collection', expires_in: 4.hours, except: [:likes_count, :liked]
+  cache key: 'collection', expires_in: 4.hours, except: [:likes_count, :liked, :reviewed, :complained]
 
   def liked
     object.liked? current_user
   end
 
+  def reviewed
+    object.reviewed? current_user
+  end
+
+  def complained
+    object.complained? current_user
+  end
 
-  attributes :id, :name, :owner, :created_at, :updated_at, :description, :privacy, :score, :likes_count, :liked, :review_average, :thumbnail
+  attributes :id, :name, :owner, :created_at, :updated_at, :description, :privacy, :score, :likes_count, :liked, :reviewed, :complained :review_average, :thumbnail
   has_many :tags
   has_many :subjects
   has_many :educational_stages
diff --git a/app/serializers/collection_serializer.rb b/app/serializers/collection_serializer.rb
index ef5a2dedc..6df8b10cc 100644
--- a/app/serializers/collection_serializer.rb
+++ b/app/serializers/collection_serializer.rb
@@ -1,11 +1,19 @@
 class CollectionSerializer < ActiveModel::Serializer
-  cache key: 'collection', expires_in: 4.hours, except: [:likes_count, :liked]
+  cache key: 'collection', expires_in: 4.hours, except: [:likes_count, :liked, :reviewed, :complained]
 
   def liked
     object.liked? current_user
   end
 
-  attributes :id, :name, :owner, :created_at, :updated_at, :description, :privacy, :score, :likes_count, :liked, :review_average, :thumbnail
+  def reviewed
+    object.reviewed? current_user
+  end
+
+  def complained
+    object.complained? current_user
+  end
+
+  attributes :id, :name, :owner, :created_at, :updated_at, :description, :privacy, :score, :likes_count, :liked, :reviewed, :complained, :review_average, :thumbnail
   has_many :tags
   has_many :subjects
   has_many :educational_stages
diff --git a/app/serializers/learning_object_serializer.rb b/app/serializers/learning_object_serializer.rb
index c6fde897d..131f22784 100644
--- a/app/serializers/learning_object_serializer.rb
+++ b/app/serializers/learning_object_serializer.rb
@@ -30,7 +30,7 @@ class LearningObjectSerializer < ActiveModel::Serializer
   end
 
   def complained
-    object.complained?(current_user)
+    object.complained? current_user
   end
 
   attributes :id,
diff --git a/app/serializers/user_serializer.rb b/app/serializers/user_serializer.rb
index 151abb943..4fa94f913 100644
--- a/app/serializers/user_serializer.rb
+++ b/app/serializers/user_serializer.rb
@@ -1,4 +1,9 @@
 class UserSerializer < ActiveModel::Serializer
-  cache key: 'user', expires_in: 4.hours
-  attributes :id, :email, :provider, :name, :description, :role_ids, :institution_ids, :avatar, :likes_count, :follows_count, :learning_objects_count, :collections_count, :created_at, :updated_at
+  cache key: 'user', expires_in: 4.hours, except: [ :complained ]
+
+  def complained
+    object.complained? current_user
+  end
+
+  attributes :id, :email, :provider, :name, :description, :role_ids, :institution_ids, :avatar, :likes_count, :complained, :follows_count, :learning_objects_count, :collections_count, :created_at, :updated_at
 end
-- 
GitLab