Merge tag 'v2.9.2' into instance_only_statuses
This commit is contained in:
@ -31,6 +31,7 @@ class InitialStateSerializer < ActiveModel::Serializer
|
||||
store[:display_media] = object.current_account.user.setting_display_media
|
||||
store[:expand_spoilers] = object.current_account.user.setting_expand_spoilers
|
||||
store[:reduce_motion] = object.current_account.user.setting_reduce_motion
|
||||
store[:advanced_layout] = object.current_account.user.setting_advanced_layout
|
||||
store[:is_staff] = object.current_account.user.staff?
|
||||
end
|
||||
|
||||
@ -60,7 +61,7 @@ class InitialStateSerializer < ActiveModel::Serializer
|
||||
end
|
||||
|
||||
def media_attachments
|
||||
{ accept_content_types: MediaAttachment::IMAGE_FILE_EXTENSIONS + MediaAttachment::VIDEO_FILE_EXTENSIONS + MediaAttachment::IMAGE_MIME_TYPES + MediaAttachment::VIDEO_MIME_TYPES }
|
||||
{ accept_content_types: MediaAttachment.supported_file_extensions + MediaAttachment.supported_mime_types }
|
||||
end
|
||||
|
||||
private
|
||||
|
77
app/serializers/rest/admin/account_serializer.rb
Normal file
77
app/serializers/rest/admin/account_serializer.rb
Normal file
@ -0,0 +1,77 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class REST::Admin::AccountSerializer < ActiveModel::Serializer
|
||||
attributes :id, :username, :domain, :created_at,
|
||||
:email, :ip, :role, :confirmed, :suspended,
|
||||
:silenced, :disabled, :approved, :locale,
|
||||
:invite_request
|
||||
|
||||
attribute :created_by_application_id, if: :created_by_application?
|
||||
attribute :invited_by_account_id, if: :invited?
|
||||
|
||||
has_one :account, serializer: REST::AccountSerializer
|
||||
|
||||
def id
|
||||
object.id.to_s
|
||||
end
|
||||
|
||||
def email
|
||||
object.user_email
|
||||
end
|
||||
|
||||
def ip
|
||||
object.user_current_sign_in_ip.to_s.presence
|
||||
end
|
||||
|
||||
def role
|
||||
object.user_role
|
||||
end
|
||||
|
||||
def suspended
|
||||
object.suspended?
|
||||
end
|
||||
|
||||
def silenced
|
||||
object.silenced?
|
||||
end
|
||||
|
||||
def confirmed
|
||||
object.user_confirmed?
|
||||
end
|
||||
|
||||
def disabled
|
||||
object.user_disabled?
|
||||
end
|
||||
|
||||
def approved
|
||||
object.user_approved?
|
||||
end
|
||||
|
||||
def account
|
||||
object
|
||||
end
|
||||
|
||||
def locale
|
||||
object.user_locale
|
||||
end
|
||||
|
||||
def created_by_application_id
|
||||
object.user&.created_by_application_id&.to_s&.presence
|
||||
end
|
||||
|
||||
def invite_request
|
||||
object.user&.invite_request&.text
|
||||
end
|
||||
|
||||
def invited_by_account_id
|
||||
object.user&.invite&.user&.account_id&.to_s&.presence
|
||||
end
|
||||
|
||||
def invited?
|
||||
object.user&.invited?
|
||||
end
|
||||
|
||||
def created_by_application?
|
||||
object.user&.created_by_application_id&.present?
|
||||
end
|
||||
end
|
16
app/serializers/rest/admin/report_serializer.rb
Normal file
16
app/serializers/rest/admin/report_serializer.rb
Normal file
@ -0,0 +1,16 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
class REST::Admin::ReportSerializer < ActiveModel::Serializer
|
||||
attributes :id, :action_taken, :comment, :created_at, :updated_at
|
||||
|
||||
has_one :account, serializer: REST::Admin::AccountSerializer
|
||||
has_one :target_account, serializer: REST::Admin::AccountSerializer
|
||||
has_one :assigned_account, serializer: REST::Admin::AccountSerializer
|
||||
has_one :action_taken_by_account, serializer: REST::Admin::AccountSerializer
|
||||
|
||||
has_many :statuses, serializer: REST::StatusSerializer
|
||||
|
||||
def id
|
||||
object.id.to_s
|
||||
end
|
||||
end
|
@ -3,9 +3,9 @@
|
||||
class REST::InstanceSerializer < ActiveModel::Serializer
|
||||
include RoutingHelper
|
||||
|
||||
attributes :uri, :title, :description, :email,
|
||||
attributes :uri, :title, :short_description, :description, :email,
|
||||
:version, :urls, :stats, :thumbnail,
|
||||
:languages, :registrations
|
||||
:languages, :registrations, :approval_required
|
||||
|
||||
has_one :contact_account, serializer: REST::AccountSerializer
|
||||
|
||||
@ -19,6 +19,10 @@ class REST::InstanceSerializer < ActiveModel::Serializer
|
||||
Setting.site_title
|
||||
end
|
||||
|
||||
def short_description
|
||||
Setting.site_short_description
|
||||
end
|
||||
|
||||
def description
|
||||
Setting.site_description
|
||||
end
|
||||
@ -55,6 +59,10 @@ class REST::InstanceSerializer < ActiveModel::Serializer
|
||||
Setting.registrations_mode != 'none' && !Rails.configuration.x.single_user_mode
|
||||
end
|
||||
|
||||
def approval_required
|
||||
Setting.registrations_mode == 'approved'
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def instance_presenter
|
||||
|
@ -3,7 +3,7 @@
|
||||
class REST::StatusSerializer < ActiveModel::Serializer
|
||||
attributes :id, :created_at, :in_reply_to_id, :in_reply_to_account_id,
|
||||
:sensitive, :spoiler_text, :visibility, :language,
|
||||
:uri, :content, :url, :replies_count, :reblogs_count,
|
||||
:uri, :url, :replies_count, :reblogs_count,
|
||||
:favourites_count, :local_only
|
||||
|
||||
attribute :favourited, if: :current_user?
|
||||
@ -11,6 +11,9 @@ class REST::StatusSerializer < ActiveModel::Serializer
|
||||
attribute :muted, if: :current_user?
|
||||
attribute :pinned, if: :pinnable?
|
||||
|
||||
attribute :content, unless: :source_requested?
|
||||
attribute :text, if: :source_requested?
|
||||
|
||||
belongs_to :reblog, serializer: REST::StatusSerializer
|
||||
belongs_to :application, if: :show_application?
|
||||
belongs_to :account, serializer: REST::AccountSerializer
|
||||
@ -105,6 +108,10 @@ class REST::StatusSerializer < ActiveModel::Serializer
|
||||
%w(public unlisted).include?(object.visibility)
|
||||
end
|
||||
|
||||
def source_requested?
|
||||
instance_options[:source_requested]
|
||||
end
|
||||
|
||||
def ordered_mentions
|
||||
object.active_mentions.to_a.sort_by(&:id)
|
||||
end
|
||||
|
Reference in New Issue
Block a user