diff --git a/services/GithubService.js b/services/GithubService.js index 6f2eafe..87e8713 100644 --- a/services/GithubService.js +++ b/services/GithubService.js @@ -43,7 +43,7 @@ function _parseRepoUrl(fullName) { /** * authenticate the github using access token * @param {String} accessToken the access token of copilot - * @returns {Object} the github instance + * @returns {Promise} the github instance * @private */ async function _authenticate(accessToken) { @@ -82,7 +82,7 @@ async function _removeAssignees(github, owner, repo, number, assignees) { /** * gets the username of given user id * @param {Number} id the user id - * @returns {string} username if found + * @returns {Promise} username if found */ async function _getUsernameById(id) { const user = await request @@ -211,7 +211,7 @@ createComment.schema = { * Gets the user name by user id * @param {Object} copilot the copilot * @param {Number} userId the user id - * @returns {string} the username if found else null + * @returns {Promise} the username if found else null */ async function getUsernameById(copilot, userId) { Joi.attempt({copilot, userId}, getUsernameById.schema); @@ -228,7 +228,7 @@ getUsernameById.schema = { * Gets the user id by username * @param {Object} copilot the copilot * @param {string} login the username - * @returns {Number} the user id if found else null + * @returns {Promise} the user id if found else null */ async function getUserIdByLogin(copilot, login) { Joi.attempt({copilot, login}, getUserIdByLogin.schema); diff --git a/services/GitlabService.js b/services/GitlabService.js index 57e6307..8dd94db 100644 --- a/services/GitlabService.js +++ b/services/GitlabService.js @@ -287,7 +287,7 @@ class GitlabService { /** * Gets the user name by user id * @param {Number} userId the user id - * @returns {string} the username if found else null + * @returns {Promise} the username if found else null */ async getUsernameById(userId) { Joi.attempt({userId}, {userId: Joi.number().required()}); @@ -298,7 +298,7 @@ class GitlabService { /** * Gets the user id by username * @param {String} login the username - * @returns {Number} the user id if found else null + * @returns {Promise} the user id if found else null */ async getUserIdByLogin(login) { Joi.attempt({login}, {login: Joi.string().required()}); diff --git a/utils/git-helper.js b/utils/git-helper.js index cc53626..2c90631 100644 --- a/utils/git-helper.js +++ b/utils/git-helper.js @@ -13,7 +13,7 @@ const config = require('config'); const gitHubService = require('../services/GithubService'); -const gitlabService = require('../services/GitlabService'); +const GitlabService = require('../services/GitlabService'); const azureService = require('../services/AzureService'); class GitHelper { @@ -27,6 +27,7 @@ class GitHelper { if (event.provider === 'github') { await gitHubService.createComment(event.copilot, event.data.repository.full_name, issueNumber, comment); } else if (event.provider === 'gitlab') { + const gitlabService = await GitlabService.create(event.copilot); await gitlabService.createComment(event.copilot, event.data.repository, issueNumber, comment); } } @@ -41,6 +42,7 @@ class GitHelper { if (event.provider === 'github') { await gitHubService.addLabels(event.copilot, event.data.repository.full_name, issueNumber, labels); } else if (event.provider === 'gitlab') { + const gitlabService = await GitlabService.create(event.copilot); await gitlabService.addLabels(event.copilot, event.data.repository, issueNumber, labels); } } @@ -54,6 +56,7 @@ class GitHelper { if (event.provider === 'github') { await gitHubService.changeState(event.copilot, event.data.repository.full_name, issue.number, 'open'); } else if (event.provider === 'gitlab') { + const gitlabService = await GitlabService.create(event.copilot); await gitlabService.changeState(event.copilot, event.data.repository, issue.number, 'reopen'); } } @@ -68,6 +71,7 @@ class GitHelper { if (event.provider === 'github') { return await gitHubService.getUsernameById(event.copilot, assigneeUserId); } else if (event.provider === 'gitlab') { + const gitlabService = await GitlabService.create(event.copilot); return await gitlabService.getUsernameById(event.copilot, assigneeUserId); } return null; @@ -84,6 +88,7 @@ class GitHelper { if (event.provider === 'github') { await gitHubService.removeAssign(event.copilot, event.data.repository.full_name, issueNumber, assigneeUsername); } else if (event.provider === 'gitlab') { + const gitlabService = await GitlabService.create(event.copilot); await gitlabService.removeAssign(event.copilot, event.data.repository, issueNumber, assigneeUserId); } } @@ -98,6 +103,7 @@ class GitHelper { if (event.provider === 'github') { await gitHubService.updateIssue(event.copilot, event.data.repository.full_name, issueNumber, newTitle); } else if (event.provider === 'gitlab') { + const gitlabService = await GitlabService.create(event.copilot); await gitlabService.updateIssue(event.copilot, event.data.repository, issueNumber, newTitle); } } @@ -112,6 +118,7 @@ class GitHelper { if (event.provider === 'github') { await gitHubService.assignUser(event.copilot, event.data.repository.full_name, issueNumber, assignedUser); } else if (event.provider === 'gitlab') { + const gitlabService = await GitlabService.create(event.copilot); const userId = await gitlabService.getUserIdByLogin(event.copilot, assignedUser); await gitlabService.assignUser(event.copilot, event.data.repository, issueNumber, userId); } @@ -131,6 +138,7 @@ class GitHelper { await gitHubService.markIssueAsPaid(event.copilot, event.data.repository.full_name, issueNumber, challengeUUID, existLabels, winner, createCopilotPayments); } else if (event.provider === 'gitlab') { + const gitlabService = await GitlabService.create(event.copilot); await gitlabService.markIssueAsPaid(event.copilot, event.data.repository, issueNumber, challengeUUID, existLabels, winner, createCopilotPayments); } else if (event.provider === 'azure') { @@ -139,7 +147,7 @@ class GitHelper { } /** - * Retruns repository full url + * Returns repository full url * @param {Object} event the event * @returns {String} the repository full url */ @@ -162,6 +170,7 @@ class GitHelper { if (event.provider === 'github') { return await gitHubService.getUserIdByLogin(event.copilot, assignee); } else if (event.provider === 'gitlab') { + const gitlabService = await GitlabService.create(event.copilot); return gitlabService.getUserIdByLogin(event.copilot, assignee); } return null;