Files
old-roraccounting/app/controllers/gangs_controller.rb
2020-10-21 15:11:20 +02:00

68 lines
1.5 KiB
Ruby

class GangsController < ApplicationController
include ActionController::MimeResponds
before_action :set_gang, only: [:update, :backup]
def index
json_response Gang.all
rescue StandardError
error_response :bad_request
end
def create
gang = Gang.create(gang_params)
if gang.save
json_response Gang.all
else
error_response :bad_request
end
rescue StandardError
error_response :bad_request
end
def update
@gang.update!(gang_params)
json_response onboarded: true
rescue StandardError => err
Rails.logger.error(err)
error_response :bad_request
end
def backup
csv_string = CSV.generate do |csv|
csv << [:homie_name, :money_amount, :work_amount, :description, :date, :deleted]
@gang.money_moves.each do |money_move|
csv << money_move.to_csv_row
end
@gang.works.each do |work|
csv << work.to_csv_row
end
end
send_data csv_string
end
private
def set_gang
if params[:gang_id] || params[:id]
@gang = Gang.find(params[:id] || params[:gang_id])
else
error_response :bad_request
end
rescue StandardError => err
Rails.logger.error(err)
error_response :bad_request
end
def gang_params
params.require(:gang).permit :name,
:about,
:chip_name,
:chip_code,
:chip_symbol,
:chip_scale,
:chip_prefixed
end
end