const express = require("express"); const OpenApiValidator = require("express-openapi-validator"); const app = express(); const port = 3000; //// Swagger const swaggerUi = require("swagger-ui-express"); const YAML = require("yaml"); const fs = require("fs"); const file = fs.readFileSync("./open_api.yaml", "utf8"); const swaggerDocument = YAML.parse(file); app.use("/docs", swaggerUi.serve, swaggerUi.setup(swaggerDocument)); // Validator app.use(express.json()) app.use( OpenApiValidator.middleware({ apiSpec: './open_api.yaml', validateResponses: true }) ); app.use((err, req, res, next) => { res.status(err.status || 500).json ({ code: err.status, message: err.message, additionalPropl: err.errors, }); }); // Routes app.use(express.json()); app.use(express.urlencoded({ extended: true })) const accountsRoute = require("./routes/accounts"); const transactionsRoute = require("./routes/transactions"); const { isNullOrUndefined } = require("util"); const basepath = "/api/v1"; app.use(`${basepath}/accounts`, accountsRoute); app.use(`${basepath}/transactions`, transactionsRoute); app.get("/", (req, res) => { res.send("Hello World!"); }); app.listen(port, () => { console.log(`Example app listening on port ${port}`); });