refactor(checkout): simplify direct item handling in checkout process

This commit is contained in:
2026-08-12 14:09:11 -03:00
parent 32b1eb5639
commit 159ec36cb2
2 changed files with 11 additions and 37 deletions

View File

@@ -17,36 +17,13 @@ export interface DirectCheckoutItem {
cantidad: number;
}
export interface UnavailableCheckoutItem {
index: number;
catalog_item_id: number;
variant_id: number | null;
requested_quantity: number;
available_quantity: number;
message: string;
}
export interface InsufficientStockResponse {
code: 'purchase.insufficient_stock';
message: string;
errors: Record<string, string[]>;
unavailable_items: UnavailableCheckoutItem[];
}
export function isInsufficientStockResponse(value: unknown): value is InsufficientStockResponse {
if (typeof value !== 'object' || value === null) return false;
const response = value as Partial<InsufficientStockResponse>;
return (
response.code === 'purchase.insufficient_stock' && Array.isArray(response.unavailable_items)
);
}
export type StartCheckoutPayload =
| {
cart_id: number;
}
| {
direct_item: DirectCheckoutItem;
}
| {
direct_items: DirectCheckoutItem[];
};