| const express = require("express"); |
| const cors = require("cors"); |
| const { createApiRoutes } = require("./routes"); |
| const { createOtaFirmwareHandler } = require("./routes/ota"); |
| const { createRequestContextMiddleware } = require("./middleware/requestContext"); |
| const { |
| createErrorHandler, |
| createNotFoundMiddleware, |
| } = require("./middleware/errorHandler"); |
|
|
| function createApp(config, logger, services, runtimeState) { |
| const app = express(); |
|
|
| app.use(cors({ origin: config.cors.origin })); |
| app.use(createRequestContextMiddleware(logger)); |
| app.use(express.json({ limit: "1mb" })); |
|
|
| app.get(`${config.server.apiPrefix}/ota/firmware/:target`, createOtaFirmwareHandler()); |
| app.use(config.server.apiPrefix, createApiRoutes(services, config, runtimeState)); |
|
|
| app.use(createNotFoundMiddleware()); |
| app.use(createErrorHandler(config, logger)); |
|
|
| return app; |
| } |
|
|
| module.exports = { |
| createApp, |
| }; |
|
|