import { gql, TypedDocumentNode } from "@apollo/client";
import { GetCartItemData } from "@/types/cart/type";

export const GET_CART_ITEM: TypedDocumentNode<GetCartItemData> = gql`
  mutation GetCartItem {
    createReadCart(input: {}) {
      readCart {
        id
        appliedTaxes
        itemsQty
        isGuest
        itemsCount
        items {
          edges {
            node {
              id
              cartId
              productId
              name
              price
              baseImage
              sku
              quantity
              type
              productUrlKey
              canChangeQty
            }
          }
        }
        subtotal
        subTotalInclTax
        discountAmount
        taxAmount
        taxTotal
        shippingAmount
        shippingAmountInclTax
        grandTotal
        formattedSubtotal
        formattedSubTotalInclTax
        formattedDiscountAmount
        formattedTaxAmount
        formattedTaxTotal
        formattedShippingAmount
        formattedShippingAmountInclTax
        formattedGrandTotal
        couponCode
        selectedShippingRate
        selectedShippingRateTitle
        paymentMethod
        paymentMethodTitle
        haveStockableItems
        billingAddress
        shippingAddress
      }
    }
  }
`;
