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)