n8n-editor-ui 1.60.1 → 1.62.0

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 (128) hide show
  1. package/dist/assets/@n8n/api-types-CxHrH5Ag.js +1 -0
  2. package/dist/assets/@n8n/{codemirror-lang-sql-C41WNa63.js → codemirror-lang-sql-Bygy_eOg.js} +5 -5
  3. package/dist/assets/@sentry/vue-UFuYeDxK.js +23662 -0
  4. package/dist/assets/@vue-flow/{background-BBsDO5na.js → background-VFdKMN89.js} +2 -2
  5. package/dist/assets/@vue-flow/{controls-3RHEV3L7.js → controls-ByUYVWad.js} +2 -2
  6. package/dist/assets/@vue-flow/{core-CM-Aqnx_.js → core-DgOSPOHv.js} +1 -1
  7. package/dist/assets/@vue-flow/{minimap-CbqX0yYi.js → minimap-CXuyA5pl.js} +2 -2
  8. package/dist/assets/@vue-flow/{node-resizer-CV5M1itj.js → node-resizer-BiyXe9J3.js} +2 -2
  9. package/dist/assets/@vueuse/{core-BZR8MlRU.js → core-A8AAAljH.js} +6 -6
  10. package/dist/assets/{AnnotationTagsDropdown-C6L10zAt.js → AnnotationTagsDropdown.ee-mUu5T0tU.js} +7 -6
  11. package/dist/assets/{AuthView-CFsZVOHy.css → AuthView-BnHKMYu_.css} +3 -3
  12. package/dist/assets/AuthView-cCH1ZFxz.js +157 -0
  13. package/dist/assets/{CanvasControls-DhP5_ZaG.js → CanvasControls-Dzk7BXvt.js} +16 -15
  14. package/dist/assets/ChangePasswordView-C-hzAV5J.js +177 -0
  15. package/dist/assets/{CredentialsView-zPqWzrJZ.js → CredentialsView-Bi4lOx9G.js} +22 -19
  16. package/dist/assets/{ErrorView-C7_LED8T.js → ErrorView-CL_B0_IM.js} +16 -15
  17. package/dist/assets/{ExecutionsFilter-DTy4NQw_.css → ExecutionsFilter-BecTg03r.css} +6 -6
  18. package/dist/assets/{ExecutionsFilter-CaMUarba.js → ExecutionsFilter-Bmf8tmri.js} +7 -10
  19. package/dist/assets/{ExecutionsView-D-faxzDF.js → ExecutionsView-BhkQu2ph.js} +47 -22
  20. package/dist/assets/{FixedCollectionParameter-BOqBR9JK.js → FixedCollectionParameter-CtjVOOBw.js} +16 -15
  21. package/dist/assets/ForgotMyPasswordView-lCgL2d4C.js +127 -0
  22. package/dist/assets/{MainHeader-C01NSlgx.css → MainHeader-PNFUlNPa.css} +9 -9
  23. package/dist/assets/{MainHeader-D5QtvVVm.js → MainHeader-xZeUKO3O.js} +27 -26
  24. package/dist/assets/{MainSidebar-CVXe55j5.js → MainSidebar-nNVDMzvW.js} +15 -14
  25. package/dist/assets/{NodeCreation-DaYUHVNB.css → NodeCreation-30KXmZi2.css} +6 -8
  26. package/dist/assets/{NodeCreation-CM9wiEKu.js → NodeCreation-CUrrlBgR.js} +39 -42
  27. package/dist/assets/{NodeCreator-DRzlClIY.js → NodeCreator-DHaVpCdb.js} +69 -33
  28. package/dist/assets/{NodeViewSwitcher-9b7PTcw5.css → NodeViewSwitcher-DZNvWE_C.css} +131 -95
  29. package/dist/assets/{NodeViewSwitcher-BWkrDbac.js → NodeViewSwitcher-vGEVZgHJ.js} +789 -600
  30. package/dist/assets/{ProjectCardBadge-BoGz9diL.js → ProjectCardBadge-38h9YkEV.js} +8 -3
  31. package/dist/assets/{ProjectSettings-B7iqwGnI.js → ProjectSettings-Ba7NDCJu.js} +21 -16
  32. package/dist/assets/{ProjectTabs-Cvrg52Pf.js → ProjectTabs-CcHROgCr.js} +3 -3
  33. package/dist/assets/{PushConnectionTracker-DOnROXP4.js → PushConnectionTracker-Cswc3AVS.js} +4 -4
  34. package/dist/assets/{ResourcesListLayout-BF42RJP6.js → ResourcesListLayout-DchHS6X4.js} +9 -7
  35. package/dist/assets/{RunDataAi-BBCJLEbr.js → RunDataAi-BASZn4vn.js} +6 -24
  36. package/dist/assets/RunDataJson-Dc-zyTVL.js +219 -0
  37. package/dist/assets/{RunDataJson-DGge2zsB.css → RunDataJson-Dtc8i0I7.css} +12 -10
  38. package/dist/assets/{RunDataJsonActions-r9WehaXR.js → RunDataJsonActions-By8uYyXg.js} +17 -16
  39. package/dist/assets/{RunDataSearch-DEZgbY-N.js → RunDataSearch-DKdf85VL.js} +16 -15
  40. package/dist/assets/{RunDataTable-D3OOm7ll.js → RunDataTable-Cn6nzmGa.js} +21 -20
  41. package/dist/assets/{SamlOnboarding-CkD-eWMm.js → SamlOnboarding-Dfhrttxd.js} +27 -23
  42. package/dist/assets/{SettingsApiView-D3BTk9vw.js → SettingsApiView-BbRTrXcD.js} +33 -27
  43. package/dist/assets/{SettingsCommunityNodesView-q-tCQNcW.js → SettingsCommunityNodesView-BfDdkK-x.js} +23 -45
  44. package/dist/assets/{SettingsExternalSecrets-4GeXTRK_.js → SettingsExternalSecrets-Bl-wlBde.js} +17 -14
  45. package/dist/assets/{SettingsFakeDoorView-D27PjwUb.js → SettingsFakeDoorView-QqE3QukO.js} +16 -15
  46. package/dist/assets/SettingsLdapView-BE8xSeHz.js +748 -0
  47. package/dist/assets/{SettingsLogStreamingView-CNoL-zt6.js → SettingsLogStreamingView-BPJCiQ1I.js} +19 -16
  48. package/dist/assets/{SettingsPersonalView-FC1RJZD3.js → SettingsPersonalView-DSvT3Zu1.js} +18 -15
  49. package/dist/assets/{SettingsSourceControl-_HOgFrui.js → SettingsSourceControl-DUJaw-Xf.js} +18 -15
  50. package/dist/assets/{SettingsSso-C-eicXLy.js → SettingsSso-8NreTxhm.js} +18 -15
  51. package/dist/assets/{SettingsUsageAndPlan-PX3ezziV.js → SettingsUsageAndPlan-CDh5zcRw.js} +23 -37
  52. package/dist/assets/{SettingsUsageAndPlan-9dhwk2eO.css → SettingsUsageAndPlan-DDB0UVxU.css} +3 -3
  53. package/dist/assets/{SettingsUsersView-CSHs7EOy.js → SettingsUsersView-DQ-DCRZ1.js} +18 -15
  54. package/dist/assets/SettingsView-_vMUadDF.js +276 -0
  55. package/dist/assets/SetupView-Df7KdxaQ.js +140 -0
  56. package/dist/assets/{SetupWorkflowCredentialsButton-DDUqVzq4.js → SetupWorkflowCredentialsButton-DQQqU73T.js} +14 -13
  57. package/dist/assets/{SetupWorkflowFromTemplateView-BOzz1mg-.js → SetupWorkflowFromTemplateView-CamrTW9w.js} +18 -17
  58. package/dist/assets/{SigninView-CBZFW33H.js → SigninView-Bk-N1gPe.js} +125 -137
  59. package/dist/assets/{SignoutView-CsZY5epQ.js → SignoutView-ChwcohBv.js} +14 -13
  60. package/dist/assets/{SignupView-BMZ58KZV.js → SignupView-BLXUTU5v.js} +15 -14
  61. package/dist/assets/{TemplateDetails-yCPWrFJ_.js → TemplateDetails-DvcKd566.js} +4 -4
  62. package/dist/assets/{TemplateList-D6SkLaGz.js → TemplateList-BmQV74po.js} +3 -3
  63. package/dist/assets/TemplatesCollectionView-C3-PQCQu.js +241 -0
  64. package/dist/assets/{TemplatesSearchView-Vf3xXYJ5.js → TemplatesSearchView-cuS8bvak.js} +145 -163
  65. package/dist/assets/{TemplatesView-1ta2NOlv.js → TemplatesView-ClNtJ2ov.js} +3 -3
  66. package/dist/assets/TemplatesWorkflowView-CzrIrhUD.js +246 -0
  67. package/dist/assets/{VariablesView-DoD7bryP.js → VariablesView-CCnuUdXB.js} +23 -18
  68. package/dist/assets/{VariablesView-Bj3MOQeD.css → VariablesView-CHXdt5-z.css} +18 -18
  69. package/dist/assets/{WorkerView-DBAJ7wby.js → WorkerView-DyoF7ooc.js} +23 -21
  70. package/dist/assets/{WorkflowActivator-CEAGoTVp.js → WorkflowActivator-RvLc-qAh.js} +4 -4
  71. package/dist/assets/{WorkflowExecutionsInfoAccordion-Cm1Tl7oM.js → WorkflowExecutionsInfoAccordion-Bg0qCmnO.js} +3 -3
  72. package/dist/assets/{WorkflowExecutionsLandingPage-DNYtElvS.js → WorkflowExecutionsLandingPage-gbIC1-W0.js} +17 -16
  73. package/dist/assets/{WorkflowExecutionsPreview-D6jklpDe.js → WorkflowExecutionsPreview-K6TfT99N.js} +36 -27
  74. package/dist/assets/{WorkflowExecutionsView-Bfiz_05B.js → WorkflowExecutionsView-B153CRdQ.js} +70 -50
  75. package/dist/assets/{WorkflowExecutionsView-DqAlwS1H.css → WorkflowExecutionsView-B8x2-iOd.css} +32 -32
  76. package/dist/assets/{WorkflowHistory-B6J45Y57.js → WorkflowHistory-BDoz9lQx.js} +18 -17
  77. package/dist/assets/{WorkflowOnboardingView-sLbtLj5U.js → WorkflowOnboardingView-BxjLFVFS.js} +14 -13
  78. package/dist/assets/{WorkflowPreview-C2PJW2WU.js → WorkflowPreview-CzGXadkf.js} +3 -3
  79. package/dist/assets/{WorkflowsView-B3hH8n6V.js → WorkflowsView-CwxMKB51.js} +26 -23
  80. package/dist/assets/{cloud-D5p2bTjc.js → cloud-B1p-KZWU.js} +14 -13
  81. package/dist/assets/{codemirror-lang-html-n8n-CXTCIWzP.js → codemirror-lang-html-n8n-COz1fWJn.js} +1 -1
  82. package/dist/assets/{dateFormatter-BQycHW-g.js → dateFormatter-vLfenR8L.js} +7 -3
  83. package/dist/assets/{dateformat-DYMw-0LU.js → dateformat-BGl-JyZv.js} +1 -1
  84. package/dist/assets/email-providers-DKCy3_XM.js +1 -0
  85. package/dist/assets/{fast-json-stable-stringify-dgHKYgJi.js → fast-json-stable-stringify-U-rSQs8f.js} +1 -1
  86. package/dist/assets/{file-saver-taM_eo9L.js → file-saver-kjhT_TS0.js} +1 -1
  87. package/dist/assets/highlight.js-DKCy3_XM.js +1 -0
  88. package/dist/assets/{humanize-duration-DLMU-N1g.js → humanize-duration-Ctua_P33.js} +1 -1
  89. package/dist/assets/{index-DAAQrhEE.js → index-Cpj7dgjR.js} +19484 -19225
  90. package/dist/assets/{index-CDdd6K0Q.css → index-DLT0DWwS.css} +669 -299
  91. package/dist/assets/{jsonpath-B2TgTZLp.js → jsonpath-B3CL4C9V.js} +1 -1
  92. package/dist/assets/{lodash-es-rVh4nriD.js → lodash-es-kRWQHL5K.js} +2 -2
  93. package/dist/assets/{n8n-CZShcbZx.css → n8n-2AIRllP4.css} +415 -179
  94. package/dist/assets/{n8n-DS_nZ0wb.js → n8n-DKG-k8tQ.js} +2683 -2746
  95. package/dist/assets/{pinia-C4PgcsWV.js → pinia-CH9HlKCh.js} +155 -8
  96. package/dist/assets/{prettier-_aQB57xD.js → prettier-DuWRKCwA.js} +1115 -1052
  97. package/dist/assets/{pushConnection.store-CGzscDgD.js → pushConnection.store-CWlxAgml.js} +3 -3
  98. package/dist/assets/{qrcode.vue-EmD3D6Vb.js → qrcode.vue-BxNS_c3b.js} +1 -1
  99. package/dist/assets/{templateActions-CR50SItO.js → templateActions-Db-OKiDw.js} +1 -1
  100. package/dist/assets/{useBeforeUnload-BtEtqBA0.js → useBeforeUnload-D7668b41.js} +2 -2
  101. package/dist/assets/{useExecutionDebugging-DdfabEne.js → useExecutionDebugging-qJjrenaZ.js} +2 -2
  102. package/dist/assets/{usePushConnection-Bs4EtQYE.js → usePushConnection-DZy6DvZv.js} +8 -9
  103. package/dist/assets/{useUserHelpers-5Z9lMhqT.js → useUserHelpers-BvVDIqe5.js} +1 -1
  104. package/dist/assets/{useWorkflowActivate-BvN97i1i.js → useWorkflowActivate-DHaWjPqY.js} +2 -2
  105. package/dist/assets/{v3-infinite-loading-BDSwUlAm.js → v3-infinite-loading-lAZO0HDs.js} +1 -1
  106. package/dist/assets/{vendor-DCtS1fjk.js → vendor-DCeaNtb_.js} +212 -133
  107. package/dist/assets/{vue-agile-Dr5uE4S4.js → vue-agile-CSC3AwtI.js} +3 -3
  108. package/dist/assets/{vue-chartjs-ytwxJ63I.js → vue-chartjs-CAJPqBur.js} +1 -1
  109. package/dist/assets/{vue-i18n-DBLN2Rh9.js → vue-i18n-CVQE9o3c.js} +1 -1
  110. package/dist/assets/{vue-json-pretty-DbJSbzQx.js → vue-json-pretty-D1Elveao.js} +2 -2
  111. package/dist/assets/xss-DKCy3_XM.js +1 -0
  112. package/dist/index.html +35 -33
  113. package/index.html +1 -0
  114. package/package.json +1 -1
  115. package/vite.config.mts +3 -3
  116. package/dist/assets/@n8n/api-types-l0sNRNKZ.js +0 -1
  117. package/dist/assets/AuthView-C4BGHvOD.js +0 -170
  118. package/dist/assets/ChangePasswordView-DAER_rhe.js +0 -184
  119. package/dist/assets/ForgotMyPasswordView-DnB1YoK7.js +0 -133
  120. package/dist/assets/RunDataJson-Cxnl7zBS.js +0 -260
  121. package/dist/assets/SettingsLdapView-D1c597gY.js +0 -769
  122. package/dist/assets/SettingsView-B_m4_yr-.js +0 -312
  123. package/dist/assets/SetupView-B_DKgHYt.js +0 -148
  124. package/dist/assets/TemplatesCollectionView-CGWvieer.js +0 -253
  125. package/dist/assets/TemplatesWorkflowView-CxnRbF7x.js +0 -255
  126. package/dist/assets/email-providers-NhjWeVZA.js +0 -1
  127. package/dist/assets/highlight.js-NhjWeVZA.js +0 -1
  128. package/dist/assets/xss-NhjWeVZA.js +0 -1
@@ -1,769 +0,0 @@
1
- import { I as defineComponent, an as resolveComponent, au as resolveDirective, J as openBlock, K as createElementBlock, L as createBaseVNode, _ as normalizeClass, a8 as createVNode, a3 as withCtx, a6 as createTextVNode, a7 as toDisplayString, a4 as withDirectives, V as createBlock, U as createCommentVNode } from "./vendor-DCtS1fjk.js";
2
- import { u as useToast, y as useMessage, e as useUIStore, b as useSettingsStore, a as useUsersStore, ds as capitalizeFirstLetter, dt as convertToDisplayDate, D as MODAL_CONFIRM } from "./index-DAAQrhEE.js";
3
- import { h as humanizeDuration } from "./humanize-duration-DLMU-N1g.js";
4
- import { aL as ElTable, aM as ElTableColumn, S as createFormEventBus, _ as _export_sfc } from "./n8n-DS_nZ0wb.js";
5
- import { K } from "./v3-infinite-loading-BDSwUlAm.js";
6
- import { m as mapStores } from "./pinia-C4PgcsWV.js";
7
- import "./axios-B4zXCSve.js";
8
- import "./flatted-D70IerrI.js";
9
- import "./bowser-C3wWO1p5.js";
10
- import "./@vueuse/core-BZR8MlRU.js";
11
- import "./lodash-es-rVh4nriD.js";
12
- import "./@n8n/permissions-BxSXRD9U.js";
13
- import "./uuid-BoySKAeK.js";
14
- import "./dateformat-DYMw-0LU.js";
15
- import "./vue-i18n-DBLN2Rh9.js";
16
- import "./@jsplumb/util-BwtpiQ4c.js";
17
- import "./@jsplumb/core-B__RSZHf.js";
18
- import "./@jsplumb/common-s1StEx7B.js";
19
- import "./@jsplumb/connector-bezier-D659hq4c.js";
20
- import "./@jsplumb/browser-ui-BphmFVJY.js";
21
- import "./luxon-Bt_g4NOb.js";
22
- import "./@n8n/codemirror-lang-CIGGB1t0.js";
23
- import "./@lezer/common-CnY9etib.js";
24
- import "./@n8n/codemirror-lang-sql-C41WNa63.js";
25
- import "./prettier-_aQB57xD.js";
26
- import "./codemirror-lang-html-n8n-CXTCIWzP.js";
27
- import "./esprima-next-DUEu30kB.js";
28
- import "./fast-json-stable-stringify-dgHKYgJi.js";
29
- import "./timeago.js-CgQus8nl.js";
30
- import "./qrcode.vue-EmD3D6Vb.js";
31
- import "./vue3-touch-events-DVOgU3fI.js";
32
- import "./chart.js-DiBOFLDH.js";
33
- const _sfc_main = defineComponent({
34
- name: "SettingsLdapView",
35
- components: {
36
- InfiniteLoading: K,
37
- ElTable,
38
- ElTableColumn
39
- },
40
- setup() {
41
- return {
42
- ...useToast(),
43
- ...useMessage()
44
- };
45
- },
46
- data() {
47
- return {
48
- dataTable: [],
49
- tableKey: 0,
50
- adConfig: {},
51
- loadingTestConnection: false,
52
- loadingDryRun: false,
53
- loadingLiveRun: false,
54
- loadingTable: false,
55
- hasAnyChanges: false,
56
- formInputs: null,
57
- formBus: createFormEventBus(),
58
- readyToSubmit: false,
59
- page: 0,
60
- loginEnabled: false,
61
- syncEnabled: false
62
- };
63
- },
64
- computed: {
65
- ...mapStores(useUsersStore, useSettingsStore, useUIStore),
66
- currentUser() {
67
- return this.usersStore.currentUser;
68
- },
69
- isLDAPFeatureEnabled() {
70
- return this.settingsStore.settings.enterprise.ldap;
71
- }
72
- },
73
- async mounted() {
74
- if (!this.isLDAPFeatureEnabled)
75
- return;
76
- await this.getLdapConfig();
77
- },
78
- methods: {
79
- goToUpgrade() {
80
- void this.uiStore.goToUpgrade("ldap", "upgrade-ldap");
81
- },
82
- cellClassStyle({ row, column }) {
83
- if (column.property === "status") {
84
- if (row.status === "Success") {
85
- return { color: "green" };
86
- } else if (row.status === "Error") {
87
- return { color: "red" };
88
- }
89
- }
90
- if (column.property === "runMode") {
91
- if (row.runMode === "Dry") {
92
- return { color: "orange" };
93
- } else if (row.runMode === "Live") {
94
- return { color: "blue" };
95
- }
96
- }
97
- return {};
98
- },
99
- onInput(input) {
100
- if (input.name === "loginEnabled" && typeof input.value === "boolean") {
101
- this.loginEnabled = input.value;
102
- }
103
- if (input.name === "synchronizationEnabled" && typeof input.value === "boolean") {
104
- this.syncEnabled = input.value;
105
- }
106
- this.hasAnyChanges = true;
107
- },
108
- onReadyToSubmit(ready) {
109
- this.readyToSubmit = ready;
110
- },
111
- syncDataMapper(sync) {
112
- const startedAt = new Date(sync.startedAt);
113
- const endedAt = new Date(sync.endedAt);
114
- const runTimeInMinutes = endedAt.getTime() - startedAt.getTime();
115
- return {
116
- runTime: humanizeDuration(runTimeInMinutes),
117
- runMode: capitalizeFirstLetter(sync.runMode),
118
- status: capitalizeFirstLetter(sync.status),
119
- endedAt: convertToDisplayDate(endedAt.getTime()),
120
- details: this.$locale.baseText("settings.ldap.usersScanned", {
121
- interpolate: {
122
- scanned: sync.scanned.toString()
123
- }
124
- })
125
- };
126
- },
127
- async onSubmit() {
128
- const formInputsRef = this.$refs.ldapConfigForm;
129
- const formValues = formInputsRef.getValues();
130
- if (!this.hasAnyChanges || !formInputsRef) {
131
- return;
132
- }
133
- const newConfiguration = {
134
- loginEnabled: formValues.loginEnabled,
135
- loginLabel: formValues.loginLabel,
136
- connectionUrl: formValues.serverAddress,
137
- allowUnauthorizedCerts: formValues.allowUnauthorizedCerts,
138
- connectionPort: +formValues.port,
139
- connectionSecurity: formValues.connectionSecurity,
140
- baseDn: formValues.baseDn,
141
- bindingAdminDn: formValues.bindingType === "admin" ? formValues.adminDn : "",
142
- bindingAdminPassword: formValues.bindingType === "admin" ? formValues.adminPassword : "",
143
- emailAttribute: formValues.email,
144
- firstNameAttribute: formValues.firstName,
145
- lastNameAttribute: formValues.lastName,
146
- loginIdAttribute: formValues.loginId,
147
- ldapIdAttribute: formValues.ldapId,
148
- userFilter: formValues.userFilter,
149
- synchronizationEnabled: formValues.synchronizationEnabled,
150
- synchronizationInterval: +formValues.synchronizationInterval,
151
- searchPageSize: +formValues.pageSize,
152
- searchTimeout: +formValues.searchTimeout
153
- };
154
- let saveForm = true;
155
- try {
156
- if (this.adConfig.loginEnabled && !newConfiguration.loginEnabled) {
157
- const confirmAction = await this.confirm(
158
- this.$locale.baseText("settings.ldap.confirmMessage.beforeSaveForm.message"),
159
- this.$locale.baseText("settings.ldap.confirmMessage.beforeSaveForm.headline"),
160
- {
161
- cancelButtonText: this.$locale.baseText(
162
- "settings.ldap.confirmMessage.beforeSaveForm.cancelButtonText"
163
- ),
164
- confirmButtonText: this.$locale.baseText(
165
- "settings.ldap.confirmMessage.beforeSaveForm.confirmButtonText"
166
- )
167
- }
168
- );
169
- saveForm = confirmAction === MODAL_CONFIRM;
170
- }
171
- if (!saveForm) {
172
- this.hasAnyChanges = true;
173
- }
174
- this.adConfig = await this.settingsStore.updateLdapConfig(newConfiguration);
175
- this.showToast({
176
- title: this.$locale.baseText("settings.ldap.updateConfiguration"),
177
- message: "",
178
- type: "success"
179
- });
180
- } catch (error) {
181
- this.showError(error, this.$locale.baseText("settings.ldap.configurationError"));
182
- } finally {
183
- if (saveForm) {
184
- this.hasAnyChanges = false;
185
- }
186
- }
187
- },
188
- onSaveClick() {
189
- this.formBus.emit("submit");
190
- },
191
- async onTestConnectionClick() {
192
- this.loadingTestConnection = true;
193
- try {
194
- await this.settingsStore.testLdapConnection();
195
- this.showToast({
196
- title: this.$locale.baseText("settings.ldap.connectionTest"),
197
- message: this.$locale.baseText("settings.ldap.toast.connection.success"),
198
- type: "success"
199
- });
200
- } catch (error) {
201
- this.showToast({
202
- title: this.$locale.baseText("settings.ldap.connectionTestError"),
203
- message: error.message,
204
- type: "error"
205
- });
206
- } finally {
207
- this.loadingTestConnection = false;
208
- }
209
- },
210
- async onDryRunClick() {
211
- this.loadingDryRun = true;
212
- try {
213
- await this.settingsStore.runLdapSync({ type: "dry" });
214
- this.showToast({
215
- title: this.$locale.baseText("settings.ldap.runSync.title"),
216
- message: this.$locale.baseText("settings.ldap.toast.sync.success"),
217
- type: "success"
218
- });
219
- } catch (error) {
220
- this.showError(error, this.$locale.baseText("settings.ldap.synchronizationError"));
221
- } finally {
222
- this.loadingDryRun = false;
223
- await this.reloadLdapSynchronizations();
224
- }
225
- },
226
- async onLiveRunClick() {
227
- this.loadingLiveRun = true;
228
- try {
229
- await this.settingsStore.runLdapSync({ type: "live" });
230
- this.showToast({
231
- title: this.$locale.baseText("settings.ldap.runSync.title"),
232
- message: this.$locale.baseText("settings.ldap.toast.sync.success"),
233
- type: "success"
234
- });
235
- } catch (error) {
236
- this.showError(error, this.$locale.baseText("settings.ldap.synchronizationError"));
237
- } finally {
238
- this.loadingLiveRun = false;
239
- await this.reloadLdapSynchronizations();
240
- }
241
- },
242
- async getLdapConfig() {
243
- try {
244
- this.adConfig = await this.settingsStore.getLdapConfig();
245
- this.loginEnabled = this.adConfig.loginEnabled;
246
- this.syncEnabled = this.adConfig.synchronizationEnabled;
247
- const whenLoginEnabled = (values) => values.loginEnabled === true;
248
- const whenSyncAndLoginEnabled = (values) => values.synchronizationEnabled === true && values.loginEnabled === true;
249
- const whenAdminBindingAndLoginEnabled = (values) => values.bindingType === "admin" && values.loginEnabled === true;
250
- this.formInputs = [
251
- {
252
- name: "loginEnabled",
253
- initialValue: this.adConfig.loginEnabled,
254
- properties: {
255
- type: "toggle",
256
- label: this.$locale.baseText("settings.ldap.form.loginEnabled.label"),
257
- tooltipText: this.$locale.baseText("settings.ldap.form.loginEnabled.tooltip"),
258
- required: true
259
- }
260
- },
261
- {
262
- name: "loginLabel",
263
- initialValue: this.adConfig.loginLabel,
264
- properties: {
265
- label: this.$locale.baseText("settings.ldap.form.loginLabel.label"),
266
- required: true,
267
- placeholder: this.$locale.baseText("settings.ldap.form.loginLabel.placeholder"),
268
- infoText: this.$locale.baseText("settings.ldap.form.loginLabel.infoText")
269
- },
270
- shouldDisplay: whenLoginEnabled
271
- },
272
- {
273
- name: "serverAddress",
274
- initialValue: this.adConfig.connectionUrl,
275
- properties: {
276
- label: this.$locale.baseText("settings.ldap.form.serverAddress.label"),
277
- required: true,
278
- capitalize: true,
279
- placeholder: this.$locale.baseText("settings.ldap.form.serverAddress.placeholder"),
280
- infoText: this.$locale.baseText("settings.ldap.form.serverAddress.infoText")
281
- },
282
- shouldDisplay: whenLoginEnabled
283
- },
284
- {
285
- name: "port",
286
- initialValue: this.adConfig.connectionPort,
287
- properties: {
288
- type: "number",
289
- label: this.$locale.baseText("settings.ldap.form.port.label"),
290
- capitalize: true,
291
- infoText: this.$locale.baseText("settings.ldap.form.port.infoText")
292
- },
293
- shouldDisplay: whenLoginEnabled
294
- },
295
- {
296
- name: "connectionSecurity",
297
- initialValue: this.adConfig.connectionSecurity,
298
- properties: {
299
- type: "select",
300
- label: this.$locale.baseText("settings.ldap.form.connectionSecurity.label"),
301
- infoText: this.$locale.baseText("settings.ldap.form.connectionSecurity.infoText"),
302
- options: [
303
- {
304
- label: "None",
305
- value: "none"
306
- },
307
- {
308
- label: "TLS",
309
- value: "tls"
310
- },
311
- {
312
- label: "STARTTLS",
313
- value: "startTls"
314
- }
315
- ],
316
- required: true,
317
- capitalize: true
318
- },
319
- shouldDisplay: whenLoginEnabled
320
- },
321
- {
322
- name: "allowUnauthorizedCerts",
323
- initialValue: this.adConfig.allowUnauthorizedCerts,
324
- properties: {
325
- type: "toggle",
326
- label: this.$locale.baseText("settings.ldap.form.allowUnauthorizedCerts.label"),
327
- required: false
328
- },
329
- shouldDisplay(values) {
330
- return values.connectionSecurity !== "none" && values.loginEnabled === true;
331
- }
332
- },
333
- {
334
- name: "baseDn",
335
- initialValue: this.adConfig.baseDn,
336
- properties: {
337
- label: this.$locale.baseText("settings.ldap.form.baseDn.label"),
338
- required: true,
339
- capitalize: true,
340
- placeholder: this.$locale.baseText("settings.ldap.form.baseDn.placeholder"),
341
- infoText: this.$locale.baseText("settings.ldap.form.baseDn.infoText")
342
- },
343
- shouldDisplay: whenLoginEnabled
344
- },
345
- {
346
- name: "bindingType",
347
- initialValue: "admin",
348
- properties: {
349
- type: "select",
350
- label: this.$locale.baseText("settings.ldap.form.bindingType.label"),
351
- infoText: this.$locale.baseText("settings.ldap.form.bindingType.infoText"),
352
- options: [
353
- {
354
- value: "admin",
355
- label: "Admin"
356
- },
357
- {
358
- value: "anonymous",
359
- label: "Anonymous"
360
- }
361
- ]
362
- },
363
- shouldDisplay: whenLoginEnabled
364
- },
365
- {
366
- name: "adminDn",
367
- initialValue: this.adConfig.bindingAdminDn,
368
- properties: {
369
- label: this.$locale.baseText("settings.ldap.form.adminDn.label"),
370
- placeholder: this.$locale.baseText("settings.ldap.form.adminDn.placeholder"),
371
- infoText: this.$locale.baseText("settings.ldap.form.adminDn.infoText"),
372
- capitalize: true
373
- },
374
- shouldDisplay: whenAdminBindingAndLoginEnabled
375
- },
376
- {
377
- name: "adminPassword",
378
- initialValue: this.adConfig.bindingAdminPassword,
379
- properties: {
380
- label: this.$locale.baseText("settings.ldap.form.adminPassword.label"),
381
- type: "password",
382
- capitalize: true,
383
- infoText: this.$locale.baseText("settings.ldap.form.adminPassword.infoText")
384
- },
385
- shouldDisplay: whenAdminBindingAndLoginEnabled
386
- },
387
- {
388
- name: "userFilter",
389
- initialValue: this.adConfig.userFilter,
390
- properties: {
391
- label: this.$locale.baseText("settings.ldap.form.userFilter.label"),
392
- type: "text",
393
- required: false,
394
- capitalize: true,
395
- placeholder: this.$locale.baseText("settings.ldap.form.userFilter.placeholder"),
396
- infoText: this.$locale.baseText("settings.ldap.form.userFilter.infoText")
397
- },
398
- shouldDisplay: whenLoginEnabled
399
- },
400
- {
401
- name: "attributeMappingInfo",
402
- properties: {
403
- label: this.$locale.baseText("settings.ldap.form.attributeMappingInfo.label"),
404
- type: "info",
405
- labelSize: "large",
406
- labelAlignment: "left"
407
- },
408
- shouldDisplay: whenLoginEnabled
409
- },
410
- {
411
- name: "ldapId",
412
- initialValue: this.adConfig.ldapIdAttribute,
413
- properties: {
414
- label: this.$locale.baseText("settings.ldap.form.ldapId.label"),
415
- type: "text",
416
- required: true,
417
- capitalize: true,
418
- placeholder: this.$locale.baseText("settings.ldap.form.ldapId.placeholder"),
419
- infoText: this.$locale.baseText("settings.ldap.form.ldapId.infoText")
420
- },
421
- shouldDisplay: whenLoginEnabled
422
- },
423
- {
424
- name: "loginId",
425
- initialValue: this.adConfig.loginIdAttribute,
426
- properties: {
427
- label: this.$locale.baseText("settings.ldap.form.loginId.label"),
428
- type: "text",
429
- autocomplete: "email",
430
- required: true,
431
- capitalize: true,
432
- placeholder: this.$locale.baseText("settings.ldap.form.loginId.placeholder"),
433
- infoText: this.$locale.baseText("settings.ldap.form.loginId.infoText")
434
- },
435
- shouldDisplay: whenLoginEnabled
436
- },
437
- {
438
- name: "email",
439
- initialValue: this.adConfig.emailAttribute,
440
- properties: {
441
- label: this.$locale.baseText("settings.ldap.form.email.label"),
442
- type: "text",
443
- autocomplete: "email",
444
- required: true,
445
- capitalize: true,
446
- placeholder: this.$locale.baseText("settings.ldap.form.email.placeholder"),
447
- infoText: this.$locale.baseText("settings.ldap.form.email.infoText")
448
- },
449
- shouldDisplay: whenLoginEnabled
450
- },
451
- {
452
- name: "firstName",
453
- initialValue: this.adConfig.firstNameAttribute,
454
- properties: {
455
- label: this.$locale.baseText("settings.ldap.form.firstName.label"),
456
- type: "text",
457
- autocomplete: "email",
458
- required: true,
459
- capitalize: true,
460
- placeholder: this.$locale.baseText("settings.ldap.form.firstName.placeholder"),
461
- infoText: this.$locale.baseText("settings.ldap.form.firstName.infoText")
462
- },
463
- shouldDisplay: whenLoginEnabled
464
- },
465
- {
466
- name: "lastName",
467
- initialValue: this.adConfig.lastNameAttribute,
468
- properties: {
469
- label: this.$locale.baseText("settings.ldap.form.lastName.label"),
470
- type: "text",
471
- autocomplete: "email",
472
- required: true,
473
- capitalize: true,
474
- placeholder: this.$locale.baseText("settings.ldap.form.lastName.placeholder"),
475
- infoText: this.$locale.baseText("settings.ldap.form.lastName.infoText")
476
- },
477
- shouldDisplay: whenLoginEnabled
478
- },
479
- {
480
- name: "synchronizationEnabled",
481
- initialValue: this.adConfig.synchronizationEnabled,
482
- properties: {
483
- type: "toggle",
484
- label: this.$locale.baseText("settings.ldap.form.synchronizationEnabled.label"),
485
- tooltipText: this.$locale.baseText(
486
- "settings.ldap.form.synchronizationEnabled.tooltip"
487
- ),
488
- required: true
489
- },
490
- shouldDisplay: whenLoginEnabled
491
- },
492
- {
493
- name: "synchronizationInterval",
494
- initialValue: this.adConfig.synchronizationInterval,
495
- properties: {
496
- type: "number",
497
- label: this.$locale.baseText("settings.ldap.form.synchronizationInterval.label"),
498
- infoText: this.$locale.baseText(
499
- "settings.ldap.form.synchronizationInterval.infoText"
500
- )
501
- },
502
- shouldDisplay: whenSyncAndLoginEnabled
503
- },
504
- {
505
- name: "pageSize",
506
- initialValue: this.adConfig.searchPageSize,
507
- properties: {
508
- type: "number",
509
- label: this.$locale.baseText("settings.ldap.form.pageSize.label"),
510
- infoText: this.$locale.baseText("settings.ldap.form.pageSize.infoText")
511
- },
512
- shouldDisplay: whenSyncAndLoginEnabled
513
- },
514
- {
515
- name: "searchTimeout",
516
- initialValue: this.adConfig.searchTimeout,
517
- properties: {
518
- type: "number",
519
- label: this.$locale.baseText("settings.ldap.form.searchTimeout.label"),
520
- infoText: this.$locale.baseText("settings.ldap.form.searchTimeout.infoText")
521
- },
522
- shouldDisplay: whenSyncAndLoginEnabled
523
- }
524
- ];
525
- } catch (error) {
526
- this.showError(error, this.$locale.baseText("settings.ldap.configurationError"));
527
- }
528
- },
529
- async getLdapSynchronizations(state) {
530
- try {
531
- this.loadingTable = true;
532
- const data = await this.settingsStore.getLdapSynchronizations({
533
- page: this.page
534
- });
535
- if (data.length !== 0) {
536
- this.dataTable.push(...data.map(this.syncDataMapper));
537
- this.page += 1;
538
- state.loaded();
539
- } else {
540
- state.complete();
541
- }
542
- this.loadingTable = false;
543
- } catch (error) {
544
- this.showError(error, this.$locale.baseText("settings.ldap.synchronizationError"));
545
- }
546
- },
547
- async reloadLdapSynchronizations() {
548
- try {
549
- this.page = 0;
550
- this.tableKey += 1;
551
- this.dataTable = [];
552
- } catch (error) {
553
- this.showError(error, this.$locale.baseText("settings.ldap.synchronizationError"));
554
- }
555
- }
556
- }
557
- });
558
- const container = "_container_17k3n_1";
559
- const syncTable = "_syncTable_17k3n_5";
560
- const header = "_header_17k3n_9";
561
- const enableFeatureContainer = "_enableFeatureContainer_17k3n_18";
562
- const sectionHeader = "_sectionHeader_17k3n_32";
563
- const settingsForm = "_settingsForm_17k3n_36";
564
- const docsInfoTip = "_docsInfoTip_17k3n_40";
565
- const style0 = {
566
- container,
567
- syncTable,
568
- header,
569
- enableFeatureContainer,
570
- sectionHeader,
571
- settingsForm,
572
- docsInfoTip
573
- };
574
- const _hoisted_1 = { key: 0 };
575
- const _hoisted_2 = { key: 1 };
576
- const _hoisted_3 = { key: 0 };
577
- const _hoisted_4 = { class: "pb-3xl" };
578
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
579
- const _component_n8n_heading = resolveComponent("n8n-heading");
580
- const _component_n8n_info_tip = resolveComponent("n8n-info-tip");
581
- const _component_n8n_action_box = resolveComponent("n8n-action-box");
582
- const _component_n8n_form_inputs = resolveComponent("n8n-form-inputs");
583
- const _component_n8n_button = resolveComponent("n8n-button");
584
- const _component_ElTableColumn = resolveComponent("ElTableColumn");
585
- const _component_InfiniteLoading = resolveComponent("InfiniteLoading");
586
- const _component_ElTable = resolveComponent("ElTable");
587
- const _directive_n8n_html = resolveDirective("n8n-html");
588
- const _directive_loading = resolveDirective("loading");
589
- return !_ctx.isLDAPFeatureEnabled ? (openBlock(), createElementBlock("div", _hoisted_1, [
590
- createBaseVNode("div", {
591
- class: normalizeClass([_ctx.$style.header, "mb-2xl"])
592
- }, [
593
- createVNode(_component_n8n_heading, { size: "2xlarge" }, {
594
- default: withCtx(() => [
595
- createTextVNode(toDisplayString(_ctx.$locale.baseText("settings.ldap")), 1)
596
- ]),
597
- _: 1
598
- })
599
- ], 2),
600
- createVNode(_component_n8n_info_tip, {
601
- type: "note",
602
- theme: "info",
603
- "tooltip-placement": "right",
604
- class: "mb-l"
605
- }, {
606
- default: withCtx(() => [
607
- createTextVNode(toDisplayString(_ctx.$locale.baseText("settings.ldap.note")), 1)
608
- ]),
609
- _: 1
610
- }),
611
- createVNode(_component_n8n_action_box, {
612
- description: _ctx.$locale.baseText("settings.ldap.disabled.description"),
613
- "button-text": _ctx.$locale.baseText("settings.ldap.disabled.buttonText"),
614
- "onClick:button": _ctx.goToUpgrade
615
- }, {
616
- heading: withCtx(() => [
617
- createBaseVNode("span", null, toDisplayString(_ctx.$locale.baseText("settings.ldap.disabled.title")), 1)
618
- ]),
619
- _: 1
620
- }, 8, ["description", "button-text", "onClick:button"])
621
- ])) : (openBlock(), createElementBlock("div", _hoisted_2, [
622
- createBaseVNode("div", {
623
- class: normalizeClass(_ctx.$style.container)
624
- }, [
625
- createBaseVNode("div", {
626
- class: normalizeClass(_ctx.$style.header)
627
- }, [
628
- createVNode(_component_n8n_heading, { size: "2xlarge" }, {
629
- default: withCtx(() => [
630
- createTextVNode(toDisplayString(_ctx.$locale.baseText("settings.ldap")), 1)
631
- ]),
632
- _: 1
633
- })
634
- ], 2),
635
- createBaseVNode("div", {
636
- class: normalizeClass(_ctx.$style.docsInfoTip)
637
- }, [
638
- createVNode(_component_n8n_info_tip, {
639
- theme: "info",
640
- type: "note"
641
- }, {
642
- default: withCtx(() => [
643
- withDirectives(createBaseVNode("span", null, null, 512), [
644
- [_directive_n8n_html, _ctx.$locale.baseText("settings.ldap.infoTip")]
645
- ])
646
- ]),
647
- _: 1
648
- })
649
- ], 2),
650
- createBaseVNode("div", {
651
- class: normalizeClass(_ctx.$style.settingsForm)
652
- }, [
653
- _ctx.formInputs ? (openBlock(), createBlock(_component_n8n_form_inputs, {
654
- key: 0,
655
- ref: "ldapConfigForm",
656
- inputs: _ctx.formInputs,
657
- "event-bus": _ctx.formBus,
658
- "column-view": true,
659
- "vertical-spacing": "l",
660
- onUpdate: _ctx.onInput,
661
- onReady: _ctx.onReadyToSubmit,
662
- onSubmit: _ctx.onSubmit
663
- }, null, 8, ["inputs", "event-bus", "onUpdate", "onReady", "onSubmit"])) : createCommentVNode("", true)
664
- ], 2),
665
- createBaseVNode("div", null, [
666
- _ctx.loginEnabled ? (openBlock(), createBlock(_component_n8n_button, {
667
- key: 0,
668
- label: _ctx.loadingTestConnection ? _ctx.$locale.baseText("settings.ldap.testingConnection") : _ctx.$locale.baseText("settings.ldap.testConnection"),
669
- size: "large",
670
- class: "mr-s",
671
- disabled: _ctx.hasAnyChanges || !_ctx.readyToSubmit,
672
- loading: _ctx.loadingTestConnection,
673
- onClick: _ctx.onTestConnectionClick
674
- }, null, 8, ["label", "disabled", "loading", "onClick"])) : createCommentVNode("", true),
675
- createVNode(_component_n8n_button, {
676
- label: _ctx.$locale.baseText("settings.ldap.save"),
677
- size: "large",
678
- disabled: !_ctx.hasAnyChanges || !_ctx.readyToSubmit,
679
- onClick: _ctx.onSaveClick
680
- }, null, 8, ["label", "disabled", "onClick"])
681
- ])
682
- ], 2),
683
- _ctx.loginEnabled ? (openBlock(), createElementBlock("div", _hoisted_3, [
684
- createVNode(_component_n8n_heading, {
685
- tag: "h1",
686
- class: "mb-xl mt-3xl",
687
- size: "medium"
688
- }, {
689
- default: withCtx(() => [
690
- createTextVNode(toDisplayString(_ctx.$locale.baseText("settings.ldap.section.synchronization.title")), 1)
691
- ]),
692
- _: 1
693
- }),
694
- createBaseVNode("div", {
695
- class: normalizeClass(_ctx.$style.syncTable)
696
- }, [
697
- withDirectives((openBlock(), createBlock(_component_ElTable, {
698
- key: _ctx.tableKey,
699
- border: true,
700
- stripe: true,
701
- data: _ctx.dataTable,
702
- "cell-style": _ctx.cellClassStyle,
703
- style: { "width": "100%" },
704
- "max-height": "250"
705
- }, {
706
- empty: withCtx(() => [
707
- createTextVNode(toDisplayString(_ctx.$locale.baseText("settings.ldap.synchronizationTable.empty.message")), 1)
708
- ]),
709
- append: withCtx(() => [
710
- createVNode(_component_InfiniteLoading, {
711
- target: ".el-table__body-wrapper",
712
- onInfinite: _ctx.getLdapSynchronizations
713
- }, null, 8, ["onInfinite"])
714
- ]),
715
- default: withCtx(() => [
716
- createVNode(_component_ElTableColumn, {
717
- prop: "status",
718
- label: _ctx.$locale.baseText("settings.ldap.synchronizationTable.column.status")
719
- }, null, 8, ["label"]),
720
- createVNode(_component_ElTableColumn, {
721
- prop: "endedAt",
722
- label: _ctx.$locale.baseText("settings.ldap.synchronizationTable.column.endedAt")
723
- }, null, 8, ["label"]),
724
- createVNode(_component_ElTableColumn, {
725
- prop: "runMode",
726
- label: _ctx.$locale.baseText("settings.ldap.synchronizationTable.column.runMode")
727
- }, null, 8, ["label"]),
728
- createVNode(_component_ElTableColumn, {
729
- prop: "runTime",
730
- label: _ctx.$locale.baseText("settings.ldap.synchronizationTable.column.runTime")
731
- }, null, 8, ["label"]),
732
- createVNode(_component_ElTableColumn, {
733
- prop: "details",
734
- label: _ctx.$locale.baseText("settings.ldap.synchronizationTable.column.details")
735
- }, null, 8, ["label"])
736
- ]),
737
- _: 1
738
- }, 8, ["data", "cell-style"])), [
739
- [_directive_loading, _ctx.loadingTable]
740
- ])
741
- ], 2),
742
- createBaseVNode("div", _hoisted_4, [
743
- createVNode(_component_n8n_button, {
744
- label: _ctx.$locale.baseText("settings.ldap.dryRun"),
745
- type: "secondary",
746
- size: "large",
747
- class: "mr-s",
748
- disabled: _ctx.hasAnyChanges || !_ctx.readyToSubmit,
749
- loading: _ctx.loadingDryRun,
750
- onClick: _ctx.onDryRunClick
751
- }, null, 8, ["label", "disabled", "loading", "onClick"]),
752
- createVNode(_component_n8n_button, {
753
- label: _ctx.$locale.baseText("settings.ldap.synchronizeNow"),
754
- size: "large",
755
- disabled: _ctx.hasAnyChanges || !_ctx.readyToSubmit,
756
- loading: _ctx.loadingLiveRun,
757
- onClick: _ctx.onLiveRunClick
758
- }, null, 8, ["label", "disabled", "loading", "onClick"])
759
- ])
760
- ])) : createCommentVNode("", true)
761
- ]));
762
- }
763
- const cssModules = {
764
- "$style": style0
765
- };
766
- const SettingsLdapView = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__cssModules", cssModules]]);
767
- export {
768
- SettingsLdapView as default
769
- };