def edit_group_category(group_category_id): group_category = GroupCategory.query.filter( GroupCategory.id == group_category_id, GroupCategory.group_id == current_user.group_id ).first_or_404() group_category_schema = GroupCategory.from_json(json.loads(request.data.decode('utf-8')), partial=True) if group_category_schema.errors: return {'errors': group_category_schema.errors}, 400 if 'parent_id' in group_category_schema.data: parent = GroupCategory.query.filter( GroupCategory.id == group_category_schema.data['parent_id'] ).first() if not parent: return {'errors': {'parent': 'Parent group_category with this id does not exist'}}, 400 for field, value in group_category_schema.data.items(): if hasattr(group_category, field): setattr(group_category, field, value) db.session.commit() return group_category, 200
def add_group_category(): group_category_schema = GroupCategory.from_json(json.loads(request.data.decode('utf-8'))) if group_category_schema.errors: return {'errors': group_category_schema.errors}, 400 if 'parent_id' in group_category_schema.data: parent = GroupCategory.query.filter( GroupCategory.id == group_category_schema.data['parent_id'] ).first() if not parent: return {'errors': {'parent': 'Parent group_category with this id does not exist'}}, 400 group_category = GroupCategory(**group_category_schema.data) group_category.group = current_user.group db.session.add(group_category) db.session.commit() return group_category, 201