UNPKG

@candriajs/git-neko-kit

Version:

Github, Gitee, GitCode API封装库

1 lines 3.65 kB
const e=require(`./root-s6IKP4Xz.cjs`),t=require(`./client-Bmkb1ges.cjs`),n=e.__toESM(require(`radash`));var r=class extends t.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.base_url=e.base_url,this.api_url=e.api_url}async get_user_info(e){if(!e.username)throw Error(t.OrgOrUserNotFoundMsg);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/users/${e.username}`);if(r.statusCode===401)throw Error(t.PermissionDeniedMsg);if(r.statusCode===404)throw Error(t.OrgOrUserNotFoundMsg);if(r.data){let e={id:r.data.id,login:r.data.login,name:r.data.name||null,type:(0,n.capitalize)(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,public_repos:r.data.public_repos,followers:r.data.followers,following:r.data.following};r.data=e}return r}catch(e){throw Error(`[GitHub] 获取用户织信息失败: ${e.message}`)}}async get_user_info_by_user_id(e){if(!e.user_id)throw Error(t.MissingUserIdParamMsg);try{this.setRequestConfig({token:this.userToken});let r=await this.get(`/user/${e.user_id}`);if(r.statusCode===401)throw Error(t.PermissionDeniedMsg);if(r.statusCode===404)throw Error(t.UserNotFoundMsg);if(r.data){let e={id:r.data.id,login:r.data.login,name:r.data.name||null,type:(0,n.capitalize)(r.data.type.toLowerCase()),html_url:r.data.html_url,avatar_url:r.data.avatar_url,email:r.data.email||null,bio:r.data.bio||null,blog:r.data.blog||null,public_repos:r.data.public_repos,followers:r.data.followers,following:r.data.following};r.data=e}return r}catch(e){throw Error(`[GitHub] 通过用户id获取用户信息失败: ${e.message}`)}}async get_user_info_by_auth(){if(!this.userToken)throw Error(t.MissingAccessTokenMsg);try{this.setRequestConfig({token:this.userToken});let e=await this.get(`/user`);switch(e.statusCode){case 401:throw Error(t.PermissionDeniedMsg);case 404:throw Error(t.UserNotFoundMsg)}if(e.data){let t={id:e.data.id,login:e.data.login,name:e.data.name||null,type:(0,n.capitalize)(e.data.type.toLowerCase()),html_url:e.data.html_url,avatar_url:e.data.avatar_url,email:e.data.email||null,bio:e.data.bio||null,blog:e.data.blog||null,public_repos:e.data.public_repos,followers:e.data.followers,following:e.data.following};e.data=t}return e}catch(e){throw Error(`[GitHub] 获取授权用户信息失败: ${e.message}`)}}async get_user_info_by_token(){return this.get_user_info_by_auth()}async get_user_contribution(e){try{if(!e.username)throw Error(t.MissingUserNameParamMsg);let n=await this.get_user_info({username:e.username});if(n.data.type===`Organization`)throw Error(`${t.OrgNotSupportedMsg}获取贡献日历`);this.setRequestConfig({url:t.get_base_url(this.type,{proxyType:t.ProxyType.Original})});let r=await this.get(`/${e.username}`,{action:`show`,controller:`profiles`,tab:`contributions`,user_id:e.username},{"X-Requested-With":`XMLHttpRequest`});if(!r.success)throw Error(`获取用户贡献数据失败`);if(r.statusCode===404)throw Error(t.MissingUserNameParamMsg);let i=await t.get_contribution_data(r.data);return{...r,data:i}}catch(e){throw Error(`[GitHub] 获取用户贡献信息失败: ${e.message}`)}}async get_user_id(){return(await this.get_user_info_by_auth()).data.id}async get_username(){return(await this.get_user_info_by_auth()).data.login}async get_nickname(){return(await this.get_user_info_by_auth()).data.name||null}async get_user_email(){return(await this.get_user_info_by_auth()).data.email||null}async get_avatar_url(){return(await this.get_user_info_by_auth()).data.avatar_url}};Object.defineProperty(exports,`User`,{enumerable:!0,get:function(){return r}});