2019-06-21 20:01:43 +02:00
|
|
|
class HomiesController < ApplicationController
|
|
|
|
|
def index
|
2020-10-08 01:13:57 +03:00
|
|
|
homies = Homie.where(gang: params[:gang_id]).order(importance: :desc, name: :asc)
|
|
|
|
|
# json_response(Homie.all.order(importance: :desc, name: :asc))
|
|
|
|
|
json_response homies
|
2019-06-21 20:01:43 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def create
|
2020-09-12 01:26:56 +03:00
|
|
|
homie = Homie.new(homie_params)
|
|
|
|
|
if homie.save
|
|
|
|
|
index
|
|
|
|
|
else
|
|
|
|
|
error_response(:bad_request)
|
|
|
|
|
end
|
2019-06-21 20:01:43 +02:00
|
|
|
end
|
2020-09-12 01:26:56 +03:00
|
|
|
|
|
|
|
|
def destroy
|
2020-10-05 11:24:52 +03:00
|
|
|
id = params[:homie_id].to_i
|
2020-09-12 01:26:56 +03:00
|
|
|
if Homie.destroy(id)
|
|
|
|
|
index
|
|
|
|
|
else
|
|
|
|
|
error_response(:bad_request)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2020-10-06 00:17:21 +03:00
|
|
|
def info
|
2020-10-06 09:58:09 +03:00
|
|
|
importance = params[:importance].present? ? params[:importance].to_i : -1
|
2020-10-08 01:13:57 +03:00
|
|
|
gang = params[:gang_id]
|
|
|
|
|
json_response(Homie.info(importance, gang))
|
2019-06-22 06:17:48 +02:00
|
|
|
end
|
2019-06-21 20:01:43 +02:00
|
|
|
|
2020-09-17 15:00:55 +03:00
|
|
|
def settle
|
2020-09-17 20:23:58 +03:00
|
|
|
homie_id = params[:homie_id].to_i
|
2020-10-05 14:25:42 +03:00
|
|
|
amount = params[:amount].present? ? params[:amount].to_d : nil
|
2020-09-17 15:00:55 +03:00
|
|
|
homie = Homie.find(homie_id)
|
|
|
|
|
|
2020-10-05 14:25:42 +03:00
|
|
|
if homie.settle(amount)
|
2020-10-08 09:44:18 +03:00
|
|
|
money_moves = MoneyMove.where(homie_id: params[:homie_id].to_i).all.order(created_at: :desc)
|
|
|
|
|
json_response money_moves
|
2020-09-17 15:00:55 +03:00
|
|
|
else
|
|
|
|
|
error_response :bad_request
|
|
|
|
|
end
|
|
|
|
|
rescue StandardError
|
|
|
|
|
error_response :bad_request
|
|
|
|
|
end
|
|
|
|
|
|
2019-06-22 06:17:48 +02:00
|
|
|
private
|
2020-09-12 01:26:56 +03:00
|
|
|
|
|
|
|
|
def homie_params
|
2019-06-21 20:01:43 +02:00
|
|
|
params.require(:homie).permit(
|
2020-09-12 01:26:56 +03:00
|
|
|
:name,
|
|
|
|
|
:importance,
|
2020-10-07 22:47:19 +03:00
|
|
|
:about,
|
|
|
|
|
:gang_id
|
2019-06-21 20:01:43 +02:00
|
|
|
)
|
|
|
|
|
end
|
2019-06-20 22:47:39 +02:00
|
|
|
end
|