X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fuser.ex;h=bed8fd1b46d57bbc5851953b18d0468a968bb8e4;hb=48b95a9b954b6d9e1b6f98097b35fcca4172c8a0;hp=e71b33304f4f16e65ad0f3481cc9f0eeef6e71e4;hpb=cafa15131a59ae404eaa48d056885db1f052c9ed;p=akkoma diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index e71b33304..bed8fd1b4 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -61,9 +61,7 @@ defmodule Pleroma.User do end def info_changeset(struct, params \\ %{}) do - struct - |> cast(params, [:info]) - |> validate_required([:info]) + raise "NOT VALID ANYMORE" end def user_info(%User{} = user) do @@ -87,7 +85,7 @@ defmodule Pleroma.User do info_cng = User.Info.remote_user_creation(%User.Info{}, params[:info]) changes = - %User{info: %{}} + %User{} |> cast(params, [:bio, :name, :ap_id, :nickname, :avatar]) |> validate_required([:name, :ap_id]) |> unique_constraint(:nickname) @@ -114,6 +112,7 @@ defmodule Pleroma.User do end end + # TODO: Check if this still used def update_changeset(struct, params \\ %{}) do struct |> cast(params, [:bio, :name]) @@ -128,12 +127,17 @@ defmodule Pleroma.User do params |> Map.put(:last_refreshed_at, NaiveDateTime.utc_now()) + info_cng = + struct.info + |> User.Info.user_upgrade(params[:info]) + struct - |> cast(params, [:bio, :name, :info, :follower_address, :avatar, :last_refreshed_at]) + |> cast(params, [:bio, :name, :follower_address, :avatar, :last_refreshed_at]) |> unique_constraint(:nickname) |> validate_format(:nickname, ~r/^[a-zA-Z\d]+$/) |> validate_length(:bio, max: 5000) |> validate_length(:name, max: 100) + |> put_embed(:info, info_cng) end def password_update_changeset(struct, params) do @@ -281,7 +285,7 @@ defmodule Pleroma.User do end def locked?(%User{} = user) do - user.info["locked"] || false + user.info.locked || false end def get_by_ap_id(ap_id) do @@ -713,7 +717,7 @@ defmodule Pleroma.User do user else changes = - %User{info: %{}} + %User{info: %User.Info{}} |> cast(%{}, [:ap_id, :nickname, :local]) |> put_change(:ap_id, relay_uri) |> put_change(:nickname, nil) @@ -727,7 +731,7 @@ defmodule Pleroma.User do # AP style def public_key_from_info(%{ - "source_data" => %{"publicKey" => %{"publicKeyPem" => public_key_pem}} + source_data: %{"publicKey" => %{"publicKeyPem" => public_key_pem}} }) do key = :public_key.pem_decode(public_key_pem) @@ -738,7 +742,7 @@ defmodule Pleroma.User do end # OStatus Magic Key - def public_key_from_info(%{"magic_key" => magic_key}) do + def public_key_from_info(%{magic_key: magic_key}) do {:ok, Pleroma.Web.Salmon.decode_key(magic_key)} end @@ -758,9 +762,9 @@ defmodule Pleroma.User do data = data |> Map.put(:name, blank?(data[:name]) || data[:nickname]) - |> Map.put(:info, data[:info] || %{}) cs = User.remote_user_creation(data) + Repo.insert(cs, on_conflict: :replace_all, conflict_target: :nickname) end