import { PROVISIONED_SUBSCRIPTION_VARIANT } from 'graphql/fragments/product/provisionedVariantFragment';
import gql from 'graphql-tag';

export const PRODUCT_BY_ID = gql`
  query ProductById($productId: ID!) {
    product(id: $productId) {
      id
      variants {
        ...ProvisionedSubscriptionVariantFragment
      }
    }
  }
  ${PROVISIONED_SUBSCRIPTION_VARIANT}
`;

export const VARIANT_PRODUCT_BY_ID = gql`
  query VariantProductById($productId: ID!) {
    product(id: $productId) {
      id
      variants {
        ... on Variant {
          name
          price
          id
        }
      }
    }
  }
`;

const PROVISIONED_SUBSCRIPTION_VARIANT_FOR_COMPANY = gql`
  fragment ProvisionedSubscriptionVariantFragmentForCompany on ProvisionedSubscriptionVariant {
    id
    minTotalSubscriptionFee
    name
    options {
      type
    }
  }
`;

export const PROVISIONED_VARIANTS_BY_ID = gql`
  query ProvisionedVariantsById($productId: ID!) {
    product(id: $productId) {
      id
      variants {
        ...ProvisionedSubscriptionVariantFragmentForCompany
        monthlyCharge
        ... on ProvisionedSubscriptionVariant {
          options {
            variants {
              name
              monthlyCharge
              id
              productType
              variantDetails {
                ... on ProvisionedSubscriptionVariant {
                  description
                }
              }
            }
          }
        }
      }
    }
  }
  ${PROVISIONED_SUBSCRIPTION_VARIANT_FOR_COMPANY}
`;
