Take the first recognized actor_type. (#7410)
This commit is contained in:
		
				
					committed by
					
						 Eugen Rochko
						Eugen Rochko
					
				
			
			
				
	
			
			
			
						parent
						
							b1938d7853
						
					
				
				
					commit
					01dfd6dbc8
				
			| @ -71,7 +71,7 @@ class ActivityPub::ProcessAccountService < BaseService | ||||
|     @account.note                    = @json['summary'] || '' | ||||
|     @account.locked                  = @json['manuallyApprovesFollowers'] || false | ||||
|     @account.fields                  = property_values || {} | ||||
|     @account.actor_type              = @json['type'] | ||||
|     @account.actor_type              = actor_type | ||||
|   end | ||||
|  | ||||
|   def set_fetchable_attributes! | ||||
| @ -96,6 +96,14 @@ class ActivityPub::ProcessAccountService < BaseService | ||||
|     ActivityPub::SynchronizeFeaturedCollectionWorker.perform_async(@account.id) | ||||
|   end | ||||
|  | ||||
|   def actor_type | ||||
|     if @json['type'].is_a?(Array) | ||||
|       @json['type'].find { |type| ActivityPub::FetchRemoteAccountService::SUPPORTED_TYPES.include?(type) } | ||||
|     else | ||||
|       @json['type'] | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   def image_url(key) | ||||
|     value = first_of_value(@json[key]) | ||||
|  | ||||
|  | ||||
| @ -116,6 +116,7 @@ RSpec.describe ResolveAccountService, type: :service do | ||||
|         expect(account.activitypub?).to eq true | ||||
|         expect(account.domain).to eq 'ap.example.com' | ||||
|         expect(account.inbox_url).to eq 'https://ap.example.com/users/foo/inbox' | ||||
|         expect(account.actor_type).to eq 'Person' | ||||
|       end | ||||
|     end | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user