discourse/app/serializers/directory_item_serializer.rb

46 lines
890 B
Ruby

# frozen_string_literal: true
class DirectoryItemSerializer < ApplicationSerializer
class UserSerializer < UserNameSerializer
include UserPrimaryGroupMixin
attributes :user_fields
def user_fields
fields = {}
object.user_custom_fields.each do |cuf|
user_field_id = @options[:user_custom_field_map][cuf.name]
if user_field_id
fields[user_field_id] = cuf.value
end
end
fields
end
def include_user_fields?
@options[:user_custom_field_map].present?
end
end
attributes :id,
:time_read
has_one :user, embed: :objects, serializer: UserSerializer
attributes *DirectoryColumn.active_column_names
def id
object.user_id
end
def time_read
object.user_stat.time_read
end
def include_time_read?
object.period_type == DirectoryItem.period_types[:all]
end
end