106 lines
2.7 KiB
Ruby
106 lines
2.7 KiB
Ruby
|
|
# 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
|