63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
// server/app.js
|
|
console.log("Starting Server...");
|
|
import express from 'express';
|
|
import cors from 'cors';
|
|
// import multer from 'multer';
|
|
// import path from 'path';
|
|
import db from './models/db.js';
|
|
import dotenv from 'dotenv';
|
|
|
|
dotenv.config();
|
|
|
|
// test db connection
|
|
try {
|
|
await db.query("SELECT 1")
|
|
console.log("DB connection successful")
|
|
await db.get('users', {id: 1});
|
|
console.log("Users table exists");
|
|
} catch (err) {
|
|
console.error(err);
|
|
process.exit(1);
|
|
}
|
|
|
|
const app = express();
|
|
app.use(cors());
|
|
app.use(express.json());
|
|
|
|
// Serve static files from the client build directory
|
|
if (process.env.NODE_ENV !== 'development') app.use("/", express.static('../client/dist'));
|
|
|
|
/*const UPLOAD_FOLDER = path.join(process.cwd(), 'Scans');
|
|
const storage = multer.diskStorage({
|
|
destination: (req, file, cb) => {
|
|
cb(null, UPLOAD_FOLDER);
|
|
},
|
|
filename: (req, file, cb) => {
|
|
cb(null, file.originalname);
|
|
}
|
|
});
|
|
const upload = multer({storage});*/
|
|
|
|
// user routes
|
|
import userRouter from './controllers/userController.js';
|
|
app.use('/api/users', userRouter);
|
|
|
|
// email routes
|
|
import emailRouter from "./controllers/emailController.js";
|
|
app.use('/api/email', emailRouter);
|
|
|
|
// other routes
|
|
|
|
// Error handling middleware
|
|
import errorHandler from './middleware/ErrorHandler.js';
|
|
|
|
app.use(errorHandler);
|
|
// 404 handler
|
|
app.use((req, res) => {
|
|
res.status(404).json({message: 'Route not found'});
|
|
});
|
|
|
|
const PORT = process.env.PORT || 8000;
|
|
app.listen(PORT, () => {
|
|
console.log(`Express server running on port ${PORT}`);
|
|
}); |