/* * Report Server * Web API สำหรับสร้างรายงาน กำหนด Path และเพิ่มฟีเจอร์ได้ * จะใช้ Node.js เป็น reverse proxy ไปหา pandoc ที่ swan ขึ้นมา * demo frontent อยู่ในโฟลเดอร์ public */ import cors from "cors" import swaggerspecs from "./libs/swagger-specs.json" import swaggerUi from "swagger-ui-express" import express, { Express, Request, Response } from "express" import { docxTemplateRoute } from "./libs/docx-templates-lib" import { xlsxTemplateRoute } from "./libs/xlsx-template-lib" import { htmlTemplateRoute } from "./libs/html-templates-lib" import { convertTemplateRoute } from "./libs/convert-libs" const app: Express = express() const port: number = Number(process.env.PORT) || 80 app.use(cors()) app.use(express.json({ limit: "200mb" })) //‘application/json’ app.use(express.raw({ limit: "200mb" })) //‘application/octet-stream’ app.use(express.urlencoded({ extended: true, limit: "200mb" })) app.use( "/swagger", swaggerUi.serve, swaggerUi.setup(swaggerspecs, { explorer: true }) ) app.get("/", (req: Request, res: Response) => { res.json({ message: "Hello report-template API !!", }) }) app.use("/api/v1/report-template/docx", docxTemplateRoute) app.use("/api/v1/report-template/xlsx", xlsxTemplateRoute) app.use("/api/v1/report-template/html", htmlTemplateRoute) app.use("/api/v1/report-template/convert", convertTemplateRoute) app.listen(port, () => console.log(`Application is running on port ${port}`))