From b1edd94baa64a18223ae2cc731231ba4314fd0d3 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Sun, 16 Apr 2017 10:25:27 +0200 Subject: Add user registration to TwAPI. --- lib/pleroma/web/twitter_api/twitter_api.ex | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index 58f8bc1d3..557faf454 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -1,7 +1,7 @@ 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 @@ -227,6 +227,28 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do 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) -- cgit v1.2.3