Files
Website-template/server/app.js

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}`);
});