dt-common-device
Version:
A secure and robust device management library for IoT applications
45 lines (44 loc) • 1.76 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChronicleClass = void 0;
const config_1 = require("../config/config");
const axios_1 = __importDefault(require("axios"));
class ChronicleClass {
async registerJob(payload) {
const { name, apiUrl, method, schedule, cronJobId, target } = payload;
try {
const cronicleEndpoint = process.env.CRONICLE_ENDPOINT;
const cronicleApiKey = process.env.CRONICLE_API_KEY;
await axios_1.default.post(`${cronicleEndpoint}/create_event`, {
id: cronJobId,
title: name,
category: "general",
plugin: "urlplug",
timeZone: "UTC",
enabled: 1,
params: {
url: apiUrl,
method,
headers: `dt-cronicle-api-key: ${cronicleApiKey}`,
},
data: payload,
target: target,
timing: {
minutes: schedule.minutes ?? "0",
hours: schedule.hours ?? "*",
dom: schedule.dom ?? "*",
month: schedule.month ?? "*",
dow: schedule.dow ?? "*",
},
});
(0, config_1.getConfig)().LOGGER.info(`Successfully registered chronicle job: ${name} with ID: ${cronJobId}`);
}
catch (error) {
(0, config_1.getConfig)().LOGGER.error(`Failed to create device: ${error.message}`);
}
}
}
exports.ChronicleClass = ChronicleClass;