feat(order): order change actions engine (#6467)
This commit is contained in:
@@ -105,6 +105,11 @@ export interface FindConfig<Entity> {
|
||||
* `SoftDeletableEntity` class.
|
||||
*/
|
||||
withDeleted?: boolean
|
||||
|
||||
/**
|
||||
* Enable ORM specific defined filters
|
||||
*/
|
||||
filters?: Record<string, any>
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -27,16 +27,6 @@ type OrderSummary = {
|
||||
future_balance: number
|
||||
}
|
||||
|
||||
type ItemSummary = {
|
||||
returnable_quantity: number
|
||||
ordered_quantity: number
|
||||
fulfilled_quantity: number
|
||||
return_requested_quantity: number
|
||||
return_received_quantity: number
|
||||
return_dismissed_quantity: number
|
||||
written_off_quantity: number
|
||||
}
|
||||
|
||||
export interface OrderAdjustmentLineDTO {
|
||||
/**
|
||||
* The ID of the adjustment line
|
||||
@@ -426,6 +416,51 @@ export interface OrderLineItemDTO extends OrderLineItemTotalsDTO {
|
||||
*/
|
||||
raw_unit_price: BigNumberRawValue
|
||||
|
||||
/**
|
||||
* The associated tax lines.
|
||||
*
|
||||
* @expandable
|
||||
*/
|
||||
tax_lines?: OrderLineItemTaxLineDTO[]
|
||||
/**
|
||||
* The associated adjustments.
|
||||
*
|
||||
* @expandable
|
||||
*/
|
||||
adjustments?: OrderLineItemAdjustmentDTO[]
|
||||
|
||||
/**
|
||||
* The details of the item
|
||||
*/
|
||||
detail: OrderItemDTO
|
||||
|
||||
/**
|
||||
* The date when the order line item was created.
|
||||
*/
|
||||
created_at: Date
|
||||
|
||||
/**
|
||||
* The date when the order line item was last updated.
|
||||
*/
|
||||
updated_at: Date
|
||||
}
|
||||
|
||||
export interface OrderItemDTO {
|
||||
/**
|
||||
* The ID of the order detail.
|
||||
*/
|
||||
id: string
|
||||
|
||||
/**
|
||||
* The ID of the associated item.
|
||||
*/
|
||||
item_id: string
|
||||
|
||||
/**
|
||||
* The Line Item of the order detail.
|
||||
*/
|
||||
item: OrderLineItemDTO
|
||||
|
||||
/**
|
||||
* The quantity of the order line item.
|
||||
*/
|
||||
@@ -497,9 +532,9 @@ export interface OrderLineItemDTO extends OrderLineItemTotalsDTO {
|
||||
raw_written_off_quantity: BigNumberRawValue
|
||||
|
||||
/**
|
||||
* The summary of the order line item.
|
||||
* The metadata of the order detail
|
||||
*/
|
||||
summary?: ItemSummary
|
||||
metadata: Record<string, unknown> | null
|
||||
|
||||
/**
|
||||
* The date when the order line item was created.
|
||||
@@ -517,6 +552,10 @@ export interface OrderDTO {
|
||||
* The ID of the order.
|
||||
*/
|
||||
id: string
|
||||
/**
|
||||
* The version of the order.
|
||||
*/
|
||||
version: number
|
||||
/**
|
||||
* The ID of the region the order belongs to.
|
||||
*/
|
||||
@@ -550,7 +589,7 @@ export interface OrderDTO {
|
||||
*/
|
||||
billing_address?: OrderAddressDTO
|
||||
/**
|
||||
* The associated line items.
|
||||
* The associated order details / line items.
|
||||
*
|
||||
* @expandable
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { BigNumberInput } from "../totals"
|
||||
import { OrderLineItemDTO } from "./common"
|
||||
import { OrderItemDTO, OrderLineItemDTO } from "./common"
|
||||
|
||||
/** ADDRESS START */
|
||||
export interface UpsertOrderAddressDTO {
|
||||
@@ -38,9 +38,9 @@ export interface CreateOrderDTO {
|
||||
shipping_address?: CreateOrderAddressDTO | UpdateOrderAddressDTO
|
||||
billing_address?: CreateOrderAddressDTO | UpdateOrderAddressDTO
|
||||
no_notification?: boolean
|
||||
metadata?: Record<string, unknown>
|
||||
|
||||
items?: CreateOrderLineItemDTO[]
|
||||
shipping_methods?: CreateOrderShippingMethodDTO[]
|
||||
metadata?: Record<string, unknown>
|
||||
}
|
||||
|
||||
export interface UpdateOrderDTO {
|
||||
@@ -50,11 +50,6 @@ export interface UpdateOrderDTO {
|
||||
sales_channel_id?: string
|
||||
status?: string
|
||||
email?: string
|
||||
currency_code?: string
|
||||
shipping_address_id?: string
|
||||
billing_address_id?: string
|
||||
billing_address?: CreateOrderAddressDTO | UpdateOrderAddressDTO
|
||||
shipping_address?: CreateOrderAddressDTO | UpdateOrderAddressDTO
|
||||
no_notification?: boolean
|
||||
metadata?: Record<string, unknown>
|
||||
}
|
||||
@@ -63,7 +58,7 @@ export interface UpdateOrderDTO {
|
||||
|
||||
/** ADJUSTMENT START */
|
||||
export interface CreateOrderAdjustmentDTO {
|
||||
code: string
|
||||
code?: string
|
||||
amount: BigNumberInput
|
||||
description?: string
|
||||
promotion_id?: string
|
||||
@@ -197,6 +192,7 @@ export interface UpdateOrderLineItemDTO
|
||||
|
||||
export interface CreateOrderShippingMethodDTO {
|
||||
name: string
|
||||
shipping_method_id: string
|
||||
order_id: string
|
||||
amount: BigNumberInput
|
||||
data?: Record<string, unknown>
|
||||
@@ -204,17 +200,10 @@ export interface CreateOrderShippingMethodDTO {
|
||||
adjustments?: CreateOrderAdjustmentDTO[]
|
||||
}
|
||||
|
||||
export interface CreateOrderShippingMethodForSingleOrderDTO {
|
||||
name: string
|
||||
amount: BigNumberInput
|
||||
data?: Record<string, unknown>
|
||||
tax_lines?: CreateOrderTaxLineDTO[]
|
||||
adjustments?: CreateOrderAdjustmentDTO[]
|
||||
}
|
||||
|
||||
export interface UpdateOrderShippingMethodDTO {
|
||||
id: string
|
||||
name?: string
|
||||
shipping_method_id: string
|
||||
amount?: BigNumberInput
|
||||
data?: Record<string, unknown>
|
||||
tax_lines?: UpdateOrderTaxLineDTO[] | CreateOrderTaxLineDTO[]
|
||||
@@ -316,3 +305,27 @@ export interface UpdateOrderTransactionDTO {
|
||||
reference_id?: string
|
||||
metadata?: Record<string, unknown>
|
||||
}
|
||||
|
||||
/** ORDER TRANSACTION END */
|
||||
|
||||
/** ORDER DETAIL START */
|
||||
export interface UpdateOrderItemDTO {
|
||||
id: string
|
||||
order_id?: string
|
||||
version?: number
|
||||
item_id?: string
|
||||
quantity?: BigNumberInput
|
||||
fulfilled_quantity?: BigNumberInput
|
||||
return_requested_quantity?: BigNumberInput
|
||||
return_received_quantity?: BigNumberInput
|
||||
return_dismissed_quantity?: BigNumberInput
|
||||
written_off_quantity?: BigNumberInput
|
||||
metadata?: Record<string, unknown>
|
||||
}
|
||||
|
||||
export interface UpdateOrderItemWithSelectorDTO {
|
||||
selector: Partial<OrderItemDTO>
|
||||
data: Partial<UpdateOrderItemDTO>
|
||||
}
|
||||
|
||||
/** ORDER DETAIL END */
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
FilterableOrderShippingMethodTaxLineProps,
|
||||
OrderAddressDTO,
|
||||
OrderDTO,
|
||||
OrderItemDTO,
|
||||
OrderLineItemAdjustmentDTO,
|
||||
OrderLineItemDTO,
|
||||
OrderLineItemTaxLineDTO,
|
||||
@@ -28,10 +29,11 @@ import {
|
||||
CreateOrderLineItemTaxLineDTO,
|
||||
CreateOrderShippingMethodAdjustmentDTO,
|
||||
CreateOrderShippingMethodDTO,
|
||||
CreateOrderShippingMethodForSingleOrderDTO,
|
||||
CreateOrderShippingMethodTaxLineDTO,
|
||||
UpdateOrderAddressDTO,
|
||||
UpdateOrderDTO,
|
||||
UpdateOrderItemDTO,
|
||||
UpdateOrderItemWithSelectorDTO,
|
||||
UpdateOrderLineItemDTO,
|
||||
UpdateOrderLineItemTaxLineDTO,
|
||||
UpdateOrderLineItemWithSelectorDTO,
|
||||
@@ -62,8 +64,17 @@ export interface IOrderModuleService extends IModuleService {
|
||||
create(data: CreateOrderDTO[], sharedContext?: Context): Promise<OrderDTO[]>
|
||||
create(data: CreateOrderDTO, sharedContext?: Context): Promise<OrderDTO>
|
||||
|
||||
update(data: UpdateOrderDTO[], sharedContext?: Context): Promise<OrderDTO[]>
|
||||
update(data: UpdateOrderDTO, sharedContext?: Context): Promise<OrderDTO>
|
||||
update(data: UpdateOrderDTO[]): Promise<OrderDTO[]>
|
||||
update(
|
||||
orderId: string,
|
||||
data: UpdateOrderDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<OrderDTO>
|
||||
update(
|
||||
selector: Partial<OrderDTO>,
|
||||
data: UpdateOrderDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<OrderDTO[]>
|
||||
|
||||
delete(orderIds: string[], sharedContext?: Context): Promise<void>
|
||||
delete(orderId: string, sharedContext?: Context): Promise<void>
|
||||
@@ -140,6 +151,26 @@ export interface IOrderModuleService extends IModuleService {
|
||||
sharedContext?: Context
|
||||
): Promise<void>
|
||||
|
||||
updateOrderItem(
|
||||
selector: Partial<OrderItemDTO>,
|
||||
data: UpdateOrderItemDTO,
|
||||
sharedContext?: Context
|
||||
): Promise<OrderItemDTO[]>
|
||||
updateOrderItem(
|
||||
orderDetailId: string,
|
||||
data: Partial<UpdateOrderItemDTO>,
|
||||
sharedContext?: Context
|
||||
): Promise<OrderItemDTO>
|
||||
|
||||
updateOrderItem(
|
||||
orderDetailIdOrDataOrSelector:
|
||||
| string
|
||||
| UpdateOrderItemWithSelectorDTO[]
|
||||
| Partial<OrderItemDTO>,
|
||||
data?: UpdateOrderItemDTO | Partial<UpdateOrderItemDTO>,
|
||||
sharedContext?: Context
|
||||
): Promise<OrderItemDTO[] | OrderItemDTO>
|
||||
|
||||
listShippingMethods(
|
||||
filters: FilterableOrderShippingMethodProps,
|
||||
config: FindConfig<OrderShippingMethodDTO>,
|
||||
@@ -154,7 +185,7 @@ export interface IOrderModuleService extends IModuleService {
|
||||
): Promise<OrderShippingMethodDTO[]>
|
||||
addShippingMethods(
|
||||
orderId: string,
|
||||
methods: CreateOrderShippingMethodForSingleOrderDTO[],
|
||||
methods: CreateOrderShippingMethodDTO[],
|
||||
sharedContext?: Context
|
||||
): Promise<OrderShippingMethodDTO[]>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user