mirror of
https://github.com/discourse/discourse.git
synced 2024-11-30 19:45:23 +08:00
4037cdb6db
We have a .ics endpoint for user bookmarks, this commit makes it so polymorphic bookmarks work on that endpoint, using the serializer associated with the RegisteredBookmarkable.
72 lines
1.1 KiB
Ruby
72 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require_relative 'post_item_excerpt'
|
|
|
|
class UserPostTopicBookmarkBaseSerializer < UserBookmarkBaseSerializer
|
|
include TopicTagsMixin
|
|
include PostItemExcerpt
|
|
|
|
attributes :topic_id,
|
|
:linked_post_number,
|
|
:deleted,
|
|
:hidden,
|
|
:category_id,
|
|
:closed,
|
|
:archived,
|
|
:archetype,
|
|
:highest_post_number,
|
|
:last_read_post_number,
|
|
:bumped_at,
|
|
:slug
|
|
|
|
def topic_id
|
|
topic.id
|
|
end
|
|
|
|
def title
|
|
topic.title
|
|
end
|
|
|
|
def fancy_title
|
|
topic.fancy_title
|
|
end
|
|
|
|
def category_id
|
|
topic.category_id
|
|
end
|
|
|
|
def archetype
|
|
topic.archetype
|
|
end
|
|
|
|
def archived
|
|
topic.archived
|
|
end
|
|
|
|
def closed
|
|
topic.closed
|
|
end
|
|
|
|
def highest_post_number
|
|
scope.is_staff? ? topic.highest_staff_post_number : topic.highest_post_number
|
|
end
|
|
|
|
def last_read_post_number
|
|
topic_user&.last_read_post_number
|
|
end
|
|
|
|
def bumped_at
|
|
topic.bumped_at
|
|
end
|
|
|
|
def slug
|
|
topic.slug
|
|
end
|
|
|
|
private
|
|
|
|
def topic_user
|
|
@topic_user ||= topic.topic_users.find { |tu| tu.user_id == scope.user.id }
|
|
end
|
|
end
|