import logging
from typing import Optional
from q2_sdk.hq.models.hq_credentials import HqCredentials
from q2_sdk.models.cores.base_core import BaseCore
from q2_sdk.models.cores.models.core_user import CoreUser
from q2_sdk.models.cores.mappers.demographic_info import BaseDemographicInfoMapper
from q2_cores.Metavante import mappers, queries
[docs]
class Core(BaseCore):
CONFIG_FILE_NAME = "Metavante_Core"
def __init__(
self,
logger: logging.Logger,
core_user: CoreUser,
hq_credentials: Optional[HqCredentials] = None,
**kwargs,
):
super().__init__(logger, core_user, hq_credentials=hq_credentials, **kwargs)
ssn = core_user.online_user.ssn
customer_id = core_user.online_user.customer_primary_cif
self.ssn = str(ssn)
self.customer_id = str(customer_id)
[docs]
async def build_demographic_info(self) -> BaseDemographicInfoMapper:
demographic_query = queries.DemographicInfoQuery(self.logger, self.ssn)
return mappers.DemographicInfoMapper(
[demographic_query],
hq_credentials=self.hq_credentials,
zone_context=self.core_user,
)