import { loadEnvFile } from 'node:process' // load envs asap import express from 'express' import path from 'path' import cors from 'cors' import healthCheckRoutes from './routes/healthcheck/index.js' import authRoutes from './routes/auth/index.js' import userRoutes from './routes/users/index.js' import roleRoutes from './routes/roles/index.js' import locationRoutes from './routes/locations/index.js' import imageRoutes from './routes/images/index.js' import collectionRoutes from './routes/collections/index.js' import setRoutes from './routes/sets/index.js' import itemRoutes from './routes/items/index.js' loadEnvFile() const app = express() const port = process.env.PORT || 3000 // Middleware app.use(express.json()) // For parsing application/json app.use(express.urlencoded({ extended: true })) // For parsing URL-encoded form data app.use(cors()) // Mount Routes app.use('/healthcheck', healthCheckRoutes) app.use('/auth', authRoutes) app.use('/users', userRoutes) app.use('/roles', roleRoutes) app.use('/locations', locationRoutes) app.use('/images', imageRoutes) app.use('/collections', collectionRoutes) app.use('/sets', setRoutes) app.use('/items', itemRoutes) // Default Route (Catch-all for undefined routes) app.use((req, res, next) => { res.status(404).send('Sorry, the resource you requested could not be found.') }) app.listen(port, () => { console.log(`Server listening on port ${port}`) }) export default app