korolvs/thatsaboy

View on GitHub
api/app/controllers/family/adult_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
# Adult controller
class Family::AdultController < ApplicationController
  before_action :authorize!
  before_action :get_adult, only: [:update, :delete]

  # Creates an adult
  def create
    adult = Family::Adult.create(person_params)
    adult.user = @user
    adult.save!
    render json: { id: adult.id}
  end

  # Updates an adult
  def update
    @adult.update!(person_params)
  end

  # Deletes an adult
  def delete
    @adult.delete!
  end

  private

  # Loads an adult from DB
  def get_adult
    id = params[:id]
    @adult = Family::Adult.not_deleted.find(id)
    raise Core::Errors::ForbiddenError unless @adult.user == @user
  end
end