Exemple #1
0
def edit_category(category_id):
    category = Category.query.get_or_404(category_id)

    category_schema = Category.from_json(json.loads(
        request.data.decode('utf-8')),
                                         partial=True)

    if category_schema.errors:
        return {'errors': category_schema.errors}, 400

    if 'parent_id' in category_schema.data:
        parent = Category.query.filter(
            Category.id == category_schema.data['parent_id']).first()
        if not parent:
            return {
                'errors': {
                    'parent': 'Parent category with this id does not exist'
                }
            }, 400

    for field, value in category_schema.data.items():
        if hasattr(category, field):
            setattr(category, field, value)

    db.session.commit()

    return category, 200
Exemple #2
0
def add_category():
    category_schema = Category.from_json(
        json.loads(request.data.decode('utf-8')))

    if category_schema.errors:
        return {'errors': category_schema.errors}, 400

    if 'parent_id' in category_schema.data:
        parent = Category.query.filter(
            Category.id == category_schema.data['parent_id']).first()
        if not parent:
            return {
                'errors': {
                    'parent': 'Parent category with this id does not exist'
                }
            }, 400

    category = Category(**category_schema.data)
    db.session.add(category)
    db.session.commit()

    return category, 201
Exemple #3
0
def add_category():
    category_schema = Category.from_json(json.loads(request.data.decode('utf-8')))

    if category_schema.errors:
        return {'errors': category_schema.errors}, 400

    if 'parent_id' in category_schema.data:
        parent = Category.query.filter(Category.id == category_schema.data['parent_id']).first()
        if not parent:
            return {'errors': {'parent': 'Parent category with this id does not exist'}}, 400

    category = Category(**category_schema.data)
    db.session.add(category)
    db.session.commit()

    return category, 201
Exemple #4
0
def edit_category(category_id):
    category = Category.query.get_or_404(category_id)

    category_schema = Category.from_json(json.loads(request.data.decode('utf-8')), partial=True)

    if category_schema.errors:
        return {'errors': category_schema.errors}, 400

    if 'parent_id' in category_schema.data:
        parent = Category.query.filter(Category.id == category_schema.data['parent_id']).first()
        if not parent:
            return {'errors': {'parent': 'Parent category with this id does not exist'}}, 400

    for field, value in category_schema.data.items():
        if hasattr(category, field):
            setattr(category, field, value)

    db.session.commit()

    return category, 200