Chore/order claims 2 (#8312)

This commit is contained in:
Carlos R. L. Rodrigues
2024-07-29 10:15:35 -03:00
committed by GitHub
parent ebaf0eb53a
commit 42c80e4264
47 changed files with 1293 additions and 139 deletions
@@ -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,
+3 -3
View File
@@ -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(
{