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