"""
API for SMART's Trait Store API
Wrapper for docs at https://confluence.q2ebanking.com/pages/viewpage.action?spaceKey=ET&title=SMART+Trait+Store
"""
from q2_sdk.core.cache import Q2CacheClient
from q2_sdk.core.q2_logging.logger import Q2LoggerType
from q2_smart.ts_endpoints.audience import Audience
from q2_smart.ts_endpoints.traits import Traits
[docs]
class SmartTraitStoreConfig:
def __init__(self, source_envstack: str, target_envstack: str):
self.source = source_envstack
self.target = target_envstack
[docs]
class SmartTraitStoreAPI:
def __init__(
self,
logger: Q2LoggerType,
smart_config: SmartTraitStoreConfig,
cache: Q2CacheClient,
):
self.logger = logger
self.config = smart_config
self.cache = cache
@property
def audience(self):
return Audience(self.logger, self.config, self.cache)
@property
def traits(self):
return Traits(self.logger, self.config, self.cache)