class Api::V1::ProfilesController < Api::BaseController before_action :set_user def show; end def update if password_params[:password].present? render_could_not_create_error('Invalid current password') and return unless @user.valid_password?(password_params[:current_password]) @user.update!(password_params.except(:current_password)) end @user.update!(profile_params) end def availability @user.account_users.find_by!(account_id: availability_params[:account_id]).update!(availability: availability_params[:availability]) end private def set_user @user = current_user end def availability_params params.require(:profile).permit(:account_id, :availability) end def profile_params params.require(:profile).permit( :email, :name, :display_name, :avatar, ui_settings: {} ) end def password_params params.require(:profile).permit( :current_password, :password, :password_confirmation ) end end