diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/follow_request.rb | 4 | ||||
-rw-r--r-- | app/models/form/admin_settings.rb | 4 | ||||
-rw-r--r-- | app/models/status.rb | 6 | ||||
-rw-r--r-- | app/models/user.rb | 26 |
4 files changed, 36 insertions, 4 deletions
diff --git a/app/models/follow_request.rb b/app/models/follow_request.rb index ebf6959ce..33e5fec12 100644 --- a/app/models/follow_request.rb +++ b/app/models/follow_request.rb @@ -21,6 +21,10 @@ class FollowRequest < ApplicationRecord validates :account_id, uniqueness: { scope: :target_account_id } + def object_type + :follow + end + def authorize! account.follow!(target_account, reblogs: show_reblogs) MergeWorker.perform_async(target_account.id, account.id) diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb index c1d2cf420..dd629279c 100644 --- a/app/models/form/admin_settings.rb +++ b/app/models/form/admin_settings.rb @@ -30,6 +30,10 @@ class Form::AdminSettings :bootstrap_timeline_accounts=, :min_invite_role, :min_invite_role=, + :activity_api_enabled, + :activity_api_enabled=, + :peers_api_enabled, + :peers_api_enabled=, to: Setting ) end diff --git a/app/models/status.rb b/app/models/status.rb index db3072571..cb18b0705 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -138,6 +138,7 @@ class Status < ApplicationRecord end after_create_commit :store_uri, if: :local? + after_create_commit :update_statistics, if: :local? around_create Mastodon::Snowflake::Callbacks @@ -336,4 +337,9 @@ class Status < ApplicationRecord def set_local self.local = account.local? end + + def update_statistics + return unless public_visibility? || unlisted_visibility? + ActivityTracker.increment('activity:statuses:local') + end end diff --git a/app/models/user.rb b/app/models/user.rb index 47bf22e17..855ae908d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -41,12 +41,15 @@ class User < ApplicationRecord ACTIVE_DURATION = 14.days - devise :registerable, :recoverable, - :rememberable, :trackable, :validatable, :confirmable, - :two_factor_authenticatable, :two_factor_backupable, - otp_secret_encryption_key: ENV['OTP_SECRET'], + devise :two_factor_authenticatable, + otp_secret_encryption_key: ENV['OTP_SECRET'] + + devise :two_factor_backupable, otp_number_of_backup_codes: 10 + devise :registerable, :recoverable, :rememberable, :trackable, :validatable, + :confirmable + belongs_to :account, inverse_of: :user, required: true belongs_to :invite, counter_cache: :uses accepts_nested_attributes_for :account @@ -122,9 +125,19 @@ class User < ApplicationRecord update!(disabled: false) end + def confirm + new_user = !confirmed? + + super + update_statistics! if new_user + end + def confirm! + new_user = !confirmed? + skip_confirmation! save! + update_statistics! if new_user end def promote! @@ -202,4 +215,9 @@ class User < ApplicationRecord def sanitize_languages filtered_languages.reject!(&:blank?) end + + def update_statistics! + BootstrapTimelineWorker.perform_async(account_id) + ActivityTracker.increment('activity:accounts:local') + end end |