@it-irsa/licard
Version:
Open-source lib for Licard API
121 lines (120 loc) • 4.8 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const axios_1 = __importDefault(require("axios"));
const https_1 = __importDefault(require("https"));
class LicardAPI {
constructor(_options) {
this._options = _options;
this._instance = axios_1.default.create({
httpsAgent: new https_1.default.Agent({
passphrase: this._options.pass,
pfx: this._options.key,
rejectUnauthorized: false,
}),
baseURL: "https://91.234.16.57:443/solar-bridge-ext/ext/json-services",
});
}
/**
* Получение информации по договору.
* @param contractId Идентификатор договора
*/
getContractInfo(contractId) {
return __awaiter(this, void 0, void 0, function* () {
try {
const { data } = yield this._instance.post("/getContractInfo", {
contractId,
});
const response = data.getContractInfoRs;
if (response.getContractInfoPayload[0].openDate)
response.getContractInfoPayload[0].openDate = new Date(response.getContractInfoPayload[0].openDate);
if (response.getContractInfoPayload[0].closeDate)
response.getContractInfoPayload[0].closeDate = new Date(response.getContractInfoPayload[0].closeDate);
return Promise.resolve(response);
}
catch (error) {
return Promise.reject(error);
}
});
}
/**
* Получение данных о балансе по договору
* @param contractId Идентификатор договора/карты
*/
getContractBalance(contractId) {
return __awaiter(this, void 0, void 0, function* () {
try {
const { data } = yield this._instance.post("/getContractBalance", {
contractId,
});
return Promise.resolve(data.getContractBalanceRs);
}
catch (error) {
return Promise.reject(error);
}
});
}
/**
* Получение идентификатора карты/контракта по номеру
* @param contractNumber Номер карты/контракта
*/
getContractIdByNumber(contractNumber) {
return __awaiter(this, void 0, void 0, function* () {
try {
const { data } = yield this._instance.post("/getContractIdByNumber", {
contractNumber,
});
return Promise.resolve(data.getContractIdByNumberRs);
}
catch (error) {
return Promise.reject(error);
}
});
}
/**
* Блокировка карты
* @param contractId Идентификатор карты
*/
blockCard(contractId) {
return __awaiter(this, void 0, void 0, function* () {
try {
const { data } = yield this._instance.post("/blockCard", {
contractId,
});
return Promise.resolve(data.blockCardRs);
}
catch (error) {
return Promise.reject(error);
}
});
}
/**
* Разблокировка карты
* @param contractId Идентификатор карты
*/
unblockCard(contractId) {
return __awaiter(this, void 0, void 0, function* () {
try {
const { data } = yield this._instance.post("/unblockCard", {
contractId,
});
return Promise.resolve(data.unblockCardRs);
}
catch (error) {
return Promise.reject(error);
}
});
}
}
exports.default = LicardAPI;