From 2d93fced4c707b0a0d111775aca0d7348510bbc5 Mon Sep 17 00:00:00 2001
From: tmn21 <tmn21@inf.ufpr.br>
Date: Thu, 20 Jul 2023 11:35:37 -0300
Subject: [PATCH] ISSUE #51: CREATE attribute high_streak

---
 app/models/user.rb                        | 4 ++++
 app/serializers/user_serializer.rb        | 3 ++-
 app/services/learning_object_publisher.rb | 2 --
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/app/models/user.rb b/app/models/user.rb
index de9d3503..3ddf3ba4 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -81,6 +81,7 @@
 #  last_sign_in_day       :datetime
 #  last_action_at         :date
 #  streak                 :integer          default("0")
+# high_streak             :integer          default("0")
 
 class User < ApplicationRecord
   include Followable
@@ -396,6 +397,9 @@ class User < ApplicationRecord
     if self.last_action_at==Date.yesterday    
       self.update(last_action_at: Date.today)
       self.update(streak: streak+1)
+      if self.high_streak < self.streak
+        self.update(high_streak: streak)
+      end
       return
     end
     
diff --git a/app/serializers/user_serializer.rb b/app/serializers/user_serializer.rb
index 16591fd0..0ff26d06 100644
--- a/app/serializers/user_serializer.rb
+++ b/app/serializers/user_serializer.rb
@@ -111,7 +111,8 @@ class UserSerializer < ActiveModel::Serializer
       :experience,
       :points,
       :last_action_at,
-      :streak
+      :streak,
+      :high_streak
 
   attribute \
       :times_blocked, if: :is_current_user?
diff --git a/app/services/learning_object_publisher.rb b/app/services/learning_object_publisher.rb
index 45cfdda4..487908d7 100644
--- a/app/services/learning_object_publisher.rb
+++ b/app/services/learning_object_publisher.rb
@@ -31,8 +31,6 @@ class LearningObjectPublisher
     draft.id_dspace = item.id
     draft.publisher = publisher
     draft.save
-    
-    draf.publisher.update_streak()
 
     update_dspace(draft)
 
-- 
GitLab