1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-01 12:24:28 +01:00
fab-manager/app/controllers/api/machine_categories_controller.rb
2023-03-22 10:58:22 +01:00

53 lines
1.3 KiB
Ruby

# frozen_string_literal: true
# API Controller for resources of type Machine Category
# Categories are used to classify Machine
class API::MachineCategoriesController < API::APIController
before_action :authenticate_user!, except: [:index]
before_action :set_machine_category, only: %i[show update destroy]
def index
@machine_categories = MachineCategory.all.order(name: :asc)
end
def show; end
def create
authorize MachineCategory
@machine_category = MachineCategory.new(machine_category_params)
if @machine_category.save
render :show, status: :created, location: @category
else
render json: @machine_category.errors, status: :unprocessable_entity
end
end
def update
authorize MachineCategory
if @machine_category.update(machine_category_params)
render :show, status: :ok, location: @category
else
render json: @machine_category.errors, status: :unprocessable_entity
end
end
def destroy
authorize MachineCategory
if @machine_category.destroy
head :no_content
else
render json: @machine_category.errors, status: :unprocessable_entity
end
end
private
def set_machine_category
@machine_category = MachineCategory.find(params[:id])
end
def machine_category_params
params.require(:machine_category).permit(:name, machine_ids: [])
end
end