@@ -4,6 +4,35 @@ exports.handleIssueComment = void 0;
44const tslib_1 = require ( "tslib" ) ;
55const constants_1 = require ( "./constants" ) ;
66const markdown_1 = require ( "./utils/markdown" ) ;
7+ function removeIssueSummary ( client , data ) {
8+ return tslib_1 . __awaiter ( this , void 0 , void 0 , function * ( ) {
9+ if ( data . issueNumber && data . persist . workflow . userId ) {
10+ const comments = yield client . issues . listComments ( {
11+ owner : constants_1 . OWNER ,
12+ repo : constants_1 . REPO ,
13+ issue_number : data . issueNumber ,
14+ } ) ;
15+ yield Promise . all ( comments . data . reduce ( ( arr , comment ) => {
16+ if ( comment . user . id === data . persist . workflow . userId ) {
17+ arr . push ( client . issues . deleteComment ( {
18+ owner : constants_1 . OWNER ,
19+ repo : constants_1 . REPO ,
20+ comment_id : comment . id ,
21+ } ) ) ;
22+ }
23+ return arr ;
24+ } , [ ] ) ) ;
25+ }
26+ else if ( data . persist . issue . summaryId ) {
27+ yield client . issues . deleteComment ( {
28+ owner : constants_1 . OWNER ,
29+ repo : constants_1 . REPO ,
30+ comment_id : data . persist . issue . summaryId ,
31+ } ) ;
32+ }
33+ data . persist . issue . summaryId = undefined ;
34+ } ) ;
35+ }
736function handleIssueComment ( client , data ) {
837 return tslib_1 . __awaiter ( this , void 0 , void 0 , function * ( ) {
938 const { state } = data ;
@@ -14,21 +43,19 @@ function handleIssueComment(client, data) {
1443 state . fixableErrorCount > 0 ||
1544 state . fixableWarningCount > 0 ) {
1645 if ( data . persist . issue . summaryId && data . issueSummaryMethod === 'edit' ) {
17- yield client . issues . updateComment ( {
46+ const result = yield client . issues . updateComment ( {
1847 owner : constants_1 . OWNER ,
1948 repo : constants_1 . REPO ,
2049 comment_id : data . persist . issue . summaryId ,
2150 body : markdown_1 . getResultMarkdownBody ( data ) ,
2251 } ) ;
52+ if ( ! data . persist . workflow . userId ) {
53+ data . persist . workflow . userId = result . data . user . id ;
54+ }
2355 }
2456 else if ( data . persist . issue . summaryId &&
2557 data . issueSummaryMethod === 'refresh' ) {
26- yield client . issues . deleteComment ( {
27- owner : constants_1 . OWNER ,
28- repo : constants_1 . REPO ,
29- comment_id : data . persist . issue . summaryId ,
30- } ) ;
31- data . persist . issue . summaryId = undefined ;
58+ yield removeIssueSummary ( client , data ) ;
3259 }
3360 if ( ! data . persist . issue . summaryId ) {
3461 const commentResult = yield client . issues . createComment ( {
@@ -38,9 +65,12 @@ function handleIssueComment(client, data) {
3865 body : markdown_1 . getResultMarkdownBody ( data ) ,
3966 } ) ;
4067 data . persist . issue . summaryId = commentResult . data . id ;
41- data . persist . action . userId = commentResult . data . user . id ;
68+ data . persist . workflow . userId = commentResult . data . user . id ;
4269 }
4370 }
71+ else if ( data . issueSummaryOnlyOnEvent && data . persist . issue . summaryId ) {
72+ yield removeIssueSummary ( client , data ) ;
73+ }
4474 }
4575 } ) ;
4676}
0 commit comments