diff --git a/CHANGELOG.md b/CHANGELOG.md index f0011065f..f670d7db0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,6 +80,7 @@ All notable, unreleased changes to this project will be documented in this file. - Add text attribute for product and page translations - #1276 by @kamilpastuszka - Add app dashboard extensions - #1292 by @jwm0 - Introduce fulfillment creation - #1241 by @orzechdev +- Introduce Click&Collect feature - #1268 by @kuchichan # 2.11.1 diff --git a/codegen.yml b/codegen.yml new file mode 100644 index 000000000..b7935a9de --- /dev/null +++ b/codegen.yml @@ -0,0 +1,9 @@ +overwrite: true +schema: ./schema.graphql +generates: + fragmentTypes.json: + plugins: + - fragment-matcher + config: + minify: false + apolloClientVersion: 2 diff --git a/fragmentTypes.json b/fragmentTypes.json new file mode 100644 index 000000000..eb27d85ef --- /dev/null +++ b/fragmentTypes.json @@ -0,0 +1,426 @@ +{ + "__schema": { + "types": [ + { + "kind": "UNION", + "name": "DeliveryMethod", + "possibleTypes": [ + { + "name": "Warehouse" + }, + { + "name": "ShippingMethod" + } + ] + }, + { + "kind": "INTERFACE", + "name": "Job", + "possibleTypes": [ + { + "name": "AppInstallation" + }, + { + "name": "ExportFile" + }, + { + "name": "Invoice" + } + ] + }, + { + "kind": "INTERFACE", + "name": "Node", + "possibleTypes": [ + { + "name": "Address" + }, + { + "name": "Allocation" + }, + { + "name": "App" + }, + { + "name": "AppExtension" + }, + { + "name": "AppInstallation" + }, + { + "name": "AppToken" + }, + { + "name": "Attribute" + }, + { + "name": "AttributeTranslatableContent" + }, + { + "name": "AttributeTranslation" + }, + { + "name": "AttributeValue" + }, + { + "name": "AttributeValueTranslatableContent" + }, + { + "name": "AttributeValueTranslation" + }, + { + "name": "Category" + }, + { + "name": "CategoryTranslatableContent" + }, + { + "name": "CategoryTranslation" + }, + { + "name": "Channel" + }, + { + "name": "Checkout" + }, + { + "name": "CheckoutLine" + }, + { + "name": "Collection" + }, + { + "name": "CollectionChannelListing" + }, + { + "name": "CollectionTranslatableContent" + }, + { + "name": "CollectionTranslation" + }, + { + "name": "CustomerEvent" + }, + { + "name": "DigitalContent" + }, + { + "name": "DigitalContentUrl" + }, + { + "name": "ExportEvent" + }, + { + "name": "ExportFile" + }, + { + "name": "Fulfillment" + }, + { + "name": "FulfillmentLine" + }, + { + "name": "GiftCard" + }, + { + "name": "GiftCardEvent" + }, + { + "name": "Group" + }, + { + "name": "Invoice" + }, + { + "name": "Menu" + }, + { + "name": "MenuItem" + }, + { + "name": "MenuItemTranslatableContent" + }, + { + "name": "MenuItemTranslation" + }, + { + "name": "Order" + }, + { + "name": "OrderDiscount" + }, + { + "name": "OrderEvent" + }, + { + "name": "OrderLine" + }, + { + "name": "Page" + }, + { + "name": "PageTranslatableContent" + }, + { + "name": "PageTranslation" + }, + { + "name": "PageType" + }, + { + "name": "Payment" + }, + { + "name": "Product" + }, + { + "name": "ProductChannelListing" + }, + { + "name": "ProductMedia" + }, + { + "name": "ProductTranslatableContent" + }, + { + "name": "ProductTranslation" + }, + { + "name": "ProductType" + }, + { + "name": "ProductVariant" + }, + { + "name": "ProductVariantChannelListing" + }, + { + "name": "ProductVariantTranslatableContent" + }, + { + "name": "ProductVariantTranslation" + }, + { + "name": "Sale" + }, + { + "name": "SaleChannelListing" + }, + { + "name": "SaleTranslatableContent" + }, + { + "name": "SaleTranslation" + }, + { + "name": "ShippingMethod" + }, + { + "name": "ShippingMethodChannelListing" + }, + { + "name": "ShippingMethodPostalCodeRule" + }, + { + "name": "ShippingMethodTranslatableContent" + }, + { + "name": "ShippingMethodTranslation" + }, + { + "name": "ShippingZone" + }, + { + "name": "ShopTranslation" + }, + { + "name": "StaffNotificationRecipient" + }, + { + "name": "Stock" + }, + { + "name": "Transaction" + }, + { + "name": "User" + }, + { + "name": "Voucher" + }, + { + "name": "VoucherChannelListing" + }, + { + "name": "VoucherTranslatableContent" + }, + { + "name": "VoucherTranslation" + }, + { + "name": "Warehouse" + }, + { + "name": "Webhook" + } + ] + }, + { + "kind": "INTERFACE", + "name": "ObjectWithMetadata", + "possibleTypes": [ + { + "name": "App" + }, + { + "name": "Attribute" + }, + { + "name": "Category" + }, + { + "name": "Checkout" + }, + { + "name": "Collection" + }, + { + "name": "DigitalContent" + }, + { + "name": "Fulfillment" + }, + { + "name": "GiftCard" + }, + { + "name": "Invoice" + }, + { + "name": "Menu" + }, + { + "name": "MenuItem" + }, + { + "name": "Order" + }, + { + "name": "Page" + }, + { + "name": "PageType" + }, + { + "name": "Product" + }, + { + "name": "ProductType" + }, + { + "name": "ProductVariant" + }, + { + "name": "Sale" + }, + { + "name": "ShippingMethod" + }, + { + "name": "ShippingZone" + }, + { + "name": "User" + }, + { + "name": "Voucher" + }, + { + "name": "Warehouse" + } + ] + }, + { + "kind": "UNION", + "name": "TranslatableItem", + "possibleTypes": [ + { + "name": "ProductTranslatableContent" + }, + { + "name": "CollectionTranslatableContent" + }, + { + "name": "CategoryTranslatableContent" + }, + { + "name": "AttributeTranslatableContent" + }, + { + "name": "AttributeValueTranslatableContent" + }, + { + "name": "ProductVariantTranslatableContent" + }, + { + "name": "PageTranslatableContent" + }, + { + "name": "ShippingMethodTranslatableContent" + }, + { + "name": "SaleTranslatableContent" + }, + { + "name": "VoucherTranslatableContent" + }, + { + "name": "MenuItemTranslatableContent" + } + ] + }, + { + "kind": "UNION", + "name": "_Entity", + "possibleTypes": [ + { + "name": "App" + }, + { + "name": "Address" + }, + { + "name": "User" + }, + { + "name": "Group" + }, + { + "name": "ProductVariant" + }, + { + "name": "Product" + }, + { + "name": "ProductType" + }, + { + "name": "Collection" + }, + { + "name": "Category" + }, + { + "name": "ProductMedia" + }, + { + "name": "ProductImage" + }, + { + "name": "PageType" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/locale/defaultMessages.json b/locale/defaultMessages.json index 247330295..cb96186d0 100644 --- a/locale/defaultMessages.json +++ b/locale/defaultMessages.json @@ -367,10 +367,6 @@ "context": "shipping address is not set in draft order", "string": "Not set" }, - "orderPaymentShippingDoesNotApply": { - "context": "order does not require shipping", - "string": "does not apply" - }, "orderPaymentVATDoesNotApply": { "context": "vat not included in order price", "string": "does not apply" @@ -3810,6 +3806,14 @@ "src_dot_orders_dot_components_dot_OrderCustomer_dot_4282475982": { "string": "Billing Address" }, + "src_dot_orders_dot_components_dot_OrderCustomer_dot_orderCustomerFulfillmentAll": { + "context": "OrderCustomer Fulfillment from All Warehouses", + "string": "Fulfill from All Warehouses" + }, + "src_dot_orders_dot_components_dot_OrderCustomer_dot_orderCustomerFulfillmentLocal": { + "context": "OrderCustomer Fulfillment from Local Warehouse", + "string": "Fulfill from Local Stock" + }, "src_dot_orders_dot_components_dot_OrderDetailsPage_dot_cancelOrder": { "context": "cancel button", "string": "Cancel order" @@ -4430,6 +4434,14 @@ "context": "order total price", "string": "Total" }, + "src_dot_orders_dot_components_dot_OrderPayment_dot_orderPaymentClickAndCollectShippingMethod": { + "context": "OrderPayment click&collect shipping method", + "string": "click&collect" + }, + "src_dot_orders_dot_components_dot_OrderPayment_dot_orderPaymentShippingDoesNotApply": { + "context": "OrderPayment does not require shipping", + "string": "does not apply" + }, "src_dot_orders_dot_components_dot_OrderProductAddDialog_dot_2272209368": { "context": "variant sku", "string": "SKU {sku}" @@ -7458,13 +7470,58 @@ "context": "warehouse", "string": "Name" }, - "src_dot_warehouses_dot_components_dot_WarehouseZones_dot_1225932315": { - "context": "zones that warehouse sends to", - "string": "Shipping Zones" + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsAllWarehouses": { + "context": "WarehouseSettings all warehouses label", + "string": "All warehouses" }, - "src_dot_warehouses_dot_components_dot_WarehouseZones_dot_2423245141": { + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsAllWarehousesDescription": { + "context": "WarehouseSettings all warehouses description", + "string": "If selected customer will be able to choose this warehouse as pickup point. Ordered products can be shipped here from a different warehouse" + }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsDisabled": { + "context": "WarehouseSettings disabled warehouse label", + "string": "Disabled" + }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsDisabledDescription": { + "context": "WarehouseSettings disabled warehouse description", + "string": "If selected customer won't be able to choose this warehouse as pickup point" + }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsLocal": { + "context": "WarehouseSettings local warehouse label", + "string": "Local stock only" + }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsLocalDescription": { + "context": "WarehouseSettings local warehouse description", + "string": "If selected customer will be able to choose this warehouse as pickup point. Ordered products will be only fulfilled from this warehouse stock" + }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsNoShippingZonesAssigned": { + "context": "WarehouseSettings no shipping zones assigned", "string": "This warehouse has no shipping zones assigned." }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsPickupTitle": { + "context": "WarehouseSettings pickup title", + "string": "Pickup" + }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsPrivateStock": { + "context": "WarehouseSettings private stock label", + "string": "Private Stock" + }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsPrivateStockDescription": { + "context": "WarehouseSettings private stock description", + "string": "If enabled stock in this warehouse won't be shown" + }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsPublicStock": { + "context": "WarehouseSettings public stock label", + "string": "Public Stock" + }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsPublicStockDescription": { + "context": "WarehouseSettings public stock description", + "string": "If enabled stock in this warehouse will be shown" + }, + "src_dot_warehouses_dot_components_dot_WarehouseSettings_dot_warehouseSettingsTitle": { + "context": "WarehouseSettings title", + "string": "Settings" + }, "src_dot_warehouses_dot_views_dot_WarehouseCreate_dot_934572530": { "context": "header", "string": "Create Warehouse" diff --git a/package-lock.json b/package-lock.json index b2e5771d8..874d5debd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -119,6 +119,12 @@ "@apollographql/graphql-language-service-types": "^2.0.0" } }, + "@ardatan/fetch-event-source": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@ardatan/fetch-event-source/-/fetch-event-source-2.0.2.tgz", + "integrity": "sha512-mcpz/wJ7s50PJIVz4OQ1Yim3w/AAchtYtIg0QMWiMR2cZZoI9t23hRyqeumtD5EmyJu0fxtjmQ5WY8GI86V4rQ==", + "dev": true + }, "@babel/cli": { "version": "7.13.14", "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.13.14.tgz", @@ -2119,6 +2125,1024 @@ "integrity": "sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==", "dev": true }, + "@graphql-codegen/cli": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-2.1.1.tgz", + "integrity": "sha512-burl5HdZeaAOhe3gx/3LBNxNyboqNHSDQLlZUazm1Gu8lUdVN1trtO3P5xF7MCBm4MFTjzaAXdPT7FoYvYaWMg==", + "dev": true, + "requires": { + "@graphql-codegen/core": "2.1.0", + "@graphql-codegen/plugin-helpers": "^2.1.0", + "@graphql-tools/apollo-engine-loader": "^7.0.5", + "@graphql-tools/code-file-loader": "^7.0.6", + "@graphql-tools/git-loader": "^7.0.5", + "@graphql-tools/github-loader": "^7.0.5", + "@graphql-tools/graphql-file-loader": "^7.0.5", + "@graphql-tools/json-file-loader": "^7.1.2", + "@graphql-tools/load": "^7.1.8", + "@graphql-tools/prisma-loader": "^7.0.6", + "@graphql-tools/url-loader": "^7.0.11", + "@graphql-tools/utils": "^8.1.1", + "ansi-escapes": "^4.3.1", + "chalk": "^4.1.0", + "change-case-all": "1.0.14", + "chokidar": "^3.5.2", + "common-tags": "^1.8.0", + "cosmiconfig": "^7.0.0", + "debounce": "^1.2.0", + "dependency-graph": "^0.11.0", + "detect-indent": "^6.0.0", + "glob": "^7.1.6", + "globby": "^11.0.4", + "graphql-config": "^4.0.1", + "inquirer": "^7.3.3", + "is-glob": "^4.0.1", + "json-to-pretty-yaml": "^1.2.2", + "latest-version": "5.1.0", + "listr": "^0.14.3", + "listr-update-renderer": "^0.5.0", + "log-symbols": "^4.0.0", + "minimatch": "^3.0.4", + "mkdirp": "^1.0.4", + "string-env-interpolation": "^1.0.1", + "ts-log": "^2.2.3", + "tslib": "~2.3.0", + "valid-url": "^1.0.9", + "wrap-ansi": "^7.0.0", + "yaml": "^1.10.0", + "yargs": "^17.0.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", + "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, + "@graphql-codegen/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-2.1.0.tgz", + "integrity": "sha512-pNzpBZWP+B7doPtANN61CMoBq382KMuGierbZXyilrO6RAqgN/DgU4UEIaQFat1BfiVA5GFDAQryysOv4glU8g==", + "dev": true, + "requires": { + "@graphql-codegen/plugin-helpers": "^2.1.0", + "@graphql-tools/schema": "^8.1.2", + "@graphql-tools/utils": "^8.1.1", + "tslib": "~2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-codegen/fragment-matcher": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/fragment-matcher/-/fragment-matcher-3.1.0.tgz", + "integrity": "sha512-CNn5zVMGxXhVWlrBHKtWMN/IVV1oJQnaBwhhjplLqBdUNAk+fATcoznFjnIRthcJiLNUQlM4dm2bc0sa/ZMUXA==", + "dev": true, + "requires": { + "@graphql-codegen/plugin-helpers": "^2.1.0", + "tslib": "~2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-codegen/plugin-helpers": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.1.0.tgz", + "integrity": "sha512-4yX+mlkwc6786yd+vgzx563Lfm3lp4pdYTQp8zEav8ZGVysI6t981WmD5TcfloTsqIG5ZrM7iSFnw2/2DQS9tg==", + "dev": true, + "requires": { + "@graphql-tools/utils": "^8.1.1", + "change-case-all": "1.0.14", + "common-tags": "1.8.0", + "import-from": "4.0.0", + "lodash": "~4.17.0", + "tslib": "~2.3.0" + }, + "dependencies": { + "import-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", + "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==", + "dev": true + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-codegen/typescript": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-2.1.1.tgz", + "integrity": "sha512-FDTuFIvuP0wbwuEUfMw7PiNVE4qJkjpiAccaZTEm6A69Wcumt774qaHMQC2vIg2t5xi1t69n8lbIggdtgf6Xtw==", + "dev": true, + "requires": { + "@graphql-codegen/plugin-helpers": "^2.1.0", + "@graphql-codegen/visitor-plugin-common": "2.1.1", + "auto-bind": "~4.0.0", + "tslib": "~2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-codegen/visitor-plugin-common": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.1.1.tgz", + "integrity": "sha512-FO8kMDL+Y1yw8DirhIsY97RjVKfmxxhK179njA46Vu85Rg4zCuLpGMyB0mkhl95QGfdfuJjbB1lz34U27Ce9Wg==", + "dev": true, + "requires": { + "@graphql-codegen/plugin-helpers": "^2.1.0", + "@graphql-tools/optimize": "^1.0.1", + "@graphql-tools/relay-operation-optimizer": "^6.3.7", + "array.prototype.flatmap": "^1.2.4", + "auto-bind": "~4.0.0", + "change-case-all": "1.0.14", + "dependency-graph": "^0.11.0", + "graphql-tag": "^2.11.0", + "parse-filepath": "^1.0.2", + "tslib": "~2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/apollo-engine-loader": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.0.5.tgz", + "integrity": "sha512-ABprEk3ziv4af2XCzRVFTsJXKHC9g2TN3nL/hfGt3G7oelZpLUJp+cdZaGn3i8H9NoASuaMOPorIvVC1LsF84Q==", + "dev": true, + "requires": { + "@graphql-tools/utils": "^8.1.1", + "cross-fetch": "^3.1.4", + "sync-fetch": "0.3.0", + "tslib": "~2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/batch-execute": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.0.5.tgz", + "integrity": "sha512-Zx+zs12BLGNvrQtfESIhitzwIkrWnKyKOkAfcaMNuOLGOO2pDmhwIRzbHj+6Jtq9V1/JTaVkSnm/4ozaCRck5A==", + "dev": true, + "requires": { + "@graphql-tools/utils": "^8.1.1", + "dataloader": "2.0.0", + "tslib": "~2.3.0", + "value-or-promise": "1.0.10" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/code-file-loader": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-7.0.7.tgz", + "integrity": "sha512-GCiABoEmYEXo9TSgkLLQS/AxaIfN6efOOWNHGPOvXQ2DkMgg+5uX3hGd1h0nvPIzL4gC61Rr9llwMjovkoJlfw==", + "dev": true, + "requires": { + "@graphql-tools/graphql-tag-pluck": "^7.0.5", + "@graphql-tools/utils": "^8.1.2", + "globby": "^11.0.3", + "tslib": "~2.3.0", + "unixify": "^1.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/delegate": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.1.1.tgz", + "integrity": "sha512-Vttd0nfYTqRnRMKLvk8s4cIi9U+OMXGc9CMZAlKkHrBJ6dGXjdSM+4n3p9rfWZc/FtbVk1FnNS4IFyMeKwFuxA==", + "dev": true, + "requires": { + "@graphql-tools/batch-execute": "^8.0.5", + "@graphql-tools/schema": "^8.1.2", + "@graphql-tools/utils": "^8.1.2", + "dataloader": "2.0.0", + "tslib": "~2.3.0", + "value-or-promise": "1.0.10" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/git-loader": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-7.0.6.tgz", + "integrity": "sha512-6YoLqKdf1AiVQ7mJXWUQZI3un0r23JDFhp2ChIcR5uDKCHZkikSMUph6JvjajCLnPryPBGwr10659sRnESujmA==", + "dev": true, + "requires": { + "@graphql-tools/graphql-tag-pluck": "^7.0.5", + "@graphql-tools/utils": "^8.1.2", + "is-glob": "4.0.1", + "micromatch": "^4.0.4", + "tslib": "~2.3.0", + "unixify": "^1.0.0" + }, + "dependencies": { + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/github-loader": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-7.0.5.tgz", + "integrity": "sha512-dDoHZa5Fi9JkqjgugASaafGRwXe+sUkTZdCmxf5m+vl1OFy5S/bw3bPML18tzm+e7bu+Vb/sVHSb2Drlo2q3VA==", + "dev": true, + "requires": { + "@graphql-tools/graphql-tag-pluck": "^7.0.5", + "@graphql-tools/utils": "^8.1.1", + "cross-fetch": "3.1.4", + "tslib": "~2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/graphql-file-loader": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.0.6.tgz", + "integrity": "sha512-jndtcNwPUQxEiY/3FKNbAb4dpNXO8tXoDZzrnvv+z/tf27ViiZW0KUBkO4Mw4b0sqaDq+fS4d6BXzVFQQUPolA==", + "dev": true, + "requires": { + "@graphql-tools/import": "^6.2.6", + "@graphql-tools/utils": "^8.1.2", + "globby": "^11.0.3", + "tslib": "~2.3.0", + "unixify": "^1.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/graphql-tag-pluck": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.0.5.tgz", + "integrity": "sha512-/eNFl/4gshnlgNvx1Koaey3036edcv5/Nko+px/DbkfjKedwikRWubURcCaMp/4VE6CyIUibxRrP6TzVByhVrw==", + "dev": true, + "requires": { + "@babel/parser": "7.15.3", + "@babel/traverse": "7.15.0", + "@babel/types": "7.15.0", + "@graphql-tools/utils": "^8.1.1", + "tslib": "~2.3.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/generator": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", + "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "dev": true, + "requires": { + "@babel/types": "^7.15.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "dev": true + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", + "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "dev": true + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", + "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.15.0", + "@babel/types": "^7.15.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", + "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/import": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-6.3.1.tgz", + "integrity": "sha512-1szR19JI6WPibjYurMLdadHKZoG9C//8I/FZ0Dt4vJSbrMdVNp8WFxg4QnZrDeMG4MzZc90etsyF5ofKjcC+jw==", + "dev": true, + "requires": { + "resolve-from": "5.0.0", + "tslib": "~2.2.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", + "dev": true + } + } + }, + "@graphql-tools/json-file-loader": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.1.3.tgz", + "integrity": "sha512-Z6B1mwgmmit4BUc44NNSelF67Q7laJ98+QPNaIHBBpEHdCD2ToLPaIo2P+xrzf9BTS+hypXvupbEtxtKTUe9uQ==", + "dev": true, + "requires": { + "@graphql-tools/utils": "^8.1.2", + "globby": "^11.0.3", + "tslib": "~2.3.0", + "unixify": "^1.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/load": { + "version": "7.1.9", + "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-7.1.9.tgz", + "integrity": "sha512-4R0JLXRynPgHRWkGvL778XNH3IYX1sXjmEqGy3LPpJ4KR6woCO0us8oXNMAJMjjU4ZcOX6I8Jdj16G7qcHYTLA==", + "dev": true, + "requires": { + "@graphql-tools/schema": "8.1.2", + "@graphql-tools/utils": "^8.1.2", + "p-limit": "3.1.0", + "tslib": "~2.3.0" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/merge": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.0.3.tgz", + "integrity": "sha512-lVMyW9cREs+nQYbUvMaaqSl+pRCezl2RafNMFi/04akjvOtjVefdi7n3pArpSqPhLHPJDyQRlI8CK8cmOZ9jTA==", + "dev": true, + "requires": { + "@graphql-tools/utils": "^8.1.2", + "tslib": "~2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/optimize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.0.1.tgz", + "integrity": "sha512-cRlUNsbErYoBtzzS6zXahXeTBZGPVlPHXCpnEZ0XiK/KY/sQL96cyzak0fM/Gk6qEI9/l32MYEICjasiBQrl5w==", + "dev": true, + "requires": { + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==", + "dev": true + } + } + }, + "@graphql-tools/prisma-loader": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-7.0.6.tgz", + "integrity": "sha512-HxtlW+15bRd6fDdtJO391+PPVpuJngMN5H6ND3ChNxVvcJzGuG+6r3oi5GNe5BZUgc12N0pEZ0eGIK3+TU6QSg==", + "dev": true, + "requires": { + "@graphql-tools/url-loader": "^7.0.11", + "@graphql-tools/utils": "^8.1.1", + "@types/js-yaml": "^4.0.0", + "@types/json-stable-stringify": "^1.0.32", + "@types/jsonwebtoken": "^8.5.0", + "chalk": "^4.1.0", + "debug": "^4.3.1", + "dotenv": "^10.0.0", + "graphql-request": "^3.3.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "isomorphic-fetch": "^3.0.0", + "js-yaml": "^4.0.0", + "json-stable-stringify": "^1.0.1", + "jsonwebtoken": "^8.5.1", + "lodash": "^4.17.20", + "replaceall": "^0.1.6", + "scuid": "^1.1.0", + "tslib": "~2.3.0", + "yaml-ast-parser": "^0.0.43" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/relay-operation-optimizer": { + "version": "6.3.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.3.7.tgz", + "integrity": "sha512-7UYnxPvIUDrdEKFAYrNF/YsoVBYMj6l3rwwuNs1jZyzAVZh8uq3TdvaFIIlcYvRychj45BEsg1jvRBvmhTaj3Q==", + "dev": true, + "requires": { + "@graphql-tools/utils": "^8.1.1", + "relay-compiler": "11.0.2", + "tslib": "~2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/schema": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.1.2.tgz", + "integrity": "sha512-rX2pg42a0w7JLVYT+f/yeEKpnoZL5PpLq68TxC3iZ8slnNBNjfVfvzzOn8Q8Q6Xw3t17KP9QespmJEDfuQe4Rg==", + "dev": true, + "requires": { + "@graphql-tools/merge": "^8.0.2", + "@graphql-tools/utils": "^8.1.1", + "tslib": "~2.3.0", + "value-or-promise": "1.0.10" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/url-loader": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.0.12.tgz", + "integrity": "sha512-CSGHi0Z2ow6QZp0yx+zVHGj/FpZ+e+HH4AWNI++w9nF8wEHDSd5ghPXpXz58KmqXTE5+Trf5zEjtIm/2mcDYBA==", + "dev": true, + "requires": { + "@ardatan/fetch-event-source": "2.0.2", + "@graphql-tools/delegate": "^8.1.1", + "@graphql-tools/utils": "^8.1.2", + "@graphql-tools/wrap": "^8.0.13", + "@n1ru4l/graphql-live-query": "0.7.1", + "@types/websocket": "1.0.4", + "@types/ws": "^7.4.7", + "abort-controller": "3.0.0", + "cross-fetch": "3.1.4", + "extract-files": "11.0.0", + "form-data": "4.0.0", + "graphql-ws": "^5.0.0", + "is-promise": "4.0.0", + "isomorphic-ws": "4.0.1", + "lodash": "4.17.21", + "meros": "1.1.4", + "subscriptions-transport-ws": "^0.10.0", + "sync-fetch": "0.3.0", + "tslib": "~2.3.0", + "valid-url": "1.0.9", + "value-or-promise": "1.0.10", + "ws": "8.2.0" + }, + "dependencies": { + "extract-files": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-11.0.0.tgz", + "integrity": "sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==", + "dev": true + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, + "ws": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.0.tgz", + "integrity": "sha512-uYhVJ/m9oXwEI04iIVmgLmugh2qrZihkywG9y5FfZV2ATeLIzHf93qs+tUNqlttbQK957/VX3mtwAS+UfIwA4g==", + "dev": true + } + } + }, + "@graphql-tools/utils": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.1.2.tgz", + "integrity": "sha512-3G+NIBR5mHjPm78jAD0l07JRE0XH+lr9m7yL/wl69jAzK0Jr/H+/Ok4ljEolI70iglz+ZhIShVPAwyesF6rnFg==", + "dev": true, + "requires": { + "tslib": "~2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "@graphql-tools/wrap": { + "version": "8.0.13", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.0.13.tgz", + "integrity": "sha512-GTkHbN+Zgs+D7bFniFx3/YqNIDv8ET17prM7FewmU8LNRc2P48y6d4/dkQLcwQmryy1TZF87es6yA9FMNfQtWg==", + "dev": true, + "requires": { + "@graphql-tools/delegate": "^8.1.0", + "@graphql-tools/schema": "^8.1.2", + "@graphql-tools/utils": "^8.1.1", + "tslib": "~2.3.0", + "value-or-promise": "1.0.10" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, "@hapi/address": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", @@ -2775,6 +3799,12 @@ "glob-to-regexp": "^0.3.0" } }, + "@n1ru4l/graphql-live-query": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@n1ru4l/graphql-live-query/-/graphql-live-query-0.7.1.tgz", + "integrity": "sha512-5kJPe2FkPNsCGu9tocKIzUSNO986qAqdnbk8hIFqWlpVPBAmEAOYb1mr6PA18FYAlu7ojWm9Hm13k29aj2GGlQ==", + "dev": true + }, "@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz", @@ -5375,18 +6405,39 @@ "@types/jest": "*" } }, + "@types/js-yaml": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.3.tgz", + "integrity": "sha512-5t9BhoORasuF5uCPr+d5/hdB++zRFUTMIZOzbNkr+jZh3yQht4HYbRDyj9fY8n2TZT30iW9huzav73x4NikqWg==", + "dev": true + }, "@types/json-schema": { "version": "7.0.7", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, + "@types/json-stable-stringify": { + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.33.tgz", + "integrity": "sha512-qEWiQff6q2tA5gcJGWwzplQcXdJtm+0oy6IHGHzlOf3eFAkGE/FIPXZK9ofWgNSHVp8AFFI33PJJshS0ei3Gvw==", + "dev": true + }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, + "@types/jsonwebtoken": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.5.tgz", + "integrity": "sha512-OGqtHQ7N5/Ap/TUwO6IgHDuLiAoTmHhGpNvgkCm/F4N6pKzx/RBSfr2OXZSwC6vkfnsEdb6+7DNZVtiXiwdwFw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/keyv": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz", @@ -5877,6 +6928,24 @@ } } }, + "@types/websocket": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.4.tgz", + "integrity": "sha512-qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/yargs": { "version": "13.0.11", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", @@ -6202,6 +7271,15 @@ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -7353,6 +8431,12 @@ "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==" }, + "auto-bind": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", + "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==", + "dev": true + }, "autoprefixer": { "version": "9.8.6", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", @@ -8216,6 +9300,12 @@ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==", + "dev": true + }, "babel-plugin-transform-inline-consecutive-adds": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", @@ -8288,6 +9378,41 @@ "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", "dev": true }, + "babel-preset-fbjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", + "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", + "dev": true, + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, "babel-preset-jest": { "version": "23.2.0", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz", @@ -8426,6 +9551,12 @@ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", + "dev": true + }, "bail": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", @@ -8938,6 +10069,12 @@ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", "dev": true }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", + "dev": true + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -9314,6 +10451,24 @@ } } }, + "change-case-all": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/change-case-all/-/change-case-all-1.0.14.tgz", + "integrity": "sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA==", + "dev": true, + "requires": { + "change-case": "^4.1.2", + "is-lower-case": "^2.0.2", + "is-upper-case": "^2.0.2", + "lower-case": "^2.0.2", + "lower-case-first": "^2.0.2", + "sponge-case": "^1.0.1", + "swap-case": "^2.0.2", + "title-case": "^3.0.3", + "upper-case": "^2.0.2", + "upper-case-first": "^2.0.2" + } + }, "character-entities": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", @@ -10541,6 +11696,15 @@ "parse-json": "^4.0.0" } }, + "cosmiconfig-toml-loader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-toml-loader/-/cosmiconfig-toml-loader-1.0.0.tgz", + "integrity": "sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==", + "dev": true, + "requires": { + "@iarna/toml": "^2.2.5" + } + }, "crc-32": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", @@ -10616,6 +11780,12 @@ } } }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "cross-env": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz", @@ -10668,6 +11838,15 @@ } } }, + "cross-fetch": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", + "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", + "dev": true, + "requires": { + "node-fetch": "2.6.1" + } + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -11159,6 +12338,12 @@ } } }, + "dataloader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.0.0.tgz", + "integrity": "sha512-YzhyDAwA4TaQIhM5go+vCLmU0UikghC/t9DTQYZR2M/UvZ1MdOhPezSDZcjj9uqQJOMqjLcpWtyW2iNINdlatQ==", + "dev": true + }, "date-fns": { "version": "1.30.1", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", @@ -11170,6 +12355,12 @@ "integrity": "sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==", "dev": true }, + "debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -11445,6 +12636,12 @@ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", "dev": true }, + "dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true + }, "deprecated-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/deprecated-obj/-/deprecated-obj-2.0.0.tgz", @@ -11847,6 +13044,15 @@ "safer-buffer": "^2.1.0" } }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, "editorjs-inline-tool": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/editorjs-inline-tool/-/editorjs-inline-tool-0.4.0.tgz", @@ -12961,6 +14167,12 @@ "through": "~2.3.1" } }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true + }, "eventemitter2": { "version": "6.4.4", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.4.tgz", @@ -13566,6 +14778,27 @@ "bser": "2.1.1" } }, + "fbjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz", + "integrity": "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==", + "dev": true, + "requires": { + "cross-fetch": "^3.0.4", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==", + "dev": true + }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -14905,11 +16138,170 @@ "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, "graphql": { - "version": "14.7.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", - "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", + "version": "15.5.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.1.tgz", + "integrity": "sha512-FeTRX67T3LoE3LWAxxOlW2K3Bz+rMYAC18rRguK4wgXaTZMiJwSUwDmPFo3UadAKbzirKIg5Qy+sNJXbpPRnQw==" + }, + "graphql-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-4.0.1.tgz", + "integrity": "sha512-JdXxFzBwjujJMGLHUZom9SrmP/M4gF57iTDa3fJVm3Q85+Xw2kj9jZIygaaSLpDKhaPnMQZqfJ5Hmc6afKxS9w==", + "dev": true, "requires": { - "iterall": "^1.2.2" + "@endemolshinegroup/cosmiconfig-typescript-loader": "3.0.2", + "@graphql-tools/graphql-file-loader": "^7.0.1", + "@graphql-tools/json-file-loader": "^7.0.1", + "@graphql-tools/load": "^7.1.0", + "@graphql-tools/merge": "^6.2.16", + "@graphql-tools/url-loader": "^7.0.3", + "@graphql-tools/utils": "^8.0.1", + "cosmiconfig": "7.0.0", + "cosmiconfig-toml-loader": "1.0.0", + "minimatch": "3.0.4", + "string-env-interpolation": "1.0.1" + }, + "dependencies": { + "@endemolshinegroup/cosmiconfig-typescript-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz", + "integrity": "sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==", + "dev": true, + "requires": { + "lodash.get": "^4", + "make-error": "^1", + "ts-node": "^9", + "tslib": "^2" + } + }, + "@graphql-tools/merge": { + "version": "6.2.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.17.tgz", + "integrity": "sha512-G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow==", + "dev": true, + "requires": { + "@graphql-tools/schema": "^8.0.2", + "@graphql-tools/utils": "8.0.2", + "tslib": "~2.3.0" + }, + "dependencies": { + "@graphql-tools/utils": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.0.2.tgz", + "integrity": "sha512-gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ==", + "dev": true, + "requires": { + "tslib": "~2.3.0" + } + } + } + }, + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "dev": true, + "requires": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "graphql-request": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.5.0.tgz", + "integrity": "sha512-Io89QpfU4rqiMbqM/KwMBzKaDLOppi8FU8sEccCE4JqCgz95W9Q8bvxQ4NfPALLSMvg9nafgg8AkYRmgKSlukA==", + "dev": true, + "requires": { + "cross-fetch": "^3.0.6", + "extract-files": "^9.0.0", + "form-data": "^3.0.0" + }, + "dependencies": { + "extract-files": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz", + "integrity": "sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ==", + "dev": true + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } } }, "graphql-tag": { @@ -14917,6 +16309,12 @@ "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.11.0.tgz", "integrity": "sha512-VmsD5pJqWJnQZMUeRwrDhfgoyqcfwEkvtpANqcoUG8/tOLkwNgU9mzub/Mc78OJMhHjx7gfAMTxzdG43VGg3bA==" }, + "graphql-ws": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.4.0.tgz", + "integrity": "sha512-kxct2hGiVQJJlsfHAYoq41LY9zLkEM5SLCy+ySAOJejwYIMR290sXKzPILG3LQBEaXP9iIAiMN3nVPtOQRE8uA==", + "dev": true + }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -15894,6 +17292,12 @@ "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==", "dev": true }, + "immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=", + "dev": true + }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", @@ -16176,6 +17580,16 @@ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, "is-absolute-url": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", @@ -16423,6 +17837,23 @@ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true }, + "is-lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-2.0.2.tgz", + "integrity": "sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, "is-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", @@ -16570,6 +18001,15 @@ "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", "dev": true }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, "is-retry-allowed": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", @@ -16625,12 +18065,38 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, + "is-upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-2.0.2.tgz", + "integrity": "sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, "is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", @@ -16689,6 +18155,22 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, + "isomorphic-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", + "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "dev": true, + "requires": { + "node-fetch": "^2.6.1", + "whatwg-fetch": "^3.4.1" + } + }, + "isomorphic-ws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", + "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", + "dev": true + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -16788,7 +18270,8 @@ "iterall": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", - "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" + "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==", + "dev": true }, "iterate-iterator": { "version": "1.0.1", @@ -17848,6 +19331,16 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, + "json-to-pretty-yaml": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz", + "integrity": "sha1-9M0L0KXo/h3yWq9boRiwmf2ZLVs=", + "dev": true, + "requires": { + "remedial": "^1.0.7", + "remove-trailing-spaces": "^1.0.6" + } + }, "json3": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", @@ -17877,6 +19370,32 @@ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dev": true, + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -18283,6 +19802,27 @@ } } }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dev": true, + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dev": true, + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, "keycode": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz", @@ -19032,11 +20572,47 @@ "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-3.0.0.tgz", "integrity": "sha1-rXvGpOZH15yXLhuA/u968VYmeHY=" }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=", + "dev": true + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=", + "dev": true + }, "lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=", + "dev": true + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -19214,6 +20790,40 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, + "lower-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-2.0.2.tgz", + "integrity": "sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", @@ -19428,6 +21038,12 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" }, + "meros": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/meros/-/meros-1.1.4.tgz", + "integrity": "sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ==", + "dev": true + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -20103,6 +21719,12 @@ "resolved": "https://registry.npmjs.org/nub/-/nub-0.0.0.tgz", "integrity": "sha1-s2m9Mr3eZq9ZYFw7BSC8IZ3MwE8=" }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "dev": true + }, "num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", @@ -20863,6 +22485,17 @@ "is-hexadecimal": "^1.0.0" } }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, "parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", @@ -21093,6 +22726,21 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, "path-to-regexp": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", @@ -21567,6 +23215,15 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "~2.0.3" + } + }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -23466,6 +25123,163 @@ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", "dev": true }, + "relay-compiler": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/relay-compiler/-/relay-compiler-11.0.2.tgz", + "integrity": "sha512-nDVAURT1YncxSiDOKa39OiERkAr0DUcPmlHlg+C8zD+EiDo2Sgczf2R6cDsN4UcDvucYtkLlDLFErPwgLs8WzA==", + "dev": true, + "requires": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/runtime": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "chalk": "^4.0.0", + "fb-watchman": "^2.0.0", + "fbjs": "^3.0.0", + "glob": "^7.1.1", + "immutable": "~3.7.6", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "relay-runtime": "11.0.2", + "signedsource": "^1.0.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "relay-runtime": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/relay-runtime/-/relay-runtime-11.0.2.tgz", + "integrity": "sha512-xxZkIRnL8kNE1cxmwDXX8P+wSeWLR+0ACFyAiAhvfWWAyjXb+bhjJ2FSsRGlNYfkqaTNEuDqpnodQV1/fF7Idw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "fbjs": "^3.0.0", + "invariant": "^2.2.4" + } + }, "release-it": { "version": "14.5.1", "resolved": "https://registry.npmjs.org/release-it/-/release-it-14.5.1.tgz", @@ -23857,12 +25671,24 @@ "xtend": "^4.0.1" } }, + "remedial": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/remedial/-/remedial-1.0.8.tgz", + "integrity": "sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==", + "dev": true + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, + "remove-trailing-spaces": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/remove-trailing-spaces/-/remove-trailing-spaces-1.0.8.tgz", + "integrity": "sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==", + "dev": true + }, "renderkid": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", @@ -23998,6 +25824,12 @@ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" }, + "replaceall": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz", + "integrity": "sha1-gdgax663LX9cSUKt8ml6MiBojY4=", + "dev": true + }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -24639,6 +26471,12 @@ "ajv-keywords": "^3.1.0" } }, + "scuid": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/scuid/-/scuid-1.1.0.tgz", + "integrity": "sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==", + "dev": true + }, "select": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", @@ -25088,6 +26926,12 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, + "signedsource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz", + "integrity": "sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo=", + "dev": true + }, "simplebar": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/simplebar/-/simplebar-4.2.3.tgz", @@ -25527,6 +27371,23 @@ "extend-shallow": "^3.0.0" } }, + "sponge-case": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sponge-case/-/sponge-case-1.0.1.tgz", + "integrity": "sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -25779,6 +27640,12 @@ "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", "dev": true }, + "string-env-interpolation": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz", + "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==", + "dev": true + }, "string-length": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", @@ -26148,6 +28015,27 @@ } } }, + "subscriptions-transport-ws": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.10.0.tgz", + "integrity": "sha512-k28LhLn3abJ1mowFW+LP4QGggE0e3hrk55zXbMHyAeZkCUYtC0owepiwqMD3zX8DglQVaxnhE760pESrNSEzpg==", + "dev": true, + "requires": { + "backo2": "^1.0.2", + "eventemitter3": "^3.1.0", + "iterall": "^1.2.1", + "symbol-observable": "^1.0.4", + "ws": "^5.2.0 || ^6.0.0 || ^7.0.0" + }, + "dependencies": { + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + } + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -26230,6 +28118,23 @@ } } }, + "swap-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-2.0.2.tgz", + "integrity": "sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, "symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", @@ -26276,6 +28181,28 @@ } } }, + "sync-fetch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.3.0.tgz", + "integrity": "sha512-dJp4qg+x4JwSEW1HibAuMi0IIrBI3wuQr2GimmqB7OXR50wmwzfdusG+p39R9w3R6aFtZ2mzvxvWKQ3Bd/vx3g==", + "dev": true, + "requires": { + "buffer": "^5.7.0", + "node-fetch": "^2.6.1" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, "table": { "version": "5.4.6", "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", @@ -26703,6 +28630,23 @@ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, + "title-case": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-3.0.3.tgz", + "integrity": "sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -26909,6 +28853,12 @@ } } }, + "ts-log": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/ts-log/-/ts-log-2.2.3.tgz", + "integrity": "sha512-XvB+OdKSJ708Dmf9ore4Uf/q62AYDTzFcAdxc8KNML1mmAWywRFVt/dn1KYJH8Agt5UJNujfM3znU5PxgAzA2w==", + "dev": true + }, "ts-node": { "version": "8.10.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", @@ -27110,6 +29060,12 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==" }, + "ua-parser-js": { + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", + "dev": true + }, "uglify-js": { "version": "3.4.10", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", @@ -27152,6 +29108,12 @@ } } }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, "unfetch": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", @@ -27305,6 +29267,26 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, + "unixify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", + "integrity": "sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=", + "dev": true, + "requires": { + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -27477,6 +29459,23 @@ } } }, + "upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + } + } + }, "upper-case-first": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", @@ -27692,6 +29691,12 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, + "valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=", + "dev": true + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -27707,6 +29712,12 @@ "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" }, + "value-or-promise": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.10.tgz", + "integrity": "sha512-1OwTzvcfXkAfabk60UVr5NdjtjJ0Fg0T5+B1bhxtrOEwSH2fe8y4DnLgoksfCyd8yZCOQQHB0qLMQnwgCjbXLQ==", + "dev": true + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -28656,6 +30667,12 @@ "iconv-lite": "0.4.24" } }, + "whatwg-fetch": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==", + "dev": true + }, "whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", @@ -29289,6 +31306,12 @@ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true }, + "yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "dev": true + }, "yargs": { "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", diff --git a/package.json b/package.json index 734d86567..8a1fb2958 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "faker": "^5.1.0", "fast-array-diff": "^0.2.0", "fuzzaldrin": "^2.1.0", - "graphql": "^14.4.2", + "graphql": "^15.4.0", "graphql-tag": "^2.11.0", "hotkeys-js": "^3.8.1", "is-url": "^1.2.4", @@ -96,6 +96,9 @@ "@babel/preset-typescript": "^7.13.0", "@babel/runtime": "^7.7.6", "@editorjs/embed": "^2.4.6", + "@graphql-codegen/cli": "^2.1.1", + "@graphql-codegen/fragment-matcher": "^3.1.0", + "@graphql-codegen/typescript": "^2.1.1", "@pollyjs/adapter-node-http": "^5.0.0", "@pollyjs/core": "^5.0.0", "@pollyjs/persister-fs": "^5.0.0", @@ -237,15 +240,16 @@ }, "scripts": { "build-storybook": "build-storybook -c src/storybook/ -o build/storybook", - "build-types": "apollo client:codegen --target=typescript types --globalTypesFile=src/types/globalTypes.ts", - "build": "webpack -p", + "generate-fragment-types": "graphql-codegen", + "build-types": "apollo client:codegen --target=typescript types --globalTypesFile=src/types/globalTypes.ts && npm run generate-fragment-types", + "build": "npm run generate-fragment-types && webpack -p", "check-strict-null-errors": "tsc --noEmit --strictNullChecks | node scripts/count-strict-null-check-errors.js", "check-types": "tsc --noEmit", "extract-json-messages": "rimraf build/locale && cross-env NODE_ENV=extract babel src 'src/**/*.{ts,tsx}' -o build/dashboard.bundle.js", "extract-messages": "npm run extract-json-messages && npm run transpile-messages", "heroku-postbuild": "npm run build", "serve:lhci": "NODE_ENV=production npm run server", - "start": "webpack-dev-server -d", + "start": "npm run generate-fragment-types && webpack-dev-server -d", "storybook": "start-storybook -p 3000 -c src/storybook/", "cy:run": "cypress run", "cy:run:record": "npm run cy:run -- --record", diff --git a/schema.graphql b/schema.graphql index 4e7641dc0..289e1b7c2 100644 --- a/schema.graphql +++ b/schema.graphql @@ -997,13 +997,15 @@ type Checkout implements Node & ObjectWithMetadata { privateMetadata: [MetadataItem]! metadata: [MetadataItem]! availableShippingMethods: [ShippingMethod]! + availableCollectionPoints: [Warehouse!]! availablePaymentGateways: [PaymentGateway!]! email: String! isShippingRequired: Boolean! quantity: Int! lines: [CheckoutLine] shippingPrice: TaxedMoney - shippingMethod: ShippingMethod + shippingMethod: ShippingMethod @deprecated(reason: "Use delivery method instead") + deliveryMethod: DeliveryMethod subtotalPrice: TaxedMoney token: UUID! totalPrice: TaxedMoney @@ -1069,6 +1071,11 @@ type CheckoutCustomerDetach { errors: [CheckoutError!]! } +type CheckoutDeliveryMethodUpdate { + checkout: Checkout + errors: [CheckoutError!]! +} + type CheckoutEmailUpdate { checkout: Checkout checkoutErrors: [CheckoutError!]! @deprecated(reason: "Use errors field instead. This field will be removed in Saleor 4.0.") @@ -1098,6 +1105,7 @@ enum CheckoutErrorCode { REQUIRED SHIPPING_ADDRESS_NOT_SET SHIPPING_METHOD_NOT_APPLICABLE + DELIVERY_METHOD_NOT_APPLICABLE SHIPPING_METHOD_NOT_SET SHIPPING_NOT_REQUIRED TAX_ERROR @@ -1789,6 +1797,8 @@ type DeletePrivateMetadata { item: ObjectWithMetadata } +union DeliveryMethod = Warehouse | ShippingMethod + type DigitalContent implements Node & ObjectWithMetadata { useDefaultSettings: Boolean! automaticFulfillment: Boolean! @@ -3782,7 +3792,8 @@ type Mutation { checkoutRemovePromoCode(checkoutId: ID, promoCode: String!, token: UUID): CheckoutRemovePromoCode checkoutPaymentCreate(checkoutId: ID, input: PaymentInput!, token: UUID): CheckoutPaymentCreate checkoutShippingAddressUpdate(checkoutId: ID, shippingAddress: AddressInput!, token: UUID): CheckoutShippingAddressUpdate - checkoutShippingMethodUpdate(checkoutId: ID, shippingMethodId: ID!, token: UUID): CheckoutShippingMethodUpdate + checkoutShippingMethodUpdate(checkoutId: ID, shippingMethodId: ID!, token: UUID): CheckoutShippingMethodUpdate @deprecated(reason: "Will be removed in Saleor 4.0. Use `checkoutDeliveryMethodUpdate` instead") + checkoutDeliveryMethodUpdate(deliveryMethodId: ID, token: UUID): CheckoutDeliveryMethodUpdate checkoutLanguageCodeUpdate(checkoutId: ID, languageCode: LanguageCodeEnum!, token: UUID): CheckoutLanguageCodeUpdate channelCreate(input: ChannelCreateInput!): ChannelCreate channelUpdate(id: ID!, input: ChannelUpdateInput!): ChannelUpdate @@ -3883,6 +3894,7 @@ type Order implements Node & ObjectWithMetadata { shippingAddress: Address shippingMethod: ShippingMethod shippingMethodName: String + collectionPointName: String channel: Channel! shippingPrice: TaxedMoney! shippingTaxRate: Float! @@ -3899,6 +3911,7 @@ type Order implements Node & ObjectWithMetadata { lines: [OrderLine]! actions: [OrderAction]! availableShippingMethods: [ShippingMethod] + availableCollectionPoints: [Warehouse!]! invoices: [Invoice] number: String original: ID @@ -3918,6 +3931,7 @@ type Order implements Node & ObjectWithMetadata { totalBalance: Money! userEmail: String isShippingRequired: Boolean! + deliveryMethod: DeliveryMethod 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.") @@ -6865,9 +6879,17 @@ type Warehouse implements Node & ObjectWithMetadata { shippingZones(before: String, after: String, first: Int, last: Int): ShippingZoneCountableConnection! address: Address! email: String! + isPrivate: Boolean! privateMetadata: [MetadataItem]! metadata: [MetadataItem]! companyName: String! @deprecated(reason: "Use address.CompanyName. This field will be removed in Saleor 4.0.") + clickAndCollectOption: WarehouseClickAndCollectOptionEnum! +} + +enum WarehouseClickAndCollectOptionEnum { + DISABLED + LOCAL + ALL } type WarehouseCountableConnection { @@ -6917,8 +6939,10 @@ enum WarehouseErrorCode { } input WarehouseFilterInput { + clickAndCollectOption: WarehouseClickAndCollectOptionEnum search: String ids: [ID] + isPrivate: Boolean } type WarehouseShippingZoneAssign { @@ -6953,6 +6977,8 @@ input WarehouseUpdateInput { email: String name: String address: AddressInput + clickAndCollectOption: WarehouseClickAndCollectOptionEnum + isPrivate: Boolean } type Webhook implements Node { @@ -7116,4 +7142,4 @@ union _Entity = App | Address | User | Group | ProductVariant | Product | Produc type _Service { sdl: String -} \ No newline at end of file +} diff --git a/src/fragments/orders.ts b/src/fragments/orders.ts index b8ad4eb80..cbffb7587 100644 --- a/src/fragments/orders.ts +++ b/src/fragments/orders.ts @@ -206,10 +206,21 @@ export const fragmentOrderDetails = gql` shippingAddress { ...AddressFragment } + deliveryMethod { + __typename + ... on ShippingMethod { + id + } + ... on Warehouse { + id + clickAndCollectOption + } + } shippingMethod { id } shippingMethodName + collectionPointName shippingPrice { gross { amount diff --git a/src/fragments/types/MetadataFragment.ts b/src/fragments/types/MetadataFragment.ts index 8698e6913..2bb9c8525 100644 --- a/src/fragments/types/MetadataFragment.ts +++ b/src/fragments/types/MetadataFragment.ts @@ -20,7 +20,7 @@ export interface MetadataFragment_privateMetadata { } export interface MetadataFragment { - __typename: "App" | "Warehouse" | "ShippingZone" | "ShippingMethod" | "Product" | "ProductType" | "Attribute" | "Category" | "ProductVariant" | "DigitalContent" | "Collection" | "Page" | "PageType" | "Sale" | "Voucher" | "MenuItem" | "Menu" | "User" | "Checkout" | "GiftCard" | "Order" | "Fulfillment" | "Invoice"; + __typename: "App" | "Attribute" | "Category" | "Checkout" | "Collection" | "DigitalContent" | "Fulfillment" | "GiftCard" | "Invoice" | "Menu" | "MenuItem" | "Order" | "Page" | "PageType" | "Product" | "ProductType" | "ProductVariant" | "Sale" | "ShippingMethod" | "ShippingZone" | "User" | "Voucher" | "Warehouse"; metadata: (MetadataFragment_metadata | null)[]; privateMetadata: (MetadataFragment_privateMetadata | null)[]; } diff --git a/src/fragments/types/OrderDetailsFragment.ts b/src/fragments/types/OrderDetailsFragment.ts index 354503995..05dcbe4b2 100644 --- a/src/fragments/types/OrderDetailsFragment.ts +++ b/src/fragments/types/OrderDetailsFragment.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL fragment: OrderDetailsFragment @@ -344,6 +344,19 @@ export interface OrderDetailsFragment_shippingAddress { streetAddress2: string; } +export interface OrderDetailsFragment_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderDetailsFragment_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderDetailsFragment_deliveryMethod = OrderDetailsFragment_deliveryMethod_ShippingMethod | OrderDetailsFragment_deliveryMethod_Warehouse; + export interface OrderDetailsFragment_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -488,8 +501,10 @@ export interface OrderDetailsFragment { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderDetailsFragment_shippingAddress | null; + deliveryMethod: OrderDetailsFragment_deliveryMethod | null; shippingMethod: OrderDetailsFragment_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderDetailsFragment_shippingPrice; status: OrderStatus; subtotal: OrderDetailsFragment_subtotal; diff --git a/src/fragments/types/WarehouseDetailsFragment.ts b/src/fragments/types/WarehouseDetailsFragment.ts index 31005628c..331f2d2c0 100644 --- a/src/fragments/types/WarehouseDetailsFragment.ts +++ b/src/fragments/types/WarehouseDetailsFragment.ts @@ -3,6 +3,8 @@ // @generated // This file was automatically generated and should not be edited. +import { WarehouseClickAndCollectOptionEnum } from "./../../types/globalTypes"; + // ==================================================== // GraphQL fragment: WarehouseDetailsFragment // ==================================================== @@ -47,6 +49,8 @@ export interface WarehouseDetailsFragment_address { export interface WarehouseDetailsFragment { __typename: "Warehouse"; + isPrivate: boolean; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; id: string; name: string; shippingZones: WarehouseDetailsFragment_shippingZones; diff --git a/src/fragments/warehouses.ts b/src/fragments/warehouses.ts index 49eb9d843..629415e5b 100644 --- a/src/fragments/warehouses.ts +++ b/src/fragments/warehouses.ts @@ -27,6 +27,8 @@ export const warehouseDetailsFragment = gql` ${fragmentAddress} ${warehouseWithShippingFragment} fragment WarehouseDetailsFragment on Warehouse { + isPrivate + clickAndCollectOption ...WarehouseWithShippingFragment address { ...AddressFragment diff --git a/src/index.tsx b/src/index.tsx index 646940461..c0affbaab 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,6 +1,7 @@ import useAppState from "@saleor/hooks/useAppState"; import { ThemeProvider } from "@saleor/macaw-ui"; import { defaultDataIdFromObject, InMemoryCache } from "apollo-cache-inmemory"; +import { IntrospectionFragmentMatcher } from "apollo-cache-inmemory"; import { ApolloClient } from "apollo-client"; import { ApolloLink } from "apollo-link"; import { BatchHttpLink } from "apollo-link-batch-http"; @@ -13,6 +14,7 @@ import TagManager from "react-gtm-module"; import { useIntl } from "react-intl"; import { BrowserRouter, Route, Switch } from "react-router-dom"; +import introspectionQueryResultData from "../fragmentTypes.json"; import AppsSection from "./apps"; import { ExternalAppProvider } from "./apps/components/ExternalAppContext"; import { appsSection } from "./apps/urls"; @@ -68,7 +70,6 @@ import TranslationsSection from "./translations"; import { PermissionEnum } from "./types/globalTypes"; import WarehouseSection from "./warehouses"; import { warehouseSection } from "./warehouses/urls"; - if (process.env.GTM_ID) { TagManager.initialize({ gtmId: GTM_ID }); } @@ -94,8 +95,13 @@ const link = ApolloLink.split( uploadLink ); +const fragmentMatcher = new IntrospectionFragmentMatcher({ + introspectionQueryResultData +}); + const apolloClient = new ApolloClient({ cache: new InMemoryCache({ + fragmentMatcher, dataIdFromObject: (obj: any) => { // We need to set manually shop's ID, since it is singleton and // API does not return its ID diff --git a/src/orders/components/OrderCustomer/OrderCustomer.tsx b/src/orders/components/OrderCustomer/OrderCustomer.tsx index 8aa5f46c5..24a9c6a37 100644 --- a/src/orders/components/OrderCustomer/OrderCustomer.tsx +++ b/src/orders/components/OrderCustomer/OrderCustomer.tsx @@ -2,6 +2,7 @@ import { Button, Card, CardContent, Typography } from "@material-ui/core"; import CardTitle from "@saleor/components/CardTitle"; import ExternalLink from "@saleor/components/ExternalLink"; import Form from "@saleor/components/Form"; +import FormSpacer from "@saleor/components/FormSpacer"; import Hr from "@saleor/components/Hr"; import Link from "@saleor/components/Link"; import RequirePermissions from "@saleor/components/RequirePermissions"; @@ -20,6 +21,8 @@ import { FormattedMessage, useIntl } from "react-intl"; import { customerUrl } from "../../../customers/urls"; import { createHref, maybe } from "../../../misc"; import { OrderDetails_order } from "../../types/OrderDetails"; +import { WarehouseClickAndCollectOptionEnum } from "./../../../types/globalTypes"; +import messages from "./messages"; const useStyles = makeStyles( theme => ({ @@ -99,6 +102,25 @@ const OrderCustomer: React.FC = props => { const billingAddress = maybe(() => order.billingAddress); const shippingAddress = maybe(() => order.shippingAddress); + const pickupAnnotation = order => { + if (order?.deliveryMethod?.__typename === "Warehouse") { + return ( + <> + + + {order?.deliveryMethod?.clickAndCollectOption === + WarehouseClickAndCollectOptionEnum.LOCAL ? ( + + ) : ( + + )} + + + ); + } + return ""; + }; + return ( = props => { : shippingAddress.country.country} {shippingAddress.phone} + {pickupAnnotation(order)} )} diff --git a/src/orders/components/OrderCustomer/messages.ts b/src/orders/components/OrderCustomer/messages.ts new file mode 100644 index 000000000..622653a6a --- /dev/null +++ b/src/orders/components/OrderCustomer/messages.ts @@ -0,0 +1,14 @@ +import { defineMessages } from "react-intl"; + +const messages = defineMessages({ + orderCustomerFulfillmentAll: { + defaultMessage: "Fulfill from All Warehouses", + description: "OrderCustomer Fulfillment from All Warehouses" + }, + orderCustomerFulfillmentLocal: { + defaultMessage: "Fulfill from Local Stock", + description: "OrderCustomer Fulfillment from Local Warehouse" + } +}); + +export default messages; diff --git a/src/orders/components/OrderFulfillPage/fixtures.ts b/src/orders/components/OrderFulfillPage/fixtures.ts index 7cb252ac7..7edbecf92 100644 --- a/src/orders/components/OrderFulfillPage/fixtures.ts +++ b/src/orders/components/OrderFulfillPage/fixtures.ts @@ -8,6 +8,7 @@ export const orderToFulfill: OrderFulfillData_order = { __typename: "Order", id: "T3JkZXI6Mg==", isPaid: true, + deliveryMethod: null, lines: [ { __typename: "OrderLine", diff --git a/src/orders/components/OrderPayment/OrderPayment.tsx b/src/orders/components/OrderPayment/OrderPayment.tsx index 1a87a8492..939e04e6f 100644 --- a/src/orders/components/OrderPayment/OrderPayment.tsx +++ b/src/orders/components/OrderPayment/OrderPayment.tsx @@ -15,6 +15,7 @@ import { OrderStatus } from "../../../types/globalTypes"; import { OrderDetails_order } from "../../types/OrderDetails"; +import messages from "./messages"; const useStyles = makeStyles( theme => ({ @@ -63,6 +64,28 @@ const OrderPayment: React.FC = props => { order?.totalCaptured && order?.total?.gross && subtractMoney(order.totalCaptured, order.total.gross); + + const getDeliveryMethodName = order => { + if ( + order?.shippingMethodName === undefined && + order?.shippingPrice === undefined && + order?.collectionPointName === undefined + ) { + return ; + } + + if (order.shippingMethodName === null) { + return order.collectionPointName == null ? ( + + ) : ( + + ); + } + return order.shippingMethodName; + }; + return ( = props => { description="order shipping method name" /> - - {maybe(() => order.shippingMethodName) === undefined && - maybe(() => order.shippingPrice) === undefined ? ( - - ) : order.shippingMethodName === null ? ( - intl.formatMessage({ - defaultMessage: "does not apply", - description: "order does not require shipping", - id: "orderPaymentShippingDoesNotApply" - }) - ) : ( - order.shippingMethodName - )} - + {getDeliveryMethodName(order)} {maybe(() => order.shippingPrice.gross) === undefined ? ( diff --git a/src/orders/components/OrderPayment/messages.ts b/src/orders/components/OrderPayment/messages.ts new file mode 100644 index 000000000..a6e5ecf56 --- /dev/null +++ b/src/orders/components/OrderPayment/messages.ts @@ -0,0 +1,14 @@ +import { defineMessages } from "react-intl"; + +const messages = defineMessages({ + orderPaymentClickAndCollectShippingMethod: { + defaultMessage: "click&collect", + description: "OrderPayment click&collect shipping method" + }, + orderPaymentShippingDoesNotApply: { + defaultMessage: "does not apply", + description: "OrderPayment does not require shipping" + } +}); + +export default messages; diff --git a/src/orders/fixtures.ts b/src/orders/fixtures.ts index 5a3f76f6f..dd76b5eed 100644 --- a/src/orders/fixtures.ts +++ b/src/orders/fixtures.ts @@ -3,7 +3,7 @@ import { InvoiceFragment } from "@saleor/fragments/types/InvoiceFragment"; import { OrderSettingsFragment } from "@saleor/fragments/types/OrderSettingsFragment"; import { ShopOrderSettingsFragment } from "@saleor/fragments/types/ShopOrderSettingsFragment"; import { SearchCustomers_search_edges_node } from "@saleor/searches/types/SearchCustomers"; -import { warehouseList } from "@saleor/warehouses/fixtures"; +import { warehouseForPickup, warehouseList } from "@saleor/warehouses/fixtures"; import { MessageDescriptor } from "react-intl"; import { transformOrderStatus, transformPaymentStatus } from "../misc"; @@ -1319,6 +1319,8 @@ export const order = (placeholder: string): OrderDetails_order => ({ }, shippingMethod: null, shippingMethodName: "Registred priority", + collectionPointName: "Warehouse", + deliveryMethod: warehouseForPickup, shippingPrice: { __typename: "TaxedMoney", gross: { @@ -1534,6 +1536,8 @@ export const draftOrder = (placeholder: string): OrderDetails_order => ({ shippingAddress: null, shippingMethod: null, shippingMethodName: null, + collectionPointName: null, + deliveryMethod: null, shippingPrice: { __typename: "TaxedMoney" as "TaxedMoney", gross: { diff --git a/src/orders/queries.ts b/src/orders/queries.ts index 5c508d3b6..1eb7a9734 100644 --- a/src/orders/queries.ts +++ b/src/orders/queries.ts @@ -227,6 +227,16 @@ const orderFulfillData = gql` order(id: $orderId) { id isPaid + deliveryMethod { + __typename + ... on ShippingMethod { + id + } + ... on Warehouse { + id + clickAndCollectOption + } + } lines { id isShippingRequired diff --git a/src/orders/types/FulfillOrder.ts b/src/orders/types/FulfillOrder.ts index 0434f003a..10685be01 100644 --- a/src/orders/types/FulfillOrder.ts +++ b/src/orders/types/FulfillOrder.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderFulfillInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderFulfillInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: FulfillOrder @@ -353,6 +353,19 @@ export interface FulfillOrder_orderFulfill_order_shippingAddress { streetAddress2: string; } +export interface FulfillOrder_orderFulfill_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface FulfillOrder_orderFulfill_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type FulfillOrder_orderFulfill_order_deliveryMethod = FulfillOrder_orderFulfill_order_deliveryMethod_ShippingMethod | FulfillOrder_orderFulfill_order_deliveryMethod_Warehouse; + export interface FulfillOrder_orderFulfill_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -497,8 +510,10 @@ export interface FulfillOrder_orderFulfill_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: FulfillOrder_orderFulfill_order_shippingAddress | null; + deliveryMethod: FulfillOrder_orderFulfill_order_deliveryMethod | null; shippingMethod: FulfillOrder_orderFulfill_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: FulfillOrder_orderFulfill_order_shippingPrice; status: OrderStatus; subtotal: FulfillOrder_orderFulfill_order_subtotal; diff --git a/src/orders/types/OrderCancel.ts b/src/orders/types/OrderCancel.ts index 905752175..08b88abdb 100644 --- a/src/orders/types/OrderCancel.ts +++ b/src/orders/types/OrderCancel.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderCancel @@ -351,6 +351,19 @@ export interface OrderCancel_orderCancel_order_shippingAddress { streetAddress2: string; } +export interface OrderCancel_orderCancel_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderCancel_orderCancel_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderCancel_orderCancel_order_deliveryMethod = OrderCancel_orderCancel_order_deliveryMethod_ShippingMethod | OrderCancel_orderCancel_order_deliveryMethod_Warehouse; + export interface OrderCancel_orderCancel_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderCancel_orderCancel_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderCancel_orderCancel_order_shippingAddress | null; + deliveryMethod: OrderCancel_orderCancel_order_deliveryMethod | null; shippingMethod: OrderCancel_orderCancel_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderCancel_orderCancel_order_shippingPrice; status: OrderStatus; subtotal: OrderCancel_orderCancel_order_subtotal; diff --git a/src/orders/types/OrderCapture.ts b/src/orders/types/OrderCapture.ts index 65d01a50f..a7e24e521 100644 --- a/src/orders/types/OrderCapture.ts +++ b/src/orders/types/OrderCapture.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderCapture @@ -351,6 +351,19 @@ export interface OrderCapture_orderCapture_order_shippingAddress { streetAddress2: string; } +export interface OrderCapture_orderCapture_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderCapture_orderCapture_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderCapture_orderCapture_order_deliveryMethod = OrderCapture_orderCapture_order_deliveryMethod_ShippingMethod | OrderCapture_orderCapture_order_deliveryMethod_Warehouse; + export interface OrderCapture_orderCapture_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderCapture_orderCapture_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderCapture_orderCapture_order_shippingAddress | null; + deliveryMethod: OrderCapture_orderCapture_order_deliveryMethod | null; shippingMethod: OrderCapture_orderCapture_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderCapture_orderCapture_order_shippingPrice; status: OrderStatus; subtotal: OrderCapture_orderCapture_order_subtotal; diff --git a/src/orders/types/OrderConfirm.ts b/src/orders/types/OrderConfirm.ts index 56b86433a..0962c4999 100644 --- a/src/orders/types/OrderConfirm.ts +++ b/src/orders/types/OrderConfirm.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderConfirm @@ -351,6 +351,19 @@ export interface OrderConfirm_orderConfirm_order_shippingAddress { streetAddress2: string; } +export interface OrderConfirm_orderConfirm_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderConfirm_orderConfirm_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderConfirm_orderConfirm_order_deliveryMethod = OrderConfirm_orderConfirm_order_deliveryMethod_ShippingMethod | OrderConfirm_orderConfirm_order_deliveryMethod_Warehouse; + export interface OrderConfirm_orderConfirm_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderConfirm_orderConfirm_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderConfirm_orderConfirm_order_shippingAddress | null; + deliveryMethod: OrderConfirm_orderConfirm_order_deliveryMethod | null; shippingMethod: OrderConfirm_orderConfirm_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderConfirm_orderConfirm_order_shippingPrice; status: OrderStatus; subtotal: OrderConfirm_orderConfirm_order_subtotal; diff --git a/src/orders/types/OrderDetails.ts b/src/orders/types/OrderDetails.ts index 0211de638..1af2f06ae 100644 --- a/src/orders/types/OrderDetails.ts +++ b/src/orders/types/OrderDetails.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum, WeightUnitsEnum } from "./../../types/globalTypes"; +import { OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum, WeightUnitsEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL query operation: OrderDetails @@ -344,6 +344,19 @@ export interface OrderDetails_order_shippingAddress { streetAddress2: string; } +export interface OrderDetails_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderDetails_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderDetails_order_deliveryMethod = OrderDetails_order_deliveryMethod_ShippingMethod | OrderDetails_order_deliveryMethod_Warehouse; + export interface OrderDetails_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -488,8 +501,10 @@ export interface OrderDetails_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderDetails_order_shippingAddress | null; + deliveryMethod: OrderDetails_order_deliveryMethod | null; shippingMethod: OrderDetails_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderDetails_order_shippingPrice; status: OrderStatus; subtotal: OrderDetails_order_subtotal; diff --git a/src/orders/types/OrderDiscountAdd.ts b/src/orders/types/OrderDiscountAdd.ts index 5a29e4fd7..278c11edc 100644 --- a/src/orders/types/OrderDiscountAdd.ts +++ b/src/orders/types/OrderDiscountAdd.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderDiscountCommonInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderDiscountCommonInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderDiscountAdd @@ -351,6 +351,19 @@ export interface OrderDiscountAdd_orderDiscountAdd_order_shippingAddress { streetAddress2: string; } +export interface OrderDiscountAdd_orderDiscountAdd_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderDiscountAdd_orderDiscountAdd_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderDiscountAdd_orderDiscountAdd_order_deliveryMethod = OrderDiscountAdd_orderDiscountAdd_order_deliveryMethod_ShippingMethod | OrderDiscountAdd_orderDiscountAdd_order_deliveryMethod_Warehouse; + export interface OrderDiscountAdd_orderDiscountAdd_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderDiscountAdd_orderDiscountAdd_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderDiscountAdd_orderDiscountAdd_order_shippingAddress | null; + deliveryMethod: OrderDiscountAdd_orderDiscountAdd_order_deliveryMethod | null; shippingMethod: OrderDiscountAdd_orderDiscountAdd_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderDiscountAdd_orderDiscountAdd_order_shippingPrice; status: OrderStatus; subtotal: OrderDiscountAdd_orderDiscountAdd_order_subtotal; diff --git a/src/orders/types/OrderDiscountDelete.ts b/src/orders/types/OrderDiscountDelete.ts index 61a5e5005..1a507baa4 100644 --- a/src/orders/types/OrderDiscountDelete.ts +++ b/src/orders/types/OrderDiscountDelete.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderDiscountDelete @@ -351,6 +351,19 @@ export interface OrderDiscountDelete_orderDiscountDelete_order_shippingAddress { streetAddress2: string; } +export interface OrderDiscountDelete_orderDiscountDelete_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderDiscountDelete_orderDiscountDelete_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderDiscountDelete_orderDiscountDelete_order_deliveryMethod = OrderDiscountDelete_orderDiscountDelete_order_deliveryMethod_ShippingMethod | OrderDiscountDelete_orderDiscountDelete_order_deliveryMethod_Warehouse; + export interface OrderDiscountDelete_orderDiscountDelete_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderDiscountDelete_orderDiscountDelete_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderDiscountDelete_orderDiscountDelete_order_shippingAddress | null; + deliveryMethod: OrderDiscountDelete_orderDiscountDelete_order_deliveryMethod | null; shippingMethod: OrderDiscountDelete_orderDiscountDelete_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderDiscountDelete_orderDiscountDelete_order_shippingPrice; status: OrderStatus; subtotal: OrderDiscountDelete_orderDiscountDelete_order_subtotal; diff --git a/src/orders/types/OrderDiscountUpdate.ts b/src/orders/types/OrderDiscountUpdate.ts index 6f3d299b6..6998a1f34 100644 --- a/src/orders/types/OrderDiscountUpdate.ts +++ b/src/orders/types/OrderDiscountUpdate.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderDiscountCommonInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderDiscountCommonInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderDiscountUpdate @@ -351,6 +351,19 @@ export interface OrderDiscountUpdate_orderDiscountUpdate_order_shippingAddress { streetAddress2: string; } +export interface OrderDiscountUpdate_orderDiscountUpdate_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderDiscountUpdate_orderDiscountUpdate_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderDiscountUpdate_orderDiscountUpdate_order_deliveryMethod = OrderDiscountUpdate_orderDiscountUpdate_order_deliveryMethod_ShippingMethod | OrderDiscountUpdate_orderDiscountUpdate_order_deliveryMethod_Warehouse; + export interface OrderDiscountUpdate_orderDiscountUpdate_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderDiscountUpdate_orderDiscountUpdate_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderDiscountUpdate_orderDiscountUpdate_order_shippingAddress | null; + deliveryMethod: OrderDiscountUpdate_orderDiscountUpdate_order_deliveryMethod | null; shippingMethod: OrderDiscountUpdate_orderDiscountUpdate_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderDiscountUpdate_orderDiscountUpdate_order_shippingPrice; status: OrderStatus; subtotal: OrderDiscountUpdate_orderDiscountUpdate_order_subtotal; diff --git a/src/orders/types/OrderDraftCancel.ts b/src/orders/types/OrderDraftCancel.ts index 9911df654..0ba475c3c 100644 --- a/src/orders/types/OrderDraftCancel.ts +++ b/src/orders/types/OrderDraftCancel.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderDraftCancel @@ -351,6 +351,19 @@ export interface OrderDraftCancel_draftOrderDelete_order_shippingAddress { streetAddress2: string; } +export interface OrderDraftCancel_draftOrderDelete_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderDraftCancel_draftOrderDelete_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderDraftCancel_draftOrderDelete_order_deliveryMethod = OrderDraftCancel_draftOrderDelete_order_deliveryMethod_ShippingMethod | OrderDraftCancel_draftOrderDelete_order_deliveryMethod_Warehouse; + export interface OrderDraftCancel_draftOrderDelete_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderDraftCancel_draftOrderDelete_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderDraftCancel_draftOrderDelete_order_shippingAddress | null; + deliveryMethod: OrderDraftCancel_draftOrderDelete_order_deliveryMethod | null; shippingMethod: OrderDraftCancel_draftOrderDelete_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderDraftCancel_draftOrderDelete_order_shippingPrice; status: OrderStatus; subtotal: OrderDraftCancel_draftOrderDelete_order_subtotal; diff --git a/src/orders/types/OrderDraftFinalize.ts b/src/orders/types/OrderDraftFinalize.ts index 0320a23f2..d2ccb3e29 100644 --- a/src/orders/types/OrderDraftFinalize.ts +++ b/src/orders/types/OrderDraftFinalize.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderDraftFinalize @@ -351,6 +351,19 @@ export interface OrderDraftFinalize_draftOrderComplete_order_shippingAddress { streetAddress2: string; } +export interface OrderDraftFinalize_draftOrderComplete_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderDraftFinalize_draftOrderComplete_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderDraftFinalize_draftOrderComplete_order_deliveryMethod = OrderDraftFinalize_draftOrderComplete_order_deliveryMethod_ShippingMethod | OrderDraftFinalize_draftOrderComplete_order_deliveryMethod_Warehouse; + export interface OrderDraftFinalize_draftOrderComplete_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderDraftFinalize_draftOrderComplete_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderDraftFinalize_draftOrderComplete_order_shippingAddress | null; + deliveryMethod: OrderDraftFinalize_draftOrderComplete_order_deliveryMethod | null; shippingMethod: OrderDraftFinalize_draftOrderComplete_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderDraftFinalize_draftOrderComplete_order_shippingPrice; status: OrderStatus; subtotal: OrderDraftFinalize_draftOrderComplete_order_subtotal; diff --git a/src/orders/types/OrderDraftUpdate.ts b/src/orders/types/OrderDraftUpdate.ts index d6dc80f2e..179731e9f 100644 --- a/src/orders/types/OrderDraftUpdate.ts +++ b/src/orders/types/OrderDraftUpdate.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { DraftOrderInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { DraftOrderInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderDraftUpdate @@ -351,6 +351,19 @@ export interface OrderDraftUpdate_draftOrderUpdate_order_shippingAddress { streetAddress2: string; } +export interface OrderDraftUpdate_draftOrderUpdate_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderDraftUpdate_draftOrderUpdate_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderDraftUpdate_draftOrderUpdate_order_deliveryMethod = OrderDraftUpdate_draftOrderUpdate_order_deliveryMethod_ShippingMethod | OrderDraftUpdate_draftOrderUpdate_order_deliveryMethod_Warehouse; + export interface OrderDraftUpdate_draftOrderUpdate_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderDraftUpdate_draftOrderUpdate_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderDraftUpdate_draftOrderUpdate_order_shippingAddress | null; + deliveryMethod: OrderDraftUpdate_draftOrderUpdate_order_deliveryMethod | null; shippingMethod: OrderDraftUpdate_draftOrderUpdate_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderDraftUpdate_draftOrderUpdate_order_shippingPrice; status: OrderStatus; subtotal: OrderDraftUpdate_draftOrderUpdate_order_subtotal; diff --git a/src/orders/types/OrderFulfillData.ts b/src/orders/types/OrderFulfillData.ts index 905c1ec43..d17547c67 100644 --- a/src/orders/types/OrderFulfillData.ts +++ b/src/orders/types/OrderFulfillData.ts @@ -3,10 +3,24 @@ // @generated // This file was automatically generated and should not be edited. +import { WarehouseClickAndCollectOptionEnum } from "./../../types/globalTypes"; + // ==================================================== // GraphQL query operation: OrderFulfillData // ==================================================== +export interface OrderFulfillData_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; +} + +export interface OrderFulfillData_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderFulfillData_order_deliveryMethod = OrderFulfillData_order_deliveryMethod_ShippingMethod | OrderFulfillData_order_deliveryMethod_Warehouse; + export interface OrderFulfillData_order_lines_allocations_warehouse { __typename: "Warehouse"; id: string; @@ -75,6 +89,7 @@ export interface OrderFulfillData_order { __typename: "Order"; id: string; isPaid: boolean; + deliveryMethod: OrderFulfillData_order_deliveryMethod | null; lines: (OrderFulfillData_order_lines | null)[]; number: string | null; } diff --git a/src/orders/types/OrderFulfillmentApprove.ts b/src/orders/types/OrderFulfillmentApprove.ts index 6daf28b44..c7d45a685 100644 --- a/src/orders/types/OrderFulfillmentApprove.ts +++ b/src/orders/types/OrderFulfillmentApprove.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderFulfillmentApprove @@ -351,6 +351,19 @@ export interface OrderFulfillmentApprove_orderFulfillmentApprove_order_shippingA streetAddress2: string; } +export interface OrderFulfillmentApprove_orderFulfillmentApprove_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderFulfillmentApprove_orderFulfillmentApprove_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderFulfillmentApprove_orderFulfillmentApprove_order_deliveryMethod = OrderFulfillmentApprove_orderFulfillmentApprove_order_deliveryMethod_ShippingMethod | OrderFulfillmentApprove_orderFulfillmentApprove_order_deliveryMethod_Warehouse; + export interface OrderFulfillmentApprove_orderFulfillmentApprove_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderFulfillmentApprove_orderFulfillmentApprove_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderFulfillmentApprove_orderFulfillmentApprove_order_shippingAddress | null; + deliveryMethod: OrderFulfillmentApprove_orderFulfillmentApprove_order_deliveryMethod | null; shippingMethod: OrderFulfillmentApprove_orderFulfillmentApprove_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderFulfillmentApprove_orderFulfillmentApprove_order_shippingPrice; status: OrderStatus; subtotal: OrderFulfillmentApprove_orderFulfillmentApprove_order_subtotal; diff --git a/src/orders/types/OrderFulfillmentCancel.ts b/src/orders/types/OrderFulfillmentCancel.ts index 382b0f016..1df4a297b 100644 --- a/src/orders/types/OrderFulfillmentCancel.ts +++ b/src/orders/types/OrderFulfillmentCancel.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { FulfillmentCancelInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { FulfillmentCancelInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderFulfillmentCancel @@ -351,6 +351,19 @@ export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_shippingAdd streetAddress2: string; } +export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderFulfillmentCancel_orderFulfillmentCancel_order_deliveryMethod = OrderFulfillmentCancel_orderFulfillmentCancel_order_deliveryMethod_ShippingMethod | OrderFulfillmentCancel_orderFulfillmentCancel_order_deliveryMethod_Warehouse; + export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderFulfillmentCancel_orderFulfillmentCancel_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderFulfillmentCancel_orderFulfillmentCancel_order_shippingAddress | null; + deliveryMethod: OrderFulfillmentCancel_orderFulfillmentCancel_order_deliveryMethod | null; shippingMethod: OrderFulfillmentCancel_orderFulfillmentCancel_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderFulfillmentCancel_orderFulfillmentCancel_order_shippingPrice; status: OrderStatus; subtotal: OrderFulfillmentCancel_orderFulfillmentCancel_order_subtotal; diff --git a/src/orders/types/OrderFulfillmentRefundProducts.ts b/src/orders/types/OrderFulfillmentRefundProducts.ts index bbc6218d0..cbc694c8c 100644 --- a/src/orders/types/OrderFulfillmentRefundProducts.ts +++ b/src/orders/types/OrderFulfillmentRefundProducts.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderRefundProductsInput, OrderErrorCode, AddressTypeEnum, DiscountValueTypeEnum, FulfillmentStatus, OrderDiscountType, OrderEventsEmailsEnum, OrderEventsEnum, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderRefundProductsInput, OrderErrorCode, AddressTypeEnum, DiscountValueTypeEnum, FulfillmentStatus, OrderDiscountType, OrderEventsEmailsEnum, OrderEventsEnum, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderFulfillmentRefundProducts @@ -447,6 +447,19 @@ export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_o streetAddress2: string; } +export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_deliveryMethod = OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_deliveryMethod_ShippingMethod | OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_deliveryMethod_Warehouse; + export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -591,8 +604,10 @@ export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_o isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_shippingAddress | null; + deliveryMethod: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_deliveryMethod | null; shippingMethod: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_shippingPrice; status: OrderStatus; subtotal: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_subtotal; diff --git a/src/orders/types/OrderFulfillmentUpdateTracking.ts b/src/orders/types/OrderFulfillmentUpdateTracking.ts index 9c2b8edea..a0cb1bc89 100644 --- a/src/orders/types/OrderFulfillmentUpdateTracking.ts +++ b/src/orders/types/OrderFulfillmentUpdateTracking.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { FulfillmentUpdateTrackingInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { FulfillmentUpdateTrackingInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderFulfillmentUpdateTracking @@ -351,6 +351,19 @@ export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_o streetAddress2: string; } +export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_deliveryMethod = OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_deliveryMethod_ShippingMethod | OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_deliveryMethod_Warehouse; + export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_o isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_shippingAddress | null; + deliveryMethod: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_deliveryMethod | null; shippingMethod: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_shippingPrice; status: OrderStatus; subtotal: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_subtotal; diff --git a/src/orders/types/OrderLineDelete.ts b/src/orders/types/OrderLineDelete.ts index 2d046c8f2..f2ee7fcdf 100644 --- a/src/orders/types/OrderLineDelete.ts +++ b/src/orders/types/OrderLineDelete.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderLineDelete @@ -351,6 +351,19 @@ export interface OrderLineDelete_orderLineDelete_order_shippingAddress { streetAddress2: string; } +export interface OrderLineDelete_orderLineDelete_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderLineDelete_orderLineDelete_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderLineDelete_orderLineDelete_order_deliveryMethod = OrderLineDelete_orderLineDelete_order_deliveryMethod_ShippingMethod | OrderLineDelete_orderLineDelete_order_deliveryMethod_Warehouse; + export interface OrderLineDelete_orderLineDelete_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderLineDelete_orderLineDelete_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderLineDelete_orderLineDelete_order_shippingAddress | null; + deliveryMethod: OrderLineDelete_orderLineDelete_order_deliveryMethod | null; shippingMethod: OrderLineDelete_orderLineDelete_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderLineDelete_orderLineDelete_order_shippingPrice; status: OrderStatus; subtotal: OrderLineDelete_orderLineDelete_order_subtotal; diff --git a/src/orders/types/OrderLineDiscountRemove.ts b/src/orders/types/OrderLineDiscountRemove.ts index 8e3d0021c..b1aac2803 100644 --- a/src/orders/types/OrderLineDiscountRemove.ts +++ b/src/orders/types/OrderLineDiscountRemove.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderLineDiscountRemove @@ -351,6 +351,19 @@ export interface OrderLineDiscountRemove_orderLineDiscountRemove_order_shippingA streetAddress2: string; } +export interface OrderLineDiscountRemove_orderLineDiscountRemove_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderLineDiscountRemove_orderLineDiscountRemove_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderLineDiscountRemove_orderLineDiscountRemove_order_deliveryMethod = OrderLineDiscountRemove_orderLineDiscountRemove_order_deliveryMethod_ShippingMethod | OrderLineDiscountRemove_orderLineDiscountRemove_order_deliveryMethod_Warehouse; + export interface OrderLineDiscountRemove_orderLineDiscountRemove_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderLineDiscountRemove_orderLineDiscountRemove_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderLineDiscountRemove_orderLineDiscountRemove_order_shippingAddress | null; + deliveryMethod: OrderLineDiscountRemove_orderLineDiscountRemove_order_deliveryMethod | null; shippingMethod: OrderLineDiscountRemove_orderLineDiscountRemove_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderLineDiscountRemove_orderLineDiscountRemove_order_shippingPrice; status: OrderStatus; subtotal: OrderLineDiscountRemove_orderLineDiscountRemove_order_subtotal; diff --git a/src/orders/types/OrderLineDiscountUpdate.ts b/src/orders/types/OrderLineDiscountUpdate.ts index f37504e35..e69bd83b1 100644 --- a/src/orders/types/OrderLineDiscountUpdate.ts +++ b/src/orders/types/OrderLineDiscountUpdate.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderDiscountCommonInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderDiscountCommonInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderLineDiscountUpdate @@ -351,6 +351,19 @@ export interface OrderLineDiscountUpdate_orderLineDiscountUpdate_order_shippingA streetAddress2: string; } +export interface OrderLineDiscountUpdate_orderLineDiscountUpdate_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderLineDiscountUpdate_orderLineDiscountUpdate_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderLineDiscountUpdate_orderLineDiscountUpdate_order_deliveryMethod = OrderLineDiscountUpdate_orderLineDiscountUpdate_order_deliveryMethod_ShippingMethod | OrderLineDiscountUpdate_orderLineDiscountUpdate_order_deliveryMethod_Warehouse; + export interface OrderLineDiscountUpdate_orderLineDiscountUpdate_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderLineDiscountUpdate_orderLineDiscountUpdate_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderLineDiscountUpdate_orderLineDiscountUpdate_order_shippingAddress | null; + deliveryMethod: OrderLineDiscountUpdate_orderLineDiscountUpdate_order_deliveryMethod | null; shippingMethod: OrderLineDiscountUpdate_orderLineDiscountUpdate_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderLineDiscountUpdate_orderLineDiscountUpdate_order_shippingPrice; status: OrderStatus; subtotal: OrderLineDiscountUpdate_orderLineDiscountUpdate_order_subtotal; diff --git a/src/orders/types/OrderLineUpdate.ts b/src/orders/types/OrderLineUpdate.ts index 5d09d89d3..fcc142966 100644 --- a/src/orders/types/OrderLineUpdate.ts +++ b/src/orders/types/OrderLineUpdate.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderLineInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderLineInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderLineUpdate @@ -351,6 +351,19 @@ export interface OrderLineUpdate_orderLineUpdate_order_shippingAddress { streetAddress2: string; } +export interface OrderLineUpdate_orderLineUpdate_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderLineUpdate_orderLineUpdate_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderLineUpdate_orderLineUpdate_order_deliveryMethod = OrderLineUpdate_orderLineUpdate_order_deliveryMethod_ShippingMethod | OrderLineUpdate_orderLineUpdate_order_deliveryMethod_Warehouse; + export interface OrderLineUpdate_orderLineUpdate_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderLineUpdate_orderLineUpdate_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderLineUpdate_orderLineUpdate_order_shippingAddress | null; + deliveryMethod: OrderLineUpdate_orderLineUpdate_order_deliveryMethod | null; shippingMethod: OrderLineUpdate_orderLineUpdate_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderLineUpdate_orderLineUpdate_order_shippingPrice; status: OrderStatus; subtotal: OrderLineUpdate_orderLineUpdate_order_subtotal; diff --git a/src/orders/types/OrderLinesAdd.ts b/src/orders/types/OrderLinesAdd.ts index 459c8d912..ed9e0e954 100644 --- a/src/orders/types/OrderLinesAdd.ts +++ b/src/orders/types/OrderLinesAdd.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderLineCreateInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderLineCreateInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderLinesAdd @@ -351,6 +351,19 @@ export interface OrderLinesAdd_orderLinesCreate_order_shippingAddress { streetAddress2: string; } +export interface OrderLinesAdd_orderLinesCreate_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderLinesAdd_orderLinesCreate_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderLinesAdd_orderLinesCreate_order_deliveryMethod = OrderLinesAdd_orderLinesCreate_order_deliveryMethod_ShippingMethod | OrderLinesAdd_orderLinesCreate_order_deliveryMethod_Warehouse; + export interface OrderLinesAdd_orderLinesCreate_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderLinesAdd_orderLinesCreate_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderLinesAdd_orderLinesCreate_order_shippingAddress | null; + deliveryMethod: OrderLinesAdd_orderLinesCreate_order_deliveryMethod | null; shippingMethod: OrderLinesAdd_orderLinesCreate_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderLinesAdd_orderLinesCreate_order_shippingPrice; status: OrderStatus; subtotal: OrderLinesAdd_orderLinesCreate_order_subtotal; diff --git a/src/orders/types/OrderMarkAsPaid.ts b/src/orders/types/OrderMarkAsPaid.ts index a93aa9c47..41534f911 100644 --- a/src/orders/types/OrderMarkAsPaid.ts +++ b/src/orders/types/OrderMarkAsPaid.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderMarkAsPaid @@ -351,6 +351,19 @@ export interface OrderMarkAsPaid_orderMarkAsPaid_order_shippingAddress { streetAddress2: string; } +export interface OrderMarkAsPaid_orderMarkAsPaid_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderMarkAsPaid_orderMarkAsPaid_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderMarkAsPaid_orderMarkAsPaid_order_deliveryMethod = OrderMarkAsPaid_orderMarkAsPaid_order_deliveryMethod_ShippingMethod | OrderMarkAsPaid_orderMarkAsPaid_order_deliveryMethod_Warehouse; + export interface OrderMarkAsPaid_orderMarkAsPaid_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderMarkAsPaid_orderMarkAsPaid_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderMarkAsPaid_orderMarkAsPaid_order_shippingAddress | null; + deliveryMethod: OrderMarkAsPaid_orderMarkAsPaid_order_deliveryMethod | null; shippingMethod: OrderMarkAsPaid_orderMarkAsPaid_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderMarkAsPaid_orderMarkAsPaid_order_shippingPrice; status: OrderStatus; subtotal: OrderMarkAsPaid_orderMarkAsPaid_order_subtotal; diff --git a/src/orders/types/OrderRefund.ts b/src/orders/types/OrderRefund.ts index c816ef08a..4f56013ed 100644 --- a/src/orders/types/OrderRefund.ts +++ b/src/orders/types/OrderRefund.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderRefund @@ -351,6 +351,19 @@ export interface OrderRefund_orderRefund_order_shippingAddress { streetAddress2: string; } +export interface OrderRefund_orderRefund_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderRefund_orderRefund_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderRefund_orderRefund_order_deliveryMethod = OrderRefund_orderRefund_order_deliveryMethod_ShippingMethod | OrderRefund_orderRefund_order_deliveryMethod_Warehouse; + export interface OrderRefund_orderRefund_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderRefund_orderRefund_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderRefund_orderRefund_order_shippingAddress | null; + deliveryMethod: OrderRefund_orderRefund_order_deliveryMethod | null; shippingMethod: OrderRefund_orderRefund_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderRefund_orderRefund_order_shippingPrice; status: OrderStatus; subtotal: OrderRefund_orderRefund_order_subtotal; diff --git a/src/orders/types/OrderShippingMethodUpdate.ts b/src/orders/types/OrderShippingMethodUpdate.ts index 4e68a6f7d..f50f48ac3 100644 --- a/src/orders/types/OrderShippingMethodUpdate.ts +++ b/src/orders/types/OrderShippingMethodUpdate.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderUpdateShippingInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderUpdateShippingInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderShippingMethodUpdate @@ -413,6 +413,19 @@ export interface OrderShippingMethodUpdate_orderUpdateShipping_order_shippingAdd streetAddress2: string; } +export interface OrderShippingMethodUpdate_orderUpdateShipping_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderShippingMethodUpdate_orderUpdateShipping_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderShippingMethodUpdate_orderUpdateShipping_order_deliveryMethod = OrderShippingMethodUpdate_orderUpdateShipping_order_deliveryMethod_ShippingMethod | OrderShippingMethodUpdate_orderUpdateShipping_order_deliveryMethod_Warehouse; + export interface OrderShippingMethodUpdate_orderUpdateShipping_order_subtotal_gross { __typename: "Money"; amount: number; @@ -508,6 +521,8 @@ export interface OrderShippingMethodUpdate_orderUpdateShipping_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderShippingMethodUpdate_orderUpdateShipping_order_shippingAddress | null; + deliveryMethod: OrderShippingMethodUpdate_orderUpdateShipping_order_deliveryMethod | null; + collectionPointName: string | null; status: OrderStatus; subtotal: OrderShippingMethodUpdate_orderUpdateShipping_order_subtotal; actions: (OrderAction | null)[]; diff --git a/src/orders/types/OrderUpdate.ts b/src/orders/types/OrderUpdate.ts index 808043632..29e85a005 100644 --- a/src/orders/types/OrderUpdate.ts +++ b/src/orders/types/OrderUpdate.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderUpdateInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderUpdateInput, OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderUpdate @@ -351,6 +351,19 @@ export interface OrderUpdate_orderUpdate_order_shippingAddress { streetAddress2: string; } +export interface OrderUpdate_orderUpdate_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderUpdate_orderUpdate_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderUpdate_orderUpdate_order_deliveryMethod = OrderUpdate_orderUpdate_order_deliveryMethod_ShippingMethod | OrderUpdate_orderUpdate_order_deliveryMethod_Warehouse; + export interface OrderUpdate_orderUpdate_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderUpdate_orderUpdate_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderUpdate_orderUpdate_order_shippingAddress | null; + deliveryMethod: OrderUpdate_orderUpdate_order_deliveryMethod | null; shippingMethod: OrderUpdate_orderUpdate_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderUpdate_orderUpdate_order_shippingPrice; status: OrderStatus; subtotal: OrderUpdate_orderUpdate_order_subtotal; diff --git a/src/orders/types/OrderVoid.ts b/src/orders/types/OrderVoid.ts index bcd92612e..3bf17826a 100644 --- a/src/orders/types/OrderVoid.ts +++ b/src/orders/types/OrderVoid.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; +import { OrderErrorCode, AddressTypeEnum, OrderDiscountType, DiscountValueTypeEnum, OrderEventsEmailsEnum, OrderEventsEnum, FulfillmentStatus, PaymentChargeStatusEnum, WarehouseClickAndCollectOptionEnum, OrderStatus, OrderAction, JobStatusEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: OrderVoid @@ -351,6 +351,19 @@ export interface OrderVoid_orderVoid_order_shippingAddress { streetAddress2: string; } +export interface OrderVoid_orderVoid_order_deliveryMethod_ShippingMethod { + __typename: "ShippingMethod"; + id: string; +} + +export interface OrderVoid_orderVoid_order_deliveryMethod_Warehouse { + __typename: "Warehouse"; + id: string; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; +} + +export type OrderVoid_orderVoid_order_deliveryMethod = OrderVoid_orderVoid_order_deliveryMethod_ShippingMethod | OrderVoid_orderVoid_order_deliveryMethod_Warehouse; + export interface OrderVoid_orderVoid_order_shippingMethod { __typename: "ShippingMethod"; id: string; @@ -495,8 +508,10 @@ export interface OrderVoid_orderVoid_order { isPaid: boolean; paymentStatus: PaymentChargeStatusEnum; shippingAddress: OrderVoid_orderVoid_order_shippingAddress | null; + deliveryMethod: OrderVoid_orderVoid_order_deliveryMethod | null; shippingMethod: OrderVoid_orderVoid_order_shippingMethod | null; shippingMethodName: string | null; + collectionPointName: string | null; shippingPrice: OrderVoid_orderVoid_order_shippingPrice; status: OrderStatus; subtotal: OrderVoid_orderVoid_order_subtotal; diff --git a/src/orders/views/OrderFulfill/OrderFulfill.tsx b/src/orders/views/OrderFulfill/OrderFulfill.tsx index f77c4cda3..1a9bdd025 100644 --- a/src/orders/views/OrderFulfill/OrderFulfill.tsx +++ b/src/orders/views/OrderFulfill/OrderFulfill.tsx @@ -7,15 +7,35 @@ import { useOrderFulfillData, useOrderFulfillSettingsQuery } from "@saleor/orders/queries"; +import { OrderFulfillData_order } from "@saleor/orders/types/OrderFulfillData"; import { orderUrl } from "@saleor/orders/urls"; import { getWarehousesFromOrderLines } from "@saleor/orders/utils/data"; import React from "react"; import { useIntl } from "react-intl"; +import { WarehouseClickAndCollectOptionEnum } from "../../../types/globalTypes"; + export interface OrderFulfillProps { orderId: string; } +const resolveLocalFulfillment = ( + order: OrderFulfillData_order, + orderLineWarehouses +) => { + const deliveryMethod = order?.deliveryMethod; + if ( + deliveryMethod?.__typename === "Warehouse" && + deliveryMethod?.clickAndCollectOption === + WarehouseClickAndCollectOptionEnum.LOCAL + ) { + return orderLineWarehouses?.filter( + warehouse => warehouse?.id === deliveryMethod?.id + ); + } + return orderLineWarehouses; +}; + const OrderFulfill: React.FC = ({ orderId }) => { const navigate = useNavigator(); const notify = useNotifier(); @@ -50,6 +70,11 @@ const OrderFulfill: React.FC = ({ orderId }) => { } }); + const resolvedOrderLinesWarehouses = resolveLocalFulfillment( + data?.order, + orderLinesWarehouses + ); + return ( <> = ({ orderId }) => { } order={data?.order} saveButtonBar="default" - warehouses={orderLinesWarehouses} + warehouses={resolvedOrderLinesWarehouses} shopSettings={settings?.shop} /> diff --git a/src/storybook/__snapshots__/Stories.test.ts.snap b/src/storybook/__snapshots__/Stories.test.ts.snap index 1d1b4bba9..cffff3c27 100644 --- a/src/storybook/__snapshots__/Stories.test.ts.snap +++ b/src/storybook/__snapshots__/Stories.test.ts.snap @@ -16518,6 +16518,14 @@ exports[`Storyshots Orders / OrderCustomer default 1`] = `
+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

- Fulfillment canceled + Translation updated
@@ -26979,7 +27011,7 @@ exports[`Storyshots Views / Apps / Webhooks / Create webhook form errors 1`] = ` - Fulfillment canceled + Translation updated @@ -28552,7 +28584,7 @@ exports[`Storyshots Views / Apps / Webhooks / Create webhook loading 1`] = ` - Fulfillment canceled + Translation updated @@ -30182,7 +30214,7 @@ exports[`Storyshots Views / Apps / Webhooks / Webhook details default 1`] = ` - Fulfillment canceled + Translation updated @@ -31746,7 +31778,7 @@ exports[`Storyshots Views / Apps / Webhooks / Webhook details form errors 1`] = - Fulfillment canceled + Translation updated @@ -33320,7 +33352,7 @@ exports[`Storyshots Views / Apps / Webhooks / Webhook details loading 1`] = ` - Fulfillment canceled + Translation updated @@ -34938,7 +34970,7 @@ exports[`Storyshots Views / Apps / Webhooks / Webhook details unnamed 1`] = ` - Fulfillment canceled + Translation updated @@ -120165,6 +120197,14 @@ exports[`Storyshots Views / Orders / Order details cancelled 1`] = `
+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

+
+
+ Fulfill from All Warehouses +

- Shipping Zones + Settings
+
+
+
+
+
+
+
+
+
+
+ Pickup +
+
+
+
+
+
@@ -255551,7 +255944,7 @@ exports[`Storyshots Views / Warehouses / Warehouse details form errors 1`] = ` - Shipping Zones + Settings
+
+
+
+
+
+
+
+
+
+
+ Pickup +
+
+
+
+
+
@@ -256087,7 +256745,7 @@ exports[`Storyshots Views / Warehouses / Warehouse details loading 1`] = ` - Shipping Zones + Settings
+
+
+
+
+
+
+
+
+
+
+ Pickup +
+
+
+
+
diff --git a/src/types/globalTypes.ts b/src/types/globalTypes.ts index 13abe6c5c..74183b6cc 100644 --- a/src/types/globalTypes.ts +++ b/src/types/globalTypes.ts @@ -1770,6 +1770,12 @@ export enum VoucherTypeEnum { SPECIFIC_PRODUCT = "SPECIFIC_PRODUCT", } +export enum WarehouseClickAndCollectOptionEnum { + ALL = "ALL", + DISABLED = "DISABLED", + LOCAL = "LOCAL", +} + export enum WarehouseErrorCode { ALREADY_EXISTS = "ALREADY_EXISTS", GRAPHQL_ERROR = "GRAPHQL_ERROR", @@ -2842,8 +2848,10 @@ export interface WarehouseCreateInput { } export interface WarehouseFilterInput { + clickAndCollectOption?: WarehouseClickAndCollectOptionEnum | null; search?: string | null; ids?: (string | null)[] | null; + isPrivate?: boolean | null; } export interface WarehouseSortingInput { @@ -2856,6 +2864,8 @@ export interface WarehouseUpdateInput { email?: string | null; name?: string | null; address?: AddressInput | null; + clickAndCollectOption?: WarehouseClickAndCollectOptionEnum | null; + isPrivate?: boolean | null; } export interface WebhookCreateInput { diff --git a/src/utils/metadata/types/UpdateMetadata.ts b/src/utils/metadata/types/UpdateMetadata.ts index 5d016e59e..5553fa6ca 100644 --- a/src/utils/metadata/types/UpdateMetadata.ts +++ b/src/utils/metadata/types/UpdateMetadata.ts @@ -39,7 +39,7 @@ export interface UpdateMetadata_deleteMetadata_item_privateMetadata { } export interface UpdateMetadata_deleteMetadata_item { - __typename: "App" | "Warehouse" | "ShippingZone" | "ShippingMethod" | "Product" | "ProductType" | "Attribute" | "Category" | "ProductVariant" | "DigitalContent" | "Collection" | "Page" | "PageType" | "Sale" | "Voucher" | "MenuItem" | "Menu" | "User" | "Checkout" | "GiftCard" | "Order" | "Fulfillment" | "Invoice"; + __typename: "App" | "Attribute" | "Category" | "Checkout" | "Collection" | "DigitalContent" | "Fulfillment" | "GiftCard" | "Invoice" | "Menu" | "MenuItem" | "Order" | "Page" | "PageType" | "Product" | "ProductType" | "ProductVariant" | "Sale" | "ShippingMethod" | "ShippingZone" | "User" | "Voucher" | "Warehouse"; metadata: (UpdateMetadata_deleteMetadata_item_metadata | null)[]; privateMetadata: (UpdateMetadata_deleteMetadata_item_privateMetadata | null)[]; id: string; diff --git a/src/utils/metadata/types/UpdatePrivateMetadata.ts b/src/utils/metadata/types/UpdatePrivateMetadata.ts index ce8d6e8b7..86fadd05b 100644 --- a/src/utils/metadata/types/UpdatePrivateMetadata.ts +++ b/src/utils/metadata/types/UpdatePrivateMetadata.ts @@ -39,7 +39,7 @@ export interface UpdatePrivateMetadata_deletePrivateMetadata_item_privateMetadat } export interface UpdatePrivateMetadata_deletePrivateMetadata_item { - __typename: "App" | "Warehouse" | "ShippingZone" | "ShippingMethod" | "Product" | "ProductType" | "Attribute" | "Category" | "ProductVariant" | "DigitalContent" | "Collection" | "Page" | "PageType" | "Sale" | "Voucher" | "MenuItem" | "Menu" | "User" | "Checkout" | "GiftCard" | "Order" | "Fulfillment" | "Invoice"; + __typename: "App" | "Attribute" | "Category" | "Checkout" | "Collection" | "DigitalContent" | "Fulfillment" | "GiftCard" | "Invoice" | "Menu" | "MenuItem" | "Order" | "Page" | "PageType" | "Product" | "ProductType" | "ProductVariant" | "Sale" | "ShippingMethod" | "ShippingZone" | "User" | "Voucher" | "Warehouse"; metadata: (UpdatePrivateMetadata_deletePrivateMetadata_item_metadata | null)[]; privateMetadata: (UpdatePrivateMetadata_deletePrivateMetadata_item_privateMetadata | null)[]; id: string; diff --git a/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.stories.tsx b/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.stories.tsx index aa1de917c..b887164d7 100644 --- a/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.stories.tsx +++ b/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.stories.tsx @@ -1,10 +1,10 @@ -import { address, countries } from "@saleor/fixtures"; +import { countries } from "@saleor/fixtures"; import Decorator from "@saleor/storybook/Decorator"; import { WarehouseErrorCode } from "@saleor/types/globalTypes"; import { storiesOf } from "@storybook/react"; import React from "react"; -import { warehouseList } from "../../fixtures"; +import { warehouse } from "../../fixtures"; import WarehouseDetailsPage, { WarehouseDetailsPageFormData, WarehouseDetailsPageProps @@ -23,10 +23,7 @@ const props: WarehouseDetailsPageProps = { onShippingZoneClick: () => undefined, onSubmit: () => undefined, saveButtonBarState: "default", - warehouse: { - ...warehouseList[0], - address - } + warehouse }; storiesOf("Views / Warehouses / Warehouse details", module) .addDecorator(Decorator) diff --git a/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.tsx b/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.tsx index c5338bcf0..0627cd0c8 100644 --- a/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.tsx +++ b/src/warehouses/components/WarehouseDetailsPage/WarehouseDetailsPage.tsx @@ -8,6 +8,7 @@ import PageHeader from "@saleor/components/PageHeader"; import Savebar from "@saleor/components/Savebar"; import { ShopInfo_shop_countries } from "@saleor/components/Shop/types/ShopInfo"; import { AddressTypeInput } from "@saleor/customers/types"; +import { WarehouseDetailsFragment } from "@saleor/fragments/types/WarehouseDetailsFragment"; import { WarehouseErrorFragment } from "@saleor/fragments/types/WarehouseErrorFragment"; import useAddressValidation from "@saleor/hooks/useAddressValidation"; import { SubmitPromise } from "@saleor/hooks/useForm"; @@ -15,25 +16,29 @@ import useStateFromProps from "@saleor/hooks/useStateFromProps"; import { sectionNames } from "@saleor/intl"; import { Backlink } from "@saleor/macaw-ui"; import { findValueInEnum, maybe } from "@saleor/misc"; -import { CountryCode } from "@saleor/types/globalTypes"; +import { + CountryCode, + WarehouseClickAndCollectOptionEnum +} from "@saleor/types/globalTypes"; import createSingleAutocompleteSelectHandler from "@saleor/utils/handlers/singleAutocompleteSelectChangeHandler"; import { mapCountriesToChoices, mapEdgesToItems } from "@saleor/utils/maps"; import React from "react"; import { FormattedMessage, useIntl } from "react-intl"; -import { WarehouseDetails_warehouse } from "../../types/WarehouseDetails"; import WarehouseInfo from "../WarehouseInfo"; -import WarehouseZones from "../WarehouseZones"; +import WarehouseSettings from "../WarehouseSettings"; export interface WarehouseDetailsPageFormData extends AddressTypeInput { name: string; + isPrivate: boolean; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; } export interface WarehouseDetailsPageProps { countries: ShopInfo_shop_countries[]; disabled: boolean; errors: WarehouseErrorFragment[]; saveButtonBarState: ConfirmButtonTransitionState; - warehouse: WarehouseDetails_warehouse; + warehouse: WarehouseDetailsFragment; onBack: () => void; onDelete: () => void; onShippingZoneClick: (id: string) => void; @@ -67,6 +72,10 @@ const WarehouseDetailsPage: React.FC = ({ country: maybe(() => findValueInEnum(warehouse.address.country.code, CountryCode) ), + isPrivate: !!warehouse?.isPrivate, + clickAndCollectOption: + warehouse?.clickAndCollectOption || + WarehouseClickAndCollectOptionEnum.DISABLED, countryArea: maybe(() => warehouse.address.countryArea, ""), name: maybe(() => warehouse.name, ""), phone: maybe(() => warehouse.address.phone, ""), @@ -77,7 +86,7 @@ const WarehouseDetailsPage: React.FC = ({ return (
- {({ change, data, hasChanged, submit }) => { + {({ change, data, hasChanged, set, submit }) => { const countryChoices = mapCountriesToChoices(countries); const handleCountryChange = createSingleAutocompleteSelectHandler( change, @@ -115,9 +124,13 @@ const WarehouseDetailsPage: React.FC = ({ />
-
diff --git a/src/warehouses/components/WarehouseSettings/WarehouseSettings.tsx b/src/warehouses/components/WarehouseSettings/WarehouseSettings.tsx new file mode 100644 index 000000000..8e4bae4a9 --- /dev/null +++ b/src/warehouses/components/WarehouseSettings/WarehouseSettings.tsx @@ -0,0 +1,204 @@ +import { Card, CardContent, Divider, Typography } from "@material-ui/core"; +import CardSpacer from "@saleor/components/CardSpacer"; +import CardTitle from "@saleor/components/CardTitle"; +import { FormSpacer } from "@saleor/components/FormSpacer"; +import Link from "@saleor/components/Link"; +import { RadioGroupField } from "@saleor/components/RadioGroupField"; +import Skeleton from "@saleor/components/Skeleton"; +import { makeStyles } from "@saleor/macaw-ui"; +import { renderCollection } from "@saleor/misc"; +import { WarehouseDetails_warehouse_shippingZones_edges_node } from "@saleor/warehouses/types/WarehouseDetails"; +import React from "react"; +import { FormattedMessage } from "react-intl"; + +import { WarehouseClickAndCollectOptionEnum } from "./../../../types/globalTypes"; +import { WarehouseDetailsPageFormData } from "./../WarehouseDetailsPage"; +import messages from "./messages"; + +export interface WarehouseSettingsProps { + zones: WarehouseDetails_warehouse_shippingZones_edges_node[]; + disabled: boolean; + data: WarehouseDetailsPageFormData; + onShippingZoneClick: (id: string) => void; + onChange: (event: React.ChangeEvent) => void; + setData: (data: Partial) => void; +} + +const useStyles = makeStyles( + theme => ({ + link: { + "&:not(:last-of-type)": { + marginBottom: theme.spacing() + } + } + }), + { + name: "WarehouseInfoProps" + } +); + +const WarehouseSettings: React.FC = ({ + zones, + disabled, + data, + onChange, + onShippingZoneClick, + setData +}) => { + React.useEffect(() => { + if ( + data.isPrivate && + data.clickAndCollectOption === WarehouseClickAndCollectOptionEnum.LOCAL + ) { + setData({ + clickAndCollectOption: WarehouseClickAndCollectOptionEnum.DISABLED + }); + } + }, [data.isPrivate]); + + const classes = useStyles({}); + + const booleanRadioHandler = ({ target: { name, value } }) => { + setData({ [name]: value === "true" }); + }; + + const isPrivateChoices = [ + { + label: ( + <> + + + + + + + ), + value: "true" + }, + { + label: ( + <> + + + + + + ), + value: "false" + } + ]; + + const clickAndCollectChoicesPublic = [ + { + label: ( + <> + + + + + + + ), + value: WarehouseClickAndCollectOptionEnum.DISABLED + }, + { + label: ( + <> + + + + + + + ), + value: WarehouseClickAndCollectOptionEnum.LOCAL + }, + { + label: ( + <> + + + + + + ), + value: WarehouseClickAndCollectOptionEnum.ALL + } + ]; + + const clickAndCollectChoices = clickAndCollectChoicesPublic.filter( + choice => choice.value !== WarehouseClickAndCollectOptionEnum.LOCAL + ); + + return ( + + } + /> + + {renderCollection( + zones, + zone => + zone ? ( +
+ onShippingZoneClick(zone.id)}> + {zone.name} + +
+ ) : ( + + ), + () => ( + + + + ) + )} +
+ + + + + + + + + + + + + +
+ ); +}; + +WarehouseSettings.displayName = "WarehouseInfo"; +export default WarehouseSettings; diff --git a/src/warehouses/components/WarehouseSettings/index.ts b/src/warehouses/components/WarehouseSettings/index.ts new file mode 100644 index 000000000..67630d76b --- /dev/null +++ b/src/warehouses/components/WarehouseSettings/index.ts @@ -0,0 +1,2 @@ +export { default } from "./WarehouseSettings"; +export * from "./WarehouseSettings"; diff --git a/src/warehouses/components/WarehouseSettings/messages.ts b/src/warehouses/components/WarehouseSettings/messages.ts new file mode 100644 index 000000000..a58e3e096 --- /dev/null +++ b/src/warehouses/components/WarehouseSettings/messages.ts @@ -0,0 +1,61 @@ +import { defineMessages } from "react-intl"; + +const messages = defineMessages({ + warehouseSettingsPublicStock: { + defaultMessage: "Public Stock", + description: "WarehouseSettings public stock label" + }, + warehouseSettingsPublicStockDescription: { + defaultMessage: "If enabled stock in this warehouse will be shown", + description: "WarehouseSettings public stock description" + }, + warehouseSettingsPrivateStock: { + defaultMessage: "Private Stock", + description: "WarehouseSettings private stock label" + }, + warehouseSettingsPrivateStockDescription: { + defaultMessage: "If enabled stock in this warehouse won't be shown", + description: "WarehouseSettings private stock description" + }, + warehouseSettingsDisabled: { + defaultMessage: "Disabled", + description: "WarehouseSettings disabled warehouse label" + }, + warehouseSettingsDisabledDescription: { + defaultMessage: + "If selected customer won't be able to choose this warehouse as pickup point", + description: "WarehouseSettings disabled warehouse description" + }, + warehouseSettingsLocal: { + defaultMessage: "Local stock only", + description: "WarehouseSettings local warehouse label" + }, + warehouseSettingsLocalDescription: { + defaultMessage: + "If selected customer will be able to choose this warehouse as pickup point. Ordered products will be only fulfilled from this warehouse stock", + description: "WarehouseSettings local warehouse description" + }, + warehouseSettingsAllWarehouses: { + defaultMessage: "All warehouses", + description: "WarehouseSettings all warehouses label" + }, + warehouseSettingsAllWarehousesDescription: { + defaultMessage: + "If selected customer will be able to choose this warehouse as pickup point. Ordered products can be shipped here from a different warehouse", + description: "WarehouseSettings all warehouses description" + }, + warehouseSettingsTitle: { + defaultMessage: "Settings", + description: "WarehouseSettings title" + }, + warehouseSettingsPickupTitle: { + defaultMessage: "Pickup", + description: "WarehouseSettings pickup title" + }, + warehouseSettingsNoShippingZonesAssigned: { + defaultMessage: "This warehouse has no shipping zones assigned.", + description: "WarehouseSettings no shipping zones assigned" + } +}); + +export default messages; diff --git a/src/warehouses/components/WarehouseZones/WarehouseZones.tsx b/src/warehouses/components/WarehouseZones/WarehouseZones.tsx deleted file mode 100644 index 18d748b4e..000000000 --- a/src/warehouses/components/WarehouseZones/WarehouseZones.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import { Card, CardContent, Typography } from "@material-ui/core"; -import CardTitle from "@saleor/components/CardTitle"; -import Link from "@saleor/components/Link"; -import Skeleton from "@saleor/components/Skeleton"; -import { makeStyles } from "@saleor/macaw-ui"; -import { maybe, renderCollection } from "@saleor/misc"; -import { WarehouseDetails_warehouse_shippingZones_edges_node } from "@saleor/warehouses/types/WarehouseDetails"; -import React from "react"; -import { FormattedMessage, useIntl } from "react-intl"; - -export interface WarehouseInfoProps { - zones: WarehouseDetails_warehouse_shippingZones_edges_node[]; - onShippingZoneClick: (id: string) => void; -} - -const useStyles = makeStyles( - theme => ({ - link: { - "&:not(:last-of-type)": { - marginBottom: theme.spacing() - } - } - }), - { - name: "WarehouseInfoProps" - } -); - -const WarehouseInfo: React.FC = ({ - zones, - onShippingZoneClick -}) => { - const classes = useStyles({}); - const intl = useIntl(); - - return ( - - - - {renderCollection( - zones, - zone => - maybe( - () => ( -
- onShippingZoneClick(zone.id)}> - {zone.name} - -
- ), - - ), - () => ( - - - - ) - )} -
-
- ); -}; - -WarehouseInfo.displayName = "WarehouseInfo"; -export default WarehouseInfo; diff --git a/src/warehouses/components/WarehouseZones/index.ts b/src/warehouses/components/WarehouseZones/index.ts deleted file mode 100644 index c0a280252..000000000 --- a/src/warehouses/components/WarehouseZones/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default } from "./WarehouseZones"; -export * from "./WarehouseZones"; diff --git a/src/warehouses/fixtures.ts b/src/warehouses/fixtures.ts index e393c9c11..d9e04d482 100644 --- a/src/warehouses/fixtures.ts +++ b/src/warehouses/fixtures.ts @@ -1,4 +1,8 @@ +import { address } from "@saleor/fixtures"; + import { shippingZones } from "../shipping/fixtures"; +import { WarehouseClickAndCollectOptionEnum } from "./../types/globalTypes"; +import { WarehouseDetails_warehouse } from "./types/WarehouseDetails"; import { WarehouseList_warehouses_edges_node } from "./types/WarehouseList"; export const warehouseList: WarehouseList_warehouses_edges_node[] = [ @@ -51,3 +55,17 @@ export const warehouseList: WarehouseList_warehouses_edges_node[] = [ } } ]; + +export const warehouse: WarehouseDetails_warehouse = { + ...warehouseList[0], + isPrivate: true, + clickAndCollectOption: WarehouseClickAndCollectOptionEnum.DISABLED, + address +}; + +export const warehouseForPickup: WarehouseDetails_warehouse = { + ...warehouseList[0], + isPrivate: false, + clickAndCollectOption: WarehouseClickAndCollectOptionEnum.ALL, + address +}; diff --git a/src/warehouses/types/WarehouseCreate.ts b/src/warehouses/types/WarehouseCreate.ts index 6cdb43ef2..fb2d5b088 100644 --- a/src/warehouses/types/WarehouseCreate.ts +++ b/src/warehouses/types/WarehouseCreate.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { WarehouseCreateInput, WarehouseErrorCode } from "./../../types/globalTypes"; +import { WarehouseCreateInput, WarehouseErrorCode, WarehouseClickAndCollectOptionEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: WarehouseCreate @@ -55,6 +55,8 @@ export interface WarehouseCreate_createWarehouse_warehouse_address { export interface WarehouseCreate_createWarehouse_warehouse { __typename: "Warehouse"; + isPrivate: boolean; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; id: string; name: string; shippingZones: WarehouseCreate_createWarehouse_warehouse_shippingZones; diff --git a/src/warehouses/types/WarehouseDetails.ts b/src/warehouses/types/WarehouseDetails.ts index c42f5f826..6d33c16b7 100644 --- a/src/warehouses/types/WarehouseDetails.ts +++ b/src/warehouses/types/WarehouseDetails.ts @@ -3,6 +3,8 @@ // @generated // This file was automatically generated and should not be edited. +import { WarehouseClickAndCollectOptionEnum } from "./../../types/globalTypes"; + // ==================================================== // GraphQL query operation: WarehouseDetails // ==================================================== @@ -47,6 +49,8 @@ export interface WarehouseDetails_warehouse_address { export interface WarehouseDetails_warehouse { __typename: "Warehouse"; + isPrivate: boolean; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; id: string; name: string; shippingZones: WarehouseDetails_warehouse_shippingZones; diff --git a/src/warehouses/types/WarehouseUpdate.ts b/src/warehouses/types/WarehouseUpdate.ts index 35b9a9f7b..61bed433d 100644 --- a/src/warehouses/types/WarehouseUpdate.ts +++ b/src/warehouses/types/WarehouseUpdate.ts @@ -3,7 +3,7 @@ // @generated // This file was automatically generated and should not be edited. -import { WarehouseUpdateInput, WarehouseErrorCode } from "./../../types/globalTypes"; +import { WarehouseUpdateInput, WarehouseErrorCode, WarehouseClickAndCollectOptionEnum } from "./../../types/globalTypes"; // ==================================================== // GraphQL mutation operation: WarehouseUpdate @@ -55,6 +55,8 @@ export interface WarehouseUpdate_updateWarehouse_warehouse_address { export interface WarehouseUpdate_updateWarehouse_warehouse { __typename: "Warehouse"; + isPrivate: boolean; + clickAndCollectOption: WarehouseClickAndCollectOptionEnum; id: string; name: string; shippingZones: WarehouseUpdate_updateWarehouse_warehouse_shippingZones; diff --git a/src/warehouses/views/WarehouseDetails/WarehouseDetails.tsx b/src/warehouses/views/WarehouseDetails/WarehouseDetails.tsx index 76c255af4..7ca4590ac 100644 --- a/src/warehouses/views/WarehouseDetails/WarehouseDetails.tsx +++ b/src/warehouses/views/WarehouseDetails/WarehouseDetails.tsx @@ -94,7 +94,9 @@ const WarehouseDetails: React.FC = ({ id, params }) => { streetAddress1: data.streetAddress1, streetAddress2: data.streetAddress2 }, - name: data.name + name: data.name, + isPrivate: data.isPrivate, + clickAndCollectOption: data.clickAndCollectOption } } }); diff --git a/src/webhooks/components/WebhookEvents/WebhookEvents.tsx b/src/webhooks/components/WebhookEvents/WebhookEvents.tsx index 0b7d049e8..21ad967e2 100644 --- a/src/webhooks/components/WebhookEvents/WebhookEvents.tsx +++ b/src/webhooks/components/WebhookEvents/WebhookEvents.tsx @@ -185,6 +185,10 @@ const WebhookEvents: React.FC = ({ [WebhookEventTypeEnum.TRANSLATION_UPDATED]: intl.formatMessage({ defaultMessage: "Translation updated", description: "event" + }), + [WebhookEventTypeEnum.FULFILLMENT_CANCELED]: intl.formatMessage({ + defaultMessage: "Translation updated", + description: "event" }) };