Update server.js
Browse files
server.js
CHANGED
|
@@ -9,6 +9,8 @@ const investmentRoutes = require('./routes/investment');
|
|
| 9 |
|
| 10 |
const app = express();
|
| 11 |
|
|
|
|
|
|
|
| 12 |
// Set view engine
|
| 13 |
app.set('view engine', 'ejs');
|
| 14 |
app.set('views', path.join(__dirname, 'public/views'));
|
|
@@ -21,11 +23,18 @@ app.use(session({
|
|
| 21 |
resave: false,
|
| 22 |
saveUninitialized: false
|
| 23 |
}));
|
|
|
|
| 24 |
|
| 25 |
// Multer setup for file uploads
|
| 26 |
const storage = multer.diskStorage({
|
| 27 |
-
destination: (req, file, cb) =>
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
});
|
| 30 |
const upload = multer({ storage });
|
| 31 |
app.use('/user/kyc', upload.fields([
|
|
@@ -34,29 +43,41 @@ app.use('/user/kyc', upload.fields([
|
|
| 34 |
{ name: 'selfie_doc', maxCount: 1 },
|
| 35 |
{ name: 'ssn_doc', maxCount: 1 }
|
| 36 |
]));
|
|
|
|
| 37 |
|
| 38 |
// Routes
|
| 39 |
app.use('/', authRoutes);
|
| 40 |
app.use('/admin', adminRoutes);
|
| 41 |
app.use('/user', userRoutes);
|
| 42 |
app.use('/investment', investmentRoutes);
|
|
|
|
| 43 |
|
| 44 |
// Serve KYC documents (admin access only)
|
| 45 |
app.get('/admin/kyc-document/:id', async (req, res) => {
|
| 46 |
try {
|
|
|
|
| 47 |
const [doc] = await require('./config/db').query('SELECT file_path FROM kyc_documents WHERE id = ?', [req.params.id]);
|
| 48 |
if (!doc.length) return res.status(404).send('Document not found');
|
| 49 |
res.sendFile(path.resolve(doc[0].file_path));
|
| 50 |
} catch (error) {
|
|
|
|
| 51 |
res.status(500).send('Error retrieving document');
|
| 52 |
}
|
| 53 |
});
|
| 54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
// Error handling
|
| 56 |
app.use((err, req, res, next) => {
|
| 57 |
-
console.error(err.stack);
|
| 58 |
res.status(500).send('Something went wrong!');
|
| 59 |
});
|
| 60 |
|
| 61 |
-
const PORT = process.env.PORT ||
|
| 62 |
-
app.listen(PORT, () =>
|
|
|
|
|
|
|
|
|
| 9 |
|
| 10 |
const app = express();
|
| 11 |
|
| 12 |
+
console.log('Starting server...');
|
| 13 |
+
|
| 14 |
// Set view engine
|
| 15 |
app.set('view engine', 'ejs');
|
| 16 |
app.set('views', path.join(__dirname, 'public/views'));
|
|
|
|
| 23 |
resave: false,
|
| 24 |
saveUninitialized: false
|
| 25 |
}));
|
| 26 |
+
console.log('Session middleware configured');
|
| 27 |
|
| 28 |
// Multer setup for file uploads
|
| 29 |
const storage = multer.diskStorage({
|
| 30 |
+
destination: (req, file, cb) => {
|
| 31 |
+
console.log('Setting up multer destination');
|
| 32 |
+
cb(null, 'kyc_uploads/');
|
| 33 |
+
},
|
| 34 |
+
filename: (req, file, cb) => {
|
| 35 |
+
console.log(`Uploading file: ${file.originalname}`);
|
| 36 |
+
cb(null, `${Date.now()}-${file.originalname}`);
|
| 37 |
+
}
|
| 38 |
});
|
| 39 |
const upload = multer({ storage });
|
| 40 |
app.use('/user/kyc', upload.fields([
|
|
|
|
| 43 |
{ name: 'selfie_doc', maxCount: 1 },
|
| 44 |
{ name: 'ssn_doc', maxCount: 1 }
|
| 45 |
]));
|
| 46 |
+
console.log('Multer middleware configured');
|
| 47 |
|
| 48 |
// Routes
|
| 49 |
app.use('/', authRoutes);
|
| 50 |
app.use('/admin', adminRoutes);
|
| 51 |
app.use('/user', userRoutes);
|
| 52 |
app.use('/investment', investmentRoutes);
|
| 53 |
+
console.log('Routes configured');
|
| 54 |
|
| 55 |
// Serve KYC documents (admin access only)
|
| 56 |
app.get('/admin/kyc-document/:id', async (req, res) => {
|
| 57 |
try {
|
| 58 |
+
console.log(`Serving KYC document ID: ${req.params.id}`);
|
| 59 |
const [doc] = await require('./config/db').query('SELECT file_path FROM kyc_documents WHERE id = ?', [req.params.id]);
|
| 60 |
if (!doc.length) return res.status(404).send('Document not found');
|
| 61 |
res.sendFile(path.resolve(doc[0].file_path));
|
| 62 |
} catch (error) {
|
| 63 |
+
console.error('Error serving KYC document:', error);
|
| 64 |
res.status(500).send('Error retrieving document');
|
| 65 |
}
|
| 66 |
});
|
| 67 |
|
| 68 |
+
// Health check endpoint
|
| 69 |
+
app.get('/health', (req, res) => {
|
| 70 |
+
console.log('Health check requested');
|
| 71 |
+
res.status(200).send('OK');
|
| 72 |
+
});
|
| 73 |
+
|
| 74 |
// Error handling
|
| 75 |
app.use((err, req, res, next) => {
|
| 76 |
+
console.error('Server error:', err.stack);
|
| 77 |
res.status(500).send('Something went wrong!');
|
| 78 |
});
|
| 79 |
|
| 80 |
+
const PORT = process.env.PORT || 7860;
|
| 81 |
+
app.listen(PORT, () => {
|
| 82 |
+
console.log(`Server running on port ${PORT}`);
|
| 83 |
+
});
|