Files
ai-wave-02/apps/web/src/orders/order-api.ts
T
2026-09-03 22:02:52 +09:00

37 lines
1.2 KiB
TypeScript

import type { Address, AuditEvent, OrderDetail, OrderSummary } from "@orderops/shared";
import { apiRequest } from "../lib/api-client";
export function listOrders(query: string) {
const search = query.trim() ? `?query=${encodeURIComponent(query.trim())}` : "";
return apiRequest<OrderSummary[]>(`/api/orders${search}`);
}
export function getOrder(orderId: string) {
return apiRequest<OrderDetail>(`/api/orders/${orderId}`);
}
export function listAuditEvents(orderId: string) {
return apiRequest<AuditEvent[]>(`/api/orders/${orderId}/audit-events`);
}
export function updateOrderItemQuantity(orderId: string, itemId: string, quantity: number) {
return apiRequest<OrderDetail>(`/api/orders/${orderId}/items/${itemId}/quantity`, {
method: "POST",
body: JSON.stringify({ quantity })
});
}
export function updateShippingAddress(orderId: string, address: Address) {
return apiRequest<OrderDetail>(`/api/orders/${orderId}/shipping-address`, {
method: "POST",
body: JSON.stringify(address)
});
}
export function cancelOrder(orderId: string, reason?: string) {
return apiRequest<OrderDetail>(`/api/orders/${orderId}/cancel`, {
method: "POST",
body: JSON.stringify({ reason })
});
}