Spaces:
Running
Running
File size: 1,100 Bytes
60e60c0 d63a9e4 60e60c0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
from dataclasses import dataclass, field
from typing import List, Dict, Any
@dataclass
class Profile:
id: str
username: str
offers: List[str] = field(default_factory=list)
wants: List[str] = field(default_factory=list)
availability: str = ""
preferences: Dict[str, Any] = field(default_factory=dict)
avatar: str = ""
@staticmethod
def from_dict(data: Dict[str, Any]) -> "Profile":
return Profile(
id=data.get("id", ""),
username=data.get("username", ""),
offers=data.get("offers", []),
wants=data.get("wants", []),
availability=data.get("availability", ""),
preferences=data.get("preferences", {}),
avatar=data.get("avatar", ""),
)
def to_dict(self) -> Dict[str, Any]:
return {
"id": self.id,
"username": self.username,
"offers": self.offers,
"wants": self.wants,
"availability": self.availability,
"preferences": self.preferences,
"avatar": self.avatar,
}
|