summaryrefslogtreecommitdiff
path: root/app/controllers/api/workouts_controller.rb
blob: 4b0aefccef45e8b9594cdd032258921dd6c4cb08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Api::WorkoutsController < Api::Controller
  def index
    @workouts = current_user.workouts.recent.includes(:exercise_sets).limit(12)
  end

  def new
    @workout = current_user.next_workout_for(current_user.next_routine)
  end

  def create
    @workout = current_user.workouts.build(secure_params)
    @workout.occurred_at = DateTime.now
    @workout.save!
    render status: :created
  end

  private

  def secure_params
    params.require(:workout).permit(
      :routine_id,
      body_weight: [:amount, :unit],
      exercise_sets_attributes: [
        :exercise_id,
        :target_duration,
        :target_repetitions,
        :type,
        target_weight: [:amount, :unit],
      ]
    )
  end
end