Merge pull request #603 from evanminto/activitypub-account
Expose ActivityStreams 2.0 representation of accounts
This commit is contained in:
		
						commit
						9d5fb49cd8
					
				| @ -18,6 +18,8 @@ class AccountsController < ApplicationController | |||||||
|       format.atom do |       format.atom do | ||||||
|         @entries = @account.stream_entries.order('id desc').where(hidden: false).with_includes.paginate_by_max_id(20, params[:max_id], params[:since_id]) |         @entries = @account.stream_entries.order('id desc').where(hidden: false).with_includes.paginate_by_max_id(20, params[:max_id], params[:since_id]) | ||||||
|       end |       end | ||||||
|  | 
 | ||||||
|  |       format.activitystreams2 | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										8
									
								
								app/views/accounts/show.activitystreams2.rabl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								app/views/accounts/show.activitystreams2.rabl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | extends 'activitypub/types/person.activitystreams2.rabl' | ||||||
|  | 
 | ||||||
|  | object @account | ||||||
|  | 
 | ||||||
|  | attributes display_name: :name, username: :preferredUsername, note: :summary | ||||||
|  | 
 | ||||||
|  | node(:icon)   { |account| full_asset_url(account.avatar.url(:original)) } | ||||||
|  | node(:image)  { |account| full_asset_url(account.header.url(:original)) } | ||||||
							
								
								
									
										1
									
								
								app/views/activitypub/base.activitystreams2.rabl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								app/views/activitypub/base.activitystreams2.rabl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | node(:'@context') { 'https://www.w3.org/ns/activitystreams' } | ||||||
							
								
								
									
										3
									
								
								app/views/activitypub/intransient.activitystreams2.rabl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								app/views/activitypub/intransient.activitystreams2.rabl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | |||||||
|  | extends 'activitypub/base.activitystreams2.rabl' | ||||||
|  | 
 | ||||||
|  | node(:id) { request.original_url } | ||||||
							
								
								
									
										3
									
								
								app/views/activitypub/types/person.activitystreams2.rabl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								app/views/activitypub/types/person.activitystreams2.rabl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | |||||||
|  | extends 'activitypub/intransient.activitystreams2.rabl' | ||||||
|  | 
 | ||||||
|  | node(:type) { 'Person' } | ||||||
| @ -2,3 +2,4 @@ | |||||||
| 
 | 
 | ||||||
| Mime::Type.register "application/json",           :json, %w( text/x-json application/jsonrequest application/jrd+json ) | Mime::Type.register "application/json",           :json, %w( text/x-json application/jsonrequest application/jrd+json ) | ||||||
| Mime::Type.register "text/xml",                   :xml,  %w( application/xml application/atom+xml application/xrd+xml ) | Mime::Type.register "text/xml",                   :xml,  %w( application/xml application/atom+xml application/xrd+xml ) | ||||||
|  | Mime::Type.register "application/activity+json",  :activitystreams2 | ||||||
|  | |||||||
| @ -24,6 +24,16 @@ RSpec.describe AccountsController, type: :controller do | |||||||
|       end |       end | ||||||
|     end |     end | ||||||
| 
 | 
 | ||||||
|  |     context 'activitystreams2' do | ||||||
|  |       before do | ||||||
|  |         get :show, params: { username: alice.username }, format: 'activitystreams2' | ||||||
|  |       end | ||||||
|  | 
 | ||||||
|  |       it 'returns http success with Activity Streams 2.0' do | ||||||
|  |         expect(response).to have_http_status(:success) | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  | 
 | ||||||
|     context 'html' do |     context 'html' do | ||||||
|       before do |       before do | ||||||
|         get :show, params: { username: alice.username } |         get :show, params: { username: alice.username } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user