chore: add cart links to promotions/product (#7428)
This commit is contained in:
12
packages/core/types/src/http/promotion/common.ts
Normal file
12
packages/core/types/src/http/promotion/common.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { ApplicationMethodTypeValues } from "../../promotion"
|
||||
|
||||
export interface BasePromotion {
|
||||
id: string
|
||||
code?: string
|
||||
is_automatic?: boolean
|
||||
application_method?: {
|
||||
type?: ApplicationMethodTypeValues
|
||||
value?: number
|
||||
currency_code?: string
|
||||
}
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
export * from "./admin"
|
||||
export * from "./store"
|
||||
|
||||
3
packages/core/types/src/http/promotion/store.ts
Normal file
3
packages/core/types/src/http/promotion/store.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
import { BasePromotion } from "./common"
|
||||
|
||||
export interface StorePromotion extends BasePromotion {}
|
||||
@@ -23,9 +23,19 @@ export const defaultStoreCartFields = [
|
||||
"original_shipping_tax_total",
|
||||
"original_shipping_tax_subtotal",
|
||||
"original_shipping_total",
|
||||
"promotions.id",
|
||||
"promotions.code",
|
||||
"promotions.is_automatic",
|
||||
"promotions.application_method.value",
|
||||
"promotions.application_method.type",
|
||||
"promotions.application_method.currency_code",
|
||||
"items.id",
|
||||
"items.variant_id",
|
||||
"items.product_id",
|
||||
"items.product.categories.id",
|
||||
"items.product.tags.id",
|
||||
"items.product.collection_id",
|
||||
"items.product.type_id",
|
||||
"items.product_title",
|
||||
"items.product_description",
|
||||
"items.product_subtitle",
|
||||
@@ -47,6 +57,7 @@ export const defaultStoreCartFields = [
|
||||
"items.tax_lines.provider_id",
|
||||
"items.adjustments.id",
|
||||
"items.adjustments.code",
|
||||
"items.adjustments.promotion_id",
|
||||
"items.adjustments.amount",
|
||||
"customer.id",
|
||||
"customer.email",
|
||||
|
||||
@@ -29,26 +29,21 @@ export const CartPromotion: ModuleJoinerConfig = {
|
||||
serviceName: Modules.PROMOTION,
|
||||
primaryKey: "id",
|
||||
foreignKey: "promotion_id",
|
||||
alias: "promotion",
|
||||
alias: "promotions",
|
||||
},
|
||||
],
|
||||
extends: [
|
||||
{
|
||||
serviceName: Modules.CART,
|
||||
fieldAlias: {
|
||||
promotions: "cart_link.promotions",
|
||||
},
|
||||
relationship: {
|
||||
serviceName: LINKS.CartPromotion,
|
||||
primaryKey: "cart_id",
|
||||
foreignKey: "id",
|
||||
alias: "cart_link",
|
||||
},
|
||||
},
|
||||
{
|
||||
serviceName: Modules.PROMOTION,
|
||||
relationship: {
|
||||
serviceName: LINKS.CartPromotion,
|
||||
primaryKey: "promotion_id",
|
||||
foreignKey: "id",
|
||||
alias: "promotion_link",
|
||||
isList: true,
|
||||
},
|
||||
},
|
||||
],
|
||||
|
||||
@@ -3,6 +3,7 @@ export * from "./cart-product"
|
||||
export * from "./cart-region"
|
||||
export * from "./cart-sales-channel"
|
||||
export * from "./inventory-level-stock-location"
|
||||
export * from "./line-item-adjustment-promotion"
|
||||
export * from "./order-customer"
|
||||
export * from "./order-product"
|
||||
export * from "./order-sales-channel"
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import { Modules } from "@medusajs/modules-sdk"
|
||||
import { ModuleJoinerConfig } from "@medusajs/types"
|
||||
|
||||
export const LineItemAdjustmentPromotion: ModuleJoinerConfig = {
|
||||
isLink: true,
|
||||
isReadOnlyLink: true,
|
||||
extends: [
|
||||
{
|
||||
serviceName: Modules.CART,
|
||||
relationship: {
|
||||
serviceName: Modules.PROMOTION,
|
||||
primaryKey: "id",
|
||||
foreignKey: "promotion_id",
|
||||
alias: "promotion",
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
Reference in New Issue
Block a user