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

/**
 * Classe effectuant les opérations de chargement des données sur l'utilisateur connecté, via l'API REST.
 *
 * @class
 */
class UtilisateurManager extends AbstractDataManager {
    //
    static UTILISATEUR_CONNECTE_ENDPOINT = 'me';

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

    /**
     * Retourne l'utilisateur connecté.
     *
     * @returns {Promise<any>} - Promesse de résultat
     */
    async fetch() {
        const url = this.buildFetchURL(UtilisateurManager.UTILISATEUR_CONNECTE_ENDPOINT);
        return axios.get(url);
    }
}

export default UtilisateurManager;
