| 
									
										
										
										
											2016-12-22 23:03:57 +01:00
										 |  |  | # frozen_string_literal: true | 
					
						
							| 
									
										
										
										
											2017-05-02 09:14:47 +09:00
										 |  |  | # == Schema Information | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Table name: follow_requests | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | #  id                :integer          not null, primary key | 
					
						
							|  |  |  | #  account_id        :integer          not null | 
					
						
							|  |  |  | #  target_account_id :integer          not null | 
					
						
							|  |  |  | #  created_at        :datetime         not null | 
					
						
							|  |  |  | #  updated_at        :datetime         not null | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2016-12-22 23:03:57 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | class FollowRequest < ApplicationRecord | 
					
						
							| 
									
										
										
										
											2016-12-26 19:30:45 +01:00
										 |  |  |   include Paginable | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-05 00:29:56 +02:00
										 |  |  |   belongs_to :account, required: true | 
					
						
							|  |  |  |   belongs_to :target_account, class_name: 'Account', required: true | 
					
						
							| 
									
										
										
										
											2016-12-22 23:03:57 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-26 21:52:03 +01:00
										 |  |  |   has_one :notification, as: :activity, dependent: :destroy | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-22 23:03:57 +01:00
										 |  |  |   validates :account_id, uniqueness: { scope: :target_account_id } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def authorize! | 
					
						
							|  |  |  |     account.follow!(target_account) | 
					
						
							| 
									
										
										
										
											2017-01-26 03:56:26 +01:00
										 |  |  |     MergeWorker.perform_async(target_account.id, account.id) | 
					
						
							| 
									
										
										
										
											2017-02-11 02:12:05 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-22 23:03:57 +01:00
										 |  |  |     destroy! | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def reject! | 
					
						
							|  |  |  |     destroy! | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |