This repository was archived by the owner on Mar 13, 2025. It is now read-only.
File tree 2 files changed +49
-16
lines changed
2 files changed +49
-16
lines changed Original file line number Diff line number Diff line change
1
+ const _ = require ( 'lodash' ) ;
1
2
const logger = require ( './logger' ) ;
2
3
3
4
/*
@@ -47,6 +48,36 @@ async function scan(model, scanParams) {
47
48
} ) ;
48
49
}
49
50
51
+ /**
52
+ * Get single data by query parameters
53
+ * @param {Object } model The dynamoose model to query
54
+ * @param {Object } params The parameters object
55
+ * @returns {Promise<void> }
56
+ */
57
+ async function queryOne ( model , params ) {
58
+ logger . debug ( 'Enter queryOne.' ) ;
59
+
60
+ return await new Promise ( ( resolve , reject ) => {
61
+ const queryParams = { } ;
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 ) => {
69
+ if ( err ) {
70
+ logger . debug ( `queryOne. Error. ${ err } ` ) ;
71
+ return reject ( err ) ;
72
+ }
73
+ logger . debug ( 'queryOne. Result.' ) ;
74
+ logger . debug ( result ) ;
75
+
76
+ return resolve ( result ) ;
77
+ } ) ;
78
+ } ) ;
79
+ }
80
+
50
81
/**
51
82
* Get single data by scan parameters
52
83
* @param {Object } model The dynamoose model to scan
@@ -136,4 +167,5 @@ module.exports = {
136
167
create,
137
168
update,
138
169
remove,
170
+ queryOne
139
171
} ;
Original file line number Diff line number Diff line change @@ -238,22 +238,6 @@ async function recreate(issue, currentUser) {
238
238
} ,
239
239
} ;
240
240
241
- const dbIssue = await dbHelper . scanOne ( models . Issue , {
242
- number : issueNumber ,
243
- projectId : issue . projectId
244
- } ) ;
245
-
246
- if ( ! issue . recreate ) {
247
- if ( dbIssue ) dbIssue . delete ( ) ;
248
- return {
249
- success : true
250
- } ;
251
- }
252
-
253
- if ( ! dbIssue ) {
254
- createEvent . event = 'issue.created' ;
255
- }
256
-
257
241
const labels = [ ] ;
258
242
259
243
if ( provider === 'github' ) {
@@ -315,6 +299,23 @@ async function recreate(issue, currentUser) {
315
299
}
316
300
}
317
301
302
+ const dbIssue = await dbHelper . scanOne ( models . Issue , {
303
+ number : issueNumber ,
304
+ provider,
305
+ repositoryId : createEvent . data . repository . id
306
+ } ) ;
307
+
308
+ if ( ! issue . recreate ) {
309
+ if ( dbIssue ) dbIssue . delete ( ) ;
310
+ return {
311
+ success : true
312
+ } ;
313
+ }
314
+
315
+ if ( ! dbIssue ) {
316
+ createEvent . event = 'issue.created' ;
317
+ }
318
+
318
319
if ( labels . length > 0 ) {
319
320
createEvent . data . issue . labels = labels ;
320
321
}
You can’t perform that action at this time.
0 commit comments