User Factory: include the nickname in the generated URLs

This commit is contained in:
Mark Felder 2024-08-08 14:41:28 -04:00
parent c29441f30d
commit c0ca7a4eca
2 changed files with 17 additions and 15 deletions

View file

View file

@ -53,6 +53,13 @@ defmodule Pleroma.Factory do
keys: pem keys: pem
} }
user
|> Map.put(:raw_bio, user.bio)
|> merge_attributes(Map.delete(attrs, :domain))
|> make_user_urls(attrs)
end
defp make_user_urls(user, attrs) do
urls = urls =
if attrs[:local] == false do if attrs[:local] == false do
base_domain = attrs[:domain] || Enum.random(["domain1.com", "domain2.com", "domain3.com"]) base_domain = attrs[:domain] || Enum.random(["domain1.com", "domain2.com", "domain3.com"])
@ -60,27 +67,22 @@ defmodule Pleroma.Factory do
ap_id = "https://#{base_domain}/users/#{user.nickname}" ap_id = "https://#{base_domain}/users/#{user.nickname}"
%{ %{
ap_id: ap_id, ap_id: attrs[:ap_id] || ap_id,
follower_address: ap_id <> "/followers", follower_address: attrs[:follower_address] || ap_id <> "/followers",
following_address: ap_id <> "/following", following_address: attrs[:following_address] || ap_id <> "/following",
featured_address: ap_id <> "/collections/featured", featured_address: attrs[:featured_address] || ap_id <> "/collections/featured",
inbox: "https://#{base_domain}/inbox" inbox: attrs[:inbox] || "https://#{base_domain}/inbox"
} }
else else
%{ %{
ap_id: User.ap_id(user), ap_id: attrs[:ap_id] || User.ap_id(user),
follower_address: User.ap_followers(user), follower_address: attrs[:follower_address] || User.ap_followers(user),
following_address: User.ap_following(user), following_address: attrs[:following_address] || User.ap_following(user),
featured_address: User.ap_featured_collection(user) featured_address: attrs[:featured_address] || User.ap_featured_collection(user)
} }
end end
attrs = Map.delete(attrs, :domain) Map.merge(user, urls)
user
|> Map.put(:raw_bio, user.bio)
|> Map.merge(urls)
|> merge_attributes(attrs)
end end
def user_relationship_factory(attrs \\ %{}) do def user_relationship_factory(attrs \\ %{}) do