Merge branch 'feature/relay' into 'develop'
message relay Closes #144 See merge request pleroma/pleroma!264
This commit is contained in:
commit
46c7c2380c
13 changed files with 202 additions and 7 deletions
|
|
@ -77,7 +77,7 @@ defmodule Pleroma.User do
|
|||
changes =
|
||||
%User{}
|
||||
|> cast(params, [:bio, :name, :ap_id, :nickname, :info, :avatar])
|
||||
|> validate_required([:name, :ap_id, :nickname])
|
||||
|> validate_required([:name, :ap_id])
|
||||
|> unique_constraint(:nickname)
|
||||
|> validate_format(:nickname, @email_regex)
|
||||
|> validate_length(:bio, max: 5000)
|
||||
|
|
@ -516,7 +516,8 @@ defmodule Pleroma.User do
|
|||
u.nickname,
|
||||
u.name
|
||||
)
|
||||
}
|
||||
},
|
||||
where: not is_nil(u.nickname)
|
||||
)
|
||||
|
||||
q =
|
||||
|
|
@ -595,7 +596,11 @@ defmodule Pleroma.User do
|
|||
end
|
||||
|
||||
def local_user_query() do
|
||||
from(u in User, where: u.local == true)
|
||||
from(
|
||||
u in User,
|
||||
where: u.local == true,
|
||||
where: not is_nil(u.nickname)
|
||||
)
|
||||
end
|
||||
|
||||
def deactivate(%User{} = user) do
|
||||
|
|
@ -654,6 +659,25 @@ defmodule Pleroma.User do
|
|||
end
|
||||
end
|
||||
|
||||
def get_or_create_instance_user do
|
||||
relay_uri = "#{Pleroma.Web.Endpoint.url()}/relay"
|
||||
|
||||
if user = get_by_ap_id(relay_uri) do
|
||||
user
|
||||
else
|
||||
changes =
|
||||
%User{}
|
||||
|> cast(%{}, [:ap_id, :nickname, :local])
|
||||
|> put_change(:ap_id, relay_uri)
|
||||
|> put_change(:nickname, nil)
|
||||
|> put_change(:local, true)
|
||||
|> put_change(:follower_address, relay_uri <> "/followers")
|
||||
|
||||
{:ok, user} = Repo.insert(changes)
|
||||
user
|
||||
end
|
||||
end
|
||||
|
||||
# AP style
|
||||
def public_key_from_info(%{
|
||||
"source_data" => %{"publicKey" => %{"publicKeyPem" => public_key_pem}}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue