# frozen_string_literal: true # == Schema Information # # Table name: follow_requests # # created_at :datetime not null # updated_at :datetime not null # account_id :integer not null # id :integer not null, primary key # target_account_id :integer not null # show_reblogs :boolean default(TRUE), not null # class FollowRequest < ApplicationRecord include Paginable belongs_to :account, required: true belongs_to :target_account, class_name: 'Account', required: true has_one :notification, as: :activity, dependent: :destroy validates :account_id, uniqueness: { scope: :target_account_id } def authorize! account.follow!(target_account, reblogs: reblogs) MergeWorker.perform_async(target_account.id, account.id) destroy! end def reject! destroy! end end