handle chip and chip values operations

This commit is contained in:
Bilal
2020-09-04 04:07:43 +03:00
parent 6a1920caf3
commit 99e8b9c6f2
8 changed files with 197 additions and 4 deletions

View File

@@ -0,0 +1,40 @@
class ChipValuesController < ApplicationController
def create
if ChipValue.create_full_chip_value(chip_value_params)
json_response all_chips_response
else
error_response :bad_request
end
rescue StandardError
error_response :bad_request
end
def update
if ChipValue.update_full_chip_value(chip_value_params)
json_response all_chips_response
end
rescue StandardError
error_response :bad_request
end
def destroy
if ChipValue.destroy_full_chip_value(params[:id])
json_response all_chips_response
else
error_response :bad_request
end
rescue StandardError
error_response :bad_request
end
private
def chip_value_params
params.require(:chip_value).permit(:id, :base_chip_id, :secondary_chip_id, :value)
end
def all_chips_response
Chip.all.order(:name).to_json(include: :base_chip_values)
end
end

View File

@@ -0,0 +1,29 @@
class ChipsController < ApplicationController
def index
json_response Chip.all.order(:name).to_json(include: :base_chip_values)
end
def create
chip = Chip.new(chip_params)
if chip.save
json_response chip
else
error_response :bad_request
end
end
def destroy
chip_id = params[:id]
if chip_id.present? && Chip.destroy(chip_id)
index
else
error_response :bad_request
end
end
private
def chip_params
params.require(:chip).permit(:id, :name, :symbol, :enabled)
end
end