Repository navigation
Expand file tree
/
Copy pathserver.js
More file actions
98 lines (86 loc) · 2.58 KB
/
Copy pathserver.js
File metadata and controls
98 lines (86 loc) · 2.58 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import express from 'express';
import path from 'path';
import mongoose from 'mongoose';
import dotenv from 'dotenv';
import cors from 'cors';
import helmet from 'helmet';
import seedRouter from './routes/seedRoutes.js';
import productRouter from './routes/productRoutes.js';
import userRouter from './routes/userRoutes.js';
import orderRouter from './routes/orderRoutes.js';
import uploadRouter from './routes/uploadRoutes.js';
import reportRouter from './routes/reportRoutes.js';
dotenv.config();
mongoose.set('strictQuery', false);
const connectionString = process.env.MONGODB_URI;
const connectDb = async () => {
try {
await mongoose.connect(connectionString, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
const db = mongoose.connection;
db.on('error', console.log);
} catch (error) {
console.error(error.message);
}
};
const app = express();
app.disable('x-powered-by');
app.disable('x-powered-by');
app.use(function (req, res, next) {
res.removeHeader('x-powered-by');
res.removeHeader('set-cookie');
res.removeHeader('Date');
res.removeHeader('Connection');
next();
});
app.use(cors());
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.get('/db/keys/paypal', (req, res) => {
res.send(process.env.PAYPAL_CLIENT_ID || 'sb');
});
app.get('/db/keys/google', (req, res) => {
res.send({ key: process.env.GOOGLE_API_KEY || '' });
});
app.use('/db/upload', uploadRouter);
app.use('/db/seed', seedRouter);
app.use('/db/products', productRouter);
app.use('/db/users', userRouter);
app.use('/db/orders', orderRouter);
app.use('/db/reports', reportRouter);
app.use((err, req, res, next) => {
const errorStatus = err.status || 500;
const errorMessage = err.message || 'Something went wrong';
return res.status(errorStatus).json({
successful: false,
status: errorStatus,
message: errorMessage,
stack: err.stack,
});
});
// const __dirname = path.resolve();
// app.use(express.static(path.join(__dirname, "../client/build")));
app.get(
'*',
(req, res) =>
// res.json(dbinfo)
// res.setHeader('Content-Type', 'text/html');
res.send(
'<html><head><title>Hello, World!</title></head><body><h1>Hello, World! - Furniture store</body></html>'
)
// return;
);
// app.get('*', (req, res) =>
// res.sendFile(path.join(__dirname, "../client/index.html"))
// // res.json(dbinfo)
// );
connectDb();
app.use((err, req, res, next) => {
res.status(500).send({ message: err.message });
});
const port = process.env.PORT || 4000;
app.listen(port, () => {
console.log(`...Listening on port ${port}`);
});