Skip to content

Commit 01ac190

Browse files
handle driver connection
1 parent 916611a commit 01ac190

File tree

4 files changed

+19
-5
lines changed

4 files changed

+19
-5
lines changed

app.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const HttpStatus = require('http-status-codes')
1414
const morgan = require('morgan')
1515
const swaggerUi = require('swagger-ui-express')
1616
const YAML = require('yamljs')
17+
const { closeDB } = require('./src/common/helper')
1718

1819
const swaggerDocument = YAML.load('./docs/swagger.yml')
1920
// setup express app
@@ -66,6 +67,12 @@ app.use((err, req, res, next) => {
6667
res.status(status).json(errorResponse)
6768
})
6869

69-
app.listen(app.get('port'), () => {
70+
const server = app.listen(app.get('port'), () => {
7071
logger.info(`Express server listening on port ${app.get('port')}`)
7172
})
73+
74+
server.close(async (error) => {
75+
await closeDB()
76+
logger.info('server closed')
77+
process.exit(error ? 1 : 0)
78+
})

src/common/helper.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,13 @@ function createDBSession () {
6363
return driver.session()
6464
}
6565

66+
/**
67+
* Close driver connection once the app exit
68+
*/
69+
async function closeDB () {
70+
await driver.close()
71+
}
72+
6673
/**
6774
* Ensure entity exists. Throw error if not exist.
6875
* @param {Object} session the db session
@@ -382,6 +389,7 @@ module.exports = {
382389
wrapExpress,
383390
autoWrapExpress,
384391
createDBSession,
392+
closeDB,
385393
ensureExists,
386394
ensureGroupMember,
387395
getChildGroups,

src/controllers/GroupMembershipController.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,11 @@ async function getMemberGroups (req, res) {
9898
* @param {*} req
9999
* @param {*} res
100100
*/
101-
async function groupValidityCheck(req, res) {
101+
async function groupValidityCheck (req, res) {
102102
const result = await service.groupValidityCheck(req.params.memberId, req.params.groupId)
103103
res.send(result)
104104
}
105105

106-
107106
module.exports = {
108107
getGroupMembers,
109108
addGroupMember,

src/services/GroupMembershipService.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,7 @@ getMemberGroups.schema = {
565565
})
566566
}
567567

568-
async function groupValidityCheck(memberId, groupId) {
568+
async function groupValidityCheck (memberId, groupId) {
569569
const session = helper.createDBSession()
570570
try {
571571
const res = await session.run(
@@ -574,7 +574,7 @@ async function groupValidityCheck(memberId, groupId) {
574574

575575
const validOrNot = _.includes(_.uniq(_.map(res.records, (record) => record.get(0))), groupId)
576576

577-
return {"check": validOrNot}
577+
return { check: validOrNot }
578578
} catch (error) {
579579
logger.error(error)
580580
throw error

0 commit comments

Comments
 (0)