philomena/lib/philomena_web/post_json.ex

39 lines
861 B
Elixir
Raw Normal View History

2019-12-24 09:26:01 +01:00
defmodule PhilomenaWeb.PostJson do
alias PhilomenaWeb.UserAttributionView
def as_json(%{topic: %{hidden_from_users: true}} = post) do
%{
id: post.id,
user_id: nil,
author: nil,
body: nil
}
end
2020-01-11 05:20:19 +01:00
def as_json(%{hidden_from_users: true} = post) do
%{
id: post.id,
user_id: if(not post.anonymous, do: post.user_id),
2020-01-11 05:20:19 +01:00
author:
if(post.anonymous or is_nil(post.user),
do: UserAttributionView.anonymous_name(post),
else: post.user.name
),
body: nil
}
end
2020-01-11 05:20:19 +01:00
2019-12-24 09:26:01 +01:00
def as_json(post) do
%{
id: post.id,
user_id: if(not post.anonymous, do: post.user_id),
2020-01-11 05:20:19 +01:00
author:
if(post.anonymous or is_nil(post.user),
do: UserAttributionView.anonymous_name(post),
else: post.user.name
),
body: post.body
2019-12-24 09:26:01 +01:00
}
end
end