35 lines
1.6 KiB
TypeScript
35 lines
1.6 KiB
TypeScript
/*
|
||
* 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}`))
|