|
1 | | -const _ = require('lodash'); |
2 | 1 | const logger = require('./logger'); |
3 | 2 |
|
4 | 3 | /* |
@@ -51,29 +50,32 @@ async function scan(model, scanParams) { |
51 | 50 | /** |
52 | 51 | * Get single data by query parameters |
53 | 52 | * @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 |
55 | 56 | * @returns {Promise<void>} |
56 | 57 | */ |
57 | | -async function queryOne(model, params) { |
| 58 | +async function queryOneIssue(model, repositoryId, number, provider) { |
58 | 59 | logger.debug('Enter queryOne.'); |
59 | 60 |
|
60 | 61 | return await new Promise((resolve, reject) => { |
61 | | - const queryParams = {}; |
62 | 62 |
|
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) => { |
69 | 71 | if (err) { |
70 | 72 | logger.debug(`queryOne. Error. ${err}`); |
71 | 73 | return reject(err); |
72 | 74 | } |
73 | 75 | logger.debug('queryOne. Result.'); |
74 | 76 | logger.debug(result); |
75 | 77 |
|
76 | | - return resolve(result); |
| 78 | + return resolve(result.count === 0 ? null : result[0]); |
77 | 79 | }); |
78 | 80 | }); |
79 | 81 | } |
@@ -167,5 +169,5 @@ module.exports = { |
167 | 169 | create, |
168 | 170 | update, |
169 | 171 | remove, |
170 | | - queryOne |
| 172 | + queryOneIssue |
171 | 173 | }; |
0 commit comments