From 788ededf4e91929e191c684fcfedb14c66e0c4e3 Mon Sep 17 00:00:00 2001 From: Sebastian Rindom Date: Fri, 10 Jul 2020 08:34:32 +0200 Subject: [PATCH] Add model details --- packages/medusa/src/models/order.js | 6 +++--- packages/medusa/src/services/order.js | 14 +++++++++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/medusa/src/models/order.js b/packages/medusa/src/models/order.js index 6ff8ec7cd3..3389a01ea3 100644 --- a/packages/medusa/src/models/order.js +++ b/packages/medusa/src/models/order.js @@ -5,7 +5,7 @@ import LineItemSchema from "./schemas/line-item" import PaymentMethodSchema from "./schemas/payment-method" import ShippingMethodSchema from "./schemas/shipping-method" import AddressSchema from "./schemas/address" -import DiscountModel from "./discount" +import DiscountSchema from "./schemas/discount" class OrderModel extends BaseModel { static modelName = "Order" @@ -23,8 +23,8 @@ class OrderModel extends BaseModel { shipping_address: { type: AddressSchema, required: true }, items: { type: [LineItemSchema], required: true }, region_id: { type: String, required: true }, - discounts: { type: [DiscountModel.schema], default: [] }, - customer_id: { type: String, required: true }, + discounts: { type: [DiscountSchema], default: [] }, + customer_id: { type: String }, payment_method: { type: PaymentMethodSchema, required: true }, shipping_methods: { type: [ShippingMethodSchema], required: true }, metadata: { type: mongoose.Schema.Types.Mixed, default: {} }, diff --git a/packages/medusa/src/services/order.js b/packages/medusa/src/services/order.js index f58da00647..c9a1c62876 100644 --- a/packages/medusa/src/services/order.js +++ b/packages/medusa/src/services/order.js @@ -188,8 +188,20 @@ class OrderService extends BaseService { * @return {Promise} resolves to the creation result. */ async createFromCart(cart) { + const o = { + payment_method: cart.payment_method, + shipping_methods: cart.shipping_methods, + items: cart.items, + shipping_address: cart.shipping_address, + billing_address: cart.shipping_address, + region_id: cart.region_id, + email: cart.email, + customer_id: cart.customer_id, + cart_id: cart._id, + } + return this.orderModel_ - .create({ ...cart, metadata: { cart_id: cart._id } }) + .create(o) .then(result => { // Notify subscribers this.eventBus_.emit(OrderService.Events.PLACED, result)