@candriajs/git-neko-kit
Version:
Github, Gitee, GitCode API封装库
1 lines • 4.38 kB
JavaScript
const e=require(`./client-Bmkb1ges.cjs`);var t=class extends e.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.base_url=e.base_url,this.api_url=e.api_url}async get_workflow_info(t){if(!t.owner||!t.repo)throw Error(e.MissingRepoOwnerOrNameMsg);if(!t.workflow_id)throw Error(e.MissingWorkflowIdMsg);try{let{owner:n,repo:r,workflow_id:i}=t;this.setRequestConfig({token:this.userToken});let a=await this.get(`/repos/${n}/${r}/actions/workflows/${i}`);if(a.statusCode===404)throw Error(e.WorkflowOrRepoNotFoundMsg);if(a.data){let t={id:a.data.id,html_url:a.data.html_url,name:a.data.name,path:a.data.path,state:a.data.state,created_at:this.format?await e.format_date(a.data.created_at):a.data.created_at,updated_at:this.format?await e.format_date(a.data.updated_at):a.data.updated_at};a.data=t}return a}catch(e){throw Error(`获取工作流信息失败: ${e.message}`)}}async get_repo_workflows_list(t){if(!t.owner||!t.repo)throw Error(e.MissingRepoOwnerOrNameMsg);try{this.setRequestConfig({token:this.userToken});let{owner:n,repo:r}=t,i={};t.per_page&&(i.per_page=t.per_page),t.page&&(i.page=t.page);let a=await this.get(`/repos/${n}/${r}/actions/workflows`,i);if(a.statusCode===404)throw Error(e.WorkflowOrRepoNotFoundMsg);if(a.data){let t={total:a.data.total_count,workflows:await Promise.all(a.data.workflows.map(async t=>({id:t.id,html_url:t.html_url,name:t.name,path:t.path,state:t.state,created_at:this.format?await e.format_date(t.created_at):t.created_at,updated_at:this.format?await e.format_date(t.updated_at):t.updated_at})))};a.data=t}return a}catch(e){throw Error(`获取工作流列表失败: ${e.message}`)}}async run_repo_workflow(t){if(!t.owner||!t.repo)throw Error(e.MissingRepoOwnerOrNameMsg);if(!t.workflow_id)throw Error(e.MissingWorkflowIdMsg);if(!t.ref)throw Error(e.MissingRefMsg);try{this.setRequestConfig({token:this.userToken});let{owner:n,repo:r,workflow_id:i}=t,a={ref:t.ref};t.inputs&&(a.inputs=t.inputs);let o=await this.post(`/repos/${n}/${r}/actions/workflows/${i}/dispatches`,a);if(o.statusCode===404)throw Error(e.WorkflowOrRepoNotFoundMsg);if(o.statusCode===403)throw Error(e.PermissionDeniedMsg);let s;return s=o.statusCode===204?{success:!0,message:e.RunRepoWorkflowSuccessMsg(i)}:{success:!1,message:e.FailedToRepoWorkflowDispatchMsg(i)},o.data=s,o}catch(e){throw Error(`运行工作流失败: ${e.message}`)}}async enable_repo_workflow(t){if(!t.owner||!t.repo)throw Error(e.MissingRepoOwnerOrNameMsg);if(!t.workflow_id)throw Error(e.MissingWorkflowIdMsg);try{this.setRequestConfig({token:this.userToken});let{owner:n,repo:r,workflow_id:i}=t,a=await this.put(`/repos/${n}/${r}/actions/workflows/${i}/enable`,null);if(a.statusCode===404)throw Error(e.WorkflowOrRepoNotFoundMsg);if(a.statusCode===403)throw Error(e.PermissionDeniedMsg);let o;return o=a.statusCode===204?{success:!0,message:e.EnableRepoWorkflowSuccessMsg(i)}:{success:!1,message:e.FailedToEnableRepoWorkflowFailedMsg(i)},a.data=o,a}catch(e){throw Error(`启用工作流失败: ${e.message}`)}}async disable_repo_workflow(t){if(!t.owner||!t.repo)throw Error(e.MissingRepoOwnerOrNameMsg);if(!t.workflow_id)throw Error(e.MissingWorkflowIdMsg);try{this.setRequestConfig({token:this.userToken});let{owner:n,repo:r,workflow_id:i}=t,a=await this.put(`/repos/${n}/${r}/actions/workflows/${i}/disable`,null);if(a.statusCode===404)throw Error(e.WorkflowOrRepoNotFoundMsg);if(a.statusCode===403)throw Error(e.PermissionDeniedMsg);let o;return o=a.statusCode===204?{success:!0,message:e.DisableRepoWorkflowSuccessMsg(i)}:{success:!1,message:e.FailedToDisableRepoWorkflowFailedMsg(i)},a.data=o,a}catch(e){throw Error(`禁用工作流失败: ${e.message}`)}}async rerun_repo_workflow(t){if(!t.owner||!t.repo)throw Error(e.MissingRepoOwnerOrNameMsg);if(!t.job_id)throw Error(e.MissingJobIdMsg);try{this.setRequestConfig({token:this.userToken});let{owner:n,repo:r,job_id:i}=t,a=await this.post(`/repos/${n}/${r}/actions/jobs/${i}/rerun`,null);if(a.statusCode===404)throw Error(e.WorkflowOrRepoNotFoundMsg);if(a.statusCode===403)throw Error(e.PermissionDeniedMsg);let o;return o=a.statusCode===204?{success:!0,message:e.ReRunRepoWorkflowSuccessMsg(i)}:{success:!1,message:e.FailedToReRunRepoWorkflowFailedMsg(i)},a.data=o,a}catch(e){throw Error(`重新运行工作流失败: ${e.message}`)}}};Object.defineProperty(exports,`Workflow`,{enumerable:!0,get:function(){return t}});