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