Velocipede's User, Sales, and Bike Inventory Web App
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
class Api::V1::BikesController < Api::V1::BaseController
|
|
|
|
CANNOT_MANAGE = "You do not have permission to manage bikes."
|
|
|
|
EXPECTED_BIKE = "Expected bike in submitted data"
|
|
|
|
|
|
|
|
before_filter :check_bike_permission
|
|
|
|
|
|
|
|
def create
|
|
|
|
if params[:bikes] && bike = params[:bikes].first
|
|
|
|
@bike = Bike.new(bike)
|
|
|
|
if !@bike.save
|
|
|
|
render json: { errors: @bike.errors }, status: 422 and return
|
|
|
|
end
|
|
|
|
else
|
|
|
|
render json: { errors: [EXPECTED_BIKE]}, status: 422 and return
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
def check_bike_permission
|
|
|
|
if cannot? :manage, Bike
|
|
|
|
render json: { errors: [CANNOT_MANAGE]}, status: 403 and return
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|