import axios from 'axios';
import AbstractDataManager from './AbstractDataManager';

/**
 * Classe effectuant les opérations de chargement des données de référence, via l'API REST.
 *
 * @class
 */
class DonneesReferenceFetcher extends AbstractDataManager {
    //
    static DONNEES_REFERENCE_ENDPOINT = 'references';

    /**
     * Constructeur
     * @constructor
     */
    constructor() {
        super();
    }

    /**
     * Retourne une liste de tous les administrés correspondant aux paramètres fournis.
     *
     * @async
     * @returns {Promise<import('../jsdoc/api').DonneesReferenceApi>} - Promesse de résultats
     */
    async fetchAll() {
        const url = this.buildFetchURL(DonneesReferenceFetcher.DONNEES_REFERENCE_ENDPOINT);
        return axios.get(url);
    }
}

export default DonneesReferenceFetcher;
