saleor-dashboard/src/plugins/queries.ts

63 lines
1.2 KiB
TypeScript
Raw Normal View History

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-08-28 14:53:57 +00:00
query Plugins($first: Int, $after: String, $last: Int, $before: String) {
plugins(before: $before, after: $after, first: $first, last: $last) {
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-08-28 14:53:57 +00:00
export const TypedPluginsListQuery = TypedQuery<Plugins, PluginsVariables>(
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
);