feat: image upload on product

This commit is contained in:
2024-05-26 09:28:56 +03:00
parent 88679089b6
commit 8e7812fb66
4 changed files with 26 additions and 4 deletions

View File

@@ -67,6 +67,8 @@ class ProductService(BaseService):
del product_dict['id']
del product_dict['barcodes']
del product_dict['barcode_template']
del product_dict['image_url']
del product_dict['images']
if request.product.barcode_template:
product_dict['barcode_template_id'] = request.product.barcode_template.id
@@ -150,9 +152,12 @@ class ProductService(BaseService):
async def upload_image(self, product_id: int, file_bytes: bytes) -> ProductUploadImageResponse:
try:
product = await self.get_by_id(product_id)
product: Product = await self.session.get(Product, product_id)
if not product:
raise Exception("Неудалось найти товар с указанным ID")
# removing previous images
for image in product.images:
await self.session.delete(image)
s3_uploader = S3Uploader(config.S3_API_KEY)
response = await s3_uploader.upload(file_bytes)
response_url = response.get('link')