Update schema (#1029)

* Update schema

* Update stories and changelog

* Update messages
This commit is contained in:
Dominik Żegleń 2021-03-31 15:11:58 +02:00 committed by GitHub
parent 6fdfcfe943
commit c1159861a9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 335 additions and 13 deletions

View file

@ -27,6 +27,7 @@ All notable, unreleased changes to this project will be documented in this file.
- Use default sort for search products list - #997 by @orzechdev - Use default sort for search products list - #997 by @orzechdev
- Update CollectionBulkDelete error type - #1030 by @d-wysocki - Update CollectionBulkDelete error type - #1030 by @d-wysocki
- Remove mailing settings - #1027 by @dominik-zeglen - Remove mailing settings - #1027 by @dominik-zeglen
- Update schema to contain email plugin changes - #1029 by @dominik-zeglen
# 2.11.1 # 2.11.1

View file

@ -6829,6 +6829,10 @@
"context": "event", "context": "event",
"string": "Order updated" "string": "Order updated"
}, },
"src_dot_webhooks_dot_components_dot_WebhookEvents_dot_1616635110": {
"context": "event",
"string": "User notified"
},
"src_dot_webhooks_dot_components_dot_WebhookEvents_dot_2126893364": { "src_dot_webhooks_dot_components_dot_WebhookEvents_dot_2126893364": {
"context": "event", "context": "event",
"string": "Product variant updated" "string": "Product variant updated"

View file

@ -74,6 +74,7 @@ input AccountInput {
lastName: String lastName: String
defaultBillingAddress: AddressInput defaultBillingAddress: AddressInput
defaultShippingAddress: AddressInput defaultShippingAddress: AddressInput
languageCode: LanguageCodeEnum
} }
type AccountRegister { type AccountRegister {
@ -87,6 +88,7 @@ input AccountRegisterInput {
email: String! email: String!
password: String! password: String!
redirectUrl: String redirectUrl: String
languageCode: LanguageCodeEnum
} }
type AccountRequestDeletion { type AccountRequestDeletion {
@ -879,6 +881,7 @@ type Checkout implements Node & ObjectWithMetadata {
subtotalPrice: TaxedMoney subtotalPrice: TaxedMoney
token: UUID! token: UUID!
totalPrice: TaxedMoney totalPrice: TaxedMoney
languageCode: LanguageCodeEnum!
} }
type CheckoutAddPromoCode { type CheckoutAddPromoCode {
@ -925,6 +928,7 @@ input CheckoutCreateInput {
email: String email: String
shippingAddress: AddressInput shippingAddress: AddressInput
billingAddress: AddressInput billingAddress: AddressInput
languageCode: LanguageCodeEnum
} }
type CheckoutCustomerAttach { type CheckoutCustomerAttach {
@ -977,6 +981,12 @@ enum CheckoutErrorCode {
CHANNEL_INACTIVE CHANNEL_INACTIVE
} }
type CheckoutLanguageCodeUpdate {
errors: [Error!]! @deprecated(reason: "Use typed errors with error codes. This field will be removed after 2020-07-31.")
checkout: Checkout
checkoutErrors: [CheckoutError!]!
}
type CheckoutLine implements Node { type CheckoutLine implements Node {
id: ID! id: ID!
variant: ProductVariant! variant: ProductVariant!
@ -1253,6 +1263,7 @@ input ConfigurationItemInput {
enum ConfigurationTypeFieldEnum { enum ConfigurationTypeFieldEnum {
STRING STRING
MULTILINE
BOOLEAN BOOLEAN
SECRET SECRET
PASSWORD PASSWORD
@ -1607,6 +1618,7 @@ input CustomerInput {
email: String email: String
isActive: Boolean isActive: Boolean
note: String note: String
languageCode: LanguageCodeEnum
} }
type CustomerUpdate { type CustomerUpdate {
@ -2248,7 +2260,7 @@ type InvoiceRequestDelete {
invoice: Invoice invoice: Invoice
} }
type InvoiceSendEmail { type InvoiceSendNotification {
errors: [Error!]! @deprecated(reason: "Use typed errors with error codes. This field will be removed after 2020-07-31.") errors: [Error!]! @deprecated(reason: "Use typed errors with error codes. This field will be removed after 2020-07-31.")
invoiceErrors: [InvoiceError!]! invoiceErrors: [InvoiceError!]!
invoice: Invoice invoice: Invoice
@ -2757,7 +2769,7 @@ type Mutation {
invoiceCreate(input: InvoiceCreateInput!, orderId: ID!): InvoiceCreate invoiceCreate(input: InvoiceCreateInput!, orderId: ID!): InvoiceCreate
invoiceDelete(id: ID!): InvoiceDelete invoiceDelete(id: ID!): InvoiceDelete
invoiceUpdate(id: ID!, input: UpdateInvoiceInput!): InvoiceUpdate invoiceUpdate(id: ID!, input: UpdateInvoiceInput!): InvoiceUpdate
invoiceSendEmail(id: ID!): InvoiceSendEmail invoiceSendNotification(id: ID!): InvoiceSendNotification
giftCardActivate(id: ID!): GiftCardActivate giftCardActivate(id: ID!): GiftCardActivate
giftCardCreate(input: GiftCardCreateInput!): GiftCardCreate giftCardCreate(input: GiftCardCreateInput!): GiftCardCreate
giftCardDeactivate(id: ID!): GiftCardDeactivate giftCardDeactivate(id: ID!): GiftCardDeactivate
@ -2795,6 +2807,7 @@ type Mutation {
checkoutPaymentCreate(checkoutId: ID!, input: PaymentInput!): CheckoutPaymentCreate checkoutPaymentCreate(checkoutId: ID!, input: PaymentInput!): CheckoutPaymentCreate
checkoutShippingAddressUpdate(checkoutId: ID!, shippingAddress: AddressInput!): CheckoutShippingAddressUpdate checkoutShippingAddressUpdate(checkoutId: ID!, shippingAddress: AddressInput!): CheckoutShippingAddressUpdate
checkoutShippingMethodUpdate(checkoutId: ID, shippingMethodId: ID!): CheckoutShippingMethodUpdate checkoutShippingMethodUpdate(checkoutId: ID, shippingMethodId: ID!): CheckoutShippingMethodUpdate
checkoutLanguageCodeUpdate(checkoutId: ID!, languageCode: LanguageCodeEnum!): CheckoutLanguageCodeUpdate
channelCreate(input: ChannelCreateInput!): ChannelCreate channelCreate(input: ChannelCreateInput!): ChannelCreate
channelUpdate(id: ID!, input: ChannelUpdateInput!): ChannelUpdate channelUpdate(id: ID!, input: ChannelUpdateInput!): ChannelUpdate
channelDelete(id: ID!, input: ChannelDeleteInput): ChannelDelete channelDelete(id: ID!, input: ChannelDeleteInput): ChannelDelete
@ -2894,7 +2907,6 @@ type Order implements Node & ObjectWithMetadata {
created: DateTime! created: DateTime!
status: OrderStatus! status: OrderStatus!
user: User user: User
languageCode: String!
trackingClientId: String! trackingClientId: String!
billingAddress: Address billingAddress: Address
shippingAddress: Address shippingAddress: Address
@ -2933,6 +2945,8 @@ type Order implements Node & ObjectWithMetadata {
totalBalance: Money! totalBalance: Money!
userEmail: String userEmail: String
isShippingRequired: Boolean! isShippingRequired: Boolean!
languageCode: String! @deprecated(reason: "Use the `languageCodeEnum` field to fetch the language code. This field will be removed in Saleor 4.0.")
languageCodeEnum: LanguageCodeEnum!
discount: Money @deprecated(reason: "Use discounts field. This field will be removed in Saleor 4.0.") discount: Money @deprecated(reason: "Use discounts field. This field will be removed in Saleor 4.0.")
discountName: String @deprecated(reason: "Use discounts field. This field will be removed in Saleor 4.0.") discountName: String @deprecated(reason: "Use discounts field. This field will be removed in Saleor 4.0.")
translatedDiscountName: String @deprecated(reason: "Use discounts field. This field will be removed in Saleor 4.0.") translatedDiscountName: String @deprecated(reason: "Use discounts field. This field will be removed in Saleor 4.0.")
@ -5497,6 +5511,7 @@ type User implements Node & ObjectWithMetadata {
avatar(size: Int): Image avatar(size: Int): Image
events: [CustomerEvent] events: [CustomerEvent]
storedPaymentSources: [PaymentSource] storedPaymentSources: [PaymentSource]
languageCode: LanguageCodeEnum!
} }
type UserAvatarDelete { type UserAvatarDelete {
@ -5536,6 +5551,7 @@ input UserCreateInput {
email: String email: String
isActive: Boolean isActive: Boolean
note: String note: String
languageCode: LanguageCodeEnum
redirectUrl: String redirectUrl: String
} }
@ -5950,6 +5966,7 @@ enum WebhookEventTypeEnum {
CHECKOUT_CREATED CHECKOUT_CREATED
CHECKOUT_UPDATED CHECKOUT_UPDATED
FULFILLMENT_CREATED FULFILLMENT_CREATED
NOTIFY_USER
PAGE_CREATED PAGE_CREATED
PAGE_UPDATED PAGE_UPDATED
PAGE_DELETED PAGE_DELETED
@ -5976,6 +5993,7 @@ enum WebhookSampleEventTypeEnum {
CHECKOUT_CREATED CHECKOUT_CREATED
CHECKOUT_UPDATED CHECKOUT_UPDATED
FULFILLMENT_CREATED FULFILLMENT_CREATED
NOTIFY_USER
PAGE_CREATED PAGE_CREATED
PAGE_UPDATED PAGE_UPDATED
PAGE_DELETED PAGE_DELETED

View file

@ -687,7 +687,7 @@ const invoiceEmailSendMutation = gql`
${invoiceErrorFragment} ${invoiceErrorFragment}
${invoiceFragment} ${invoiceFragment}
mutation InvoiceEmailSend($id: ID!) { mutation InvoiceEmailSend($id: ID!) {
invoiceSendEmail(id: $id) { invoiceSendNotification(id: $id) {
errors: invoiceErrors { errors: invoiceErrors {
...InvoiceErrorFragment ...InvoiceErrorFragment
} }

View file

@ -9,13 +9,13 @@ import { InvoiceErrorCode, JobStatusEnum } from "./../../types/globalTypes";
// GraphQL mutation operation: InvoiceEmailSend // GraphQL mutation operation: InvoiceEmailSend
// ==================================================== // ====================================================
export interface InvoiceEmailSend_invoiceSendEmail_errors { export interface InvoiceEmailSend_invoiceSendNotification_errors {
__typename: "InvoiceError"; __typename: "InvoiceError";
code: InvoiceErrorCode; code: InvoiceErrorCode;
field: string | null; field: string | null;
} }
export interface InvoiceEmailSend_invoiceSendEmail_invoice { export interface InvoiceEmailSend_invoiceSendNotification_invoice {
__typename: "Invoice"; __typename: "Invoice";
id: string; id: string;
number: string | null; number: string | null;
@ -24,14 +24,14 @@ export interface InvoiceEmailSend_invoiceSendEmail_invoice {
status: JobStatusEnum; status: JobStatusEnum;
} }
export interface InvoiceEmailSend_invoiceSendEmail { export interface InvoiceEmailSend_invoiceSendNotification {
__typename: "InvoiceSendEmail"; __typename: "InvoiceSendNotification";
errors: InvoiceEmailSend_invoiceSendEmail_errors[]; errors: InvoiceEmailSend_invoiceSendNotification_errors[];
invoice: InvoiceEmailSend_invoiceSendEmail_invoice | null; invoice: InvoiceEmailSend_invoiceSendNotification_invoice | null;
} }
export interface InvoiceEmailSend { export interface InvoiceEmailSend {
invoiceSendEmail: InvoiceEmailSend_invoiceSendEmail | null; invoiceSendNotification: InvoiceEmailSend_invoiceSendNotification | null;
} }
export interface InvoiceEmailSendVariables { export interface InvoiceEmailSendVariables {

View file

@ -271,7 +271,7 @@ export const OrderDetailsMessages: React.FC<OrderDetailsMessages> = ({
} }
}; };
const handleInvoiceSend = (data: InvoiceEmailSend) => { const handleInvoiceSend = (data: InvoiceEmailSend) => {
const errs = data.invoiceSendEmail?.errors; const errs = data.invoiceSendNotification?.errors;
if (errs.length === 0) { if (errs.length === 0) {
pushMessage({ pushMessage({
text: intl.formatMessage({ text: intl.formatMessage({

View file

@ -432,7 +432,7 @@ export const OrderDetails: React.FC<OrderDetailsProps> = ({ id, params }) => {
<OrderInvoiceEmailSendDialog <OrderInvoiceEmailSendDialog
confirmButtonState={orderInvoiceSend.opts.status} confirmButtonState={orderInvoiceSend.opts.status}
errors={ errors={
orderInvoiceSend.opts.data?.invoiceSendEmail orderInvoiceSend.opts.data?.invoiceSendNotification
.errors || [] .errors || []
} }
open={params.action === "invoice-send"} open={params.action === "invoice-send"}

View file

@ -21681,6 +21681,47 @@ exports[`Storyshots Views / Apps / Webhooks / Create webhook default 1`] = `
</span> </span>
</label> </label>
</div> </div>
<div>
<label
class="MuiFormControlLabel-root-id"
>
<span
aria-disabled="false"
class="MuiButtonBase-root-id MuiIconButton-root-id PrivateSwitchBase-root-id MuiCheckbox-root-id MuiCheckbox-colorPrimary-id MuiIconButton-colorPrimary-id"
>
<span
class="MuiIconButton-label-id"
>
<input
class="PrivateSwitchBase-input-id"
data-indeterminate="false"
name="NOTIFY_USER"
type="checkbox"
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root-id"
focusable="false"
viewBox="0 0 24 24"
>
<rect
fill="none"
height="14"
stroke="currentColor"
width="14"
x="5"
y="5"
/>
</svg>
</span>
</span>
<span
class="MuiTypography-root-id MuiFormControlLabel-label-id MuiTypography-body1-id"
>
User notified
</span>
</label>
</div>
<div> <div>
<label <label
class="MuiFormControlLabel-root-id" class="MuiFormControlLabel-root-id"
@ -22973,6 +23014,47 @@ exports[`Storyshots Views / Apps / Webhooks / Create webhook form errors 1`] = `
</span> </span>
</label> </label>
</div> </div>
<div>
<label
class="MuiFormControlLabel-root-id"
>
<span
aria-disabled="false"
class="MuiButtonBase-root-id MuiIconButton-root-id PrivateSwitchBase-root-id MuiCheckbox-root-id MuiCheckbox-colorPrimary-id MuiIconButton-colorPrimary-id"
>
<span
class="MuiIconButton-label-id"
>
<input
class="PrivateSwitchBase-input-id"
data-indeterminate="false"
name="NOTIFY_USER"
type="checkbox"
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root-id"
focusable="false"
viewBox="0 0 24 24"
>
<rect
fill="none"
height="14"
stroke="currentColor"
width="14"
x="5"
y="5"
/>
</svg>
</span>
</span>
<span
class="MuiTypography-root-id MuiFormControlLabel-label-id MuiTypography-body1-id"
>
User notified
</span>
</label>
</div>
<div> <div>
<label <label
class="MuiFormControlLabel-root-id" class="MuiFormControlLabel-root-id"
@ -24281,6 +24363,49 @@ exports[`Storyshots Views / Apps / Webhooks / Create webhook loading 1`] = `
</span> </span>
</label> </label>
</div> </div>
<div>
<label
class="MuiFormControlLabel-root-id MuiFormControlLabel-disabled-id"
>
<span
aria-disabled="true"
class="MuiButtonBase-root-id MuiIconButton-root-id PrivateSwitchBase-root-id MuiCheckbox-root-id MuiCheckbox-colorPrimary-id PrivateSwitchBase-disabled-id MuiCheckbox-disabled-id MuiIconButton-colorPrimary-id MuiIconButton-disabled-id MuiButtonBase-disabled-id"
tabindex="-1"
>
<span
class="MuiIconButton-label-id"
>
<input
class="PrivateSwitchBase-input-id"
data-indeterminate="false"
disabled=""
name="NOTIFY_USER"
type="checkbox"
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root-id"
focusable="false"
viewBox="0 0 24 24"
>
<rect
fill="none"
height="14"
stroke="currentColor"
width="14"
x="5"
y="5"
/>
</svg>
</span>
</span>
<span
class="MuiTypography-root-id MuiFormControlLabel-label-id MuiFormControlLabel-disabled-id MuiTypography-body1-id"
>
User notified
</span>
</label>
</div>
<div> <div>
<label <label
class="MuiFormControlLabel-root-id MuiFormControlLabel-disabled-id" class="MuiFormControlLabel-root-id MuiFormControlLabel-disabled-id"
@ -25612,6 +25737,47 @@ exports[`Storyshots Views / Apps / Webhooks / Webhook details default 1`] = `
</span> </span>
</label> </label>
</div> </div>
<div>
<label
class="MuiFormControlLabel-root-id"
>
<span
aria-disabled="false"
class="MuiButtonBase-root-id MuiIconButton-root-id PrivateSwitchBase-root-id MuiCheckbox-root-id MuiCheckbox-colorPrimary-id MuiIconButton-colorPrimary-id"
>
<span
class="MuiIconButton-label-id"
>
<input
class="PrivateSwitchBase-input-id"
data-indeterminate="false"
name="NOTIFY_USER"
type="checkbox"
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root-id"
focusable="false"
viewBox="0 0 24 24"
>
<rect
fill="none"
height="14"
stroke="currentColor"
width="14"
x="5"
y="5"
/>
</svg>
</span>
</span>
<span
class="MuiTypography-root-id MuiFormControlLabel-label-id MuiTypography-body1-id"
>
User notified
</span>
</label>
</div>
<div> <div>
<label <label
class="MuiFormControlLabel-root-id" class="MuiFormControlLabel-root-id"
@ -26910,6 +27076,47 @@ exports[`Storyshots Views / Apps / Webhooks / Webhook details form errors 1`] =
</span> </span>
</label> </label>
</div> </div>
<div>
<label
class="MuiFormControlLabel-root-id"
>
<span
aria-disabled="false"
class="MuiButtonBase-root-id MuiIconButton-root-id PrivateSwitchBase-root-id MuiCheckbox-root-id MuiCheckbox-colorPrimary-id MuiIconButton-colorPrimary-id"
>
<span
class="MuiIconButton-label-id"
>
<input
class="PrivateSwitchBase-input-id"
data-indeterminate="false"
name="NOTIFY_USER"
type="checkbox"
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root-id"
focusable="false"
viewBox="0 0 24 24"
>
<rect
fill="none"
height="14"
stroke="currentColor"
width="14"
x="5"
y="5"
/>
</svg>
</span>
</span>
<span
class="MuiTypography-root-id MuiFormControlLabel-label-id MuiTypography-body1-id"
>
User notified
</span>
</label>
</div>
<div> <div>
<label <label
class="MuiFormControlLabel-root-id" class="MuiFormControlLabel-root-id"
@ -28224,6 +28431,49 @@ exports[`Storyshots Views / Apps / Webhooks / Webhook details loading 1`] = `
</span> </span>
</label> </label>
</div> </div>
<div>
<label
class="MuiFormControlLabel-root-id MuiFormControlLabel-disabled-id"
>
<span
aria-disabled="true"
class="MuiButtonBase-root-id MuiIconButton-root-id PrivateSwitchBase-root-id MuiCheckbox-root-id MuiCheckbox-colorPrimary-id PrivateSwitchBase-disabled-id MuiCheckbox-disabled-id MuiIconButton-colorPrimary-id MuiIconButton-disabled-id MuiButtonBase-disabled-id"
tabindex="-1"
>
<span
class="MuiIconButton-label-id"
>
<input
class="PrivateSwitchBase-input-id"
data-indeterminate="false"
disabled=""
name="NOTIFY_USER"
type="checkbox"
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root-id"
focusable="false"
viewBox="0 0 24 24"
>
<rect
fill="none"
height="14"
stroke="currentColor"
width="14"
x="5"
y="5"
/>
</svg>
</span>
</span>
<span
class="MuiTypography-root-id MuiFormControlLabel-label-id MuiFormControlLabel-disabled-id MuiTypography-body1-id"
>
User notified
</span>
</label>
</div>
<div> <div>
<label <label
class="MuiFormControlLabel-root-id MuiFormControlLabel-disabled-id" class="MuiFormControlLabel-root-id MuiFormControlLabel-disabled-id"
@ -29543,6 +29793,47 @@ exports[`Storyshots Views / Apps / Webhooks / Webhook details unnamed 1`] = `
</span> </span>
</label> </label>
</div> </div>
<div>
<label
class="MuiFormControlLabel-root-id"
>
<span
aria-disabled="false"
class="MuiButtonBase-root-id MuiIconButton-root-id PrivateSwitchBase-root-id MuiCheckbox-root-id MuiCheckbox-colorPrimary-id MuiIconButton-colorPrimary-id"
>
<span
class="MuiIconButton-label-id"
>
<input
class="PrivateSwitchBase-input-id"
data-indeterminate="false"
name="NOTIFY_USER"
type="checkbox"
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root-id"
focusable="false"
viewBox="0 0 24 24"
>
<rect
fill="none"
height="14"
stroke="currentColor"
width="14"
x="5"
y="5"
/>
</svg>
</span>
</span>
<span
class="MuiTypography-root-id MuiFormControlLabel-label-id MuiTypography-body1-id"
>
User notified
</span>
</label>
</div>
<div> <div>
<label <label
class="MuiFormControlLabel-root-id" class="MuiFormControlLabel-root-id"

View file

@ -151,6 +151,7 @@ export enum CollectionSortField {
export enum ConfigurationTypeFieldEnum { export enum ConfigurationTypeFieldEnum {
BOOLEAN = "BOOLEAN", BOOLEAN = "BOOLEAN",
MULTILINE = "MULTILINE",
PASSWORD = "PASSWORD", PASSWORD = "PASSWORD",
SECRET = "SECRET", SECRET = "SECRET",
SECRETMULTILINE = "SECRETMULTILINE", SECRETMULTILINE = "SECRETMULTILINE",
@ -999,6 +1000,7 @@ export enum WebhookEventTypeEnum {
INVOICE_DELETED = "INVOICE_DELETED", INVOICE_DELETED = "INVOICE_DELETED",
INVOICE_REQUESTED = "INVOICE_REQUESTED", INVOICE_REQUESTED = "INVOICE_REQUESTED",
INVOICE_SENT = "INVOICE_SENT", INVOICE_SENT = "INVOICE_SENT",
NOTIFY_USER = "NOTIFY_USER",
ORDER_CANCELLED = "ORDER_CANCELLED", ORDER_CANCELLED = "ORDER_CANCELLED",
ORDER_CONFIRMED = "ORDER_CONFIRMED", ORDER_CONFIRMED = "ORDER_CONFIRMED",
ORDER_CREATED = "ORDER_CREATED", ORDER_CREATED = "ORDER_CREATED",
@ -1247,6 +1249,7 @@ export interface CustomerInput {
email?: string | null; email?: string | null;
isActive?: boolean | null; isActive?: boolean | null;
note?: string | null; note?: string | null;
languageCode?: LanguageCodeEnum | null;
} }
export interface DateRangeInput { export interface DateRangeInput {
@ -1866,6 +1869,7 @@ export interface UserCreateInput {
email?: string | null; email?: string | null;
isActive?: boolean | null; isActive?: boolean | null;
note?: string | null; note?: string | null;
languageCode?: LanguageCodeEnum | null;
redirectUrl?: string | null; redirectUrl?: string | null;
} }

View file

@ -143,6 +143,10 @@ const WebhookEvents: React.FC<WebhookEventsProps> = ({
[WebhookEventTypeEnum.PAGE_DELETED]: intl.formatMessage({ [WebhookEventTypeEnum.PAGE_DELETED]: intl.formatMessage({
defaultMessage: "Page deleted", defaultMessage: "Page deleted",
description: "event" description: "event"
}),
[WebhookEventTypeEnum.NOTIFY_USER]: intl.formatMessage({
defaultMessage: "User notified",
description: "event"
}) })
}; };