const express = require('express') const database = require('./database') const fileUpload = require('express-fileupload') const {isUser, isAdmin} = require('./authentication') const bodyParser = require('body-parser') const cronJobs = require('./plugins/cronJobs') const {createAdmins} = require('./plugins/privateAdmin') // Create express instnace const app = express() cronJobs() createAdmins() // Init body-parser options (inbuilt with express) app.use(express.json()) app.use(express.urlencoded({extended: true})) app.use(fileUpload()) // Require & Import API routes const Public = require('./routes/public') const admin = require('./routes/admin') const auth = require('./routes/auth') // Use API Routes app.use('/public', Public) app.use('/auth', auth) app.use('/admin', isAdmin, admin) app.get('/health', (req, res) => { res.json({ ok: true }) }) app.use((err, req, res, next) => { console.error('Express error:', req.method, req.originalUrl, err?.message || err) res.status(500).json({ message: err?.message || 'Internal Server Error' }) }) // Export the server middleware module.exports = { path: '/api', handler: app }