From 72d0e3265b4a737299346ce461b96de5889da8eb Mon Sep 17 00:00:00 2001 From: Rakib Ansary Date: Thu, 17 Mar 2022 14:32:02 +0600 Subject: [PATCH] feat: return group uuid --- src/controllers/GroupMembershipController.js | 2 +- src/services/GroupMembershipService.js | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/controllers/GroupMembershipController.js b/src/controllers/GroupMembershipController.js index 62d505e..36d77c7 100644 --- a/src/controllers/GroupMembershipController.js +++ b/src/controllers/GroupMembershipController.js @@ -88,7 +88,7 @@ async function listGroupsMemberCount (req, res) { * @param res the response */ async function getMemberGroups (req, res) { - const result = await service.getMemberGroups(req.params.memberId) + const result = await service.getMemberGroups(req.params.memberId, req.query) helper.setResHeaders(req, res, result) res.send(result) } diff --git a/src/services/GroupMembershipService.js b/src/services/GroupMembershipService.js index b66d2c8..323e439 100644 --- a/src/services/GroupMembershipService.js +++ b/src/services/GroupMembershipService.js @@ -540,11 +540,12 @@ listGroupsMemberCount.schema = { * @param {Object} query the search criteria * @returns {Object} the search result */ -async function getMemberGroups (memberId) { +async function getMemberGroups (memberId, query) { const session = helper.createDBSession() try { + const returnUuid = query.uuid const res = await session.run( - `MATCH (g:Group)-[r:GroupContains*1..]->(o {id: "${memberId}"}) WHERE exists(g.oldId) AND g.status = '${constants.GroupStatus.Active}' RETURN g.oldId order by g.oldId` + `MATCH (g:Group)-[r:GroupContains*1..]->(o {id: "${memberId}"}) WHERE exists(g.oldId) AND g.status = '${constants.GroupStatus.Active}' RETURN ${returnUuid ? 'g.id order by g.id' : 'g.oldId order by g.oldId'}` ) return _.uniq(_.map(res.records, (record) => record.get(0))) @@ -558,7 +559,10 @@ async function getMemberGroups (memberId) { } getMemberGroups.schema = { - memberId: Joi.id() + memberId: Joi.id(), + query: Joi.object().keys({ + uuid: Joi.boolean().default(false) + }) } module.exports = {