@prg/gatsby-source-something-whatever
Version:
something something whatever who gives a crap.
168 lines (162 loc) • 3.73 kB
JavaScript
import gql from 'graphql-tag';
export const IMAGES_QUERY = gql`
query GetImages ($shopId: String) {
images (
order_by: {id: asc},
where: {
shop: {shopifyAccount: {id: {_eq: $shopId}}},
_or: [
{joinProductImages: {product: {variants: {foreignProductPublishedAt: {_is_null: false}}}}},
{joinVariantImages: {productVariant: {foreignProductPublishedAt: {_is_null: false}}}}
]
}
) {
id
src
altText
product {
id: productId
position
}
variants: joinVariantImages {
id: productVariantId
variant: productVariant {
id
productId
images (order_by: {position: asc}) {
id
position
}
}
}
}
}
`;
export const PRODUCT_OPTION_VALUES_QUERY = gql`
query GetProductOptionValues ($shopId: citext) {
productOptionValues (
order_by: {id: asc},
where: {
title: {_neq: $shopId},
variantOptionValues: {variant: {foreignProductPublishedAt: {_is_null: false}}},
}
) {
id
productOptionId
position
title
}
}
`;
export const PRODUCT_OPTIONS_QUERY = gql`
query GetProductOptions ($shopId: String) {
productOptions (
order_by: {id: asc},
where: {
shop: {shopifyAccount: {id: {_eq: $shopId}}}
product: {variants: {foreignProductPublishedAt: {_is_null: false}}}
}
) {
id
productId
position
title
values (
order_by: {position: asc},
where: {variantOptionValues: {variant: {foreignProductPublishedAt: {_is_null: false}}}}
) {
id
}
}
}
`;
export const PRODUCT_VARIANTS_QUERY = gql`
query GetProductVariants ($shopId: String) {
productVariants (
order_by: {id: asc},
where: {
shop: {shopifyAccount: {id: {_eq: $shopId}}},
foreignProductPublishedAt: {_is_null: false}
}
) {
id
foreignId
productId
productForeignId
foreignProductHandle
foreignProductPublishedAt
available
inventory
price
compareAtPrice
metadata
images (order_by: {position: asc}) {
id
position
}
selectedOptions (order_by: {optionPosition: asc}) {
id
title
value
}
}
}
`;
export const PRODUCTS_QUERY = gql`
query GetProducts ($shopId: String) {
products (
where: {
shop: {shopifyAccount: {id: {_eq: $shopId}}},
variants: {foreignProductPublishedAt: {_is_null: false}},
}
) {
id
title
handle
description
available
metadata
type
images (order_by: {position: asc}) {
id
position
}
options (
order_by: {position: asc},
where: {product: {variants: {foreignProductPublishedAt: {_is_null: false}}}},
) {
id
title
position
values (
order_by: {position: asc},
where: {variantOptionValues: {variant: {foreignProductPublishedAt: {_is_null: false}}}},
) {
id
title
position
}
}
variants (
order_by: {id: asc},
where: {foreignProductPublishedAt: {_is_null: false}},
) {
id
selectedOptions (order_by: {optionPosition: asc}) {
id
title
value
}
images (order_by: {position: asc}) {
id
foreignId
productVariantId
position
}
}
shopifyProductIds: variants(distinct_on: productForeignId) {
id: productForeignId
}
}
}
`;