feat: images uploader, endpoint for product images uploading

This commit is contained in:
2025-10-20 16:09:29 +04:00
parent 34ac2a0a69
commit 90c0bae8f1
11 changed files with 171 additions and 9 deletions

View File

@ -1,6 +1,6 @@
from typing import Optional
from pydantic import field_validator
from pydantic import field_validator, model_validator
from modules.fulfillment_base.models import ProductBarcode
from modules.fulfillment_base.schemas.barcode_template import BarcodeTemplateSchema
@ -28,6 +28,17 @@ class CreateProductSchema(BaseSchema):
size: Optional[str]
additional_info: Optional[str]
barcodes: list[str]
image_url: str | None = None
images: list[ProductImageSchema] | None = []
@model_validator(mode="after")
def images_list_to_image_url(cls, values):
images = values.images
if not images:
return values
latest_image = images[-1]
values.image_url = latest_image.image_url
return values
class ProductSchema(CreateProductSchema):
@ -93,6 +104,10 @@ class UpdateProductResponse(BaseResponse):
pass
class ProductUploadImageResponse(BaseResponse):
image_url: Optional[str] = None
class DeleteProductResponse(BaseResponse):
pass