saleor-dashboard/src/staff/queries.ts
Krzysztof Wolski a82de30309
Add circleci config and enhance our linters (#519)
* Add circleci config

* Season linting config

* Apply code style
2020-05-14 11:30:32 +02:00

86 lines
1.7 KiB
TypeScript

import makeQuery from "@saleor/hooks/makeQuery";
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
permissionGroups {
id
name
userCanManage
}
userPermissions {
code
name
}
}
`;
const staffList = gql`
${staffMemberFragment}
query StaffList(
$first: Int
$after: String
$last: Int
$before: String
$filter: StaffUserInput
$sort: UserSortingInput
) {
staffUsers(
before: $before
after: $after
first: $first
last: $last
filter: $filter
sortBy: $sort
) {
edges {
cursor
node {
...StaffMemberFragment
}
}
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
}
}
`;
export const useStaffListQuery = makeQuery<StaffList, StaffListVariables>(
staffList
);
export const staffMemberDetails = gql`
${staffMemberDetailsFragment}
query StaffMemberDetails($id: ID!) {
user(id: $id) {
...StaffMemberDetailsFragment
}
}
`;
export const TypedStaffMemberDetailsQuery = TypedQuery<
StaffMemberDetails,
StaffMemberDetailsVariables
>(staffMemberDetails);