-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathapp.js
More file actions
75 lines (64 loc) · 2.13 KB
/
app.js
File metadata and controls
75 lines (64 loc) · 2.13 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
const helmet = require('helmet');
const compression = require('compression');
const error = require('./api/middleware/error');
const express = require('express');
const cors = require('cors');
const mongoose = require('mongoose');
const multer = require('multer');
const upl = multer();
const { upload } = require('./api/middleware/upload');
require('dotenv').config();
require('./errorLogging')();
const app = express();
const userCompany = require('./api/routes/userCompany');
const users = require('./api/routes/users');
const login = require('./api/routes/login');
const visitRoutes = require('./api/routes/adoptionVisit');
const payment = require('./api/routes/payments');
const volunteerForms = require('./api/routes/volunteerForms');
const animalRouter = require('./api/routes/animals');
const postForm = require('./api/routes/postRoutes');
const adoptionForms = require('./api/routes/adoptionFormRoutes');
mongoose.set('useUnifiedTopology', true);
mongoose
.connect(process.env.MONGODB_URI,
{
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
}
)
.then(() => {
console.log('Connected to Atlas MongoDB');
})
.catch((error) => {
console.log('Connection failed', error);
});
if (!process.env.SCHRONISKO_JWT_PRIVATE_KEY) {
console.error('FATAL ERROR: Brak klucza prywatnego JWT.');
process.exit(1);
}
app.use(helmet());
app.use(compression());
//necessary for parsing multipart/form-data
app.use(upload.single('image') || upl.array());
app.use(cors());
app.use(express.json());
app.use('/api/users', users);
app.use('/api/usersCompany', userCompany);
app.use('/api/login', login);
app.use('/api/visits', visitRoutes)
app.use('/api/payments', payment);
app.use('/api/volunteerForms', volunteerForms);
app.use('/api/animals', animalRouter);
app.use('/api/posts/', postForm)
app.use('/api/adoptionforms', adoptionForms);
app.use(express.static('uploads'));
//handles query on non-existent route
app.use((req, res, next) => {
const error = new Error('STRONA O PODANYM ADRESIE NIE ISTNIEJE');
res.status(404).send({error: error.message});
next(error);
});
app.use(error);
module.exports = app;