Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: move discounts plugins to Node app #5672

Merged
merged 2 commits into from
Oct 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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);