X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fuser.ex;h=e92b85f52c2baea89ecc9c96f4bf8f4064e07d5a;hb=847cb15626debd15eb50c00bb50113457bed7d1c;hp=c3fce17de2301a331c5977abff12e0cff60b9618;hpb=d3b01678545dc4ebb9f5ad883b734f25fd74328c;p=akkoma diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index c3fce17de..e92b85f52 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -99,7 +99,7 @@ defmodule Pleroma.User do |> cast(params, [:bio, :name]) |> unique_constraint(:nickname) |> validate_format(:nickname, ~r/^[a-zA-Z\d]+$/) - |> validate_length(:bio, min: 1, max: 5000) + |> validate_length(:bio, max: 1000) |> validate_length(:name, min: 1, max: 100) end @@ -134,13 +134,13 @@ defmodule Pleroma.User do def register_changeset(struct, params \\ %{}) do changeset = struct |> cast(params, [:bio, :email, :name, :nickname, :password, :password_confirmation]) - |> validate_required([:bio, :email, :name, :nickname, :password, :password_confirmation]) + |> validate_required([:email, :name, :nickname, :password, :password_confirmation]) |> validate_confirmation(:password) |> unique_constraint(:email) |> unique_constraint(:nickname) |> validate_format(:nickname, ~r/^[a-zA-Z\d]+$/) |> validate_format(:email, @email_regex) - |> validate_length(:bio, min: 1, max: 1000) + |> validate_length(:bio, max: 1000) |> validate_length(:name, min: 1, max: 100) if changeset.valid? do @@ -417,7 +417,7 @@ defmodule Pleroma.User do _ -> case OStatus.make_user(ap_id) do {:ok, user} -> user - _ -> {:error, "Could not fetch by ap id"} + _ -> {:error, "Could not fetch by AP id"} end end end @@ -458,4 +458,12 @@ defmodule Pleroma.User do def ap_enabled?(%User{info: info}), do: info["ap_enabled"] def ap_enabled?(_), do: false + + def get_or_fetch(uri_or_nickname) do + if String.starts_with?(uri_or_nickname, "http") do + get_or_fetch_by_ap_id(uri_or_nickname) + else + get_or_fetch_by_nickname(uri_or_nickname) + end + end end