mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
42 lines
954 B
Ruby
42 lines
954 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Admin
|
|
class ConnectedAppsController < ApplicationController
|
|
def create
|
|
authorize! :admin, enterprise
|
|
|
|
attributes = {}
|
|
attributes[:type] = connected_app_params[:type] if connected_app_params[:type]
|
|
|
|
app = ConnectedApp.create!(enterprise_id: enterprise.id, **attributes)
|
|
app.connect(api_key: spree_current_user.spree_api_key,
|
|
channel: SessionChannel.for_request(request))
|
|
|
|
render_panel
|
|
end
|
|
|
|
def destroy
|
|
authorize! :admin, enterprise
|
|
|
|
app = enterprise.connected_apps.find(params.require(:id))
|
|
app.destroy
|
|
|
|
render_panel
|
|
end
|
|
|
|
private
|
|
|
|
def enterprise
|
|
@enterprise ||= Enterprise.find(params.require(:enterprise_id))
|
|
end
|
|
|
|
def render_panel
|
|
redirect_to "#{edit_admin_enterprise_path(enterprise)}#/connected_apps_panel"
|
|
end
|
|
|
|
def connected_app_params
|
|
params.permit(:type)
|
|
end
|
|
end
|
|
end
|