saleor-dashboard/src/plugins/queries.ts

78 lines
1.4 KiB
TypeScript
Raw Normal View History

import makeQuery from "@saleor/hooks/makeQuery";
2019-08-21 14:30:56 +00:00
import gql from "graphql-tag";
import { TypedQuery } from "../queries";
2019-08-28 14:53:57 +00:00
import { Plugin, PluginVariables } from "./types/Plugin";
import { Plugins, PluginsVariables } from "./types/Plugins";
2019-08-21 14:30:56 +00:00
export const pluginsFragment = gql`
2019-08-30 11:46:50 +00:00
fragment PluginFragment on Plugin {
2019-08-21 14:30:56 +00:00
id
name
description
active
}
`;
2019-08-26 17:08:32 +00:00
export const pluginsDetailsFragment = gql`
${pluginsFragment}
2019-08-30 11:46:50 +00:00
fragment PluginsDetailsFragment on Plugin {
...PluginFragment
2019-08-26 17:08:32 +00:00
configuration {
name
type
value
helpText
label
}
}
`;
2019-08-21 14:30:56 +00:00
const pluginsList = gql`
${pluginsFragment}
2019-12-17 17:13:56 +00:00
query Plugins(
$first: Int
$after: String
$last: Int
$before: String
2020-01-10 16:30:42 +00:00
$filter: PluginFilterInput
2019-12-17 17:13:56 +00:00
$sort: PluginSortingInput
) {
plugins(
before: $before
after: $after
first: $first
last: $last
2020-01-10 16:30:42 +00:00
filter: $filter
2019-12-17 17:13:56 +00:00
sortBy: $sort
) {
2019-08-21 14:30:56 +00:00
edges {
node {
2019-08-30 11:46:50 +00:00
...PluginFragment
2019-08-21 14:30:56 +00:00
}
}
2019-08-27 12:36:19 +00:00
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
2019-08-21 14:30:56 +00:00
}
}
`;
2019-12-17 17:13:56 +00:00
export const usePluginsListQuery = makeQuery<Plugins, PluginsVariables>(
2019-08-28 14:53:57 +00:00
pluginsList
);
2019-08-21 14:30:56 +00:00
2019-08-26 17:08:32 +00:00
const pluginsDetails = gql`
${pluginsDetailsFragment}
2019-08-28 14:53:57 +00:00
query Plugin($id: ID!) {
plugin(id: $id) {
2019-08-30 11:46:50 +00:00
...PluginsDetailsFragment
2019-08-26 17:08:32 +00:00
}
}
`;
2019-08-28 14:53:57 +00:00
export const TypedPluginsDetailsQuery = TypedQuery<Plugin, PluginVariables>(
pluginsDetails
);