feat: images uploader, endpoint for product images uploading
This commit is contained in:
@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user