def register(): response_object = {'status': 'fail', 'message': 'Invalid data!'} data = request.get_json() if not data: return jsonify(response_object), 400 username = data.get('username') password = data.get('password') try: user = User.query.filter_by(username=username).first() if user: response_object['message'] = f'username {username} exists!' return jsonify(response_object), 400 new_user = User(username=username, password=password) db.session.add(new_user) db.session.commit() auth_token = new_user.encode_auth_token() response_object['status'] = 'success' response_object['message'] = 'Successfully registered.' response_object['auth_token'] = auth_token.decode() response_object['username'] = new_user.username return jsonify(response_object), 201 except (exc.IntegrityError, ValueError): db.session.rollback() return jsonify(response_object), 400
def post(self): # get the post data post_data = request.get_json() email = post_data.get('email') password = post_data.get('password') # check if user already exists user = User.query.filter_by(email=email).first() if not user: try: user = User(email=email, password=password) # insert the user db.session.add(user) db.session.commit() # generate the auth token auth_token = user.encode_auth_token(user.id) response_object = { 'status': 'success', 'message': 'Successfully registered.', 'auth_token': auth_token.decode() } return make_response(jsonify(response_object), 201) except Exception as e: response_object = { 'status': 'fail', 'message': 'Error:{}'.format(str(e)) } return make_response(jsonify(response_object), 401) else: response_object = { 'status': 'fail', 'message': 'User already exists. Please Log in.', } return make_response(jsonify(response_object), 202)
def post(self): # get the post data post_data = request.get_json() # check if user already exists user = User.query.filter_by(email=post_data.get('email')).first() if not user: try: user = User( email=post_data.get('email'), password=post_data.get('password') ) # insert the user db.session.add(user) db.session.commit() # generate the auth token auth_token = user.encode_auth_token(user.id) responseObject = { 'status': 'success', 'message': 'Successfully registered.', 'auth_token': auth_token.decode() } return make_response(jsonify(responseObject)), 201 except Exception as e: print("#########") print(e) print("#########") responseObject = { 'status': 'fail', 'message': 'Some error occurred. Please try again.' } return make_response(jsonify(responseObject)), 401 else: responseObject = { 'status': 'fail', 'message': 'User already exists. Please Log in.', } return make_response(jsonify(responseObject)), 202
def add_new_user(api, user_id=None): if user_id: admin = User.query.with_entities( User.admin).filter_by(id=user_id).first()[0] if not admin: api.abort(401, "Insufficient permissions", status="fail") email = api.payload["email"] password = api.payload["password"] user = User.query.filter_by(email=email).first() if user: api.abort(409, "User already exists", status="fail") new_user = User(email=email, password=password) save_changes(new_user) auth_token = new_user.encode_auth_token(new_user.id).decode() return { "status": "success", "data": new_user, "auth_token": auth_token }, 201