- # Note: generating a random numeric suffix to nickname in case this nickname is already taken
- nickname =
- if nickname && User.get_by_nickname(nickname) do
- "#{nickname}_#{:os.system_time()}"
- else
- nickname
- end
+ def create_from_registration(
+ %Plug.Conn{params: %{"authorization" => registration_attrs}},
+ registration
+ ) do
+ nickname = value([registration_attrs["nickname"], Registration.nickname(registration)])
+ email = value([registration_attrs["email"], Registration.email(registration)])
+ name = value([registration_attrs["name"], Registration.name(registration)]) || nickname
+ bio = value([registration_attrs["bio"], Registration.description(registration)])
+
+ random_password = :crypto.strong_rand_bytes(64) |> Base.encode64()