Chore/order claims 2 (#8312)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { moduleIntegrationTestRunner } from "medusa-test-utils"
|
||||
import { IOrderModuleService } from "@medusajs/types"
|
||||
import { Module, Modules } from "@medusajs/utils"
|
||||
import { OrderModuleService } from "@services"
|
||||
import { moduleIntegrationTestRunner } from "medusa-test-utils"
|
||||
|
||||
moduleIntegrationTestRunner<IOrderModuleService>({
|
||||
moduleName: Modules.ORDER,
|
||||
@@ -31,7 +31,10 @@ moduleIntegrationTestRunner<IOrderModuleService>({
|
||||
"return",
|
||||
"returnItem",
|
||||
"orderClaim",
|
||||
"orderClaimItem",
|
||||
"orderClaimItemImage",
|
||||
"orderExchange",
|
||||
"orderExchangeItem",
|
||||
])
|
||||
|
||||
Object.keys(linkable).forEach((key) => {
|
||||
@@ -183,6 +186,22 @@ moduleIntegrationTestRunner<IOrderModuleService>({
|
||||
field: "orderClaim",
|
||||
},
|
||||
},
|
||||
orderClaimItem: {
|
||||
id: {
|
||||
field: "orderClaimItem",
|
||||
linkable: "order_claim_item_id",
|
||||
primaryKey: "id",
|
||||
serviceName: "order",
|
||||
},
|
||||
},
|
||||
orderClaimItemImage: {
|
||||
id: {
|
||||
field: "orderClaimItemImage",
|
||||
linkable: "order_claim_item_image_id",
|
||||
primaryKey: "id",
|
||||
serviceName: "order",
|
||||
},
|
||||
},
|
||||
orderExchange: {
|
||||
id: {
|
||||
linkable: "order_exchange_id",
|
||||
@@ -191,6 +210,14 @@ moduleIntegrationTestRunner<IOrderModuleService>({
|
||||
field: "orderExchange",
|
||||
},
|
||||
},
|
||||
orderExchangeItem: {
|
||||
id: {
|
||||
field: "orderExchangeItem",
|
||||
linkable: "order_exchange_item_id",
|
||||
primaryKey: "id",
|
||||
serviceName: "order",
|
||||
},
|
||||
},
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -33,7 +33,7 @@ const ClaimItemIdIndex = createPsqlIndexStatementHelper({
|
||||
|
||||
@Entity({ tableName: "order_claim_item_image" })
|
||||
@Filter(DALUtils.mikroOrmSoftDeletableFilterOptions)
|
||||
export default class ClaimItemImage {
|
||||
export default class OrderClaimItemImage {
|
||||
[OptionalProps]?: OptionalClaimItemImageProps
|
||||
|
||||
@PrimaryKey({ columnType: "text" })
|
||||
|
||||
@@ -20,7 +20,7 @@ import {
|
||||
Rel,
|
||||
} from "@mikro-orm/core"
|
||||
import Claim from "./claim"
|
||||
import ClaimItemImage from "./claim-item-image"
|
||||
import OrderClaimItemImage from "./claim-item-image"
|
||||
import LineItem from "./line-item"
|
||||
|
||||
type OptionalLineItemProps = DAL.ModelDateColumns
|
||||
@@ -50,10 +50,10 @@ export default class OrderClaimItem {
|
||||
@PrimaryKey({ columnType: "text" })
|
||||
id: string
|
||||
|
||||
@OneToMany(() => ClaimItemImage, (ci) => ci.item, {
|
||||
@OneToMany(() => OrderClaimItemImage, (ci) => ci.item, {
|
||||
cascade: [Cascade.PERSIST, Cascade.REMOVE],
|
||||
})
|
||||
images = new Collection<Rel<ClaimItemImage>>(this)
|
||||
images = new Collection<Rel<OrderClaimItemImage>>(this)
|
||||
|
||||
@Enum({ items: () => ClaimReason, nullable: true })
|
||||
reason: Rel<ClaimReason> | null = null
|
||||
@@ -123,7 +123,7 @@ export default class OrderClaimItem {
|
||||
@BeforeCreate()
|
||||
onCreate() {
|
||||
this.id = generateEntityId(this.id, "claitem")
|
||||
this.claim_id = this.claim?.id
|
||||
this.claim_id ??= this.claim?.id
|
||||
}
|
||||
|
||||
@OnInit()
|
||||
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
Property,
|
||||
Rel,
|
||||
} from "@mikro-orm/core"
|
||||
import { ExchangeItem, Transaction } from "@models"
|
||||
import { OrderExchangeItem, Transaction } from "@models"
|
||||
import Order from "./order"
|
||||
import OrderShippingMethod from "./order-shipping-method"
|
||||
import Return from "./return"
|
||||
@@ -107,10 +107,10 @@ export default class OrderExchange {
|
||||
@Property({ columnType: "boolean", default: false })
|
||||
allow_backorder: boolean = false
|
||||
|
||||
@OneToMany(() => ExchangeItem, (item) => item.exchange, {
|
||||
@OneToMany(() => OrderExchangeItem, (item) => item.exchange, {
|
||||
cascade: [Cascade.PERSIST],
|
||||
})
|
||||
additional_items = new Collection<Rel<ExchangeItem>>(this)
|
||||
additional_items = new Collection<Rel<OrderExchangeItem>>(this)
|
||||
|
||||
@OneToMany(
|
||||
() => OrderShippingMethod,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
export { default as Address } from "./address"
|
||||
export { default as OrderClaim } from "./claim"
|
||||
export { default as ClaimItem } from "./claim-item"
|
||||
export { default as ClaimItemImage } from "./claim-item-image"
|
||||
export { default as OrderClaimItem } from "./claim-item"
|
||||
export { default as OrderClaimItemImage } from "./claim-item-image"
|
||||
export { default as OrderExchange } from "./exchange"
|
||||
export { default as ExchangeItem } from "./exchange-item"
|
||||
export { default as OrderExchangeItem } from "./exchange-item"
|
||||
export { default as LineItem } from "./line-item"
|
||||
export { default as LineItemAdjustment } from "./line-item-adjustment"
|
||||
export { default as LineItemTaxLine } from "./line-item-tax-line"
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
isString,
|
||||
promiseAll,
|
||||
} from "@medusajs/utils"
|
||||
import { ClaimItem, OrderClaim, Return, ReturnItem } from "@models"
|
||||
import { OrderClaim, OrderClaimItem, Return, ReturnItem } from "@models"
|
||||
|
||||
function createClaimAndReturnEntities(em, data, order) {
|
||||
const claimReference = em.create(OrderClaim, {
|
||||
@@ -89,7 +89,7 @@ function createClaimAndReturnItems(
|
||||
: undefined
|
||||
)
|
||||
|
||||
return em.create(ClaimItem, {
|
||||
return em.create(OrderClaimItem, {
|
||||
item_id: item.id,
|
||||
reason: item.reason,
|
||||
quantity: item.quantity,
|
||||
@@ -111,8 +111,8 @@ async function processAdditionalItems(
|
||||
sharedContext
|
||||
) {
|
||||
const itemsToAdd: any[] = []
|
||||
const additionalNewItems: ClaimItem[] = []
|
||||
const additionalItems: ClaimItem[] = []
|
||||
const additionalNewItems: OrderClaimItem[] = []
|
||||
const additionalItems: OrderClaimItem[] = []
|
||||
data.additional_items?.forEach((item) => {
|
||||
const hasItem = item.id
|
||||
? order.items.find((o) => o.item.id === item.id)
|
||||
@@ -134,7 +134,7 @@ async function processAdditionalItems(
|
||||
})
|
||||
|
||||
additionalItems.push(
|
||||
em.create(ClaimItem, {
|
||||
em.create(OrderClaimItem, {
|
||||
item_id: item.id,
|
||||
quantity: item.quantity,
|
||||
note: item.note,
|
||||
@@ -146,7 +146,7 @@ async function processAdditionalItems(
|
||||
itemsToAdd.push(item)
|
||||
|
||||
additionalNewItems.push(
|
||||
em.create(ClaimItem, {
|
||||
em.create(OrderClaimItem, {
|
||||
quantity: item.quantity,
|
||||
note: item.note,
|
||||
metadata: item.metadata,
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
isString,
|
||||
promiseAll,
|
||||
} from "@medusajs/utils"
|
||||
import { ExchangeItem, OrderExchange, Return, ReturnItem } from "@models"
|
||||
import { OrderExchange, OrderExchangeItem, Return, ReturnItem } from "@models"
|
||||
|
||||
function createExchangeAndReturnEntities(em, data, order) {
|
||||
const exchangeReference = em.create(OrderExchange, {
|
||||
@@ -77,8 +77,8 @@ async function processAdditionalItems(
|
||||
sharedContext
|
||||
) {
|
||||
const itemsToAdd: any[] = []
|
||||
const additionalNewItems: ExchangeItem[] = []
|
||||
const additionalItems: ExchangeItem[] = []
|
||||
const additionalNewItems: OrderExchangeItem[] = []
|
||||
const additionalItems: OrderExchangeItem[] = []
|
||||
data.additional_items?.forEach((item) => {
|
||||
const hasItem = item.id
|
||||
? order.items.find((o) => o.item.id === item.id)
|
||||
@@ -100,7 +100,7 @@ async function processAdditionalItems(
|
||||
})
|
||||
|
||||
additionalItems.push(
|
||||
em.create(ExchangeItem, {
|
||||
em.create(OrderExchangeItem, {
|
||||
item_id: item.id,
|
||||
quantity: item.quantity,
|
||||
note: item.note,
|
||||
@@ -112,7 +112,7 @@ async function processAdditionalItems(
|
||||
itemsToAdd.push(item)
|
||||
|
||||
additionalNewItems.push(
|
||||
em.create(ExchangeItem, {
|
||||
em.create(OrderExchangeItem, {
|
||||
quantity: item.quantity,
|
||||
note: item.note,
|
||||
metadata: item.metadata,
|
||||
|
||||
@@ -41,7 +41,10 @@ import {
|
||||
OrderChange,
|
||||
OrderChangeAction,
|
||||
OrderClaim,
|
||||
OrderClaimItem,
|
||||
OrderClaimItemImage,
|
||||
OrderExchange,
|
||||
OrderExchangeItem,
|
||||
OrderItem,
|
||||
OrderShippingMethod,
|
||||
OrderSummary,
|
||||
@@ -116,7 +119,10 @@ const generateMethodForModels = {
|
||||
Return,
|
||||
ReturnItem,
|
||||
OrderClaim,
|
||||
OrderClaimItem,
|
||||
OrderClaimItemImage,
|
||||
OrderExchange,
|
||||
OrderExchangeItem,
|
||||
}
|
||||
|
||||
// TODO: rm template args here, keep it for later to not collide with carlos work at least as little as possible
|
||||
@@ -139,7 +145,10 @@ export default class OrderModuleService<
|
||||
TReturn extends Return = Return,
|
||||
TReturnItem extends ReturnItem = ReturnItem,
|
||||
TClaim extends OrderClaim = OrderClaim,
|
||||
TExchange extends OrderExchange = OrderExchange
|
||||
TClaimItem extends OrderClaimItem = OrderClaimItem,
|
||||
TClaimItemImage extends OrderClaimItemImage = OrderClaimItemImage,
|
||||
TExchange extends OrderExchange = OrderExchange,
|
||||
TExchangeItem extends OrderExchangeItem = OrderExchangeItem
|
||||
>
|
||||
extends ModulesSdkUtils.MedusaService<{
|
||||
Order: { dto: OrderTypes.OrderDTO }
|
||||
@@ -159,10 +168,13 @@ export default class OrderModuleService<
|
||||
ReturnReason: { dto: OrderTypes.OrderReturnReasonDTO }
|
||||
OrderSummary: { dto: OrderTypes.OrderSummaryDTO }
|
||||
Transaction: { dto: OrderTypes.OrderTransactionDTO }
|
||||
Return: { dto: any } // TODO: Add return dto
|
||||
ReturnItem: { dto: any } // TODO: Add return item dto
|
||||
OrderClaim: { dto: any } // TODO: Add claim dto
|
||||
OrderExchange: { dto: any } // TODO: Add exchange dto
|
||||
Return: { dto: OrderTypes.ReturnDTO }
|
||||
ReturnItem: { dto: OrderTypes.OrderReturnItemDTO }
|
||||
OrderClaim: { dto: OrderTypes.OrderClaimDTO }
|
||||
OrderClaimItem: { dto: OrderTypes.OrderClaimItemDTO }
|
||||
OrderClaimItemImage: { dto: OrderTypes.OrderClaimItemImageDTO }
|
||||
OrderExchange: { dto: OrderTypes.OrderExchangeDTO }
|
||||
OrderExchangeItem: { dto: OrderTypes.OrderExchangeItemDTO }
|
||||
}>(generateMethodForModels)
|
||||
implements IOrderModuleService
|
||||
{
|
||||
@@ -185,7 +197,10 @@ export default class OrderModuleService<
|
||||
protected returnService_: ModulesSdkTypes.IMedusaInternalService<TReturn>
|
||||
protected returnItemService_: ModulesSdkTypes.IMedusaInternalService<TReturnItem>
|
||||
protected orderClaimService_: ModulesSdkTypes.IMedusaInternalService<TClaim>
|
||||
protected orderClaimItemService_: ModulesSdkTypes.IMedusaInternalService<TClaimItem>
|
||||
protected orderClaimItemImageService_: ModulesSdkTypes.IMedusaInternalService<TClaimItemImage>
|
||||
protected orderExchangeService_: ModulesSdkTypes.IMedusaInternalService<TExchange>
|
||||
protected orderExchangeItemService_: ModulesSdkTypes.IMedusaInternalService<TExchangeItem>
|
||||
|
||||
constructor(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user