|
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