def new_user(): json_data = { 'username': request.form.get('username'), 'password': request.form.get('password') } if not json_data: return jsonify({'message': 'No input data provided'}), 400 data = user_schema.load(json_data) username, password = data['username'], data['password'] check_user_exists = User.query.filter_by(username=username).first() if check_user_exists is None: user = User(username=username) user.create_password_hash(password) db.session.add(user) db.session.commit() result = user_schema.dump(user) return jsonify( { 'message': 'New user created', 'user': result } )
def user_registration(): username = request.json['username'] mobile = request.json['mobile'] entered_password = request.json['password'] if User.find_by_username(username): return {'message': USER_ALREADY_EXISTS}, 400 if User.find_by_mobile(mobile): return {'message': MOBILE_ALREADY_EXISTS}, 400 try: db_password = hash_password(entered_password) new_user = User(username, mobile, db_password) User.save(new_user) result = user_schema.dump(new_user) data = { 'message': SUCCESS_REGISTER_MESSAGE, 'status': 201, 'data': result } return make_response(jsonify(data)) except: traceback.print_exc() return {'message': FAILED_TO_CREATE}, 500
def get_user(id): try: user = User.query.get(id) except IntegrityError: return jsonify( { 'message': 'User could not be found' } ), 400 user_result = user_schema.dump(user) return jsonify({'user': user_result})
def update_user(uuid): current_user = get_jwt_identity() if current_user: user = User.find_by_id(uuid) if user: try: if 'username' in request.json: if User.find_by_username(request.json['username']): return {'message': USER_ALREADY_EXISTS}, 400 user.username = request.json['username'] if 'email' in request.json: if User.find_by_username(request.json['email']): return {'message': EMAIL_ALREADY_EXISTS}, 400 user.email = request.json['email'] if 'mobile' in request.json: if User.find_by_username(request.json['mobile']): return {'message': MOBILE_ALREADY_EXISTS}, 400 user.mobile = request.json['mobile'] if 'gender' in request.json: user.gender = request.json['gender'] if 'status' in request.json: user.status = request.json['status'] User.save(user) result = user_schema.dump(user) data = { 'message': SUCCESS_MESSAGE, 'status': 200, 'data': result } return make_response(jsonify(data)) except: traceback.print_exc() return {'message': FAILED_TO_ACCESS}, 500 return {'message': USER_NOT_FOUND}, 404 return {'message': UNAUTHORIZED_ACCESS}, 401
def activate_account(): if 'mobile' in request.json: user = User.find_by_mobile(request.json['mobile']) if user: try: user.status = True User.save(user) result = user_schema.dump(user) data = { 'message': SUCCESS_MESSAGE, 'status': 200, 'data': result } return make_response(jsonify(data)) except: traceback.print_exc() return {'message': FAILED_TO_ACCESS}, 500 return {'message': USER_NOT_FOUND}, 404
def user_detail(uuid): current_user = get_jwt_identity() if current_user: user = User.find_by_id(uuid) if user: try: result = user_schema.dump(user) data = { 'message': SUCCESS_MESSAGE, 'status': 200, 'data': result } return make_response(jsonify(data)) except: traceback.print_exc() return {'message': FAILED_TO_ACCESS}, 500 return {'message': USER_NOT_FOUND}, 404 return {'message': UNAUTHORIZED_ACCESS}, 401
def get_user(id): user = User.query.get(id) if not user: abort(404) return jsonify(user_schema.dump(user).data)