From 411ed45d750ec34c3bc3bd9d4d07525a7d04e317 Mon Sep 17 00:00:00 2001 From: Eric Dobbertin Date: Tue, 21 Apr 2020 21:29:46 -0500 Subject: [PATCH 1/3] refactor: move shipments plugin to NPM package Signed-off-by: Eric Dobbertin --- jest.config.cjs | 1 + package-lock.json | 37 ++++ package.json | 1 + plugins.json | 2 +- src/core-services/shipping/i18n/ar.json | 81 --------- src/core-services/shipping/i18n/bg.json | 81 --------- src/core-services/shipping/i18n/cs.json | 81 --------- src/core-services/shipping/i18n/de.json | 81 --------- src/core-services/shipping/i18n/el.json | 81 --------- src/core-services/shipping/i18n/en.json | 84 --------- src/core-services/shipping/i18n/es.json | 81 --------- src/core-services/shipping/i18n/fr.json | 81 --------- src/core-services/shipping/i18n/he.json | 5 - src/core-services/shipping/i18n/hr.json | 81 --------- src/core-services/shipping/i18n/hu.json | 81 --------- src/core-services/shipping/i18n/index.js | 54 ------ src/core-services/shipping/i18n/it.json | 81 --------- src/core-services/shipping/i18n/my.json | 81 --------- src/core-services/shipping/i18n/nb.json | 5 - src/core-services/shipping/i18n/nl.json | 81 --------- src/core-services/shipping/i18n/pl.json | 81 --------- src/core-services/shipping/i18n/pt.json | 81 --------- src/core-services/shipping/i18n/ro.json | 81 --------- src/core-services/shipping/i18n/ru.json | 81 --------- src/core-services/shipping/i18n/sl.json | 81 --------- src/core-services/shipping/i18n/sv.json | 81 --------- src/core-services/shipping/i18n/tr.json | 81 --------- src/core-services/shipping/i18n/vi.json | 81 --------- src/core-services/shipping/i18n/zh.json | 81 --------- src/core-services/shipping/index.js | 25 --- ...lectFulfillmentOptionForGroup.test.js.snap | 5 - ...ateFulfillmentOptionsForGroup.test.js.snap | 3 - src/core-services/shipping/mutations/index.js | 7 - .../selectFulfillmentOptionForGroup.js | 56 ------ .../selectFulfillmentOptionForGroup.test.js | 67 ------- .../updateFulfillmentOptionsForGroup.js | 104 ----------- .../updateFulfillmentOptionsForGroup.test.js | 171 ------------------ .../getFulfillmentMethodsWithQuotes.js | 41 ----- src/core-services/shipping/queries/index.js | 5 - .../resolvers/FulfillmentMethod/index.js | 5 - .../shipping/resolvers/Mutation/index.js | 7 - .../selectFulfillmentOptionForGroup.js | 43 ----- .../updateFulfillmentOptionsForGroup.js | 34 ---- src/core-services/shipping/resolvers/index.js | 12 -- src/core-services/shipping/schemas/index.js | 5 - .../shipping/schemas/schema.graphql | 61 ------- .../shipping/util/extendCommonOrder.js | 56 ------ .../shipping/util/getCartById.js | 34 ---- src/core-services/shipping/util/helpers.js | 70 ------- src/core-services/shipping/xforms/id.js | 14 -- 50 files changed, 40 insertions(+), 2675 deletions(-) delete mode 100644 src/core-services/shipping/i18n/ar.json delete mode 100644 src/core-services/shipping/i18n/bg.json delete mode 100644 src/core-services/shipping/i18n/cs.json delete mode 100644 src/core-services/shipping/i18n/de.json delete mode 100644 src/core-services/shipping/i18n/el.json delete mode 100644 src/core-services/shipping/i18n/en.json delete mode 100644 src/core-services/shipping/i18n/es.json delete mode 100644 src/core-services/shipping/i18n/fr.json delete mode 100644 src/core-services/shipping/i18n/he.json delete mode 100644 src/core-services/shipping/i18n/hr.json delete mode 100644 src/core-services/shipping/i18n/hu.json delete mode 100644 src/core-services/shipping/i18n/index.js delete mode 100644 src/core-services/shipping/i18n/it.json delete mode 100644 src/core-services/shipping/i18n/my.json delete mode 100644 src/core-services/shipping/i18n/nb.json delete mode 100644 src/core-services/shipping/i18n/nl.json delete mode 100644 src/core-services/shipping/i18n/pl.json delete mode 100644 src/core-services/shipping/i18n/pt.json delete mode 100644 src/core-services/shipping/i18n/ro.json delete mode 100644 src/core-services/shipping/i18n/ru.json delete mode 100644 src/core-services/shipping/i18n/sl.json delete mode 100644 src/core-services/shipping/i18n/sv.json delete mode 100644 src/core-services/shipping/i18n/tr.json delete mode 100644 src/core-services/shipping/i18n/vi.json delete mode 100644 src/core-services/shipping/i18n/zh.json delete mode 100644 src/core-services/shipping/index.js delete mode 100644 src/core-services/shipping/mutations/__snapshots__/selectFulfillmentOptionForGroup.test.js.snap delete mode 100644 src/core-services/shipping/mutations/__snapshots__/updateFulfillmentOptionsForGroup.test.js.snap delete mode 100644 src/core-services/shipping/mutations/index.js delete mode 100644 src/core-services/shipping/mutations/selectFulfillmentOptionForGroup.js delete mode 100644 src/core-services/shipping/mutations/selectFulfillmentOptionForGroup.test.js delete mode 100644 src/core-services/shipping/mutations/updateFulfillmentOptionsForGroup.js delete mode 100644 src/core-services/shipping/mutations/updateFulfillmentOptionsForGroup.test.js delete mode 100644 src/core-services/shipping/queries/getFulfillmentMethodsWithQuotes.js delete mode 100644 src/core-services/shipping/queries/index.js delete mode 100644 src/core-services/shipping/resolvers/FulfillmentMethod/index.js delete mode 100644 src/core-services/shipping/resolvers/Mutation/index.js delete mode 100644 src/core-services/shipping/resolvers/Mutation/selectFulfillmentOptionForGroup.js delete mode 100644 src/core-services/shipping/resolvers/Mutation/updateFulfillmentOptionsForGroup.js delete mode 100644 src/core-services/shipping/resolvers/index.js delete mode 100644 src/core-services/shipping/schemas/index.js delete mode 100644 src/core-services/shipping/schemas/schema.graphql delete mode 100644 src/core-services/shipping/util/extendCommonOrder.js delete mode 100644 src/core-services/shipping/util/getCartById.js delete mode 100644 src/core-services/shipping/util/helpers.js delete mode 100644 src/core-services/shipping/xforms/id.js diff --git a/jest.config.cjs b/jest.config.cjs index 9f68328d4e4..be3e7ed06bb 100644 --- a/jest.config.cjs +++ b/jest.config.cjs @@ -24,6 +24,7 @@ const externalNodeModules = [ "@reactioncommerce/api-plugin-products", "@reactioncommerce/api-plugin-settings", "@reactioncommerce/api-plugin-simple-schema", + "@reactioncommerce/api-plugin-shipments", "@reactioncommerce/api-plugin-shops", "@reactioncommerce/api-plugin-tags", "@reactioncommerce/api-utils", diff --git a/package-lock.json b/package-lock.json index 0d6cbd7fa54..4f71330b6f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1781,6 +1781,43 @@ "simpl-schema": "~1.5.6" } }, + "@reactioncommerce/api-plugin-shipments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@reactioncommerce/api-plugin-shipments/-/api-plugin-shipments-1.0.0.tgz", + "integrity": "sha512-nGS3Znab0jQbnBhD+etdcDYkJ/Uz+LJUnhdHDUJ//FcLooopX7DJ+v0oVbFKvI5n1W5PPBLgiZ5f3f9BmME0jw==", + "requires": { + "@reactioncommerce/api-utils": "^1.12.0", + "@reactioncommerce/logger": "^1.1.3", + "@reactioncommerce/reaction-error": "^1.0.1", + "lodash": "^4.17.15", + "simpl-schema": "^1.5.7" + }, + "dependencies": { + "@reactioncommerce/api-utils": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@reactioncommerce/api-utils/-/api-utils-1.12.0.tgz", + "integrity": "sha512-5zePbau5ERFeD47xPclSmloinOPZzainxfAVghCetPVBdCxabH0EgAQ/uaHcZ4KDXrQRU80NxZ9yxTeiZrZRpQ==", + "requires": { + "@reactioncommerce/logger": "^1.1.3", + "@reactioncommerce/random": "^1.0.2", + "@reactioncommerce/reaction-error": "^1.0.1", + "accounting-js": "^1.1.1", + "callsite": "^1.0.0", + "graphql": "^14.6.0", + "graphql-fields": "^2.0.3", + "graphql-relay": "^0.6.0", + "lodash": "^4.17.15", + "ramda": "^0.27.0", + "transliteration": "^2.1.8" + } + }, + "ramda": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.0.tgz", + "integrity": "sha512-pVzZdDpWwWqEVVLshWUHjNwuVP7SfcmPraYuqocJp1yo2U1R7P+5QAfDhdItkuoGqIBnBYrtPp7rEPqDn9HlZA==" + } + } + }, "@reactioncommerce/api-plugin-shops": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@reactioncommerce/api-plugin-shops/-/api-plugin-shops-1.0.0.tgz", diff --git a/package.json b/package.json index abfa5fdc2f4..d7c061f6a47 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@reactioncommerce/api-plugin-payments-stripe": "~1.0.0", "@reactioncommerce/api-plugin-products": "~1.0.0", "@reactioncommerce/api-plugin-settings": "~1.0.0", + "@reactioncommerce/api-plugin-shipments": "~1.0.0", "@reactioncommerce/api-plugin-shops": "~1.0.0", "@reactioncommerce/api-plugin-simple-schema": "~1.0.0", "@reactioncommerce/api-plugin-tags": "~1.0.0", diff --git a/plugins.json b/plugins.json index 4b21a7f9841..c11ba0a9e7f 100644 --- a/plugins.json +++ b/plugins.json @@ -23,7 +23,7 @@ "product": "@reactioncommerce/api-plugin-products", "sMTPEmail": "@reactioncommerce/api-plugin-email-smtp", "settings": "@reactioncommerce/api-plugin-settings", - "shipping": "./src/core-services/shipping/index.js", + "shipments": "@reactioncommerce/api-plugin-shipments", "shippingRates": "./src/plugins/shipping-rates/index.js", "shops": "@reactioncommerce/api-plugin-shops", "simpleInventory": "@reactioncommerce/api-plugin-inventory-simple", diff --git a/src/core-services/shipping/i18n/ar.json b/src/core-services/shipping/i18n/ar.json deleted file mode 100644 index bb9389c2632..00000000000 --- a/src/core-services/shipping/i18n/ar.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "ar", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "الشحن", - "shippingTitle": "الشحن", - "shippingDescription": "توفير معدلات الشحن" - }, - "settings": { - "shippingLabel": "الشحن" - } - }, - "checkoutShipping": { - "selectShippingOption": "حدد خيار الشحن", - "noShippingMethods": "يتم تكوين أي وسائل النقل البحري.", - "contactAdmin": "يرجى الاتصال بمسؤول المتجر.", - "configureNow": "تكوين الآن.", - "shipping": "الشحن" - }, - "shipping": { - "addShippingProvider": "إضافة مزود الشحن", - "editShippingProvider": "تحرير مزود الشحن", - "addShippingMethod": "إضافة وسيلة النقل البحري", - "editShippingMethod": "تعديل طريقة الشحن", - "deleteShippingMethod": "حذف طريقة الشحن", - "noSettingsForThisView": "أي إعدادات لهذا الرأي", - "noShippingMethods": "يتم تكوين أي وسائل النقل البحري.", - "removeShippingMethodConfirm": "هل أنت متأكد أنك تريد حذف {{method}}؟", - "removeShippingMethodTitle": "إزالة طريقة شحن", - "shippingMethodDeleted": "لقد تم حذف هذه طريقة الشحن.", - "removeShippingProvider": "إزالة الشحن موفر", - "removeShippingProviderConfirm": "هل أنت متأكد أنك تريد حذف {{provider}}؟", - "shippingProviderSaved": "مزود الشحن حفظها.", - "shippingProviderUpdated": "تجديد البيانات مزود الشحن.", - "shippingMethodRateAdded": "وأضاف معدل طريقة الشحن.", - "shippingMethodRateUpdated": "الشحن معدل طريقة تحديثها.", - "name": "اسم", - "label": "ملصق", - "group": "مجموعة", - "cost": "كلفة", - "handling": "معالجة", - "rate": "معدل", - "enabled": "تمكين", - "disabled": "تعطيل", - "addRate": "إضافة معدل", - "updateRate": "تحديث معدل {{name}}", - "addNewCondition": "إضافة حالة جديدة", - "deleteCondition": "حذف شرط", - "provider": { - "name": "رمز الخدمة", - "label": "تسمية العامة", - "enabled": "تمكين" - } - }, - "shippingMethod": { - "name": "اسم الطريقة", - "label": "تسمية العامة", - "group": "مجموعة", - "cost": "كلفة", - "handling": "معالجة", - "rate": "معدل", - "enabled": "تمكين", - "matchingCartRanges": "مطابقة نطاقات العربة", - "validRanges": { - "begin": "ابدأ", - "end": "النهاية" - }, - "matchingLocales": "مطابقة لغات", - "validLocales": { - "origination": "من عند", - "destination": "إلى", - "deliveryBegin": "مؤسسة النقل البحري.", - "deliveryEnd": "مؤسسة التسليم." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/bg.json b/src/core-services/shipping/i18n/bg.json deleted file mode 100644 index 7ad363c01c2..00000000000 --- a/src/core-services/shipping/i18n/bg.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "bg", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Доставка", - "shippingTitle": "Доставка", - "shippingDescription": "Осигуряване на тарифите за доставка" - }, - "settings": { - "shippingLabel": "Доставка" - } - }, - "checkoutShipping": { - "selectShippingOption": "Изберете опция за доставка", - "noShippingMethods": "Не са методи на доставка са конфигурирани.", - "contactAdmin": "Моля, свържете се с администратора на магазина.", - "configureNow": "Конфигуриране на предприятието.", - "shipping": "Доставка" - }, - "shipping": { - "addShippingProvider": "Добави доставчик корабоплаването", - "editShippingProvider": "Edit доставчик корабоплаването", - "addShippingMethod": "Добави начин за доставка", - "editShippingMethod": "метод Edit корабоплаването", - "deleteShippingMethod": "Изтриване на начин за доставка", - "noSettingsForThisView": "Не настройки за тази гледка", - "noShippingMethods": "Не са методи на доставка са конфигурирани.", - "removeShippingMethodConfirm": "Сигурни ли сте, че искате да изтриете {{method}}?", - "removeShippingMethodTitle": "Премахване Начин на доставка", - "shippingMethodDeleted": "Този метод на пратката е била изтрита.", - "removeShippingProvider": "Премахване Provider Доставка", - "removeShippingProviderConfirm": "Сигурни ли сте, че искате да изтриете {{provider}}?", - "shippingProviderSaved": "доставчик Доставка спасен.", - "shippingProviderUpdated": "актуализирани данни на доставчика за доставка.", - "shippingMethodRateAdded": "прибавя процент Доставка метод.", - "shippingMethodRateUpdated": "ставка метод за доставка се обновява.", - "name": "Име", - "label": "Етикет", - "group": "група", - "cost": "цена", - "handling": "боравене", - "rate": "скорост", - "enabled": "Enabled", - "disabled": "хора с увреждания", - "addRate": "Добави скорост", - "updateRate": "Актуализация {{name}} скорост", - "addNewCondition": "Добавяне на нов състояние", - "deleteCondition": "Изтриване състояние", - "provider": { - "name": "Service Code", - "label": "Public Label", - "enabled": "Enabled" - } - }, - "shippingMethod": { - "name": "Име на метода", - "label": "Public Label", - "group": "група", - "cost": "цена", - "handling": "боравене", - "rate": "скорост", - "enabled": "Enabled", - "matchingCartRanges": "Съвпадение Количка диапазоните", - "validRanges": { - "begin": "започвам", - "end": "Край" - }, - "matchingLocales": "съвпадение Локалите", - "validLocales": { - "origination": "от", - "destination": "Да се", - "deliveryBegin": "Доставка Est.", - "deliveryEnd": "Доставка Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/cs.json b/src/core-services/shipping/i18n/cs.json deleted file mode 100644 index cf713e46963..00000000000 --- a/src/core-services/shipping/i18n/cs.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "cs", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "lodní", - "shippingTitle": "lodní", - "shippingDescription": "Poskytnout sazby za dopravu" - }, - "settings": { - "shippingLabel": "lodní" - } - }, - "checkoutShipping": { - "selectShippingOption": "Vyberte možnost lodní", - "noShippingMethods": "Žádné způsoby dopravy jsou konfigurovány.", - "contactAdmin": "Obraťte se na správce obchodu.", - "configureNow": "Nakofigurujte.", - "shipping": "lodní" - }, - "shipping": { - "addShippingProvider": "Přidat provozovatele přepravní", - "editShippingProvider": "Editovat poskytovatel lodní", - "addShippingMethod": "Přidat způsob dopravy", - "editShippingMethod": "Upravit způsob dopravy", - "deleteShippingMethod": "Smazat způsob dopravy", - "noSettingsForThisView": "Žádná nastavení pro tento názor", - "noShippingMethods": "Žádné způsoby dopravy jsou konfigurovány.", - "removeShippingMethodConfirm": "Jste si jisti, že chcete smazat {{method}}?", - "removeShippingMethodTitle": "Odstraňte Způsob dopravy", - "shippingMethodDeleted": "Tento způsob dopravy byla smazána.", - "removeShippingProvider": "Odstraňte Shipping Provider", - "removeShippingProviderConfirm": "Jste si jisti, že chcete smazat {{provider}}?", - "shippingProviderSaved": "Poskytovatel vodní doprava uložen.", - "shippingProviderUpdated": "Data Provider vodní doprava aktualizována.", - "shippingMethodRateAdded": "Způsob dopravy rychlost přidán.", - "shippingMethodRateUpdated": "Způsob dopravy rychlost aktualizován.", - "name": "Název", - "label": "Označení", - "group": "Skupina", - "cost": "Náklady", - "handling": "Zacházení", - "rate": "Rychlost", - "enabled": "Povoleno", - "disabled": "invalidní", - "addRate": "Přidejte míru", - "updateRate": "Aktualizace {{name}} rychlost", - "addNewCondition": "Přidat novou podmínku", - "deleteCondition": "smazat podmínku", - "provider": { - "name": "Service Code", - "label": "veřejné Label", - "enabled": "Povoleno" - } - }, - "shippingMethod": { - "name": "Jméno metoda", - "label": "veřejné Label", - "group": "Skupina", - "cost": "Náklady", - "handling": "Zacházení", - "rate": "Rychlost", - "enabled": "Povoleno", - "matchingCartRanges": "Odpovídající košík rozsahy", - "validRanges": { - "begin": "Začít", - "end": "Konec" - }, - "matchingLocales": "odpovídající místního prostredí", - "validLocales": { - "origination": "Od", - "destination": "Na", - "deliveryBegin": "Vodní doprava Est.", - "deliveryEnd": "Dodávka Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/de.json b/src/core-services/shipping/i18n/de.json deleted file mode 100644 index ecabec831e6..00000000000 --- a/src/core-services/shipping/i18n/de.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "de", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Versand", - "shippingTitle": "Versand", - "shippingDescription": "Geben Sie Versandkosten" - }, - "settings": { - "shippingLabel": "Versand" - } - }, - "checkoutShipping": { - "selectShippingOption": "Wählen Versandoption", - "noShippingMethods": "Keine Versandmethoden konfiguriert sind.", - "contactAdmin": "Bitte wenden Sie sich an den Ladenverwalter.", - "configureNow": "Jetzt konfigurieren.", - "shipping": "Versand" - }, - "shipping": { - "addShippingProvider": "Versandkosten Anbieter", - "editShippingProvider": "Bearbeiten Versandanbieter", - "addShippingMethod": "In Verfahren Versand", - "editShippingMethod": "Bearbeiten Versandart", - "deleteShippingMethod": "Löschen Versandart", - "noSettingsForThisView": "Keine Einstellungen für diese Ansicht", - "noShippingMethods": "Keine Versandmethoden konfiguriert sind.", - "removeShippingMethodConfirm": "Sind Sie sicher, dass Sie {{method}} löschen?", - "removeShippingMethodTitle": "Entfernen Sie Versandart", - "shippingMethodDeleted": "Diese Versandart wurde gelöscht.", - "removeShippingProvider": "Entfernen Sie Liefer-Provider", - "removeShippingProviderConfirm": "Sind Sie sicher, dass Sie {{provider}} löschen?", - "shippingProviderSaved": "Versandanbieters gespeichert.", - "shippingProviderUpdated": "Versand-Provider-Daten aktualisiert.", - "shippingMethodRateAdded": "Versandart Rate hinzugefügt.", - "shippingMethodRateUpdated": "Versandart Rate aktualisiert.", - "name": "Name", - "label": "Etikette", - "group": "Gruppe", - "cost": "Kosten", - "handling": "Handhabung", - "rate": "Preis", - "enabled": "Aktiviert", - "disabled": "Behindert", - "addRate": "In Rate", - "updateRate": "Update-Rate {{name}}", - "addNewCondition": "Hinzufügen neuer Zustand", - "deleteCondition": "Bedingung löschen", - "provider": { - "name": "Servicecode", - "label": "Öffentliche Etikett", - "enabled": "Aktiviert" - } - }, - "shippingMethod": { - "name": "Methodenname", - "label": "Öffentliche Etikett", - "group": "Gruppe", - "cost": "Kosten", - "handling": "Handhabung", - "rate": "Preis", - "enabled": "Aktiviert", - "matchingCartRanges": "Passende Wagen Ranges", - "validRanges": { - "begin": "Start", - "end": "Ende" - }, - "matchingLocales": "Passende Locales", - "validLocales": { - "origination": "Von", - "destination": "Bis", - "deliveryBegin": "Versand Est.", - "deliveryEnd": "Lieferung Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/el.json b/src/core-services/shipping/i18n/el.json deleted file mode 100644 index 97fb9d68a78..00000000000 --- a/src/core-services/shipping/i18n/el.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "el", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Αποστολή", - "shippingTitle": "Αποστολή", - "shippingDescription": "Παρέχουν τα έξοδα αποστολής" - }, - "settings": { - "shippingLabel": "Αποστολή" - } - }, - "checkoutShipping": { - "selectShippingOption": "Επιλέξτε την επιλογή αποστολής", - "noShippingMethods": "Δεν μέθοδοι ναυτιλίας ρυθμιστεί.", - "contactAdmin": "Επικοινωνήστε με τον διαχειριστή του καταστήματος.", - "configureNow": "Διαμορφώστε τώρα.", - "shipping": "Αποστολή" - }, - "shipping": { - "addShippingProvider": "Προσθέστε την υπηρεσία αποστολής", - "editShippingProvider": "Επεξεργασία υπηρεσία αποστολής", - "addShippingMethod": "Προσθήκη μέθοδο αποστολής", - "editShippingMethod": "Επεξεργασία μεθόδου αποστολής", - "deleteShippingMethod": "Διαγραφή μέθοδο αποστολής", - "noSettingsForThisView": "Δεν υπάρχουν ρυθμίσεις για αυτό το σκοπό", - "noShippingMethods": "Δεν μέθοδοι ναυτιλίας ρυθμιστεί.", - "removeShippingMethodConfirm": "Είστε σίγουροι ότι θέλετε να διαγράψετε {{method}};", - "removeShippingMethodTitle": "Κατάργηση Μέθοδος ναυτιλίας", - "shippingMethodDeleted": "Αυτή η μέθοδος ναυτιλίας έχει διαγραφεί.", - "removeShippingProvider": "Κατάργηση Provider Ναυτιλίας", - "removeShippingProviderConfirm": "Είστε σίγουροι ότι θέλετε να διαγράψετε {{provider}};", - "shippingProviderSaved": "Ο πάροχος υπηρεσιών αποστολής σωθεί.", - "shippingProviderUpdated": "ενημερωμένα δεδομένα παρόχου ναυτιλία.", - "shippingMethodRateAdded": "ρυθμός μέθοδο αποστολής πρόσθεσε.", - "shippingMethodRateUpdated": "ρυθμός μέθοδο αποστολής ενημερωθεί.", - "name": "Όνομα", - "label": "Επιγραφή", - "group": "Ομάδα", - "cost": "Κόστος", - "handling": "Χειριζόμενος", - "rate": "Τιμή", - "enabled": "Ενεργοποιήθηκε", - "disabled": "Ανάπηρος", - "addRate": "Προσθέστε ποσοστό", - "updateRate": "ρυθμό ανανέωσης {{name}}", - "addNewCondition": "Προσθήκη νέου κατάσταση", - "deleteCondition": "Διαγραφή κατάσταση", - "provider": { - "name": "Κωδικός υπηρεσίας", - "label": "δημόσια Label", - "enabled": "Ενεργοποιήθηκε" - } - }, - "shippingMethod": { - "name": "Όνομα μέθοδο", - "label": "δημόσια Label", - "group": "Ομάδα", - "cost": "Κόστος", - "handling": "Χειριζόμενος", - "rate": "Τιμή", - "enabled": "Ενεργοποιήθηκε", - "matchingCartRanges": "Ταιριάζουν καλαθιού Σειρές", - "validRanges": { - "begin": "Αρχίζουν", - "end": "Τέλος" - }, - "matchingLocales": "ταιριάζουν Τοπικές", - "validLocales": { - "origination": "Από", - "destination": "Να", - "deliveryBegin": "Αποστολές Est.", - "deliveryEnd": "Παράδοση Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/en.json b/src/core-services/shipping/i18n/en.json deleted file mode 100644 index cbd127afaac..00000000000 --- a/src/core-services/shipping/i18n/en.json +++ /dev/null @@ -1,84 +0,0 @@ -[{ - "i18n": "en", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Shipping", - "shippingTitle": "Shipping", - "shippingDescription": "Provide shipping rates" - }, - "settings": { - "shippingLabel": "Shipping" - } - }, - "checkoutShipping": { - "selectShippingOption": "Select shipping option", - "noShippingMethods": "No shipping methods are configured.", - "contactAdmin": "Please contact the store administrator.", - "configureNow": "Configure now.", - "shipping": "Shipping" - }, - "shipping": { - "addShippingProvider": "Add shipping provider", - "editShippingProvider": "Edit shipping provider", - "addShippingMethod": "Add shipping method", - "editShippingMethod": "Edit shipping method", - "deleteShippingMethod": "Delete shipping method", - "noSettingsForThisView": "No settings for this view", - "noShippingMethods": "No shipping methods are configured.", - "removeShippingMethodConfirm": "Are you sure you want to delete {{method}}?", - "removeShippingMethodTitle": "Remove Shipping Method", - "shippingMethodDeleted": "This shipping method has been deleted.", - "removeShippingProvider": "Remove Shipping Provider", - "removeShippingProviderConfirm": "Are you sure you want to delete {{provider}}?", - "shippingProviderSaved": "Shipping provider saved.", - "shippingProviderUpdated": "Shipping provider data updated.", - "shippingMethodRateAdded": "Shipping method rate added.", - "shippingMethodRateUpdated": "Shipping method rate updated.", - "name": "Name", - "label": "Label", - "group": "Group", - "cost": "Cost", - "handling": "Handling", - "rate": "Rate", - "enabled": "Enabled", - "disabled": "Disabled", - "addRate": "Add rate", - "updateRate": "Update {{name}} rate", - "addNewCondition": "Add new condition", - "deleteCondition": "Delete condition", - "provider": { - "name": "Service Code", - "label": "Public Label", - "enabled": "Enabled" - } - }, - "shippingMethod": { - "name": "Method Name", - "label": "Public Label", - "group": "Group", - "cost": "Cost", - "handling": "Handling", - "rate": "Rate", - "enabled": "Enabled", - "matchingCartRanges": "Matching Cart Ranges", - "validRanges": { - "begin": "Begin", - "end": "End" - }, - "matchingLocales": "Matching Locales", - "validLocales": { - "origination": "From", - "destination": "To", - "deliveryBegin": "Shipping Est.", - "deliveryEnd": "Delivery Est." - } - }, - "defaultParcelSize": { - "label": "Default Parcel Size" - } - } - } -}] diff --git a/src/core-services/shipping/i18n/es.json b/src/core-services/shipping/i18n/es.json deleted file mode 100644 index e29d15b1639..00000000000 --- a/src/core-services/shipping/i18n/es.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "es", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Envío", - "shippingTitle": "Envío", - "shippingDescription": "Indicar gastos de envío" - }, - "settings": { - "shippingLabel": "Envío" - } - }, - "checkoutShipping": { - "selectShippingOption": "Seleccione la opción de envío", - "noShippingMethods": "No hay métodos de envío están configurados.", - "contactAdmin": "Póngase en contacto con el administrador de la tienda.", - "configureNow": "Configurar ahora.", - "shipping": "Envío" - }, - "shipping": { - "addShippingProvider": "Añadir la empresa de transportes", - "editShippingProvider": "Editar proveedor de envío", - "addShippingMethod": "Añadir método de envío", - "editShippingMethod": "Editar método de envío", - "deleteShippingMethod": "Eliminar método de envío", - "noSettingsForThisView": "No hay parámetros para este punto de vista", - "noShippingMethods": "No hay métodos de envío están configurados.", - "removeShippingMethodConfirm": "¿Está seguro de que quiere eliminar {{method}}?", - "removeShippingMethodTitle": "Retire Método de envío", - "shippingMethodDeleted": "Este método de envío que se ha suprimido.", - "removeShippingProvider": "Retire Proveedor de envío", - "removeShippingProviderConfirm": "¿Está seguro de que quiere eliminar {{provider}}?", - "shippingProviderSaved": "Formas de envío salvó.", - "shippingProviderUpdated": "Formas de envío de datos actualizados.", - "shippingMethodRateAdded": "tasa método de envío añadió.", - "shippingMethodRateUpdated": "tasa de actualización del método de envío.", - "name": "Nombre", - "label": "Etiqueta", - "group": "Grupo", - "cost": "Costo", - "handling": "Manejo", - "rate": "Tarifa", - "enabled": "Activado", - "disabled": "Discapacitados", - "addRate": "Añadir tasa", - "updateRate": "Velocidad de actualización {{name}}", - "addNewCondition": "Añadir nueva condición", - "deleteCondition": "eliminar condición", - "provider": { - "name": "Código de servicio", - "label": "Etiqueta pública", - "enabled": "Activado" - } - }, - "shippingMethod": { - "name": "Nombre del método", - "label": "Etiqueta pública", - "group": "Grupo", - "cost": "Costo", - "handling": "Manejo", - "rate": "Tarifa", - "enabled": "Activado", - "matchingCartRanges": "Coincidencia Cesta Gamas", - "validRanges": { - "begin": "Empezar", - "end": "Fin" - }, - "matchingLocales": "Locales a juego", - "validLocales": { - "origination": "De", - "destination": "A", - "deliveryBegin": "Este envío.", - "deliveryEnd": "Entrega Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/fr.json b/src/core-services/shipping/i18n/fr.json deleted file mode 100644 index da7fa9e3c7e..00000000000 --- a/src/core-services/shipping/i18n/fr.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "fr", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Livraison", - "shippingTitle": "Livraison", - "shippingDescription": "Gérer les frais de port" - }, - "settings": { - "shippingLabel": "Livraison" - } - }, - "checkoutShipping": { - "selectShippingOption": "Sélectionnez une option d'expédition", - "noShippingMethods": "Aucune méthode d'expédition n'est configurée.", - "contactAdmin": "Veuillez contacter l'administrateur de la boutique.", - "configureNow": "Configurer maintenant.", - "shipping": "Livraison" - }, - "shipping": { - "addShippingProvider": "Ajouter un transporteur", - "editShippingProvider": "Modifier le transporteur", - "addShippingMethod": "Ajouter un mode de livraison", - "editShippingMethod": "Modifier le mode de livraison", - "deleteShippingMethod": "Supprimer le mode de livraison", - "noSettingsForThisView": "Pas de paramètres pour cette vue", - "noShippingMethods": "Aucune méthode d'expédition n'est configurée.", - "removeShippingMethodConfirm": "Êtes-vous sûr de vouloir supprimer {{method}} ?", - "removeShippingMethodTitle": "Supprimer le mode de livraison", - "shippingMethodDeleted": "Ce mode de livraison a été supprimé.", - "removeShippingProvider": "Supprimer le transporteur", - "removeShippingProviderConfirm": "Êtes-vous sûr de vouloir supprimer {{provider}}?", - "shippingProviderSaved": "Mode de livraison sauvegardé.", - "shippingProviderUpdated": "Données du fournisseur de livraison mises à jour.", - "shippingMethodRateAdded": "Tarif de livraison ajouté.", - "shippingMethodRateUpdated": "Tarif de livraison mis à jour.", - "name": "Nom", - "label": "Étiquette", - "group": "Groupe", - "cost": "Coût", - "handling": "Prise en charge", - "rate": "Taux", - "enabled": "Activé", - "disabled": "Désactivé", - "addRate": "Ajouter tarif", - "updateRate": "Mettre à jour le tarif {{name}}", - "addNewCondition": "Ajouter un nouvel état", - "deleteCondition": "Supprimer l'état", - "provider": { - "name": "Référence interne", - "label": "Nom public", - "enabled": "Activé" - } - }, - "shippingMethod": { - "name": "Référence interne", - "label": "Nom public", - "group": "Groupe", - "cost": "Coût", - "handling": "Prise en charge", - "rate": "Taux", - "enabled": "Activé", - "matchingCartRanges": "Fourchette de panier correspondante", - "validRanges": { - "begin": "Début", - "end": "Fin" - }, - "matchingLocales": "Localités correspondantes", - "validLocales": { - "origination": "Au départ de", - "destination": "Vers", - "deliveryBegin": "Estimation des frais de port", - "deliveryEnd": "Livraison estimée" - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/he.json b/src/core-services/shipping/i18n/he.json deleted file mode 100644 index a962347f7d5..00000000000 --- a/src/core-services/shipping/i18n/he.json +++ /dev/null @@ -1,5 +0,0 @@ -[{ - "i18n": "he", - "ns": "reaction-shipping", - "translation": { } -}] diff --git a/src/core-services/shipping/i18n/hr.json b/src/core-services/shipping/i18n/hr.json deleted file mode 100644 index 04b190e24bc..00000000000 --- a/src/core-services/shipping/i18n/hr.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "hr", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "dostava", - "shippingTitle": "dostava", - "shippingDescription": "Osigurati cijene dostave" - }, - "settings": { - "shippingLabel": "dostava" - } - }, - "checkoutShipping": { - "selectShippingOption": "Odaberite opciju dostave", - "noShippingMethods": "Nema načina dostave konfigurirane.", - "contactAdmin": "Obratite se administratoru trgovine.", - "configureNow": "Konfiguracija sada.", - "shipping": "dostava" - }, - "shipping": { - "addShippingProvider": "Dodaj dostave davatelja", - "editShippingProvider": "Uredi ponuđač dostave", - "addShippingMethod": "Dodaj način dostave", - "editShippingMethod": "Uredite način dostave", - "deleteShippingMethod": "Brisanje način dostave", - "noSettingsForThisView": "Nema postavki za ovu pogled", - "noShippingMethods": "Nema načina dostave konfigurirane.", - "removeShippingMethodConfirm": "Jeste li sigurni da želite obrisati {{method}}?", - "removeShippingMethodTitle": "Ukloni Način dostave", - "shippingMethodDeleted": "Ova metoda dostave je obrisan.", - "removeShippingProvider": "Ukloni Dostava Provider", - "removeShippingProviderConfirm": "Jeste li sigurni da želite obrisati {{provider}}?", - "shippingProviderSaved": "Dostava davatelj spasio.", - "shippingProviderUpdated": "Dostava davatelja podataka ažurirati.", - "shippingMethodRateAdded": "Dostava stopa metoda dodan.", - "shippingMethodRateUpdated": "Dostava stopa metoda ažuriran.", - "name": "Ime", - "label": "Označiti", - "group": "Skupina", - "cost": "cijena", - "handling": "Rukovanje", - "rate": "Stopa", - "enabled": "Omogućeno", - "disabled": "onesposobljen", - "addRate": "Dodaj stopu", - "updateRate": "Ažuriranje {{name}} stopa", - "addNewCondition": "Dodaj novo stanje", - "deleteCondition": "Brisanje stanje", - "provider": { - "name": "kod usluga", - "label": "Javni Label", - "enabled": "Omogućeno" - } - }, - "shippingMethod": { - "name": "Naziv metoda", - "label": "Javni Label", - "group": "Skupina", - "cost": "cijena", - "handling": "Rukovanje", - "rate": "Stopa", - "enabled": "Omogućeno", - "matchingCartRanges": "Odgovarajući košarice rasponi", - "validRanges": { - "begin": "Početi", - "end": "Kraj" - }, - "matchingLocales": "odgovarajući locales", - "validLocales": { - "origination": "Iz", - "destination": "Do", - "deliveryBegin": "Dostava Est.", - "deliveryEnd": "Isporuka Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/hu.json b/src/core-services/shipping/i18n/hu.json deleted file mode 100644 index c090a42a9ca..00000000000 --- a/src/core-services/shipping/i18n/hu.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "hu", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Szállítás", - "shippingTitle": "Szállítás", - "shippingDescription": "Adjon szállítási díjak" - }, - "settings": { - "shippingLabel": "Szállítás" - } - }, - "checkoutShipping": { - "selectShippingOption": "Válassza ki a szállítási opciót", - "noShippingMethods": "Nincs szállítási módszerek vannak beállítva.", - "contactAdmin": "Kérjük, forduljon a bolt rendszergazda.", - "configureNow": "Konfigurálása most.", - "shipping": "Szállítás" - }, - "shipping": { - "addShippingProvider": "Add szállítási szolgáltató", - "editShippingProvider": "Szállítás szerkesztése szolgáltató", - "addShippingMethod": "Add szállítási mód", - "editShippingMethod": "Szállítási mód szerkesztése", - "deleteShippingMethod": "Törlés szállítási mód", - "noSettingsForThisView": "Nincs beállítás ehhez a nézethez", - "noShippingMethods": "Nincs szállítási módszerek vannak beállítva.", - "removeShippingMethodConfirm": "Biztosan törölni szeretné {{method}}?", - "removeShippingMethodTitle": "Távolítsuk Szállítás módja", - "shippingMethodDeleted": "Ez a szállítási mód törölték.", - "removeShippingProvider": "Távolítsuk el a Szállítási Szolgáltató", - "removeShippingProviderConfirm": "Biztosan törölni szeretné {{provider}}?", - "shippingProviderSaved": "Szállítási szolgáltató mentve.", - "shippingProviderUpdated": "Szállítási szolgáltató adatai módosítva.", - "shippingMethodRateAdded": "Szállítási mód arány hozzá.", - "shippingMethodRateUpdated": "Szállítási mód sebesség frissíteni.", - "name": "Név", - "label": "Címke", - "group": "Csoport", - "cost": "Költség", - "handling": "Kezelése", - "rate": "Arány", - "enabled": "Engedélyezett", - "disabled": "Tiltva", - "addRate": "Add ráta", - "updateRate": "Frissítés {{name}} ráta", - "addNewCondition": "Új állapot", - "deleteCondition": "Törlés állapotban", - "provider": { - "name": "Service Code", - "label": "Public Label", - "enabled": "Engedélyezett" - } - }, - "shippingMethod": { - "name": "módszer neve", - "label": "Public Label", - "group": "Csoport", - "cost": "Költség", - "handling": "Kezelése", - "rate": "Arány", - "enabled": "Engedélyezett", - "matchingCartRanges": "Matching Cart tartományok", - "validRanges": { - "begin": "Kezdődik", - "end": "vég" - }, - "matchingLocales": "Matching Nyelv", - "validLocales": { - "origination": "Ból ből", - "destination": "Nak nek", - "deliveryBegin": "Szállítási Est.", - "deliveryEnd": "Szállítási Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/index.js b/src/core-services/shipping/i18n/index.js deleted file mode 100644 index 9deb0a6b6e7..00000000000 --- a/src/core-services/shipping/i18n/index.js +++ /dev/null @@ -1,54 +0,0 @@ -import ar from "./ar.json"; -import bg from "./bg.json"; -import de from "./de.json"; -import el from "./el.json"; -import en from "./en.json"; -import es from "./es.json"; -import fr from "./fr.json"; -import he from "./he.json"; -import hr from "./hr.json"; -import it from "./it.json"; -import my from "./my.json"; -import nb from "./nb.json"; -import nl from "./nl.json"; -import pl from "./pl.json"; -import pt from "./pt.json"; -import ro from "./ro.json"; -import ru from "./ru.json"; -import sl from "./sl.json"; -import sv from "./sv.json"; -import tr from "./tr.json"; -import vi from "./vi.json"; -import zh from "./zh.json"; - -// -// we want all the files in individual -// imports for easier handling by -// automated translation software -// -export default { - translations: [ - ...ar, - ...bg, - ...de, - ...el, - ...en, - ...es, - ...fr, - ...he, - ...hr, - ...it, - ...my, - ...nb, - ...nl, - ...pl, - ...pt, - ...ro, - ...ru, - ...sl, - ...sv, - ...tr, - ...vi, - ...zh - ] -}; diff --git a/src/core-services/shipping/i18n/it.json b/src/core-services/shipping/i18n/it.json deleted file mode 100644 index e47cf932b82..00000000000 --- a/src/core-services/shipping/i18n/it.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "it", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "spedizione", - "shippingTitle": "spedizione", - "shippingDescription": "Fornire le tariffe di spedizione" - }, - "settings": { - "shippingLabel": "spedizione" - } - }, - "checkoutShipping": { - "selectShippingOption": "Selezionare l'opzione di spedizione", - "noShippingMethods": "No Metodi di spedizione sono configurati.", - "contactAdmin": "Contattare l'amministratore del negozio.", - "configureNow": "Configurare ora.", - "shipping": "spedizione" - }, - "shipping": { - "addShippingProvider": "Aggiungere corriere", - "editShippingProvider": "Fornitore di trasporto Modifica", - "addShippingMethod": "Aggiungere il metodo di spedizione", - "editShippingMethod": "Modifica metodo di spedizione", - "deleteShippingMethod": "Elimina metodo di spedizione", - "noSettingsForThisView": "Nessuna impostazione per questo punto di vista", - "noShippingMethods": "No Metodi di spedizione sono configurati.", - "removeShippingMethodConfirm": "Sei sicuro di voler eliminare {{method}}?", - "removeShippingMethodTitle": "Rimuovere Metodo di Spedizione", - "shippingMethodDeleted": "Questo metodo di trasporto è stato eliminato.", - "removeShippingProvider": "Rimuovere Spedizione Provider", - "removeShippingProviderConfirm": "Sei sicuro di voler eliminare {{provider}}?", - "shippingProviderSaved": "Fornitore di trasporto salvato.", - "shippingProviderUpdated": "i dati del provider Spedizione aggiornati.", - "shippingMethodRateAdded": "tasso Metodo di trasporto aggiunto.", - "shippingMethodRateUpdated": "tasso Metodo di trasporto aggiornato.", - "name": "Nome", - "label": "Etichetta", - "group": "Gruppo", - "cost": "Costo", - "handling": "maneggio", - "rate": "Tasso", - "enabled": "Abilitato", - "disabled": "Disabilitato", - "addRate": "Aggiungere tasso", - "updateRate": "Velocità di aggiornamento {{name}}", - "addNewCondition": "Aggiungi nuova condizione", - "deleteCondition": "Eliminare condizioni", - "provider": { - "name": "Codice servizio", - "label": "pubblico Label", - "enabled": "Abilitato" - } - }, - "shippingMethod": { - "name": "Nome metodo", - "label": "pubblico Label", - "group": "Gruppo", - "cost": "Costo", - "handling": "maneggio", - "rate": "Tasso", - "enabled": "Abilitato", - "matchingCartRanges": "Abbinamento Carrello Ranges", - "validRanges": { - "begin": "Inizio", - "end": "Fine" - }, - "matchingLocales": "Impostazioni internazionali di corrispondenza", - "validLocales": { - "origination": "Da", - "destination": "A", - "deliveryBegin": "Spedizione Est.", - "deliveryEnd": "Consegna Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/my.json b/src/core-services/shipping/i18n/my.json deleted file mode 100644 index 58dc97340b9..00000000000 --- a/src/core-services/shipping/i18n/my.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "my", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "သင်္ဘောဖြင့်ကုန်ပစ္စည်းပို့ခြင်း", - "shippingTitle": "သင်္ဘောဖြင့်ကုန်ပစ္စည်းပို့ခြင်း", - "shippingDescription": "ရေကြောင်းနှုန်းထားများပေး" - }, - "settings": { - "shippingLabel": "သင်္ဘောဖြင့်ကုန်ပစ္စည်းပို့ခြင်း" - } - }, - "checkoutShipping": { - "selectShippingOption": "ရေကြောင်း option ကို Select လုပ်ပါ", - "noShippingMethods": "အဘယ်သူမျှမရေကြောင်းနည်းလမ်းများ configured ကြသည်။", - "contactAdmin": "စတိုးဆိုင်စီမံခန့်ခွဲသူကိုဆက်သွယ်ပါ။", - "configureNow": "ယခု configure ။", - "shipping": "သင်္ဘောဖြင့်ကုန်ပစ္စည်းပို့ခြင်း" - }, - "shipping": { - "addShippingProvider": "ရေကြောင်းပံ့ပိုးပေး Add", - "editShippingProvider": "Edit ကိုရေကြောင်းပံ့ပိုးပေး", - "addShippingMethod": "ရေကြောင်းနည်းလမ်း Add", - "editShippingMethod": "Edit ကိုရေကြောင်းနည်းလမ်း", - "deleteShippingMethod": "ရေကြောင်းနည်းလမ်းဖျက်ပစ်ပါ", - "noSettingsForThisView": "ဒီအမြင်အဘို့အဘယ်သူမျှမကအပြင်အဆင်များ", - "noShippingMethods": "အဘယ်သူမျှမရေကြောင်းနည်းလမ်းများ configured ကြသည်။", - "removeShippingMethodConfirm": "သငျသညျ {{method}} သင်ဖျက်လိုသည်မှာသေချာပါသလား", - "removeShippingMethodTitle": "သဘောင်္တင်ခ Method ကို Remove", - "shippingMethodDeleted": "ဒီသင်္ဘောနည်းလမ်းဖျက်ထားသည်။", - "removeShippingProvider": "သဘောင်္တင်ခပေးသူ Remove", - "removeShippingProviderConfirm": "သငျသညျ {{provider}} သင်ဖျက်လိုသည်မှာသေချာပါသလား", - "shippingProviderSaved": "သဘောင်္တင်ပံ့ပိုးပေးသူကယ်လွှတ်တော်မူ၏။", - "shippingProviderUpdated": "သဘောင်္တင်ပံ့ပိုးပေးသူဒေတာ updated ။", - "shippingMethodRateAdded": "သဘောင်္တင်ခနည်းလမ်းမှုနှုန်းကဆက်ပြောသည်။", - "shippingMethodRateUpdated": "updated သဘောင်္တင်နည်းလမ်းနှုန်းသည်။", - "name": "နာမကိုအမှီ", - "label": "တံဆိပ်", - "group": "Group က", - "cost": "ပေးရ", - "handling": "ကိုင်တွယ်", - "rate": "rate", - "enabled": "enabled", - "disabled": "မသန်စွမ်း", - "addRate": "နှုန်းမှာ Add", - "updateRate": "Update ကို {{name}} မှုနှုန်း", - "addNewCondition": "အသစ်အခွအေနေ Add", - "deleteCondition": "အခွအေနေဖျက်ပစ်ပါ", - "provider": { - "name": "Service ကို Code ကို", - "label": "ပြည်သူ့တံဆိပ်", - "enabled": "enabled" - } - }, - "shippingMethod": { - "name": "method ကိုအမည်", - "label": "ပြည်သူ့တံဆိပ်", - "group": "Group က", - "cost": "ပေးရ", - "handling": "ကိုင်တွယ်", - "rate": "rate", - "enabled": "enabled", - "matchingCartRanges": "ကိုက်ညီတဲ့လှည်းတောင်တန်း", - "validRanges": { - "begin": "အစ", - "end": "အဆုံး" - }, - "matchingLocales": "ကိုက်ညီတဲ့ဒေသခံ", - "validLocales": { - "origination": "မှ", - "destination": "သို့", - "deliveryBegin": "သဘောင်္တင်ခ Est ။", - "deliveryEnd": "Delivery Est ။" - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/nb.json b/src/core-services/shipping/i18n/nb.json deleted file mode 100644 index c90e37d0641..00000000000 --- a/src/core-services/shipping/i18n/nb.json +++ /dev/null @@ -1,5 +0,0 @@ -[{ - "i18n": "nb", - "ns": "reaction-shipping", - "translation": { } -}] diff --git a/src/core-services/shipping/i18n/nl.json b/src/core-services/shipping/i18n/nl.json deleted file mode 100644 index eb5a19fe192..00000000000 --- a/src/core-services/shipping/i18n/nl.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "nl", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Verzenden", - "shippingTitle": "Verzenden", - "shippingDescription": "Bieden verzendkosten" - }, - "settings": { - "shippingLabel": "Verzenden" - } - }, - "checkoutShipping": { - "selectShippingOption": "Kies verzendoptie", - "noShippingMethods": "Geen verzendkosten methoden worden geconfigureerd.", - "contactAdmin": "Neem contact op met de winkelbeheerder.", - "configureNow": "Configureren nu.", - "shipping": "Verzenden" - }, - "shipping": { - "addShippingProvider": "Voeg scheepvaart provider", - "editShippingProvider": "Bewerken scheepvaart provider", - "addShippingMethod": "Voeg verzendmethode", - "editShippingMethod": "Bewerken verzendmethode", - "deleteShippingMethod": "Verwijder verzendmethode", - "noSettingsForThisView": "Geen instellingen voor dit standpunt", - "noShippingMethods": "Geen verzendkosten methoden worden geconfigureerd.", - "removeShippingMethodConfirm": "Bent u zeker dat u wilt {{method}} verwijderen?", - "removeShippingMethodTitle": "Verwijder Verzendmethode", - "shippingMethodDeleted": "Deze verzendmethode is verwijderd.", - "removeShippingProvider": "Verwijder Shipping Provider", - "removeShippingProviderConfirm": "Bent u zeker dat u wilt {{provider}} verwijderen?", - "shippingProviderSaved": "Shipping provider opgeslagen.", - "shippingProviderUpdated": "Verzending provider gegevens bijgewerkt.", - "shippingMethodRateAdded": "Verzendmethode snelheid toegevoegd.", - "shippingMethodRateUpdated": "Verzendmethode rate bijgewerkt.", - "name": "Naam", - "label": "Etiket", - "group": "Groep", - "cost": "Kosten", - "handling": "behandeling", - "rate": "Snelheid", - "enabled": "Ingeschakeld", - "disabled": "Gehandicapte", - "addRate": "tarief toe te voegen", - "updateRate": "Update {{name}} rate", - "addNewCondition": "Voeg een nieuwe voorwaarde", - "deleteCondition": "Verwijder conditie", - "provider": { - "name": "service Code", - "label": "openbare Label", - "enabled": "Ingeschakeld" - } - }, - "shippingMethod": { - "name": "methode Naam", - "label": "openbare Label", - "group": "Groep", - "cost": "Kosten", - "handling": "behandeling", - "rate": "Snelheid", - "enabled": "Ingeschakeld", - "matchingCartRanges": "Matching winkelwagen Ranges", - "validRanges": { - "begin": "Beginnen", - "end": "Einde" - }, - "matchingLocales": "matching Locales", - "validLocales": { - "origination": "Van", - "destination": "Naar", - "deliveryBegin": "Shipping Est.", - "deliveryEnd": "Levering Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/pl.json b/src/core-services/shipping/i18n/pl.json deleted file mode 100644 index fbbb2d454a1..00000000000 --- a/src/core-services/shipping/i18n/pl.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "pl", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Wysyłka", - "shippingTitle": "Wysyłka", - "shippingDescription": "Zapewnić koszty wysyłki" - }, - "settings": { - "shippingLabel": "Wysyłka" - } - }, - "checkoutShipping": { - "selectShippingOption": "Wybierz opcję wysyłki", - "noShippingMethods": "są skonfigurowane żadne metody wysyłki.", - "contactAdmin": "Skontaktuj się z administratorem sklepu.", - "configureNow": "Skonfiguruj teraz.", - "shipping": "Wysyłka" - }, - "shipping": { - "addShippingProvider": "Dodaj dostawcę przesyłki", - "editShippingProvider": "Edycja kurierska", - "addShippingMethod": "Dodaj metodę wysyłki", - "editShippingMethod": "Zmień sposób wysyłki", - "deleteShippingMethod": "Usuń metodę wysyłki", - "noSettingsForThisView": "Brak ustawienia dla tego widoku", - "noShippingMethods": "są skonfigurowane żadne metody wysyłki.", - "removeShippingMethodConfirm": "Czy na pewno chcesz usunąć {{method}}?", - "removeShippingMethodTitle": "Usuń metody wysyłki", - "shippingMethodDeleted": "Ta metoda wysyłki została usunięta.", - "removeShippingProvider": "Usuń kurierska", - "removeShippingProviderConfirm": "Czy na pewno chcesz usunąć {{provider}}?", - "shippingProviderSaved": "dostawcą Dostawa zapisane.", - "shippingProviderUpdated": "zaktualizowane dane kurierska.", - "shippingMethodRateAdded": "Dostawa stopa metoda dodaje.", - "shippingMethodRateUpdated": "Dostawa stopa metoda aktualizowana.", - "name": "Nazwa", - "label": "Etykieta", - "group": "Grupa", - "cost": "Koszt", - "handling": "Obsługa", - "rate": "Oceniać", - "enabled": "Włączone", - "disabled": "Niepełnosprawny", - "addRate": "Dodaj stopę", - "updateRate": "Częstotliwość odświeżania {{name}}", - "addNewCondition": "Dodaj nowy warunek", - "deleteCondition": "Usuń warunek", - "provider": { - "name": "service Code", - "label": "Etykieta publiczny", - "enabled": "Włączone" - } - }, - "shippingMethod": { - "name": "Nazwa metody", - "label": "Etykieta publiczny", - "group": "Grupa", - "cost": "Koszt", - "handling": "Obsługa", - "rate": "Oceniać", - "enabled": "Włączone", - "matchingCartRanges": "Dopasowane Koszyk Zakresy", - "validRanges": { - "begin": "Zaczynać", - "end": "Koniec" - }, - "matchingLocales": "Dopasowane Locales", - "validLocales": { - "origination": "Od", - "destination": "Do", - "deliveryBegin": "Dostawa Est.", - "deliveryEnd": "Dostawa Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/pt.json b/src/core-services/shipping/i18n/pt.json deleted file mode 100644 index 0f6a8b41744..00000000000 --- a/src/core-services/shipping/i18n/pt.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "pt", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Remessa", - "shippingTitle": "Remessa", - "shippingDescription": "Fornecer taxas de envio" - }, - "settings": { - "shippingLabel": "Remessa" - } - }, - "checkoutShipping": { - "selectShippingOption": "Selecione a opção de envio", - "noShippingMethods": "Não há métodos de envio estão configurados.", - "contactAdmin": "Entre em contato com o administrador da loja.", - "configureNow": "Configurar agora.", - "shipping": "Remessa" - }, - "shipping": { - "addShippingProvider": "Adicionar provedor de transporte", - "editShippingProvider": "Editar provedor de transporte", - "addShippingMethod": "Adicionar método de envio", - "editShippingMethod": "Editar método de envio", - "deleteShippingMethod": "Excluir método de envio", - "noSettingsForThisView": "Não há definições para este ponto de vista", - "noShippingMethods": "Não há métodos de envio estão configurados.", - "removeShippingMethodConfirm": "Tem certeza de que deseja excluir {{method}}?", - "removeShippingMethodTitle": "Remover Método de Envio", - "shippingMethodDeleted": "Este método de envio foi excluída.", - "removeShippingProvider": "Remover fornecedor de Frete", - "removeShippingProviderConfirm": "Tem certeza de que deseja excluir {{provider}}?", - "shippingProviderSaved": "provedor de envio salvo.", - "shippingProviderUpdated": "dados do provedor envio atualizado.", - "shippingMethodRateAdded": "Envio da tarifa método acrescentou.", - "shippingMethodRateUpdated": "taxa de método de envio atualizado.", - "name": "Nome", - "label": "Etiqueta", - "group": "Grupo", - "cost": "Custo", - "handling": "Manipulação", - "rate": "Taxa", - "enabled": "Ativado", - "disabled": "Desativado", - "addRate": "Adicionar taxa de", - "updateRate": "Taxa de Atualização {{name}}", - "addNewCondition": "Adicionar nova condição", - "deleteCondition": "excluir condição", - "provider": { - "name": "Código de serviço", - "label": "Etiqueta pública", - "enabled": "Ativado" - } - }, - "shippingMethod": { - "name": "Nome do método", - "label": "Etiqueta pública", - "group": "Grupo", - "cost": "Custo", - "handling": "Manipulação", - "rate": "Taxa", - "enabled": "Ativado", - "matchingCartRanges": "Combinando Carrinho Ranges", - "validRanges": { - "begin": "Início", - "end": "Fim" - }, - "matchingLocales": "Localidades combinando", - "validLocales": { - "origination": "A partir da", - "destination": "Para", - "deliveryBegin": "O envio Est.", - "deliveryEnd": "Entrega Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/ro.json b/src/core-services/shipping/i18n/ro.json deleted file mode 100644 index 0624d40472f..00000000000 --- a/src/core-services/shipping/i18n/ro.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "ro", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "livrare", - "shippingTitle": "livrare", - "shippingDescription": "Oferi tarife de transport maritim" - }, - "settings": { - "shippingLabel": "livrare" - } - }, - "checkoutShipping": { - "selectShippingOption": "Selectați opțiunea de transport maritim", - "noShippingMethods": "Nu există metode de expediere sunt configurate.", - "contactAdmin": "Contactați administratorul magazinului.", - "configureNow": "Configurati.", - "shipping": "livrare" - }, - "shipping": { - "addShippingProvider": "Adăugați un furnizor de transport maritim", - "editShippingProvider": "Editare furnizori de transport maritim", - "addShippingMethod": "Adăugați o metodă de transport maritim", - "editShippingMethod": "Edita metodă de expediere", - "deleteShippingMethod": "Șterge metodă de expediere", - "noSettingsForThisView": "Nu există setări pentru această vizualizare", - "noShippingMethods": "Nu există metode de expediere sunt configurate.", - "removeShippingMethodConfirm": "Sunteți sigur că doriți să ștergeți {{method}}?", - "removeShippingMethodTitle": "Eliminați Metodă de expediere", - "shippingMethodDeleted": "Această metodă de transport maritim a fost șters.", - "removeShippingProvider": "Furnizorul de transport elimina", - "removeShippingProviderConfirm": "Sunteți sigur că doriți să ștergeți {{provider}}?", - "shippingProviderSaved": "Furnizor de transport maritim salvat.", - "shippingProviderUpdated": "Date de furnizor de transport maritim actualizat.", - "shippingMethodRateAdded": "Rata metodă de expediere adăugată.", - "shippingMethodRateUpdated": "Rata metodă de expediere actualizată.", - "name": "Nume", - "label": "Eticheta", - "group": "grup", - "cost": "A costat", - "handling": "manipularea", - "rate": "Rată", - "enabled": "Activat", - "disabled": "Pentru persoane cu handicap", - "addRate": "adauga o rată", - "updateRate": "Rata de actualizare {{name}}", - "addNewCondition": "Adăugați o condiție nouă", - "deleteCondition": "şterge condiție", - "provider": { - "name": "Codul de service", - "label": "Etichetă publică", - "enabled": "Activat" - } - }, - "shippingMethod": { - "name": "Nume metoda", - "label": "Etichetă publică", - "group": "grup", - "cost": "A costat", - "handling": "manipularea", - "rate": "Rată", - "enabled": "Activat", - "matchingCartRanges": "Potrivire Ranges Coș", - "validRanges": { - "begin": "ÎNCEPE", - "end": "Sfârşit" - }, - "matchingLocales": "potrivire Localizările", - "validLocales": { - "origination": "Din", - "destination": "La", - "deliveryBegin": "De transport maritim Est.", - "deliveryEnd": "Livrare Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/ru.json b/src/core-services/shipping/i18n/ru.json deleted file mode 100644 index afdcb285ae7..00000000000 --- a/src/core-services/shipping/i18n/ru.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "ru", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Перевозка", - "shippingTitle": "Перевозка", - "shippingDescription": "Обеспечить стоимость доставки" - }, - "settings": { - "shippingLabel": "Перевозка" - } - }, - "checkoutShipping": { - "selectShippingOption": "Выберите вариант доставки", - "noShippingMethods": "Нет способов доставки не настроены.", - "contactAdmin": "Обратитесь к администратору магазина.", - "configureNow": "Настроить сейчас.", - "shipping": "Перевозка" - }, - "shipping": { - "addShippingProvider": "Добавить поставщика доставки", - "editShippingProvider": "Редактировать поставщик доставка", - "addShippingMethod": "Добавить способ доставки", - "editShippingMethod": "Способ редактирования отправка", - "deleteShippingMethod": "Удалить способ доставки", - "noSettingsForThisView": "Нет настроек для этой точки зрения", - "noShippingMethods": "Нет способов доставки не настроены.", - "removeShippingMethodConfirm": "Вы уверены, что хотите удалить {{method}}?", - "removeShippingMethodTitle": "Удалить Способ доставки", - "shippingMethodDeleted": "Этот способ доставки был удален.", - "removeShippingProvider": "Удалить поставщика доставки", - "removeShippingProviderConfirm": "Вы уверены, что хотите удалить {{provider}}?", - "shippingProviderSaved": "поставщик Доставка сохранен.", - "shippingProviderUpdated": "Поставщик услуг Доставка обновляется.", - "shippingMethodRateAdded": "добавлен скорость Способ доставки.", - "shippingMethodRateUpdated": "Скорость Способ доставки обновлен.", - "name": "Имя", - "label": "Этикетка", - "group": "Группа", - "cost": "Стоимость", - "handling": "обращение", - "rate": "Ставка", - "enabled": "Включено", - "disabled": "Отключено", - "addRate": "Добавить скорость", - "updateRate": "Обновление {{name}} скорости", - "addNewCondition": "Добавить новое условие", - "deleteCondition": "Удалить условие", - "provider": { - "name": "Сервисный код", - "label": "Общественный Этикетка", - "enabled": "Включено" - } - }, - "shippingMethod": { - "name": "Имя метода", - "label": "Общественный Этикетка", - "group": "Группа", - "cost": "Стоимость", - "handling": "обращение", - "rate": "Ставка", - "enabled": "Включено", - "matchingCartRanges": "Matching Корзина Ranges", - "validRanges": { - "begin": "Начать", - "end": "Конец" - }, - "matchingLocales": "Соответствие Локали", - "validLocales": { - "origination": "Из", - "destination": "Для", - "deliveryBegin": "Доставка Est.", - "deliveryEnd": "Доставка Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/sl.json b/src/core-services/shipping/i18n/sl.json deleted file mode 100644 index c2b10caf3bb..00000000000 --- a/src/core-services/shipping/i18n/sl.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "sl", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Dostava", - "shippingTitle": "Dostava", - "shippingDescription": "Navedite stroške pošiljanja" - }, - "settings": { - "shippingLabel": "Dostava" - } - }, - "checkoutShipping": { - "selectShippingOption": "Izberite možnost ladijskega prometa", - "noShippingMethods": "Ni metode pošiljanja so nastavljeni.", - "contactAdmin": "Obrnite se na skrbnika trgovine.", - "configureNow": "Konfiguracija zdaj.", - "shipping": "Dostava" - }, - "shipping": { - "addShippingProvider": "Dodaj ponudnika ladijskega", - "editShippingProvider": "Uredi ponudnik ladijski promet", - "addShippingMethod": "Dodaj način pošiljanja", - "editShippingMethod": "Uredite način pošiljanja", - "deleteShippingMethod": "Brisanje način pošiljanja", - "noSettingsForThisView": "Ni nastavitev za to mnenje", - "noShippingMethods": "Ni metode pošiljanja so nastavljeni.", - "removeShippingMethodConfirm": "Ali ste prepričani, da želite izbrisati {{method}}?", - "removeShippingMethodTitle": "Odstrani Shipping Method", - "shippingMethodDeleted": "Ta način pošiljanja je bil izbrisan.", - "removeShippingProvider": "Odstrani ponudnika dostave", - "removeShippingProviderConfirm": "Ali ste prepričani, da želite izbrisati {{provider}}?", - "shippingProviderSaved": "Ponudnik prevoz shranjene.", - "shippingProviderUpdated": "Podatki ponudnika prevoz posodabljajo.", - "shippingMethodRateAdded": "Dostava stopnja metoda dodal.", - "shippingMethodRateUpdated": "Dostava stopnja način posodobljena.", - "name": "Name", - "label": "Label", - "group": "skupina", - "cost": "strošek", - "handling": "Ravnanje", - "rate": "Oceniti", - "enabled": "omogočeno", - "disabled": "Onemogočeno", - "addRate": "Dodaj stopnjo", - "updateRate": "Update {{name}} stopnja", - "addNewCondition": "Dodaj nov pogoj", - "deleteCondition": "Brisanje stanje", - "provider": { - "name": "Koda Service", - "label": "javni Label", - "enabled": "omogočeno" - } - }, - "shippingMethod": { - "name": "Ime metoda", - "label": "javni Label", - "group": "skupina", - "cost": "strošek", - "handling": "Ravnanje", - "rate": "Oceniti", - "enabled": "omogočeno", - "matchingCartRanges": "Ujemanje košarice Območja", - "validRanges": { - "begin": "Začeti", - "end": "End" - }, - "matchingLocales": "ujemanje Locales", - "validLocales": { - "origination": "iz", - "destination": "Za", - "deliveryBegin": "Dostava Est.", - "deliveryEnd": "Dostava Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/sv.json b/src/core-services/shipping/i18n/sv.json deleted file mode 100644 index 193945033f4..00000000000 --- a/src/core-services/shipping/i18n/sv.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "sv", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Frakt", - "shippingTitle": "Frakt", - "shippingDescription": "Tillhandahålla fraktkostnader" - }, - "settings": { - "shippingLabel": "Frakt" - } - }, - "checkoutShipping": { - "selectShippingOption": "Välj leveransalternativ", - "noShippingMethods": "Inga transportsätt konfigureras.", - "contactAdmin": "Kontakta butikshanteraren.", - "configureNow": "Konfigurera nu.", - "shipping": "Frakt" - }, - "shipping": { - "addShippingProvider": "Fogar sändnings provider", - "editShippingProvider": "Redigera leverans provider", - "addShippingMethod": "Lägg fraktsätt", - "editShippingMethod": "Redigera leveranssätt", - "deleteShippingMethod": "Radera fraktsätt", - "noSettingsForThisView": "Inga inställningar för denna uppfattning", - "noShippingMethods": "Inga transportsätt konfigureras.", - "removeShippingMethodConfirm": "Är du säker på att du vill radera {{method}}?", - "removeShippingMethodTitle": "Ta Sändningsmetod", - "shippingMethodDeleted": "Denna leveransmetod har tagits bort.", - "removeShippingProvider": "Avlägsna Shipping Provider", - "removeShippingProviderConfirm": "Är du säker på att du vill radera {{provider}}?", - "shippingProviderSaved": "Speditör sparas.", - "shippingProviderUpdated": "Fraktoperatörsdata uppdateras.", - "shippingMethodRateAdded": "Fraktsätt hastigheten tillsätts.", - "shippingMethodRateUpdated": "Fraktsätt hastighet uppdateras.", - "name": "Namn", - "label": "Etikett", - "group": "Grupp", - "cost": "Kosta", - "handling": "Hantering", - "rate": "Betygsätt", - "enabled": "Aktiverad", - "disabled": "Funktionshindrade", - "addRate": "Lägg hastighet", - "updateRate": "Uppdatering {{name}} hastighet", - "addNewCondition": "Lägg till nyskick", - "deleteCondition": "radera Förhållande", - "provider": { - "name": "service-kod", - "label": "offentliga Label", - "enabled": "Aktiverad" - } - }, - "shippingMethod": { - "name": "metod Namn", - "label": "offentliga Label", - "group": "Grupp", - "cost": "Kosta", - "handling": "Hantering", - "rate": "Betygsätt", - "enabled": "Aktiverad", - "matchingCartRanges": "Matchning Vagn Ranges", - "validRanges": { - "begin": "Börja", - "end": "Slut" - }, - "matchingLocales": "matchning språkversioner", - "validLocales": { - "origination": "Från", - "destination": "Till", - "deliveryBegin": "Shipping Est.", - "deliveryEnd": "Leverans Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/tr.json b/src/core-services/shipping/i18n/tr.json deleted file mode 100644 index a45de6f1c14..00000000000 --- a/src/core-services/shipping/i18n/tr.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "tr", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Nakliye", - "shippingTitle": "Nakliye", - "shippingDescription": "nakliye fiyatları sağlamamıza" - }, - "settings": { - "shippingLabel": "Nakliye" - } - }, - "checkoutShipping": { - "selectShippingOption": "Seç nakliye seçeneği", - "noShippingMethods": "Hiçbir nakliye yöntemleri yapılandırılır.", - "contactAdmin": "Lütfen mağaza yöneticisine başvurun.", - "configureNow": "Şimdi yapılandırın.", - "shipping": "Nakliye" - }, - "shipping": { - "addShippingProvider": "nakliye sağlayıcı ekle", - "editShippingProvider": "Düzenleme nakliye sağlayıcı", - "addShippingMethod": "nakliye yöntemi ekleyin", - "editShippingMethod": "Düzenleme gönderim yöntemi", - "deleteShippingMethod": "nakliye yöntemini sil", - "noSettingsForThisView": "Bu görünüm için ayar yok", - "noShippingMethods": "Hiçbir nakliye yöntemleri yapılandırılır.", - "removeShippingMethodConfirm": "Eğer {{method}} silmek istediğinizden emin misiniz?", - "removeShippingMethodTitle": "Nakliye Yöntemi kaldır", - "shippingMethodDeleted": "Bu nakliye yöntemi silindi.", - "removeShippingProvider": "Nakliye Sağlayıcı kaldır", - "removeShippingProviderConfirm": "Eğer {{provider}} silmek istediğinizden emin misiniz?", - "shippingProviderSaved": "Kargo sağlayıcı kaydedildi.", - "shippingProviderUpdated": "Kargo sağlayıcı verileri güncellendi.", - "shippingMethodRateAdded": "Nakliye yöntemi oranı eklendi.", - "shippingMethodRateUpdated": "Nakliye yöntemi oranı güncellendi.", - "name": "Isim", - "label": "Etiket", - "group": "grup", - "cost": "Maliyet", - "handling": "kullanma", - "rate": "Oran", - "enabled": "Etkin", - "disabled": "engelli", - "addRate": "oranı ekle", - "updateRate": "Güncelleme {{name}} oranı", - "addNewCondition": "Yeni koşul ekle", - "deleteCondition": "koşulu sil", - "provider": { - "name": "servis Kodu", - "label": "kamu Etiket", - "enabled": "Etkin" - } - }, - "shippingMethod": { - "name": "yöntem Adı", - "label": "kamu Etiket", - "group": "grup", - "cost": "Maliyet", - "handling": "kullanma", - "rate": "Oran", - "enabled": "Etkin", - "matchingCartRanges": "Sepet aralıkları Eşleştirme", - "validRanges": { - "begin": "Başla", - "end": "Son" - }, - "matchingLocales": "Yerel eşleştirme", - "validLocales": { - "origination": "Itibaren", - "destination": "Için", - "deliveryBegin": "Nakliye Est.", - "deliveryEnd": "Teslim Tahmini." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/vi.json b/src/core-services/shipping/i18n/vi.json deleted file mode 100644 index b91be913735..00000000000 --- a/src/core-services/shipping/i18n/vi.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "vi", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "Đang chuyển hàng", - "shippingTitle": "Đang chuyển hàng", - "shippingDescription": "Cung cấp mức giá vận chuyển" - }, - "settings": { - "shippingLabel": "Đang chuyển hàng" - } - }, - "checkoutShipping": { - "selectShippingOption": "Chọn tùy chọn vận chuyển", - "noShippingMethods": "Không có phương pháp vận chuyển được cấu hình.", - "contactAdmin": "Vui lòng liên hệ với quản trị viên kho.", - "configureNow": "Cấu hình hiện nay.", - "shipping": "Đang chuyển hàng" - }, - "shipping": { - "addShippingProvider": "Thêm nhà cung cấp vận chuyển", - "editShippingProvider": "Sửa nhà cung cấp vận chuyển", - "addShippingMethod": "Thêm phương thức vận chuyển", - "editShippingMethod": "Chỉnh sửa phương thức vận chuyển", - "deleteShippingMethod": "Xóa phương thức vận chuyển", - "noSettingsForThisView": "Không có thiết lập cho quan điểm này", - "noShippingMethods": "Không có phương pháp vận chuyển được cấu hình.", - "removeShippingMethodConfirm": "Bạn có chắc chắn muốn xóa {{method}}?", - "removeShippingMethodTitle": "Di Shipping Method", - "shippingMethodDeleted": "Phương pháp vận chuyển này đã bị xóa.", - "removeShippingProvider": "Di Vận Chuyển Nhà cung cấp", - "removeShippingProviderConfirm": "Bạn có chắc chắn muốn xóa {{provider}}?", - "shippingProviderSaved": "cung cấp dịch vụ vận chuyển lưu.", - "shippingProviderUpdated": "cung cấp dữ liệu vận chuyển được cập nhật.", - "shippingMethodRateAdded": "tỷ lệ phương pháp vận chuyển thêm.", - "shippingMethodRateUpdated": "phương pháp tỷ lệ vận chuyển được cập nhật.", - "name": "Tên", - "label": "Nhãn", - "group": "Nhóm", - "cost": "Giá cả", - "handling": "xử lý", - "rate": "Tỷ lệ", - "enabled": "Bật", - "disabled": "Tàn tật", - "addRate": "Thêm tỷ lệ", - "updateRate": "tốc độ cập nhật {{name}}", - "addNewCondition": "Thêm điều kiện mới", - "deleteCondition": "xóa điều kiện", - "provider": { - "name": "Mã dịch vụ", - "label": "Nhãn Công", - "enabled": "Bật" - } - }, - "shippingMethod": { - "name": "Tên phương pháp", - "label": "Nhãn Công", - "group": "Nhóm", - "cost": "Giá cả", - "handling": "xử lý", - "rate": "Tỷ lệ", - "enabled": "Bật", - "matchingCartRanges": "Phù hợp với Ranges Giỏ hàng", - "validRanges": { - "begin": "bắt đầu", - "end": "Kết thúc" - }, - "matchingLocales": "phù hợp với miền địa phương", - "validLocales": { - "origination": "Từ", - "destination": "Đến", - "deliveryBegin": "Vận Chuyển Est.", - "deliveryEnd": "Giao hàng Est." - } - } - } - } -}] diff --git a/src/core-services/shipping/i18n/zh.json b/src/core-services/shipping/i18n/zh.json deleted file mode 100644 index 5d72cb0eab3..00000000000 --- a/src/core-services/shipping/i18n/zh.json +++ /dev/null @@ -1,81 +0,0 @@ -[{ - "i18n": "zh", - "ns": "reaction-shipping", - "translation": { - "reaction-shipping": { - "admin": { - "dashboard": { - "shippingLabel": "运输", - "shippingTitle": "运输", - "shippingDescription": "提供运费" - }, - "settings": { - "shippingLabel": "运输" - } - }, - "checkoutShipping": { - "selectShippingOption": "选择送货方式", - "noShippingMethods": "没有送货方式配置。", - "contactAdmin": "请联系店主管理员。", - "configureNow": "现在配置。", - "shipping": "运输" - }, - "shipping": { - "addShippingProvider": "添加航运商", - "editShippingProvider": "编辑航运商", - "addShippingMethod": "添加送货方式", - "editShippingMethod": "编辑送货方式", - "deleteShippingMethod": "删除运输方式", - "noSettingsForThisView": "对于这种观点没有设置", - "noShippingMethods": "没有送货方式配置。", - "removeShippingMethodConfirm": "你确定要删除{{method}}?", - "removeShippingMethodTitle": "除去运输方式", - "shippingMethodDeleted": "这种运输方式已被删除。", - "removeShippingProvider": "除去运输提供商", - "removeShippingProviderConfirm": "你确定要删除{{provider}}?", - "shippingProviderSaved": "航运提供商保存。", - "shippingProviderUpdated": "航运商的数据更新。", - "shippingMethodRateAdded": "送货方式加入速度。", - "shippingMethodRateUpdated": "更新送货方法率。", - "name": "名字", - "label": "标签", - "group": "组", - "cost": "费用", - "handling": "处理", - "rate": "率", - "enabled": "启用", - "disabled": "残疾人", - "addRate": "添加率", - "updateRate": "更新{{name}}率", - "addNewCondition": "新增条件", - "deleteCondition": "删除条件", - "provider": { - "name": "服务代码", - "label": "公共标签", - "enabled": "启用" - } - }, - "shippingMethod": { - "name": "方法名称", - "label": "公共标签", - "group": "组", - "cost": "费用", - "handling": "处理", - "rate": "率", - "enabled": "启用", - "matchingCartRanges": "匹配车范围", - "validRanges": { - "begin": "开始", - "end": "结束" - }, - "matchingLocales": "匹配的语言环境", - "validLocales": { - "origination": "从", - "destination": "至", - "deliveryBegin": "航运预估。", - "deliveryEnd": "交货预估。" - } - } - } - } -}] diff --git a/src/core-services/shipping/index.js b/src/core-services/shipping/index.js deleted file mode 100644 index c56de729ff3..00000000000 --- a/src/core-services/shipping/index.js +++ /dev/null @@ -1,25 +0,0 @@ -import i18n from "./i18n/index.js"; -import mutations from "./mutations/index.js"; -import queries from "./queries/index.js"; -import resolvers from "./resolvers/index.js"; -import schemas from "./schemas/index.js"; - -/** - * @summary Import and call this function to add this plugin to your API. - * @param {ReactionAPI} app The ReactionAPI instance - * @returns {undefined} - */ -export default async function register(app) { - await app.registerPlugin({ - label: "Shipping", - name: "reaction-shipping", - version: app.context.appVersion, - i18n, - graphQL: { - resolvers, - schemas - }, - queries, - mutations - }); -} diff --git a/src/core-services/shipping/mutations/__snapshots__/selectFulfillmentOptionForGroup.test.js.snap b/src/core-services/shipping/mutations/__snapshots__/selectFulfillmentOptionForGroup.test.js.snap deleted file mode 100644 index c47469bdf28..00000000000 --- a/src/core-services/shipping/mutations/__snapshots__/selectFulfillmentOptionForGroup.test.js.snap +++ /dev/null @@ -1,5 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`throws if there is no fulfillment group with the given ID 1`] = `"Fulfillment group with ID group2 not found in cart with ID cartId"`; - -exports[`throws if there is no fulfillment method with the given ID among the options 1`] = `"Fulfillment option with method ID invalid-method not found in cart with ID cartId"`; diff --git a/src/core-services/shipping/mutations/__snapshots__/updateFulfillmentOptionsForGroup.test.js.snap b/src/core-services/shipping/mutations/__snapshots__/updateFulfillmentOptionsForGroup.test.js.snap deleted file mode 100644 index 45e9c989519..00000000000 --- a/src/core-services/shipping/mutations/__snapshots__/updateFulfillmentOptionsForGroup.test.js.snap +++ /dev/null @@ -1,3 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`throws if there is no fulfillment group with the given ID 1`] = `"Fulfillment group with ID group2 not found in cart with ID cartId"`; diff --git a/src/core-services/shipping/mutations/index.js b/src/core-services/shipping/mutations/index.js deleted file mode 100644 index 6f48ee08598..00000000000 --- a/src/core-services/shipping/mutations/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import selectFulfillmentOptionForGroup from "./selectFulfillmentOptionForGroup.js"; -import updateFulfillmentOptionsForGroup from "./updateFulfillmentOptionsForGroup.js"; - -export default { - selectFulfillmentOptionForGroup, - updateFulfillmentOptionsForGroup -}; diff --git a/src/core-services/shipping/mutations/selectFulfillmentOptionForGroup.js b/src/core-services/shipping/mutations/selectFulfillmentOptionForGroup.js deleted file mode 100644 index 38a26e2fbd2..00000000000 --- a/src/core-services/shipping/mutations/selectFulfillmentOptionForGroup.js +++ /dev/null @@ -1,56 +0,0 @@ -import SimpleSchema from "simpl-schema"; -import ReactionError from "@reactioncommerce/reaction-error"; -import getCartById from "../util/getCartById.js"; - -const inputSchema = new SimpleSchema({ - cartId: String, - cartToken: { - type: String, - optional: true - }, - fulfillmentGroupId: String, - fulfillmentMethodId: String -}); - -/** - * @method selectFulfillmentOptionForGroup - * @summary Selects a fulfillment option for a fulfillment group - * @param {Object} context - an object containing the per-request state - * @param {Object} input - an object of all mutation arguments that were sent by the client - * @param {String} input.cartId - The ID of the cart to select a fulfillment option for - * @param {String} [input.cartToken] - The token for the cart, required if it is an anonymous cart - * @param {String} input.fulfillmentGroupId - The group to select a fulfillment option for - * @param {String} input.fulfillmentMethodId - The fulfillment method ID from the option the shopper selected - * @returns {Promise} An object with a `cart` property containing the updated cart - */ -export default async function selectFulfillmentOptionForGroup(context, input) { - const cleanedInput = inputSchema.clean(input || {}); - inputSchema.validate(cleanedInput); - - const { cartId, cartToken, fulfillmentGroupId, fulfillmentMethodId } = cleanedInput; - - const cart = await getCartById(context, cartId, { cartToken, throwIfNotFound: true }); - - const fulfillmentGroup = (cart.shipping || []).find((group) => group._id === fulfillmentGroupId); - if (!fulfillmentGroup) throw new ReactionError("not-found", `Fulfillment group with ID ${fulfillmentGroupId} not found in cart with ID ${cartId}`); - - // Make sure there is an option for this group that has the requested ID - const option = (fulfillmentGroup.shipmentQuotes || []).find((quote) => quote.method._id === fulfillmentMethodId); - if (!option) throw new ReactionError("not-found", `Fulfillment option with method ID ${fulfillmentMethodId} not found in cart with ID ${cartId}`); - - const updatedCart = { - ...cart, - shipping: cart.shipping.map((group) => { - if (group._id === fulfillmentGroupId) { - return { ...group, shipmentMethod: option.method }; - } - - return group; - }), - updatedAt: new Date() - }; - - const savedCart = await context.mutations.saveCart(context, updatedCart); - - return { cart: savedCart }; -} diff --git a/src/core-services/shipping/mutations/selectFulfillmentOptionForGroup.test.js b/src/core-services/shipping/mutations/selectFulfillmentOptionForGroup.test.js deleted file mode 100644 index 9068349c76d..00000000000 --- a/src/core-services/shipping/mutations/selectFulfillmentOptionForGroup.test.js +++ /dev/null @@ -1,67 +0,0 @@ -import mockContext from "@reactioncommerce/api-utils/tests/mockContext.js"; -import selectFulfillmentOptionForGroup from "./selectFulfillmentOptionForGroup.js"; - -jest.mock("../util/getCartById", () => jest.fn().mockImplementation(() => Promise.resolve({ - _id: "cartId", - shipping: [{ - _id: "group1", - itemIds: ["123"], - shipmentQuotes: [{ - rate: 0, - method: { - _id: "valid-method" - } - }], - type: "shipping" - }] -}))); - -beforeAll(() => { - if (!mockContext.mutations.saveCart) { - mockContext.mutations.saveCart = jest.fn().mockName("context.mutations.saveCart").mockImplementation(async (_, cart) => cart); - } -}); - -test("selects an existing shipping method", async () => { - const result = await selectFulfillmentOptionForGroup(mockContext, { - cartId: "cartId", - fulfillmentGroupId: "group1", - fulfillmentMethodId: "valid-method" - }); - expect(result).toEqual({ - cart: { - _id: "cartId", - shipping: [{ - _id: "group1", - itemIds: ["123"], - shipmentQuotes: [{ - rate: 0, - method: { - _id: "valid-method" - } - }], - type: "shipping", - shipmentMethod: { - _id: "valid-method" - } - }], - updatedAt: jasmine.any(Date) - } - }); -}); - -test("throws if there is no fulfillment group with the given ID", async () => { - await expect(selectFulfillmentOptionForGroup(mockContext, { - cartId: "cartId", - fulfillmentGroupId: "group2", - fulfillmentMethodId: "valid-method" - })).rejects.toThrowErrorMatchingSnapshot(); -}); - -test("throws if there is no fulfillment method with the given ID among the options", async () => { - await expect(selectFulfillmentOptionForGroup(mockContext, { - cartId: "cartId", - fulfillmentGroupId: "group1", - fulfillmentMethodId: "invalid-method" - })).rejects.toThrowErrorMatchingSnapshot(); -}); diff --git a/src/core-services/shipping/mutations/updateFulfillmentOptionsForGroup.js b/src/core-services/shipping/mutations/updateFulfillmentOptionsForGroup.js deleted file mode 100644 index c3e19de3b02..00000000000 --- a/src/core-services/shipping/mutations/updateFulfillmentOptionsForGroup.js +++ /dev/null @@ -1,104 +0,0 @@ -import _ from "lodash"; -import SimpleSchema from "simpl-schema"; -import ReactionError from "@reactioncommerce/reaction-error"; -import getCartById from "../util/getCartById.js"; - -const inputSchema = new SimpleSchema({ - cartId: String, - cartToken: { - type: String, - optional: true - }, - fulfillmentGroupId: String -}); - -/** - * @name getShipmentQuotesQueryStatus - * @param {Array} rates Rate array - * @returns {Object} An object with `shipmentQuotes` and `shipmentQuotesQueryStatus` on it - * @private - */ -function getShipmentQuotesQueryStatus(rates) { - if (rates.length === 0) { - return { - shipmentQuotes: [], - shipmentQuotesQueryStatus: { - requestStatus: "pending" - } - }; - } - - const errorResult = rates.find((option) => option.requestStatus === "error"); - if (errorResult) { - return { - shipmentQuotes: [], - shipmentQuotesQueryStatus: { - requestStatus: errorResult.requestStatus, - shippingProvider: errorResult.shippingProvider, - message: errorResult.message - } - }; - } - - return { - shipmentQuotes: rates, - shipmentQuotesQueryStatus: { - requestStatus: "success", - numOfShippingMethodsFound: rates.length - } - }; -} - -/** - * @method updateFulfillmentOptionsForGroup - * @summary Updates the fulfillment quotes for a fulfillment group - * @param {Object} context - an object containing the per-request state - * @param {Object} input - an object of all mutation arguments that were sent by the client - * @param {String} input.cartId - The ID of the cart to update fulfillment options for - * @param {String} [input.cartToken] - The token for the cart, required if it is an anonymous cart - * @param {String} input.fulfillmentGroupId - The group to update fulfillment options for - * @returns {Promise} An object with a `cart` property containing the updated cart - */ -export default async function updateFulfillmentOptionsForGroup(context, input) { - const cleanedInput = inputSchema.clean(input || {}); - inputSchema.validate(cleanedInput); - - const { cartId, cartToken, fulfillmentGroupId } = cleanedInput; - - const cart = await getCartById(context, cartId, { cartToken, throwIfNotFound: true }); - - // This is done by `saveCart`, too, but we need to do it before every call to `getCommonOrderForCartGroup` - // to avoid errors in the case where a product has been deleted since the last time this cart was saved. - // This mutates that `cart` object. - await context.mutations.removeMissingItemsFromCart(context, cart); - - const fulfillmentGroup = (cart.shipping || []).find((group) => group._id === fulfillmentGroupId); - if (!fulfillmentGroup) throw new ReactionError("not-found", `Fulfillment group with ID ${fulfillmentGroupId} not found in cart with ID ${cartId}`); - - const commonOrder = await context.queries.getCommonOrderForCartGroup(context, { cart, fulfillmentGroupId: fulfillmentGroup._id }); - - // In the future we want to do this async and subscribe to the results - const rates = await context.queries.getFulfillmentMethodsWithQuotes(commonOrder, context); - - const { shipmentQuotes, shipmentQuotesQueryStatus } = getShipmentQuotesQueryStatus(rates); - - if (!_.isEqual(shipmentQuotes, fulfillmentGroup.shipmentQuotes) || !_.isEqual(shipmentQuotesQueryStatus, fulfillmentGroup.shipmentQuotesQueryStatus)) { - const updatedCart = { - ...cart, - shipping: cart.shipping.map((group) => { - if (group._id === fulfillmentGroupId) { - return { ...group, shipmentQuotes, shipmentQuotesQueryStatus }; - } - - return group; - }), - updatedAt: new Date() - }; - - const savedCart = await context.mutations.saveCart(context, updatedCart); - - return { cart: savedCart }; - } - - return { cart }; -} diff --git a/src/core-services/shipping/mutations/updateFulfillmentOptionsForGroup.test.js b/src/core-services/shipping/mutations/updateFulfillmentOptionsForGroup.test.js deleted file mode 100644 index c34f49cbcaa..00000000000 --- a/src/core-services/shipping/mutations/updateFulfillmentOptionsForGroup.test.js +++ /dev/null @@ -1,171 +0,0 @@ -import Factory from "/tests/util/factory.js"; -import mockContext from "@reactioncommerce/api-utils/tests/mockContext.js"; -import updateFulfillmentOptionsForGroup from "./updateFulfillmentOptionsForGroup.js"; - -jest.mock("../util/getCartById", () => jest.fn().mockImplementation(() => Promise.resolve({ - _id: "cartId", - items: [{ - _id: "123", - price: { - amount: 19.99 - }, - priceWhenAdded: { - amount: 19.99 - }, - subtotal: { - amount: 19.99 - } - }], - shipping: [{ - _id: "group1", - itemIds: ["123"], - type: "shipping" - }] -}))); - -const fakeCart = Factory.Cart.makeOne(); -const fakeQuote = Factory.ShipmentQuote.makeOne(); -const mockGetFulfillmentMethodsWithQuotes = jest.fn().mockName("getFulfillmentMethodsWithQuotes"); -const mockGetCommonOrderForCartGroup = jest.fn().mockName("getCommonOrderForCartGroup"); - -beforeAll(() => { - mockContext.queries = { - getFulfillmentMethodsWithQuotes: mockGetFulfillmentMethodsWithQuotes, - getCommonOrderForCartGroup: mockGetCommonOrderForCartGroup - }; - if (!mockContext.mutations.saveCart) { - mockContext.mutations.saveCart = jest.fn().mockName("context.mutations.saveCart").mockImplementation(async (_, cart) => cart); - } - if (!mockContext.mutations.removeMissingItemsFromCart) { - mockContext.mutations.removeMissingItemsFromCart = jest.fn().mockName("context.mutations.removeMissingItemsFromCart"); - } -}); - -beforeEach(() => { - mockGetFulfillmentMethodsWithQuotes.mockClear(); -}); - -test("updates cart properly for empty rates", async () => { - mockGetFulfillmentMethodsWithQuotes.mockReturnValueOnce(Promise.resolve([])); - mockContext.collections.Cart.findOne.mockReturnValueOnce(Promise.resolve(fakeCart)); - - const result = await updateFulfillmentOptionsForGroup(mockContext, { - cartId: "cartId", - fulfillmentGroupId: "group1" - }); - - expect(result).toEqual({ - cart: { - _id: "cartId", - items: [{ - _id: "123", - price: { - amount: 19.99 - }, - priceWhenAdded: { - amount: 19.99 - }, - subtotal: { - amount: 19.99 - } - }], - shipping: [{ - _id: "group1", - itemIds: ["123"], - type: "shipping", - shipmentQuotes: [], - shipmentQuotesQueryStatus: { requestStatus: "pending" } - }], - updatedAt: jasmine.any(Date) - } - }); -}); - -test("updates cart properly for error rates", async () => { - mockGetFulfillmentMethodsWithQuotes.mockReturnValueOnce(Promise.resolve([{ - requestStatus: "error", - shippingProvider: "all", - message: "All requests for shipping methods failed." - }])); - - const result = await updateFulfillmentOptionsForGroup(mockContext, { - cartId: "cartId", - fulfillmentGroupId: "group1" - }); - - expect(result).toEqual({ - cart: { - _id: "cartId", - items: [{ - _id: "123", - price: { - amount: 19.99 - }, - priceWhenAdded: { - amount: 19.99 - }, - subtotal: { - amount: 19.99 - } - }], - shipping: [{ - _id: "group1", - itemIds: ["123"], - type: "shipping", - shipmentQuotes: [], - shipmentQuotesQueryStatus: { - requestStatus: "error", - shippingProvider: "all", - message: "All requests for shipping methods failed." - } - }], - updatedAt: jasmine.any(Date) - } - }); -}); - -test("updates cart properly for success rates", async () => { - mockGetFulfillmentMethodsWithQuotes.mockReturnValueOnce(Promise.resolve([fakeQuote])); - mockContext.collections.Cart.findOne.mockReturnValueOnce(Promise.resolve(fakeCart)); - - const result = await updateFulfillmentOptionsForGroup(mockContext, { - cartId: "cartId", - fulfillmentGroupId: "group1" - }); - - expect(result).toEqual({ - cart: { - _id: "cartId", - items: [{ - _id: "123", - price: { - amount: 19.99 - }, - priceWhenAdded: { - amount: 19.99 - }, - subtotal: { - amount: 19.99 - } - }], - shipping: [{ - _id: "group1", - itemIds: ["123"], - type: "shipping", - shipmentQuotes: [fakeQuote], - shipmentQuotesQueryStatus: { - requestStatus: "success", - numOfShippingMethodsFound: 1 - } - }], - updatedAt: jasmine.any(Date) - } - }); -}); - -test("throws if there is no fulfillment group with the given ID", async () => { - await expect(updateFulfillmentOptionsForGroup(mockContext, { - cartId: "cartId", - fulfillmentGroupId: "group2" - })).rejects.toThrowErrorMatchingSnapshot(); -}); diff --git a/src/core-services/shipping/queries/getFulfillmentMethodsWithQuotes.js b/src/core-services/shipping/queries/getFulfillmentMethodsWithQuotes.js deleted file mode 100644 index bc88fb84f00..00000000000 --- a/src/core-services/shipping/queries/getFulfillmentMethodsWithQuotes.js +++ /dev/null @@ -1,41 +0,0 @@ -import Logger from "@reactioncommerce/logger"; -import extendCommonOrder from "../util/extendCommonOrder.js"; - -/** - * @name getFulfillmentMethodsWithQuotes - * @method - * @summary Just gets rates, without updating anything - * @param {Object} commonOrder - details about the purchase a user wants to make. - * @param {Object} context - Context - * @returns {Array} return updated rates in cart - * @private - */ -export default async function getFulfillmentMethodsWithQuotes(commonOrder, context) { - const rates = []; - const retrialTargets = []; - - // must have items to calculate shipping - if (!commonOrder.items || !commonOrder.items.length) { - Logger.debug("getFulfillmentMethodsWithQuotes called with CommonOrder with no items"); - return rates; - } - - const commonOrderExtended = await extendCommonOrder(context, commonOrder); - - const funcs = context.getFunctionsOfType("getFulfillmentMethodsWithQuotes"); - let promises = funcs.map((rateFunction) => rateFunction(context, commonOrderExtended, [rates, retrialTargets])); - await Promise.all(promises); - - // Try once more. - if (retrialTargets.length > 0) { - promises = funcs.map((rateFunction) => rateFunction(context, commonOrderExtended, [rates, retrialTargets])); - await Promise.all(promises); - - if (retrialTargets.length > 0) { - Logger.warn("Failed to get fulfillment methods from these packages:", retrialTargets); - } - } - - Logger.debug("getFulfillmentMethodsWithQuotes returning rates", rates); - return rates; -} diff --git a/src/core-services/shipping/queries/index.js b/src/core-services/shipping/queries/index.js deleted file mode 100644 index 8d4d9bea7d9..00000000000 --- a/src/core-services/shipping/queries/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import getFulfillmentMethodsWithQuotes from "./getFulfillmentMethodsWithQuotes.js"; - -export default { - getFulfillmentMethodsWithQuotes -}; diff --git a/src/core-services/shipping/resolvers/FulfillmentMethod/index.js b/src/core-services/shipping/resolvers/FulfillmentMethod/index.js deleted file mode 100644 index 1a84788268b..00000000000 --- a/src/core-services/shipping/resolvers/FulfillmentMethod/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import { encodeFulfillmentMethodOpaqueId } from "../../xforms/id.js"; - -export default { - _id: (node) => encodeFulfillmentMethodOpaqueId(node._id) -}; diff --git a/src/core-services/shipping/resolvers/Mutation/index.js b/src/core-services/shipping/resolvers/Mutation/index.js deleted file mode 100644 index 6f48ee08598..00000000000 --- a/src/core-services/shipping/resolvers/Mutation/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import selectFulfillmentOptionForGroup from "./selectFulfillmentOptionForGroup.js"; -import updateFulfillmentOptionsForGroup from "./updateFulfillmentOptionsForGroup.js"; - -export default { - selectFulfillmentOptionForGroup, - updateFulfillmentOptionsForGroup -}; diff --git a/src/core-services/shipping/resolvers/Mutation/selectFulfillmentOptionForGroup.js b/src/core-services/shipping/resolvers/Mutation/selectFulfillmentOptionForGroup.js deleted file mode 100644 index 260efda3b50..00000000000 --- a/src/core-services/shipping/resolvers/Mutation/selectFulfillmentOptionForGroup.js +++ /dev/null @@ -1,43 +0,0 @@ -import { decodeCartOpaqueId, decodeFulfillmentGroupOpaqueId, decodeFulfillmentMethodOpaqueId } from "../../xforms/id.js"; -import selectFulfillmentOptionForGroupMutation from "../../mutations/selectFulfillmentOptionForGroup.js"; - -/** - * @name Mutation/selectFulfillmentOptionForGroup - * @method - * @memberof Cart/GraphQL - * @summary resolver for the selectFulfillmentOptionForGroup GraphQL mutation - * @param {Object} parentResult - unused - * @param {Object} args.input - an object of all mutation arguments that were sent by the client - * @param {String} args.input.cartId - The ID of the cart to select a fulfillment option for - * @param {String} [args.input.cartToken] - The token for the cart, required if it is an anonymous cart - * @param {String} args.input.fulfillmentGroupId - The group to select a fulfillment option for - * @param {String} args.input.fulfillmentMethodId - The fulfillment method ID from the option the shopper selected - * @param {String} [args.input.clientMutationId] - An optional string identifying the mutation call - * @param {Object} context - an object containing the per-request state - * @returns {Promise} SelectFulfillmentOptionForGroupPayload - */ -export default async function selectFulfillmentOptionForGroup(parentResult, { input }, context) { - const { - cartId: opaqueCartId, - cartToken, - clientMutationId = null, - fulfillmentGroupId: opaqueFulfillmentGroupId, - fulfillmentMethodId: opaqueFulfillmentMethodId - } = input; - - const cartId = decodeCartOpaqueId(opaqueCartId); - const fulfillmentGroupId = decodeFulfillmentGroupOpaqueId(opaqueFulfillmentGroupId); - const fulfillmentMethodId = decodeFulfillmentMethodOpaqueId(opaqueFulfillmentMethodId); - - const { cart } = await selectFulfillmentOptionForGroupMutation(context, { - cartId, - cartToken, - fulfillmentGroupId, - fulfillmentMethodId - }); - - return { - cart, - clientMutationId - }; -} diff --git a/src/core-services/shipping/resolvers/Mutation/updateFulfillmentOptionsForGroup.js b/src/core-services/shipping/resolvers/Mutation/updateFulfillmentOptionsForGroup.js deleted file mode 100644 index d0a35758b97..00000000000 --- a/src/core-services/shipping/resolvers/Mutation/updateFulfillmentOptionsForGroup.js +++ /dev/null @@ -1,34 +0,0 @@ -import { decodeCartOpaqueId, decodeFulfillmentGroupOpaqueId } from "../../xforms/id.js"; -import updateFulfillmentOptionsForGroupMutation from "../../mutations/updateFulfillmentOptionsForGroup.js"; - -/** - * @name Mutation/updateFulfillmentOptionsForGroup - * @method - * @memberof Cart/GraphQL - * @summary resolver for the updateFulfillmentOptionsForGroup GraphQL mutation - * @param {Object} parentResult - unused - * @param {Object} args.input - an object of all mutation arguments that were sent by the client - * @param {String} args.input.cartId - The ID of the cart to update fulfillment options for - * @param {String} [args.input.cartToken] - The token for the cart, required if it is an anonymous cart - * @param {String} args.input.fulfillmentGroupId - The group to update fulfillment options for - * @param {String} [args.input.clientMutationId] - An optional string identifying the mutation call - * @param {Object} context - an object containing the per-request state - * @returns {Promise} UpdateFulfillmentOptionsForGroupPayload - */ -export default async function updateFulfillmentOptionsForGroup(parentResult, { input }, context) { - const { cartId: opaqueCartId, cartToken, clientMutationId = null, fulfillmentGroupId: opaqueFulfillmentGroupId } = input; - - const fulfillmentGroupId = decodeFulfillmentGroupOpaqueId(opaqueFulfillmentGroupId); - const cartId = decodeCartOpaqueId(opaqueCartId); - - const { cart } = await updateFulfillmentOptionsForGroupMutation(context, { - cartId, - cartToken, - fulfillmentGroupId - }); - - return { - cart, - clientMutationId - }; -} diff --git a/src/core-services/shipping/resolvers/index.js b/src/core-services/shipping/resolvers/index.js deleted file mode 100644 index 85d60d54bf9..00000000000 --- a/src/core-services/shipping/resolvers/index.js +++ /dev/null @@ -1,12 +0,0 @@ -import FulfillmentMethod from "./FulfillmentMethod/index.js"; -import Mutation from "./Mutation/index.js"; - -/** - * Fulfillment related GraphQL resolvers - * @namespace Fulfillment/GraphQL - */ - -export default { - FulfillmentMethod, - Mutation -}; diff --git a/src/core-services/shipping/schemas/index.js b/src/core-services/shipping/schemas/index.js deleted file mode 100644 index 30096f92e54..00000000000 --- a/src/core-services/shipping/schemas/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import importAsString from "@reactioncommerce/api-utils/importAsString.js"; - -const schema = importAsString("./schema.graphql"); - -export default [schema]; diff --git a/src/core-services/shipping/schemas/schema.graphql b/src/core-services/shipping/schemas/schema.graphql deleted file mode 100644 index 79681a1d840..00000000000 --- a/src/core-services/shipping/schemas/schema.graphql +++ /dev/null @@ -1,61 +0,0 @@ -"A shipping parcel" -type ShippingParcel { - "Containers" - containers: String - - "Distance unit" - distanceUnit: DistanceUnit - - "Height" - height: Float - - "Length" - length: Float - - "Mass unit" - massUnit: MassUnit - - "Weight" - weight: Float - - "Width" - width: Float -} - -"Allowed fulfillment types" -enum FulfillmentType { - "An order will be fulfilled digitally, such as by sending a download link" - digital - - "An order will be fulfilled by the customer picking it up" - pickup - - "An order will be fulfilled by the seller shipping it to the customer" - shipping -} - -""" -A single fulfillment method. Fulfillment methods are shown to shoppers along with a quote for them, -and the shopper chooses one method per fulfillment group per cart during checkout. -""" -type FulfillmentMethod implements Node { - "The fulfillment method ID" - _id: ID! - - "A carrier name" - carrier: String - - "The name of this method, for display in the user interface" - displayName: String! - - """ - The fulfillment types for which this method may be used. For example, `shipping` or `digital`. - """ - fulfillmentTypes: [FulfillmentType]! - - "The group to which this method belongs" - group: String - - "The name of this method, a unique identifier" - name: String! -} diff --git a/src/core-services/shipping/util/extendCommonOrder.js b/src/core-services/shipping/util/extendCommonOrder.js deleted file mode 100644 index c1fd4648f63..00000000000 --- a/src/core-services/shipping/util/extendCommonOrder.js +++ /dev/null @@ -1,56 +0,0 @@ -import ReactionError from "@reactioncommerce/reaction-error"; -import { tagsByIds, mergeProductAndVariants } from "./helpers.js"; - -/** - * @name extendCommonOrder - * @summary Get shipping attributes for a fulfillment group that will be used to - * determine any applicable shipping restrictions. - * @param {Object} context - an object containing the per-request state - * @param {Object} commonOrder - details about the purchase a user wants to make. - * @param {Array} fulfillmentGroup.items - the items in the cart - * @returns {Object|null} shipping restriction attributes for the provided fulfillment group - */ -export default async function extendCommonOrder(context, commonOrder) { - const { collections, getFunctionsOfType, queries } = context; - const { items: orderItems } = commonOrder; - const products = []; - - // Products in the Catalog collection are the source of truth, therefore use them - // as the source of data instead of what is coming from the client. - const catalogProductsAndVariants = await queries.findCatalogProductsAndVariants(context, orderItems); - const allProductsTags = await tagsByIds(collections, catalogProductsAndVariants); - - for (const orderLineItem of orderItems) { - const productAndVariants = catalogProductsAndVariants.find((catProduct) => catProduct.product.productId === orderLineItem.productId); - - if (!productAndVariants) { - throw new ReactionError("not-found", "Catalog product not found"); - } - - const flattenProduct = mergeProductAndVariants(productAndVariants); - - // Fetch product tags - allProductsTags.find((tag) => { - if (tag.productId === productAndVariants.product.productId) { - flattenProduct.tags = tag.tags; - } - return null; - }); - - // Fetch custom attributes - // We need to run each of these functions in a series, rather than in parallel, because - // we are mutating the same object on each pass. It is recommended to disable `no-await-in-loop` - // eslint rules when the output of one iteration might be used as input in another iteration, such as this case here. - // See https://eslint.org/docs/rules/no-await-in-loop#when-not-to-use-it - for (const customAttributesFunc of getFunctionsOfType("addShippingRestrictionCustomAttributes")) { - await customAttributesFunc(flattenProduct, productAndVariants); // eslint-disable-line - } - - products.push(flattenProduct); - } - - return { - ...commonOrder, - items: products - }; -} diff --git a/src/core-services/shipping/util/getCartById.js b/src/core-services/shipping/util/getCartById.js deleted file mode 100644 index 3142f9d4f69..00000000000 --- a/src/core-services/shipping/util/getCartById.js +++ /dev/null @@ -1,34 +0,0 @@ -import hashToken from "@reactioncommerce/api-utils/hashToken.js"; -import ReactionError from "@reactioncommerce/reaction-error"; - -/** - * @summary Gets a cart from the db by ID. If there is an account for the request, verifies that the - * account has permission to access the cart. Optionally throws an error if not found. - * @param {Object} context Object defining the request state - * @param {String} cartId The cart ID - * @param {Object} [options] Options - * @param {String} [options.cartToken] Cart token, required if it's an anonymous cart - * @param {Boolean} [options.throwIfNotFound] Default false. Throw a not-found error rather than return null `cart` - * @returns {Object|null} The cart document, or null if not found and `throwIfNotFound` was false - */ -export default async function getCartById(context, cartId, { cartToken, throwIfNotFound = false } = {}) { - const { accountId, collections } = context; - const { Cart } = collections; - - const selector = { _id: cartId }; - - if (cartToken) { - selector.anonymousAccessToken = hashToken(cartToken); - } - - const cart = await Cart.findOne(selector); - if (!cart && throwIfNotFound) { - throw new ReactionError("not-found", "Cart not found"); - } - - if (cart && cart.accountId && cart.accountId !== accountId) { - throw new ReactionError("access-denied", "Access Denied"); - } - - return cart || null; -} diff --git a/src/core-services/shipping/util/helpers.js b/src/core-services/shipping/util/helpers.js deleted file mode 100644 index 0fd5b73b0da..00000000000 --- a/src/core-services/shipping/util/helpers.js +++ /dev/null @@ -1,70 +0,0 @@ -import _ from "lodash"; - -/** - * @name mergeProductAndVariants - * @summary Merges a product and its variants - * @param {Object} productAndVariants - The product and its variants - * @returns {Object} - The merged product and variants - */ -export function mergeProductAndVariants(productAndVariants) { - const { product, parentVariant, variant } = productAndVariants; - - // Filter out unnecessary product props - const productProps = _.omit(product, [ - "variants", "media", "metafields", "parcel", " primaryImage", "socialMetadata", "customAttributes" - ]); - - // Filter out unnecessary variant props - const variantExcludeProps = ["media", "parcel", "primaryImage", "customAttributes"]; - const variantProps = _.omit(variant, variantExcludeProps); - - // If an option has been added to the cart - if (parentVariant) { - // Filter out unnecessary parent variant props - const parentVariantProps = _.omit(parentVariant, variantExcludeProps); - - return { - ...productProps, - ...parentVariantProps, - ...variantProps - }; - } - - return { - ...productProps, - ...variantProps - }; -} - -/** - * @name tagsByIds - * @summary Finds all tags associated with the provided array of catalog products. - * @param {Object} collections - The mongo collections - * @param {Array} catalogProducts - An array of products in the Catalog collection. - * @returns {Array} - An array of tags and corresponding product ids. - */ -export async function tagsByIds(collections, catalogProducts) { - const { Tags } = collections; - - const tagIds = catalogProducts.reduce((list, item) => { - if (item.product.tagIds) { - list.push(...item.product.tagIds); - } - return list; - }, []); - - const tags = await Tags.find({ _id: { $in: tagIds } }).toArray(); - - return catalogProducts.reduce((list, item) => { - if (item.product.tagIds) { - list.push({ - productId: item.product.productId, - tags: item.product.tagIds.map((id) => { - const foundTag = tags.find((tag) => tag._id === id); - return foundTag ? foundTag.name : null; - }) - }); - } - return list; - }, []); -} diff --git a/src/core-services/shipping/xforms/id.js b/src/core-services/shipping/xforms/id.js deleted file mode 100644 index f50ccb5a371..00000000000 --- a/src/core-services/shipping/xforms/id.js +++ /dev/null @@ -1,14 +0,0 @@ -import decodeOpaqueIdForNamespace from "@reactioncommerce/api-utils/decodeOpaqueIdForNamespace.js"; -import encodeOpaqueId from "@reactioncommerce/api-utils/encodeOpaqueId.js"; - -const namespaces = { - Cart: "reaction/cart", - FulfillmentGroup: "reaction/fulfillmentGroup", - FulfillmentMethod: "reaction/fulfillmentMethod" -}; - -export const encodeFulfillmentMethodOpaqueId = encodeOpaqueId(namespaces.FulfillmentMethod); - -export const decodeCartOpaqueId = decodeOpaqueIdForNamespace(namespaces.Cart); -export const decodeFulfillmentGroupOpaqueId = decodeOpaqueIdForNamespace(namespaces.FulfillmentGroup); -export const decodeFulfillmentMethodOpaqueId = decodeOpaqueIdForNamespace(namespaces.FulfillmentMethod); From c128921edb20595bcb18a37899c50b2e3b96c851 Mon Sep 17 00:00:00 2001 From: Eric Dobbertin Date: Thu, 23 Apr 2020 13:16:37 -0500 Subject: [PATCH 2/3] chore: fix GQL lint mock types Signed-off-by: Eric Dobbertin --- src/mockTypes.graphql | 47 +++++++++++++++++-------------------------- 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/src/mockTypes.graphql b/src/mockTypes.graphql index 9014d94d253..da0aaf3857a 100644 --- a/src/mockTypes.graphql +++ b/src/mockTypes.graphql @@ -69,33 +69,6 @@ type FakeData { doNotUse: String } -"Distance units" -enum DistanceUnit { - "Centimeter" - cm - - "Foot" - ft - - "Inch" - in -} - -"Mass units" -enum MassUnit { - "Gram" - g - - "Kilogram" - kg - - "Pound" - lb - - "Ounce" - oz -} - "Fake" type ImageSizes { "Fake" @@ -273,8 +246,6 @@ extend type FakeData { moneyInput: MoneyInput ): Cart, "Fake field to satisfy linting" - shippingParcel: ShippingParcel - "Fake field to satisfy linting" nodeEdge: NodeEdge, "Fake field to satisfy linting" imageSizes: ImageSizes, @@ -497,6 +468,24 @@ input ShopSettingsUpdates { fakeField: String } +# ======================================== +# api-plugin-shipments +# ======================================== +""" +A fake type to satisfy linting +type lives in `api-plugin-shipments` +""" +enum FulfillmentType { + "An order will be fulfilled digitally, such as by sending a download link" + digital + + "An order will be fulfilled by the customer picking it up" + pickup + + "An order will be fulfilled by the seller shipping it to the customer" + shipping +} + # ======================================== # api-plugin-shops # ======================================== From 87411f3afffe2e349097320d648724bc6945242e Mon Sep 17 00:00:00 2001 From: Eric Dobbertin Date: Thu, 23 Apr 2020 13:30:36 -0500 Subject: [PATCH 3/3] fix: update catalogs and surcharges plugins to fix plugin name Signed-off-by: Eric Dobbertin --- package-lock.json | 12 ++++++------ package.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5ef385a18e9..98080ee6018 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1541,9 +1541,9 @@ } }, "@reactioncommerce/api-plugin-catalogs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@reactioncommerce/api-plugin-catalogs/-/api-plugin-catalogs-1.0.0.tgz", - "integrity": "sha512-Nft7QrdMJU+9y0U5lj9bGB8Jg66a6VOISpgwzW5cjPYVh3yTT+c+SYpuxfCLgyyxAq6SMA0n4W4jux6ykR6X2Q==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@reactioncommerce/api-plugin-catalogs/-/api-plugin-catalogs-1.0.1.tgz", + "integrity": "sha512-o75m+XBk4i4lHUSJABC1d1icyo+3rHwx9XyalRAmIUxaVL62SEIkXzzu0JSQjoNCxvB/7hezAO4xmZQxh9zkQw==", "requires": { "@reactioncommerce/api-utils": "^1.9.0", "@reactioncommerce/logger": "^1.1.3", @@ -1856,9 +1856,9 @@ } }, "@reactioncommerce/api-plugin-surcharges": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@reactioncommerce/api-plugin-surcharges/-/api-plugin-surcharges-1.0.0.tgz", - "integrity": "sha512-ue9Er3z/7J7klAG8AQGpyxeQs1Ts9UpCUblCGK4HM47O5Dn2JhTBNqIYccYDWKHzl25Va3o/dRT4Usjto3OBOA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@reactioncommerce/api-plugin-surcharges/-/api-plugin-surcharges-1.0.1.tgz", + "integrity": "sha512-yqmqpm4wYVK/tZGyskO0VWt28nkQp6/61rhMZGWygvpwW1HGWcni61k08UmsMJNydR1xGfN4TSWA4/HooXxYSw==", "requires": { "@reactioncommerce/api-utils": "^1.12.0", "@reactioncommerce/random": "^1.0.2", diff --git a/package.json b/package.json index d656d603559..ff1af8b2683 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@reactioncommerce/api-plugin-address-validation": "~1.3.0", "@reactioncommerce/api-plugin-address-validation-test": "~1.0.0", "@reactioncommerce/api-plugin-carts": "~1.0.0", - "@reactioncommerce/api-plugin-catalogs": "~1.0.0", + "@reactioncommerce/api-plugin-catalogs": "~1.0.1", "@reactioncommerce/api-plugin-discounts": "~1.0.0", "@reactioncommerce/api-plugin-email": "~1.0.0", "@reactioncommerce/api-plugin-email-smtp": "~1.0.0", @@ -43,7 +43,7 @@ "@reactioncommerce/api-plugin-shipments": "~1.0.0", "@reactioncommerce/api-plugin-shops": "~1.0.0", "@reactioncommerce/api-plugin-simple-schema": "~1.0.0", - "@reactioncommerce/api-plugin-surcharges": "~1.0.0", + "@reactioncommerce/api-plugin-surcharges": "~1.0.1", "@reactioncommerce/api-plugin-tags": "~1.0.0", "@reactioncommerce/api-utils": "~1.10.0", "@reactioncommerce/db-version-check": "~1.0.0",