UNPKG

@candriajs/git-neko-kit

Version:

Github, Gitee, GitCode API封装库

1 lines 3.75 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.api_url=e.api_url,this.base_url=e.base_url}async get_org_info(e){if(!e.org)throw Error(t.MissingOrgParamMsg);let{org:r}=e;try{this.setRequestConfig({token:this.userToken});let e=await this.get(`/orgs/${r}`);if(e.statusCode===404)throw Error(t.OrgNotFoundMsg);if(e.data){let t={id:e.data.id,login:e.data.login,name:(0,n.isEmpty)(e.data.name)?null:e.data.name,avatar_url:e.data.avatar_url,description:e.data.description,html_url:e.data.html_url};e.data=t}return e}catch(e){throw Error(`[GitHub] 获取组织信息失败: ${e.message}`)}}async get_org_member_info(e){if(!e.org)throw Error(t.MissingOrgParamMsg);if(!e.username)throw Error(t.MissingUserNameParamMsg);try{this.setRequestConfig({token:this.userToken});let{org:r,username:i}=e,a=await this.get(`/orgs/${r}/members/${i}`);if(a.statusCode===403)throw Error(t.PermissionDeniedMsg);if(a.statusCode===404)throw Error(t.OrgForUserNotFoundMsg);if(a.data){let e={state:a.data.state,role:a.data.role,organization:{id:a.data.organization.id,login:a.data.organization.login,name:(0,n.isEmpty)(a.data.organization.name)?null:a.data.organization.name,html_url:a.data.organization.html_url},user:{id:a.data.user.id,login:a.data.user.login,name:(0,n.isEmpty)(a.data.user.name)?null:a.data.user.name,avatar_url:a.data.user.avatar_url,html_url:a.data.user.html_url}};a.data=e}return a}catch(e){throw Error(`[GitHub] 获取组织成员信息失败: ${e.message}`)}}async get_org_member_list(e){if(!e.org)throw Error(t.MissingOrgParamMsg);try{this.setRequestConfig({token:this.userToken});let{org:r}=e,i={};e.per_page&&(i.per_page=e.per_page),e.page&&(i.page=e.page);let a=await this.get(`/user/memberships/orgs`,i);if(a.statusCode===403)throw Error(t.PermissionDeniedMsg);if(a.statusCode===404)throw Error(t.OrgForUserNotFoundMsg);if(a.data){let e=a.data.filter(e=>e.organization.login===r).map(e=>({id:e.user.id,login:e.user.login,name:(0,n.isEmpty)(e.user.name)?null:e.user.name,role:e.role,avatar_url:e.user.avatar_url,html_url:e.user.html_url}));a.data=e}return a}catch(e){throw Error(`[GitHub] 获取组织成员列表失败: ${e.message}`)}}async add_member(e){if(!e.org)throw Error(t.MissingOrgParamMsg);if(!e.username)throw Error(t.MissingUserNameParamMsg);try{this.setRequestConfig({token:this.userToken});let n,r,{org:i,username:a,role:o}=e;if(a){let e=await this.get_user();try{n=await e.get_user_id()}catch{r=await e.get_user_email()}}let s={};n?s.invitee_id=n:r&&(s.email=r),o===`admin`?s.role=`admin`:s.role=`direct_member`;let c=await this.post(`/orgs/${i}/invitations`,s);if(c.statusCode===404)throw Error(t.RepoOrPermissionDeniedMsg);if(c.statusCode===422){let e=c.data.message;if(e&&e.includes(`is not a valid permission`))throw Error(t.PermissionDeniedMsg)}if(c.data){let e={id:c.data.inviter.id,login:c.data.inviterlogin,name:c.data.inviter.name,html_url:`${this.Client_Secret}/${i}`,role:o};c.data=e}return c}catch(e){throw Error(`[GitHub] 添加组织成员失败: ${e.message}`)}}async remove_org_member(e){if(!e.org)throw Error(t.MissingOrgParamMsg);if(!e.username)throw Error(t.MissingUserNameParamMsg);try{this.setRequestConfig({token:this.userToken});let{org:n,username:r}=e,i=await this.delete(`/orgs/${n}/members/${r}`);if(i.statusCode===403)throw Error(t.PermissionDeniedMsg);let a;return a=i.statusCode===204?{success:!0,message:t.RemoveOrgMemberSuccessMsg(r)}:{success:!1,message:t.FailedToRemoveOrgMemberMsg(r)},i.data=a,i}catch(e){throw Error(`[GitHub] 移除组织成员失败: ${e.message}`)}}};Object.defineProperty(exports,`Org`,{enumerable:!0,get:function(){return r}});