-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
65 lines (54 loc) · 1.7 KB
/
index.js
File metadata and controls
65 lines (54 loc) · 1.7 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
const express = require("express");
const cors = require("cors");
const app = express();
const bodyParser = require('body-parser');
const swagger = require('swagger-ui-express')
const documentation = require('./swagger.json')
const { notFound, internalServerError } = require('./helpers/errorHandle.js')
const mongoose = require("mongoose").set('debug', true);
var morgan = require("morgan");
const indexRoutes = require('./routes')
require('dotenv').config()
mongoose.set('useFindAndModify', false)
const env = process.env.NODE_ENV;
const dbConnectionString = {
development: process.env.DB_CONNECTION,
test: process.env.DB_CONNECTION_TEST,
staging: process.env.DB_CONNECTION_STAGING,
production: process.env.DB_CONNECTION_PRODUCTION
};
console.log(dbConnectionString[env]);
app.use(morgan("tiny"));
mongoose
.connect(dbConnectionString[env], {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true
})
.then(() => console.log("Database connected!"))
.catch(err => console.log(err));
app.set('view engine', 'pug')
app.use(bodyParser.json())
app.use(cors());
app.use(express.json());
app.use(express.static("public"));
app.get('/', (req, res) => {
res.status(200).json({
status: true,
data: 'Welcome to Buku Saku API'
})
})
app.use('/documentation', swagger.serve, swagger.setup(documentation))
app.get('/api/v1/user/resetPassword/:token', function (req, res) {
res.render('resetPassword', {url: req.originalUrl})
})
app.get('/user/confirmed', function (req, res) {
res.render('index')
})
app.get('/user/reset', function (req, res) {
res.render('reset')
})
app.use('/api/v1', indexRoutes);
app.use(notFound);
app.use(internalServerError);
module.exports = app;