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}
query StaffList($first: Int, $after: String, $last: Int, $before: String) {
staffUsers(before: $before, after: $after, first: $first, last: $last) {
edges {
cursor
node {
...StaffMemberFragment
}
}
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
}
shop {
permissions {
code
name
}
}
}
`;
export const TypedStaffListQuery = TypedQuery<StaffList, StaffListVariables>(
staffList
);
export const staffMemberDetails = gql`
${staffMemberDetailsFragment}
query StaffMemberDetails($id: ID!) {
user(id: $id) {
...StaffMemberDetailsFragment
}
shop {
permissions {
code
name
}
}
}
`;
export const TypedStaffMemberDetailsQuery = TypedQuery<
StaffMemberDetails,
StaffMemberDetailsVariables
>(staffMemberDetails);