Add cart retrieval to draftorder
This commit is contained in:
@@ -15,9 +15,13 @@ export default async (req, res) => {
|
||||
shipping_address_id: Validator.string().optional(),
|
||||
items: Validator.array()
|
||||
.items({
|
||||
variant_id: Validator.string().optional(),
|
||||
variant_id: Validator.string()
|
||||
.optional()
|
||||
.allow(""),
|
||||
unit_price: Validator.number().optional(),
|
||||
title: Validator.string().optional(),
|
||||
title: Validator.string()
|
||||
.optional()
|
||||
.allow(""),
|
||||
quantity: Validator.number().required(),
|
||||
metadata: Validator.object().default({}),
|
||||
})
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
import { defaultRelations, defaultFields } from "."
|
||||
import {
|
||||
defaultRelations,
|
||||
defaultFields,
|
||||
defaultCartRelations,
|
||||
defaultCartFields,
|
||||
} from "."
|
||||
|
||||
export default async (req, res) => {
|
||||
const { id } = req.params
|
||||
@@ -13,28 +18,8 @@ export default async (req, res) => {
|
||||
})
|
||||
|
||||
draftOrder.cart = await cartService.retrieve(draftOrder.cart_id, {
|
||||
relations: [
|
||||
"gift_cards",
|
||||
"region",
|
||||
"items",
|
||||
"payment",
|
||||
"shipping_address",
|
||||
"billing_address",
|
||||
"region.countries",
|
||||
"region.payment_providers",
|
||||
"shipping_methods",
|
||||
"payment_sessions",
|
||||
"shipping_methods.shipping_option",
|
||||
"discounts",
|
||||
],
|
||||
select: [
|
||||
"subtotal",
|
||||
"tax_total",
|
||||
"shipping_total",
|
||||
"discount_total",
|
||||
"gift_card_total",
|
||||
"total",
|
||||
],
|
||||
relations: defaultCartRelations,
|
||||
select: defaultCartFields,
|
||||
})
|
||||
|
||||
res.json({ draft_order: draftOrder })
|
||||
|
||||
@@ -12,6 +12,8 @@ export default app => {
|
||||
|
||||
route.post("/", middlewares.wrap(require("./create-draft-order").default))
|
||||
|
||||
route.post("/:id", middlewares.wrap(require("./update-draft-order").default))
|
||||
|
||||
route.delete(
|
||||
"/:id/line-items/:line_id",
|
||||
middlewares.wrap(require("./delete-line-item").default)
|
||||
@@ -32,7 +34,7 @@ export default app => {
|
||||
return app
|
||||
}
|
||||
|
||||
export const defaultRelations = []
|
||||
export const defaultRelations = ["order", "cart"]
|
||||
|
||||
export const defaultCartRelations = [
|
||||
"region",
|
||||
@@ -48,16 +50,12 @@ export const defaultCartRelations = [
|
||||
]
|
||||
|
||||
export const defaultCartFields = [
|
||||
"region",
|
||||
"items",
|
||||
"payment",
|
||||
"shipping_address",
|
||||
"billing_address",
|
||||
"region.payment_providers",
|
||||
"shipping_methods",
|
||||
"payment_sessions",
|
||||
"shipping_methods.shipping_option",
|
||||
"discounts",
|
||||
"subtotal",
|
||||
"tax_total",
|
||||
"shipping_total",
|
||||
"discount_total",
|
||||
"gift_card_total",
|
||||
"total",
|
||||
]
|
||||
|
||||
export const defaultFields = [
|
||||
@@ -65,6 +63,7 @@ export const defaultFields = [
|
||||
"status",
|
||||
"display_id",
|
||||
"cart_id",
|
||||
"order_id",
|
||||
"canceled_at",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import _ from "lodash"
|
||||
import { defaultRelations, defaultFields } from "./"
|
||||
import { defaultFields, defaultRelations } from "./"
|
||||
|
||||
export default async (req, res) => {
|
||||
try {
|
||||
|
||||
@@ -34,7 +34,7 @@ export default async (req, res) => {
|
||||
await entityManager.transaction(async manager => {
|
||||
const draftOrder = await draftOrderService
|
||||
.withTransaction(manager)
|
||||
.retrieve(id, { select: defaultFields })
|
||||
.retrieve(id)
|
||||
|
||||
if (
|
||||
draftOrder.status === "completed" ||
|
||||
|
||||
@@ -502,6 +502,8 @@ class DraftOrderService extends BaseService {
|
||||
}
|
||||
|
||||
draftOrder.status = "completed"
|
||||
draftOrder.order_id = result.id
|
||||
console.log(draftOrder)
|
||||
await draftOrderRepo.save(draftOrder)
|
||||
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user