/**
 * Articles du Mag accrochés à une fiche (via Kasour, module Articles).
 */

import http from '@/http';
import type {Article} from '@/types/article';
import type {VisiteTableCible} from '@/services/visiteService';

/** Tables des fiches accrochables, nommées comme les cibles des favoris et des visites. */
export type ArticleLienTableCible = Extract<
  VisiteTableCible,
  'annuaire_entree' | 'evenement' | 'evenement_ensemble' | 'formation_stage'
>;

/** Articles publiés liés à la fiche, du plus récent au plus ancien ; vide si l'API ne répond pas. */
export async function getArticlesLies(tableCible: ArticleLienTableCible, cibleId: number | string): Promise<Article[]> {
  try {
    const response = await http.get(`/articles_lies/${tableCible}/${cibleId}`);

    return Array.isArray(response.data) ? response.data : [];
  } catch {
    return [];
  }
}
