saleor-dashboard/src/channels/mutations.ts
Marek Choiński 3f5cacb8a0
Saleor 1906 user should be able to delete a channel if there are no orders associated with it (#901)
* Update type of channelDetailsFragment

* Add hasOrder recognition

* Update types

* Add delete channel on details page

* Refactor fixtures

* Update locale

* Refactor

* Remove redundant assignment

* Move messages to defineMessages

* Simplify variables

* Create util getChannelsCurrencyChoices

* Add message

* Update locale

* Refactor to mapNodeToChoice
2021-01-12 15:44:11 +01:00

113 lines
2.7 KiB
TypeScript

import {
channelDetailsFragment,
channelErrorFragment
} from "@saleor/fragments/channels";
import makeMutation from "@saleor/hooks/makeMutation";
import gql from "graphql-tag";
import {
ChannelActivate,
ChannelActivateVariables
} from "./types/ChannelActivate";
import { ChannelCreate, ChannelCreateVariables } from "./types/ChannelCreate";
import {
ChannelDeactivate,
ChannelDeactivateVariables
} from "./types/ChannelDeactivate";
import { ChannelDelete, ChannelDeleteVariables } from "./types/ChannelDelete";
import { ChannelUpdate, ChannelUpdateVariables } from "./types/ChannelUpdate";
export const channelCreateMutation = gql`
${channelErrorFragment}
${channelDetailsFragment}
mutation ChannelCreate($input: ChannelCreateInput!) {
channelCreate(input: $input) {
channel {
...ChannelDetailsFragment
}
errors: channelErrors {
...ChannelErrorFragment
}
}
}
`;
export const channelUpdateMutation = gql`
${channelErrorFragment}
${channelDetailsFragment}
mutation ChannelUpdate($id: ID!, $input: ChannelUpdateInput!) {
channelUpdate(id: $id, input: $input) {
channel {
...ChannelDetailsFragment
}
errors: channelErrors {
...ChannelErrorFragment
}
}
}
`;
export const channelDeleteMutation = gql`
${channelErrorFragment}
mutation ChannelDelete($id: ID!, $input: ChannelDeleteInput) {
channelDelete(id: $id, input: $input) {
errors: channelErrors {
...ChannelErrorFragment
}
}
}
`;
export const channelActivateMutation = gql`
${channelErrorFragment}
${channelDetailsFragment}
mutation ChannelActivate($id: ID!) {
channelActivate(id: $id) {
channel {
...ChannelDetailsFragment
}
errors: channelErrors {
...ChannelErrorFragment
}
}
}
`;
export const channelDeactivateMutation = gql`
${channelErrorFragment}
${channelDetailsFragment}
mutation ChannelDeactivate($id: ID!) {
channelDeactivate(id: $id) {
channel {
...ChannelDetailsFragment
}
errors: channelErrors {
...ChannelErrorFragment
}
}
}
`;
export const useChannelCreateMutation = makeMutation<
ChannelCreate,
ChannelCreateVariables
>(channelCreateMutation);
export const useChannelUpdateMutation = makeMutation<
ChannelUpdate,
ChannelUpdateVariables
>(channelUpdateMutation);
export const useChannelDeleteMutation = makeMutation<
ChannelDelete,
ChannelDeleteVariables
>(channelDeleteMutation);
export const useChannelActivateMutation = makeMutation<
ChannelActivate,
ChannelActivateVariables
>(channelActivateMutation);
export const useChannelDeactivateMutation = makeMutation<
ChannelDeactivate,
ChannelDeactivateVariables
>(channelDeactivateMutation);