const express = require('express');
const app = express();
const mongoose = require('mongoose');
const dotenv = require('dotenv');
const cors = require('cors')
const bodyParser = require('body-parser');
const path = require('path');

dotenv.config();

const adminRoutes = require('./src/routes/adminRoutes');
const subAdminRoutes = require('./src/routes/subAdminRoutes');
const userRoutes = require('./src/routes/userRoutes');

app.use(cors())
app.use(express.json());

app.use(bodyParser.json());
//app.use(bodyParser.urlencoded({ extended: true }));

app.use('/uploads', express.static(path.join(__dirname, 'src/uploads')));

mongoose.connect(process.env.MONGO_URI)
    .then(() => console.log('MongoDB connected'))
    .catch(err => console.log(err));

app.use('/api/admin', adminRoutes);
app.use('/api/subadmin', subAdminRoutes);
app.use('/api/user', userRoutes);

app.get('/', (req, res) => {
    res.send('Welcome to FinallyTx');
});

const PORT = process.env.PORT || 8086;
app.listen(PORT, () => console.log(`FinallyTx Server running on port ${PORT}`));
