def to_dict(self):
        """
        Converts an InternalData object to a dict
        :rtype: dict[str, str]
        :return: A dict representation of the object
        """
        data = {
            "auth_info": self.auth_info.to_dict(),
            "requester": self.requester,
            "requester_name": self.requester_name,
            "attributes": self.attributes,
            "subject_id": self.subject_id,
            "subject_type": self.subject_type,
        }
        data.update(
            {
                "user_id": self.subject_id,
                "hash_type": self.subject_type,
                "name_id": self.subject_id,
                "approved_attributes": self.attributes,
            }
        )
        return data
Converts an InternalData object to a dict
        :rtype: dict[str, str]
        :return: A dict representation of the object