def put(self, name): data = Category.parser.parse_args() if len(name) > Configuration.MAX_CATEGORY_NAME_SIZE: return { 'message': 'A name\'s length is more than {}'.format( Configuration.MAX_CATEGORY_NAME_SIZE) } posts_id = data['posts'] if posts_id: posts = get_posts(posts_id) else: posts = [] category = CM.find_by_name(name) if not category: category = CM(name=name) else: category.name = name category.posts = [] if posts: category = add_posts(category, posts) try: category.save_to_db() except SQLAlchemyError as e: err = str(e.__class__.__name__) return {'message': '{}'.format(err)}, 500 return category.get_json(), 201
def put(self, category_id): _category_parser = reqparse.RequestParser(bundle_errors=True) _category_parser.add_argument('name', type=non_empty_string, required=False, help="The name field is required!" ) data = _category_parser.parse_args() category = CategoryModel.find_by_id(category_id) if category is None: category = CategoryModel(**data) else: category.name = data['name'] if data['name'] is not None else category.name try: category.save_to_db() except Exception as e: return {'message': 'An error occurred while creating the category.'}, 500 return category.json(), 201