schon/storefront/graphql/mutations/cart.ts
Alexandr SaVBaD Waltz c9807bd6d4 Features: 1) Add product rating support in types, GraphQL fragments, and UI components; 2) Implement feedback management including GraphQL mutations, composables, and notification handling; 3) Enhance locale switching with improved reactivity, Apollo query clearing, and supported locale validation; 4) Introduce useOrderBuy composable for order purchasing workflow.
Fixes: 1) Correct mutation name from `setlanguage` to `setLanguage` for consistency; 2) Improve product listing reactivity by addressing missing initialization in `useStore`; 3) Replace generic product queries with parametrized `useProducts` for modularity; 4) Resolve minor typos, missing semicolons, and code formatting inconsistencies.

Extra: 1) Refactor feedback-related types, composables, and GraphQL utilities for modularity; 2) Update styles, Vue templates, and related scripts with enhanced formatting; 3) Remove unused methods like `getProducts`, standardizing query reactivity; 4) Cleanup and organize imports across multiple files.
2025-10-06 18:19:19 +03:00

104 lines
No EOL
1.8 KiB
TypeScript

import {ORDER_FRAGMENT} from "@/graphql/fragments/orders.fragment";
export const ADD_TO_CART = gql`
mutation addToCart(
$orderUuid: UUID!,
$productUuid: UUID!
) {
addOrderProduct(
orderUuid: $orderUuid,
productUuid: $productUuid
) {
order {
...Order
}
}
}
${ORDER_FRAGMENT}
`
export const REMOVE_FROM_CART = gql`
mutation removeFromCart(
$orderUuid: UUID!,
$productUuid: UUID!
) {
removeOrderProduct(
orderUuid: $orderUuid,
productUuid: $productUuid
) {
order {
...Order
}
}
}
${ORDER_FRAGMENT}
`
export const REMOVE_KIND_FROM_CART = gql`
mutation removeKindFromCart(
$orderUuid: UUID!,
$productUuid: UUID!
) {
removeOrderProductsOfAKind(
orderUuid: $orderUuid,
productUuid: $productUuid
) {
order {
...Order
}
}
}
${ORDER_FRAGMENT}
`
export const REMOVE_ALL_FROM_CART = gql`
mutation removeAllFromCart(
$orderUuid: UUID!
) {
removeAllOrderProducts(
orderUuid: $orderUuid
) {
order {
...Order
}
}
}
${ORDER_FRAGMENT}
`
export const BULK_CART = gql`
mutation bulkOrderAction(
$orderUuid: UUID!,
$action: String!,
$products: [BulkActionOrderProductInput]!
) {
bulkOrderAction(
orderUuid: $orderUuid
action: $action
products: $products
) {
order {
...Order
}
}
}
${ORDER_FRAGMENT}
`
export const BUY_CART = gql`
mutation buyOrder(
$orderUuid: String!,
$forcePayment: Boolean!
) {
buyOrder(
orderUuid: $orderUuid
forcePayment: $forcePayment
) {
transaction {
amount
process
paymentMethod
}
}
}
`