forked from AkkomaGang/akkoma
squash! Expose expires_at datetime in mastoAPI only for the activity actor
NOTE: rewrite the commit msg
This commit is contained in:
parent
91d9fdc7de
commit
2981821db8
4 changed files with 10 additions and 6 deletions
|
@ -25,7 +25,7 @@ Has these additional fields under the `pleroma` object:
|
|||
- `in_reply_to_account_acct`: the `acct` property of User entity for replied user (if any)
|
||||
- `content`: a map consisting of alternate representations of the `content` property with the key being it's mimetype. Currently the only alternate representation supported is `text/plain`
|
||||
- `spoiler_text`: a map consisting of alternate representations of the `spoiler_text` property with the key being it's mimetype. Currently the only alternate representation supported is `text/plain`
|
||||
- `expires_on`: a datetime (iso8601) that states when the post will expire (be deleted automatically), or empty if the post won't expire
|
||||
- `expires_in`: the number of minutes until a post will expire (be deleted automatically), or empty if the post won't expire
|
||||
|
||||
## Attachments
|
||||
|
||||
|
|
|
@ -168,11 +168,15 @@ def render("status.json", %{activity: %{data: %{"object" => _object}} = activity
|
|||
|
||||
client_posted_this_activity = opts[:for] && user.id == opts[:for].id
|
||||
|
||||
expires_at =
|
||||
expires_in =
|
||||
with true <- client_posted_this_activity,
|
||||
expiration when not is_nil(expiration) <-
|
||||
ActivityExpiration.get_by_activity_id(activity.id) do
|
||||
expires_in_seconds =
|
||||
expiration.scheduled_at
|
||||
|> NaiveDateTime.diff(NaiveDateTime.utc_now(), :second)
|
||||
|
||||
round(expires_in_seconds / 60)
|
||||
end
|
||||
|
||||
thread_muted? =
|
||||
|
@ -273,7 +277,7 @@ def render("status.json", %{activity: %{data: %{"object" => _object}} = activity
|
|||
in_reply_to_account_acct: reply_to_user && reply_to_user.nickname,
|
||||
content: %{"text/plain" => content_plaintext},
|
||||
spoiler_text: %{"text/plain" => summary_plaintext},
|
||||
expires_at: expires_at
|
||||
expires_in: expires_in
|
||||
}
|
||||
}
|
||||
end
|
||||
|
|
|
@ -170,7 +170,7 @@ test "posting a status", %{conn: conn} do
|
|||
assert activity = Activity.get_by_id(fourth_id)
|
||||
assert expiration = ActivityExpiration.get_by_activity_id(fourth_id)
|
||||
assert expiration.scheduled_at == expires_at
|
||||
assert fourth_response["pleroma"]["expires_at"] == NaiveDateTime.to_iso8601(expires_at)
|
||||
assert fourth_response["pleroma"]["expires_in"] > 0
|
||||
end
|
||||
|
||||
test "replying to a status", %{conn: conn} do
|
||||
|
|
|
@ -134,7 +134,7 @@ test "a note activity" do
|
|||
in_reply_to_account_acct: nil,
|
||||
content: %{"text/plain" => HtmlSanitizeEx.strip_tags(object_data["content"])},
|
||||
spoiler_text: %{"text/plain" => HtmlSanitizeEx.strip_tags(object_data["summary"])},
|
||||
expires_at: nil
|
||||
expires_in: nil
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue