Files

33 lines
768 B
Ruby

class Api::RegistrationsController < ApplicationController
skip_before_action :authenticate_request!, only: [:create]
def create
user = User.new(registration_params)
if user.save
token = JwtService.encode(user_id: user.id)
render json: {
user: user_response(user),
token: token
}, status: :created
else
render json: { errors: user.errors.full_messages }, status: :unprocessable_entity
end
end
private
def registration_params
params.require(:user).permit(:nickname, :password, :avatar)
end
def user_response(user)
{
id: user.id,
nickname: user.nickname,
avatar_url: user.avatar.attached? ? url_for(user.avatar) : nil,
created_at: user.created_at
}
end
end