Source code for luna_handlers.classes.schemas.multipart
"""
Module contains schemas for multipart requests
"""
from pydantic import conlist
from classes.schemas.base_schema import BaseSchema
from classes.schemas.simple_schemas import BoundingBoxSchema
from classes.schemas.types import CustomDatetime, DetectTs, Str256
class _FileNameWithFaceBBs(BaseSchema):
    """Model for filename with face bounding boxes"""
    # filename string
    filename: str
    # face bounding box list
    faceBoundingBoxes: conlist(BoundingBoxSchema, min_items=1)
[docs]class FileNameWithFaceBBs(BaseSchema):
    """Model for filename with face bounding boxes"""
    # face bounding box list with filename
    faceBoundingBoxes: list[_FileNameWithFaceBBs] 
class _FileNameWithBodyBBs(BaseSchema):
    """Model for filename with body bounding boxes"""
    # filename string
    filename: str
    # body bounding box list
    bodyBoundingBoxes: conlist(BoundingBoxSchema, min_items=1)
[docs]class FileNameWithBodyBBs(BaseSchema):
    """Model for filename with body bounding boxes"""
    # body bounding box list with filename
    bodyBoundingBoxes: list[_FileNameWithBodyBBs] 
class _FileNameWithDetectionTime(BaseSchema):
    """Model for filename with image detect time"""
    # filename string
    filename: str
    # image detection time
    detectTime: CustomDatetime
[docs]class FileNameWithDetectionTime(BaseSchema):
    """Model for list of filename with image detect time"""
    # detection time list with filename
    imageDetectTime: list[_FileNameWithDetectionTime] 
class _FileNameWithDetectionRelativeTimestamp(BaseSchema):
    """Model for filename with image detect relative timestamp"""
    # filename string
    filename: str
    # image detection relative timestamp
    detectTs: DetectTs
[docs]class FileNameWithDetectionRelativeTimestamp(BaseSchema):
    """Model for list of filename with image detect relative detection timestamp"""
    # detection relative timestamp list with filename
    imageDetectTs: list[_FileNameWithDetectionRelativeTimestamp] 
class _FileNameWithImageOrigin(BaseSchema):
    """Model for filename with image origin"""
    # filename string
    filename: str
    # image origin
    imageOrigin: Str256
[docs]class FileNameWithImageOrigin(BaseSchema):
    """Model for list of filename with image origin"""
    # image origin list with filename
    imageOrigin: list[_FileNameWithImageOrigin]