mirror of
https://github.com/nextcloud/server.git
synced 2026-04-22 23:03:00 -04:00
2 lines
6.5 KiB
JavaScript
2 lines
6.5 KiB
JavaScript
import{g as D,j as g,p as L,q as U,E as w,o as l,H as T,f as F,y as t,t as r,G as u,b as c,w as h,Q as k,O,R,s as p,S as P,T as V,U as q,c as f,V as G,l as K,F as z,W as M,M as B,N as j,h as W}from"./mdi-B9XVyi7B.chunk.mjs";import{N as y,b,e as H}from"./NcNoteCard-CVhtNL04-BSciYEDO.chunk.mjs";import{N as Q}from"./ContentCopy-CFmC6HSf.chunk.mjs";import{d as J,s as A}from"./index-JpgrUA2Z-ClfXhQGo.chunk.mjs";import{_ as X}from"./TrashCanOutline-u_08oBcy.chunk.mjs";import{c as $,i as Y}from"./index-BOuI_nzB.chunk.mjs";import{g as N,_ as E}from"./_plugin-vue_export-helper-CDPKodk-.chunk.mjs";import{N as Z}from"./PencilOutline-BWbwYeLs.chunk.mjs";import"./NcInputField-Bwsh2aHY-kbXSi5f0.chunk.mjs";import"./string_decoder-mL5xNZ9K.chunk.mjs";const i=Object.freeze({STATUS_OK:1,STATUS_PENDING:2,STATUS_FAILURE:3,STATUS_ACCESS_REVOKED:4});class I extends Error{}async function ee(a){try{const{data:d}=await $.post(N("apps/federation/trusted-servers"),{url:a}),s=d.ocs.data;return{id:s.id,url:s.url,status:i.STATUS_PENDING}}catch(d){throw x(d)}}async function te(a){try{await $.delete(N(`apps/federation/trusted-servers/${a}`))}catch(d){throw x(d)}}function x(a){return Y(a)&&a.response?.data?.ocs?new I(a.response.data.ocs.meta.message,{cause:a}):a}const C=D().setApp("federation").build(),re=g({__name:"AddTrustedServerForm",emits:["add"],setup(a,{emit:d}){const s=d,v=L("form"),n=U("");async function m(){try{const e=await ee(n.value);n.value="",s("add",e),R(()=>v.value?.reset()),J(r("federation","Added to the list of trusted servers"))}catch(e){C.error("Failed to add trusted server",{error:e}),e instanceof I?A(e.message):A(r("federation","Could not add trusted server. Please try again later."))}}return(e,o)=>(l(),w("form",{ref:"form",onSubmit:O(m,["prevent"])},[T("h3",{class:u(e.$style.addTrustedServerForm__heading)},F(t(r)("federation","Add trusted server")),3),T("div",{class:u(e.$style.addTrustedServerForm__wrapper)},[c(t(X),{modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=_=>n.value=_),label:t(r)("federation","Server url"),placeholder:"https://…",required:"",type:"url"},null,8,["modelValue","label"]),c(t(b),{class:u(e.$style.addTrustedServerForm__submitButton),"aria-label":t(r)("federation","Add"),title:t(r)("federation","Add"),type:"submit",variant:"primary"},{icon:h(()=>[c(t(y),{path:t(k)},null,8,["path"])]),_:1},8,["class","aria-label","title"])],2)],544))}}),se="_addTrustedServerForm__heading_14ngv_2",ae="_addTrustedServerForm__wrapper_14ngv_7",de="_addTrustedServerForm__submitButton_14ngv_14",ne={addTrustedServerForm__heading:se,addTrustedServerForm__wrapper:ae,addTrustedServerForm__submitButton:de},ie={$style:ne},oe=E(re,[["__cssModules",ie]]),le=["textContent"],ue=g({__name:"TrustedServer",props:{server:{}},emits:["delete"],setup(a,{emit:d}){const s=a,v=d,n=U(!1),m=p(()=>s.server.status===i.STATUS_FAILURE),e=p(()=>{switch(s.server.status){case i.STATUS_OK:return q;case i.STATUS_PENDING:case i.STATUS_ACCESS_REVOKED:return V;case i.STATUS_FAILURE:default:return P}}),o=p(()=>{switch(s.server.status){case i.STATUS_OK:return[r("federation","Server ok"),r("federation","User list was exchanged at least once successfully with the remote server.")];case i.STATUS_PENDING:return[r("federation","Server pending"),r("federation","Waiting for shared secret or initial user list exchange.")];case i.STATUS_ACCESS_REVOKED:return[r("federation","Server access revoked"),r("federation","Server access revoked")];case i.STATUS_FAILURE:default:return[r("federation","Server failure"),r("federation","Connection to the remote server failed or the remote server is misconfigured.")]}});async function _(){try{n.value=!0,await te(s.server.id),v("delete",s.server)}catch(S){n.value=!1,C.error("Failed to delete trusted server",{error:S}),A(r("federation","Failed to delete trusted server. Please try again later."))}}return(S,Fe)=>(l(),w("li",{class:u(S.$style.trustedServer)},[c(t(y),{class:u({[S.$style.trustedServer__icon_error]:m.value}),path:e.value,name:o.value[0],title:o.value[1]},null,8,["class","path","name","title"]),T("code",{class:u(S.$style.trustedServer__url),textContent:F(a.server.url)},null,10,le),c(t(b),{"aria-label":t(r)("federation","Delete"),title:t(r)("federation","Delete"),disabled:n.value,onClick:_},{icon:h(()=>[n.value?(l(),f(t(Z),{key:0})):(l(),f(t(y),{key:1,path:t(G)},null,8,["path"]))]),_:1},8,["aria-label","title","disabled"])],2))}}),ce="_trustedServer_1wqey_2",_e="_trustedServer__icon_error_1wqey_15",ve="_trustedServer__url_1wqey_19",me={trustedServer:ce,trustedServer__icon_error:_e,trustedServer__url:ve},Se={$style:me},fe=E(ue,[["__cssModules",Se]]),pe=g({__name:"AdminSettings",setup(a){const d=K("federation","adminSettings"),s=U(d.trustedServers),v=p(()=>s.value.some(e=>e.status===i.STATUS_PENDING));async function n(e){s.value.unshift(e)}function m(e){s.value=s.value.filter(o=>o.id!==e.id)}return(e,o)=>(l(),f(t(Q),{name:t(r)("federation","Trusted servers"),"doc-url":t(d).docUrl,description:t(r)("federation","Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share.")},{default:h(()=>[v.value?(l(),f(t(H),{key:0,type:"info",text:t(r)("federation","Each server must validate the other. This process may require a few cron cycles.")},null,8,["text"])):z("",!0),c(M,{class:u(e.$style.federationAdminSettings__trustedServersList),"aria-label":t(r)("federation","Trusted servers"),tag:"ul","enter-from-class":e.$style.transition_hidden,"enter-active-class":e.$style.transition_active,"leave-active-class":e.$style.transition_active,"leave-to-class":e.$style.transition_hidden},{default:h(()=>[(l(!0),w(B,null,j(s.value,_=>(l(),f(fe,{key:_.id,class:u(e.$style.federationAdminSettings__trustedServersListItem),server:_,onDelete:m},null,8,["class","server"]))),128))]),_:1},8,["class","aria-label","enter-from-class","enter-active-class","leave-active-class","leave-to-class"]),c(oe,{onAdd:n})]),_:1},8,["name","doc-url","description"]))}}),he="_federationAdminSettings__trustedServersList_z3uvu_2",Te="_federationAdminSettings__trustedServersListItem_z3uvu_9",ye="_transition_active_z3uvu_13",Ae="_transition_hidden_z3uvu_17",ge={federationAdminSettings__trustedServersList:he,federationAdminSettings__trustedServersListItem:Te,transition_active:ye,transition_hidden:Ae},Ue={$style:ge},we=E(pe,[["__cssModules",Ue]]),Ee=W(we);Ee.mount("#federation-admin-settings");
|
|
//# sourceMappingURL=federation-settings-admin.mjs.map
|