"""Work with sql requests for getting/updating vendor mapping.""" from common.connectors.mysql_connector import execute_mysql_query from common.connectors.snowfalke_connector import execute_snowflake_query import config from src.constants.snowflake_queries import GET_PARENT_REP_OWNER_MAPPING from src.constants.sql_queries import \ INSERT_INTO_INBOUND_MAJOR_LABEL_MAPPING, \ SELECT_FROM_INBOUND_MAJOR_LABEL_MAPPING_BY_CODE def get_vendor_and_subaccount_for_rep_owner_code_rows( logger, sm_context) -> list: """Lookup Orchard vendor_id and subaccount_id for the rep owner code.""" logger.info('Reading vendor/subaccount from RDS given rep owner code.') parent_repertoire_owner_code = (sm_context.product. parent_repertoire_owner_code) repertoire_owner_code = sm_context.product.repertoire_owner_code query_args = (parent_repertoire_owner_code, repertoire_owner_code) return execute_mysql_query( logger, config.RDS_HOST, config.RDS_DB_NAME, config.RDS_RW_USER, config.RDS_PASSWORD, SELECT_FROM_INBOUND_MAJOR_LABEL_MAPPING_BY_CODE, query_args, ) def insert_vendor_and_subaccount_mapping( logger, vendor_id: int, subaccount_id: int, sm_context): """Insert vendor mapping in RDS.""" logger.info('Updating vendor/subaccount in RDS.') parent_repertoire_owner_code = (sm_context.product. parent_repertoire_owner_code) repertoire_owner_code = sm_context.product.repertoire_owner_code query_args = (vendor_id, subaccount_id, parent_repertoire_owner_code, repertoire_owner_code) execute_mysql_query( logger, config.RDS_HOST, config.RDS_DB_NAME, config.RDS_RW_USER, config.RDS_PASSWORD, INSERT_INTO_INBOUND_MAJOR_LABEL_MAPPING, query_args, ) def get_parent_repertoire_owner_mapping( logger, sm_context) -> list: """Get parent repertoire owner mapping in REP_OWNER_HIERARCHY table.""" logger.info('Getting parent repertoire owner mapping.') return execute_snowflake_query( GET_PARENT_REP_OWNER_MAPPING, {'rep_owner_key': sm_context.product.repertoire_owner_code})