Add model details

This commit is contained in:
Sebastian Rindom
2020-07-10 08:34:32 +02:00
parent d58a994ef0
commit 788ededf4e
2 changed files with 16 additions and 4 deletions

View File

@@ -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: {} },

View File

@@ -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)