UNPKG

@corvina/device-example

Version:
65 lines 2.38 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@nestjs/core"); const swagger_1 = require("@nestjs/swagger"); const axios_1 = __importDefault(require("axios")); const app_module_1 = require("./app.module"); const common_1 = require("@nestjs/common"); const nestjs_pino_1 = require("nestjs-pino"); const device_client_1 = require("@corvina/device-client"); async function bootstrap() { const app = await core_1.NestFactory.create(app_module_1.AppModule, { bufferLogs: false, }); app.enableShutdownHooks(); const pinoLogger = app.get(nestjs_pino_1.Logger); app.useLogger(pinoLogger); const l = new common_1.Logger("example"); try { const config = new swagger_1.DocumentBuilder() .setTitle("Corvina NodeJS device API") .setDescription("") .setVersion("1.0") .addTag("device") .build(); const document = swagger_1.SwaggerModule.createDocument(app, config); swagger_1.SwaggerModule.setup("swagger-ui", app, document); } catch (e) { l.error("Error caught: "); l.error(e); } await app.listen(process.env.PORT || 3000); app.get(device_client_1.DeviceRunnerService).run(); const device = app.get(device_client_1.DeviceService); device.on("ready", (event) => { l.log("Device is ready to transmit data"); }); device.on("not_ready", (event) => { l.log("Device is not ready to transmit data"); }); device.on("write", (event) => { l.log(`Write event received ${JSON.stringify(event)}`); const t = Date.now(); const dataPoints = new Array(); const dp = { tagName: event.tagName, value: event.v, timestamp: t, }; dataPoints.push(dp); device.post(dataPoints, { qos: 0, cb: process.env["WRITE_CALLBACK"] ? (error, tagName, modelPath) => { axios_1.default.post(process.env["WRITE_CALLBACK"], event).catch((err) => "Error executing write callback"); } : undefined, }); }); } bootstrap(); //# sourceMappingURL=main.js.map