@@ -477,4 +477,13 @@ defmodule Mobilizon.GraphQL.Resolvers.User do
|
||||
{:error, "Error while saving user setting"}
|
||||
end
|
||||
end
|
||||
|
||||
def update_locale(_parent, %{locale: locale}, %{
|
||||
context: %{current_user: %User{id: logged_user_id, locale: current_locale} = user}
|
||||
}) do
|
||||
with true == current_locale != locale,
|
||||
{:ok, %User{} = updated_user} <- Users.update_user(user, %{locale: locale}) do
|
||||
{:ok, updated_user}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -250,5 +250,10 @@ defmodule Mobilizon.GraphQL.Schema.UserType do
|
||||
arg(:notification_pending_participation, :notification_pending_participation_enum)
|
||||
resolve(&User.set_user_setting/3)
|
||||
end
|
||||
|
||||
field :update_locale, :user do
|
||||
arg(:locale, :string)
|
||||
resolve(&User.update_locale/3)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user