1+ import fs from "node:fs" ;
2+ import { basename , join } from "node:path" ;
3+ import { env } from "node:process" ;
4+ import { OpenAPI , RepositoriesService } from "@gitee/typescript-sdk-v5" ;
5+ import { globbySync } from "globby" ;
6+ import { ofetch } from "ofetch" ;
17import { ReleaseBase } from "./base.js" ;
28
39export default class Gitee extends ReleaseBase {
@@ -12,4 +18,43 @@ export default class Gitee extends ReleaseBase {
1218 repo,
1319 } ;
1420 }
21+
22+ private get token ( ) {
23+ if ( ! env . GITEE_TOKEN )
24+ throw new Error ( "No GITEE_TOKEN provided!" ) ;
25+ return env . GITEE_TOKEN ;
26+ }
27+
28+ // private getParams(params: object) {
29+ // return {
30+ // access_token: this.token,
31+ // ...this.remote,
32+ // ...params,
33+ // };
34+ // }
35+
36+ _fetch = ofetch . create ( { baseURL : "https://gitee.com/api/v5" , params : {
37+ access_token : this . token ,
38+ ...this . remote ,
39+ } } ) ;
40+
41+ /**
42+ * @see https://gitee.com/api/v5/swagger#/getV5ReposOwnerRepoReleasesTagsTag
43+ */
44+ private async getReleaseByTag ( tag : string ) : Promise < {
45+ body : string ;
46+ created_at : string ;
47+ id : number ;
48+ name : string ;
49+ prerelease : boolean ;
50+ tag_name : string ;
51+ target_commitish : string ;
52+ } > {
53+ // return (await _fetch(`/repos/{owner}/{repo}/releases/tags/{tag}`, { params: this.getParams({ tag }) }));
54+ return ( await this . _fetch ( `/repos/{owner}/{repo}/releases/tags/{tag}` , { params : { tag } } ) ) ;
55+ }
56+
57+ private async createRelease ( tag_name : string , name : string , body : string , prerelease : boolean = false ) {
58+ //
59+ }
1560}
0 commit comments