@golemio/energetics
Version:
Golemio Energetics Module
38 lines • 1.6 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ptasRouter = exports.PtasRouter = void 0;
const PtasWebScrapingController_1 = require("./PtasWebScrapingController");
const helpers_1 = require("@golemio/core/dist/input-gateway/helpers");
const ContainerToken_1 = require("@golemio/core/dist/input-gateway/ioc/ContainerToken");
const Di_1 = require("@golemio/core/dist/input-gateway/ioc/Di");
const express_1 = require("@golemio/core/dist/shared/express");
class PtasRouter {
constructor() {
this.initRoutes = () => {
this.router.post("/:placeId", (0, helpers_1.checkContentTypeMiddleware)(["text/csv"]), this.csvParser.getMiddleware({
delimiter: ";",
shouldIncludeHeaders: true,
}), this.post);
};
this.post = async (req, res, next) => {
try {
await this.controller.processData({
placeId: req.params.placeId,
measurements: req.body,
});
res.sendStatus(204);
}
catch (err) {
next(err);
}
};
this.router = (0, express_1.Router)();
this.csvParser = Di_1.InputGatewayContainer.resolve(ContainerToken_1.ContainerToken.CsvParserMiddleware);
this.controller = new PtasWebScrapingController_1.PtasWebScrapingController();
this.initRoutes();
}
}
exports.PtasRouter = PtasRouter;
const ptasRouter = new PtasRouter().router;
exports.ptasRouter = ptasRouter;
//# sourceMappingURL=PtasRouter.js.map
;