From 561193b1a93a1295c3151a65dcc92f780da8fdae Mon Sep 17 00:00:00 2001 From: Afrisal Yodi Purnama Date: Fri, 13 Dec 2019 10:17:21 +0700 Subject: [PATCH] Handle broken user assignment. Handle get tc username with no criteria. --- services/IssueService.js | 5 +++++ services/UserService.js | 3 +++ 2 files changed, 8 insertions(+) diff --git a/services/IssueService.js b/services/IssueService.js index 85c2ae1..0cc1f92 100755 --- a/services/IssueService.js +++ b/services/IssueService.js @@ -658,6 +658,11 @@ async function handleIssueUnAssignment(event, issue) { if (dbIssue.assignee) { const assigneeUserId = gitHelper.getUserIdByLogin(event, dbIssue.assignee); + if (!assigneeUserId) { + // The assignement of this user was failed and broken. + // We don't need to handle the unassignment. + return; + } logger.debug(`Looking up TC handle of git user: ${assigneeUserId}`); const userMapping = await userService.getTCUserName(event.provider, assigneeUserId); diff --git a/services/UserService.js b/services/UserService.js index 15bdaf2..19e634a 100755 --- a/services/UserService.js +++ b/services/UserService.js @@ -39,6 +39,9 @@ async function getTCUserName(provider, gitUser) { criteria.gitlabUsername = gitUser; } } + if (_.isEmpty(criteria)) { + throw new Error('Can\'t find the TCUserName. Invalid gitUser.'); + } return await dbHelper.scanOne(models.UserMapping, criteria); }