Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 1675247

Browse files
authored
Merge pull request #262 from afrisalyp/issue-256
Fix query issue.
2 parents d2cf9f9 + 85c7ec8 commit 1675247

File tree

2 files changed

+18
-17
lines changed

2 files changed

+18
-17
lines changed

src/common/db-helper.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
const _ = require('lodash');
21
const logger = require('./logger');
32

43
/*
@@ -51,29 +50,32 @@ async function scan(model, scanParams) {
5150
/**
5251
* Get single data by query parameters
5352
* @param {Object} model The dynamoose model to query
54-
* @param {Object} params The parameters object
53+
* @param {String} repositoryId The repository id to query
54+
* @param {Number} number The number id to query
55+
* @param {String} provider The provider id to query
5556
* @returns {Promise<void>}
5657
*/
57-
async function queryOne(model, params) {
58+
async function queryOneIssue(model, repositoryId, number, provider) {
5859
logger.debug('Enter queryOne.');
5960

6061
return await new Promise((resolve, reject) => {
61-
const queryParams = {};
6262

63-
_.forOwn(params, (value, key) => {
64-
queryParams[key] = {eq: value};
65-
});
66-
67-
logger.debug(`${JSON.stringify(queryParams)}`);
68-
model.queryOne(queryParams).exec((err, result) => {
63+
logger.debug(`repositoryId : ${repositoryId}`);
64+
logger.debug(`number : ${number}`);
65+
logger.debug(`provider : ${provider}`);
66+
model.query('repositoryId').eq(repositoryId)
67+
.filter('number').eq(number)
68+
.filter('provider').eq(provider)
69+
.all()
70+
.exec((err, result) => {
6971
if (err) {
7072
logger.debug(`queryOne. Error. ${err}`);
7173
return reject(err);
7274
}
7375
logger.debug('queryOne. Result.');
7476
logger.debug(result);
7577

76-
return resolve(result);
78+
return resolve(result.count === 0 ? null : result[0]);
7779
});
7880
});
7981
}
@@ -167,5 +169,5 @@ module.exports = {
167169
create,
168170
update,
169171
remove,
170-
queryOne
172+
queryOneIssue
171173
};

src/services/IssueService.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -299,11 +299,10 @@ async function recreate(issue, currentUser) {
299299
}
300300
}
301301

302-
const dbIssue = await dbHelper.scanOne(models.Issue, {
303-
number: issueNumber,
304-
provider,
305-
repositoryId: createEvent.data.repository.id
306-
});
302+
const dbIssue = await dbHelper.queryOneIssue(models.Issue,
303+
createEvent.data.repository.id,
304+
issueNumber,
305+
provider);
307306

308307
if (!issue.recreate) {
309308
if (dbIssue) dbIssue.delete();

0 commit comments

Comments
 (0)