示例#1
0
def get_items():
    """
    Endpoint returns all items or latest added items if 'latest' is true
    :param latest: boolean value
    :return: items in json
    """
    latest = request.args.get('latest')
    db_service = DatabaseService()

    if latest == u'true':
        categories = db_service.get_all_categories()
        items = db_service.get_latest_items(6)
        categories_dict = dict()

        for category in categories:
            if category['id'] in categories_dict.keys():
                categories_dict[category['id']].append(category)
            else:
                categories_dict[category['id']] = category

        for item in items:
            if item['cat_id'] in categories_dict.keys():
                item['categoryName'] = categories_dict[item['cat_id']]['name']

    else:
        items = db_service.get_all_items()

    return jsonify({'items': items}), 200
示例#2
0
def get_all():
    """
    Endpoint provides all categories with associated items
    :return: categories with items in json
    """
    db_service = DatabaseService()
    items = db_service.get_all_items()
    categories = db_service.get_all_categories()

    items_dict = dict()
    for item in items:
        if item['cat_id'] in items_dict.keys():
            items_dict[item['cat_id']].append(item)
        else:
            items_dict[item['cat_id']] = [item]

    for category in categories:
        if category['id'] in items_dict.keys():
            category['item'] = items_dict[category['id']]

    return jsonify({'category': categories}), 200