def post(self): product_collection = request.get_json() if not product_collection: response = {'message': 'No input data provorder_ided'} return response, HttpStatus.bad_request_400.value #errors = product_schema.validate(product_collection) #if errors: #return errors, HttpStatus.bad_request_400.value product_name = product_collection['name'] if not Product.is_name_unique(id=0, name=product_name): response = {'error': 'Product already exist'.format(product_name)} return response, HttpStatus.bad_request_400.value try: product_category_name = product_collection['product_category'] category = ProductCategory.query.filter_by( name=product_category_name).first() if category is None: category = ProductCategory(name=product_category_name) db.session.add(category) product = Product(name=product_collection['name'], price=product_collection['price'], description=product_collection['description'], product_category=category, tags=product_collection['tags']) product.add(product) query = Product.query.get(product.id) dump_result = product_schema.dump(query) return dump_result, HttpStatus.created_201.value except SQLAlchemyError as e: db.session.rollback() response = {"error": str(e)} return response, HttpStatus.bad_request_400.value