|
|
@ -41,8 +41,6 @@ defmodule Pleroma.User do
|
|
|
|
@strict_local_nickname_regex ~r/^[a-zA-Z\d]+$/
|
|
|
|
@strict_local_nickname_regex ~r/^[a-zA-Z\d]+$/
|
|
|
|
@extended_local_nickname_regex ~r/^[a-zA-Z\d_-]+$/
|
|
|
|
@extended_local_nickname_regex ~r/^[a-zA-Z\d_-]+$/
|
|
|
|
|
|
|
|
|
|
|
|
import Pleroma.Workers.WorkerHelper, only: [worker_args: 1]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
schema "users" do
|
|
|
|
schema "users" do
|
|
|
|
field(:bio, :string)
|
|
|
|
field(:bio, :string)
|
|
|
|
field(:email, :string)
|
|
|
|
field(:email, :string)
|
|
|
@ -623,9 +621,7 @@ defmodule Pleroma.User do
|
|
|
|
|
|
|
|
|
|
|
|
@doc "Fetch some posts when the user has just been federated with"
|
|
|
|
@doc "Fetch some posts when the user has just been federated with"
|
|
|
|
def fetch_initial_posts(user) do
|
|
|
|
def fetch_initial_posts(user) do
|
|
|
|
%{"op" => "fetch_initial_posts", "user_id" => user.id}
|
|
|
|
BackgroundWorker.enqueue("fetch_initial_posts", %{"user_id" => user.id})
|
|
|
|
|> BackgroundWorker.new(worker_args(:background))
|
|
|
|
|
|
|
|
|> Repo.insert()
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
@spec get_followers_query(User.t(), pos_integer() | nil) :: Ecto.Query.t()
|
|
|
|
@spec get_followers_query(User.t(), pos_integer() | nil) :: Ecto.Query.t()
|
|
|
@ -1056,9 +1052,7 @@ defmodule Pleroma.User do
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def deactivate_async(user, status \\ true) do
|
|
|
|
def deactivate_async(user, status \\ true) do
|
|
|
|
%{"op" => "deactivate_user", "user_id" => user.id, "status" => status}
|
|
|
|
BackgroundWorker.enqueue("deactivate_user", %{"user_id" => user.id, "status" => status})
|
|
|
|
|> BackgroundWorker.new(worker_args(:background))
|
|
|
|
|
|
|
|
|> Repo.insert()
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def deactivate(%User{} = user, status \\ true) do
|
|
|
|
def deactivate(%User{} = user, status \\ true) do
|
|
|
@ -1087,9 +1081,7 @@ defmodule Pleroma.User do
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def delete(%User{} = user) do
|
|
|
|
def delete(%User{} = user) do
|
|
|
|
%{"op" => "delete_user", "user_id" => user.id}
|
|
|
|
BackgroundWorker.enqueue("delete_user", %{"user_id" => user.id})
|
|
|
|
|> BackgroundWorker.new(worker_args(:background))
|
|
|
|
|
|
|
|
|> Repo.insert()
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
@spec perform(atom(), User.t()) :: {:ok, User.t()}
|
|
|
|
@spec perform(atom(), User.t()) :: {:ok, User.t()}
|
|
|
@ -1198,24 +1190,18 @@ defmodule Pleroma.User do
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def blocks_import(%User{} = blocker, blocked_identifiers) when is_list(blocked_identifiers) do
|
|
|
|
def blocks_import(%User{} = blocker, blocked_identifiers) when is_list(blocked_identifiers) do
|
|
|
|
%{
|
|
|
|
BackgroundWorker.enqueue("blocks_import", %{
|
|
|
|
"op" => "blocks_import",
|
|
|
|
|
|
|
|
"blocker_id" => blocker.id,
|
|
|
|
"blocker_id" => blocker.id,
|
|
|
|
"blocked_identifiers" => blocked_identifiers
|
|
|
|
"blocked_identifiers" => blocked_identifiers
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|> BackgroundWorker.new(worker_args(:background))
|
|
|
|
|
|
|
|
|> Repo.insert()
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def follow_import(%User{} = follower, followed_identifiers)
|
|
|
|
def follow_import(%User{} = follower, followed_identifiers)
|
|
|
|
when is_list(followed_identifiers) do
|
|
|
|
when is_list(followed_identifiers) do
|
|
|
|
%{
|
|
|
|
BackgroundWorker.enqueue("follow_import", %{
|
|
|
|
"op" => "follow_import",
|
|
|
|
|
|
|
|
"follower_id" => follower.id,
|
|
|
|
"follower_id" => follower.id,
|
|
|
|
"followed_identifiers" => followed_identifiers
|
|
|
|
"followed_identifiers" => followed_identifiers
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|> BackgroundWorker.new(worker_args(:background))
|
|
|
|
|
|
|
|
|> Repo.insert()
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def delete_user_activities(%User{ap_id: ap_id} = user) do
|
|
|
|
def delete_user_activities(%User{ap_id: ap_id} = user) do
|
|
|
|