11import type { Octokit } from 'octokit' ;
22import { App } from 'octokit' ;
3- import { logger , type Env } from './util.js' ;
3+ import { logger , type Env , type IssueCommentCreatedData , type IssueCommentEditedData } from './util.js' ;
44
55async function isPRGreen ( octokit : Octokit , owner : string , repo : string , pullNumber : number ) : Promise < boolean > {
66 // First, get the PR data to get the head SHA
@@ -73,12 +73,11 @@ export function getApp(env: Env) {
7373 logger . error ( { err } , 'Webhook error' ) ;
7474 } ) ;
7575
76- // TODO: Swap to create for prod
77- app . webhooks . on ( 'issue_comment.edited' , async ( data ) => {
78- logger . debug ( 'in comment edit' ) ;
76+ const commentHandler = async ( data : IssueCommentCreatedData | IssueCommentEditedData ) => {
77+ logger . debug ( 'in comment handler' ) ;
7978
80- if ( ! data . payload . comment . body . startsWith ( 'pack this' ) ) {
81- logger . debug ( ` Comment does not start with ' pack this': ${ data . payload . comment . body } ` ) ;
79+ if ( ! data . payload . comment . body . startsWith ( '@discord-js-bot pack this' ) ) {
80+ logger . debug ( { body : data . payload . comment . body } , ' Comment does not start with "@discord-js-bot pack this"' ) ;
8281 return ;
8382 }
8483
@@ -94,7 +93,7 @@ export function getApp(env: Env) {
9493
9594 const {
9695 data : { permission } ,
97- } = await data . octokit . rest . repos . getCollaboratorPermissionLevel ( {
96+ } = await app . octokit . rest . repos . getCollaboratorPermissionLevel ( {
9897 owner : data . payload . repository . owner . login ,
9998 repo : data . payload . repository . name ,
10099 username : data . payload . comment . user . login ,
@@ -107,7 +106,7 @@ export function getApp(env: Env) {
107106
108107 if (
109108 ! ( await isPRGreen (
110- data . octokit ,
109+ app . octokit ,
111110 data . payload . repository . owner . login ,
112111 data . payload . repository . name ,
113112 data . payload . issue . number ,
@@ -117,9 +116,10 @@ export function getApp(env: Env) {
117116 }
118117
119118 logger . debug ( 'Beginning the pack process...' ) ;
119+ } ;
120120
121- // TODO: Invoke workflow
122- } ) ;
121+ app . webhooks . on ( 'issue_comment.created' , commentHandler ) ;
122+ app . webhooks . on ( 'issue_comment.edited' , commentHandler ) ;
123123
124124 return app ;
125125}
0 commit comments