require('dotenv').config(); const express = require('express'); const cors = require('cors'); const bodyParser = require('body-parser'); const { sequelize } = require('./models'); // Import from models/index.js to ensure associations are loaded const authRoutes = require('./routes/auth'); const userRoutes = require('./routes/users'); const itemRoutes = require('./routes/items'); const rentalRoutes = require('./routes/rentals'); const messageRoutes = require('./routes/messages'); const app = express(); app.use(cors()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use('/api/auth', authRoutes); app.use('/api/users', userRoutes); app.use('/api/items', itemRoutes); app.use('/api/rentals', rentalRoutes); app.use('/api/messages', messageRoutes); app.get('/', (req, res) => { res.json({ message: 'Rentall API is running!' }); }); const PORT = process.env.PORT || 5000; sequelize.sync({ alter: true }).then(() => { console.log('Database synced'); app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); }); }).catch(err => { console.error('Unable to sync database:', err); });