Class: Auth::Api::UserController
- Inherits:
-
BaseController
- Object
- BaseController
- Auth::Api::UserController
- Defined in:
- app/controllers/auth/api/user_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #new ⇒ Object
-
#reset ⇒ Object
40001 登陆;.
Instance Method Details
#create ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'app/controllers/auth/api/user_controller.rb', line 30 def create if params[:account].include?('@') @user = User.find_or_initialize_by(email: params[:account]) else @user = User.find_or_initialize_by(mobile: params[:account]) end if @user.persisted? if @user.can_login?(params) login_as @user render json: { user: @user.as_json(only:[:id, :name, :mobile], methods: [:auth_token, :avatar_url]) } and return end else @mobile_token = MobileToken.valid.find_by(token: params[:token], account: params[:account]) if @mobile_token @user.mobile_confirmed = true @mobile_token.user = @user else render json: { message: 'Token is invalid' }, status: :bad_request and return end if @user.join(user_params) login_as @user render json: { user: @user.as_json(only:[:id, :name, :mobile], methods: [:auth_token, :avatar_url]) } and return end end process_errors(@user) end |
#new ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/controllers/auth/api/user_controller.rb', line 6 def new if params[:account].include?('@') @user = User.find_by(email: params[:account]) if @user @verify_token = @user.email_token else @verify_token = EmailToken.valid.find_or_initialize_by(account: params[:account]) end else @user = User.find_by(mobile: params[:account]) if @user @verify_token = @user.mobile_token else @verify_token = MobileToken.valid.find_or_initialize_by(account: params[:account]) end end if @verify_token.save_with_send render json: { present: @user.present?, message: 'Validation code has been sent!' } else render json: { message: 'Token is invalid' }, status: :bad_request end end |
#reset ⇒ Object
40001 登陆;
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'app/controllers/auth/api/user_controller.rb', line 62 def reset if params[:account].include?('@') @user = User.find_by(email: params[:account]) else @user = User.find_by(mobile: params[:account]) end unless @user render json: { code: 40001, message: 'Please join first' }, status: :bad_request and return end @token = @user.verify_tokens.valid.find_by(token: params[:token]) if @token @user.assign_attributes user_params if @user.save render json: { user: @user.as_json(only:[:id, :name, :mobile], methods: [:auth_token, :avatar_url]) } and return else process_errors(@user) end else render json: { message: 'Token is invalid' }, status: :bad_request end end |