Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Api::V1::AddressesController < Api::V1Controller
- before_action :authenticate_user_with_token!, :set_header
- before_action :address_params, only: [:update]
- resource_description do
- resource_id "address"
- formats ['json']
- meta :author => {:name => 'Rodrigo', :surname => 'Lopes'}
- end
- api :PUT, "/api/v1/address", "Update user address"
- param :address, Hash, required: true do
- # param :diagnosis, String, desc: "Diagnosis, one of: #{::Patient::Profile::DIAGNOSES.inspect}"
- param :type_of_property, String, desc: "Type of property, one of: #{::User::Address::OPT_TYPE_OF_PROPERTY.inspect}"
- param :size_of_outdoor_area, String, desc: "Size of outdoor area, one of: #{::User::Address::OPT_SIZE_OF_OUTDOOR_AREA.inspect}"
- param :kids_under_eighteen, String, desc: "kinds under eighteen, one of: #{::User::Address::OPT_YES_NO.inspect}"
- param :primary_income, String, desc: "Primary income, one of: #{::User::Address::OPT_YES_NO.inspect}"
- param :supervision_alltime, String, desc: "Supervision alltime, one of: #{::User::Address::OPT_YES_NO.inspect}"
- param :emergency_transportation, String, desc: "Emergency transportation, one of: #{::User::Address::OPT_YES_NO.inspect}"
- param :street_one, String, desc: "Street name one", required: true
- param :street_two, String, desc: "Street name two", required: false
- param :city, String, desc: "City name", required: true
- param :country, String, desc: "Country name", required: true
- param :house_number, Integer, desc: "House's number", required: true
- end
- def update
- if current_user.address.nil?
- @address = current_user.build_address
- else
- @address = current_user.address
- end
- render json: {result: true}
- # if @address.update_attributes(address_params)
- # render 'update_success'
- # else
- # render 'update_failure'
- # end
- end
- api :GET, "/api/v1/address", "Get user address"
- def show
- @address = current_user.address
- end
- private
- def set_header
- response.headers['X-Resource'] = 'address'
- end
- def address_params
- params.require(:address).permit(
- :type_of_property,
- :size_of_outdoor_area,
- :kids_under_eighteen,
- :primary_income,
- :supervision_alltime,
- :emergency_transportation,
- :street_one,
- :street_two,
- :post_code,
- :city,
- :country,
- :house_number
- )
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement