|> validate_required([:following])
end
- def info_changeset(struct, params \\ %{}) do
- raise "NOT VALID ANYMORE"
- end
-
def user_info(%User{} = user) do
oneself = if user.local, do: 1, else: 0
])
end
+ def mastodon_settings_update(info, params) do
+ info
+ |> cast(params, [:settings])
+ end
+
def set_source_data(info, source_data) do
params = %{source_data: source_data}
end
def put_settings(%{assigns: %{user: user}} = conn, %{"data" => settings} = _params) do
- with new_info <- Map.put(user.info, "settings", settings),
- change <- User.info_changeset(user, %{info: new_info}),
- {:ok, _user} <- User.update_and_set_cache(change) do
+ info_cng = User.Info.mastodon_settings_update(user.info, settings)
+
+ with changeset <- User.update_changeset(user),
+ changeset <- Ecto.Changeset.put_embed(changeset, :info, info_cng),
+ {:ok, user} <- User.update_and_set_cache(changeset) do
conn
|> json(%{})
else