summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/common_api/utils.ex17
-rw-r--r--lib/pleroma/web/mastodon_api/views/account_view.ex3
-rw-r--r--lib/pleroma/web/mastodon_api/views/status_view.ex6
3 files changed, 21 insertions, 5 deletions
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index 0d8b39d70..b649ee188 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -119,6 +119,23 @@ defmodule Pleroma.Web.CommonAPI.Utils do
end
end
+ def to_masto_date(%NaiveDateTime{} = date) do
+ date
+ |> NaiveDateTime.to_iso8601
+ |> String.replace(~r/(\.\d+)?$/, ".000Z", global: false)
+ end
+
+ def to_masto_date(date) do
+ try do
+ date
+ |> NaiveDateTime.from_iso8601!
+ |> NaiveDateTime.to_iso8601
+ |> String.replace(~r/(\.\d+)?$/, ".000Z", global: false)
+ rescue
+ _e -> ""
+ end
+ end
+
defp shortname(name) do
if String.length(name) < 30 do
name
diff --git a/lib/pleroma/web/mastodon_api/views/account_view.ex b/lib/pleroma/web/mastodon_api/views/account_view.ex
index f2fa49cb5..68d930a68 100644
--- a/lib/pleroma/web/mastodon_api/views/account_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/account_view.ex
@@ -2,6 +2,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
use Pleroma.Web, :view
alias Pleroma.User
alias Pleroma.Web.MastodonAPI.AccountView
+ alias Pleroma.Web.CommonAPI.Utils
defp image_url(%{"url" => [ %{ "href" => href } | t ]}), do: href
defp image_url(_), do: nil
@@ -22,7 +23,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
acct: user.nickname,
display_name: user.name,
locked: false,
- created_at: user.inserted_at,
+ created_at: Utils.to_masto_date(user.inserted_at),
followers_count: user_info.follower_count,
following_count: user_info.following_count,
statuses_count: user_info.note_count,
diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex
index 550ecb74f..11a435ca0 100644
--- a/lib/pleroma/web/mastodon_api/views/status_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/status_view.ex
@@ -2,6 +2,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
use Pleroma.Web, :view
alias Pleroma.Web.MastodonAPI.{AccountView, StatusView}
alias Pleroma.{User, Activity}
+ alias Pleroma.Web.CommonAPI.Utils
def render("index.json", opts) do
render_many(opts.activities, StatusView, "status.json", opts)
@@ -26,10 +27,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
attachments = render_many(object["attachment"] || [], StatusView, "attachment.json", as: :attachment)
- created_at = (object["published"] || "")
- |> NaiveDateTime.from_iso8601!
- |> NaiveDateTime.to_iso8601
- |> String.replace(~r/(\.\d+)?$/, ".000Z", global: false)
+ created_at = Utils.to_masto_date(object["published"])
# TODO: Add cached version.
reply_to = Activity.get_create_activity_by_object_ap_id(object["inReplyTo"])