saleor-apps-redis_apl/apps/taxes/src/pages/_error.js
Adrian Pilarczyk 453baf78a1
feat: finalize order process (#355)
* feat:  add dummy order-created

* refactor: 🔥 unused private-providers-configuration-service

* feat:  add dummy order-fulfilled

* refactor: 🚚 move provider-config

* refactor: 🚚 crudSettingsConfigurator -> crudSettingsManager

* refactor: ♻️ [tax-provider].ts -> [tax-provider]-webhook.service.ts

* feat:  add dummy createOrder

* refactor: ♻️ distinguish between salesOrder and salesInvoice in avatax

* refactor: 🚚 [provider]-calculate.ts to [provider]-transform.ts

* refactor: 🚚 ResponseTaxPayload to tax-provider-webhook.ts

* refactor: 🚚 ResponseTaxPayload -> CalculateTaxesResponse

* refactor: ♻️ webhooks with active-tax-provider.service.ts

* feat:  add skeleton orderCreate functionality

* refactor: ♻️ [provider]-transform.ts -> [provider]-[webhook]-transform.ts

* feat:  add order-fulfilled with avatax call

* refactor: ♻️ move getActiveTaxProvider to active-tax-provider

* refactor: 🏷️ export types for [provider]-client function args

* refactor: 🚚 UpdateAppMetadata -> UpdateMetadata

* feat:  fulfill order with id from metadata

* build: ⬆️ upgrade avatax

* feat:  commit transaction on fulfill in avatax

* fix: 🐛 return of webhooks to ensure valid retry behavior

* refactor: 🚚 [provider]-[webhook]-transform -> [provider]-[webhook]-map

* refactor: 🏷️ export types of avatax-calculate-taxes mapPayload

* refactor: ♻️ extract address-map to separate function

* refactor: ♻️ remove schema.ts

* refactor: ♻️ move addressSchema to channels-config.ts

* feat:  add tests & placeholder tests for avatax & taxjar maps

* refactor: ♻️ throw error if no metadata

* refactor: ♻️ change EXTERNAL_ID_KEY to PROVIDER_ORDER_ID_KEY

add comments

* refactor: ♻️ comments -> it.todo in tests

* refactor: 💡 add comment about shipping_item_code

* refactor:  add todo items for tests

* refactor: ♻️ remove export and add sumLines to taxJarOrderCreated

* refactor: ♻️ address-map with avatarAddressFactory

* docs: 💡 add comment about MOCKED_SALEOR_PAYLOAD

* refactor: ♻️ remove export of mapLines and add to avataxCalculateTaxes

* style: 🎨 add newline-after-var warn to eslint-config-saleor

* style: 🎨 autofix newline-after-var in taxes

* test:  restructure tests according to new naming in address-map

* refactor: ♻️ add shippingItemCode to avataxCalculateTaxes wrapper object

* refactor: 🚚 payloadProps -> payloadArgs

* refactor: ♻️ add Maps suffix to map wrapper objects

* refactor: ♻️ remove data: null from ActiveTaxProviderResult

* refactor: ♻️ maintain the object hierarchy in tests

* refactor: ♻️ refactor webhook responses with WebhookResponseFactory

* build: ⬆️ vitest

* test:  add tests for get-app-config-test

* test:  add tests for getActiveTaxProvider

* refactor: ♻️ use address fragment for taxBase and order

* refactor: ♻️ rename WebhookResponseFactory -> WebhookResponse

* style: 👷 add multiline-comment-style

* fix: 🐛 dummy test in get-app-config.test.ts

* refactor: ♻️ rename AddressFragment -> Address

* refactor: ♻️ use debug instead of error in webhook-response noRetry

* refactor: ♻️ refactor as variables in mutation

* build: 👷 add changeset

* refactor: ♻️ split changesets in two

* build: ⬆️ vite

* build: ⬆️ vite && vitest in all apps
2023-04-17 13:58:21 +02:00

43 lines
1.5 KiB
JavaScript

/**
* NOTE: This requires `@sentry/nextjs` version 7.3.0 or higher.
*
* NOTE: If using this with `next` version 12.2.0 or lower, uncomment the
* penultimate line in `CustomErrorComponent`.
*
* This page is loaded by Nextjs:
* - on the server, when data-fetching methods throw or reject
* - on the client, when `getInitialProps` throws or rejects
* - on the client, when a React lifecycle method throws or rejects, and it's
* caught by the built-in Nextjs error boundary
*
* See:
* - https://nextjs.org/docs/basic-features/data-fetching/overview
* - https://nextjs.org/docs/api-reference/data-fetching/get-initial-props
* - https://reactjs.org/docs/error-boundaries.html
*/
import * as Sentry from "@sentry/nextjs";
import NextErrorComponent from "next/error";
const CustomErrorComponent = (props) => {
/**
* If you're using a Nextjs version prior to 12.2.1, uncomment this to
* compensate for https://github.com/vercel/next.js/issues/8592
* Sentry.captureUnderscoreErrorException(props);
*/
return <NextErrorComponent statusCode={props.statusCode} />;
};
CustomErrorComponent.getInitialProps = async (contextData) => {
/*
* In case this is running in a serverless function, await this in order to give Sentry
* time to send the error before the lambda exits
*/
await Sentry.captureUnderscoreErrorException(contextData);
// This will contain the status code of the response
return NextErrorComponent.getInitialProps(contextData);
};
export default CustomErrorComponent;