60 lines
1.9 KiB
Ruby
60 lines
1.9 KiB
Ruby
class ApiAuthsController < ApiController
|
|
|
|
respond_to :json
|
|
|
|
def register
|
|
user = UserManager.new.signup(remote_ip: request.remote_ip,
|
|
first_name: params[:first_name],
|
|
last_name: params[:last_name],
|
|
email: params[:email],
|
|
password: params[:password],
|
|
password_confirmation: params[:password],
|
|
terms_of_service: true,
|
|
instruments: [],
|
|
birth_date: nil,
|
|
location: nil,
|
|
musician: false,
|
|
skip_recaptcha: true,
|
|
invited_user: nil,
|
|
fb_signup: nil,
|
|
signup_confirm_url: ApplicationHelper.base_uri(request) + "/confirm",
|
|
affiliate_referral_id: nil,
|
|
affiliate_partner: nil)
|
|
|
|
if user.nil?
|
|
render :json => {}, :status => 422
|
|
else
|
|
@session_only_cookie = false
|
|
|
|
render :json => {
|
|
first_name: user.first_name,
|
|
last_name: user.last_name,
|
|
email: user.email
|
|
}, :status => :ok
|
|
end
|
|
end
|
|
|
|
def login
|
|
user = User.authenticate(params[:email], params[:password])
|
|
|
|
if user.nil?
|
|
render :json => {}, :status => 422
|
|
else
|
|
if jkclient_agent?
|
|
user.update_progression_field(:first_ran_client_at)
|
|
end
|
|
|
|
@session_only_cookie = !jkclient_agent? && !params[:remember_me]
|
|
|
|
complete_sign_in(user, redirect=false)
|
|
|
|
render :json => {
|
|
first_name: user.first_name,
|
|
last_name: user.last_name,
|
|
photo_url: user.photo_url,
|
|
email: user.email
|
|
}, :status => :ok
|
|
end
|
|
end
|
|
end
|