"""Module to interact with ows-product service for HFA eligible tracks.""" from owsclient import M2MTokenManager, OwsClient from secrets_manager.lambda_ext import LambdaSecretsManager import config from src.utils import constants from lambdacommon.common_config import logger m2m_secrets_manager = LambdaSecretsManager( environment=config.ENVIRONMENT, service_name=config.M2M_SECRET_SERVICE_NAME, ) m2m_token_manager = M2MTokenManager( secrets_manager=m2m_secrets_manager, environment=config.ENVIRONMENT, service_name=config.M2M_SECRET_SERVICE_NAME, ) ows_client = OwsClient( environment=config.ENVIRONMENT, service_name=config.M2M_SECRET_SERVICE_NAME, m2m_token_manager=m2m_token_manager, ) def get_hfa_eligible_tracks(): """Fetch HFA eligible tracks from ows-product.""" try: response = ows_client.get( constants.OWS_PRODUCT, '/hfa/eligible-tracks', ) response.raise_for_status() return response.json() except Exception as e: logger.exception(f'Unexpected error fetching HFA eligible tracks from ows-product: {e}') raise