Skip to content

Commit

Permalink
Merge pull request #5672 from reactioncommerce/refactor-aldeed-movePl…
Browse files Browse the repository at this point in the history
…uginToNodeApp-discounts

refactor: move discounts plugins to Node app
  • Loading branch information
kieckhafer authored Oct 4, 2019
2 parents ba8b1d2 + 5c6819a commit a0c9981
Show file tree
Hide file tree
Showing 66 changed files with 23 additions and 44 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import i18n from "./i18n";
import setDiscountsOnCart from "./util/setDiscountsOnCart";
import i18n from "./i18n/index.js";
import queries from "./queries/index.js";
import setDiscountsOnCart from "./util/setDiscountsOnCart.js";

/**
* @summary Import and call this function to add this plugin to your API.
Expand All @@ -10,7 +11,6 @@ export default async function register(app) {
await app.registerPlugin({
label: "Discounts",
name: "reaction-discounts",
icon: "fa fa-gift",
i18n,
collections: {
Discounts: {
Expand All @@ -22,6 +22,7 @@ export default async function register(app) {
]
}
},
queries,
cart: {
transforms: [
{
Expand Down
5 changes: 5 additions & 0 deletions imports/node-app/core-services/discounts/queries/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import getDiscountsTotalForCart from "./getDiscountsTotalForCart.js";

export default {
getDiscountsTotalForCart
};
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import getDiscountsTotalForCart from "./getDiscountsTotalForCart";
import getDiscountsTotalForCart from "../queries/getDiscountsTotalForCart.js";

/**
* @summary Cart transformation function that sets `discount` on cart
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import i18n from "./i18n";
import getCreditOffDiscount from "./util/getCreditOffDiscount";
import getItemPriceDiscount from "./util/getItemPriceDiscount";
import getPercentageOffDiscount from "./util/getPercentageOffDiscount";
import getShippingDiscount from "./util/getShippingDiscount";
import startup from "./startup";
import i18n from "./i18n/index.js";
import getCreditOffDiscount from "./util/getCreditOffDiscount.js";
import getItemPriceDiscount from "./util/getItemPriceDiscount.js";
import getPercentageOffDiscount from "./util/getPercentageOffDiscount.js";
import getShippingDiscount from "./util/getShippingDiscount.js";
import startup from "./startup.js";

/**
* @summary Import and call this function to add this plugin to your API.
Expand All @@ -14,7 +14,6 @@ export default async function register(app) {
await app.registerPlugin({
label: "Codes",
name: "discount-codes",
icon: "fa fa-gift",
i18n,
functionsByType: {
"discounts/codes/credit": [getCreditOffDiscount],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
import appEvents from "/imports/node-app/core/util/appEvents";

/**
* @summary Called on startup
* @param {Object} context Startup context
* @param {Object} context.collections Map of MongoDB collections
* @returns {undefined}
*/
export default function startup({ collections }) {
const { Discounts } = collections;
export default function startup(context) {
const { appEvents, collections: { Discounts } } = context;

appEvents.on("afterOrderCreate", async ({ order }) => {
if (Array.isArray(order.discounts)) {
Expand Down
4 changes: 2 additions & 2 deletions imports/node-app/registerPlugins.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/* node-app imports */
/* core-services */
import registerCatalogPlugin from "./core-services/catalog/index.js";
import registerDiscountsPlugin from "./core-services/discounts/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";
Expand All @@ -16,6 +17,7 @@ import registerTaxesPlugin from "./core-services/taxes/index.js";
/* plugins */
import registerAddressPlugin from "./plugins/address/index.js";
import registerDashboardPlugin from "./plugins/dashboard/index.js";
import registerDiscountCodesPlugin from "./plugins/discount-codes/index.js";
import registerEmailTemplatesPlugin from "./plugins/email-templates/index.js";
import registerExamplePaymentsPlugin from "./plugins/payments-example/index.js";
import registerNavigationPlugin from "./plugins/navigation/index.js";
Expand All @@ -41,8 +43,6 @@ import registerAccountsPlugin from "/imports/plugins/core/accounts/server/no-met
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";
import registerMarketplacePlugin from "/imports/plugins/included/marketplace/server/no-meteor/register";
import registerOrdersPlugin from "/imports/plugins/core/orders/server/no-meteor/register";
Expand Down
2 changes: 1 addition & 1 deletion imports/plugins/core/discounts/register.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
* temporary bridge.
*/
import Reaction from "/imports/plugins/core/core/server/Reaction";
import register from "./server/no-meteor/register";
import register from "/imports/node-app/core-services/discounts/index.js";

Reaction.whenAppInstanceReady(register);
20 changes: 0 additions & 20 deletions imports/plugins/core/discounts/server/api/import.js

This file was deleted.

3 changes: 0 additions & 3 deletions imports/plugins/core/discounts/server/api/index.js

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import ReactionError from "@reactioncommerce/reaction-error";
import { getAnonymousAccessToken } from "../util/anonymousToken";
import appEvents from "/imports/node-app/core/util/appEvents";
import { Order as OrderSchema, Payment as PaymentSchema } from "/imports/collections/schemas";
import getDiscountsTotalForCart from "/imports/plugins/core/discounts/server/no-meteor/util/getDiscountsTotalForCart";
import { getPaymentMethodConfigByName } from "/imports/node-app/core-services/payments/registration.js"; // TODO: remove cross-plugin import (https://github.com/reactioncommerce/reaction/issues/5653)
import buildOrderFulfillmentGroupFromInput from "../util/buildOrderFulfillmentGroupFromInput";
import verifyPaymentsMatchOrderTotal from "../../util/verifyPaymentsMatchOrderTotal";
Expand Down Expand Up @@ -191,7 +190,7 @@ export default async function placeOrder(context, input) {
let discounts = [];
let discountTotal = 0;
if (cart) {
const discountsResult = await getDiscountsTotalForCart(context, cart);
const discountsResult = await context.queries.getDiscountsTotalForCart(context, cart);
({ discounts } = discountsResult);
discountTotal = discountsResult.total;
}
Expand Down
2 changes: 1 addition & 1 deletion imports/plugins/included/discount-codes/register.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
* temporary bridge.
*/
import Reaction from "/imports/plugins/core/core/server/Reaction";
import register from "./server/no-meteor/register";
import register from "/imports/node-app/plugins/discount-codes/index.js";

Reaction.whenAppInstanceReady(register);

0 comments on commit a0c9981

Please sign in to comment.