1 line
38 KiB
JavaScript
1 line
38 KiB
JavaScript
(this.webpackJsonp=this.webpackJsonp||[]).push([[152,35],{"3+nJ":function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAL1JREFUSEvtkrERgzAMRaUNMgqVR3FKzmEBRgkLgNvQZAR6NyTzUCjJXThsgiNBjipWLf0nfX2EnQt31ocEYB3+M4vq1p0J4FZoZVlv3g1ii+qLs4CYv+YIyEghLKC59gcahg4AM39rKeQrICY+giSQKIATHyEIVBqtqthPFgFSce8S+/yJWYJ8ANaKc5AAsFV82pyqk1alf0kIaF1GgL004/M+IroXRxWkjY3pVtgUgl8VmPl0AWtwsoi16AG+31AZ1BllVwAAAABJRU5ErkJggg=="},GLkv:function(e,t,a){"use strict";a.r(t),a("g9YV");var n=a("wCAj"),r=(a("/zsF"),a("PArb")),c=(a("sPJy"),a("bE4q")),l=a("zLi2"),o=a.n(l),s=a("o+MX"),i=a.n(s),m=a("FLGM"),d=a.n(m),u=a("BF1V"),p=a.n(u),f=a("0lTi"),E=a.n(f),h=a("cDcd"),g=a.n(h),y=a("2iEm"),b=a("WXHv"),v=a.n(b),A=a("3+nJ"),x=a.n(A),N=(a("KHN1"),a("vDqi")),w=a.n(N),k=(a("2CTR"),a("jqZs"));t.default=function(e){var t,a=e.match.params,l=a.owner,s=a.projectsId,m=a.type,u=a.syncIds,f=Object(h.useState)(!1),b=o()(f,2),A=b[0],N=b[1],C=Object(h.useState)({}),O=o()(C,2),_=O[0],B=O[1],I=Object(h.useState)(1),S=o()(I,2),j=S[0],F=S[1],V=Object(h.useState)(0),L=o()(V,2),D=L[0],Y=L[1],R=Object(h.useState)([]),G=o()(R,2),J=G[0],M=G[1];Object(h.useEffect)((function(){var e;N(!0),w.a.get(i()(e="/v1/".concat(l,"/")).call(e,s,"/sync_repositories/history"),{params:{type:m,limit:10,page:j,reposync_branch_ids:u}}).then((function(e){var t;N(!1),e&&200===e.status&&(d()(t=e.data.logs).call(t,(function(e,t){e.id=t+1})),B(e.data),Y(e.data.total_count))})).catch((function(){N(!1)}))}),[10,j]);var U=[{title:"序号",dataIndex:"index",className:"recordColumns",align:"center",render:function(e,t,a){return g.a.createElement("span",null,10*(j-1)+a+1)}},{title:"代码变更方",dataIndex:"change_from",className:"recordColumns"},{title:"同步时间",dataIndex:"sync_time",className:"recordColumns"},{title:"同步状态",dataIndex:"sync_status",className:"recordColumns",render:function(e){return Object(k.sync_status)(e)}},{title:"commit id",dataIndex:"commit_id",className:"recordColumns",render:function(e){var t,a;return g.a.createElement(y.a,{to:i()(t=i()(a="/".concat(l,"/")).call(a,s,"/commits/")).call(t,e),className:"primaryColor"},e)}},{title:"同步日志",dataIndex:"action",align:"center",className:"primaryColor recordColumns"}];return g.a.createElement("div",{className:"storeListBox"},g.a.createElement(c.a,{separator:">"},g.a.createElement(c.a.Item,{className:"font-15"},g.a.createElement(y.a,{to:i()(t="/".concat(l,"/")).call(t,s,"/service/reposyncer"),className:"primaryColor"},"同步记录")),g.a.createElement(c.a.Item,{className:"font-15 color-grey3"},"GitLink分支:",_.gitlink_branch_name,g.a.createElement(r.a,{type:"vertical"}),_.external_type&&_.external_type.split("::").pop(),"分支:",_.external_branch_name)),g.a.createElement(n.a,{className:"storeListTable mt20 recordListTable",loading:A,columns:U,dataSource:_.logs,expandedRowRender:function(e){return g.a.createElement("div",{className:"expandBox",dangerouslySetInnerHTML:{__html:e.log}})},expandIconColumnIndex:5,expandIconAsCell:!1,expandIcon:function(e){return g.a.createElement("a",{className:"primaryColor",onClick:function(t){e.onExpand(e.record,t)}},"查看日志",g.a.createElement("img",{alt:"",src:e.expanded?x.a:v.a,style:{width:"15px"},className:"ml5"}))},rowKey:"id",expandedRowKeys:J,onExpand:function(e,t){var a=new p.a(J);e?a.add(t.id):a.delete(t.id),M(E()(a))},pagination:{current:j,pageSize:10,total:D,hideOnSinglePage:!0,onChange:function(e,t){window.scrollTo(0,0),F(e)}},locale:{emptyText:g.a.createElement("div",{className:"mt100 mb100 font-16"},"暂无数据,请耐心等待同步完成并",g.a.createElement("a",{onClick:function(){window.location.reload()},className:"primaryColor"},"刷新"),"此页面")}}))}},GpAv:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAlCAYAAADGKS4rAAAAAXNSR0IArs4c6QAAAoRJREFUaEPt2s1q1FAUwPH/menCN7C+hY/gwvYhXLfWlqIVFBnxo+JC0U1xbCZYFVQUBHdVysQZOwoqdaHiwo+F3Sh+QbsYUex0vEcyOHYqzUxIkyDm3m1y7kl+HE5yL1f4z8fgqBaAD16JqyCa9utK2gnTzjcwplMC+xQWcoa9ZVeepPkMmQH2UVVREa5hOOi58iUN6EwBd4DWVTmxupVztUlpJgmdVeC26WuEEW9aHiSFnHXgtuutRp79taK8jxvaArdFle/AqXwfZ+eKshIXtAX+W1J5izLhuXI7DmQLHKCoyv0mjMyX5M1moC1wFz2FpkDx2w+OP7wsX6NAW+AQagqfRTkUZTVogUMAr30HWTDK7mpJXoQNs8BhpdbuMwozuRUOly/Jcq9wC9xLKOi6smyUI81+ZrqtBi1wVOC1uK6rQdm5R3dsPsc/PIMwnBN2pfCEG64GZXBMU98jTeFl/6RQ5aMI21LJucFq0AInIK/KoipjFVfKFjgBYJR3BkYrJbljgeMFXlE4s6XJ6dkL4m8eYYFjAlblnoHhakkWO6e0v2mbB/4EHPAcub7RVBY4InBrI0iZyvdxcq4o9aBpLHAUYOWREYYqjrzqFW6Bewmtv/67HXAj7BkLCxwO2ABuPk+hWzuwPTgc5vq7/HagjFdceRYl3FZwgJrCkkKh4nAxbDuwFRyuBFvt4KdwrDotS+FCgu+yFbze5qkxDEVtB7aCgwutjuGo1895JsWv4NhGpivYPwyIcGUVCjVH/F+w2EdmgVV5aXIMVaflceyqHRNmEbjVDhr9OEmfrPSdswWs3GwIE0m1g8x+5FAGcsJ42ZH5JNtBVoG333Xkedqw7Xy/AMbePTUad1YlAAAAAElFTkSuQmCC"},VJFx:function(e,t,a){"use strict";a.r(t),a.d(t,"confirmInfo1",(function(){return ne})),a.d(t,"confirmInfo2",(function(){return re})),a.d(t,"synchronizeTips",(function(){return ce})),a.d(t,"branchForm",(function(){return le}));var n=a("+oHS"),r=a.n(n),c=a("OWCx"),l=a.n(c),o=a("fHi0"),s=a.n(o),i=a("RXMP"),m=a.n(i),d=a("qjzJ"),u=a.n(d),p=a("HnXd"),f=a.n(p),E=a("LYCE"),h=a.n(E),g=(a("2qtc"),a("kLXV")),y=(a("7Kak"),a("9yH6")),b=(a("+L6B"),a("2/Rp")),v=(a("OaEy"),a("2fM7")),A=a("04Ix"),x=a.n(A),N=(a("miYZ"),a("tsqr")),w=a("zLi2"),k=a.n(w),C=(a("5NDa"),a("5rEg")),O=(a("y8nQ"),a("Vl3Y")),_=a("EcSs"),B=a.n(_),I=(a("5Dmo"),a("3S7+")),S=(a("/zsF"),a("PArb")),j=(a("Pwec"),a("CtXQ")),F=(a("O3gP"),a("lrIw")),V=(a("FJo9"),a("L41K")),L=a("ZbhI"),D=a.n(L),Y=a("FLGM"),R=a.n(Y),G=a("o+MX"),J=a.n(G),M=a("5PDf"),U=a.n(M),q=a("6UaR"),H=a.n(q),K=a("cDcd"),Z=a.n(K),W=a("GpAv"),Q=a.n(W),T=(a("KHN1"),a("vDqi")),z=a.n(T),X=(a("FRFo"),a("TT9e")),P=a("jqZs");function $(e,t){var a=r()(e);if(l.a){var n=l()(e);t&&(n=U()(n).call(n,(function(t){return s()(e,t).enumerable}))),a.push.apply(a,n)}return a}function ee(e){for(var t=1;t<arguments.length;t++){var a,n,r=null!=arguments[t]?arguments[t]:{};t%2?m()(a=$(Object(r),!0)).call(a,(function(t){x()(e,t,r[t])})):u.a?f()(e,u()(r)):m()(n=$(Object(r))).call(n,(function(t){h()(e,t,s()(r,t))}))}return e}var te=V.a.Step,ae=F.a.Option,ne=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"若存在同名从分支,首次同步主分支源码向从分支强制推送,请谨慎操作以免代码被覆盖";return Z.a.createElement("div",{className:"flexBetween mb30",style:{alignItems:"flex-start"}},Z.a.createElement(j.a,{type:"exclamation-circle",theme:"filled",style:{fontSize:"22px",color:"#CA0002"}}),Z.a.createElement("span",{className:"ml10 font-15"},e))},re=function(e){var t=e.mainBranch,a=t.address,n=t.branchName,r=t.type,c=e.branch;return Z.a.createElement("div",{className:"flexBetween"},Z.a.createElement("div",{className:"infoBoxBlueBg",style:{width:"260px"}},Z.a.createElement("span",null,Object(X.platformLogo)(r),Z.a.createElement("span",{className:"ml10"},"主分支")),Z.a.createElement(S.a,{dashed:!0,style:{margin:"15px"}}),Z.a.createElement("span",{className:"primaryColor"},a),Z.a.createElement("div",{className:"mt10"},Z.a.createElement("i",{className:"iconfont icon-fenzhi2 font-18"}),n)),Z.a.createElement("img",{src:Q.a,style:{width:"40px"}}),Z.a.createElement("div",{className:"infoBoxBlueBg",style:{width:"260px"}},Z.a.createElement("span",null,Object(X.platformLogo)(c.type),Z.a.createElement("span",{className:"ml10"},"从分支")),Z.a.createElement(S.a,{dashed:!0,style:{margin:"15px"}}),Z.a.createElement("span",{className:"primaryColor"},c.address),Z.a.createElement("div",{className:"mt10"},Z.a.createElement("i",{className:"iconfont icon-fenzhi2 font-18"}),c.branchName)))},ce=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Github";return Z.a.createElement(I.a,{title:Z.a.createElement("div",null,"首次同步方向指两个仓库首次进行同步时,执行git push指令的方向。",Z.a.createElement("br",null),"若首次同步方向为GitLink同步至",e,",则本仓库代码将被强推至绑定的",e,"仓库一次,后续根据webhook来监听仓库的双向同步")},Z.a.createElement(j.a,{type:"question-circle",theme:"filled",style:{color:"#466aff"},className:"mb20 synchronizeTip"}))},le=function(e,t,a,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"1",c=arguments.length>5?arguments[5]:void 0,l=arguments.length>6?arguments[6]:void 0,o=arguments.length>7?arguments[7]:void 0,s="1"===r?"Gitlink":l,i="1"===r?"gitlink_branch_name":"external_branch_name",m="1"===r?l:"Gitlink",d="1"===r?"external_branch_name":"gitlink_branch_name",u=a([d])[d];return Z.a.createElement(K.Fragment,null,Z.a.createElement(O.a.Item,B()({label:"".concat(s,"分支")},o),e(i,{rules:[{required:!0,message:"请选择".concat(s,"仓库分支")}],initialValue:n[i]})(Z.a.createElement(F.a,{placeholder:"请选择".concat(s,"仓库分支"),filterOption:function(e,t){var a;return-1!==D()(a=t.props.children.toUpperCase()).call(a,e.toUpperCase())},onChange:function(e){var a={};a[d]=e,t(a)}},c&&R()(c).call(c,(function(e,t){var a=e.name;return Z.a.createElement(ae,{value:a,key:t},a)}))))),Z.a.createElement(O.a.Item,B()({hidden:!u,label:"".concat(m,"分支")},o,{extra:"注:若仓库存在该分支,同步后将被源分支覆盖。若不存在该分支,则会新建一条同名分支并同步代码"}),e(d,{rules:[{required:!0,message:"请输入".concat(m,"分支名称")}],initialValue:n[d]})(Z.a.createElement(C.a,{placeholder:"请输入".concat(m,"分支名称"),className:"storeInput",maxLength:50,disabled:!0}))))};t.default=O.a.create()(Object(K.forwardRef)((function(e){var t,a,n,r,c,l,o=e.form,s=e.history,i=(e.storeDetail||{}).sync_repositories_unique,m=void 0===i?[]:i,d=e.match.params,u=d.owner,p=d.projectsId,f=o.getFieldDecorator,E=o.validateFields,h=o.resetFields,A=o.setFieldsValue,x=o.getFieldsValue,w=Object(K.useState)(0),_=k()(w,2),I=_[0],S=_[1],F=Object(K.useState)(),L=k()(F,2),Y=L[0],G=L[1],M=Object(K.useState)(),q=k()(M,2),W=q[0],Q=q[1],T=Object(K.useState)({}),$=k()(T,2),ae=$[0],oe=$[1],se=Object(K.useState)(),ie=k()(se,2),me=ie[0],de=ie[1],ue=Object(K.useState)("2"),pe=k()(ue,2),fe=pe[0],Ee=pe[1],he=Object(K.useState)(),ge=k()(he,2),ye=ge[0],be=ge[1],ve=[{step:0,title:"配置同步仓库"},{step:1,title:"配置同步仓库webhook"},{step:2,title:"配置同步分支"}],Ae=ae.type,xe=ae.external_repo_address,Ne=ae.external_branch_name,we=ae.gitlink_branch_name,ke={address:xe,branchName:"1"===fe?"全部分支":Ne,type:Ae},Ce={address:J()(t=J()(a="".concat(window.location.origin,"/")).call(a,u,"/")).call(t,p,".git"),branchName:"1"===fe?"全部分支":we,type:"gitlink"},Oe=ae.first_sync_direction||x(["first_sync_direction"]).first_sync_direction,_e=R()(m).call(m,(function(e){return e.type.split("::").pop()})),Be=_e.length&&U()(n=["Github","Gitee","Osredm"]).call(n,(function(e){return-1===D()(_e).call(_e,e)}))||["Github","Gitee","Osredm"],Ie=me&&("Github"===me?/^https:\/\/(www\.)?github\.com\/.+\/.+$/:"Gitee"===me?/^https:\/\/(www\.)?gitee\.com\/.+\/.+$/:/^https:\/\/(www\.)?osredm\.com\/.+\/.+$/);function Se(){var e=x(),t=e.external_branch_name,a=e.gitlink_branch_name,n=e.first_sync_direction;oe(ee(ee({},ae),{},{external_branch_name:t,gitlink_branch_name:a,first_sync_direction:n}))}Object(K.useEffect)((function(){var e;z.a.get(J()(e="/".concat(u,"/")).call(e,p,"/branches.json"),{params:{page:1,limit:1e3}}).then((function(e){G(e.data)})).catch((function(e){}))}),[]);var je={labelCol:{span:5},wrapperCol:{span:18},style:{width:"60%"}};return Z.a.createElement("div",{className:"storeListBox mt20"},Z.a.createElement("div",{className:"headBox font-16 pl15 mb25"},"跨平台仓库代码同步",P.reposyncerHelpIcon),Z.a.createElement("div",{className:"registerBox"},Z.a.createElement(V.a,{current:I},R()(ve).call(ve,(function(e){var t=e.title,a=e.step;return Z.a.createElement(te,{title:t,key:a})}))),Z.a.createElement(O.a,{className:"codeSynchronizationForm",colon:!1,layout:2===I?"horizontal":"vertical",form:o},Z.a.createElement(O.a.Item,{label:"请选择同步仓库平台",className:"storeFormItem",hidden:I},f("type",{rules:[{required:!0,message:"请选择同步仓库平台"}],initialValue:ae.type})(Z.a.createElement(v.a,{placeholder:"请选择",onChange:function(e){h(),de(e)}},R()(Be).call(Be,(function(e){return Z.a.createElement(v.a.Option,{key:e,value:e},Object(X.platformLogoUnText)(e),e)}))))),Z.a.createElement(O.a.Item,{label:"".concat(me,"同步仓库地址"),className:"storeFormItem",hidden:I||!me},f("external_repo_address",{rules:[{required:!0,message:"请输入".concat(me||"","同步仓库地址")},{pattern:Ie,message:"请输入".concat(me,"可访问的仓库地址")}],initialValue:ae.external_repo_address})(Z.a.createElement(C.a,{placeholder:"请输入".concat(me,"同步仓库地址"),className:"storeInput",maxLength:200}))),Z.a.createElement(O.a.Item,{label:"".concat(me,"同步仓库授权验证"),className:"storeFormItem",hidden:I||!me,extra:Z.a.createElement("div",{className:"pt5 pl10 font-13"},"如何配置token:",Z.a.createElement("br",null),"1、登录",me,",确保拥有读写同步仓库的权限",Z.a.createElement("br",null),"Github"===me&&"2、找到已存在的token,或新建一个token;新建方式为:点击个人头像→Settings→Developer Settings→Personal access tokens (classic)→Generate new token","Gitee"===me&&"2、找到已存在的token,或新建一个token,新建方式为:点击个人头像→设置→私人令牌→生成新令牌","Osredm"===me&&"2、找到已存在的token,或新建一个token,新建方式为:点击个人头像→账号管理→私人令牌→生成新令牌",Z.a.createElement("br",null),"3、确保token拥有仓库读写权限,且未过期。将token复制到此处token填写框")},f("external_token",{rules:[{required:!0,message:"请输入".concat(me||"","授权token")}],initialValue:ae.external_token})(Z.a.createElement(C.a.Password,{addonBefore:"token",placeholder:"请输入".concat(me,"的授权token"),className:"storeInput",maxLength:300}))),!I&&Z.a.createElement("div",null,Z.a.createElement("div",{className:"mt30"},Z.a.createElement(b.a,{style:{width:"100px"},onClick:function(){s.go(-1)},className:"mr30"},"返回"),Z.a.createElement(b.a,{type:"primary",style:{width:"100px"},onClick:function(){E(["type","external_repo_address","external_token"],(function(e,t){if(!e){var a,n=t.external_repo_address.replace(".git","").replace(new RegExp("https://(www\\.)?".concat(me.toLowerCase(),"\\.com/"),"i"),"");me&&z.a.get(J()(a="/v1/".concat(n,"/branches/")).call(a,me.toLowerCase()),{params:{page:1,limit:100,token:t.external_token}}).then((function(e){e&&e.data&&H()(e.data)?(Q(e.data),S(1),oe(ee(ee({},ae),t))):N.a.error("获取".concat(me,"平台仓库分支列表失败,请检查参数输入是否正确"))})).catch((function(e){}))}}))}},"下一步"))),1===I&&Z.a.createElement("div",null,Z.a.createElement(j.a,{type:"info-circle",theme:"filled",style:{color:"#466aff"}}),Z.a.createElement("span",{className:"color-grey-6 ml5 mb15"},"为了保证双向同步实时性,请您完成以下操作,以保证每个参与同步的仓库均已配置Webhook"),Z.a.createElement("p",{className:"mt15"},"1、复制Webhook接受请求地址:"),Z.a.createElement(C.a,{id:"webhook",className:"mt10 mb10 copyWebhookInput",value:J()(r=J()(c=J()(l="".concat(window.location.origin,"/api/v1/")).call(l,u,"/")).call(c,p,"/sync_repositories/sync?sync_direction=2&repo_type=SyncRepositories::")).call(r,me),readOnly:!0,addonAfter:Z.a.createElement("a",{onClick:function(){var e=document.querySelector("#webhook");e&&(e.select(),document.execCommand("copy")&&(document.execCommand("copy"),document.getSelection().removeAllRanges(),N.a.success("复制成功")))}},"复制链接")}),"2、前往",me,"登录并进入同步仓库WebHook页面进行配置:",Z.a.createElement(b.a,{type:"primary",ghost:!0,className:"mt10 mb10 ml10",onClick:function(){var e,t=ae.type,a=ae.external_repo_address;a?window.open(J()(e="".concat(a.replace(/.git$/,""))).call(e,"Github"===t?"/settings/hooks":"Gitee"===t?"/hooks":"/settings/webhooks")):N.a.error("您暂未配置同步仓库地址")}},"点击前往"),Z.a.createElement("br",null),Z.a.createElement("div",{className:"pl15 pb10"},"① 添加webHook",Z.a.createElement("br",null),"② 将步骤1地址填入页面中的URL处",Z.a.createElement("br",null),"③ 确保已勾选Push事件",Z.a.createElement("br",null),"④ 激活"),"3、完成配置",Z.a.createElement("div",{className:"mt30"},Z.a.createElement(b.a,{style:{width:"100px"},onClick:function(){S(0)},className:"mr30"},"上一步"),Z.a.createElement(b.a,{type:"primary",style:{width:"100px"},onClick:function(){S(2)}},"下一步"))),2===I&&Z.a.createElement("div",null,Z.a.createElement("div",{className:"color-grey-6 mb15"},"请绑定同步分支,建立单个分支的实时双向同步"),Z.a.createElement(O.a.Item,{hidden:!0},f("sync_granularity",{rules:[],initialValue:"2"})(Z.a.createElement(y.a.Group,{onChange:function(e){ae.external_repo_address?Ee(e.target.value):N.a.error("您暂未配置同步仓库地址")},value:fe,style:{width:"80%"}},Z.a.createElement(y.a,{value:"2"},"单个分支",Z.a.createElement("br",null),Z.a.createElement("span",{className:"color-grey-6 ml25 font-12"},"建立单个分支的实时双向同步"))))),fe&&Z.a.createElement("div",{style:{display:"flex",alignItems:"center"}},Z.a.createElement(O.a.Item,B()({label:"首次同步方向:"},je),f("first_sync_direction",{rules:[{required:!0,message:"请选择首次同步方向"}],initialValue:ae.first_sync_direction})(Z.a.createElement(v.a,{placeholder:"请选择首次同步方向",onChange:function(){h(["external_branch_name","gitlink_branch_name"])}},Z.a.createElement(v.a.Option,{value:"2"},me,"同步至GitLink"),Z.a.createElement(v.a.Option,{value:"1"},"GitLink同步至",me)))),ce(me)),"2"===fe&&Oe&&le(f,A,x,ae,Oe,"2"===Oe?W:Y,me,je),Z.a.createElement("div",{className:"mt30"},Z.a.createElement(b.a,{style:{width:"100px"},className:"mr30",onClick:function(){Se(),S(1)}},"上一步"),fe&&Z.a.createElement(b.a,{type:"primary",style:{width:"100px"},onClick:function(){Se(),E((function(e,t){e||be(!0)}))}},"确认绑定")))),Z.a.createElement(g.a,{title:"绑定同步分支",visible:ye,onCancel:function(){be(!1)},footer:Z.a.createElement("div",null,Z.a.createElement(b.a,{style:{width:"95px",height:"32px"},onClick:function(){be(!1)},className:"mr40"},"再想想"),Z.a.createElement(b.a,{style:{width:"95px",height:"32px"},onClick:function(){var e,t=x();t.type="SyncRepositories::".concat(t.type),z.a.post(J()(e="/v1/".concat(u,"/")).call(e,p,"/sync_repositories.json"),t).then((function(e){var t;e&&200===e.status?(be(!1),N.a.success("绑定成功"),window.location.href=J()(t="/".concat(u,"/")).call(t,p,"/service/reposyncer")):N.a.error("绑定失败")}))},type:"primary",ghost:!0},"开始同步")),width:650,className:"reposyncerModal"},ne(),re({mainBranch:"1"===ae.first_sync_direction?Ce:ke,branch:"1"===ae.first_sync_direction?ke:Ce}))))})))},WXHv:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAMtJREFUSEvtk7EVwiAQhu/3GdfRNKldwSaWkiygG+gILpCoJelcgzRxEzfAh43GF+CILx20B9/H/QegiRcm5lMUeBOOEYVFVEnVAVh6T1k2gHRa5Fn3Xe7NoG7UmQj7MQKt9WO2SNbFJn1aBaZQS3UlYBciscENY/AVhUhccKvAFCrZngA6ujrxwZ2Ct6RRAoTLkIQD9wockjuSufgd6NBFWD+514nWt3KbCe4jYAk+ndCqzLMDF86KKAQ2OqJ/JOyIxkqiwJvc5BG9AKx9RBmDkHpfAAAAAElFTkSuQmCC"},hplJ:function(e,t){e.exports="data:image/png;base64,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"},jqZs:function(e,t,a){"use strict";a.r(t),a.d(t,"sync_status",(function(){return de})),a.d(t,"reposyncerHelpIcon",(function(){return ue})),a("sRBo");var n=a("kaz8"),r=(a("Pwec"),a("CtXQ")),c=(a("2qtc"),a("kLXV")),l=(a("y8nQ"),a("Vl3Y")),o=(a("OaEy"),a("2fM7")),s=a("04Ix"),i=a.n(s),m=(a("T2oS"),a("W9HT")),d=(a("g9YV"),a("wCAj")),u=(a("5NDa"),a("5rEg")),p=(a("+L6B"),a("2/Rp")),f=(a("/zsF"),a("PArb")),E=(a("miYZ"),a("tsqr")),h=a("zLi2"),g=a.n(h),y=(a("Awhp"),a("KrTs")),b=a("FLGM"),v=a.n(b),A=a("cdeZ"),x=a.n(A),N=a("5PDf"),w=a.n(N),k=a("o+MX"),C=a.n(k),O=a("mnMc"),_=a.n(O),B=a("+oHS"),I=a.n(B),S=a("OWCx"),j=a.n(S),F=a("fHi0"),V=a.n(F),L=a("RXMP"),D=a.n(L),Y=a("qjzJ"),R=a.n(Y),G=a("HnXd"),J=a.n(G),M=a("LYCE"),U=a.n(M),q=a("cDcd"),H=a.n(q),K=a("2iEm"),Z=a("YJKC"),W=a.n(Z),Q=a("hplJ"),T=a.n(Q),z=(a("KHN1"),a("vDqi")),X=a.n(z),P=a("VJFx"),$=a("ZO1A"),ee=a.n($),te=a("9/46"),ae=a.n(te),ne=a("al1D"),re=a.n(ne);function ce(e,t){var a=I()(e);if(j.a){var n=j()(e);t&&(n=w()(n).call(n,(function(t){return V()(e,t).enumerable}))),a.push.apply(a,n)}return a}function le(e){for(var t=1;t<arguments.length;t++){var a,n,r=null!=arguments[t]?arguments[t]:{};t%2?D()(a=ce(Object(r),!0)).call(a,(function(t){i()(e,t,r[t])})):R.a?J()(e,R()(r)):D()(n=ce(Object(r))).call(n,(function(t){U()(e,t,V()(r,t))}))}return e}var oe=l.a.create()((function(e){var t,a,n=e.owner,r=e.projectsId,s=e.visible,i=e.setVisible,m=e.branchList,d=e.reload,u=e.form,f=e.sync_repositories_unique,h=void 0===f?[]:f,y=e.repositoriesBranch,b=u.getFieldDecorator,A=u.validateFields,x=u.resetFields,N=u.getFieldsValue,k=u.setFieldsValue,O=Object(q.useState)(),B=g()(O,2),I=B[0],S=B[1],j=v()(h).call(h,(function(e){return e.type})),F=N(),V=F.external_branch_name,L=F.gitlink_branch_name,D=F.first_sync_direction,Y=V&&L&&D,R=I&&w()(h).call(h,(function(e){var t;return _()(t=e.type).call(t,I)}))[0],G={address:R&&R.external_repo_address,branchName:V,type:I},J={address:C()(t=C()(a="".concat(window.location.origin,"/")).call(a,n,"/")).call(t,r,".git"),branchName:L,type:"gitlink"};Object(q.useEffect)((function(){1===j.length&&S(j[0].split("::")[1])}),[j.toString()]);return H.a.createElement(c.a,{title:"新建同步分支",visible:s,onCancel:function(){i(!1)},footer:H.a.createElement("div",null,H.a.createElement(p.a,{style:{width:"104px",height:"36px"},onClick:function(){i(!1)}},"取消"),H.a.createElement(p.a,{type:"primary",style:{width:"104px",height:"36px",marginLeft:"40px"},onClick:function(){A((function(e,t){if(!e){var a,c=w()(h).call(h,(function(e){return e.type==="SyncRepositories::".concat(I)}))[0];X.a.post(C()(a="/v1/".concat(n,"/")).call(a,r,"/sync_repositories/create_branch"),le(le({},t),{},{sync_repository_ids:c&&c.sync_repository_ids.toString()})).then((function(e){e&&"success"===e.data.message&&(x(),i(!1),E.a.success("新建成功"),d())}))}}))}},"确认")),width:650,className:"reposyncerModal"},H.a.createElement(l.a,{labelCol:{span:5},wrapperCol:{span:18}},j.length>1&&H.a.createElement(l.a.Item,{label:"同步仓库平台",className:"storeFormItem"},b("type",{rules:[{required:!0,message:"请选择同步仓库平台"}]})(H.a.createElement(o.a,{placeholder:"请选择同步仓库平台",onChange:function(e){S(e)}},H.a.createElement(o.a.Option,{value:"Github",disabled:!y.Github},H.a.createElement("img",{src:ee.a,alt:"",className:"storeLogo mr5"}),"Github",!y.Github&&",获取分支列表失败,请检查token是否有效"),H.a.createElement(o.a.Option,{value:"Gitee",disabled:!y.Gitee},H.a.createElement("img",{src:ae.a,alt:"",className:"storeLogo mr5"}),"Gitee",!y.Gitee&&",获取分支列表失败,请检查token是否有效"),H.a.createElement(o.a.Option,{value:"Osredm",disabled:!y.Osredm},H.a.createElement("img",{src:re.a,alt:"",className:"storeLogo mr5"}),"Osredm",!y.Osredm&&",获取分支列表失败,请检查token是否有效")))),I&&H.a.createElement("div",{className:"directionByAddTaskModal"},H.a.createElement(l.a.Item,{label:"首次同步方向:"},b("first_sync_direction",{rules:[{required:!0,message:"请选择首次同步方向"}]})(H.a.createElement(o.a,{placeholder:"请选择首次同步方向",onChange:function(){x(["external_branch_name","gitlink_branch_name"])}},H.a.createElement(o.a.Option,{value:"2"},I,"同步至GitLink"),H.a.createElement(o.a.Option,{value:"1"},"GitLink同步至",I)))),Object(P.synchronizeTips)(I)),I&&D&&Object(P.branchForm)(b,k,N,{},D,"2"===D?y[I]:m,I,{})),Y&&H.a.createElement("div",{className:"pt15"},Object(P.confirmInfo1)(),Object(P.confirmInfo2)({mainBranch:"1"===D?J:G,branch:"1"===D?G:J})))})),se=a("TT9e");function ie(e,t){var a=I()(e);if(j.a){var n=j()(e);t&&(n=w()(n).call(n,(function(t){return V()(e,t).enumerable}))),a.push.apply(a,n)}return a}function me(e){for(var t=1;t<arguments.length;t++){var a,n,r=null!=arguments[t]?arguments[t]:{};t%2?D()(a=ie(Object(r),!0)).call(a,(function(t){i()(e,t,r[t])})):R.a?J()(e,R()(r)):D()(n=ie(Object(r))).call(n,(function(t){U()(e,t,V()(r,t))}))}return e}var de=function(e){return"failure"===e?H.a.createElement(y.a,{status:"error",text:"失败",className:"deleteRecord"}):"success"===e?H.a.createElement(y.a,{status:"success",text:"成功",className:"success"}):""},ue=H.a.createElement("a",{className:"ml25 primaryColor font-15",target:"_blank",href:"https://help.gitlink.org.cn/%E7%AC%AC%E4%B8%89%E6%96%B9%E6%9C%8D%E5%8A%A1/%E8%B7%A8%E5%B9%B3%E5%8F%B0%E4%BB%A3%E7%A0%81%E5%90%8C%E6%AD%A5"},H.a.createElement("i",{className:"iconfont icon-a-22ziliaoshouce-xianxing mr5 font-15"}),"使用手册");t.default=l.a.create()((function(e){var t,a,s,i,h,y=e.storeDetail,b=e.form,A=e.reflushRepos,N=b.getFieldDecorator,k=b.validateFields,O=(b.setFieldsValue,b.setFields,b.getFieldsValue),B=y||{},S=B.sync_repositories,j=B.sync_repositories_unique,F=void 0===j?[]:j,V=B.repositoriesBranch,L=void 0===V?{}:V,D=e.match.params,Y=D.owner,R=D.projectsId,G=Object(q.useState)(!1),J=g()(G,2),M=J[0],U=J[1],Z=Object(q.useState)(!1),Q=g()(Z,2),z=Q[0],$=Q[1],ee=Object(q.useState)(),te=g()(ee,2),ae=te[0],ne=te[1],re=Object(q.useState)(1),ce=g()(re,2),le=ce[0],ie=(ce[1],Object(q.useState)(0)),pe=g()(ie,2),fe=(pe[0],pe[1],Object(q.useState)(10)),Ee=g()(fe,2),he=Ee[0],ge=(Ee[1],S&&v()(S).call(S,(function(e){return e.sync_repository_ids}))),ye=ge&&x()(ge).call(ge,1/0).toString(),be=Object(q.useState)([]),ve=g()(be,2),Ae=ve[0],xe=ve[1],Ne=Object(q.useState)(),we=g()(Ne,2),ke=we[0],Ce=we[1],Oe=Object(q.useState)(),_e=g()(Oe,2),Be=_e[0],Ie=_e[1],Se=O().first_sync_direction,je=Be||{},Fe=je.gitlink_branch_name,Ve=je.external_branch_name,Le=je.type,De=Le&&S&&w()(S).call(S,(function(e){return e.type===Le}))[0],Ye={address:De&&De.external_repo_address,branchName:Ve,type:Le&&Le.split("::")[1]},Re={address:C()(t=C()(a="".concat(window.location.origin,"/")).call(a,Y,"/")).call(t,R,".git"),branchName:Fe,type:"gitlink"};function Ge(){var e;ye&&X.a.get(C()(e="/v1/".concat(Y,"/")).call(e,R,"/sync_repositories/branches.json"),{params:{sync_repository_ids:ye,branch_name:ke}}).then((function(e){e&&200===e.status&&xe(e.data.sync_repository_branches)}))}function Je(e){var t,a=e.gitlink_branch_name,n=e.external_branch_name,r=e.enable,c=e.first_sync_direction,l=e.type;X.a.post(C()(t="/v1/".concat(Y,"/")).call(t,R,"/sync_repositories/change_enable.json"),{gitlink_branch_name:a,external_branch_name:n,first_sync_direction:c,repo_type:l,enable:new Boolean(!r).toString()}).then((function(e){e&&e.data&&!e.data.status&&(Ie(void 0),E.a.success("操作成功"),Ge())}))}Object(q.useEffect)((function(){var e;X.a.get(C()(e="/".concat(Y,"/")).call(e,R,"/pulls/get_branches.json"),{}).then((function(e){e&&ne(e.data)}))}),[]),Object(q.useEffect)((function(){Ge()}),[ye,ke]);var Me=[{title:"序号",dataIndex:"index",className:"recordColumns",render:function(e,t,a){return H.a.createElement("span",null,(le-1)*he+a+1)}},{title:"第三方平台分支",dataIndex:"external_branch_name",className:"recordColumns taskName",width:"300px",render:function(e,t){return H.a.createElement("span",null,Object(se.platformLogoUnText)(t.type.split("::")[1],"21px"),e)}},{title:"GitLink分支",dataIndex:"gitlink_branch_name",width:"300px",className:"recordColumns",render:function(e,t){return H.a.createElement("span",null,H.a.createElement("img",{src:W.a,alt:"",style:{width:"20px"},className:"storeLogo mr5"}),e)}},{title:"最后一次同步时间",dataIndex:"sync_time",className:"recordColumns"},{title:"最后一次同步状态",dataIndex:"sync_status",className:"recordColumns",render:function(e){return de(e)}},{title:"操作",dataIndex:"enable",align:"center",className:"primaryColor recordColumns",render:function(e,t){var a,n;return H.a.createElement("div",null,H.a.createElement(K.a,{to:C()(a=C()(n="/".concat(Y,"/")).call(n,R,"/service/reposyncer/record/")).call(a,t.reposync_branch_ids),className:"primaryColor"},"同步记录"),H.a.createElement(f.a,{type:"vertical"}),H.a.createElement("a",{className:"primaryColor",onClick:function(){e?Je(t):Ie(t)}},e?"中止同步":"启动同步"))}}];return H.a.createElement("div",{className:"storeListBox"},H.a.createElement(m.a,{spinning:!S},S&&!S.length&&H.a.createElement(q.Fragment,null,H.a.createElement("div",{className:"headBox font-16 pl15"},"跨平台仓库同步服务",ue),H.a.createElement("div",{className:"nullStoreBox mt25"},H.a.createElement("img",{src:T.a,alt:"",className:"loBox mt50"}),H.a.createElement("p",{className:"font-22 mt10"},"欢迎使用跨平台仓库代码同步服务"),H.a.createElement("div",{className:"introBox font-15"},"跨平台仓库代码同步服务用于不同代码托管平台之间的仓库代码双向同步。用户将不同平台的仓库分支进行绑定,当任意仓库分支有push事件被webhook监听时,代码推送将实时自动同步至另一个仓库,以实现不同平台之间分支、提交信息的自动同步"),H.a.createElement("div",{className:"borBox"}),H.a.createElement(p.a,{type:"primary",style:{width:"112px",height:"36px"}},H.a.createElement(K.a,{to:C()(s="/".concat(Y,"/")).call(s,R,"/service/reposyncer/store/edit")},"开始体验")))),S&&!!S.length&&H.a.createElement(q.Fragment,null,H.a.createElement("div",{className:"headBox flexBetween pl20 mt20"},H.a.createElement("div",null,v()(F).call(F,(function(e,t){return H.a.createElement(q.Fragment,null,H.a.createElement("a",{href:e.external_repo_address,target:"_blank"},Object(se.platformLogo)(e.type)),F[t+1]?H.a.createElement(f.a,{type:"vertical"}):"")})),ue),H.a.createElement("div",{className:"flexBetween"},H.a.createElement(u.a.Search,{placeholder:"搜索分支名称",allowClear:!0,onSearch:function(e){Ce(e)}}),H.a.createElement(p.a,{type:"primary",className:"ml20 mr20",onClick:function(){var e=F[0]&&F[0].type.replace("SyncRepositories::","");1!==F.length||L[e]?$(!0):E.a.error("获取".concat(e,"平台仓库分支列表失败,请检查token是否有效"))}},"添加同步分支"))),H.a.createElement(d.a,{className:"storeListTable mt20",columns:Me,dataSource:Ae,pagination:!1}),H.a.createElement("div",{className:"mt20"},H.a.createElement(p.a,{type:"primary",ghost:!0,className:"mr20",hidden:2===F.length},H.a.createElement(K.a,{to:C()(i="/".concat(Y,"/")).call(i,R,"/service/reposyncer/store/edit")},"添加同步仓库")),H.a.createElement(p.a,{type:"primary",ghost:!0},H.a.createElement(K.a,{to:C()(h="/".concat(Y,"/")).call(h,R,"/service/reposyncer/setting")},"查看同步配置")),H.a.createElement(p.a,{type:"danger",ghost:!0,className:"ml20",onClick:function(){U(!0)}},"解绑此仓库")))),H.a.createElement(c.a,{title:"开启同步",visible:Boolean(Be),onCancel:function(){Ie(void 0)},footer:H.a.createElement("div",null,H.a.createElement(p.a,{style:{width:"95px",height:"32px"},onClick:function(){Ie(void 0)},className:"mr40"},"再想想"),H.a.createElement(p.a,{style:{width:"95px",height:"32px"},type:"primary",ghost:!0,onClick:function(){k((function(e,t){var a;_()(a=I()(e||{})).call(a,"first_sync_direction")||Je(me(me({},Be),{},{first_sync_direction:t.first_sync_direction}))}))}},"开始同步")),width:650,className:"reposyncerModal"},Object(P.confirmInfo1)("重新开启同步时,系统将主分支源码强制向从分支推送,覆盖从分支源码。后续任意分支有push事件,将自动同步至其他分支,与主从设置无关。若想更改主从分支,请返回并更改同步方向"),Be&&H.a.createElement(l.a.Item,{label:"首次同步方向:",labelCol:{span:5},wrapperCol:{span:18}},N("first_sync_direction",{rules:[{required:!0,message:"请选择首次同步方向"}]})(H.a.createElement(o.a,{placeholder:"请选择首次同步方向",style:{width:"100%"}},H.a.createElement(o.a.Option,{value:"2"},Be.type.split("::").pop(),"同步至GitLink"),H.a.createElement(o.a.Option,{value:"1"},"GitLink同步至",Be.type.split("::").pop())))),Se&&Object(P.confirmInfo2)({mainBranch:"1"===Se?Re:Ye,branch:"1"===Se?Ye:Re})),H.a.createElement(c.a,{title:"取消绑定",visible:M,onCancel:function(){U(!1)},footer:H.a.createElement("div",null,H.a.createElement(p.a,{style:{width:"95px",height:"32px"},onClick:function(){U(!1)},className:"mr40"},"取消"),H.a.createElement(p.a,{style:{width:"95px",height:"32px"},onClick:function(){k((function(e,t){var a;if(!_()(a=I()(e||{})).call(a,"repositories")){var n,r=t.repositories,c=x()(r).call(r,1/0).toString();X.a.post(C()(n="/v1/".concat(Y,"/")).call(n,R,"/sync_repositories/unbind.json"),{sync_repository_ids:c}).then((function(e){e&&e.data&&!e.data.status&&(U(!1),E.a.success("取消绑定成功"),A())}))}}))},type:"primary",ghost:!0},"确认")),width:650,className:"reposyncerModal"},H.a.createElement("div",{className:"flexBetween ml15",style:{justifyContent:"flex-start"}},H.a.createElement(r.a,{type:"exclamation-circle",theme:"filled",style:{fontSize:"22px",color:"#CA0002"}}),H.a.createElement("span",{className:"font-16 ml10",style:{lineHeight:"30px"}},F.length>1?"请选择您要解绑的仓库":"您确定要清空已绑定仓库?")),H.a.createElement("div",{className:"font-15 mt5 mb25 ml15"},"此操作将清空所有绑定仓库/绑定分支及同步日志,请谨慎操作"),H.a.createElement(l.a.Item,{style:{padding:"5px 15px"}},N("repositories",{rules:[{required:!0,message:"至少选择一个仓库"}]})(H.a.createElement(n.a.Group,null,v()(F).call(F,(function(e,t){return H.a.createElement(n.a,{key:t,value:e.sync_repository_ids,className:"infoBoxBlueBg mb20",style:{width:"570px",marginLeft:"0px"}},Object(se.platformLogo)(e.type),H.a.createElement("span",{className:"ml10"},e.external_repo_address))})))))),H.a.createElement(oe,{owner:Y,projectsId:R,visible:z,setVisible:$,branchList:ae,sync_repositories_unique:F,reload:Ge,repositoriesBranch:L}))}))}}]); |