Update UsersController
Adds registration, check_email, and check_username methods
This commit is contained in:
parent
2c9c6de915
commit
12a98d4abd
2 changed files with 42 additions and 6 deletions
|
|
@ -1,12 +1,45 @@
|
|||
class Api::V1::UsersController < Api::V1::ApiController
|
||||
class ForbiddenError < StandardError; end
|
||||
|
||||
def create
|
||||
@user = User.new(user_params)
|
||||
render :create, status: :created if @user.save!
|
||||
|
||||
token = Doorkeeper::AccessToken.create!(
|
||||
application_id: nil,
|
||||
resource_owner_id: @user.id,
|
||||
expires_in: 30.days,
|
||||
scopes: 'public'
|
||||
).token
|
||||
|
||||
if @user.save!
|
||||
@presenter = {
|
||||
user_id: @user.id,
|
||||
username: @user.username,
|
||||
token: token
|
||||
}
|
||||
|
||||
render :create, status: :created
|
||||
end
|
||||
end
|
||||
|
||||
def email_available
|
||||
@available = User.where("email = ?", params[:email]).count == 0
|
||||
render :email_available
|
||||
def check_email
|
||||
if params[:email].present?
|
||||
@available = User.where("email = ?", params[:email]).count == 0
|
||||
else
|
||||
@available = false
|
||||
end
|
||||
|
||||
render :available
|
||||
end
|
||||
|
||||
def check_username
|
||||
if params[:username].present?
|
||||
@available = User.where("username = ?", params[:username]).count == 0
|
||||
else
|
||||
@available = false
|
||||
end
|
||||
|
||||
render :available
|
||||
end
|
||||
|
||||
def show
|
||||
|
|
|
|||
|
|
@ -3,12 +3,15 @@ Rails.application.routes.draw do
|
|||
controllers :tokens => 'tokens'
|
||||
skip_controllers :applications, :authorized_applications
|
||||
end
|
||||
|
||||
|
||||
namespace :api, defaults: { format: :json } do
|
||||
namespace :v1 do
|
||||
resources :parties, only: [:index, :create, :show, :destroy]
|
||||
resources :users, only: [:create, :show]
|
||||
resources :search, only: [:index]
|
||||
resources :users, only: [:create, :show]
|
||||
|
||||
post 'check/email', to: 'users#check_email'
|
||||
post 'check/username', to: 'users#check_username'
|
||||
|
||||
post 'weapons', to: 'grid_weapons#create'
|
||||
delete 'weapons', to: 'grid_weapons#destroy'
|
||||
|
|
|
|||
Loading…
Reference in a new issue