From dcd887d85e8060458a6f1996ac8c5a84a6bd4877 Mon Sep 17 00:00:00 2001 From: Eric Dobbertin Date: Thu, 3 Oct 2019 22:37:07 -0500 Subject: [PATCH 1/2] refactor: move core plugin to Node app Signed-off-by: Eric Dobbertin --- imports/node-app/core-services/core/config.js | 12 ++++ .../core-services/core}/i18n/ar.json | 0 .../core-services/core}/i18n/bg.json | 0 .../core-services/core}/i18n/cs.json | 0 .../core-services/core}/i18n/de.json | 0 .../core-services/core}/i18n/el.json | 0 .../core-services/core}/i18n/en.json | 0 .../core-services/core}/i18n/es.json | 0 .../core-services/core}/i18n/fr.json | 0 .../core-services/core}/i18n/he.json | 0 .../core-services/core}/i18n/hr.json | 0 .../core-services/core}/i18n/hu.json | 0 .../core-services/core}/i18n/index.js | 0 .../core-services/core}/i18n/it.json | 0 .../core-services/core}/i18n/my.json | 0 .../core-services/core}/i18n/nb.json | 0 .../core-services/core}/i18n/nl.json | 0 .../core-services/core}/i18n/pl.json | 0 .../core-services/core}/i18n/pt.json | 0 .../core-services/core}/i18n/ro.json | 0 .../core-services/core}/i18n/ru.json | 0 .../core-services/core}/i18n/sl.json | 0 .../core-services/core}/i18n/sv.json | 0 .../core-services/core}/i18n/tr.json | 0 .../core-services/core}/i18n/vi.json | 0 .../core-services/core}/i18n/zh.json | 0 .../core-services/core/index.js} | 9 ++- .../core-services/core/resolvers/Address.js | 5 ++ .../core}/resolvers/ConnectionCursor.js | 0 .../core}/resolvers/ConnectionCursor.test.js | 2 +- .../core}/resolvers/ConnectionLimitInt.js | 0 .../resolvers/ConnectionLimitInt.test.js | 2 +- .../core-services/core}/resolvers/Currency.js | 0 .../core-services/core}/resolvers/Money.js | 0 .../core/resolvers/Query/index.js | 7 +++ .../core}/resolvers/Query/tag.js | 2 +- .../core}/resolvers/Query/tags.js | 5 +- .../core}/resolvers/Query/tags.test.js | 4 +- .../core}/resolvers/Tag/heroMediaUrl.js | 0 .../core}/resolvers/Tag/index.js | 6 +- .../core}/resolvers/Tag/subTags.js | 5 +- .../ConnectionCursor.test.js.snap | 0 .../ConnectionLimitInt.test.js.snap | 0 .../core-services/core}/resolvers/index.js | 16 +++--- .../core}/schemas/address.graphql | 0 .../core-services/core}/schemas/base.graphql | 0 .../core}/schemas/currency.graphql | 0 .../core-services/core}/schemas/email.graphql | 0 .../core-services/core}/schemas/index.js | 0 .../core}/schemas/metafield.graphql | 0 .../core-services/core}/schemas/node.graphql | 0 .../core-services/core}/schemas/shop.graphql | 0 .../core-services/core}/schemas/tag.graphql | 0 .../core-services/core}/startup.js | 6 +- .../core-services/core}/util/layouts.js | 0 .../core}/util/loadSampleData.js | 4 +- .../core-services/core}/util/sampleData.js | 0 .../core}/util/upsertPackages.js | 2 +- .../node-app/core-services/core/xforms/id.js | 12 ++++ .../product/resolvers/Product/tags.js | 5 +- .../core-services/shop/resolvers/Shop/tags.js | 3 +- .../shop/resolvers/Shop/tags.test.js | 2 +- .../core-services/tags/resolvers/index.js | 2 +- .../Query/navigationItemsByShopId.js | 3 +- .../Query/navigationItemsByShopId.test.js | 2 +- .../plugins/navigation/resolvers/index.js | 2 +- .../getFlatRateFulfillmentRestrictions.js | 3 +- .../plugins/shipping-rates/resolvers/index.js | 2 +- .../surcharges/resolvers/Query/surcharges.js | 3 +- .../plugins/surcharges/resolvers/index.js | 2 +- imports/node-app/registerPlugins.js | 2 +- .../resolvers/Account/addressBook.js | 2 +- .../resolvers/Query/administrators.js | 3 +- .../resolvers/Query/administrators.test.js | 2 +- .../no-meteor/resolvers/Query/groups.js | 3 +- .../no-meteor/resolvers/Query/groups.test.js | 2 +- .../server/no-meteor/resolvers/Query/roles.js | 3 +- .../no-meteor/resolvers/Query/roles.test.js | 2 +- .../resolvers/Shop/administrators.js | 3 +- .../resolvers/Shop/administrators.test.js | 2 +- .../server/no-meteor/resolvers/Shop/groups.js | 3 +- .../no-meteor/resolvers/Shop/groups.test.js | 2 +- .../server/no-meteor/resolvers/Shop/roles.js | 3 +- .../no-meteor/resolvers/Shop/roles.test.js | 2 +- .../server/no-meteor/resolvers/index.js | 2 +- .../server/no-meteor/resolvers/Cart/items.js | 2 +- .../resolvers/CartItem/productTags.js | 5 +- .../server/no-meteor/resolvers/Address.js | 5 -- .../server/no-meteor/resolvers/Query/index.js | 7 --- .../plugins/core/core/server/startup/index.js | 2 +- ...applyOffsetPaginationToMongoCursor.test.js | 2 +- .../util/applyPaginationToMongoCursor.test.js | 2 +- .../util/getCollectionFromCursor.test.js | 2 +- .../util/getPaginatedResponse.test.js | 2 +- .../resolvers/OrderFulfillmentGroup/items.js | 2 +- .../resolvers/OrderItem/productTags.js | 5 +- .../no-meteor/resolvers/Query/orders.js | 3 +- .../resolvers/Query/ordersByAccountId.js | 3 +- .../server/no-meteor/resolvers/index.js | 2 +- imports/utils/arrayJoinPlusRemainingQuery.js | 2 +- ...applyOffsetPaginationToMongoCursor.test.js | 2 +- .../applyPaginationToMongoCursor.test.js | 2 +- .../graphql/getCollectionFromCursor.test.js | 2 +- .../graphql/getPaginatedResponse.test.js | 2 +- .../graphql/test-utils/getFakeMongoCursor.js | 57 ------------------- 105 files changed, 129 insertions(+), 146 deletions(-) create mode 100644 imports/node-app/core-services/core/config.js rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/ar.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/bg.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/cs.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/de.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/el.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/en.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/es.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/fr.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/he.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/hr.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/hu.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/index.js (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/it.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/my.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/nb.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/nl.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/pl.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/pt.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/ro.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/ru.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/sl.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/sv.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/tr.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/vi.json (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/i18n/zh.json (100%) rename imports/{plugins/core/core/server/no-meteor/register.js => node-app/core-services/core/index.js} (93%) create mode 100644 imports/node-app/core-services/core/resolvers/Address.js rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/ConnectionCursor.js (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/ConnectionCursor.test.js (95%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/ConnectionLimitInt.js (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/ConnectionLimitInt.test.js (97%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/Currency.js (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/Money.js (100%) create mode 100644 imports/node-app/core-services/core/resolvers/Query/index.js rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/Query/tag.js (93%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/Query/tags.js (88%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/Query/tags.test.js (86%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/Tag/heroMediaUrl.js (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/Tag/index.js (50%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/Tag/subTags.js (85%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/__snapshots__/ConnectionCursor.test.js.snap (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/__snapshots__/ConnectionLimitInt.test.js.snap (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/resolvers/index.js (87%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/schemas/address.graphql (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/schemas/base.graphql (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/schemas/currency.graphql (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/schemas/email.graphql (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/schemas/index.js (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/schemas/metafield.graphql (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/schemas/node.graphql (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/schemas/shop.graphql (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/schemas/tag.graphql (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/startup.js (89%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/util/layouts.js (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/util/loadSampleData.js (97%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/util/sampleData.js (100%) rename imports/{plugins/core/core/server/no-meteor => node-app/core-services/core}/util/upsertPackages.js (98%) create mode 100644 imports/node-app/core-services/core/xforms/id.js delete mode 100644 imports/plugins/core/core/server/no-meteor/resolvers/Address.js delete mode 100644 imports/plugins/core/core/server/no-meteor/resolvers/Query/index.js delete mode 100644 imports/utils/graphql/test-utils/getFakeMongoCursor.js diff --git a/imports/node-app/core-services/core/config.js b/imports/node-app/core-services/core/config.js new file mode 100644 index 00000000000..e8bf9401e75 --- /dev/null +++ b/imports/node-app/core-services/core/config.js @@ -0,0 +1,12 @@ +import envalid, { bool, str } from "envalid"; + +export default envalid.cleanEnv(process.env, { + // This is necessary to override the envalid default + // validation for NODE_ENV, which uses + // str({ choices: ['development', 'test', 'production'] }) + // + // We currently need to set NODE_ENV to "jesttest" when + // integration tests run. + NODE_ENV: str(), + SKIP_FIXTURES: bool({ default: false }) +}); diff --git a/imports/plugins/core/core/server/no-meteor/i18n/ar.json b/imports/node-app/core-services/core/i18n/ar.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/ar.json rename to imports/node-app/core-services/core/i18n/ar.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/bg.json b/imports/node-app/core-services/core/i18n/bg.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/bg.json rename to imports/node-app/core-services/core/i18n/bg.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/cs.json b/imports/node-app/core-services/core/i18n/cs.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/cs.json rename to imports/node-app/core-services/core/i18n/cs.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/de.json b/imports/node-app/core-services/core/i18n/de.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/de.json rename to imports/node-app/core-services/core/i18n/de.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/el.json b/imports/node-app/core-services/core/i18n/el.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/el.json rename to imports/node-app/core-services/core/i18n/el.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/en.json b/imports/node-app/core-services/core/i18n/en.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/en.json rename to imports/node-app/core-services/core/i18n/en.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/es.json b/imports/node-app/core-services/core/i18n/es.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/es.json rename to imports/node-app/core-services/core/i18n/es.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/fr.json b/imports/node-app/core-services/core/i18n/fr.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/fr.json rename to imports/node-app/core-services/core/i18n/fr.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/he.json b/imports/node-app/core-services/core/i18n/he.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/he.json rename to imports/node-app/core-services/core/i18n/he.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/hr.json b/imports/node-app/core-services/core/i18n/hr.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/hr.json rename to imports/node-app/core-services/core/i18n/hr.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/hu.json b/imports/node-app/core-services/core/i18n/hu.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/hu.json rename to imports/node-app/core-services/core/i18n/hu.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/index.js b/imports/node-app/core-services/core/i18n/index.js similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/index.js rename to imports/node-app/core-services/core/i18n/index.js diff --git a/imports/plugins/core/core/server/no-meteor/i18n/it.json b/imports/node-app/core-services/core/i18n/it.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/it.json rename to imports/node-app/core-services/core/i18n/it.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/my.json b/imports/node-app/core-services/core/i18n/my.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/my.json rename to imports/node-app/core-services/core/i18n/my.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/nb.json b/imports/node-app/core-services/core/i18n/nb.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/nb.json rename to imports/node-app/core-services/core/i18n/nb.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/nl.json b/imports/node-app/core-services/core/i18n/nl.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/nl.json rename to imports/node-app/core-services/core/i18n/nl.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/pl.json b/imports/node-app/core-services/core/i18n/pl.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/pl.json rename to imports/node-app/core-services/core/i18n/pl.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/pt.json b/imports/node-app/core-services/core/i18n/pt.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/pt.json rename to imports/node-app/core-services/core/i18n/pt.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/ro.json b/imports/node-app/core-services/core/i18n/ro.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/ro.json rename to imports/node-app/core-services/core/i18n/ro.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/ru.json b/imports/node-app/core-services/core/i18n/ru.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/ru.json rename to imports/node-app/core-services/core/i18n/ru.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/sl.json b/imports/node-app/core-services/core/i18n/sl.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/sl.json rename to imports/node-app/core-services/core/i18n/sl.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/sv.json b/imports/node-app/core-services/core/i18n/sv.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/sv.json rename to imports/node-app/core-services/core/i18n/sv.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/tr.json b/imports/node-app/core-services/core/i18n/tr.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/tr.json rename to imports/node-app/core-services/core/i18n/tr.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/vi.json b/imports/node-app/core-services/core/i18n/vi.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/vi.json rename to imports/node-app/core-services/core/i18n/vi.json diff --git a/imports/plugins/core/core/server/no-meteor/i18n/zh.json b/imports/node-app/core-services/core/i18n/zh.json similarity index 100% rename from imports/plugins/core/core/server/no-meteor/i18n/zh.json rename to imports/node-app/core-services/core/i18n/zh.json diff --git a/imports/plugins/core/core/server/no-meteor/register.js b/imports/node-app/core-services/core/index.js similarity index 93% rename from imports/plugins/core/core/server/no-meteor/register.js rename to imports/node-app/core-services/core/index.js index 5f561295e90..b3ca14a054c 100644 --- a/imports/plugins/core/core/server/no-meteor/register.js +++ b/imports/node-app/core-services/core/index.js @@ -1,7 +1,7 @@ -import i18n from "./i18n"; -import resolvers from "./resolvers"; -import schemas from "./schemas"; -import startup from "./startup"; +import i18n from "./i18n/index.js"; +import resolvers from "./resolvers/index.js"; +import schemas from "./schemas/index.js"; +import startup from "./startup.js"; /** * @summary Import and call this function to add this plugin to your API. @@ -12,7 +12,6 @@ export default async function register(app) { await app.registerPlugin({ label: "Core", name: "core", - icon: "fa fa-th", i18n, collections: { Assets: { diff --git a/imports/node-app/core-services/core/resolvers/Address.js b/imports/node-app/core-services/core/resolvers/Address.js new file mode 100644 index 00000000000..bcff3f756f3 --- /dev/null +++ b/imports/node-app/core-services/core/resolvers/Address.js @@ -0,0 +1,5 @@ +import { encodeAddressOpaqueId } from "../xforms/id.js"; + +export default { + _id: (node) => encodeAddressOpaqueId(node._id) +}; diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/ConnectionCursor.js b/imports/node-app/core-services/core/resolvers/ConnectionCursor.js similarity index 100% rename from imports/plugins/core/core/server/no-meteor/resolvers/ConnectionCursor.js rename to imports/node-app/core-services/core/resolvers/ConnectionCursor.js diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/ConnectionCursor.test.js b/imports/node-app/core-services/core/resolvers/ConnectionCursor.test.js similarity index 95% rename from imports/plugins/core/core/server/no-meteor/resolvers/ConnectionCursor.test.js rename to imports/node-app/core-services/core/resolvers/ConnectionCursor.test.js index 204370ec622..3937879305a 100644 --- a/imports/plugins/core/core/server/no-meteor/resolvers/ConnectionCursor.test.js +++ b/imports/node-app/core-services/core/resolvers/ConnectionCursor.test.js @@ -1,5 +1,5 @@ import { Kind } from "graphql/language"; -import ConnectionCursor from "./ConnectionCursor"; +import ConnectionCursor from "./ConnectionCursor.js"; test("has a description", () => { expect(ConnectionCursor.description).toMatchSnapshot(); diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/ConnectionLimitInt.js b/imports/node-app/core-services/core/resolvers/ConnectionLimitInt.js similarity index 100% rename from imports/plugins/core/core/server/no-meteor/resolvers/ConnectionLimitInt.js rename to imports/node-app/core-services/core/resolvers/ConnectionLimitInt.js diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/ConnectionLimitInt.test.js b/imports/node-app/core-services/core/resolvers/ConnectionLimitInt.test.js similarity index 97% rename from imports/plugins/core/core/server/no-meteor/resolvers/ConnectionLimitInt.test.js rename to imports/node-app/core-services/core/resolvers/ConnectionLimitInt.test.js index c5d7acbafb0..fe0f3b4ca45 100644 --- a/imports/plugins/core/core/server/no-meteor/resolvers/ConnectionLimitInt.test.js +++ b/imports/node-app/core-services/core/resolvers/ConnectionLimitInt.test.js @@ -1,5 +1,5 @@ import { Kind } from "graphql/language"; -import ConnectionLimitInt from "./ConnectionLimitInt"; +import ConnectionLimitInt from "./ConnectionLimitInt.js"; test("has a description", () => { expect(ConnectionLimitInt.description).toMatchSnapshot(); diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/Currency.js b/imports/node-app/core-services/core/resolvers/Currency.js similarity index 100% rename from imports/plugins/core/core/server/no-meteor/resolvers/Currency.js rename to imports/node-app/core-services/core/resolvers/Currency.js diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/Money.js b/imports/node-app/core-services/core/resolvers/Money.js similarity index 100% rename from imports/plugins/core/core/server/no-meteor/resolvers/Money.js rename to imports/node-app/core-services/core/resolvers/Money.js diff --git a/imports/node-app/core-services/core/resolvers/Query/index.js b/imports/node-app/core-services/core/resolvers/Query/index.js new file mode 100644 index 00000000000..e74ece31ac2 --- /dev/null +++ b/imports/node-app/core-services/core/resolvers/Query/index.js @@ -0,0 +1,7 @@ +import tag from "./tag.js"; +import tags from "./tags.js"; + +export default { + tag, + tags +}; diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/Query/tag.js b/imports/node-app/core-services/core/resolvers/Query/tag.js similarity index 93% rename from imports/plugins/core/core/server/no-meteor/resolvers/Query/tag.js rename to imports/node-app/core-services/core/resolvers/Query/tag.js index 6293e3f60b1..5f8fdc83694 100644 --- a/imports/plugins/core/core/server/no-meteor/resolvers/Query/tag.js +++ b/imports/node-app/core-services/core/resolvers/Query/tag.js @@ -1,4 +1,4 @@ -import { decodeTagOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/tag"; +import { decodeTagOpaqueId } from "../../xforms/id.js"; /** * Arguments passed by the client for a tags query diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/Query/tags.js b/imports/node-app/core-services/core/resolvers/Query/tags.js similarity index 88% rename from imports/plugins/core/core/server/no-meteor/resolvers/Query/tags.js rename to imports/node-app/core-services/core/resolvers/Query/tags.js index 460b6da587c..01778b677e6 100644 --- a/imports/plugins/core/core/server/no-meteor/resolvers/Query/tags.js +++ b/imports/node-app/core-services/core/resolvers/Query/tags.js @@ -1,5 +1,6 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; -import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; +import { decodeShopOpaqueId } from "../../xforms/id.js"; /** * Arguments passed by the client for a tags query diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/Query/tags.test.js b/imports/node-app/core-services/core/resolvers/Query/tags.test.js similarity index 86% rename from imports/plugins/core/core/server/no-meteor/resolvers/Query/tags.test.js rename to imports/node-app/core-services/core/resolvers/Query/tags.test.js index c0a62cadb51..207853164b0 100644 --- a/imports/plugins/core/core/server/no-meteor/resolvers/Query/tags.test.js +++ b/imports/node-app/core-services/core/resolvers/Query/tags.test.js @@ -1,5 +1,5 @@ -import tagsResolver from "./tags"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; +import tagsResolver from "./tags.js"; +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import Factory from "/imports/test-utils/helpers/factory"; const base64ID = "cmVhY3Rpb24vc2hvcDoxMjM="; // reaction/shop:123 diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/Tag/heroMediaUrl.js b/imports/node-app/core-services/core/resolvers/Tag/heroMediaUrl.js similarity index 100% rename from imports/plugins/core/core/server/no-meteor/resolvers/Tag/heroMediaUrl.js rename to imports/node-app/core-services/core/resolvers/Tag/heroMediaUrl.js diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/Tag/index.js b/imports/node-app/core-services/core/resolvers/Tag/index.js similarity index 50% rename from imports/plugins/core/core/server/no-meteor/resolvers/Tag/index.js rename to imports/node-app/core-services/core/resolvers/Tag/index.js index c3385fa5751..1f984193d01 100644 --- a/imports/plugins/core/core/server/no-meteor/resolvers/Tag/index.js +++ b/imports/node-app/core-services/core/resolvers/Tag/index.js @@ -1,6 +1,6 @@ -import { encodeTagOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/tag"; -import heroMediaUrl from "./heroMediaUrl"; -import subTags from "./subTags"; +import { encodeTagOpaqueId } from "../../xforms/id.js"; +import heroMediaUrl from "./heroMediaUrl.js"; +import subTags from "./subTags.js"; export default { _id: (tag) => encodeTagOpaqueId(tag._id), diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/Tag/subTags.js b/imports/node-app/core-services/core/resolvers/Tag/subTags.js similarity index 85% rename from imports/plugins/core/core/server/no-meteor/resolvers/Tag/subTags.js rename to imports/node-app/core-services/core/resolvers/Tag/subTags.js index 686cc6a2a70..1d2b6356fad 100644 --- a/imports/plugins/core/core/server/no-meteor/resolvers/Tag/subTags.js +++ b/imports/node-app/core-services/core/resolvers/Tag/subTags.js @@ -1,5 +1,6 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; -import { xformArrayToConnection } from "@reactioncommerce/reaction-graphql-xforms/connection"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; +import xformArrayToConnection from "@reactioncommerce/api-utils/graphql/xformArrayToConnection.js"; /** * Arguments passed by the client for a tags query diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/__snapshots__/ConnectionCursor.test.js.snap b/imports/node-app/core-services/core/resolvers/__snapshots__/ConnectionCursor.test.js.snap similarity index 100% rename from imports/plugins/core/core/server/no-meteor/resolvers/__snapshots__/ConnectionCursor.test.js.snap rename to imports/node-app/core-services/core/resolvers/__snapshots__/ConnectionCursor.test.js.snap diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/__snapshots__/ConnectionLimitInt.test.js.snap b/imports/node-app/core-services/core/resolvers/__snapshots__/ConnectionLimitInt.test.js.snap similarity index 100% rename from imports/plugins/core/core/server/no-meteor/resolvers/__snapshots__/ConnectionLimitInt.test.js.snap rename to imports/node-app/core-services/core/resolvers/__snapshots__/ConnectionLimitInt.test.js.snap diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/index.js b/imports/node-app/core-services/core/resolvers/index.js similarity index 87% rename from imports/plugins/core/core/server/no-meteor/resolvers/index.js rename to imports/node-app/core-services/core/resolvers/index.js index 30cd35731b7..aeca714dd3d 100644 --- a/imports/plugins/core/core/server/no-meteor/resolvers/index.js +++ b/imports/node-app/core-services/core/resolvers/index.js @@ -1,12 +1,12 @@ -import { getConnectionTypeResolvers } from "@reactioncommerce/reaction-graphql-utils"; +import getConnectionTypeResolvers from "@reactioncommerce/api-utils/graphql/getConnectionTypeResolvers.js"; import { GraphQLDate, GraphQLDateTime } from "graphql-iso-date"; -import Address from "./Address"; -import ConnectionCursor from "./ConnectionCursor"; -import ConnectionLimitInt from "./ConnectionLimitInt"; -import Currency from "./Currency"; -import Money from "./Money"; -import Query from "./Query"; -import Tag from "./Tag"; +import Address from "./Address.js"; +import ConnectionCursor from "./ConnectionCursor.js"; +import ConnectionLimitInt from "./ConnectionLimitInt.js"; +import Currency from "./Currency.js"; +import Money from "./Money.js"; +import Query from "./Query/index.js"; +import Tag from "./Tag/index.js"; export default { Address, diff --git a/imports/plugins/core/core/server/no-meteor/schemas/address.graphql b/imports/node-app/core-services/core/schemas/address.graphql similarity index 100% rename from imports/plugins/core/core/server/no-meteor/schemas/address.graphql rename to imports/node-app/core-services/core/schemas/address.graphql diff --git a/imports/plugins/core/core/server/no-meteor/schemas/base.graphql b/imports/node-app/core-services/core/schemas/base.graphql similarity index 100% rename from imports/plugins/core/core/server/no-meteor/schemas/base.graphql rename to imports/node-app/core-services/core/schemas/base.graphql diff --git a/imports/plugins/core/core/server/no-meteor/schemas/currency.graphql b/imports/node-app/core-services/core/schemas/currency.graphql similarity index 100% rename from imports/plugins/core/core/server/no-meteor/schemas/currency.graphql rename to imports/node-app/core-services/core/schemas/currency.graphql diff --git a/imports/plugins/core/core/server/no-meteor/schemas/email.graphql b/imports/node-app/core-services/core/schemas/email.graphql similarity index 100% rename from imports/plugins/core/core/server/no-meteor/schemas/email.graphql rename to imports/node-app/core-services/core/schemas/email.graphql diff --git a/imports/plugins/core/core/server/no-meteor/schemas/index.js b/imports/node-app/core-services/core/schemas/index.js similarity index 100% rename from imports/plugins/core/core/server/no-meteor/schemas/index.js rename to imports/node-app/core-services/core/schemas/index.js diff --git a/imports/plugins/core/core/server/no-meteor/schemas/metafield.graphql b/imports/node-app/core-services/core/schemas/metafield.graphql similarity index 100% rename from imports/plugins/core/core/server/no-meteor/schemas/metafield.graphql rename to imports/node-app/core-services/core/schemas/metafield.graphql diff --git a/imports/plugins/core/core/server/no-meteor/schemas/node.graphql b/imports/node-app/core-services/core/schemas/node.graphql similarity index 100% rename from imports/plugins/core/core/server/no-meteor/schemas/node.graphql rename to imports/node-app/core-services/core/schemas/node.graphql diff --git a/imports/plugins/core/core/server/no-meteor/schemas/shop.graphql b/imports/node-app/core-services/core/schemas/shop.graphql similarity index 100% rename from imports/plugins/core/core/server/no-meteor/schemas/shop.graphql rename to imports/node-app/core-services/core/schemas/shop.graphql diff --git a/imports/plugins/core/core/server/no-meteor/schemas/tag.graphql b/imports/node-app/core-services/core/schemas/tag.graphql similarity index 100% rename from imports/plugins/core/core/server/no-meteor/schemas/tag.graphql rename to imports/node-app/core-services/core/schemas/tag.graphql diff --git a/imports/plugins/core/core/server/no-meteor/startup.js b/imports/node-app/core-services/core/startup.js similarity index 89% rename from imports/plugins/core/core/server/no-meteor/startup.js rename to imports/node-app/core-services/core/startup.js index 4c654fe993f..85f962a8002 100644 --- a/imports/plugins/core/core/server/no-meteor/startup.js +++ b/imports/node-app/core-services/core/startup.js @@ -1,7 +1,7 @@ import Random from "@reactioncommerce/random"; -import layouts from "./util/layouts"; -import loadSampleData from "./util/loadSampleData"; -import upsertPackages from "./util/upsertPackages"; +import layouts from "./util/layouts.js"; +import loadSampleData from "./util/loadSampleData.js"; +import upsertPackages from "./util/upsertPackages.js"; /** * @summary Called on startup diff --git a/imports/plugins/core/core/server/no-meteor/util/layouts.js b/imports/node-app/core-services/core/util/layouts.js similarity index 100% rename from imports/plugins/core/core/server/no-meteor/util/layouts.js rename to imports/node-app/core-services/core/util/layouts.js diff --git a/imports/plugins/core/core/server/no-meteor/util/loadSampleData.js b/imports/node-app/core-services/core/util/loadSampleData.js similarity index 97% rename from imports/plugins/core/core/server/no-meteor/util/loadSampleData.js rename to imports/node-app/core-services/core/util/loadSampleData.js index 750b984cae6..5bc19ee9546 100644 --- a/imports/plugins/core/core/server/no-meteor/util/loadSampleData.js +++ b/imports/node-app/core-services/core/util/loadSampleData.js @@ -2,8 +2,8 @@ /* TODO: revisit `url.parse` throughout Reaction */ import url from "url"; import Logger from "@reactioncommerce/logger"; -import config from "/imports/node-app/core/config"; -import sampleData from "./sampleData"; +import config from "../config.js"; +import sampleData from "./sampleData.js"; /** * @summary Loads sample dataset if collections are empty diff --git a/imports/plugins/core/core/server/no-meteor/util/sampleData.js b/imports/node-app/core-services/core/util/sampleData.js similarity index 100% rename from imports/plugins/core/core/server/no-meteor/util/sampleData.js rename to imports/node-app/core-services/core/util/sampleData.js diff --git a/imports/plugins/core/core/server/no-meteor/util/upsertPackages.js b/imports/node-app/core-services/core/util/upsertPackages.js similarity index 98% rename from imports/plugins/core/core/server/no-meteor/util/upsertPackages.js rename to imports/node-app/core-services/core/util/upsertPackages.js index 4f86c326765..164acbed081 100644 --- a/imports/plugins/core/core/server/no-meteor/util/upsertPackages.js +++ b/imports/node-app/core-services/core/util/upsertPackages.js @@ -1,6 +1,6 @@ import Logger from "@reactioncommerce/logger"; import Random from "@reactioncommerce/random"; -import layouts from "./layouts"; +import layouts from "./layouts.js"; /** * @param {Object} context App context diff --git a/imports/node-app/core-services/core/xforms/id.js b/imports/node-app/core-services/core/xforms/id.js new file mode 100644 index 00000000000..c658f014087 --- /dev/null +++ b/imports/node-app/core-services/core/xforms/id.js @@ -0,0 +1,12 @@ +import decodeOpaqueIdForNamespace from "@reactioncommerce/api-utils/decodeOpaqueIdForNamespace.js"; +import encodeOpaqueId from "@reactioncommerce/api-utils/encodeOpaqueId.js"; + +// export const encodeCatalogItemOpaqueId = encodeOpaqueId("reaction/catalogItem"); +// export const encodeCatalogProductOpaqueId = encodeOpaqueId("reaction/catalogProduct"); +// export const encodeCatalogProductVariantOpaqueId = encodeOpaqueId("reaction/catalogProductVariant"); +// export const encodeProductOpaqueId = encodeOpaqueId("reaction/product"); +export const encodeAddressOpaqueId = encodeOpaqueId("reaction/address"); +export const encodeTagOpaqueId = encodeOpaqueId("reaction/tag"); + +export const decodeShopOpaqueId = decodeOpaqueIdForNamespace("reaction/shop"); +export const decodeTagOpaqueId = decodeOpaqueIdForNamespace("reaction/tag"); diff --git a/imports/node-app/core-services/product/resolvers/Product/tags.js b/imports/node-app/core-services/product/resolvers/Product/tags.js index 7a7eb35695b..78f51fc2fb9 100644 --- a/imports/node-app/core-services/product/resolvers/Product/tags.js +++ b/imports/node-app/core-services/product/resolvers/Product/tags.js @@ -1,5 +1,6 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; -import { xformArrayToConnection } from "@reactioncommerce/reaction-graphql-xforms/connection"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; +import xformArrayToConnection from "@reactioncommerce/api-utils/graphql/xformArrayToConnection.js"; /** * @name Product/tags diff --git a/imports/node-app/core-services/shop/resolvers/Shop/tags.js b/imports/node-app/core-services/shop/resolvers/Shop/tags.js index 579c94e3b54..597242d0b12 100644 --- a/imports/node-app/core-services/shop/resolvers/Shop/tags.js +++ b/imports/node-app/core-services/shop/resolvers/Shop/tags.js @@ -1,4 +1,5 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; /** diff --git a/imports/node-app/core-services/shop/resolvers/Shop/tags.test.js b/imports/node-app/core-services/shop/resolvers/Shop/tags.test.js index 1b5ba48465c..5a6005dee0c 100644 --- a/imports/node-app/core-services/shop/resolvers/Shop/tags.test.js +++ b/imports/node-app/core-services/shop/resolvers/Shop/tags.test.js @@ -1,5 +1,5 @@ import tagsResolver from "./tags.js"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; const base64ID = "cmVhY3Rpb24vc2hvcDoxMjM="; // reaction/shop:123 diff --git a/imports/node-app/core-services/tags/resolvers/index.js b/imports/node-app/core-services/tags/resolvers/index.js index 7015ac5774d..4529535fb66 100644 --- a/imports/node-app/core-services/tags/resolvers/index.js +++ b/imports/node-app/core-services/tags/resolvers/index.js @@ -1,4 +1,4 @@ -import { getConnectionTypeResolvers } from "@reactioncommerce/reaction-graphql-utils"; +import getConnectionTypeResolvers from "@reactioncommerce/api-utils/graphql/getConnectionTypeResolvers.js"; import Mutation from "./Mutation/index.js"; import Query from "./Query/index.js"; diff --git a/imports/node-app/plugins/navigation/resolvers/Query/navigationItemsByShopId.js b/imports/node-app/plugins/navigation/resolvers/Query/navigationItemsByShopId.js index ca2522142ca..a210bf97a78 100644 --- a/imports/node-app/plugins/navigation/resolvers/Query/navigationItemsByShopId.js +++ b/imports/node-app/plugins/navigation/resolvers/Query/navigationItemsByShopId.js @@ -1,4 +1,5 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; /** diff --git a/imports/node-app/plugins/navigation/resolvers/Query/navigationItemsByShopId.test.js b/imports/node-app/plugins/navigation/resolvers/Query/navigationItemsByShopId.test.js index 464e8b0251a..5537134770b 100644 --- a/imports/node-app/plugins/navigation/resolvers/Query/navigationItemsByShopId.test.js +++ b/imports/node-app/plugins/navigation/resolvers/Query/navigationItemsByShopId.test.js @@ -1,4 +1,4 @@ -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; // TODO: add getFakeMongoCurser to utils +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import navigationItemsByShopIdResolver from "./navigationItemsByShopId.js"; const opaqueShopId = "cmVhY3Rpb24vc2hvcDoxMjM="; // reaction/shop:123 diff --git a/imports/node-app/plugins/navigation/resolvers/index.js b/imports/node-app/plugins/navigation/resolvers/index.js index 43b5337b6cc..592a186d83e 100644 --- a/imports/node-app/plugins/navigation/resolvers/index.js +++ b/imports/node-app/plugins/navigation/resolvers/index.js @@ -1,4 +1,4 @@ -import { getConnectionTypeResolvers } from "@reactioncommerce/reaction-graphql-utils"; +import getConnectionTypeResolvers from "@reactioncommerce/api-utils/graphql/getConnectionTypeResolvers.js"; import NavigationItem from "./NavigationItem/index.js"; import NavigationTree from "./NavigationTree/index.js"; import ShopSettings from "./ShopSettings/index.js"; diff --git a/imports/node-app/plugins/shipping-rates/resolvers/Query/getFlatRateFulfillmentRestrictions.js b/imports/node-app/plugins/shipping-rates/resolvers/Query/getFlatRateFulfillmentRestrictions.js index d345d07fbe9..1d16d4d72bf 100644 --- a/imports/node-app/plugins/shipping-rates/resolvers/Query/getFlatRateFulfillmentRestrictions.js +++ b/imports/node-app/plugins/shipping-rates/resolvers/Query/getFlatRateFulfillmentRestrictions.js @@ -1,5 +1,6 @@ +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; /** * @name Query/getFlatRateFulfillmentRestrictions diff --git a/imports/node-app/plugins/shipping-rates/resolvers/index.js b/imports/node-app/plugins/shipping-rates/resolvers/index.js index ec1b0a1c318..9f885a0ad05 100644 --- a/imports/node-app/plugins/shipping-rates/resolvers/index.js +++ b/imports/node-app/plugins/shipping-rates/resolvers/index.js @@ -1,4 +1,4 @@ -import { getConnectionTypeResolvers } from "@reactioncommerce/reaction-graphql-utils"; +import getConnectionTypeResolvers from "@reactioncommerce/api-utils/graphql/getConnectionTypeResolvers.js"; import FlatRateFulfillmentRestriction from "./FlatRateFulfillmentRestriction/index.js"; import Mutation from "./Mutation/index.js"; import Query from "./Query/index.js"; diff --git a/imports/node-app/plugins/surcharges/resolvers/Query/surcharges.js b/imports/node-app/plugins/surcharges/resolvers/Query/surcharges.js index 79713447339..4cab09fcff5 100644 --- a/imports/node-app/plugins/surcharges/resolvers/Query/surcharges.js +++ b/imports/node-app/plugins/surcharges/resolvers/Query/surcharges.js @@ -1,5 +1,6 @@ +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; /** * @name Query/surcharges diff --git a/imports/node-app/plugins/surcharges/resolvers/index.js b/imports/node-app/plugins/surcharges/resolvers/index.js index 88d1faaa3ef..89f805da1ac 100644 --- a/imports/node-app/plugins/surcharges/resolvers/index.js +++ b/imports/node-app/plugins/surcharges/resolvers/index.js @@ -1,4 +1,4 @@ -import { getConnectionTypeResolvers } from "@reactioncommerce/reaction-graphql-utils"; +import getConnectionTypeResolvers from "@reactioncommerce/api-utils/graphql/getConnectionTypeResolvers.js"; import AppliedSurcharge from "./AppliedSurcharge/index.js"; import Surcharge from "./Surcharge/index.js"; import Mutation from "./Mutation/index.js"; diff --git a/imports/node-app/registerPlugins.js b/imports/node-app/registerPlugins.js index d72b1098e23..bc7a7ef5734 100644 --- a/imports/node-app/registerPlugins.js +++ b/imports/node-app/registerPlugins.js @@ -1,6 +1,7 @@ /* node-app imports */ /* core-services */ import registerCatalogPlugin from "./core-services/catalog/index.js"; +import registerCorePlugin from "./core-services/core/index.js"; import registerEmailPlugin from "./core-services/email/index.js"; import registerFilesPlugin from "./core-services/files/index.js"; import registerI18nPlugin from "./core-services/i18n/index.js"; @@ -40,7 +41,6 @@ import registerUIPlugin from "./plugins/ui/index.js"; import registerAccountsPlugin from "/imports/plugins/core/accounts/server/no-meteor/register"; import registerCartPlugin from "/imports/plugins/core/cart/server/no-meteor/register"; import registerCheckoutPlugin from "/imports/plugins/core/checkout/server/no-meteor/register"; -import registerCorePlugin from "/imports/plugins/core/core/server/no-meteor/register"; import registerDiscountCodesPlugin from "/imports/plugins/included/discount-codes/server/no-meteor/register"; import registerDiscountsPlugin from "/imports/plugins/core/discounts/server/no-meteor/register"; import registerJobQueuePlugin from "/imports/plugins/included/job-queue/server/no-meteor/register"; diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Account/addressBook.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Account/addressBook.js index ce3d87cbf76..216cfdff3af 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Account/addressBook.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Account/addressBook.js @@ -1,5 +1,5 @@ import { get } from "lodash"; -import { xformArrayToConnection } from "@reactioncommerce/reaction-graphql-xforms/connection"; +import xformArrayToConnection from "@reactioncommerce/api-utils/graphql/xformArrayToConnection.js"; /** * @name Account/addressBook diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/administrators.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/administrators.js index 0cae36607b1..a86da5cb24e 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/administrators.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/administrators.js @@ -1,4 +1,5 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; /** diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/administrators.test.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/administrators.test.js index 4d2d10f5d38..a6fbcaeffb9 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/administrators.test.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/administrators.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import administratorsResolver from "./administrators"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; const base64ID = "cmVhY3Rpb24vc2hvcDoxMjM="; // reaction/shop:123 diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/groups.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/groups.js index 11084e65441..bf169200037 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/groups.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/groups.js @@ -1,4 +1,5 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; /** diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/groups.test.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/groups.test.js index 0e2584c315e..42baeacb17a 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/groups.test.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/groups.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import groups from "./groups"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; jest.mock("graphql-fields", () => jest.fn().mockName("graphqlFields")); diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/roles.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/roles.js index 0cbb29818ec..f5541d19367 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/roles.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/roles.js @@ -1,4 +1,5 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; /** diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/roles.test.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/roles.test.js index e036cd7ae38..feff35919c7 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/roles.test.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Query/roles.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import roles from "./roles"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; jest.mock("graphql-fields", () => jest.fn().mockName("graphqlFields")); diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/administrators.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/administrators.js index 31605e7cf2c..b5767e566b2 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/administrators.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/administrators.js @@ -1,4 +1,5 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; /** diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/administrators.test.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/administrators.test.js index 2a3a1c7dc8b..cb8050ce93b 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/administrators.test.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/administrators.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import administratorsResolver from "./administrators"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; const base64ID = "cmVhY3Rpb24vc2hvcDoxMjM="; // reaction/shop:123 diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/groups.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/groups.js index d6083578a49..e83afd36033 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/groups.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/groups.js @@ -1,4 +1,5 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; /** diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/groups.test.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/groups.test.js index 0eba4fd2c92..9e20df1bd61 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/groups.test.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/groups.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import groupsResolver from "./groups"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; const base64ID = "cmVhY3Rpb24vc2hvcDoxMjM="; // reaction/shop:123 diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/roles.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/roles.js index b5c79f80745..c4646ab2b3c 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/roles.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/roles.js @@ -1,4 +1,5 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; /** diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/roles.test.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/roles.test.js index 22d376eeb4c..2f9ccf69204 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/roles.test.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/Shop/roles.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import rolesResolver from "./roles"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; const base64ID = "cmVhY3Rpb24vc2hvcDoxMjM="; // reaction/shop:123 diff --git a/imports/plugins/core/accounts/server/no-meteor/resolvers/index.js b/imports/plugins/core/accounts/server/no-meteor/resolvers/index.js index 954bff82057..52cfd0e4eaf 100644 --- a/imports/plugins/core/accounts/server/no-meteor/resolvers/index.js +++ b/imports/plugins/core/accounts/server/no-meteor/resolvers/index.js @@ -1,4 +1,4 @@ -import { getConnectionTypeResolvers } from "@reactioncommerce/reaction-graphql-utils"; +import getConnectionTypeResolvers from "@reactioncommerce/api-utils/graphql/getConnectionTypeResolvers.js"; import Account from "./Account"; import AddAccountAddressBookEntryPayload from "./AddAccountAddressBookEntryPayload"; import Group from "./Group"; diff --git a/imports/plugins/core/cart/server/no-meteor/resolvers/Cart/items.js b/imports/plugins/core/cart/server/no-meteor/resolvers/Cart/items.js index 91678211872..f80ed8ced48 100644 --- a/imports/plugins/core/cart/server/no-meteor/resolvers/Cart/items.js +++ b/imports/plugins/core/cart/server/no-meteor/resolvers/Cart/items.js @@ -1,5 +1,5 @@ import { orderBy } from "lodash"; -import { xformArrayToConnection } from "@reactioncommerce/reaction-graphql-xforms/connection"; +import xformArrayToConnection from "@reactioncommerce/api-utils/graphql/xformArrayToConnection.js"; import { xformCartItems } from "@reactioncommerce/reaction-graphql-xforms/cart"; /** diff --git a/imports/plugins/core/cart/server/no-meteor/resolvers/CartItem/productTags.js b/imports/plugins/core/cart/server/no-meteor/resolvers/CartItem/productTags.js index e192a9ddc59..3954085604e 100644 --- a/imports/plugins/core/cart/server/no-meteor/resolvers/CartItem/productTags.js +++ b/imports/plugins/core/cart/server/no-meteor/resolvers/CartItem/productTags.js @@ -1,5 +1,6 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; -import { xformArrayToConnection } from "@reactioncommerce/reaction-graphql-xforms/connection"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; +import xformArrayToConnection from "@reactioncommerce/api-utils/graphql/xformArrayToConnection.js"; /** * @name CartItem/productTags diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/Address.js b/imports/plugins/core/core/server/no-meteor/resolvers/Address.js deleted file mode 100644 index 7b484a43d68..00000000000 --- a/imports/plugins/core/core/server/no-meteor/resolvers/Address.js +++ /dev/null @@ -1,5 +0,0 @@ -import { encodeAddressOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/address"; - -export default { - _id: (node) => encodeAddressOpaqueId(node._id) -}; diff --git a/imports/plugins/core/core/server/no-meteor/resolvers/Query/index.js b/imports/plugins/core/core/server/no-meteor/resolvers/Query/index.js deleted file mode 100644 index e9ee0297732..00000000000 --- a/imports/plugins/core/core/server/no-meteor/resolvers/Query/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import tag from "./tag"; -import tags from "./tags"; - -export default { - tag, - tags -}; diff --git a/imports/plugins/core/core/server/startup/index.js b/imports/plugins/core/core/server/startup/index.js index e2948d778f7..821698a3f94 100644 --- a/imports/plugins/core/core/server/startup/index.js +++ b/imports/plugins/core/core/server/startup/index.js @@ -1,7 +1,7 @@ import Logger from "@reactioncommerce/logger"; import appEvents from "/imports/node-app/core/util/appEvents"; +import register from "/imports/node-app/core-services/core/index.js"; import Reaction from "../Reaction"; -import register from "../no-meteor/register"; import startNodeApp from "./startNodeApp"; import "./browser-policy"; import CollectionSecurity from "./collection-security"; diff --git a/imports/plugins/core/graphql/server/no-meteor/util/applyOffsetPaginationToMongoCursor.test.js b/imports/plugins/core/graphql/server/no-meteor/util/applyOffsetPaginationToMongoCursor.test.js index 76c8bce0ea2..62eb9cf2b30 100644 --- a/imports/plugins/core/graphql/server/no-meteor/util/applyOffsetPaginationToMongoCursor.test.js +++ b/imports/plugins/core/graphql/server/no-meteor/util/applyOffsetPaginationToMongoCursor.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import applyOffsetPaginationToMongoCursor from "./applyOffsetPaginationToMongoCursor"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; let mockCursor; beforeEach(() => { diff --git a/imports/plugins/core/graphql/server/no-meteor/util/applyPaginationToMongoCursor.test.js b/imports/plugins/core/graphql/server/no-meteor/util/applyPaginationToMongoCursor.test.js index 2dfa5359e3a..01e5ecb0c9c 100644 --- a/imports/plugins/core/graphql/server/no-meteor/util/applyPaginationToMongoCursor.test.js +++ b/imports/plugins/core/graphql/server/no-meteor/util/applyPaginationToMongoCursor.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import applyPaginationToMongoCursor from "./applyPaginationToMongoCursor"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; let mockCursor; beforeEach(() => { diff --git a/imports/plugins/core/graphql/server/no-meteor/util/getCollectionFromCursor.test.js b/imports/plugins/core/graphql/server/no-meteor/util/getCollectionFromCursor.test.js index a4934d2e569..2f53ee65a9f 100644 --- a/imports/plugins/core/graphql/server/no-meteor/util/getCollectionFromCursor.test.js +++ b/imports/plugins/core/graphql/server/no-meteor/util/getCollectionFromCursor.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import getCollectionFromCursor from "./getCollectionFromCursor"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; const mockCursor = getFakeMongoCursor("Accounts", []); diff --git a/imports/plugins/core/graphql/server/no-meteor/util/getPaginatedResponse.test.js b/imports/plugins/core/graphql/server/no-meteor/util/getPaginatedResponse.test.js index f396fad4c43..0811fa26a09 100644 --- a/imports/plugins/core/graphql/server/no-meteor/util/getPaginatedResponse.test.js +++ b/imports/plugins/core/graphql/server/no-meteor/util/getPaginatedResponse.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; import getPaginatedResponse from "./getPaginatedResponse"; -import getFakeMongoCursor from "/imports/test-utils/helpers/getFakeMongoCursor"; import { restore as restore$applyBeforeAfterToFilter, rewire as rewire$applyBeforeAfterToFilter diff --git a/imports/plugins/core/orders/server/no-meteor/resolvers/OrderFulfillmentGroup/items.js b/imports/plugins/core/orders/server/no-meteor/resolvers/OrderFulfillmentGroup/items.js index 4043bc41b88..f4dc79cf785 100644 --- a/imports/plugins/core/orders/server/no-meteor/resolvers/OrderFulfillmentGroup/items.js +++ b/imports/plugins/core/orders/server/no-meteor/resolvers/OrderFulfillmentGroup/items.js @@ -1,5 +1,5 @@ import { orderBy } from "lodash"; -import { xformArrayToConnection } from "@reactioncommerce/reaction-graphql-xforms/connection"; +import xformArrayToConnection from "@reactioncommerce/api-utils/graphql/xformArrayToConnection.js"; import { xformOrderItems } from "@reactioncommerce/reaction-graphql-xforms/order"; /** diff --git a/imports/plugins/core/orders/server/no-meteor/resolvers/OrderItem/productTags.js b/imports/plugins/core/orders/server/no-meteor/resolvers/OrderItem/productTags.js index 1c10d16a346..13829e8db0e 100644 --- a/imports/plugins/core/orders/server/no-meteor/resolvers/OrderItem/productTags.js +++ b/imports/plugins/core/orders/server/no-meteor/resolvers/OrderItem/productTags.js @@ -1,5 +1,6 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; -import { xformArrayToConnection } from "@reactioncommerce/reaction-graphql-xforms/connection"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; +import xformArrayToConnection from "@reactioncommerce/api-utils/graphql/xformArrayToConnection.js"; /** * @name OrderItem/productTags diff --git a/imports/plugins/core/orders/server/no-meteor/resolvers/Query/orders.js b/imports/plugins/core/orders/server/no-meteor/resolvers/Query/orders.js index a1b204df529..ce4388e951b 100644 --- a/imports/plugins/core/orders/server/no-meteor/resolvers/Query/orders.js +++ b/imports/plugins/core/orders/server/no-meteor/resolvers/Query/orders.js @@ -1,4 +1,5 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; /** diff --git a/imports/plugins/core/orders/server/no-meteor/resolvers/Query/ordersByAccountId.js b/imports/plugins/core/orders/server/no-meteor/resolvers/Query/ordersByAccountId.js index d72933e3f4f..3e13d1a6f0b 100644 --- a/imports/plugins/core/orders/server/no-meteor/resolvers/Query/ordersByAccountId.js +++ b/imports/plugins/core/orders/server/no-meteor/resolvers/Query/ordersByAccountId.js @@ -1,4 +1,5 @@ -import { getPaginatedResponse, wasFieldRequested } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "@reactioncommerce/api-utils/graphql/getPaginatedResponse.js"; +import wasFieldRequested from "@reactioncommerce/api-utils/graphql/wasFieldRequested.js"; import { decodeAccountOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/account"; import { decodeShopOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/shop"; diff --git a/imports/plugins/core/orders/server/no-meteor/resolvers/index.js b/imports/plugins/core/orders/server/no-meteor/resolvers/index.js index 06ae834f779..f90c053fb2a 100644 --- a/imports/plugins/core/orders/server/no-meteor/resolvers/index.js +++ b/imports/plugins/core/orders/server/no-meteor/resolvers/index.js @@ -1,4 +1,4 @@ -import { getConnectionTypeResolvers } from "@reactioncommerce/reaction-graphql-utils"; +import getConnectionTypeResolvers from "@reactioncommerce/api-utils/graphql/getConnectionTypeResolvers.js"; import { encodeOrderFulfillmentGroupOpaqueId, encodeOrderItemOpaqueId } from "@reactioncommerce/reaction-graphql-xforms/order"; import Mutation from "./Mutation"; import Order from "./Order"; diff --git a/imports/utils/arrayJoinPlusRemainingQuery.js b/imports/utils/arrayJoinPlusRemainingQuery.js index 28749955939..9072efadbfa 100644 --- a/imports/utils/arrayJoinPlusRemainingQuery.js +++ b/imports/utils/arrayJoinPlusRemainingQuery.js @@ -1,6 +1,6 @@ import _ from "lodash"; import ReactionError from "@reactioncommerce/reaction-error"; -import { getPaginatedResponse } from "@reactioncommerce/reaction-graphql-utils"; +import getPaginatedResponse from "./graphql/getPaginatedResponse.js"; import arrayJoinQuery from "./arrayJoinQuery"; const DEFAULT_LIMIT = 20; diff --git a/imports/utils/graphql/applyOffsetPaginationToMongoCursor.test.js b/imports/utils/graphql/applyOffsetPaginationToMongoCursor.test.js index 2f8b9beb017..5de6ff9ade9 100644 --- a/imports/utils/graphql/applyOffsetPaginationToMongoCursor.test.js +++ b/imports/utils/graphql/applyOffsetPaginationToMongoCursor.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "../tests/getFakeMongoCursor.js"; import applyOffsetPaginationToMongoCursor from "./applyOffsetPaginationToMongoCursor.js"; -import getFakeMongoCursor from "./test-utils/getFakeMongoCursor.js"; let mockCursor; beforeEach(() => { diff --git a/imports/utils/graphql/applyPaginationToMongoCursor.test.js b/imports/utils/graphql/applyPaginationToMongoCursor.test.js index b727251aa24..a07e6555039 100644 --- a/imports/utils/graphql/applyPaginationToMongoCursor.test.js +++ b/imports/utils/graphql/applyPaginationToMongoCursor.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "../tests/getFakeMongoCursor.js"; import applyPaginationToMongoCursor from "./applyPaginationToMongoCursor.js"; -import getFakeMongoCursor from "./test-utils/getFakeMongoCursor.js"; let mockCursor; beforeEach(() => { diff --git a/imports/utils/graphql/getCollectionFromCursor.test.js b/imports/utils/graphql/getCollectionFromCursor.test.js index 8563445cdcd..121462d6141 100644 --- a/imports/utils/graphql/getCollectionFromCursor.test.js +++ b/imports/utils/graphql/getCollectionFromCursor.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "../tests/getFakeMongoCursor.js"; import getCollectionFromCursor from "./getCollectionFromCursor.js"; -import getFakeMongoCursor from "./test-utils/getFakeMongoCursor.js"; const mockCursor = getFakeMongoCursor("Accounts", []); diff --git a/imports/utils/graphql/getPaginatedResponse.test.js b/imports/utils/graphql/getPaginatedResponse.test.js index 27cbfee0f90..1a9e1ba5344 100644 --- a/imports/utils/graphql/getPaginatedResponse.test.js +++ b/imports/utils/graphql/getPaginatedResponse.test.js @@ -1,5 +1,5 @@ +import getFakeMongoCursor from "../tests/getFakeMongoCursor.js"; import getPaginatedResponse from "./getPaginatedResponse.js"; -import getFakeMongoCursor from "./test-utils/getFakeMongoCursor.js"; import { restore as restore$applyBeforeAfterToFilter, rewire as rewire$applyBeforeAfterToFilter diff --git a/imports/utils/graphql/test-utils/getFakeMongoCursor.js b/imports/utils/graphql/test-utils/getFakeMongoCursor.js deleted file mode 100644 index e3126101ff6..00000000000 --- a/imports/utils/graphql/test-utils/getFakeMongoCursor.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Helper functions for use in Jest tests - * @namespace TestHelpers - */ - -/** - * @name getFakeMongoCursor - * @method - * @memberof TestHelpers - * @param {String} collectionName - name of the collection - * @param {Any} results - results to be returned as part of the cursor - * @param {Object} options - options to pass to the query - * @returns {Object} fake cursor - */ -export default function getFakeMongoCursor(collectionName, results, options) { - const cursor = { - cmd: { - query: (options && options.query) || {} - }, - ns: `meteor.${collectionName}`, - options: { - db: { - databaseName: "meteor" - } - } - }; - - const isTesting = typeof jest !== "undefined"; - - if (isTesting) { - cursor.clone = jest.fn().mockName("cursor.clone").mockImplementation(() => cursor); - cursor.count = jest.fn().mockName("cursor.count").mockReturnValue(results.length); - cursor.filter = jest.fn().mockName("cursor.filter").mockReturnValue(cursor); - cursor.hasNext = jest.fn().mockName("cursor.hasNext").mockReturnValue(false); - cursor.limit = jest.fn().mockName("cursor.limit").mockReturnValue(cursor); - cursor.options.db.collection = jest.fn().mockName("cursor.options.db.collection").mockReturnValue({ - findOne: jest.fn().mockName("cursor.options.db.collection.findOne").mockResolvedValue(null) - }); - cursor.rewind = jest.fn().mockName("cursor.rewind").mockReturnValue(cursor); - cursor.skip = jest.fn().mockName("cursor.skip").mockReturnValue(cursor); - cursor.sort = jest.fn().mockName("cursor.sort").mockReturnValue(cursor); - cursor.toArray = jest.fn().mockName("cursor.toArray").mockResolvedValue(results); - } else { - cursor.clone = () => cursor; - cursor.count = () => results.length; - cursor.filter = () => cursor; - cursor.limit = () => cursor; - cursor.options.db.collection = () => ({ - findOne: () => Promise.resolve(null) - }); - cursor.skip = () => cursor; - cursor.sort = () => cursor; - cursor.toArray = () => Promise.resolve(results); - } - - return cursor; -} From f34f99f7b2e4de5c61f4799046e44bca8c8fce45 Mon Sep 17 00:00:00 2001 From: Erik Kieckhafer Date: Thu, 3 Oct 2019 21:17:54 -0700 Subject: [PATCH 2/2] style: fix import order Signed-off-by: Erik Kieckhafer --- imports/node-app/core-services/shop/resolvers/Shop/tags.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imports/node-app/core-services/shop/resolvers/Shop/tags.test.js b/imports/node-app/core-services/shop/resolvers/Shop/tags.test.js index 5a6005dee0c..fae4e60afab 100644 --- a/imports/node-app/core-services/shop/resolvers/Shop/tags.test.js +++ b/imports/node-app/core-services/shop/resolvers/Shop/tags.test.js @@ -1,5 +1,5 @@ -import tagsResolver from "./tags.js"; import getFakeMongoCursor from "@reactioncommerce/api-utils/tests/getFakeMongoCursor.js"; +import tagsResolver from "./tags.js"; const base64ID = "cmVhY3Rpb24vc2hvcDoxMjM="; // reaction/shop:123