feat: allow product selection on discounts allocated to a specific item (#395)

This commit is contained in:
Sebastian Mateos Nicolajsen
2021-10-11 13:46:32 +02:00
committed by GitHub
parent 3d891c9b4f
commit 84d4d791ea
25 changed files with 138 additions and 25 deletions
@@ -1,4 +1,5 @@
import { MedusaError, Validator } from "medusa-core-utils"
import { defaultRelations } from "."
/**
* @oas [post] /discounts
@@ -96,11 +97,10 @@ export default async (req, res) => {
const discountService = req.scope.resolve("discountService")
const created = await discountService.create(value)
const discount = await discountService.retrieve(created.id, [
"rule",
"rule.valid_for",
"regions",
])
const discount = await discountService.retrieve(
created.id,
defaultRelations
)
res.status(200).json({ discount })
} catch (err) {
@@ -57,6 +57,7 @@ export const defaultCartRelations = [
"payment_sessions",
"shipping_methods.shipping_option",
"discounts",
"discounts.rule",
]
export const defaultCartFields = [
@@ -43,7 +43,14 @@ export default async (req, res) => {
.withTransaction(manager)
.retrieve(draftOrder.cart_id, {
select: ["total"],
relations: ["discounts", "shipping_methods", "region", "items"],
relations: [
"discounts",
"discounts.rule",
"discounts.rule.valid_for",
"shipping_methods",
"region",
"items",
],
})
await paymentProviderService
@@ -7,6 +7,8 @@ const defaultRelations = [
"billing_address",
"shipping_address",
"discounts",
"discounts.rule",
"discounts.rule.valid_for",
"shipping_methods",
"payments",
"fulfillments",
@@ -202,7 +202,12 @@ export default async (req, res) => {
const order = await orderService
.withTransaction(manager)
.retrieve(id, {
relations: ["items", "discounts"],
relations: [
"items",
"cart",
"cart.discounts",
"cart.discounts.rule",
],
})
await claimService.withTransaction(manager).create({
@@ -221,6 +221,8 @@ export const defaultRelations = [
"billing_address",
"shipping_address",
"discounts",
"discounts.rule",
"discounts.rule.valid_for",
"shipping_methods",
"payments",
"fulfillments",
@@ -316,6 +318,8 @@ export const allowedRelations = [
"billing_address",
"shipping_address",
"discounts",
"discounts.rule",
"discounts.rule.valid_for",
"shipping_methods",
"payments",
"fulfillments",
@@ -116,4 +116,6 @@ export const defaultRelations = [
"payment_sessions",
"shipping_methods.shipping_option",
"discounts",
"discounts.rule",
"discounts.rule.valid_for",
]
@@ -36,6 +36,8 @@ export const defaultRelations = [
"items.variant.product",
"shipping_methods",
"discounts",
"discounts.rule",
"discounts.rule.valid_for",
"customer",
"payments",
"region",
@@ -74,6 +76,8 @@ export const allowedRelations = [
"items.variant.product",
"shipping_methods",
"discounts",
"discounts.rule",
"discounts.rule.valid_for",
"customer",
"payments",
"region",