Add media upload endpoint.
[akkoma] / lib / pleroma / web / mastodon_api / views / status_view.ex
index 686ffd29de26e6d4db5f2c6c554095ff163f591d..a172875df320f9087208ba9ac15004c273bde98b 100644 (file)
@@ -26,6 +26,11 @@ 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)
+
     %{
       id: activity.id,
       uri: object["id"],
@@ -35,7 +40,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
       in_reply_to_account_id: nil,
       reblog: nil,
       content: HtmlSanitizeEx.basic_html(object["content"]),
-      created_at: object["published"],
+      created_at: created_at,
       reblogs_count: announcement_count,
       favourites_count: like_count,
       reblogged: !!repeated,
@@ -61,8 +66,10 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do
       true -> "unknown"
     end
 
+    << hash_id::signed-32, _rest::binary >> = :crypto.hash(:md5, href)
+
     %{
-      id: attachment["uuid"],
+      id: attachment["id"] || hash_id,
       url: href,
       remote_url: href,
       preview_url: href,