This commit is contained in:
Emelia Smith 2024-05-14 20:12:11 +02:00
parent 3a7aec2807
commit 2f013abc59
No known key found for this signature in database
3 changed files with 18 additions and 1 deletions

View file

@ -2,7 +2,7 @@
class InstancePresenter < ActiveModelSerializers::Model
attributes :domain, :title, :version, :source_url,
:description, :languages, :rules, :contact
:description, :languages, :rules, :report_categories, :contact
class ContactPresenter < ActiveModelSerializers::Model
attributes :email, :account
@ -50,6 +50,13 @@ class InstancePresenter < ActiveModelSerializers::Model
Rule.ordered
end
def report_categories
# We only return the `violation` category if we have rules to violate:
Report.categories.filter_map do |category, _value|
{ name: category } unless category == 'violation' && Rule.count.zero?
end
end
def user_count
Rails.cache.fetch('user_count') { User.confirmed.joins(:account).merge(Account.without_suspended).count }
end

View file

@ -15,6 +15,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer
has_one :contact, serializer: ContactSerializer
has_many :rules, serializer: REST::RuleSerializer
has_many :report_categories, serializer: REST::ReportCategorySerializer
def thumbnail
if object.thumbnail

View file

@ -0,0 +1,9 @@
# frozen_string_literal: true
class REST::ReportCategorySerializer < ActiveModel::Serializer
attributes :name
def name
object[:name]
end
end