Class: Avo::AppearanceSettingsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/avo/appearance_settings_controller.rb

Instance Method Summary collapse

Instance Method Details

#updateObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/controllers/avo/appearance_settings_controller.rb', line 3

def update
  appearance = Avo.configuration.appearance

  if appearance.save_settings_block.blank?
    return render json: {ok: false, error: "No save_settings block configured"}, status: :unprocessable_entity
  end

  payload = params.key?(:appearance_setting) ? params.require(:appearance_setting) : params
  settings = payload.permit(:color_scheme, :neutral, :accent).to_h.symbolize_keys

  Avo::ExecutionContext.new(
    target: appearance.save_settings_block,
    settings: settings,
    current_user: _current_user
  ).handle

  render json: {ok: true}
end