feat(order): order change actions engine (#6467)

This commit is contained in:
Carlos R. L. Rodrigues
2024-02-29 16:22:14 -03:00
committed by GitHub
parent cdb01e073b
commit 03ca5c814e
70 changed files with 5727 additions and 992 deletions
+5
View File
@@ -105,6 +105,11 @@ export interface FindConfig<Entity> {
* `SoftDeletableEntity` class.
*/
withDeleted?: boolean
/**
* Enable ORM specific defined filters
*/
filters?: Record<string, any>
}
/**
+52 -13
View File
@@ -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
*/
+30 -17
View File
@@ -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 */
+35 -4
View File
@@ -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[]>