module MnoEnterprise::Concerns::Controllers::Jpi::V1::Impac::WidgetsController
Public Instance Methods
create()
click to toggle source
POST /mnoe/jpi/v1/impac/dashboards/:id/widgets
-> POST /api/mnoe/v1/dashboards/:id/widgets
# File lib/mno_enterprise/concerns/controllers/jpi/v1/impac/widgets_controller.rb, line 25 def create if widgets authorize! :create_impac_widgets, widgets.build(widget_create_params) if @widget = widgets.create(widget_create_params) MnoEnterprise::EventLogger.info('widget_create', current_user.id, 'Widget Creation', widget) @nocontent = true # no data fetch from Connec! render 'show' else render_bad_request('create widget', @widget.errors) end else render_not_found('widget') end end
destroy()
click to toggle source
DELETE /mnoe/jpi/v1/impac/widgets/:id
-> DELETE /api/mnoe/v1/widgets/:id
# File lib/mno_enterprise/concerns/controllers/jpi/v1/impac/widgets_controller.rb, line 57 def destroy authorize! :destroy_impac_widgets, widget if widget.destroy MnoEnterprise::EventLogger.info('widget_delete', current_user.id, 'Widget Deletion', widget) head status: :ok else render_bad_request('destroy widget', 'Unable to destroy widget') end end
index()
click to toggle source
¶ ↑
Instance methods
¶ ↑
GET /mnoe/jpi/v1/impac/organizations/:organization_id/widgets -> GET /api/mnoe/v1/organizations/:id/widgets
# File lib/mno_enterprise/concerns/controllers/jpi/v1/impac/widgets_controller.rb, line 18 def index render_not_found('organization') unless parent_organization @widgets = parent_organization.widgets end
update()
click to toggle source
PUT /mnoe/jpi/v1/impac/widgets/:id
-> PUT /api/mnoe/v1/widgets/:id
# File lib/mno_enterprise/concerns/controllers/jpi/v1/impac/widgets_controller.rb, line 43 def update authorize! :update_impac_widgets, widget if widget.update(widget_update_params) MnoEnterprise::EventLogger.info('widget_update', current_user.id, 'Widget Update', widget, {widget_action: params[:widget]}) @nocontent = !params['metadata'] render 'show' else render_bad_request('update widget', @widget.errors) end end
Private Instance Methods
parent_dashboard()
click to toggle source
# File lib/mno_enterprise/concerns/controllers/jpi/v1/impac/widgets_controller.rb, line 78 def parent_dashboard @parent_dashboard ||= MnoEnterprise::Impac::Dashboard.find(params[:dashboard_id]) end
widget()
click to toggle source
widget_create_params()
click to toggle source
# File lib/mno_enterprise/concerns/controllers/jpi/v1/impac/widgets_controller.rb, line 86 def widget_create_params permitted_attrs = [:endpoint, :name, :width, { layouts: [] }] params.require(:widget).permit(*permitted_attrs).tap do |whitelisted| whitelisted[:settings] = params[:widget][:metadata] || {} whitelisted[:settings][:organization_ids] ||= parent_dashboard.settings[:organization_ids] # TODO: remove when mnohub migrated to new model whitelisted[:widget_category] = params[:widget][:endpoint] end .except(:metadata) end
widget_update_params()
click to toggle source
# File lib/mno_enterprise/concerns/controllers/jpi/v1/impac/widgets_controller.rb, line 97 def widget_update_params params.require(:widget).permit(:name, :width).tap do |whitelisted| whitelisted[:settings] = params[:widget][:metadata] || {} end .except(:metadata) end
widgets()
click to toggle source
# File lib/mno_enterprise/concerns/controllers/jpi/v1/impac/widgets_controller.rb, line 82 def widgets @widgets ||= parent_dashboard.widgets end