Ejemplo n.º 1
0
 def post(self):
     body = request.json
     try:
         # find user by username
         user = UserModel.query.filter_by(phone=body['phone']).first()
         if not user:
             return self.api_response(error='account_not_existed',
                                      http_code=400)
         user = user_schema.dump(user).data
         if not user['activate']:
             return self.api_response(error='account_inactivate',
                                      http_code=400)
         # check password
         if not UserModel._check_password(pw_hash=user['password'],
                                          pw_raw=body['password']):
             return self.api_response(error='wrong_password', http_code=400)
         token = generate_token(user)
         return self.api_response(data={'user': user, 'token': token})
     except ValueError as err:
         _logger.error(err)
         return self.api_response(error=str(err), http_code=400)
     except Exception as err:
         return self.api_response(http_code=500)