n8n-editor-ui 1.63.2 → 1.64.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee-BrHzX0gM.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DZsUO41i.js} +2 -3
  2. package/dist/assets/{AuthView-DBTpAWBR.js → AuthView-CCyCGmwi.js} +3 -6
  3. package/dist/assets/{AuthView-BnHKMYu_.css → AuthView-Cnr31xHM.css} +6 -5
  4. package/dist/assets/{CanvasControls-DJjSv7Wo.js → CanvasControls-Bh28om35.js} +1 -31
  5. package/dist/assets/{ChangePasswordView-4HfufusV.js → ChangePasswordView-CzOXz1B5.js} +2 -32
  6. package/dist/assets/CollectionParameter--dDx2Uul.js +4 -0
  7. package/dist/assets/{CredentialsView-ChVc0kqb.js → CredentialsView-Uwkj-6Gn.js} +5 -35
  8. package/dist/assets/{ErrorView-C3MNpu-h.js → ErrorView-Du8F4roT.js} +1 -31
  9. package/dist/assets/{ExecutionsFilter-C71cMIbt.js → ExecutionsFilter-X5OsOzg1.js} +2 -5
  10. package/dist/assets/{ExecutionsView-CyfD2AaP.js → ExecutionsView-Cdl2wX8O.js} +18 -54
  11. package/dist/assets/{file-saver-Dbfm4l4I.js → FileSaver.min-BZDLz63C.js} +5 -12
  12. package/dist/assets/{FixedCollectionParameter-DjS7zdm4.js → FixedCollectionParameter-h3uHE3EI.js} +1 -32
  13. package/dist/assets/{ForgotMyPasswordView-BThu5AzW.js → ForgotMyPasswordView-DKha33bM.js} +2 -32
  14. package/dist/assets/{MainHeader-BonioYN5.js → MainHeader-Dp0CMpLa.js} +8 -47
  15. package/dist/assets/{MainSidebar-NOlas3VF.js → MainSidebar-DX7RWqIJ.js} +5 -44
  16. package/dist/assets/{NodeCreation-ByUlHR8c.js → NodeCreation-CH8QZkmg.js} +4 -7
  17. package/dist/assets/{NodeCreator-DE9FRbnS.js → NodeCreator-GlBp8VyB.js} +20 -64
  18. package/dist/assets/{NodeViewSwitcher-BMWd0Gm9.css → NodeViewSwitcher-0LWuIntY.css} +136 -135
  19. package/dist/assets/{NodeViewSwitcher-D7fdLnF1.js → NodeViewSwitcher-B6pXHQpy.js} +17208 -4340
  20. package/dist/assets/{ProjectCardBadge-f4baniz3.js → ProjectCardBadge.vue_vue_type_script_setup_true_lang-R4VvIcND.js} +1 -12
  21. package/dist/assets/{ProjectSettings-CeJUMGSQ.js → ProjectSettings-BRbDO1Gw.js} +6 -38
  22. package/dist/assets/{ProjectTabs-dq7a740r.js → ProjectTabs-DGe3p6nk.js} +1 -3
  23. package/dist/assets/{PushConnectionTracker-Bs_UzKPJ.js → PushConnectionTracker-CYr4h_PG.js} +1 -4
  24. package/dist/assets/{ResourcesListLayout-B1XBsMRy.js → ResourcesListLayout-Cp1vFuQD.js} +2 -7
  25. package/dist/assets/{RunDataAi-DdGO06st.js → RunDataAi-Dr6ypWYk.js} +51 -13
  26. package/dist/assets/{RunDataJson-DTKvzLZz.js → RunDataJson-BR2zl0xs.js} +11 -34
  27. package/dist/assets/{jsonpath--XXuA3UN.js → RunDataJsonActions-hnNDgPdr.js} +272 -73
  28. package/dist/assets/{RunDataSearch-CW0connN.js → RunDataSearch-aEp6SsT6.js} +1 -31
  29. package/dist/assets/{RunDataTable-C-mEq2dD.js → RunDataTable-CNdHnjmM.js} +43 -70
  30. package/dist/assets/{SamlOnboarding-BfsNvcA1.js → SamlOnboarding-BGSor93S.js} +2 -32
  31. package/dist/assets/{SettingsApiView--aIfdlDF.js → SettingsApiView-DnaOHGOU.js} +11 -42
  32. package/dist/assets/{SettingsCommunityNodesView-DdyT-sgu.js → SettingsCommunityNodesView-DG_uJUfX.js} +3 -35
  33. package/dist/assets/{SettingsExternalSecrets-DTMX68vp.js → SettingsExternalSecrets-CC-c2C10.js} +2 -32
  34. package/dist/assets/SettingsFakeDoorView-DJJ9xpvu.js +44 -0
  35. package/dist/assets/{humanize-duration-DdvB4QXM.js → SettingsLdapView-BTxklMe-.js} +827 -12
  36. package/dist/assets/{SettingsLogStreamingView-lQvw760T.js → SettingsLogStreamingView-D32eR0j1.js} +1 -31
  37. package/dist/assets/{SettingsPersonalView-2vlxeSgj.js → SettingsPersonalView-CycnGnFd.js} +1 -31
  38. package/dist/assets/{SettingsSourceControl-1Z-AF1Yv.js → SettingsSourceControl-CpzwZEYt.js} +4 -35
  39. package/dist/assets/{SettingsSso-Bp82V4Mw.js → SettingsSso-HjdnsVOf.js} +1 -31
  40. package/dist/assets/{SettingsUsageAndPlan-CDXY25ax.js → SettingsUsageAndPlan-CYQUE0tK.js} +1 -32
  41. package/dist/assets/{SettingsUsersView-3sIYeb4A.js → SettingsUsersView-DkzKTkeO.js} +1 -31
  42. package/dist/assets/{SettingsView-BNNArsIx.js → SettingsView-DVcUKSKE.js} +25 -34
  43. package/dist/assets/{SetupView-pspJi2at.js → SetupView-RG_ylo8Z.js} +2 -32
  44. package/dist/assets/{SetupWorkflowCredentialsButton-SC5-MI0D.js → SetupWorkflowCredentialsButton-DrA_a2OJ.js} +1 -31
  45. package/dist/assets/{SetupWorkflowFromTemplateView-CU3grpvN.js → SetupWorkflowFromTemplateView-DDIIQT4h.js} +3 -33
  46. package/dist/assets/{SigninView-CZdE2LU3.js → SigninView-SB0OrGE8.js} +2 -32
  47. package/dist/assets/SignoutView-CydN5z6L.js +27 -0
  48. package/dist/assets/{SignupView-BPlt_Lbh.js → SignupView-GfwP9_4w.js} +2 -32
  49. package/dist/assets/{TemplateDetails-CdRKYWL6.js → TemplateDetails-BHYTgWe7.js} +1 -4
  50. package/dist/assets/{TemplateList-BYq50eQG.js → TemplateList-DqeiM-sc.js} +1 -3
  51. package/dist/assets/{TemplatesCollectionView-D-N6pD00.js → TemplatesCollectionView-BmNqs_gk.js} +5 -35
  52. package/dist/assets/{TemplatesSearchView-BYNWZYGm.css → TemplatesSearchView-BiokbeYf.css} +94 -1
  53. package/dist/assets/{TemplatesSearchView-CaRL_LUd.js → TemplatesSearchView-CNF6-vdG.js} +738 -41
  54. package/dist/assets/{TemplatesView-C5HnqMFU.js → TemplatesView-2elduxzA.js} +1 -3
  55. package/dist/assets/{TemplatesWorkflowView-XV_mNcau.js → TemplatesWorkflowView-ZW6hOx7N.js} +5 -35
  56. package/dist/assets/{VariablesView-CDacoelY.js → VariablesView-BX27mddL.js} +2 -33
  57. package/dist/assets/{WorkerView-DciBUDzM.js → WorkerView-Cr7HLqrl.js} +159 -43
  58. package/dist/assets/{WorkflowActivator-GHyUbwAO.js → WorkflowActivator-BdyaV7fz.js} +3 -7
  59. package/dist/assets/{WorkflowExecutionsInfoAccordion-Dez7kHwM.js → WorkflowExecutionsInfoAccordion-GC5Xu1TI.js} +1 -3
  60. package/dist/assets/{WorkflowExecutionsLandingPage-j7sS9stL.js → WorkflowExecutionsLandingPage-DUaKxO-Z.js} +2 -32
  61. package/dist/assets/{WorkflowExecutionsPreview-DLogApYK.js → WorkflowExecutionsPreview-1hB0xaBl.js} +10 -42
  62. package/dist/assets/{WorkflowExecutionsView-CZ0E-5CZ.js → WorkflowExecutionsView-OE3NlCHo.js} +6 -37
  63. package/dist/assets/{WorkflowHistory-D6BLJ_QX.js → WorkflowHistory-q9Izoevv.js} +8 -45
  64. package/dist/assets/{WorkflowOnboardingView-7Z0s7yrd.js → WorkflowOnboardingView-B3UpsBmI.js} +1 -31
  65. package/dist/assets/{WorkflowPreview-C2zFAYYi.js → WorkflowPreview-MCXIiPMR.js} +1 -3
  66. package/dist/assets/{WorkflowsView-CLNYtnzv.js → WorkflowsView-BpzSj9Gu.js} +19 -37
  67. package/dist/assets/cloud-C5pqS4q0.js +37 -0
  68. package/dist/assets/{dateFormatter-B-oph3V5.js → dateFormatter-BgjGibAI.js} +1 -1
  69. package/dist/assets/{index-B5Pl_Rdy.css → index-BGyoJ6bM.css} +3941 -8
  70. package/dist/assets/index-TQ22MZub.js +331746 -0
  71. package/dist/assets/{pushConnection.store-C38m0a4q.js → pushConnection.store-DBI9rig9.js} +3 -3
  72. package/dist/assets/{templateActions-BDzt5tYG.js → templateActions-BlnfhXAQ.js} +1 -1
  73. package/dist/assets/{useBeforeUnload-DAuWtScP.js → useBeforeUnload-Db4Xtdlx.js} +1 -2
  74. package/dist/assets/{useExecutionDebugging-DjezN4ny.js → useExecutionDebugging-rQ2a9vrr.js} +1 -2
  75. package/dist/assets/{usePushConnection-C-AngCFB.js → usePushConnection-Bg_ZQZs0.js} +12 -17
  76. package/dist/assets/{useWorkflowActivate-CgGEceEs.js → useWorkflowActivate-DXNYJQNZ.js} +1 -2
  77. package/dist/index.html +2 -33
  78. package/package.json +1 -1
  79. package/vite.config.mts +0 -41
  80. package/dist/assets/@jsplumb/browser-ui-D3WTv2iL.js +0 -5431
  81. package/dist/assets/@jsplumb/common-Cn2WooAp.js +0 -142
  82. package/dist/assets/@jsplumb/connector-bezier-BsoOTqok.js +0 -1019
  83. package/dist/assets/@jsplumb/core-DLCSr9D4.js +0 -7317
  84. package/dist/assets/@jsplumb/util-DggqnqQo.js +0 -936
  85. package/dist/assets/@lezer/common-Bs5t-XhT.js +0 -1988
  86. package/dist/assets/@n8n/api-types-Clq_Leox.js +0 -1
  87. package/dist/assets/@n8n/codemirror-lang-Bizw8G99.js +0 -20928
  88. package/dist/assets/@n8n/codemirror-lang-sql-C9sfSTUi.js +0 -14443
  89. package/dist/assets/@n8n/permissions-BxSXRD9U.js +0 -52
  90. package/dist/assets/@sentry/vue-By9cUXYj.js +0 -23618
  91. package/dist/assets/@vue-flow/background-B1J8rodd.js +0 -123
  92. package/dist/assets/@vue-flow/controls-B4bXJQnK.js +0 -204
  93. package/dist/assets/@vue-flow/core-tETEFGtP.js +0 -9818
  94. package/dist/assets/@vue-flow/minimap-CGW7BbeH.js +0 -2951
  95. package/dist/assets/@vue-flow/node-resizer-C7hxX6Ea.js +0 -1398
  96. package/dist/assets/@vueuse/core-BTO0AmLR.js +0 -8894
  97. package/dist/assets/RunDataJsonActions-0J53luAF.js +0 -270
  98. package/dist/assets/SettingsFakeDoorView-CpouiCJM.js +0 -74
  99. package/dist/assets/SettingsLdapView-DtUi0T-K.js +0 -746
  100. package/dist/assets/SignoutView-DN2qdM5U.js +0 -57
  101. package/dist/assets/aws-secrets-manager-NwVFybsa.svg +0 -18
  102. package/dist/assets/axios-BW6T4tHC.js +0 -2403
  103. package/dist/assets/azure-key-vault-DTTl_IR7.svg +0 -23
  104. package/dist/assets/bowser-CDCHPFWD.js +0 -1931
  105. package/dist/assets/change-case-Dux1iW35.js +0 -137
  106. package/dist/assets/chart.js-BYpPl_l4.js +0 -14318
  107. package/dist/assets/cloud-DJUTi_f-.js +0 -95
  108. package/dist/assets/codemirror-lang-html-n8n-BElKE4vf.js +0 -2498
  109. package/dist/assets/dateformat-BevCJF2z.js +0 -208
  110. package/dist/assets/email-providers-Brdpqw-Z.js +0 -1
  111. package/dist/assets/esprima-next-DUEu30kB.js +0 -6712
  112. package/dist/assets/fast-json-stable-stringify-D9R5x91P.js +0 -55
  113. package/dist/assets/flatted-BLlNkUR-.js +0 -76
  114. package/dist/assets/gcp-secrets-manager-BcK0Zj6Y.svg +0 -9
  115. package/dist/assets/hashicorp-5zlHdJCj.webp +0 -0
  116. package/dist/assets/highlight.js-Brdpqw-Z.js +0 -1
  117. package/dist/assets/index-DOjaKjUd.js +0 -87778
  118. package/dist/assets/infisical-Db7VXgLp.webp +0 -0
  119. package/dist/assets/lodash-es-DCRmYdQ5.js +0 -6061
  120. package/dist/assets/luxon-N8mghSWH.js +0 -6159
  121. package/dist/assets/n8n-C6KBCWah.css +0 -4973
  122. package/dist/assets/n8n-o-6nV4eX.js +0 -163925
  123. package/dist/assets/pinia-BWzoPyXU.js +0 -1650
  124. package/dist/assets/prettier-eWLVZldr.js +0 -2294
  125. package/dist/assets/qrcode.vue-BavVPFUM.js +0 -1132
  126. package/dist/assets/timeago.js-CgQus8nl.js +0 -116
  127. package/dist/assets/useUserHelpers-nsswfS_i.js +0 -27
  128. package/dist/assets/uuid-DRDfXVM2.js +0 -542
  129. package/dist/assets/v3-infinite-loading-CHlSsXAy.js +0 -114
  130. package/dist/assets/vendor-D8YCjNHu.js +0 -14463
  131. package/dist/assets/vue-agile-B2NGbzqY.css +0 -93
  132. package/dist/assets/vue-agile-Busf3nxn.js +0 -727
  133. package/dist/assets/vue-chartjs-DBNEiLG-.js +0 -203
  134. package/dist/assets/vue-i18n-CeifA_Nk.js +0 -5329
  135. package/dist/assets/vue-json-pretty-DHS8nWi_.js +0 -340
  136. package/dist/assets/vue3-touch-events-DVOgU3fI.js +0 -301
  137. package/dist/assets/xss-Brdpqw-Z.js +0 -1
@@ -1,746 +0,0 @@
1
- import { I as defineComponent, r as ref, f as computed, q as onMounted, an as resolveComponent, au as resolveDirective, J as openBlock, K as createElementBlock, L as createBaseVNode, a8 as createVNode, a3 as withCtx, a6 as createTextVNode, a7 as toDisplayString, u as unref, _ as normalizeClass, a4 as withDirectives, V as createBlock, U as createCommentVNode } from "./vendor-D8YCjNHu.js";
2
- import { a as useToast, q as useDocumentTitle, c as useSettingsStore, f as useUIStore, b as useI18n, z as useMessage, du as capitalizeFirstLetter, dv as convertToDisplayDate, D as MODAL_CONFIRM } from "./index-DOjaKjUd.js";
3
- import { h as humanizeDuration } from "./humanize-duration-DdvB4QXM.js";
4
- import { aP as ElTableColumn, a9 as ElTable, T as createFormEventBus, _ as _export_sfc } from "./n8n-o-6nV4eX.js";
5
- import { K } from "./v3-infinite-loading-CHlSsXAy.js";
6
- import "./@sentry/vue-By9cUXYj.js";
7
- import "./axios-BW6T4tHC.js";
8
- import "./flatted-BLlNkUR-.js";
9
- import "./pinia-BWzoPyXU.js";
10
- import "./bowser-CDCHPFWD.js";
11
- import "./@vueuse/core-BTO0AmLR.js";
12
- import "./lodash-es-DCRmYdQ5.js";
13
- import "./uuid-DRDfXVM2.js";
14
- import "./dateformat-BevCJF2z.js";
15
- import "./vue-i18n-CeifA_Nk.js";
16
- import "./@n8n/permissions-BxSXRD9U.js";
17
- import "./luxon-N8mghSWH.js";
18
- import "./@jsplumb/util-DggqnqQo.js";
19
- import "./@jsplumb/core-DLCSr9D4.js";
20
- import "./@jsplumb/common-Cn2WooAp.js";
21
- import "./@jsplumb/connector-bezier-BsoOTqok.js";
22
- import "./@jsplumb/browser-ui-D3WTv2iL.js";
23
- import "./@n8n/codemirror-lang-Bizw8G99.js";
24
- import "./@lezer/common-Bs5t-XhT.js";
25
- import "./@n8n/codemirror-lang-sql-C9sfSTUi.js";
26
- import "./prettier-eWLVZldr.js";
27
- import "./codemirror-lang-html-n8n-BElKE4vf.js";
28
- import "./esprima-next-DUEu30kB.js";
29
- import "./fast-json-stable-stringify-D9R5x91P.js";
30
- import "./timeago.js-CgQus8nl.js";
31
- import "./qrcode.vue-BavVPFUM.js";
32
- import "./vue3-touch-events-DVOgU3fI.js";
33
- import "./chart.js-BYpPl_l4.js";
34
- const _hoisted_1 = { key: 0 };
35
- const _hoisted_2 = { key: 1 };
36
- const _hoisted_3 = { key: 0 };
37
- const _hoisted_4 = { class: "pb-3xl" };
38
- const _sfc_main = /* @__PURE__ */ defineComponent({
39
- __name: "SettingsLdapView",
40
- setup(__props) {
41
- const toast = useToast();
42
- const i18n = useI18n();
43
- const message = useMessage();
44
- const documentTitle = useDocumentTitle();
45
- const settingsStore = useSettingsStore();
46
- const uiStore = useUIStore();
47
- const dataTable = ref([]);
48
- const tableKey = ref(0);
49
- const adConfig = ref();
50
- const loadingTestConnection = ref(false);
51
- const loadingDryRun = ref(false);
52
- const loadingLiveRun = ref(false);
53
- const loadingTable = ref(false);
54
- const hasAnyChanges = ref(false);
55
- const formInputs = ref(null);
56
- const formBus = createFormEventBus();
57
- const readyToSubmit = ref(false);
58
- const page = ref(0);
59
- const loginEnabled = ref(false);
60
- const syncEnabled = ref(false);
61
- const ldapConfigFormRef = ref();
62
- const isLDAPFeatureEnabled = computed(() => settingsStore.settings.enterprise.ldap);
63
- const goToUpgrade = async () => await uiStore.goToUpgrade("ldap", "upgrade-ldap");
64
- const cellClassStyle = ({ row, column }) => {
65
- if (column.property === "status") {
66
- if (row.status === "Success") {
67
- return { color: "green" };
68
- } else if (row.status === "Error") {
69
- return { color: "red" };
70
- }
71
- }
72
- if (column.property === "runMode") {
73
- if (row.runMode === "Dry") {
74
- return { color: "orange" };
75
- } else if (row.runMode === "Live") {
76
- return { color: "blue" };
77
- }
78
- }
79
- return {};
80
- };
81
- const onInput = (input) => {
82
- if (input.name === "loginEnabled" && typeof input.value === "boolean") {
83
- loginEnabled.value = input.value;
84
- }
85
- if (input.name === "synchronizationEnabled" && typeof input.value === "boolean") {
86
- syncEnabled.value = input.value;
87
- }
88
- hasAnyChanges.value = true;
89
- };
90
- const onReadyToSubmit = (ready) => {
91
- readyToSubmit.value = ready;
92
- };
93
- const syncDataMapper = (sync) => {
94
- const startedAt = new Date(sync.startedAt);
95
- const endedAt = new Date(sync.endedAt);
96
- const runTimeInMinutes = endedAt.getTime() - startedAt.getTime();
97
- return {
98
- runTime: humanizeDuration(runTimeInMinutes),
99
- runMode: capitalizeFirstLetter(sync.runMode),
100
- status: capitalizeFirstLetter(sync.status),
101
- endedAt: convertToDisplayDate(endedAt.getTime()),
102
- details: i18n.baseText("settings.ldap.usersScanned", {
103
- interpolate: {
104
- scanned: sync.scanned.toString()
105
- }
106
- })
107
- };
108
- };
109
- const onSubmit = async () => {
110
- if (!hasAnyChanges.value || !ldapConfigFormRef.value) {
111
- return;
112
- }
113
- const formValues = ldapConfigFormRef.value.getValues();
114
- const newConfiguration = {
115
- loginEnabled: formValues.loginEnabled,
116
- loginLabel: formValues.loginLabel,
117
- connectionUrl: formValues.serverAddress,
118
- allowUnauthorizedCerts: formValues.allowUnauthorizedCerts,
119
- connectionPort: +formValues.port,
120
- connectionSecurity: formValues.connectionSecurity,
121
- baseDn: formValues.baseDn,
122
- bindingAdminDn: formValues.bindingType === "admin" ? formValues.adminDn : "",
123
- bindingAdminPassword: formValues.bindingType === "admin" ? formValues.adminPassword : "",
124
- emailAttribute: formValues.email,
125
- firstNameAttribute: formValues.firstName,
126
- lastNameAttribute: formValues.lastName,
127
- loginIdAttribute: formValues.loginId,
128
- ldapIdAttribute: formValues.ldapId,
129
- userFilter: formValues.userFilter,
130
- synchronizationEnabled: formValues.synchronizationEnabled,
131
- synchronizationInterval: +formValues.synchronizationInterval,
132
- searchPageSize: +formValues.pageSize,
133
- searchTimeout: +formValues.searchTimeout
134
- };
135
- let saveForm = true;
136
- if (!adConfig.value) return;
137
- try {
138
- if (adConfig.value.loginEnabled && !newConfiguration.loginEnabled) {
139
- const confirmAction = await message.confirm(
140
- i18n.baseText("settings.ldap.confirmMessage.beforeSaveForm.message"),
141
- i18n.baseText("settings.ldap.confirmMessage.beforeSaveForm.headline"),
142
- {
143
- cancelButtonText: i18n.baseText(
144
- "settings.ldap.confirmMessage.beforeSaveForm.cancelButtonText"
145
- ),
146
- confirmButtonText: i18n.baseText(
147
- "settings.ldap.confirmMessage.beforeSaveForm.confirmButtonText"
148
- )
149
- }
150
- );
151
- saveForm = confirmAction === MODAL_CONFIRM;
152
- }
153
- if (!saveForm) {
154
- hasAnyChanges.value = true;
155
- }
156
- adConfig.value = await settingsStore.updateLdapConfig(newConfiguration);
157
- toast.showToast({
158
- title: i18n.baseText("settings.ldap.updateConfiguration"),
159
- message: "",
160
- type: "success"
161
- });
162
- } catch (error) {
163
- toast.showError(error, i18n.baseText("settings.ldap.configurationError"));
164
- } finally {
165
- if (saveForm) {
166
- hasAnyChanges.value = false;
167
- }
168
- }
169
- };
170
- const onSaveClick = () => {
171
- formBus.emit("submit");
172
- };
173
- const onTestConnectionClick = async () => {
174
- loadingTestConnection.value = true;
175
- try {
176
- await settingsStore.testLdapConnection();
177
- toast.showToast({
178
- title: i18n.baseText("settings.ldap.connectionTest"),
179
- message: i18n.baseText("settings.ldap.toast.connection.success"),
180
- type: "success"
181
- });
182
- } catch (error) {
183
- toast.showToast({
184
- title: i18n.baseText("settings.ldap.connectionTestError"),
185
- message: error.message,
186
- type: "error"
187
- });
188
- } finally {
189
- loadingTestConnection.value = false;
190
- }
191
- };
192
- const onDryRunClick = async () => {
193
- loadingDryRun.value = true;
194
- try {
195
- await settingsStore.runLdapSync({ type: "dry" });
196
- toast.showToast({
197
- title: i18n.baseText("settings.ldap.runSync.title"),
198
- message: i18n.baseText("settings.ldap.toast.sync.success"),
199
- type: "success"
200
- });
201
- } catch (error) {
202
- toast.showError(error, i18n.baseText("settings.ldap.synchronizationError"));
203
- } finally {
204
- loadingDryRun.value = false;
205
- await reloadLdapSynchronizations();
206
- }
207
- };
208
- const onLiveRunClick = async () => {
209
- loadingLiveRun.value = true;
210
- try {
211
- await settingsStore.runLdapSync({ type: "live" });
212
- toast.showToast({
213
- title: i18n.baseText("settings.ldap.runSync.title"),
214
- message: i18n.baseText("settings.ldap.toast.sync.success"),
215
- type: "success"
216
- });
217
- } catch (error) {
218
- toast.showError(error, i18n.baseText("settings.ldap.synchronizationError"));
219
- } finally {
220
- loadingLiveRun.value = false;
221
- await reloadLdapSynchronizations();
222
- }
223
- };
224
- const getLdapConfig = async () => {
225
- try {
226
- adConfig.value = await settingsStore.getLdapConfig();
227
- loginEnabled.value = adConfig.value.loginEnabled;
228
- syncEnabled.value = adConfig.value.synchronizationEnabled;
229
- const whenLoginEnabled = (values) => values.loginEnabled === true;
230
- const whenSyncAndLoginEnabled = (values) => values.synchronizationEnabled === true && values.loginEnabled === true;
231
- const whenAdminBindingAndLoginEnabled = (values) => values.bindingType === "admin" && values.loginEnabled === true;
232
- formInputs.value = [
233
- {
234
- name: "loginEnabled",
235
- initialValue: adConfig.value.loginEnabled,
236
- properties: {
237
- type: "toggle",
238
- label: i18n.baseText("settings.ldap.form.loginEnabled.label"),
239
- tooltipText: i18n.baseText("settings.ldap.form.loginEnabled.tooltip"),
240
- required: true
241
- }
242
- },
243
- {
244
- name: "loginLabel",
245
- initialValue: adConfig.value.loginLabel,
246
- properties: {
247
- label: i18n.baseText("settings.ldap.form.loginLabel.label"),
248
- required: true,
249
- placeholder: i18n.baseText("settings.ldap.form.loginLabel.placeholder"),
250
- infoText: i18n.baseText("settings.ldap.form.loginLabel.infoText")
251
- },
252
- shouldDisplay: whenLoginEnabled
253
- },
254
- {
255
- name: "serverAddress",
256
- initialValue: adConfig.value.connectionUrl,
257
- properties: {
258
- label: i18n.baseText("settings.ldap.form.serverAddress.label"),
259
- required: true,
260
- capitalize: true,
261
- placeholder: i18n.baseText("settings.ldap.form.serverAddress.placeholder"),
262
- infoText: i18n.baseText("settings.ldap.form.serverAddress.infoText")
263
- },
264
- shouldDisplay: whenLoginEnabled
265
- },
266
- {
267
- name: "port",
268
- initialValue: adConfig.value.connectionPort,
269
- properties: {
270
- type: "number",
271
- label: i18n.baseText("settings.ldap.form.port.label"),
272
- capitalize: true,
273
- infoText: i18n.baseText("settings.ldap.form.port.infoText")
274
- },
275
- shouldDisplay: whenLoginEnabled
276
- },
277
- {
278
- name: "connectionSecurity",
279
- initialValue: adConfig.value.connectionSecurity,
280
- properties: {
281
- type: "select",
282
- label: i18n.baseText("settings.ldap.form.connectionSecurity.label"),
283
- infoText: i18n.baseText("settings.ldap.form.connectionSecurity.infoText"),
284
- options: [
285
- {
286
- label: "None",
287
- value: "none"
288
- },
289
- {
290
- label: "TLS",
291
- value: "tls"
292
- },
293
- {
294
- label: "STARTTLS",
295
- value: "startTls"
296
- }
297
- ],
298
- required: true,
299
- capitalize: true
300
- },
301
- shouldDisplay: whenLoginEnabled
302
- },
303
- {
304
- name: "allowUnauthorizedCerts",
305
- initialValue: adConfig.value.allowUnauthorizedCerts,
306
- properties: {
307
- type: "toggle",
308
- label: i18n.baseText("settings.ldap.form.allowUnauthorizedCerts.label"),
309
- required: false
310
- },
311
- shouldDisplay(values) {
312
- return values.connectionSecurity !== "none" && values.loginEnabled === true;
313
- }
314
- },
315
- {
316
- name: "baseDn",
317
- initialValue: adConfig.value.baseDn,
318
- properties: {
319
- label: i18n.baseText("settings.ldap.form.baseDn.label"),
320
- required: true,
321
- capitalize: true,
322
- placeholder: i18n.baseText("settings.ldap.form.baseDn.placeholder"),
323
- infoText: i18n.baseText("settings.ldap.form.baseDn.infoText")
324
- },
325
- shouldDisplay: whenLoginEnabled
326
- },
327
- {
328
- name: "bindingType",
329
- initialValue: "admin",
330
- properties: {
331
- type: "select",
332
- label: i18n.baseText("settings.ldap.form.bindingType.label"),
333
- infoText: i18n.baseText("settings.ldap.form.bindingType.infoText"),
334
- options: [
335
- {
336
- value: "admin",
337
- label: "Admin"
338
- },
339
- {
340
- value: "anonymous",
341
- label: "Anonymous"
342
- }
343
- ]
344
- },
345
- shouldDisplay: whenLoginEnabled
346
- },
347
- {
348
- name: "adminDn",
349
- initialValue: adConfig.value.bindingAdminDn,
350
- properties: {
351
- label: i18n.baseText("settings.ldap.form.adminDn.label"),
352
- placeholder: i18n.baseText("settings.ldap.form.adminDn.placeholder"),
353
- infoText: i18n.baseText("settings.ldap.form.adminDn.infoText"),
354
- capitalize: true
355
- },
356
- shouldDisplay: whenAdminBindingAndLoginEnabled
357
- },
358
- {
359
- name: "adminPassword",
360
- initialValue: adConfig.value.bindingAdminPassword,
361
- properties: {
362
- label: i18n.baseText("settings.ldap.form.adminPassword.label"),
363
- type: "password",
364
- capitalize: true,
365
- infoText: i18n.baseText("settings.ldap.form.adminPassword.infoText")
366
- },
367
- shouldDisplay: whenAdminBindingAndLoginEnabled
368
- },
369
- {
370
- name: "userFilter",
371
- initialValue: adConfig.value.userFilter,
372
- properties: {
373
- label: i18n.baseText("settings.ldap.form.userFilter.label"),
374
- type: "text",
375
- required: false,
376
- capitalize: true,
377
- placeholder: i18n.baseText("settings.ldap.form.userFilter.placeholder"),
378
- infoText: i18n.baseText("settings.ldap.form.userFilter.infoText")
379
- },
380
- shouldDisplay: whenLoginEnabled
381
- },
382
- {
383
- name: "attributeMappingInfo",
384
- properties: {
385
- label: i18n.baseText("settings.ldap.form.attributeMappingInfo.label"),
386
- type: "info",
387
- labelSize: "large",
388
- labelAlignment: "left"
389
- },
390
- shouldDisplay: whenLoginEnabled
391
- },
392
- {
393
- name: "ldapId",
394
- initialValue: adConfig.value.ldapIdAttribute,
395
- properties: {
396
- label: i18n.baseText("settings.ldap.form.ldapId.label"),
397
- type: "text",
398
- required: true,
399
- capitalize: true,
400
- placeholder: i18n.baseText("settings.ldap.form.ldapId.placeholder"),
401
- infoText: i18n.baseText("settings.ldap.form.ldapId.infoText")
402
- },
403
- shouldDisplay: whenLoginEnabled
404
- },
405
- {
406
- name: "loginId",
407
- initialValue: adConfig.value.loginIdAttribute,
408
- properties: {
409
- label: i18n.baseText("settings.ldap.form.loginId.label"),
410
- type: "text",
411
- autocomplete: "email",
412
- required: true,
413
- capitalize: true,
414
- placeholder: i18n.baseText("settings.ldap.form.loginId.placeholder"),
415
- infoText: i18n.baseText("settings.ldap.form.loginId.infoText")
416
- },
417
- shouldDisplay: whenLoginEnabled
418
- },
419
- {
420
- name: "email",
421
- initialValue: adConfig.value.emailAttribute,
422
- properties: {
423
- label: i18n.baseText("settings.ldap.form.email.label"),
424
- type: "text",
425
- autocomplete: "email",
426
- required: true,
427
- capitalize: true,
428
- placeholder: i18n.baseText("settings.ldap.form.email.placeholder"),
429
- infoText: i18n.baseText("settings.ldap.form.email.infoText")
430
- },
431
- shouldDisplay: whenLoginEnabled
432
- },
433
- {
434
- name: "firstName",
435
- initialValue: adConfig.value.firstNameAttribute,
436
- properties: {
437
- label: i18n.baseText("settings.ldap.form.firstName.label"),
438
- type: "text",
439
- autocomplete: "email",
440
- required: true,
441
- capitalize: true,
442
- placeholder: i18n.baseText("settings.ldap.form.firstName.placeholder"),
443
- infoText: i18n.baseText("settings.ldap.form.firstName.infoText")
444
- },
445
- shouldDisplay: whenLoginEnabled
446
- },
447
- {
448
- name: "lastName",
449
- initialValue: adConfig.value.lastNameAttribute,
450
- properties: {
451
- label: i18n.baseText("settings.ldap.form.lastName.label"),
452
- type: "text",
453
- autocomplete: "email",
454
- required: true,
455
- capitalize: true,
456
- placeholder: i18n.baseText("settings.ldap.form.lastName.placeholder"),
457
- infoText: i18n.baseText("settings.ldap.form.lastName.infoText")
458
- },
459
- shouldDisplay: whenLoginEnabled
460
- },
461
- {
462
- name: "synchronizationEnabled",
463
- initialValue: adConfig.value.synchronizationEnabled,
464
- properties: {
465
- type: "toggle",
466
- label: i18n.baseText("settings.ldap.form.synchronizationEnabled.label"),
467
- tooltipText: i18n.baseText("settings.ldap.form.synchronizationEnabled.tooltip"),
468
- required: true
469
- },
470
- shouldDisplay: whenLoginEnabled
471
- },
472
- {
473
- name: "synchronizationInterval",
474
- initialValue: adConfig.value.synchronizationInterval,
475
- properties: {
476
- type: "number",
477
- label: i18n.baseText("settings.ldap.form.synchronizationInterval.label"),
478
- infoText: i18n.baseText("settings.ldap.form.synchronizationInterval.infoText")
479
- },
480
- shouldDisplay: whenSyncAndLoginEnabled
481
- },
482
- {
483
- name: "pageSize",
484
- initialValue: adConfig.value.searchPageSize,
485
- properties: {
486
- type: "number",
487
- label: i18n.baseText("settings.ldap.form.pageSize.label"),
488
- infoText: i18n.baseText("settings.ldap.form.pageSize.infoText")
489
- },
490
- shouldDisplay: whenSyncAndLoginEnabled
491
- },
492
- {
493
- name: "searchTimeout",
494
- initialValue: adConfig.value.searchTimeout,
495
- properties: {
496
- type: "number",
497
- label: i18n.baseText("settings.ldap.form.searchTimeout.label"),
498
- infoText: i18n.baseText("settings.ldap.form.searchTimeout.infoText")
499
- },
500
- shouldDisplay: whenSyncAndLoginEnabled
501
- }
502
- ];
503
- } catch (error) {
504
- toast.showError(error, i18n.baseText("settings.ldap.configurationError"));
505
- }
506
- };
507
- const getLdapSynchronizations = async (state) => {
508
- try {
509
- loadingTable.value = true;
510
- const data = await settingsStore.getLdapSynchronizations({
511
- page: page.value
512
- });
513
- if (data.length !== 0) {
514
- dataTable.value.push(...data.map(syncDataMapper));
515
- page.value += 1;
516
- state.loaded();
517
- } else {
518
- state.complete();
519
- }
520
- loadingTable.value = false;
521
- } catch (error) {
522
- toast.showError(error, i18n.baseText("settings.ldap.synchronizationError"));
523
- }
524
- };
525
- const reloadLdapSynchronizations = async () => {
526
- try {
527
- page.value = 0;
528
- tableKey.value += 1;
529
- dataTable.value = [];
530
- } catch (error) {
531
- toast.showError(error, i18n.baseText("settings.ldap.synchronizationError"));
532
- }
533
- };
534
- onMounted(async () => {
535
- documentTitle.set(i18n.baseText("settings.ldap"));
536
- if (!isLDAPFeatureEnabled.value) return;
537
- await getLdapConfig();
538
- });
539
- return (_ctx, _cache) => {
540
- const _component_n8n_heading = resolveComponent("n8n-heading");
541
- const _component_n8n_info_tip = resolveComponent("n8n-info-tip");
542
- const _component_n8n_action_box = resolveComponent("n8n-action-box");
543
- const _component_n8n_form_inputs = resolveComponent("n8n-form-inputs");
544
- const _component_n8n_button = resolveComponent("n8n-button");
545
- const _directive_n8n_html = resolveDirective("n8n-html");
546
- const _directive_loading = resolveDirective("loading");
547
- return !isLDAPFeatureEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_1, [
548
- createBaseVNode("div", {
549
- class: normalizeClass([_ctx.$style.header, "mb-2xl"])
550
- }, [
551
- createVNode(_component_n8n_heading, { size: "2xlarge" }, {
552
- default: withCtx(() => [
553
- createTextVNode(toDisplayString(unref(i18n).baseText("settings.ldap")), 1)
554
- ]),
555
- _: 1
556
- })
557
- ], 2),
558
- createVNode(_component_n8n_info_tip, {
559
- type: "note",
560
- theme: "info",
561
- "tooltip-placement": "right",
562
- class: "mb-l"
563
- }, {
564
- default: withCtx(() => [
565
- createTextVNode(toDisplayString(unref(i18n).baseText("settings.ldap.note")), 1)
566
- ]),
567
- _: 1
568
- }),
569
- createVNode(_component_n8n_action_box, {
570
- description: unref(i18n).baseText("settings.ldap.disabled.description"),
571
- "button-text": unref(i18n).baseText("settings.ldap.disabled.buttonText"),
572
- "onClick:button": goToUpgrade
573
- }, {
574
- heading: withCtx(() => [
575
- createBaseVNode("span", null, toDisplayString(unref(i18n).baseText("settings.ldap.disabled.title")), 1)
576
- ]),
577
- _: 1
578
- }, 8, ["description", "button-text"])
579
- ])) : (openBlock(), createElementBlock("div", _hoisted_2, [
580
- createBaseVNode("div", {
581
- class: normalizeClass(_ctx.$style.container)
582
- }, [
583
- createBaseVNode("div", {
584
- class: normalizeClass(_ctx.$style.header)
585
- }, [
586
- createVNode(_component_n8n_heading, { size: "2xlarge" }, {
587
- default: withCtx(() => [
588
- createTextVNode(toDisplayString(unref(i18n).baseText("settings.ldap")), 1)
589
- ]),
590
- _: 1
591
- })
592
- ], 2),
593
- createBaseVNode("div", {
594
- class: normalizeClass(_ctx.$style.docsInfoTip)
595
- }, [
596
- createVNode(_component_n8n_info_tip, {
597
- theme: "info",
598
- type: "note"
599
- }, {
600
- default: withCtx(() => [
601
- withDirectives(createBaseVNode("span", null, null, 512), [
602
- [_directive_n8n_html, unref(i18n).baseText("settings.ldap.infoTip")]
603
- ])
604
- ]),
605
- _: 1
606
- })
607
- ], 2),
608
- createBaseVNode("div", {
609
- class: normalizeClass(_ctx.$style.settingsForm)
610
- }, [
611
- formInputs.value ? (openBlock(), createBlock(_component_n8n_form_inputs, {
612
- key: 0,
613
- ref_key: "ldapConfigFormRef",
614
- ref: ldapConfigFormRef,
615
- inputs: formInputs.value,
616
- "event-bus": unref(formBus),
617
- "column-view": true,
618
- "vertical-spacing": "l",
619
- onUpdate: onInput,
620
- onReady: onReadyToSubmit,
621
- onSubmit
622
- }, null, 8, ["inputs", "event-bus"])) : createCommentVNode("", true)
623
- ], 2),
624
- createBaseVNode("div", null, [
625
- loginEnabled.value ? (openBlock(), createBlock(_component_n8n_button, {
626
- key: 0,
627
- label: loadingTestConnection.value ? unref(i18n).baseText("settings.ldap.testingConnection") : unref(i18n).baseText("settings.ldap.testConnection"),
628
- size: "large",
629
- class: "mr-s",
630
- disabled: hasAnyChanges.value || !readyToSubmit.value,
631
- loading: loadingTestConnection.value,
632
- onClick: onTestConnectionClick
633
- }, null, 8, ["label", "disabled", "loading"])) : createCommentVNode("", true),
634
- createVNode(_component_n8n_button, {
635
- label: unref(i18n).baseText("settings.ldap.save"),
636
- size: "large",
637
- disabled: !hasAnyChanges.value || !readyToSubmit.value,
638
- onClick: onSaveClick
639
- }, null, 8, ["label", "disabled"])
640
- ])
641
- ], 2),
642
- loginEnabled.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
643
- createVNode(_component_n8n_heading, {
644
- tag: "h1",
645
- class: "mb-xl mt-3xl",
646
- size: "medium"
647
- }, {
648
- default: withCtx(() => [
649
- createTextVNode(toDisplayString(unref(i18n).baseText("settings.ldap.section.synchronization.title")), 1)
650
- ]),
651
- _: 1
652
- }),
653
- createBaseVNode("div", {
654
- class: normalizeClass(_ctx.$style.syncTable)
655
- }, [
656
- withDirectives((openBlock(), createBlock(unref(ElTable), {
657
- key: tableKey.value,
658
- border: true,
659
- stripe: true,
660
- data: dataTable.value,
661
- "cell-style": cellClassStyle,
662
- style: { "width": "100%" },
663
- "max-height": "250"
664
- }, {
665
- empty: withCtx(() => [
666
- createTextVNode(toDisplayString(unref(i18n).baseText("settings.ldap.synchronizationTable.empty.message")), 1)
667
- ]),
668
- append: withCtx(() => [
669
- createVNode(unref(K), {
670
- target: ".el-table__body-wrapper",
671
- onInfinite: getLdapSynchronizations
672
- })
673
- ]),
674
- default: withCtx(() => [
675
- createVNode(unref(ElTableColumn), {
676
- prop: "status",
677
- label: unref(i18n).baseText("settings.ldap.synchronizationTable.column.status")
678
- }, null, 8, ["label"]),
679
- createVNode(unref(ElTableColumn), {
680
- prop: "endedAt",
681
- label: unref(i18n).baseText("settings.ldap.synchronizationTable.column.endedAt")
682
- }, null, 8, ["label"]),
683
- createVNode(unref(ElTableColumn), {
684
- prop: "runMode",
685
- label: unref(i18n).baseText("settings.ldap.synchronizationTable.column.runMode")
686
- }, null, 8, ["label"]),
687
- createVNode(unref(ElTableColumn), {
688
- prop: "runTime",
689
- label: unref(i18n).baseText("settings.ldap.synchronizationTable.column.runTime")
690
- }, null, 8, ["label"]),
691
- createVNode(unref(ElTableColumn), {
692
- prop: "details",
693
- label: unref(i18n).baseText("settings.ldap.synchronizationTable.column.details")
694
- }, null, 8, ["label"])
695
- ]),
696
- _: 1
697
- }, 8, ["data"])), [
698
- [_directive_loading, loadingTable.value]
699
- ])
700
- ], 2),
701
- createBaseVNode("div", _hoisted_4, [
702
- createVNode(_component_n8n_button, {
703
- label: unref(i18n).baseText("settings.ldap.dryRun"),
704
- type: "secondary",
705
- size: "large",
706
- class: "mr-s",
707
- disabled: hasAnyChanges.value || !readyToSubmit.value,
708
- loading: loadingDryRun.value,
709
- onClick: onDryRunClick
710
- }, null, 8, ["label", "disabled", "loading"]),
711
- createVNode(_component_n8n_button, {
712
- label: unref(i18n).baseText("settings.ldap.synchronizeNow"),
713
- size: "large",
714
- disabled: hasAnyChanges.value || !readyToSubmit.value,
715
- loading: loadingLiveRun.value,
716
- onClick: onLiveRunClick
717
- }, null, 8, ["label", "disabled", "loading"])
718
- ])
719
- ])) : createCommentVNode("", true)
720
- ]));
721
- };
722
- }
723
- });
724
- const container = "_container_17k3n_1";
725
- const syncTable = "_syncTable_17k3n_5";
726
- const header = "_header_17k3n_9";
727
- const enableFeatureContainer = "_enableFeatureContainer_17k3n_18";
728
- const sectionHeader = "_sectionHeader_17k3n_32";
729
- const settingsForm = "_settingsForm_17k3n_36";
730
- const docsInfoTip = "_docsInfoTip_17k3n_40";
731
- const style0 = {
732
- container,
733
- syncTable,
734
- header,
735
- enableFeatureContainer,
736
- sectionHeader,
737
- settingsForm,
738
- docsInfoTip
739
- };
740
- const cssModules = {
741
- "$style": style0
742
- };
743
- const SettingsLdapView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
744
- export {
745
- SettingsLdapView as default
746
- };