Reuse existing controller and route

This commit is contained in:
Evan Minto 2017-02-06 01:19:05 -08:00
parent 8bd8ea7c04
commit 94e213c6c1
9 changed files with 14 additions and 28 deletions

View file

@ -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

View file

@ -1,18 +0,0 @@
# frozen_string_literal: true
class Api::Activitypub::AccountsController < ApiController
before_action :set_account
respond_to :'application/activity+json'
respond_to :'application/ld+json; profile="https://www.w3.org/ns/activitystreams#"'
def show
render content_type: :'application/ld+json; profile="https://www.w3.org/ns/activitystreams#"'
end
private
def set_account
@account = Account.find(params[:id])
end
end

View file

@ -4,7 +4,6 @@
- content_for :header_tags do - content_for :header_tags do
%link{ rel: 'salmon', href: api_salmon_url(@account.id) }/ %link{ rel: 'salmon', href: api_salmon_url(@account.id) }/
%link{ rel: 'alternate', type: 'application/atom+xml', href: account_url(@account, format: 'atom') }/ %link{ rel: 'alternate', type: 'application/atom+xml', href: account_url(@account, format: 'atom') }/
%link{ rel: 'alternate', type: 'application/ld+json; profile="https://www.w3.org/ns/activitystreams#"', href: "http://mastodon.dev/api/v1/activitypub/accounts/#{@account.username}" }/
%meta{ property: 'og:site_name', content: 'Mastodon' }/ %meta{ property: 'og:site_name', content: 'Mastodon' }/
%meta{ property: 'og:type', content: 'profile' }/ %meta{ property: 'og:type', content: 'profile' }/

View file

@ -1,8 +1,7 @@
extends 'activitypub/types/person.rabl'
object @account object @account
node(:'@context') { 'https://www.w3.org/ns/activitystreams' }
node(:type) { 'Person' }
node(:id) { request.original_url }
node(:url) { |account| TagManager.instance.url_for(account) } node(:url) { |account| TagManager.instance.url_for(account) }
node(:name) { |account| account.display_name } node(:name) { |account| account.display_name }
node(:preferredUsername) { |account| account.username } node(:preferredUsername) { |account| account.username }

View file

@ -0,0 +1 @@
node(:'@context') { 'https://www.w3.org/ns/activitystreams' }

View file

@ -0,0 +1,3 @@
extends 'activitypub/base.rabl'
node(:id) { request.original_url }

View file

@ -0,0 +1,3 @@
extends 'activitypub/intransient.rabl'
node(:type) { 'Person' }

View file

@ -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

View file

@ -153,10 +153,6 @@ Rails.application.routes.draw do
end end
end end
namespace :activitypub do
resources :accounts, only: [:show]
end
namespace :web do namespace :web do
resource :settings, only: [:update] resource :settings, only: [:update]
end end