forked from ignatiusgabrieltan/UltraLock-BACKEND
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
54 lines (44 loc) · 2.05 KB
/
index.js
File metadata and controls
54 lines (44 loc) · 2.05 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
//-----------Requires-----------//
const cors = require('cors');
const express = require('express');
require('dotenv').config();
//-----------Importing Controllers-----------//
const UsersController = require('./controllers/usersController');
const GroupAccountsController = require('./controllers/groupAccountsController');
const PwBookEntryController = require('./controllers/pwBookEntryController');
//-----------Importing Routers-----------//
const UsersRouter = require('./routers/usersRouter');
const GroupAccountsRouter = require('./routers/groupAccountsRouter');
const PwBookEntryRouter = require('./routers/pwBookEntryRouter');
//-----------Importing DB-----------//
const db = require('./db/models/index');
const { user, groupAccount, passwordbookEntries } = db;
//-----------Importing Middlewares-----------//
const jwtAuth = require('./middlewares/jwtAuth');
//-----------Initializing Controllers-----------//
const usersController = new UsersController(user, groupAccount);
const groupAccountsController = new GroupAccountsController(groupAccount);
const pwBookEntryController = new PwBookEntryController(passwordbookEntries);
//-----------Initializing Routers-----------//
const usersRouter = new UsersRouter(usersController, jwtAuth).routes();
const groupAccountsRouter = new GroupAccountsRouter(
groupAccountsController
).routes();
const pwBookEntryRouter = new PwBookEntryRouter(pwBookEntryController).routes();
const PORT = process.env.DB_PORT;
const app = express();
//-----------Enable CORS access to this server-----------//
const corsOptions = {
origin: ['http://localhost:3000', 'https://ultralock.netlify.app'],
optionsSuccessStatus: 200, // some legacy browsers (IE11, various SmartTVs) choke on 204
};
app.use(cors(corsOptions));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
//-----------Using the Routers-----------//
app.use('/user', usersRouter);
app.use('/groupaccount', groupAccountsRouter);
app.use('/pwbookentry', pwBookEntryRouter);
app.listen(PORT, () => {
console.log(`Express app listening on port ${PORT}!`);
});