class Api::ProfileController < ApplicationController

    skip_before_action :verify_authenticity_token, raise: false
    before_action :authenticate_devise_api_token!
    before_action :set_user

    def show
    end
    
    def address
    end

    def update_address
        if @user.update(address_params)
            return render json: { message: "success", message_description: "La dirección del usuario ha sido actualizada" }, status: :ok
        else
            return render json: { error: "invalid_token", error_description: I18n.t('devise.api.error_response.invalid_authentication') }, status: :unauthorized
        end
    end
    
    private 
    
    def set_user
        if current_devise_api_token
            @user = current_devise_api_token.resource_owner
        else
            return render json: { error: "invalid_token", error_description: I18n.t('devise.api.error_response.invalid_authentication') }, status: :unauthorized
        end
    end

    def address_params
        params.permit(:country, :federal_entity, :delegation, :municipality, :address, :cp)
    end

end