Files
api/app/controllers/users/registrations_controller.rb
Jason Jordan 9853d58469
CI / scan_ruby (push) Failing after 2m13s
CI / lint (push) Failing after 20s
Its been a while
2026-07-23 10:41:46 -04:00

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