import { api } from "@/lib/api";
import type { ApiEnvelope } from "@/types/api";
import type {
  AdminCommande,
  AdminDesign,
  AdminLivraison,
  AdminStock,
  PaginatedResult,
} from "@/types/admin";

export async function getCommandesRecentes(limit = 100): Promise<PaginatedResult<AdminCommande>> {
  const { data } = await api.get<ApiEnvelope<PaginatedResult<AdminCommande>>>("/admin/commandes", {
    params: { limit },
  });
  return data.data;
}

export async function getDesignsAValider(): Promise<AdminDesign[]> {
  const { data } = await api.get<ApiEnvelope<AdminDesign[]>>("/admin/designs/a-valider");
  return data.data;
}

export async function getLivraisons(limit = 100): Promise<PaginatedResult<AdminLivraison>> {
  const { data } = await api.get<ApiEnvelope<PaginatedResult<AdminLivraison>>>("/admin/livraisons", {
    params: { limit },
  });
  return data.data;
}

export async function getAlertesStock(): Promise<AdminStock[]> {
  const { data } = await api.get<ApiEnvelope<AdminStock[]>>("/admin/stock/alertes");
  return data.data;
}
