parent
					
						
							
								e4a241abef
							
						
					
				
			
			
				commit
				
					
						dbda87c31f
					
				
			
		
					 10 changed files with 31 additions and 138 deletions
				
			
		|  | @ -2,18 +2,16 @@ | |||
| 
 | ||||
| class ActivityPub::Activity::Accept < ActivityPub::Activity | ||||
|   def perform | ||||
|     if @object.respond_to?(:[]) && | ||||
|        @object['type'] == 'Follow' && @object['actor'].present? | ||||
|       accept_follow_from @object['actor'] | ||||
|     else | ||||
|       accept_follow_object @object | ||||
|     case @object['type'] | ||||
|     when 'Follow' | ||||
|       accept_follow | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|   def accept_follow_from(actor) | ||||
|     target_account = account_from_uri(value_or_id(actor)) | ||||
|   def accept_follow | ||||
|     target_account = account_from_uri(target_uri) | ||||
| 
 | ||||
|     return if target_account.nil? || !target_account.local? | ||||
| 
 | ||||
|  | @ -21,8 +19,7 @@ class ActivityPub::Activity::Accept < ActivityPub::Activity | |||
|     follow_request&.authorize! | ||||
|   end | ||||
| 
 | ||||
|   def accept_follow_object(object) | ||||
|     follow_request = ActivityPub::TagManager.instance.uri_to_resource(value_or_id(object), FollowRequest) | ||||
|     follow_request&.authorize! | ||||
|   def target_uri | ||||
|     @target_uri ||= value_or_id(@object['actor']) | ||||
|   end | ||||
| end | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue