UNPKG

n8n-editor-ui

Version:

Workflow Editor UI for n8n

2 lines 15.1 kB
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`n8n@2.16.1`}}catch{}})();try{(function(){var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`feed0386-445c-4c90-8abf-13e40942d154`,e._sentryDebugIdIdentifier=`sentry-dbid-feed0386-445c-4c90-8abf-13e40942d154`)})()}catch{}import"./chunk-CACdhNlC.js";import{$ as e,A as t,Bt as n,C as r,E as i,Ft as a,N as o,O as s,S as c,Sn as l,T as u,Wt as d,X as f,Z as p,_ as m,_n as h,bt as g,j as _,ot as v,rt as y,w as b,yt as x}from"./vue.runtime.esm-bundler-C3C09Zii.js";import{at as S,ot as C}from"./core-Bz5WjPxS.js";import{At as w,Di as T,Ft as E,It as D,Ji as O,Pi as k,Qi as A,Xi as j,Zi as M,jt as N,tt as P,wt as F}from"./src-XqE2yCpG.js";import{t as I}from"./_plugin-vue_export-helper-CIL7EULb.js";import{Ln as L,Pn as R,Rt as z,ai as B,mi as V,ni as H,r as U,wr as W}from"./users.store-xP93bV7X.js";import{$a as ee,Cs as G,os as K}from"./constants-DuQbSl-q.js";import{t as q}from"./useRootStore-XEREVjMN.js";import{Kt as te,t as J}from"./settings.store-CAFiYCMH.js";import{t as ne}from"./usePageRedirectionHelper-CC6sh9o0.js";import{n as Y,t as X}from"./ProjectIcon-BXpCWdRd.js";import{t as Z}from"./SecretsProviderImage.ee-CTOBX0X6.js";import{t as re}from"./useSecretsProviderConnection.ee-Bn4PrjQN.js";import{t as ie}from"./useSecretsProvidersList.ee-BI7Qpnip.js";var Q={"data-test-id":`secrets-provider-display-name`},ae={"data-test-id":`secrets-provider-secrets-count`},oe={"data-test-id":`secrets-provider-created-at`},se={key:1},ce=I(o({__name:`SecretsProviderConnectionCard.ee`,props:{provider:{},providerTypeInfo:{},project:{},canUpdate:{type:Boolean}},emits:[`edit`,`share`,`reload`,`delete`,`activate`],setup(a,{emit:o}){let f=S(),p=V(),m=B(),y=J().moduleSettings[`external-secrets`]?.forProjects??!1,C=a,D=o,k=n(C,`provider`),A=n(C,`providerTypeInfo`),M=c(()=>ee.fromISO(W(k.value.createdAt)?k.value.createdAt.toISOString():k.value.createdAt||new Date().toISOString()).toFormat(`dd LLL yyyy`)),N=c(()=>k.value.state===`error`),P=c(()=>k.value.isEnabled===!1),I=c(()=>p.hasScope(`externalSecretsProvider:delete`)?!0:k.value.projects.length>0?k.value.projects.every(e=>m.myProjects.find(t=>t.id===e.id)?.scopes?.includes(`externalSecretsProvider:delete`)??!1):!1),L=c(()=>p.hasScope(`externalSecretsProvider:sync`)?!0:k.value.projects.length>0?k.value.projects.every(e=>m.myProjects.find(t=>t.id===e.id)?.scopes?.includes(`externalSecretsProvider:sync`)??!1):!1),R=c(()=>k.value.projects.length===0),z=c(()=>{if(C.project){let{name:e,email:t}=H(C.project.name??void 0);return e??t??``}return``}),U=c(()=>R.value?{type:`icon`,value:`globe`}:Y(C.project?.icon)?C.project.icon:{type:`icon`,value:`layers`}),G=c(()=>R.value?f.baseText(`settings.secretsProviderConnections.badge.tooltip.global`):f.baseText(`settings.secretsProviderConnections.badge.tooltip.project`,{interpolate:{projectName:z.value}})),K=c(()=>{if(!C.canUpdate)return[];let e=[{label:f.baseText(`generic.edit`),value:`edit`}];return P.value&&e.push({label:f.baseText(`generic.activate`),value:`activate`}),y&&e.push({label:f.baseText(`settings.secretsProviderConnections.actions.share`),value:`share`}),k.value.state===`connected`&&L.value&&!P.value&&e.push({label:f.baseText(`settings.externalSecrets.card.actionDropdown.reload`),value:`reload`}),I.value&&e.push({label:f.baseText(`generic.delete`),value:`delete`}),e});function q(e){e===`edit`?D(`edit`,k.value.name):e===`activate`?D(`activate`,k.value.name):e===`share`?D(`share`,k.value.name):e===`reload`?D(`reload`,k.value.name):e===`delete`&&D(`delete`,k.value.name)}return(n,a)=>{let o=v(`n8n-truncate`);return e(),b(d(F),{class:h(n.$style.card)},s({header:x(()=>[r(`div`,{class:h(n.$style.headerContainer)},[_(d(O),{tag:`h2`,bold:``,"data-test-id":`secrets-provider-name`},{default:x(()=>[t(l(k.value.name),1)]),_:1}),P.value?(e(),b(d(E),{key:0,theme:`tertiary`,bold:!1,size:`xsmall`,"data-test-id":`disabled-badge`},{default:x(()=>[t(l(d(f).baseText(`settings.secretsProviderConnections.state.disabled`)),1)]),_:1})):N.value?(e(),b(d(E),{key:1,theme:`warning`,bold:!1,size:`xsmall`,"data-test-id":`disconnected-badge`},{default:x(()=>[t(l(d(f).baseText(`settings.secretsProviderConnections.state.disconnected`)),1)]),_:1})):u(``,!0)],2)]),default:x(()=>[_(d(j),{class:`pb-4xs`,color:`text-light`,size:`small`},{default:x(()=>[r(`span`,Q,l(A.value?.displayName??k.value.type),1),a[0]||=t(` | `,-1),r(`span`,ae,l(d(f).baseText(`settings.externalSecrets.card.secretsCount`,{interpolate:{count:k.value.secretsCount},adjustToNumber:k.value.secretsCount})),1),a[1]||=t(` | `,-1),r(`span`,oe,l(d(f).baseText(`settings.secretsProviderConnections.card.createdAt`,{interpolate:{date:M.value}})),1)]),_:1})]),append:x(()=>[P.value?u(``,!0):(e(),b(d(T),{key:0,class:h(n.$style.cardBadge),placement:`top`},{content:x(()=>[t(l(G.value),1)]),default:x(()=>[_(d(E),{class:h(n.$style.badge),theme:`tertiary`,"data-test-id":R.value?`secrets-provider-global-badge`:`secrets-provider-project-badge`},{default:x(()=>[_(X,{icon:U.value,"border-less":!0,size:`mini`},null,8,[`icon`]),R.value?(e(),i(`span`,se,l(d(f).baseText(`projects.badge.global`)),1)):g((e(),i(`span`,{key:0,class:h(n.$style.nowrap)},[t(l(z.value),1)],2)),[[o,z.value,`20`]])]),_:1},8,[`class`,`data-test-id`])]),_:1},8,[`class`])),_(d(w),{actions:K.value,"data-test-id":`secrets-provider-action-toggle`,onAction:q},null,8,[`actions`])]),_:2},[A.value?{name:`prepend`,fn:x(()=>[_(Z,{class:h(n.$style.providerImage),provider:A.value,"data-test-id":`secrets-provider-image`},null,8,[`class`,`provider`])]),key:`0`}:void 0]),1032,[`class`])}}}),[[`__cssModules`,{$style:{card:`_card_1rkda_2`,providerImage:`_providerImage_1rkda_13`,headerContainer:`_headerContainer_1rkda_18`,cardBadge:`_cardBadge_1rkda_24`,badge:`_badge_1rkda_28`,nowrap:`_nowrap_1rkda_42`}}]]),le=I(o({__name:`SecretsProvidersEmptyState.ee`,props:{providerTypes:{},canCreate:{type:Boolean}},emits:[`addSecretsStore`],setup(o,{emit:s}){let m=S(),g=n(o,`providerTypes`),v=c(()=>g.value??[]),y=s,C=a(0),w=a(2),T=a(!1),E=a(!1),D=null;function j(){T.value=!0,setTimeout(()=>{C.value=(C.value+1)%v.value.length,T.value=!1},300)}function N(){E.value=!0,setTimeout(()=>{w.value=(w.value+1)%v.value.length,E.value=!1},300)}f(()=>{D=setInterval(()=>{j(),setTimeout(()=>{N()},1500)},3e3)}),p(()=>{D&&clearInterval(D)});function P(){y(`addSecretsStore`)}return(n,a)=>(e(),b(d(k),{class:`mt-2xl mb-l`,description:`yes`,"data-test-id":`secrets-provider-connections-empty-state`},{description:x(()=>[r(`div`,{class:h(n.$style.iconCardContainer)},[v.value?.[C.value]?(e(),i(`div`,{key:0,class:h(n.$style.iconCard)},[_(Z,{provider:v.value?.[C.value],class:h([n.$style.providerLogo,{[n.$style.fading]:T.value}])},null,8,[`provider`,`class`])],2)):u(``,!0),r(`div`,{class:h(n.$style.iconCard)},[_(d(A),{icon:`vault`})],2),v.value?.[w.value]?(e(),i(`div`,{key:1,class:h(n.$style.iconCard)},[_(Z,{provider:v.value?.[w.value],class:h([n.$style.providerLogo,{[n.$style.fading]:E.value}])},null,8,[`provider`,`class`])],2)):u(``,!0)],2),_(d(O),{tag:`h2`,size:`medium`,align:`center`,class:`mb-2xs`},{default:x(()=>[t(l(d(m).baseText(`settings.secretsProviderConnections.emptyState.heading`)),1)]),_:1}),r(`div`,null,l(d(m).baseText(`settings.secretsProviderConnections.emptyState.description`)),1)]),additionalContent:x(()=>[_(d(M),{variant:`ghost`,class:`mr-2xs n8n-button--highlight`,href:d(m).baseText(`settings.externalSecrets.docs`),target:`_blank`,"data-test-id":`secrets-provider-connections-learn-more`},{default:x(()=>[t(l(d(m).baseText(`generic.learnMore`))+` `,1),_(d(A),{icon:`arrow-up-right`})]),_:1},8,[`href`]),o.canCreate?(e(),b(d(M),{key:0,variant:`solid`,onClick:P},{default:x(()=>[t(l(d(m).baseText(`settings.secretsProviderConnections.buttons.addSecretsStore`)),1)]),_:1})):u(``,!0)]),_:1}))}}),[[`__cssModules`,{$style:{iconCardContainer:`_iconCardContainer_mo660_2`,iconCard:`_iconCard_mo660_2`,providerLogo:`_providerLogo_mo660_41`,fading:`_fading_mo660_52`}}]]),ue={key:0,"data-test-id":`secrets-provider-connections-content-licensed`},de={key:0,"data-test-id":`secrets-providers-loading`},fe={key:2},pe=[`href`],$=I(o({__name:`SettingsSecretsProviders.ee`,setup(n){let o=S(),s=ie(),p=B(),g=J(),v=q(),w=R(),T=L(),E=z(),F=ne(),I=U(),V=re(p.currentProjectId),H=c(()=>s.activeProviders.value.length>0),W=c(()=>g.moduleSettings[`external-secrets`]),ee=c(()=>W.value?.roleBasedAccess??!1),Y=a(!1),X=a(!1);async function Z(e){let t=!!e;if(!(!t&&await T.confirm(o.baseText(`settings.externalSecrets.systemRoles.confirm.message`),o.baseText(`settings.externalSecrets.systemRoles.confirm.headline`),{confirmButtonText:o.baseText(`settings.externalSecrets.systemRoles.confirm.confirmButtonText`),cancelButtonText:o.baseText(`settings.externalSecrets.systemRoles.confirm.cancelButtonText`)})!==`confirm`)){X.value=!0;try{Y.value=(await te(v.restApiContext,{systemRolesEnabled:t})).systemRolesEnabled,await g.getModuleSettings(),w.showMessage({title:t?o.baseText(`settings.externalSecrets.systemRoles.enabled.toast`):o.baseText(`settings.externalSecrets.systemRoles.disabled.toast`),type:`success`})}catch(e){w.showError(e,o.baseText(`settings.externalSecrets.systemRoles.error`))}finally{X.value=!1}}}let Q=c(()=>[...s.activeProviders.value].sort((e,t)=>e.name.localeCompare(t.name)));function ae(e){return!e||e.projects.length===0?null:p.projects.find(t=>t.id===e.projects[0].id)??null}async function oe(e){try{await V.activateConnection(e),await s.fetchConnection(e),w.showMessage({title:o.baseText(`settings.secretsProviderConnections.actions.activate.success.title`),message:o.baseText(`settings.secretsProviderConnections.actions.activate.success.description`,{interpolate:{provider:e}}),type:`success`})}catch(t){w.showError(t,o.baseText(`settings.secretsProviderConnections.actions.activate.error.title`),o.baseText(`settings.secretsProviderConnections.actions.activate.error.description`,{interpolate:{provider:e}}))}}function se(e){return s.providerTypes.value.find(t=>t.type===e)}function $(e,t=`connection`){let n=s.activeProviders.value.map(e=>e.name);I.openModalWithData({name:G,data:{activeTab:t,providerKey:e,providerTypes:s.providerTypes.value,existingProviderNames:n,onClose:async()=>{await s.fetchActiveConnections()}}})}function me(e){$(e,`connection`)}function he(e){$(e,`connection`)}function ge(e){$(e,`sharing`)}async function _e(e){try{if(!(await V.reloadConnection(e)).success){w.showError(Error(`Reload failed`),o.baseText(`error`));return}w.showMessage({title:o.baseText(`settings.externalSecrets.card.reload.success.title`),message:o.baseText(`settings.externalSecrets.card.reload.success.description`,{interpolate:{provider:e}}),type:`success`}),await s.fetchConnection(e)}catch(e){w.showError(e,o.baseText(`error`))}}function ve(e){let t=s.activeProviders.value.find(t=>t.name===e);t&&I.openModalWithData({name:K,data:{providerKey:t.name,providerName:t.name,secretsCount:t.secretsCount??0,projectId:t.projects.length>0?t.projects[0].id:void 0,onConfirm:async()=>{await s.fetchActiveConnections()}}})}f(async()=>{if(E.set(o.baseText(`settings.secretsProviderConnections.title`)),s.isEnterpriseExternalSecretsEnabled.value){try{await Promise.all([s.fetchProviderTypes(),s.fetchActiveConnections(),p.getAllProjects()])}catch(e){w.showError(e,o.baseText(`error`))}Y.value=W.value?.systemRolesEnabled??!1}});function ye(){F.goToUpgrade(`external-secrets`,`upgrade-external-secrets`)}return(n,a)=>(e(),i(`div`,{class:h(n.$style.container)},[r(`div`,{class:h([`mb-xl`,n.$style.headerContainer])},[r(`div`,{class:h(n.$style.headerTitle)},[_(d(O),{tag:`h1`,size:`2xlarge`},{default:x(()=>[t(l(d(o).baseText(`settings.secretsProviderConnections.title`)),1)]),_:1}),d(s).isEnterpriseExternalSecretsEnabled.value&&H.value?(e(),b(d(j),{key:0,color:`text-base`,size:`medium`},{default:x(()=>[t(l(d(o).baseText(`settings.secretsProviderConnections.description`))+` `+l(d(o).baseText(`credentialResolver.view.learnMore`))+` `,1),_(d(P),{theme:`text`,href:d(o).baseText(`settings.externalSecrets.docs`),size:`medium`,"new-window":``},{default:x(()=>[r(`span`,{class:h(n.$style.link)},[t(l(d(o).baseText(`generic.documentation`))+` `,1),_(d(A),{icon:`arrow-up-right`})],2)]),_:1},8,[`href`])]),_:1})):u(``,!0),ee.value?(e(),i(`div`,{key:1,class:h([n.$style.systemRolesToggle,`mt-xl`]),"data-test-id":`external-secrets-system-roles-toggle`},[r(`div`,{class:h(n.$style.systemRolesToggleInfo)},[_(d(j),{bold:!0,size:`small`},{default:x(()=>[t(l(d(o).baseText(`settings.externalSecrets.systemRoles.title`)),1)]),_:1}),_(d(j),{size:`small`,color:`text-light`},{default:x(()=>[t(l(d(o).baseText(`settings.externalSecrets.systemRoles.description`)),1)]),_:1})],2),_(d(D),{"model-value":Y.value,loading:X.value,"data-test-id":`external-secrets-system-roles-switch`,"onUpdate:modelValue":Z},null,8,[`model-value`,`loading`])],2)):u(``,!0),H.value&&d(s).canCreate.value?(e(),b(d(M),{key:2,class:h(n.$style.addButton),variant:`solid`,size:`small`,onClick:a[0]||=e=>$()},{default:x(()=>[_(d(A),{icon:`plus`}),t(` `+l(d(o).baseText(`settings.secretsProviderConnections.buttons.addSecretsStore`)),1)]),_:1},8,[`class`])):u(``,!0)],2)],2),d(s).isEnterpriseExternalSecretsEnabled.value?(e(),i(`div`,ue,[d(s).isLoading.value&&!H.value?(e(),i(`div`,de,[(e(),i(m,null,y(3,e=>r(`div`,{key:e,class:`mb-2xs`},[_(d(N),{variant:`p`,rows:1})])),64))])):H.value?(e(),i(`div`,fe,[(e(!0),i(m,null,y(Q.value,t=>(e(),b(ce,{key:t.name,class:`mb-2xs`,provider:t,"provider-type-info":se(t.type),project:ae(t),"can-update":d(s).canUpdate.value,onClick:e=>me(t.name),onEdit:he,onShare:ge,onReload:_e,onActivate:oe,onDelete:ve},null,8,[`provider`,`provider-type-info`,`project`,`can-update`,`onClick`]))),128))])):(e(),b(le,{key:1,"provider-types":d(s).providerTypes.value,"can-create":d(s).canCreate.value,onAddSecretsStore:a[1]||=e=>$()},null,8,[`provider-types`,`can-create`]))])):(e(),b(d(k),{key:1,class:`mt-2xl mb-l`,"data-test-id":`secrets-provider-connections-content-unlicensed`,"button-text":d(o).baseText(`settings.externalSecrets.actionBox.buttonText`),onClick:ye},{heading:x(()=>[r(`span`,null,l(d(o).baseText(`settings.externalSecrets.actionBox.title`)),1)]),description:x(()=>[_(d(C),{keypath:`settings.externalSecrets.actionBox.description`,scope:`global`},{link:x(()=>[r(`a`,{href:d(o).baseText(`settings.externalSecrets.docs`),target:`_blank`},l(d(o).baseText(`settings.externalSecrets.actionBox.description.link`)),9,pe)]),_:1})]),_:1},8,[`button-text`]))],2))}}),[[`__cssModules`,{$style:{container:`_container_2jh78_2`,headerContainer:`_headerContainer_2jh78_8`,headerTitle:`_headerTitle_2jh78_14`,addButton:`_addButton_2jh78_20`,link:`_link_2jh78_25`,systemRolesToggle:`_systemRolesToggle_2jh78_31`,systemRolesToggleInfo:`_systemRolesToggleInfo_2jh78_40`}}]]);export{$ as default}; //# sourceMappingURL=SettingsSecretsProviders.ee-CwvQFmmo.js.map