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.

30 lines
777 B

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 bike = params[:bike]
b = Bike.new(bike)
if !b.save
render json: { errors: b.errors }, status: 422 and return
else
render json: { bike: b.as_json }, status: 200 and return
end
else
render json: { errors: ["Expected bike in submitted data" ]}, status: 422 and return
end
render json: {}, status: 200 and return
end
private
def check_bike_permission
if cannot? :manage, Bike
render json: { errors: [CANNOT_MANAGE]}, status: 403 and return
end
end
end