]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/user.rb
Merge remote-tracking branch 'upstream/pull/3177'
[rails.git] / app / models / user.rb
index a2c0619dea9031b91a04e40230e4554c1149d64b..964359e9cd4cec972f596f08eec1b45c71de3fe2 100644 (file)
@@ -68,6 +68,10 @@ class User < ApplicationRecord
   has_many :client_applications
   has_many :oauth_tokens, -> { order(:authorized_at => :desc).preload(:client_application) }, :class_name => "OauthToken"
 
+  has_many :oauth2_applications, :class_name => Doorkeeper.config.application_model.name, :foreign_key => :owner_id
+  has_many :access_grants, :class_name => Doorkeeper.config.access_grant_model.name, :foreign_key => :resource_owner_id
+  has_many :access_tokens, :class_name => Doorkeeper.config.access_token_model.name, :foreign_key => :resource_owner_id
+
   has_many :blocks, :class_name => "UserBlock"
   has_many :blocks_created, :class_name => "UserBlock", :foreign_key => :creator_id
   has_many :blocks_revoked, :class_name => "UserBlock", :foreign_key => :revoker_id
@@ -308,10 +312,10 @@ class User < ApplicationRecord
   def max_friends_per_hour
     account_age_in_seconds = Time.now.utc - creation_time
     account_age_in_hours = account_age_in_seconds / 3600
-    recent_friends = friendships.where("created_at >= ?", Time.now.utc - 3600).count
+    recent_friends = Friendship.where(:befriendee => self).where("created_at >= ?", Time.now.utc - 3600).count
     active_reports = issues.with_status(:open).sum(:reports_count)
-    max_messages = account_age_in_hours.ceil + recent_friends - active_reports * 10
-    max_messages.clamp(0, Settings.max_friends_per_hour)
+    max_friends = account_age_in_hours.ceil + recent_friends - active_reports * 10
+    max_friends.clamp(0, Settings.max_friends_per_hour)
   end
 
   private