julee.util.domain ================= .. py:module:: julee.util.domain Classes ------- .. autoapisummary:: julee.util.domain.FileMetadata julee.util.domain.FileUploadArgs Module Contents --------------- .. py:class:: FileMetadata(/, **data) Bases: :py:obj:`pydantic.BaseModel` Metadata about a stored file. .. py:attribute:: content_type :type: str | None :value: None .. py:attribute:: file_id :type: str .. py:attribute:: filename :type: str | None :value: None .. py:attribute:: metadata :type: dict[str, str] :value: None .. py:attribute:: size_bytes :type: int | None :value: None .. py:attribute:: uploaded_at :type: str :value: None .. py:class:: FileUploadArgs(/, **data) Bases: :py:obj:`pydantic.BaseModel` Arguments for file upload with security validation. This model enforces security constraints at the domain level, ensuring that all file uploads are validated before reaching the repository layer. .. py:method:: validate_content_type(v) :classmethod: Validate content type against allowed types. .. py:method:: validate_file_size(v) :classmethod: Validate file size to prevent resource exhaustion. .. py:method:: validate_filename(v) :classmethod: Validate and sanitize filename to prevent path traversal attacks. .. py:attribute:: content_type :type: str .. py:attribute:: data :type: bytes .. py:attribute:: file_id :type: str .. py:attribute:: filename :type: str .. py:attribute:: metadata :type: dict :value: None