import logging
from q2_sdk.models.cores.queries.base_query import BaseQuery
from q2_cores import data_helpers
from q2_cores.Users.queries import mock_responses
[docs]
class DemographicInfoQuery(BaseQuery):
"""Returns addresses, First/Last Name, Phones, etc for an Users
ACN (Account Number)
"""
def __init__(self, logger: logging.Logger, account_number: str):
self.account_number = account_number
super().__init__(logger)
[docs]
def build(self):
xml_str = """
<SIGNUPMSGSRQV1>
<USERS.ENROLLTRNRQ>
<TRNUID>27</TRNUID>
<USERS.ENROLLRQ>
<ACN>{!s}</ACN>
</USERS.ENROLLRQ>
</USERS.ENROLLTRNRQ>
</SIGNUPMSGSRQV1>
""".format(self.account_number)
return data_helpers.normalize_xml_str(xml_str)
[docs]
def mock_response(self):
return mock_responses.mock_demo_info_response()