import { api, PaginatedResult } from "@/lib/api"; export interface OrderItem { product_id: string; quantity: number; } export interface CreateOrderPayload { items: OrderItem[]; notes?: string; shipping_address?: string; } export interface OrderResult { order_id: string; amount: number; } export interface MyOrderApi { id: string; status: string; total_amount: number; shipping_address: string | null; notes: string | null; created_at: string; updated_at: string; } export interface AdminOrderApi { id: string; user_id: string | null; status: string; total_amount: number; shipping_address: string | null; notes: string | null; created_at: string; updated_at: string; client_name: string | null; client_email: string | null; client_phone: string | null; } export async function createOrder(payload: CreateOrderPayload): Promise { return api.post("/orders", payload); } export async function listMyOrders(): Promise> { return api.get>("/orders?per_page=50"); } // ── Admin ───────────────────────────────────────────────────────────────────── export async function adminListOrders(status?: string): Promise> { const qs = status ? `?status=${status}&per_page=100` : "?per_page=100"; return api.get>(`/admin/orders${qs}`); } export async function adminUpdateOrderStatus(id: string, status: string): Promise<{ id: string; status: string }> { return api.patch<{ id: string; status: string }>(`/admin/orders/${id}/status`, { status }); }