"""Product logic.""" from src.graphql.connector import get_graphql_connector with open('./src/graphql/query/product.gql') as f: PRODUCT_QUERY = f.read() gql_connector = get_graphql_connector() def get_product_info(product_id): """Get product info.""" resp = gql_connector.execute(PRODUCT_QUERY, {'id': str(product_id)}) product = resp['data']['product'] label = product['label'] label_name = label['vendor']['name'] if 'vendor' in label else label['name'] primary_artist = next( filter(lambda x: x['artistType'] == 'primary_artist', product['artists']), None) return { 'label_id': label['id']['vendorId'], 'label_name': label_name, 'product_name': product['productName'], 'primary_artist': primary_artist['artistName'], 'sale_start_date': product['saleStartDate'], 'upc': product['upc'] }