-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
90 lines (74 loc) · 1.93 KB
/
app.js
File metadata and controls
90 lines (74 loc) · 1.93 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
require('./config/appConfig');
const express = require('express');
const bodyParser = require('body-parser');
const sequelize = require('./util/database');
const { notFound, convertError } = require('./middleware/errorMiddleware')
const Employee = require('./models/employees');
const Department = require('./models/departments');
const EmpDept = require('./models/employeeDepartment');
const Roles=require('./models/roles');
const EmpRole=require('./models/employeRole');
const empRoutes = require('./routes/employees');
const depRoutes = require('./routes/departments');
const loginRoute = require('./routes/login');
const rolesRoutes=require('./routes/roles');
/**
* Express instance
* @public
*/
const app = express();
// parse body params and attaches them to req.body
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
// API routes
app.use('/employees', empRoutes);
app.use('/departments', depRoutes);
app.use('/login', loginRoute);
app.use('/roles',rolesRoutes);
// Error Middlewares
app.use(notFound);
app.use(convertError);
// Employee.hasMany(EmpDept);
EmpDept.belongsTo(Employee, {
foreignKey: {
name: 'empId'
},
onDelete: 'CASCADE'
});
// Department.hasMany(EmpDept);
EmpDept.belongsTo(Department, {
foreignKey: {
name: 'deptId'
},
onDelete: 'CASCADE'
});
// Employee hasMany(EmpRoles)
EmpRole.belongsTo(Employee, {
foreignKey: {
name: 'empId'
},
onDelete: 'CASCADE'
});
// Roles.hasMany(EmpRole);
EmpRole.belongsTo(Roles, {
foreignKey: {
name: 'roleId',
},
onDelete: 'CASCADE',
})
// Employee.hasMany(EmpRole);
// EmpRole.belongsTo(Role, {
// foreignKey: {
// name: 'roleId',
// },
// onDelete: 'CASCADE',
// })
sequelize
.sync()
.then(result => {
console.log('Listening for requests at http://localhost:7001');
app.listen(7001);
})
.catch(err => {
console.log(err);
});