airalo-sdk-type
Version:
UNOFFICIAL AIRALO API INTEGRATION FOR JAVASCRIPT/TYPESCRIPT
247 lines (246 loc) • 9.53 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpdateSimBrand = exports.GetSimPackageHistory = exports.GetTopUpPackageList = exports.GetDataUsage = exports.GetSimInstructions = exports.GetSim = exports.GetSimList = void 0;
const config_1 = require("../config");
const axios_master_1 = require("axios-master");
const form_data_1 = __importDefault(require("form-data"));
const auth_1 = require("./auth");
// SIM-ийн жагсаалтыг авах
const GetSimList = async (params = {}) => {
try {
const result = await (0, axios_master_1.axiosMasterLogger)({
method: "GET",
url: `${config_1.config.host}/v2/sims`,
headers: {
Accept: "application/json",
Authorization: `Bearer ${config_1.config.token}`
},
params
}, {
name: "GetSimList",
timeout: 20000,
retryFunction: auth_1.getToken,
shouldRetry: true,
shouldRetryStatus: [401],
logger: (data) => config_1.config.logger && console.log("GetSimList:", data.json)
});
return {
success: true,
data: result.data ?? [],
message: "Амжилттай.",
meta: result.meta
};
}
catch (error) {
const axiosError = error;
console.error("GetSimList амжилтгүй:", axiosError.message);
return {
success: false,
data: null,
message: axiosError?.response?.data?.meta?.message ?? "Алдаа гарлаа."
};
}
};
exports.GetSimList = GetSimList;
// Нэг SIM-ийн дэлгэрэнгүйг ICCID-аар авах
const GetSim = async (sim_iccid) => {
try {
const result = await (0, axios_master_1.axiosMasterLogger)({
method: "GET",
url: `${config_1.config.host}/v2/sims/${sim_iccid}`,
headers: {
Accept: "application/json",
Authorization: `Bearer ${config_1.config.token}`
}
}, {
name: "GetSim",
timeout: 20000,
retryFunction: auth_1.getToken,
shouldRetry: true,
shouldRetryStatus: [401],
logger: (data) => config_1.config.logger && console.log("GetSim:", data.json)
});
return { success: true, data: result.data ?? null, message: "Амжилттай." };
}
catch (error) {
const axiosError = error;
console.error("GetSim амжилтгүй:", axiosError.message);
return {
success: false,
data: null,
message: axiosError?.response?.data?.meta?.message ?? "Алдаа гарлаа."
};
}
};
exports.GetSim = GetSim;
// SIM-ийн суурилуулах зааврыг авах
const GetSimInstructions = async (sim_iccid) => {
try {
const result = await (0, axios_master_1.axiosMasterLogger)({
method: "GET",
url: `${config_1.config.host}/v2/sims/${sim_iccid}/instructions`,
headers: {
Accept: "application/json",
Authorization: `Bearer ${config_1.config.token}`
}
}, {
name: "GetSimInstructions",
timeout: 20000,
retryFunction: auth_1.getToken,
shouldRetry: true,
shouldRetryStatus: [401],
logger: (data) => config_1.config.logger && console.log("GetSimInstructions:", data.json)
});
return { success: true, data: result.data ?? null, message: "Амжилттай." };
}
catch (error) {
const axiosError = error;
console.error("GetSimInstructions амжилтгүй:", axiosError.message);
return {
success: false,
data: null,
message: axiosError?.response?.data?.meta?.message ?? "Алдаа гарлаа."
};
}
};
exports.GetSimInstructions = GetSimInstructions;
// SIM-ийн өгөгдөл хэрэглээг шалгах
const GetDataUsage = async (sim_iccid) => {
try {
const result = await (0, axios_master_1.axiosMasterLogger)({
method: "GET",
url: `${config_1.config.host}/v2/sims/${sim_iccid}/usage`,
headers: {
Accept: "application/json",
Authorization: `Bearer ${config_1.config.token}`
}
}, {
name: "GetDataUsage",
timeout: 20000,
retryFunction: auth_1.getToken,
shouldRetry: true,
shouldRetryStatus: [401],
logger: (data) => config_1.config.logger && console.log("GetDataUsage:", data.json)
});
return { success: true, data: result.data ?? null, message: "Амжилттай." };
}
catch (error) {
const axiosError = error;
console.error("GetDataUsage амжилтгүй:", axiosError.message);
return {
success: false,
data: null,
message: axiosError?.response?.data?.meta?.message ?? "Алдаа гарлаа."
};
}
};
exports.GetDataUsage = GetDataUsage;
// SIM-д боломжтой top-up багцуудын жагсаалтыг авах
const GetTopUpPackageList = async (sim_iccid) => {
try {
const result = await (0, axios_master_1.axiosMasterLogger)({
method: "GET",
url: `${config_1.config.host}/v2/sims/${sim_iccid}/topups`,
headers: {
Accept: "application/json",
Authorization: `Bearer ${config_1.config.token}`
}
}, {
name: "GetTopUpPackageList",
timeout: 20000,
retryFunction: auth_1.getToken,
shouldRetry: true,
shouldRetryStatus: [401],
logger: (data) => config_1.config.logger && console.log("GetTopUpPackageList:", data.json)
});
return { success: true, data: result.data ?? [], message: "Амжилттай." };
}
catch (error) {
const axiosError = error;
console.error("GetTopUpPackageList амжилтгүй:", axiosError.message);
return {
success: false,
data: null,
message: axiosError?.response?.data?.meta?.message ?? "Алдаа гарлаа."
};
}
};
exports.GetTopUpPackageList = GetTopUpPackageList;
// SIM-ийн багцын түүхийг авах
const GetSimPackageHistory = async (sim_iccid) => {
try {
const result = await (0, axios_master_1.axiosMasterLogger)({
method: "GET",
url: `${config_1.config.host}/v2/sims/${sim_iccid}/packages`,
headers: {
Accept: "application/json",
Authorization: `Bearer ${config_1.config.token}`
}
}, {
name: "GetSimPackageHistory",
timeout: 20000,
retryFunction: auth_1.getToken,
shouldRetry: true,
shouldRetryStatus: [401],
logger: (data) => config_1.config.logger && console.log("GetSimPackageHistory:", data.json)
});
return { success: true, data: result.data ?? [], message: "Амжилттай." };
}
catch (error) {
const axiosError = error;
console.error("GetSimPackageHistory амжилтгүй:", axiosError.message);
return {
success: false,
data: null,
message: axiosError?.response?.data?.meta?.message ?? "Алдаа гарлаа."
};
}
};
exports.GetSimPackageHistory = GetSimPackageHistory;
// SIM-ийн брэндийн тохиргоог шинэчлэх
const UpdateSimBrand = async (sim_iccid, brand_settings_name) => {
try {
const formData = new form_data_1.default();
formData.append("brand_settings_name", brand_settings_name);
const result = await (0, axios_master_1.axiosMasterLogger)({
method: "PUT",
url: `${config_1.config.host}/v2/sims/${sim_iccid}/brand`,
headers: {
Accept: "application/json",
Authorization: `Bearer ${config_1.config.token}`,
...formData.getHeaders()
},
data: formData
}, {
name: "UpdateSimBrand",
timeout: 20000,
retryFunction: auth_1.getToken,
shouldRetry: true,
shouldRetryStatus: [401],
logger: (data) => config_1.config.logger && console.log("UpdateSimBrand:", data.json)
});
return { success: true, data: result.data ?? null, message: "Амжилттай." };
}
catch (error) {
const axiosError = error;
console.error("UpdateSimBrand амжилтгүй:", axiosError.message);
return {
success: false,
data: null,
message: axiosError?.response?.data?.meta?.message ?? "Алдаа гарлаа."
};
}
};
exports.UpdateSimBrand = UpdateSimBrand;
exports.default = {
GetSimList: exports.GetSimList,
GetSim: exports.GetSim,
GetSimInstructions: exports.GetSimInstructions,
GetDataUsage: exports.GetDataUsage,
GetTopUpPackageList: exports.GetTopUpPackageList,
GetSimPackageHistory: exports.GetSimPackageHistory,
UpdateSimBrand: exports.UpdateSimBrand
};