diff --git a/packages/medusa/src/api/routes/admin/customers/get-customer.js b/packages/medusa/src/api/routes/admin/customers/get-customer.js index 98efd486c3..c028d89795 100644 --- a/packages/medusa/src/api/routes/admin/customers/get-customer.js +++ b/packages/medusa/src/api/routes/admin/customers/get-customer.js @@ -3,11 +3,12 @@ export default async (req, res) => { try { const customerService = req.scope.resolve("customerService") let customer = await customerService.retrieve(id) - customer = customerService.decorate(customer, [ - "email", - "first_name", - "last_name", - ]) + customer = await customerService.decorate( + customer, + ["email", "payment_methods", "has_account", "shipping_addresses"], + ["orders"] + ) + res.json({ customer }) } catch (err) { throw err diff --git a/packages/medusa/src/api/routes/admin/orders/get-order.js b/packages/medusa/src/api/routes/admin/orders/get-order.js index d3912b871e..3523bef558 100644 --- a/packages/medusa/src/api/routes/admin/orders/get-order.js +++ b/packages/medusa/src/api/routes/admin/orders/get-order.js @@ -3,9 +3,14 @@ export default async (req, res) => { try { const orderService = req.scope.resolve("orderService") + const customerService = req.scope.resolve("customerService") let order = await orderService.retrieve(id) - order = await orderService.decorate(order, [], ["region"]) + order = await orderService.decorate(order, [], ["region", "customer"]) + + if (order.customer_id) { + order.customer = await customerService.retrieve(order.customer_id) + } res.json({ order }) } catch (error) { diff --git a/packages/medusa/src/api/routes/admin/shipping-profiles/get-shipping-profile.js b/packages/medusa/src/api/routes/admin/shipping-profiles/get-shipping-profile.js index c0240442a1..9c0adad813 100644 --- a/packages/medusa/src/api/routes/admin/shipping-profiles/get-shipping-profile.js +++ b/packages/medusa/src/api/routes/admin/shipping-profiles/get-shipping-profile.js @@ -5,7 +5,13 @@ export default async (req, res) => { const data = await profileService.retrieve(profile_id) - res.status(200).json({ shipping_profile: data }) + const profile = await profileService.decorate( + data, + ["name"], + ["products", "shipping_options"] + ) + + res.status(200).json({ shipping_profile: profile }) } catch (err) { throw err } diff --git a/packages/medusa/src/services/shipping-profile.js b/packages/medusa/src/services/shipping-profile.js index ec63af4698..a6fdb668d1 100644 --- a/packages/medusa/src/services/shipping-profile.js +++ b/packages/medusa/src/services/shipping-profile.js @@ -333,13 +333,13 @@ class ShippingProfileService extends BaseService { const requiredFields = ["_id", "metadata"] let decorated = _.pick(profile, fields.concat(requiredFields)) - if (expandFields.includes("products")) { + if (expandFields.includes("products") && profile.products) { decorated.products = await Promise.all( profile.products.map(pId => this.productService_.retrieve(pId)) ) } - if (expandFields.includes("shipping_options")) { + if (expandFields.includes("shipping_options") && profile.shipping_options) { decorated.shipping_options = await Promise.all( profile.shipping_options.map(oId => this.shippingOptionService_.retrieve(oId)