saleor-dashboard/src/shipping/queries.ts

98 lines
1.9 KiB
TypeScript
Raw Normal View History

2019-06-19 14:40:52 +00:00
import gql from "graphql-tag";
2020-02-05 14:11:37 +00:00
import makeQuery from "@saleor/hooks/makeQuery";
2020-02-10 12:50:08 +00:00
import { pageInfoFragment } from "../queries";
2019-06-19 14:40:52 +00:00
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
}
2020-02-03 11:01:18 +00:00
warehouses {
id
name
}
2019-06-19 14:40:52 +00:00
}
`;
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
}
}
}
`;
2020-02-10 12:50:08 +00:00
export const useShippingZoneList = makeQuery<
2019-06-19 14:40:52 +00:00
ShippingZones,
ShippingZonesVariables
>(shippingZones);
const shippingZone = gql`
${shippingZoneDetailsFragment}
query ShippingZone($id: ID!) {
shippingZone(id: $id) {
...ShippingZoneDetailsFragment
}
}
`;
2020-02-05 14:11:37 +00:00
export const useShippingZone = makeQuery<ShippingZone, ShippingZoneVariables>(
shippingZone
);