UNPKG

@corvina/device-client

Version:
74 lines 2.9 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.LicensesAxiosInstance = exports.PairingAxiosInstance = void 0; const axios_1 = __importDefault(require("axios")); const logger_service_1 = require("./logger.service"); class PairingAxiosInstance { axiosInstance = axios_1.default.create(); licenseData; constructor(licenseData) { this.licenseData = licenseData; this.axiosInstance.defaults.baseURL = `${this.licenseData.platformPairingApiUrl}/devices/${this.licenseData.logicalId}`; this.axiosInstance.defaults.headers = { Authorization: `Bearer ${this.licenseData.apiKey}`, }; } async doPairing(protocol, csr) { const req = this.axiosInstance .post(`/protocols/${protocol}/credentials`, { data: { csr: csr } }) .then((data) => { return data.data.data; }); return req; } async verify(protocol, crt) { return this.axiosInstance .post(`/protocols/${protocol}/credentials/verify`, { data: { client_crt: crt }, }) .then((data) => { return true; }); } } exports.PairingAxiosInstance = PairingAxiosInstance; class LicensesAxiosInstance { axiosInstance = axios_1.default.create(); axiosPairiginInstance; activationKey; pairingEndpoint; static protocol = "corvina_mqtt_v1"; constructor(pairingEndpoint, activationKey) { this.pairingEndpoint = pairingEndpoint; this.activationKey = activationKey; logger_service_1.l.info(`License manager pairing endpoint ${this.pairingEndpoint}`); this.axiosInstance.defaults.baseURL = this.pairingEndpoint; } async init() { const config = { params: { activationKey: this.activationKey, serialNumber: "" }, }; return this.axiosInstance.get("", config).then((data) => { this.axiosPairiginInstance = new PairingAxiosInstance(data.data); if (data.data.brokerUrls) { data.data.brokerUrls = data.data.brokerUrls .split(",") .filter((u) => u.startsWith(LicensesAxiosInstance.protocol)) .map((u) => u.replace(LicensesAxiosInstance.protocol, "mqtts")); } return data.data; }); } async doPairing(csr) { return this.axiosPairiginInstance.doPairing(LicensesAxiosInstance.protocol, csr); } async verify(crt) { return this.axiosPairiginInstance.verify(LicensesAxiosInstance.protocol, crt); } } exports.LicensesAxiosInstance = LicensesAxiosInstance; exports.default = LicensesAxiosInstance; //# sourceMappingURL=licensesaxiosinstance.js.map