|
|
|
@ -1,8 +1,10 @@
|
|
|
|
|
defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
|
|
|
|
|
alias Pleroma.{UserInviteToken, User, Activity, Repo, Object}
|
|
|
|
|
alias Pleroma.{UserEmail, Mailer}
|
|
|
|
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
|
|
|
|
alias Pleroma.Web.TwitterAPI.UserView
|
|
|
|
|
alias Pleroma.Web.CommonAPI
|
|
|
|
|
|
|
|
|
|
import Ecto.Query
|
|
|
|
|
|
|
|
|
|
def create_status(%User{} = user, %{"status" => _} = data) do
|
|
|
|
@ -165,6 +167,22 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
|
|
|
|
|
|
|
|
|
|
with {:ok, user} <- Repo.insert(changeset) do
|
|
|
|
|
!registrations_open && UserInviteToken.mark_as_used(token.token)
|
|
|
|
|
|
|
|
|
|
if Pleroma.Config.get([:instance, :account_activation_required]) do
|
|
|
|
|
info_change = User.Info.confirmation_update(user.info, :unconfirmed)
|
|
|
|
|
|
|
|
|
|
{:ok, unconfirmed_user} =
|
|
|
|
|
user
|
|
|
|
|
|> Ecto.Changeset.change()
|
|
|
|
|
|> Ecto.Changeset.put_embed(:info, info_change)
|
|
|
|
|
|> Repo.update()
|
|
|
|
|
|
|
|
|
|
{:ok, _} =
|
|
|
|
|
unconfirmed_user
|
|
|
|
|
|> UserEmail.account_confirmation_email()
|
|
|
|
|
|> Mailer.deliver()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
{:ok, user}
|
|
|
|
|
else
|
|
|
|
|
{:error, changeset} ->
|
|
|
|
@ -189,8 +207,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
|
|
|
|
|
%User{local: true} = user <- User.get_by_nickname_or_email(nickname_or_email),
|
|
|
|
|
{:ok, token_record} <- Pleroma.PasswordResetToken.create_token(user) do
|
|
|
|
|
user
|
|
|
|
|
|> Pleroma.UserEmail.password_reset_email(token_record.token)
|
|
|
|
|
|> Pleroma.Mailer.deliver()
|
|
|
|
|
|> UserEmail.password_reset_email(token_record.token)
|
|
|
|
|
|> Mailer.deliver()
|
|
|
|
|
else
|
|
|
|
|
false ->
|
|
|
|
|
{:error, "bad user identifier"}
|
|
|
|
|