projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add user timeline
[akkoma]
/
lib
/
pleroma
/
web
/
twitter_api
/
twitter_api.ex
diff --git
a/lib/pleroma/web/twitter_api/twitter_api.ex
b/lib/pleroma/web/twitter_api/twitter_api.ex
index 0d9a491dafaf98b052318854878242c26613dd34..0641200312e86f02b31bf34919f47c4f1f68c79d 100644
(file)
--- a/
lib/pleroma/web/twitter_api/twitter_api.ex
+++ b/
lib/pleroma/web/twitter_api/twitter_api.ex
@@
-25,7
+25,7
@@
defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
content_html = add_user_links(content, mentions)
content_html = add_user_links(content, mentions)
- date = make_date
+ date = make_date
()
activity = %{
"type" => "Create",
activity = %{
"type" => "Create",
@@
-69,7
+69,7
@@
defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
end
def fetch_friend_statuses(user, opts \\ %{}) do
end
def fetch_friend_statuses(user, opts \\ %{}) do
- ActivityPub.fetch_activities(
user.following
, opts)
+ ActivityPub.fetch_activities(
[user.ap_id | user.following]
, opts)
|> activities_to_statuses(%{for: user})
end
|> activities_to_statuses(%{for: user})
end
@@
-78,6
+78,12
@@
defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
|> activities_to_statuses(%{for: user})
end
|> activities_to_statuses(%{for: user})
end
+ def fetch_user_statuses(user, opts \\ %{}) do
+ target = get_user(user, opts)
+ ActivityPub.fetch_activities([], Map.merge(opts, %{"actor_id" => target.ap_id}))
+ |> activities_to_statuses(%{for: user})
+ end
+
def fetch_conversation(user, id) do
query = from activity in Activity,
where: fragment("? @> ?", activity.data, ^%{ statusnetConversationId: id}),
def fetch_conversation(user, id) do
query = from activity in Activity,
where: fragment("? @> ?", activity.data, ^%{ statusnetConversationId: id}),
@@
-108,7
+114,7
@@
defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
"type" => "Follow",
"actor" => follower.ap_id,
"object" => followed.ap_id,
"type" => "Follow",
"actor" => follower.ap_id,
"object" => followed.ap_id,
- "published" => make_date
+ "published" => make_date
()
})
do
{ :ok, follower, followed, activity }
})
do
{ :ok, follower, followed, activity }
@@
-188,4
+194,15
@@
defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
defp make_date do
DateTime.utc_now() |> DateTime.to_iso8601
end
defp make_date do
DateTime.utc_now() |> DateTime.to_iso8601
end
+
+ defp get_user(user, params) do
+ case params do
+ %{ "user_id" => user_id } ->
+ Repo.get(User, user_id)
+ %{ "screen_name" => nickname } ->
+ Repo.get_by!(User, nickname: nickname)
+ _ ->
+ user
+ end
+ end
end
end