-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
45 lines (40 loc) · 1.48 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const express = require('express');
const cors = require('cors');
const logger = require('morgan');
const app = express();
const mongoose = require('mongoose');
mongoose.connect(process.env.MONGO_URL, {
useNewUrlParser: true,
useUnifiedTopology: true
});
// Routes
const adminRouter = require('./routes/admin/admin.router');
const notificationRouter = require('./routes/notifications/notification.router');
const tenderRouter = require('./routes/tenders/tender.router');
const eventRouter = require('./routes/events/event.router');
// middlewares
app.use(cors({
origin: '*'
}));
// Serve static files from the "notification_images" directory
app.use('/notification_images', express.static('./www/static/notifications'));
app.use('/tender_images', express.static('./www/static/tenders'));
app.use('/event_images', express.static('./www/static/events'));
app.use(logger('dev'));
app.use(express.json());
app.use('/admin', adminRouter);
app.use('/admin/notifications', notificationRouter);
app.use('/admin/tenders', tenderRouter);
app.use('/admin/events', eventRouter);
app.get('/files/:filename', (req, res) => {
const filename = req.params.filename;
const bucket = new mongoose.mongo.GridFSBucket(mongoose.connection.db, {
bucketName: 'uploads', // Change this to your bucket name
});
const downloadStream = bucket.openDownloadStreamByName(filename);
downloadStream.pipe(res);
});
app.get('/', (req, res) => {
res.send('Server running');
});
module.exports = app;