from events.types.payload import Payload


class UserDeleted(Payload):
    """
    Event payload for when a user account is deleted.
    This event is broadcast only to admin users.
    """
    def __init__(self, user_id: str, email: str, deleted_at: str):
        super().__init__({
            'user_id': user_id,
            'email': email,
            'deleted_at': deleted_at,
        })

    @property
    def user_id(self) -> str:
        return self.get("user_id")

    @property
    def email(self) -> str:
        return self.get("email")

    @property
    def deleted_at(self) -> str:
        return self.get("deleted_at")
