2015-01-04 17:40:02 -07:00
|
|
|
module Api
|
|
|
|
class SequencesController < Api::AbstractController
|
2015-01-28 07:44:54 -07:00
|
|
|
# TODO add user authorization maybe (privacy)
|
2015-01-17 08:14:15 -07:00
|
|
|
def index
|
2015-02-25 20:41:34 -07:00
|
|
|
query = { user: current_user }
|
2015-02-25 18:01:40 -07:00
|
|
|
query.merge!(schedule_id: params[:schedule_id]) if params[:schedule_id]
|
|
|
|
render json: Sequence.where(query)
|
2015-01-17 08:14:15 -07:00
|
|
|
end
|
|
|
|
|
2015-01-27 10:42:43 -07:00
|
|
|
def show
|
|
|
|
render json: sequence
|
|
|
|
end
|
|
|
|
|
2015-01-04 17:40:02 -07:00
|
|
|
def create
|
2015-01-06 06:14:53 -07:00
|
|
|
mutate Sequences::Create.run(params, user: current_user)
|
2015-01-04 17:40:02 -07:00
|
|
|
end
|
2015-01-14 05:53:12 -07:00
|
|
|
|
2015-01-22 10:03:41 -07:00
|
|
|
def update
|
2015-01-22 12:11:05 -07:00
|
|
|
mutate Sequences::Update.run(params[:sequence],
|
|
|
|
user: current_user,
|
|
|
|
sequence: sequence)
|
2015-01-22 10:03:41 -07:00
|
|
|
end
|
|
|
|
|
2015-01-14 05:53:12 -07:00
|
|
|
def destroy
|
2015-03-09 04:38:13 -06:00
|
|
|
# HEY YOU!! If you touch this again, add a mutation. This is the most
|
|
|
|
# complexity I would like to see in one controlelr action.
|
2015-01-22 12:11:05 -07:00
|
|
|
if (sequence.user == current_user) && sequence.destroy
|
2015-01-14 05:53:12 -07:00
|
|
|
render nothing: true
|
|
|
|
else
|
|
|
|
raise Errors::Forbidden, "Not your Sequence object."
|
|
|
|
end
|
|
|
|
end
|
2015-01-22 12:11:05 -07:00
|
|
|
|
2015-01-22 12:23:08 -07:00
|
|
|
private
|
2015-01-22 12:11:05 -07:00
|
|
|
|
|
|
|
def sequence
|
|
|
|
@sequence ||= Sequence.find(params[:id])
|
|
|
|
end
|
2015-01-04 17:40:02 -07:00
|
|
|
end
|
|
|
|
end
|