def remove_from_closet(): data = request.get_json() user_info = get_jwt_identity() user = find_user_by_email(user_info['email']) user_id = user['_id'] if user: closet_id = user['closet'] item_id = data['item_id'] formatted_item_id = convert_to_ObjectId(item_id) try: remove_item_from_closet(closet_id, formatted_item_id) except LookupError as err: return jsonify({'ok': False, 'message': str(err)}), 404 except: return jsonify({'ok': False, 'message': 'Unexpected error'}), 404 else: LOG.info('Removed item {} from closet {} for user {}'.format( item_id, closet_id, user_id)) return jsonify({'ok': True, 'data': {}}), 200 else: return jsonify({ 'ok': False, 'message': 'Bad user info: {}'.format(user_info['email']) }), 400
def add_to_wishlist(): data = request.get_json() user_info = get_jwt_identity() user = find_user_by_email(user_info['email']) user_id = user['_id'] if user: wishlist_id = user['wishlist'] item_id = data['item_id'] formatted_item_id = convert_to_ObjectId(item_id) try: add_item_to_wishlist(wishlist_id, formatted_item_id) except LookupError as err: return jsonify({'ok': False, 'message': str(err)}), 404 except: return jsonify({'ok': False, 'message': 'Unexpected error'}), 404 else: LOG.info('Added item {} to wishlist {} for user {}'.format( item_id, wishlist_id, user_id)) return jsonify({'ok': True, 'data': {}}), 200 else: return jsonify({ 'ok': False, 'message': 'Bad user info: {}'.format(user_info['email']) }), 400
def fetch_closet_item_list(id): formatted_id = convert_to_ObjectId(id) try: closet = find_closet_by_id(formatted_id) except LookupError as err: return jsonify({'ok': False, 'message': str(err)}), 404 except: return jsonify({'ok': False, 'message': 'Unexpected error'}), 404 else: item_list = closet['clothing_items'] return jsonify({'ok': True, 'data': item_list}), 200
def fetch_wishlist(id): formatted_id = convert_to_ObjectId(id) try: wishlist = find_wishlist_by_id(formatted_id) item_list = wishlist['clothing_items'] formatted_item_list = map(convert_to_ObjectId, item_list) clothingitem_list = find_clothinglist_by_ids(formatted_item_list) except LookupError as err: return jsonify({'ok': False, 'message': str(err)}), 404 except: return jsonify({'ok': False, 'message': 'Unexpected error'}), 404 else: return jsonify({'ok': True, 'data': clothingitem_list}), 200
def fetch_user(user_id): formatted_user_id = convert_to_ObjectId(user_id) try: user = find_user_by_id(formatted_user_id) response = { 'closet_id': user.closet_id, 'email': user.email, 'id': user.id, 'name': user.name, 'wishlist_id': user.wishlist_id } except LookupError as err: return jsonify({'ok': False, 'message': str(err)}), 404 except: return jsonify({'ok': False, 'message': 'Unexpected error'}), 404 else: return jsonify({'ok': True, 'data': response}), 200