mirror of
https://github.com/philomena-dev/philomena.git
synced 2024-12-04 08:37:59 +01:00
35 lines
845 B
Elixir
35 lines
845 B
Elixir
defmodule PhilomenaWeb.TopicJson do
|
|
alias PhilomenaWeb.UserAttributionView
|
|
|
|
def as_json(%{hidden_from_users: true}) do
|
|
%{
|
|
slug: nil,
|
|
title: nil,
|
|
post_count: nil,
|
|
view_count: nil,
|
|
sticky: nil,
|
|
last_replied_to_at: nil,
|
|
locked: nil,
|
|
user_id: nil,
|
|
author: nil
|
|
}
|
|
end
|
|
|
|
def as_json(topic) do
|
|
%{
|
|
slug: topic.slug,
|
|
title: topic.title,
|
|
post_count: topic.post_count,
|
|
view_count: topic.view_count,
|
|
sticky: topic.sticky,
|
|
last_replied_to_at: topic.last_replied_to_at,
|
|
locked: not is_nil(topic.locked_at),
|
|
user_id: if(not topic.anonymous, do: topic.user.id),
|
|
author:
|
|
if(topic.anonymous or is_nil(topic.user),
|
|
do: UserAttributionView.anonymous_name(topic),
|
|
else: topic.user.name
|
|
)
|
|
}
|
|
end
|
|
end
|