#63 NodeInfoでのfedibird_capabilities
公開
This commit is contained in:
parent
235bef36d0
commit
dd88cef84b
4 changed files with 37 additions and 51 deletions
31
app/helpers/kmyblue_capabilities_helper.rb
Normal file
31
app/helpers/kmyblue_capabilities_helper.rb
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module KmyblueCapabilitiesHelper
|
||||||
|
def fedibird_capabilities
|
||||||
|
capabilities = [
|
||||||
|
:enable_wide_emoji,
|
||||||
|
:kmyblue_searchability,
|
||||||
|
:searchability,
|
||||||
|
:kmyblue_markdown,
|
||||||
|
:kmyblue_reaction_deck,
|
||||||
|
:kmyblue_visibility_login,
|
||||||
|
:status_reference,
|
||||||
|
:visibility_mutual,
|
||||||
|
:visibility_limited,
|
||||||
|
:kmyblue_limited_scope,
|
||||||
|
:kmyblue_antenna,
|
||||||
|
:kmyblue_bookmark_category,
|
||||||
|
:kmyblue_quote,
|
||||||
|
:kmyblue_searchability_limited,
|
||||||
|
]
|
||||||
|
|
||||||
|
capabilities << :profile_search unless Chewy.enabled?
|
||||||
|
if Setting.enable_emoji_reaction
|
||||||
|
capabilities << :emoji_reaction
|
||||||
|
capabilities << :enable_wide_emoji_reaction
|
||||||
|
end
|
||||||
|
capabilities << :kmyblue_visibility_public_unlisted if Setting.enable_public_unlisted_visibility
|
||||||
|
|
||||||
|
capabilities
|
||||||
|
end
|
||||||
|
end
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
class NodeInfo::Serializer < ActiveModel::Serializer
|
class NodeInfo::Serializer < ActiveModel::Serializer
|
||||||
include RoutingHelper
|
include RoutingHelper
|
||||||
|
include KmyblueCapabilitiesHelper
|
||||||
|
|
||||||
attributes :version, :software, :protocols, :services, :usage, :open_registrations, :metadata
|
attributes :version, :software, :protocols, :services, :usage, :open_registrations, :metadata
|
||||||
|
|
||||||
|
@ -38,7 +39,9 @@ class NodeInfo::Serializer < ActiveModel::Serializer
|
||||||
end
|
end
|
||||||
|
|
||||||
def metadata
|
def metadata
|
||||||
{}
|
{
|
||||||
|
fedibird_capabilities: fedibird_capabilities,
|
||||||
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -8,6 +8,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer
|
||||||
end
|
end
|
||||||
|
|
||||||
include RoutingHelper
|
include RoutingHelper
|
||||||
|
include KmyblueCapabilitiesHelper
|
||||||
|
|
||||||
attributes :domain, :title, :version, :source_url, :description,
|
attributes :domain, :title, :version, :source_url, :description,
|
||||||
:usage, :thumbnail, :languages, :configuration,
|
:usage, :thumbnail, :languages, :configuration,
|
||||||
|
@ -105,31 +106,6 @@ class REST::InstanceSerializer < ActiveModel::Serializer
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
# for third party apps
|
|
||||||
def fedibird_capabilities
|
|
||||||
capabilities = [
|
|
||||||
:enable_wide_emoji,
|
|
||||||
:enable_wide_emoji_reaction,
|
|
||||||
:kmyblue_searchability,
|
|
||||||
:searchability,
|
|
||||||
:kmyblue_markdown,
|
|
||||||
:kmyblue_reaction_deck,
|
|
||||||
:kmyblue_visibility_login,
|
|
||||||
:status_reference,
|
|
||||||
:visibility_mutual,
|
|
||||||
:visibility_limited,
|
|
||||||
:kmyblue_limited_scope,
|
|
||||||
:kmyblue_antenna,
|
|
||||||
:kmyblue_bookmark_category,
|
|
||||||
]
|
|
||||||
|
|
||||||
capabilities << :profile_search unless Chewy.enabled?
|
|
||||||
capabilities << :emoji_reaction if Setting.enable_emoji_reaction
|
|
||||||
capabilities << :kmyblue_visibility_public_unlisted if Setting.enable_public_unlisted_visibility
|
|
||||||
|
|
||||||
capabilities
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def registrations_enabled?
|
def registrations_enabled?
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
class REST::V1::InstanceSerializer < ActiveModel::Serializer
|
class REST::V1::InstanceSerializer < ActiveModel::Serializer
|
||||||
include RoutingHelper
|
include RoutingHelper
|
||||||
|
include KmyblueCapabilitiesHelper
|
||||||
|
|
||||||
attributes :uri, :title, :short_description, :description, :email,
|
attributes :uri, :title, :short_description, :description, :email,
|
||||||
:version, :urls, :stats, :thumbnail,
|
:version, :urls, :stats, :thumbnail,
|
||||||
|
@ -114,31 +115,6 @@ class REST::V1::InstanceSerializer < ActiveModel::Serializer
|
||||||
UserRole.everyone.can?(:invite_users)
|
UserRole.everyone.can?(:invite_users)
|
||||||
end
|
end
|
||||||
|
|
||||||
# for third party apps
|
|
||||||
def fedibird_capabilities
|
|
||||||
capabilities = [
|
|
||||||
:enable_wide_emoji,
|
|
||||||
:enable_wide_emoji_reaction,
|
|
||||||
:kmyblue_searchability,
|
|
||||||
:searchability,
|
|
||||||
:kmyblue_markdown,
|
|
||||||
:kmyblue_reaction_deck,
|
|
||||||
:kmyblue_visibility_login,
|
|
||||||
:status_reference,
|
|
||||||
:visibility_mutual,
|
|
||||||
:visibility_limited,
|
|
||||||
:kmyblue_limited_scope,
|
|
||||||
:kmyblue_antenna,
|
|
||||||
:kmyblue_bookmark_category,
|
|
||||||
]
|
|
||||||
|
|
||||||
capabilities << :profile_search unless Chewy.enabled?
|
|
||||||
capabilities << :emoji_reaction if Setting.enable_emoji_reaction
|
|
||||||
capabilities << :kmyblue_visibility_public_unlisted if Setting.enable_public_unlisted_visibility
|
|
||||||
|
|
||||||
capabilities
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def instance_presenter
|
def instance_presenter
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue