import MakeRequest from "../helpers/makeRequest";
import BaseData from "../helpers/baseData";
import APIUrl from "../helpers/ApiUrl";

class Auth {
    static async generateToken() {
        let dataToSend = new URLSearchParams();
        dataToSend.append("grant_type", BaseData.getGrantType());
        dataToSend.append("client_id", BaseData.getClientId());
        dataToSend.append("client_secret", BaseData.getClientSecret());

        const params = null;

       const apiResponse: any = await MakeRequest.httpRequest(APIUrl.authAPI(), 'POST', dataToSend, params);
       
        if (apiResponse !== null && apiResponse['access_token']) {
            BaseData.setAccessTokenData(apiResponse);
        } else {
            BaseData.resetAccessTokenData();
        }
    }

    static async getCurrentDataVersion() {
        const apiResponse = await MakeRequest.httpRequest(APIUrl.currentDataVersionAPI(), "GET", null, null);
        return apiResponse;
    }
};

export default Auth;