

def product_fixture_generator_json(domain):
    if (not SQLProduct.objects.filter(domain=domain).exists()):
        return None
    fields = filter((lambda x: (x != CUSTOM_DATA_SLUG)), PRODUCT_FIELDS)
    fields.append('@id')
    custom_fields = get_by_domain_and_type(domain, 'ProductFields')
    if custom_fields:
        for f in custom_fields.fields:
            fields.append(((CUSTOM_DATA_SLUG + '/') + f.slug))
    uri = 'jr://fixture/{}'.format(ProductFixturesProvider.id)
    return {
        'id': 'products',
        'uri': uri,
        'path': '/products/product',
        'name': 'Products',
        'structure': {f: {
            'name': f,
            'no_option': True,
        } for f in fields},
        'sourceUri': uri,
        'defaultId': 'products',
        'initialQuery': "instance('products')/products/product",
    }

dataset/ETHPy150Open dimagi/commcare-hq/corehq/apps/products/fixtures.py product_fixture_generator_json/original