master
1class Api::WorkoutsController < Api::Controller
2 def index
3 @workouts = current_user.workouts.recent.includes(:exercise_sets).limit(12)
4 end
5
6 def new
7 @workout = current_user.next_workout_for(current_user.next_routine)
8 end
9
10 def create
11 @workout = current_user.workouts.build(secure_params)
12 @workout.occurred_at = DateTime.now
13 @workout.save!
14 render status: :created
15 end
16
17 private
18
19 def secure_params
20 params.require(:workout).permit(
21 :routine_id,
22 body_weight: [:amount, :unit],
23 exercise_sets_attributes: [
24 :exercise_id,
25 :target_duration,
26 :target_repetitions,
27 :type,
28 target_weight: [:amount, :unit],
29 ]
30 )
31 end
32end