import { delay } from './api';
import { mockOrders } from '@/data/mockOrders';
import type { Order, OrderStatus } from '@/types';

let orders = [...mockOrders];

export const ordersService = {
  list: (storeId: string) =>
    delay(orders.filter((o) => o.storeId === storeId)),
  getById: (storeId: string, id: string) =>
    delay(orders.find((o) => o.storeId === storeId && o.id === id) ?? null),
  create: (order: Order) => {
    orders = [order, ...orders];
    return delay(order);
  },
  // PUT /api/orders/:id/status
  updateStatus: (id: string, status: OrderStatus) => {
    orders = orders.map((o) =>
      o.id === id
        ? {
            ...o,
            status,
            history: [...o.history, { status, date: new Date().toISOString() }],
          }
        : o,
    );
    return delay(orders.find((o) => o.id === id) ?? null);
  },
};
