Add account aliases
This commit is contained in:
parent
3a2b2cb6f2
commit
d0eb43b58b
13 changed files with 220 additions and 4 deletions
|
|
@ -89,6 +89,7 @@ defmodule Pleroma.User do
|
|||
field(:keys, :string)
|
||||
field(:public_key, :string)
|
||||
field(:ap_id, :string)
|
||||
field(:ap_aliases, {:array, :string}, default: [])
|
||||
field(:avatar, :map, default: %{})
|
||||
field(:local, :boolean, default: true)
|
||||
field(:follower_address, :string)
|
||||
|
|
@ -2268,4 +2269,27 @@ defmodule Pleroma.User do
|
|||
|> Map.put(:bio, HTML.filter_tags(user.bio, filter))
|
||||
|> Map.put(:fields, fields)
|
||||
end
|
||||
|
||||
def add_aliases(%User{} = user, aliases) when is_list(aliases) do
|
||||
alias_set =
|
||||
(user.ap_aliases ++ aliases)
|
||||
|> MapSet.new()
|
||||
|> MapSet.to_list()
|
||||
|
||||
user
|
||||
|> change(%{ap_aliases: alias_set})
|
||||
|> Repo.update()
|
||||
end
|
||||
|
||||
def delete_aliases(%User{} = user, aliases) when is_list(aliases) do
|
||||
alias_set =
|
||||
user.ap_aliases
|
||||
|> MapSet.new()
|
||||
|> MapSet.difference(MapSet.new(aliases))
|
||||
|> MapSet.to_list()
|
||||
|
||||
user
|
||||
|> change(%{ap_aliases: alias_set})
|
||||
|> Repo.update()
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue