parent
0393a64a90
commit
42bcbd36b7
@ -0,0 +1,26 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
class WebfingerSerializer < ActiveModel::Serializer |
||||
include RoutingHelper |
||||
|
||||
attributes :subject, :aliases, :links |
||||
|
||||
def subject |
||||
object.to_webfinger_s |
||||
end |
||||
|
||||
def aliases |
||||
[short_account_url(object), account_url(object)] |
||||
end |
||||
|
||||
def links |
||||
[ |
||||
{ rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: short_account_url(object) }, |
||||
{ rel: 'http://schemas.google.com/g/2010#updates-from', type: 'application/atom+xml', href: account_url(object, format: 'atom') }, |
||||
{ rel: 'self', type: 'application/activity+json', href: account_url(object) }, |
||||
{ rel: 'salmon', href: api_salmon_url(object.id) }, |
||||
{ rel: 'magic-public-key', href: "data:application/magic-public-key,#{object.magic_key}" }, |
||||
{ rel: 'http://ostatus.org/schema/1.0/subscribe', template: "#{authorize_follow_url}?acct={uri}" }, |
||||
] |
||||
end |
||||
end |
@ -1,18 +0,0 @@ |
||||
object @account |
||||
|
||||
node(:subject) { @canonical_account_uri } |
||||
|
||||
node(:aliases) do |
||||
[short_account_url(@account), account_url(@account)] |
||||
end |
||||
|
||||
node(:links) do |
||||
[ |
||||
{ rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: short_account_url(@account) }, |
||||
{ rel: 'http://schemas.google.com/g/2010#updates-from', type: 'application/atom+xml', href: account_url(@account, format: 'atom') }, |
||||
{ rel: 'self', type: 'application/activity+json', href: account_url(@account) }, |
||||
{ rel: 'salmon', href: api_salmon_url(@account.id) }, |
||||
{ rel: 'magic-public-key', href: "data:application/magic-public-key,#{@magic_key}" }, |
||||
{ rel: 'http://ostatus.org/schema/1.0/subscribe', template: "#{authorize_follow_url}?acct={uri}" }, |
||||
] |
||||
end |
@ -1,13 +1,13 @@ |
||||
Nokogiri::XML::Builder.new do |xml| |
||||
xml.XRD(xmlns: 'http://docs.oasis-open.org/ns/xri/xrd-1.0') do |
||||
xml.Subject @canonical_account_uri |
||||
xml.Subject @account.to_webfinger_s |
||||
xml.Alias short_account_url(@account) |
||||
xml.Alias account_url(@account) |
||||
xml.Link(rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: short_account_url(@account)) |
||||
xml.Link(rel: 'http://schemas.google.com/g/2010#updates-from', type: 'application/atom+xml', href: account_url(@account, format: 'atom')) |
||||
xml.Link(rel: 'self', type: 'application/activity+json', href: account_url(@account)) |
||||
xml.Link(rel: 'salmon', href: api_salmon_url(@account.id)) |
||||
xml.Link(rel: 'magic-public-key', href: "data:application/magic-public-key,#{@magic_key}") |
||||
xml.Link(rel: 'magic-public-key', href: "data:application/magic-public-key,#{@account.magic_key}") |
||||
xml.Link(rel: 'http://ostatus.org/schema/1.0/subscribe', template: "#{authorize_follow_url}?acct={uri}") |
||||
end |
||||
end.to_xml |
||||
|
@ -0,0 +1 @@ |
||||
Oj.default_options = { mode: :compat, time_format: :ruby, use_to_json: true } |
@ -1,7 +0,0 @@ |
||||
Rabl.configure do |config| |
||||
config.json_engine = Oj |
||||
config.cache_all_output = false |
||||
config.cache_sources = Rails.env.production? |
||||
config.include_json_root = false |
||||
config.view_paths = [Rails.root.join('app/views')] |
||||
end |
Loading…
Reference in new issue