Files
nextcloud-server-mirror/dist/federation-settings-admin.mjs
2026-10-07 08:58:40 +00:00

3 lines
6.9 KiB
JavaScript

import{e as g,s as D,o as l,f as U,l as h,t as E,u as t,n as u,p as _,w as T,y as L,q as w,x as k,k as f,i as p,h as P,Y as O,G as R,H as q,a as G}from"./PencilOutline-C4ZkKkas.chunk.mjs";import{d as b,c as F,l as K}from"./star-outline-BpDZzOb8.chunk.mjs";import{t as r}from"./translations-pLZlvQeM.chunk.mjs";import{N as V}from"./cancel-DDzvQ-HX.chunk.mjs";import{N as z}from"./NcSettingsSection-DeN6Lle1.chunk.mjs";import{P as B,N as C,Q as M,b as j,c as H,e as Q}from"./Link-CUdpEe-t.chunk.mjs";import{e as W,b as y}from"./index-UXL_i2di.chunk.mjs";import{N as A}from"./ArrowRight-COu6qSN5.chunk.mjs";import{_ as Y}from"./NcHighlight.vue_vue_type_script_lang-CT7Xx-zK.chunk.mjs";import{c as $,i as J}from"./index-DHyMMYTN.chunk.mjs";import{g as X}from"./livePhotoUtils-CVUhgL4S.chunk.mjs";import{N as Z}from"./Check-CEU1oy_I.chunk.mjs";import"./formatRelative-uuSCBZ1C.chunk.mjs";import"./_l10n-CK24vgHE.chunk.mjs";import"./File-xDTWu8L0.chunk.mjs";import"./AlertCircleOutline-jA3ki2Uu.chunk.mjs";import"./TrayArrowDown-vMg8Cl05.chunk.mjs";import"./Web-BMG0zIln.chunk.mjs";import"./NcModal-BxLzaUZK.chunk.mjs";import"./MapMarkerOutline-Ip3bQdll.chunk.mjs";import"./index-D6fZh9CR.chunk.mjs";import"./NcInputField-wKF2DDSn.chunk.mjs";const d=Object.freeze({STATUS_OK:1,STATUS_PENDING:2,STATUS_FAILURE:3,STATUS_ACCESS_REVOKED:4});class N extends Error{}async function ee(a){try{const{data:i}=await $.post(b("apps/federation/trusted-servers"),{url:a}),s=i.ocs.data;return{id:s.id,url:s.url,status:d.STATUS_PENDING}}catch(i){throw I(i)}}async function te(a){try{await $.delete(b(`apps/federation/trusted-servers/${a}`))}catch(i){throw I(i)}}function I(a){return J(a)&&a.response?.data?.ocs?new N(a.response.data.ocs.meta.message,{cause:a}):a}const x=X().setApp("federation").build(),re=g({__name:"AddTrustedServerForm",emits:["add"],setup(a,{emit:i}){const s=i,v=D("form"),o=w("");async function m(){try{const e=await ee(o.value);o.value="",s("add",e),k(()=>v.value?.reset()),W(r("federation","Added to the list of trusted servers"))}catch(e){x.error("Failed to add trusted server",{error:e}),e instanceof N?y(e.message):y(r("federation","Could not add trusted server. Please try again later."))}}return(e,n)=>(l(),U("form",{ref:"form",onSubmit:L(m,["prevent"])},[h("h3",{class:u(e.$style.addTrustedServerForm__heading)},E(t(r)("federation","Add trusted server")),3),h("div",{class:u(e.$style.addTrustedServerForm__wrapper)},[_(t(Y),{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[0]=c=>o.value=c),label:t(r)("federation","Server url"),placeholder:"https://…",required:"",type:"url"},null,8,["modelValue","label"]),_(t(C),{class:u(e.$style.addTrustedServerForm__submitButton),"aria-label":t(r)("federation","Add"),title:t(r)("federation","Add"),type:"submit",variant:"primary"},{icon:T(()=>[_(t(A),{path:t(B)},null,8,["path"])]),_:1},8,["class","aria-label","title"])],2)],544))}}),se="_addTrustedServerForm__heading_14ngv_2",ae="_addTrustedServerForm__wrapper_14ngv_7",ie="_addTrustedServerForm__submitButton_14ngv_14",oe={addTrustedServerForm__heading:se,addTrustedServerForm__wrapper:ae,addTrustedServerForm__submitButton:ie},de={$style:oe},ne=F(re,[["__cssModules",de]]),le=["textContent"],ue=g({__name:"TrustedServer",props:{server:{}},emits:["delete"],setup(a,{emit:i}){const s=a,v=i,o=w(!1),m=p(()=>s.server.status===d.STATUS_FAILURE),e=p(()=>{switch(s.server.status){case d.STATUS_OK:return Q;case d.STATUS_PENDING:case d.STATUS_ACCESS_REVOKED:return H;case d.STATUS_FAILURE:default:return j}}),n=p(()=>{switch(s.server.status){case d.STATUS_OK:return[r("federation","Server ok"),r("federation","User list was exchanged at least once successfully with the remote server.")];case d.STATUS_PENDING:return[r("federation","Server pending"),r("federation","Waiting for shared secret or initial user list exchange.")];case d.STATUS_ACCESS_REVOKED:return[r("federation","Server access revoked"),r("federation","Server access revoked")];case d.STATUS_FAILURE:default:return[r("federation","Server failure"),r("federation","Connection to the remote server failed or the remote server is misconfigured.")]}});async function c(){try{o.value=!0,await te(s.server.id),v("delete",s.server)}catch(S){o.value=!1,x.error("Failed to delete trusted server",{error:S}),y(r("federation","Failed to delete trusted server. Please try again later."))}}return(S,Ee)=>(l(),U("li",{class:u(S.$style.trustedServer)},[_(t(A),{class:u({[S.$style.trustedServer__icon_error]:m.value}),path:e.value,name:n.value[0],title:n.value[1]},null,8,["class","path","name","title"]),h("code",{class:u(S.$style.trustedServer__url),textContent:E(a.server.url)},null,10,le),_(t(C),{"aria-label":t(r)("federation","Delete"),title:t(r)("federation","Delete"),disabled:o.value,onClick:c},{icon:T(()=>[o.value?(l(),f(t(Z),{key:0})):(l(),f(t(A),{key:1,path:t(M)},null,8,["path"]))]),_:1},8,["aria-label","title","disabled"])],2))}}),_e="_trustedServer_1wqey_2",ce="_trustedServer__icon_error_1wqey_15",ve="_trustedServer__url_1wqey_19",me={trustedServer:_e,trustedServer__icon_error:ce,trustedServer__url:ve},Se={$style:me},fe=F(ue,[["__cssModules",Se]]),pe=g({__name:"AdminSettings",setup(a){const i=K("federation","adminSettings"),s=w(i.trustedServers),v=p(()=>s.value.some(e=>e.status===d.STATUS_PENDING));async function o(e){s.value.unshift(e)}function m(e){s.value=s.value.filter(n=>n.id!==e.id)}return(e,n)=>(l(),f(t(z),{name:t(r)("federation","Trusted servers"),docUrl:t(i).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:T(()=>[v.value?(l(),f(t(V),{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"])):P("",!0),_(O,{class:u(e.$style.federationAdminSettings__trustedServersList),"aria-label":t(r)("federation","Trusted servers"),tag:"ul",enterFromClass:e.$style.transition_hidden,enterActiveClass:e.$style.transition_active,leaveActiveClass:e.$style.transition_active,leaveToClass:e.$style.transition_hidden},{default:T(()=>[(l(!0),U(R,null,q(s.value,c=>(l(),f(fe,{key:c.id,class:u(e.$style.federationAdminSettings__trustedServersListItem),server:c,onDelete:m},null,8,["class","server"]))),128))]),_:1},8,["class","aria-label","enterFromClass","enterActiveClass","leaveActiveClass","leaveToClass"]),_(ne,{onAdd:o})]),_:1},8,["name","docUrl","description"]))}}),Te="_federationAdminSettings__trustedServersList_z3uvu_2",he="_federationAdminSettings__trustedServersListItem_z3uvu_9",ye="_transition_active_z3uvu_13",Ae="_transition_hidden_z3uvu_17",ge={federationAdminSettings__trustedServersList:Te,federationAdminSettings__trustedServersListItem:he,transition_active:ye,transition_hidden:Ae},Ue={$style:ge},we=F(pe,[["__cssModules",Ue]]),Fe=G(we);Fe.mount("#federation-admin-settings");
//# sourceMappingURL=federation-settings-admin.mjs.map