saleor-dashboard/src/warehouses/queries.ts

85 lines
1.7 KiB
TypeScript
Raw Normal View History

2020-01-30 11:46:35 +00:00
import gql from "graphql-tag";
import makeQuery from "@saleor/hooks/makeQuery";
import { pageInfoFragment } from "@saleor/queries";
2020-01-30 14:34:27 +00:00
import { fragmentAddress } from "@saleor/orders/queries";
2020-01-30 11:46:35 +00:00
import { WarehouseList, WarehouseListVariables } from "./types/WarehouseList";
2020-01-30 15:37:22 +00:00
import {
WarehouseDetails,
WarehouseDetailsVariables
} from "./types/WarehouseDetails";
2020-01-30 11:46:35 +00:00
export const warehouseFragment = gql`
fragment WarehouseFragment on Warehouse {
id
name
shippingZones(first: 100) {
edges {
node {
id
name
}
}
}
}
`;
2020-01-30 14:34:27 +00:00
export const warehouseDetailsFragment = gql`
${fragmentAddress}
${warehouseFragment}
fragment WarehouseDetailsFragment on Warehouse {
...WarehouseFragment
address {
...AddressFragment
}
}
`;
2020-01-30 11:46:35 +00:00
const warehouseList = gql`
${warehouseFragment}
${pageInfoFragment}
query WarehouseList(
$first: Int
$after: String
$last: Int
$before: String
$filter: WarehouseFilterInput
$sort: WarehouseSortingInput
) {
warehouses(
before: $before
after: $after
first: $first
last: $last
filter: $filter
sortBy: $sort
) {
edges {
node {
...WarehouseFragment
}
}
pageInfo {
...PageInfoFragment
}
}
}
`;
export const useWarehouseList = makeQuery<
WarehouseList,
WarehouseListVariables
>(warehouseList);
2020-01-30 15:37:22 +00:00
const warehouseDetails = gql`
${warehouseDetailsFragment}
query WarehouseDetails($id: ID!) {
warehouse(id: $id) {
...WarehouseDetailsFragment
}
}
`;
export const useWarehouseDetails = makeQuery<
WarehouseDetails,
WarehouseDetailsVariables
>(warehouseDetails);