app.js 1.01 KB
Newer Older
abergavenny's avatar
abergavenny committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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