/**
 * Fichiers attachés à une entité (déposés en Kasour). Pour un événement, l'API ajoute
 * les fichiers de ses ensembles d'événements, parents compris.
 */

import http from '@/http';

export interface Fichier {
  medId: number;
  url: string | null;
  filename: string | null;
  label: string | null;
  mimetype: string | null;
  source: string;
}

export type FichierTypeEntite = 'evenement' | 'evenement_ensemble';

/** Fichiers de l'entité ; vide si l'API ne répond pas. */
export async function getFichiers(typeEntite: FichierTypeEntite, id: number | string): Promise<Fichier[]> {
  try {
    const response = await http.get(`/entity-files/${typeEntite}/${id}`);
    const files: unknown = response.data?.files;

    return Array.isArray(files) ? (files as Fichier[]) : [];
  } catch {
    return [];
  }
}
