feat(cart): POST /store/carts/:id (#6274)

Depends on:
- #6262 
- #6273
This commit is contained in:
Oli Juhl
2024-02-14 15:03:02 +00:00
committed by GitHub
parent 6500f18b9b
commit 1ed5f918c3
17 changed files with 378 additions and 49 deletions
+21 -13
View File
@@ -1,4 +1,4 @@
import { CartLineItemDTO } from "./common"
import { CartDTO, CartLineItemDTO } from "./common"
/** ADDRESS START */
export interface UpsertAddressDTO {
@@ -40,22 +40,25 @@ export interface CreateCartDTO {
items?: CreateLineItemDTO[]
}
export interface UpdateCartDTO {
id: string
region_id?: string
customer_id?: string
sales_channel_id?: string
export interface UpdateCartDataDTO {
region_id?: string | null
customer_id?: string | null
sales_channel_id?: string | null
email?: string
currency_code?: string
email?: string | null
currency_code?: string | null
shipping_address_id?: string
billing_address_id?: string
shipping_address_id?: string | null
billing_address_id?: string | null
billing_address?: CreateAddressDTO | UpdateAddressDTO
shipping_address?: CreateAddressDTO | UpdateAddressDTO
billing_address?: CreateAddressDTO | UpdateAddressDTO | null
shipping_address?: CreateAddressDTO | UpdateAddressDTO | null
metadata?: Record<string, unknown>
metadata?: Record<string, unknown> | null
}
export interface UpdateCartDTO extends UpdateCartDataDTO {
id?: string
}
/** CART END */
@@ -171,6 +174,11 @@ export interface UpdateLineItemWithSelectorDTO {
data: Partial<UpdateLineItemDTO>
}
export interface UpdateCartWithSelectorDTO {
selector: Partial<CartDTO>
data: UpdateCartDTO
}
export interface UpdateLineItemDTO
extends Omit<
CreateLineItemDTO,
+12 -2
View File
@@ -32,6 +32,7 @@ import {
CreateShippingMethodTaxLineDTO,
UpdateAddressDTO,
UpdateCartDTO,
UpdateCartDataDTO,
UpdateLineItemDTO,
UpdateLineItemTaxLineDTO,
UpdateLineItemWithSelectorDTO,
@@ -62,8 +63,17 @@ export interface ICartModuleService extends IModuleService {
create(data: CreateCartDTO[], sharedContext?: Context): Promise<CartDTO[]>
create(data: CreateCartDTO, sharedContext?: Context): Promise<CartDTO>
update(data: UpdateCartDTO[], sharedContext?: Context): Promise<CartDTO[]>
update(data: UpdateCartDTO, sharedContext?: Context): Promise<CartDTO>
update(data: UpdateCartDTO[]): Promise<CartDTO[]>
update(
cartId: string,
data: UpdateCartDataDTO,
sharedContext?: Context
): Promise<CartDTO>
update(
selector: Partial<CartDTO>,
data: UpdateCartDataDTO,
sharedContext?: Context
): Promise<CartDTO[]>
delete(cartIds: string[], sharedContext?: Context): Promise<void>
delete(cartId: string, sharedContext?: Context): Promise<void>