# python from dataclasses import dataclass from models.base import BaseModel @dataclass class Image(BaseModel): type: int extension: str permanent: bool = False user_id: str | None = None @classmethod def from_dict(cls, d: dict): # Supports overriding base fields (id, created_at, updated_at) if present return cls( type=d.get('type'), extension=d.get('extension'), permanent=d.get('permanent', False), id=d.get('id'), created_at=d.get('created_at'), updated_at=d.get('updated_at'), user_id=d.get('user_id') if 'user_id' in d else d.get('user') ) def to_dict(self): base = super().to_dict() base.update({ 'type': self.type, 'permanent': self.permanent, 'extension': self.extension, 'user_id': self.user_id }) return base