use Pleroma.Web.TwitterAPI.Representers.BaseRepresenter
alias Pleroma.Web.TwitterAPI.Representers.{UserRepresenter, ObjectRepresenter}
alias Pleroma.{Activity, User, Formatter}
- alias Calendar.Strftime
alias Pleroma.Web.TwitterAPI.TwitterAPI
defp user_by_ap_id(user_list, ap_id) do
end
end
- defp date_to_asctime(date) do
- with {:ok, date, _offset} <- date |> DateTime.from_iso8601 do
- Strftime.strftime!(date, "%a %b %d %H:%M:%S %z %Y")
- else _e ->
- ""
- end
- end
-
defp to_boolean(false) do
false
end
defmodule Pleroma.Web.TwitterAPI.Representers.BaseRepresenter do
defmacro __using__(_opts) do
quote do
+ alias Calendar.Strftime
def to_json(object) do to_json(object, %{}) end
def to_json(object, options) do
object
|> enum_to_list(options)
|> Poison.encode!
end
+
+ def format_asctime(date) do
+ Strftime.strftime!(date, "%a %b %d %H:%M:%S %z %Y")
+ end
+
+ def date_to_asctime(date) do
+ with {:ok, date, _offset} <- date |> DateTime.from_iso8601 do
+ format_asctime(date)
+ else _e ->
+ ""
+ end
+ end
end
end
end
end
user_info = User.get_cached_user_info(user)
+ created_at = user.inserted_at |> DateTime.from_naive!("Etc/UTC") |> format_asctime
map = %{
"id" => user.id,
"screen_name" => user.nickname,
"description" => user.bio,
"following" => following,
+ "created_at" => created_at,
# Fake fields
"favourites_count" => 0,
"statuses_count" => user_info[:note_count],
image = "https://placehold.it/48x48"
+ created_at = user.inserted_at |> DateTime.from_naive!("Etc/UTC") |> UserRepresenter.format_asctime
+
represented = %{
"id" => user.id,
"name" => user.name,
"screen_name" => user.nickname,
"description" => user.bio,
+ "created_at" => created_at,
# Fake fields
"favourites_count" => 0,
"statuses_count" => 1,
test "A user for a given other follower", %{user: user} do
{:ok, follower} = UserBuilder.insert(%{following: [User.ap_followers(user)]})
image = "https://placehold.it/48x48"
+ created_at = user.inserted_at |> DateTime.from_naive!("Etc/UTC") |> UserRepresenter.format_asctime
represented = %{
"id" => user.id,
"name" => user.name,
"screen_name" => user.nickname,
"description" => user.bio,
+ "created_at" => created_at,
# Fake fields
"favourites_count" => 0,
"statuses_count" => 0,