from datetime import datetime class Transaction: def __init__(self, id, user_id, item_id, amount, timestamp=None) -> None: self.id = id self.user_id = user_id self.item_id = item_id self.amount = float(amount) self.timestamp = timestamp or datetime.now().isoformat() def to_json(self): return { "id": self.id, "user_id": self.user_id, "item_id": self.item_id, "amount": self.amount, "timestamp": self.timestamp, } @staticmethod def from_json(data): return Transaction( data["id"], data["user_id"], data["item_id"], data["amount"], data["timestamp"], )