defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
alias Pleroma.{User, Activity, Repo, Object}
alias Pleroma.Web.ActivityPub.ActivityPub
- alias Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter
+ alias Pleroma.Web.TwitterAPI.Representers.{ActivityRepresenter, UserRepresenter}
import Ecto.Query
context = ActivityPub.generate_context_id
content = HtmlSanitizeEx.strip_tags(data["status"])
+ |> String.replace("\n", "<br>")
mentions = parse_mentions(content)
end
end
+ def register_user(params) do
+ params = %{
+ nickname: params["nickname"],
+ name: params["fullname"],
+ bio: params["bio"],
+ email: params["email"],
+ password: params["password"],
+ password_confirmation: params["confirm"]
+ }
+
+ changeset = User.register_changeset(%User{}, params)
+
+ with {:ok, user} <- Repo.insert(changeset) do
+ {:ok, UserRepresenter.to_map(user)}
+ else
+ {:error, changeset} ->
+ errors = Ecto.Changeset.traverse_errors(changeset, fn {msg, opts} -> msg end)
+ |> Poison.encode!
+ {:error, %{error: errors}}
+ end
+ end
+
defp activities_to_statuses(activities, opts) do
Enum.map(activities, fn(activity) ->
activity_to_status(activity, opts)