saleor-dashboard/src/shipping/queries.ts
2019-06-19 16:40:52 +02:00

93 lines
1.8 KiB
TypeScript

import gql from "graphql-tag";
import { pageInfoFragment, TypedQuery } from "../queries";
import { ShippingZone, ShippingZoneVariables } from "./types/ShippingZone";
import { ShippingZones, ShippingZonesVariables } from "./types/ShippingZones";
export const shippingZoneFragment = gql`
fragment ShippingZoneFragment on ShippingZone {
id
countries {
code
country
}
name
}
`;
export const shippingMethodFragment = gql`
fragment ShippingMethodFragment on ShippingMethod {
id
minimumOrderPrice {
amount
currency
}
minimumOrderWeight {
unit
value
}
maximumOrderPrice {
amount
currency
}
maximumOrderWeight {
unit
value
}
name
price {
amount
currency
}
type
}
`;
export const shippingZoneDetailsFragment = gql`
${shippingZoneFragment}
${shippingMethodFragment}
fragment ShippingZoneDetailsFragment on ShippingZone {
...ShippingZoneFragment
default
shippingMethods {
...ShippingMethodFragment
}
}
`;
const shippingZones = gql`
${pageInfoFragment}
${shippingZoneFragment}
query ShippingZones(
$first: Int
$after: String
$last: Int
$before: String
) {
shippingZones(first: $first, after: $after, last: $last, before: $before) {
edges {
node {
...ShippingZoneFragment
}
}
pageInfo {
...PageInfoFragment
}
}
}
`;
export const TypedShippingZones = TypedQuery<
ShippingZones,
ShippingZonesVariables
>(shippingZones);
const shippingZone = gql`
${shippingZoneDetailsFragment}
query ShippingZone($id: ID!) {
shippingZone(id: $id) {
...ShippingZoneDetailsFragment
}
}
`;
export const TypedShippingZone = TypedQuery<
ShippingZone,
ShippingZoneVariables
>(shippingZone);