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

export async function getCommandes(
  params: { page?: number; limit?: number; statut?: string; date_debut?: string; date_fin?: string } = {},
) {
  const { data } = await api.get<ApiEnvelope<PaginatedResult<AdminCommande>>>("/admin/commandes", {
    params,
  });
  return data.data;
}

export async function changerStatutCommande(uid: string, statut: string): Promise<AdminCommande> {
  const { data } = await api.put<ApiEnvelope<AdminCommande>>(`/admin/commandes/${uid}/statut`, { statut });
  return data.data;
}

export async function validerCommande(uid: string): Promise<AdminCommande> {
  const { data } = await api.post<ApiEnvelope<AdminCommande>>(`/admin/commandes/${uid}/valider`);
  return data.data;
}
