Class: Spree::Admin::ApiKeysController

Inherits:
ResourceController show all
Includes:
SettingsConcern, TableConcern
Defined in:
app/controllers/spree/admin/api_keys_controller.rb

Instance Method Summary collapse

Methods included from TableConcern

#apply_table_sort, #custom_sort_active?, #process_table_query_state, #table, #table_key, #table_registered?

Methods included from SettingsConcern

#choose_layout

Methods inherited from ResourceController

belongs_to, #destroy, #edit, #index, #new, #update

Methods included from BreadcrumbConcern

#add_breadcrumb_icon_instance_var

Instance Method Details

#createObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/controllers/spree/admin/api_keys_controller.rb', line 11

def create
  invoke_callbacks(:create, :before)
  set_created_by
  @object.attributes = permitted_resource_params
  if @object.save
    invoke_callbacks(:create, :after)
    if @object.secret?
      # Pass plaintext token via flash so the show page can display it once.
      # Flash is stored in the encrypted session cookie and auto-cleared after one request.
      # Skip the success flash — the token warning banner is sufficient feedback.
      flash[:plaintext_token] = @object.plaintext_token
    else
      flash[:success] = message_after_create
    end
    redirect_to location_after_create, status: :see_other
  else
    invoke_callbacks(:create, :fails)
    render action: :new, status: :unprocessable_content
  end
end

#revokeObject



32
33
34
35
36
37
# File 'app/controllers/spree/admin/api_keys_controller.rb', line 32

def revoke
  @object = scope.find_by_prefix_id!(params[:id])
  @object.revoke!(try_spree_current_user)
  flash[:success] = Spree.t('admin.api_keys.revoked')
  redirect_to spree.admin_api_key_path(@object)
end