@@ -52,6 +52,8 @@ export class GitHub {
5252 authSet = false ;
5353 tmpPrefix = "gh-" ;
5454 authToken : string = "" ;
55+ owner = "mendix" ;
56+ repo = "web-widgets" ;
5557
5658 async ensureAuth ( ) : Promise < void > {
5759 if ( ! this . authSet ) {
@@ -140,7 +142,7 @@ export class GitHub {
140142 const release =
141143 ( await fetch < { id : string } > (
142144 "GET" ,
143- `https://api.github.com/repos/mendix/web-widgets /releases/tags/${ releaseTag } ` ,
145+ `https://api.github.com/repos/${ this . owner } / ${ this . repo } /releases/tags/${ releaseTag } ` ,
144146 undefined ,
145147 { ...this . ghAPIHeaders }
146148 ) ) ?? [ ] ;
@@ -171,7 +173,7 @@ export class GitHub {
171173 name : string ;
172174 browser_download_url : string ;
173175 } >
174- > ( "GET" , `https://api.github.com/repos/mendix/web-widgets /releases/${ releaseId } /assets` , undefined , {
176+ > ( "GET" , `https://api.github.com/repos/${ this . owner } / ${ this . repo } /releases/${ releaseId } /assets` , undefined , {
175177 ...this . ghAPIHeaders
176178 } ) ;
177179 }
@@ -188,10 +190,10 @@ export class GitHub {
188190 return downloadUrl ;
189191 }
190192
191- async getDraftReleases ( owner = "mendix" , repo = "web-widgets" ) : Promise < GitHubDraftRelease [ ] > {
193+ async getDraftReleases ( ) : Promise < GitHubDraftRelease [ ] > {
192194 const releases = await fetch < GitHubDraftRelease [ ] > (
193195 "GET" ,
194- `https://api.github.com/repos/${ owner } /${ repo } /releases` ,
196+ `https://api.github.com/repos/${ this . owner } /${ this . repo } /releases` ,
195197 undefined ,
196198 {
197199 ...this . ghAPIHeaders
@@ -202,15 +204,10 @@ export class GitHub {
202204 return releases . filter ( release => release . draft ) ;
203205 }
204206
205- async downloadReleaseAsset (
206- assetId : string ,
207- destinationPath : string ,
208- owner = "mendix" ,
209- repo = "web-widgets"
210- ) : Promise < void > {
207+ async downloadReleaseAsset ( assetId : string , destinationPath : string ) : Promise < void > {
211208 await this . ensureAuth ( ) ;
212209
213- const url = `https://api.github.com/repos/${ owner } /${ repo } /releases/assets/${ assetId } ` ;
210+ const url = `https://api.github.com/repos/${ this . owner } /${ this . repo } /releases/assets/${ assetId } ` ;
214211
215212 try {
216213 const response = await nodefetch ( url , {
@@ -256,14 +253,14 @@ export class GitHub {
256253 } ) : Promise < void > {
257254 await this . ensureAuth ( ) ;
258255
259- const { workflowId, ref, inputs, owner = "mendix" , repo = "web-widgets" } = params ;
256+ const { workflowId, ref, inputs } = params ;
260257
261258 // Convert inputs object to CLI parameters
262259 const inputParams = Object . entries ( inputs )
263260 . map ( ( [ key , value ] ) => `-f ${ key } =${ value } ` )
264261 . join ( " " ) ;
265262
266- const repoParam = `${ owner } /${ repo } ` ;
263+ const repoParam = `${ this . owner } /${ this . repo } ` ;
267264
268265 const command = [ `gh workflow run` , `"${ workflowId } "` , `--ref "${ ref } "` , inputParams , `-R "${ repoParam } "` ]
269266 . filter ( Boolean )
@@ -290,13 +287,16 @@ export class GitHub {
290287 /**
291288 * Delete a release asset by ID
292289 */
293- private async deleteReleaseAsset ( assetId : string , owner = "mendix" , repo = "web-widgets" ) : Promise < void > {
290+ async deleteReleaseAsset ( assetId : string ) : Promise < void > {
294291 await this . ensureAuth ( ) ;
295292
296- const response = await nodefetch ( `https://api.github.com/repos/${ owner } /${ repo } /releases/assets/${ assetId } ` , {
297- method : "DELETE" ,
298- headers : this . ghAPIHeaders
299- } ) ;
293+ const response = await nodefetch (
294+ `https://api.github.com/repos/${ this . owner } /${ this . repo } /releases/assets/${ assetId } ` ,
295+ {
296+ method : "DELETE" ,
297+ headers : this . ghAPIHeaders
298+ }
299+ ) ;
300300
301301 if ( ! response . ok ) {
302302 throw new Error ( `Failed to delete asset ${ assetId } : ${ response . status } ${ response . statusText } ` ) ;
@@ -306,19 +306,13 @@ export class GitHub {
306306 /**
307307 * Upload a new asset to a release
308308 */
309- private async uploadReleaseAsset (
310- releaseId : string ,
311- filePath : string ,
312- assetName : string ,
313- owner = "mendix" ,
314- repo = "web-widgets"
315- ) : Promise < GitHubReleaseAsset > {
309+ async uploadReleaseAsset ( releaseId : string , filePath : string , assetName : string ) : Promise < GitHubReleaseAsset > {
316310 await this . ensureAuth ( ) ;
317311
318312 // Get release info to get upload URL
319313 const release = await fetch < { upload_url : string } > (
320314 "GET" ,
321- `https://api.github.com/repos/${ owner } /${ repo } /releases/${ releaseId } ` ,
315+ `https://api.github.com/repos/${ this . owner } /${ this . repo } /releases/${ releaseId } ` ,
322316 undefined ,
323317 this . ghAPIHeaders
324318 ) ;
@@ -351,24 +345,6 @@ export class GitHub {
351345
352346 return asset ;
353347 }
354-
355- /**
356- * Update a release asset by replacing it with a new file.
357- */
358- async updateReleaseAsset (
359- releaseId : string ,
360- existingAsset : GitHubReleaseAsset ,
361- localFilePath : string ,
362- owner = "mendix" ,
363- repo = "web-widgets"
364- ) : Promise < GitHubReleaseAsset > {
365- await this . ensureAuth ( ) ;
366-
367- await this . deleteReleaseAsset ( existingAsset . id , owner , repo ) ;
368-
369- // Upload the new asset
370- return this . uploadReleaseAsset ( releaseId , localFilePath , existingAsset . name , owner , repo ) ;
371- }
372348}
373349
374350export const gh = new GitHub ( ) ;
0 commit comments