# frozen_string_literal: true class Users::RegistrationsController < Devise::RegistrationsController respond_to :json before_action :configure_sign_up_params, only: [:create] # before_action :configure_account_update_params, only: [:update] # GET /resource/sign_up # def new # super # end # POST /resource # def create # super do |resource| # resource.sync_role_entity! # end # end # GET /resource/edit # def edit # super # end # PUT /resource # def update # super # end # DELETE /resource # def destroy # super # end # GET /resource/cancel # Forces the session data which is usually expired after sign # in to be expired now. This is useful if the user wants to # cancel oauth signing in/up in the middle of the process, # removing all OAuth session data. # def cancel # super # end # protected private # def respond_with(resource, _opts = {}) # if resource.persisted? # render json: { # status: { code: 200, message: 'Signed up successfully.' }, # data: resource # }, status: :ok # else # render json: { # status: { message: "User couldn't be created successfully. #{resource.errors.full_messages.to_sentence}" } # }, status: :unprocessable_entity # end # end def respond_with(resource, _opts = {}) if resource.persisted? # Customize what is returned upon successful login here render json: { message: "Signed up successfully.", user: { id: resource.id, email: resource.email, name: resource.name, role: resource.role, role_id: resource.role_id, jti: resource.jti, keychain: resource.keychain, created_at: resource.created_at, updated_at: resource.updated_at } }, status: :ok else render json: { status: { message: "User couldn't be created successfully. #{resource.errors.full_messages.to_sentence}" } }, status: :unprocessable_entity end end # If you have extra params to permit, append them to the sanitizer. def configure_sign_up_params devise_parameter_sanitizer.permit(:sign_up, keys: [:role, :role_id, :date_of_birth, :last_four_ssn]) end # If you have extra params to permit, append them to the sanitizer. # def configure_account_update_params # devise_parameter_sanitizer.permit(:account_update, keys: [:attribute]) # end # The path used after sign up. # def after_sign_up_path_for(resource) # super(resource) # end # The path used after sign up for inactive accounts. # def after_inactive_sign_up_path_for(resource) # super(resource) # end end