import express from 'express' import cors from 'cors' import helmet from 'helmet' import config from './config/appConfig.js' import authHandler, { setupAuthentication } from './middleware/authHandler.js' import errorHandler from './middleware/errorHandler.js' import { apartmentRouter, authRouter, buildingRouter, selfRouter, simulationRouter, userRouter } from './routes/index.js' export const app = express() app.use(helmet.hidePoweredBy()) app.use(express.json()) app.use(express.urlencoded({ extended: false })) app.use(cors({ origin: config.corsOrigin })) setupAuthentication(app) app.use('/auth', authRouter) app.use('/api/v1/apartments', authHandler, apartmentRouter) app.use('/api/v1/buildings', authHandler, buildingRouter) app.use('/api/v1/self', authHandler, selfRouter) app.use('/api/v1/simulations', authHandler, simulationRouter) app.use('/api/v1/users', authHandler, userRouter) app.use('/', express.static('public')) app.use(errorHandler) app.use('*', (req, res) => res.redirect('/')) export default app