diff options
Diffstat (limited to 'lib/pleroma/web/twitter_api/twitter_api.ex')
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api.ex | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex new file mode 100644 index 000000000..16e05ded3 --- /dev/null +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -0,0 +1,33 @@ +defmodule Pleroma.Web.TwitterAPI.TwitterAPI do + alias Pleroma.User + alias Pleroma.Web.ActivityPub.ActivityPub + alias Pleroma.Repo + alias Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter + + def create_status(user = %User{}, data = %{}) do + activity = %{ + type: "Create", + to: [ + User.ap_followers(user), + "https://www.w3.org/ns/activitystreams#Public" + ], + actor: User.ap_id(user), + object: %{ + type: "Note", + content: data.status + } + } + + ActivityPub.insert(activity) + end + + def fetch_public_statuses do + activities = ActivityPub.fetch_public_activities + + Enum.map(activities, fn(activity) -> + actor = get_in(activity.data, ["actor"]) + user = Repo.get_by!(User, ap_id: actor) + ActivityRepresenter.to_map(activity, %{user: user}) + end) + end +end |