from dataclasses import dataclass
from models.base import BaseModel

@dataclass
class PendingReward(BaseModel):
    child_id: str
    reward_id: str
    user_id: str    
    status: str = "pending"  # pending, approved, rejected

    @classmethod
    def from_dict(cls, d: dict):
        return cls(
            child_id=d.get('child_id'),
            reward_id=d.get('reward_id'),
            status=d.get('status', 'pending'),
            user_id=d.get('user_id'),
            id=d.get('id'),
            created_at=d.get('created_at'),
            updated_at=d.get('updated_at')
        )

    def to_dict(self):
        base = super().to_dict()
        base.update({
            'child_id': self.child_id,
            'reward_id': self.reward_id,
            'status': self.status,
            'user_id': self.user_id
        })
        return base
