@corvina/device-client
Version:
Corvina NodeJS Device Client
74 lines • 2.9 kB
JavaScript
;
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