import { delay } from './api';
import { mockMovements } from '@/data/mockInventory';
import { mockProducts } from '@/data/mockProducts';
import type { InventoryMovement, LowStockItem } from '@/types';

let movements = [...mockMovements];

export const inventoryService = {
  // GET /api/inventory
  movements: (storeId: string) =>
    delay(movements.filter((m) => m.storeId === storeId)),

  // POST /api/inventory/movement
  registerMovement: (movement: InventoryMovement) => {
    movements = [movement, ...movements];
    return delay(movement);
  },

  // GET /api/inventory/low-stock
  lowStock: (storeId: string): Promise<LowStockItem[]> => {
    const items = mockProducts
      .filter((p) => p.storeId === storeId && p.trackStock && p.stock <= p.minStock)
      .map((p) => ({
        productId: p.id,
        productName: p.name,
        stock: p.stock,
        minStock: p.minStock,
      }));
    return delay(items);
  },
};
