Files
nifodea/cashflow_model/liability.py
T
2026-07-12 19:46:07 +03:00

31 lines
777 B
Python

from dataclasses import dataclass, field
from uuid import UUID, uuid4
@dataclass
class Liability:
id: UUID = field(default_factory=uuid4)
name: str = ""
balance: float = 0.0
interest: float = 0.0
payment: float = 0.0
def to_dict(self) -> dict:
return {
"id": str(self.id),
"name": self.name,
"balance": self.balance,
"interest": self.interest,
"payment": self.payment,
}
@classmethod
def from_dict(cls, data: dict) -> "Liability":
return cls(
id=UUID(data["id"]),
name=data["name"],
balance=data.get("balance", 0.0),
interest=data.get("interest", 0.0),
payment=data.get("payment", 0.0),
)