saleor-dashboard/src/staff/queries.ts

78 lines
1.5 KiB
TypeScript
Raw Normal View History

2019-06-19 14:40:52 +00:00
import gql from "graphql-tag";
import { TypedQuery } from "../queries";
import { StaffList, StaffListVariables } from "./types/StaffList";
import {
StaffMemberDetails,
StaffMemberDetailsVariables
} from "./types/StaffMemberDetails";
export const staffMemberFragment = gql`
fragment StaffMemberFragment on User {
id
email
firstName
isActive
lastName
avatar {
url
}
}
`;
export const staffMemberDetailsFragment = gql`
${staffMemberFragment}
fragment StaffMemberDetailsFragment on User {
...StaffMemberFragment
permissions {
code
name
}
}
`;
const staffList = gql`
${staffMemberFragment}
2019-09-12 10:46:23 +00:00
query StaffList(
$first: Int
$after: String
$last: Int
$before: String
$filter: StaffUserInput
) {
staffUsers(
before: $before
after: $after
first: $first
last: $last
filter: $filter
) {
2019-06-19 14:40:52 +00:00
edges {
cursor
node {
...StaffMemberFragment
}
}
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
}
}
`;
export const TypedStaffListQuery = TypedQuery<StaffList, StaffListVariables>(
staffList
);
export const staffMemberDetails = gql`
${staffMemberDetailsFragment}
query StaffMemberDetails($id: ID!) {
user(id: $id) {
...StaffMemberDetailsFragment
}
}
`;
export const TypedStaffMemberDetailsQuery = TypedQuery<
StaffMemberDetails,
StaffMemberDetailsVariables
>(staffMemberDetails);