Rename friends rate limit as follows
This commit is contained in:
parent
b5006acd81
commit
5eb4c7c0d1
4 changed files with 8 additions and 8 deletions
|
@ -22,7 +22,7 @@ class FollowsController < ApplicationController
|
||||||
follow.following = @friend
|
follow.following = @friend
|
||||||
if current_user.follows?(@friend)
|
if current_user.follows?(@friend)
|
||||||
flash[:warning] = t ".already_followed", :name => @friend.display_name
|
flash[:warning] = t ".already_followed", :name => @friend.display_name
|
||||||
elsif current_user.follows.where(:created_at => Time.now.utc - 1.hour..).count >= current_user.max_friends_per_hour
|
elsif current_user.follows.where(:created_at => Time.now.utc - 1.hour..).count >= current_user.max_follows_per_hour
|
||||||
flash[:error] = t ".limit_exceeded"
|
flash[:error] = t ".limit_exceeded"
|
||||||
elsif follow.save
|
elsif follow.save
|
||||||
flash[:notice] = t ".success", :name => @friend.display_name
|
flash[:notice] = t ".success", :name => @friend.display_name
|
||||||
|
|
|
@ -411,12 +411,12 @@ class User < ApplicationRecord
|
||||||
max_messages.clamp(0, Settings.max_messages_per_hour)
|
max_messages.clamp(0, Settings.max_messages_per_hour)
|
||||||
end
|
end
|
||||||
|
|
||||||
def max_friends_per_hour
|
def max_follows_per_hour
|
||||||
account_age_in_seconds = Time.now.utc - created_at
|
account_age_in_seconds = Time.now.utc - created_at
|
||||||
account_age_in_hours = account_age_in_seconds / 3600
|
account_age_in_hours = account_age_in_seconds / 3600
|
||||||
recent_friends = Follow.where(:following => self).where(:created_at => Time.now.utc - 3600..).count
|
recent_follows = Follow.where(:following => self).where(:created_at => Time.now.utc - 3600..).count
|
||||||
max_friends = account_age_in_hours.ceil + recent_friends - (active_reports * 10)
|
max_follows = account_age_in_hours.ceil + recent_follows - (active_reports * 10)
|
||||||
max_friends.clamp(0, Settings.max_friends_per_hour)
|
max_follows.clamp(0, Settings.max_follows_per_hour)
|
||||||
end
|
end
|
||||||
|
|
||||||
def max_changeset_comments_per_hour
|
def max_changeset_comments_per_hour
|
||||||
|
|
|
@ -63,8 +63,8 @@ max_messages_per_hour: 60
|
||||||
default_message_query_limit: 100
|
default_message_query_limit: 100
|
||||||
# Maximum number of messages returned by inbox and outbox message api
|
# Maximum number of messages returned by inbox and outbox message api
|
||||||
max_message_query_limit: 100
|
max_message_query_limit: 100
|
||||||
# Rate limit for friending
|
# Rate limit for following
|
||||||
max_friends_per_hour: 60
|
max_follows_per_hour: 60
|
||||||
# Rate limit for changeset comments
|
# Rate limit for changeset comments
|
||||||
min_changeset_comments_per_hour: 1
|
min_changeset_comments_per_hour: 1
|
||||||
initial_changeset_comments_per_hour: 6
|
initial_changeset_comments_per_hour: 6
|
||||||
|
|
|
@ -6,7 +6,7 @@ class FollowsTest < ApplicationSystemTestCase
|
||||||
|
|
||||||
sign_in_as create(:user)
|
sign_in_as create(:user)
|
||||||
|
|
||||||
with_settings(:max_friends_per_hour => 0) do
|
with_settings(:max_follows_per_hour => 0) do
|
||||||
visit user_path(following)
|
visit user_path(following)
|
||||||
assert_link "Follow"
|
assert_link "Follow"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue