app/controllers/admin/inventory_items_controller.rb
# frozen_string_literal: true
module Admin
class InventoryItemsController < Admin::ResourceController
respond_to :json
respond_override update: { json: {
success: lambda { render_as_json @inventory_item },
failure: lambda {
render json: { errors: @inventory_item.errors.full_messages },
status: :unprocessable_entity
}
} }
respond_override create: { json: {
success: lambda { render_as_json @inventory_item },
failure: lambda {
render json: { errors: @inventory_item.errors.full_messages },
status: :unprocessable_entity
}
} }
private
# Overriding resource_controller method to load data from params here so that
# we can authorise #create using an object with required attributes
def build_resource
model_class.new(permitted_resource_params)
end
def permitted_resource_params
params.require(:inventory_item).permit(:enterprise_id, :variant_id, :visible)
end
end
end