discourse/app/serializers/web_hook_flag_serializer.rb

48 lines
881 B
Ruby
Raw Normal View History

2018-04-11 22:17:05 +08:00
class WebHookFlagSerializer < ApplicationSerializer
attributes :id,
:post,
:flag_type,
:created_by,
:created_at,
:resolved_at,
:resolved_by
def post
2018-05-21 11:37:16 +08:00
WebHookPostSerializer.new(object.post, scope: scope, root: false).as_json
2018-04-11 22:17:05 +08:00
end
def flag_type
object.post_action_type_key
end
def include_post?
object.post.present?
end
def created_by
object.user && object.user.username
end
def resolved_at
object.disagreed_at || object.agreed_at || object.deferred_at
2018-04-11 22:17:05 +08:00
end
def include_resolved_at?
resolved_at.present?
2018-04-11 22:17:05 +08:00
end
def resolved_by
User.find(disposed_by_id).username
2018-04-11 22:17:05 +08:00
end
def include_resolved_by?
disposed_by_id.present?
end
protected
def disposed_by_id
object.disagreed_by_id || object.agreed_by_id || object.deferred_by_id
2018-04-11 22:17:05 +08:00
end
end