from __future__ import annotations
from dataclasses import dataclass
@dataclass(frozen=True)
class UploadFile:
data: bytes
filename: str | None = None
@classmethod
def from_bytes(cls, data: bytes, filename: str | None = None) -> UploadFile:
return cls(data=data, filename=filename)
def filename_or_default(self, default_name: str) -> str:
return self.filename or default_name