Commit 1d531fd2 authored by kaniini's avatar kaniini
Browse files

Merge branch 'fix/mastodon-api-settings' into 'develop'

Fix put_settings and remove info_changeset

See merge request !507
parents abead01a 2ae1128d
Pipeline #5034 passed with stages
in 2 minutes and 36 seconds
......@@ -62,10 +62,6 @@ def follow_changeset(struct, params \\ %{}) do
|> 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
......
......@@ -149,6 +149,11 @@ def mastodon_profile_update(info, params) do
])
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}
......
......@@ -979,9 +979,11 @@ def index(%{assigns: %{user: user}} = conn, _params) do
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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment