UNPKG

airalo-sdk-type

Version:

UNOFFICIAL AIRALO API INTEGRATION FOR JAVASCRIPT/TYPESCRIPT

77 lines (76 loc) 2.79 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getToken = exports.TOKEN = void 0; const config_1 = require("../config"); const axios_master_1 = require("axios-master"); const form_data_1 = __importDefault(require("form-data")); // Token авах дотоод функц async function fetchToken(client_id, client_secret) { const formData = new form_data_1.default(); formData.append("client_id", client_id); formData.append("client_secret", client_secret); formData.append("grant_type", "client_credentials"); const response = await (0, axios_master_1.axiosMasterLogger)({ method: "POST", url: `${config_1.config.host}/v2/token`, headers: { Accept: "application/json", ...formData.getHeaders() }, data: formData }, { name: "Token", timeout: 20000, logger: (data) => config_1.config.logger && console.log("Token:", data.json) }); return response?.data?.access_token ?? ""; } // Нэвтрэлт хийж token авах - гадаад ашиглалт const TOKEN = async (auth) => { try { const token = await fetchToken(auth.client_id, auth.client_secret); if (token) { // Тохиргоонд хадгалах config_1.config.token = token; config_1.config.auth = auth; return { success: true, data: { access_token: token }, message: "Token амжилттай авлаа." }; } return { success: false, data: null, message: "Token авахад амжилтгүй болсон." }; } catch (error) { const axiosError = error; console.error("Token хүсэлт амжилтгүй:", axiosError.message); return { success: false, data: null, message: axiosError?.response?.data?.meta?.message ?? "Алдаа гарлаа." }; } }; exports.TOKEN = TOKEN; // 401 алдааны үед автоматаар token шинэчлэх функц (axiosMasterLogger-т дамжуулна) const getToken = async () => { try { const token = await fetchToken(config_1.config.auth.client_id, config_1.config.auth.client_secret); if (token) config_1.config.token = token; return token; } catch (error) { console.error("Token шинэчлэлт амжилтгүй:", error.message); return ""; } }; exports.getToken = getToken; exports.default = { TOKEN: exports.TOKEN };