|
|
@@ -18,36 +18,50 @@ export interface CartItemEdge {
|
|
|
node: CartItem;
|
|
|
}
|
|
|
|
|
|
-// Cart Item Edge for Modal (same structure as CartItemEdge)
|
|
|
-export interface CartItemEdgeForModal {
|
|
|
- node: CartItem;
|
|
|
-}
|
|
|
-
|
|
|
// Items connection
|
|
|
export interface CartItemsConnection {
|
|
|
edges: CartItemEdge[];
|
|
|
-}
|
|
|
-
|
|
|
-// Read Cart
|
|
|
-export interface ReadCart {
|
|
|
+}
|
|
|
+// CartDetail
|
|
|
+export interface CartDetail {
|
|
|
id: string;
|
|
|
+ appliedTaxes: Record<string, string>;
|
|
|
+ itemsQty: number; //Total quantity of all items
|
|
|
+ isGuest: boolean;
|
|
|
itemsCount: number;
|
|
|
+ items: CartItemsConnection;
|
|
|
+ subtotal: number; // Subtotal before discounts and taxes
|
|
|
+ subTotalInclTax: number;
|
|
|
+ // baseSubtotal: number;
|
|
|
+ discountAmount: number;
|
|
|
+ // baseDiscountAmount: number;
|
|
|
taxAmount: number;
|
|
|
- grandTotal: number;
|
|
|
+ taxTotal: number;
|
|
|
shippingAmount: number;
|
|
|
+ shippingAmountInclTax: number;
|
|
|
+ grandTotal: number;
|
|
|
+
|
|
|
+ formattedSubtotal: string;
|
|
|
+ formattedSubTotalInclTax: string;
|
|
|
+ formattedDiscountAmount: string;
|
|
|
+ formattedTaxAmount: string;
|
|
|
+ formattedTaxTotal: string;
|
|
|
+ formattedShippingAmount: string;
|
|
|
+ formattedShippingAmountInclTax: string;
|
|
|
+ formattedGrandTotal: string;
|
|
|
+ couponCode: string | null;
|
|
|
+
|
|
|
selectedShippingRate: string | null;
|
|
|
selectedShippingRateTitle: string | null;
|
|
|
- subtotal: number;
|
|
|
- itemsQty: number;
|
|
|
- isGuest: boolean;
|
|
|
- items: CartItemsConnection;
|
|
|
paymentMethod: string | null;
|
|
|
paymentMethodTitle: string | null;
|
|
|
+
|
|
|
+ haveStockableItems: boolean;
|
|
|
}
|
|
|
|
|
|
// createReadCart payload
|
|
|
export interface CreateReadCart {
|
|
|
- readCart: ReadCart;
|
|
|
+ readCart: CartDetail;
|
|
|
}
|
|
|
|
|
|
// Mutation response data
|
|
|
@@ -60,46 +74,11 @@ export interface ReadCartOperation {
|
|
|
}
|
|
|
|
|
|
// Add Product In Cart
|
|
|
-export interface AddToCartItem {
|
|
|
- id: string;
|
|
|
- cartId: string;
|
|
|
- productId: string;
|
|
|
- name: string;
|
|
|
- price: number;
|
|
|
- baseImage: string | null;
|
|
|
- sku: string;
|
|
|
- quantity: number;
|
|
|
- type: string;
|
|
|
- productUrlKey: string;
|
|
|
- canChangeQty: boolean;
|
|
|
-}
|
|
|
-
|
|
|
-export interface AddToCartItemEdge {
|
|
|
- node: AddToCartItem;
|
|
|
-}
|
|
|
-
|
|
|
-export interface AddToCartItemsConnection {
|
|
|
- edges: AddToCartItemEdge[];
|
|
|
-}
|
|
|
-
|
|
|
-export interface AddProductInCart {
|
|
|
- id: string;
|
|
|
+export interface AddProductInCart extends CartDetail {
|
|
|
cartToken: string;
|
|
|
- subtotal: number;
|
|
|
- taxAmount: number;
|
|
|
- shippingAmount: number;
|
|
|
- grandTotal: number;
|
|
|
- itemsQty: number;
|
|
|
- itemsCount: number;
|
|
|
- isGuest: boolean;
|
|
|
sessionToken: string;
|
|
|
success: boolean;
|
|
|
message: string;
|
|
|
- items: AddToCartItemsConnection;
|
|
|
- paymentMethod: string | null;
|
|
|
- paymentMethodTitle: string | null;
|
|
|
- selectedShippingRate: string | null;
|
|
|
- selectedShippingRateTitle: string | null;
|
|
|
}
|
|
|
|
|
|
export interface CreateAddProductInCart {
|
|
|
@@ -116,10 +95,6 @@ export interface AddToCartVariables {
|
|
|
quantity: number;
|
|
|
}
|
|
|
|
|
|
-export interface AddToCartOperation {
|
|
|
- data: AddToCartData;
|
|
|
- variables: AddToCartVariables;
|
|
|
-}
|
|
|
|
|
|
// Guest Cart Token
|
|
|
export interface CartToken {
|
|
|
@@ -147,42 +122,8 @@ export interface CreateCartTokenOperation {
|
|
|
}
|
|
|
|
|
|
// Merge Cart
|
|
|
-
|
|
|
-export interface MergeCartItem {
|
|
|
- id: string;
|
|
|
- cartId: string;
|
|
|
- productId: string;
|
|
|
- name: string;
|
|
|
- price: number;
|
|
|
- baseImage: string | null;
|
|
|
- sku: string;
|
|
|
- quantity: number;
|
|
|
- type: string;
|
|
|
- productUrlKey: string;
|
|
|
- canChangeQty: boolean;
|
|
|
-}
|
|
|
-
|
|
|
-export interface MergeCartItemEdge {
|
|
|
- node: MergeCartItem;
|
|
|
-}
|
|
|
-export interface MergeCartItemsConnection {
|
|
|
- edges: MergeCartItemEdge[];
|
|
|
-}
|
|
|
-export interface MergeCart {
|
|
|
- id: string;
|
|
|
- itemsQty: number;
|
|
|
- taxAmount: number;
|
|
|
- subtotal: number;
|
|
|
- shippingAmount: number;
|
|
|
- grandTotal: number;
|
|
|
- paymentMethod: string | null;
|
|
|
- paymentMethodTitle: string | null;
|
|
|
- selectedShippingRate: string | null;
|
|
|
- selectedShippingRateTitle: string | null;
|
|
|
- items: MergeCartItemsConnection;
|
|
|
-}
|
|
|
export interface CreateMergeCartPayload {
|
|
|
- mergeCart: MergeCart;
|
|
|
+ mergeCart: CartDetail;
|
|
|
}
|
|
|
export interface CreateMergeCartData {
|
|
|
createMergeCart: CreateMergeCartPayload;
|
|
|
@@ -196,42 +137,8 @@ export interface CreateMergeCartOperation {
|
|
|
}
|
|
|
|
|
|
// Remove Cart Item
|
|
|
-export interface RemoveCartItemNode {
|
|
|
- id: string;
|
|
|
- cartId: string;
|
|
|
- productId: string;
|
|
|
- name: string;
|
|
|
- price: number;
|
|
|
- baseImage: string | null;
|
|
|
- sku: string;
|
|
|
- quantity: number;
|
|
|
- type: string;
|
|
|
- productUrlKey: string;
|
|
|
- canChangeQty: boolean;
|
|
|
-}
|
|
|
-
|
|
|
-export interface RemoveCartItemEdge {
|
|
|
- node: RemoveCartItemNode;
|
|
|
-}
|
|
|
-export interface RemoveCartItemsConnection {
|
|
|
- totalCount: number;
|
|
|
- edges: RemoveCartItemEdge[];
|
|
|
-}
|
|
|
-
|
|
|
-export interface RemoveCartItem {
|
|
|
- id: string;
|
|
|
- _id: string;
|
|
|
- cartToken: string;
|
|
|
- taxAmount: number;
|
|
|
- shippingAmount: number;
|
|
|
- subtotal: number;
|
|
|
- grandTotal: number;
|
|
|
- itemsQty: number;
|
|
|
- items: RemoveCartItemsConnection;
|
|
|
-}
|
|
|
-
|
|
|
export interface CreateRemoveCartItemPayload {
|
|
|
- removeCartItem: RemoveCartItem;
|
|
|
+ removeCartItem: CartDetail;
|
|
|
}
|
|
|
|
|
|
export interface RemoveCartItemData {
|
|
|
@@ -242,48 +149,9 @@ export interface RemoveCartItemVariables {
|
|
|
cartItemId: number;
|
|
|
}
|
|
|
|
|
|
-export interface RemoveCartItemOperation {
|
|
|
- data: RemoveCartItemData;
|
|
|
- variables: RemoveCartItemVariables;
|
|
|
-}
|
|
|
-
|
|
|
// Update Cart Item
|
|
|
-export interface UpdateCartItemNode {
|
|
|
- id: string;
|
|
|
- cartId: string;
|
|
|
- productId: string;
|
|
|
- name: string;
|
|
|
- price: number;
|
|
|
- baseImage: string | null;
|
|
|
- sku: string;
|
|
|
- quantity: number;
|
|
|
- type: string;
|
|
|
- productUrlKey: string;
|
|
|
- canChangeQty: boolean;
|
|
|
-}
|
|
|
-
|
|
|
-export interface UpdateCartItemEdge {
|
|
|
- node: UpdateCartItemNode;
|
|
|
-}
|
|
|
-
|
|
|
-export interface UpdateCartItemsConnection {
|
|
|
- edges: UpdateCartItemEdge[];
|
|
|
-}
|
|
|
-export interface UpdateCartItem {
|
|
|
- id: string;
|
|
|
- taxAmount: number;
|
|
|
- shippingAmount: number;
|
|
|
- subtotal: number;
|
|
|
- grandTotal: number;
|
|
|
- itemsQty: number;
|
|
|
- items: UpdateCartItemsConnection;
|
|
|
- paymentMethod: string | null;
|
|
|
- paymentMethodTitle: string | null;
|
|
|
- selectedShippingRate: string | null;
|
|
|
- selectedShippingRateTitle: string | null;
|
|
|
-}
|
|
|
export interface CreateUpdateCartItemPayload {
|
|
|
- updateCartItem: UpdateCartItem;
|
|
|
+ updateCartItem: CartDetail;
|
|
|
}
|
|
|
export interface UpdateCartItemData {
|
|
|
createUpdateCartItem: CreateUpdateCartItemPayload;
|
|
|
@@ -291,8 +159,4 @@ export interface UpdateCartItemData {
|
|
|
export interface UpdateCartItemVariables {
|
|
|
cartItemId: number;
|
|
|
quantity: number;
|
|
|
-}
|
|
|
-export interface UpdateCartItemOperation {
|
|
|
- data: UpdateCartItemData;
|
|
|
- variables: UpdateCartItemVariables;
|
|
|
-}
|
|
|
+}
|