Class: Api::V1::UserTokensController
- Inherits:
-
BaseController
- Object
- BaseController
- Api::V1::UserTokensController
- Defined in:
- lib/generators/happy_seed/api/templates/app/controllers/api/v1/user_tokens_controller.rb
Instance Method Summary collapse
Instance Method Details
#create ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/generators/happy_seed/api/templates/app/controllers/api/v1/user_tokens_controller.rb', line 4 def create respond_to do |format| user = User.where('LOWER(email) = ?', user_token_params[:email].try(:downcase)).first if user.present? if user.valid_password?(user_token_params[:password]) if user.active_for_authentication? user_token = user.user_tokens.where(installation_identifier: user_token_params[:installation_identifier]).first_or_initialize user_token.update push_token: user_token_params[:push_token] user_token.update form_factor: user_token_params[:form_factor] user_token.update os: user_token_params[:os] if user_token.persisted? format.json do render json: {user_token: user_token_hash(user_token, user: true)}, status: :ok end else format.json do render json: {errors: user_token.errors}, status: :unprocessable_entity end end else format.json do render json: {errors: {user: 'is locked'}}, status: :forbidden end end else format.json do render json: {errors: {password: 'is invalid'}}, status: :forbidden end end else format.json do render json: {errors: {email: 'not found'}}, status: :not_found end end end end |
#destroy ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/generators/happy_seed/api/templates/app/controllers/api/v1/user_tokens_controller.rb', line 61 def destroy respond_to do |format| if current_user_token.try(:persisted?) current_user_token.destroy format.json do render json: {user_token: user_token_hash(current_user_token, user: true)}, status: :ok end else format.json do render json: {errors: {token: 'not found'}}, status: :not_found end end end end |
#update ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/generators/happy_seed/api/templates/app/controllers/api/v1/user_tokens_controller.rb', line 41 def update respond_to do |format| if current_user_token.try(:persisted?) if current_user_token.update(user_token_params.slice :push_token) format.json do render json: {user_token: user_token_hash(current_user_token)}, status: :ok end else format.json do render json: {errors: current_user_token.errors}, status: :unprocessable_entity end end else format.json do render json: {errors: {token: 'not found'}}, status: :not_found end end end end |