logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: 00c032783d12d19529944d7f17123418e02ce1a5
parent: 436d538b364bac0e34095cf482b9b7e2a7d8f1e6
Author: Roger Braun <roger@rogerbraun.net>
Date:   Mon,  5 Jun 2017 15:47:37 +0200

Fix NaN statuses per day.

Diffstat:

Mlib/pleroma/web/twitter_api/representers/activity_representer.ex9---------
Mlib/pleroma/web/twitter_api/representers/base_representer.ex13+++++++++++++
Mlib/pleroma/web/twitter_api/representers/user_representer.ex2++
Mtest/web/twitter_api/representers/user_representer_test.exs5+++++
4 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/lib/pleroma/web/twitter_api/representers/activity_representer.ex b/lib/pleroma/web/twitter_api/representers/activity_representer.ex @@ -2,7 +2,6 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do 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 @@ -130,14 +129,6 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter 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 diff --git a/lib/pleroma/web/twitter_api/representers/base_representer.ex b/lib/pleroma/web/twitter_api/representers/base_representer.ex @@ -1,6 +1,7 @@ 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 @@ -23,6 +24,18 @@ defmodule Pleroma.Web.TwitterAPI.Representers.BaseRepresenter do |> 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 diff --git a/lib/pleroma/web/twitter_api/representers/user_representer.ex b/lib/pleroma/web/twitter_api/representers/user_representer.ex @@ -12,6 +12,7 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenter do 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, @@ -19,6 +20,7 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenter do "screen_name" => user.nickname, "description" => user.bio, "following" => following, + "created_at" => created_at, # Fake fields "favourites_count" => 0, "statuses_count" => user_info[:note_count], diff --git a/test/web/twitter_api/representers/user_representer_test.exs b/test/web/twitter_api/representers/user_representer_test.exs @@ -33,11 +33,14 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenterTest do 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, @@ -58,11 +61,13 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenterTest do 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,