diff --git a/packages/editor-ui/src/components/NodeCredentials.vue b/packages/editor-ui/src/components/NodeCredentials.vue
index 4fbc53d7f7..ef45f55f6f 100644
--- a/packages/editor-ui/src/components/NodeCredentials.vue
+++ b/packages/editor-ui/src/components/NodeCredentials.vue
@@ -115,10 +115,16 @@ export default mixins(
.map((credentialTypeDescription) => credentialTypeDescription.name);
},
credentialTypesNodeDescriptionDisplayed (): INodeCredentialDescription[] {
- return this.credentialTypesNodeDescription
+ const descriptions = this.credentialTypesNodeDescription
.filter((credentialTypeDescription) => {
return this.displayCredentials(credentialTypeDescription);
});
+
+ if (descriptions.length === 1) {
+ this.$emit('newActiveCredentialType', descriptions[0].name);
+ }
+
+ return descriptions;
},
credentialTypesNodeDescription (): INodeCredentialDescription[] {
const node = this.node as INodeUi;
diff --git a/packages/editor-ui/src/components/NodeSettings.vue b/packages/editor-ui/src/components/NodeSettings.vue
index f74f531bea..65df8ea916 100644
--- a/packages/editor-ui/src/components/NodeSettings.vue
+++ b/packages/editor-ui/src/components/NodeSettings.vue
@@ -31,10 +31,12 @@
:parameters="parametersNoneSetting"
:hideDelete="true"
:nodeValues="nodeValues" path="parameters" @valueChanged="valueChanged"
+ :isSupportedByHttpRequestNode="isSupportedByHttpRequestNode"
>
@@ -209,6 +211,7 @@ export default mixins(
notes: '',
parameters: {},
} as INodeParameters,
+ isSupportedByHttpRequestNode: false,
nodeSettings: [
{
@@ -310,6 +313,17 @@ export default mixins(
},
},
methods: {
+ /**
+ * Check if the node's currently active credential type may be used to make a request with the HTTP Request node v2.
+ */
+ checkIfSupportedByHttpRequestNode(activeCredentialType: string) {
+ const credentialType = this.getCredentialTypeByName(activeCredentialType);
+
+ this.isSupportedByHttpRequestNode = (
+ credentialType.name.slice(0, -4).endsWith('OAuth') ||
+ credentialType.authenticate !== undefined
+ );
+ },
onNodeExecute () {
this.$emit('execute');
},
diff --git a/packages/editor-ui/src/components/ParameterInput.vue b/packages/editor-ui/src/components/ParameterInput.vue
index a733569fe5..0d5649000d 100644
--- a/packages/editor-ui/src/components/ParameterInput.vue
+++ b/packages/editor-ui/src/components/ParameterInput.vue
@@ -258,6 +258,7 @@ export default mixins(
'hideIssues', // boolean
'errorHighlight',
'isForCredential', // boolean
+ 'isSupportedByHttpRequestNode', // boolean
],
data () {
return {
@@ -597,19 +598,6 @@ export default mixins(
return this.getWorkflow();
},
- /**
- * Whether the node's credential may be used to make a request with the HTTP Request node.
- */
- isSupportedByHttpRequestNode(): boolean {
- if (!this.node || !this.node.activeCredentialType || !this.node.credentials) return false;
-
- const credentialType = this.getCredentialTypeByName(this.node.activeCredentialType);
-
- return (
- credentialType.name.slice(0, -4).endsWith('OAuth') ||
- credentialType.authenticate !== undefined
- );
- },
},
methods: {
getPlaceholder(): string {
diff --git a/packages/editor-ui/src/components/ParameterInputFull.vue b/packages/editor-ui/src/components/ParameterInputFull.vue
index 127944c533..df905f4eae 100644
--- a/packages/editor-ui/src/components/ParameterInputFull.vue
+++ b/packages/editor-ui/src/components/ParameterInputFull.vue
@@ -12,6 +12,7 @@
:displayOptions="displayOptions"
:path="path"
:isReadOnly="isReadOnly"
+ :isSupportedByHttpRequestNode="isSupportedByHttpRequestNode"
@valueChanged="valueChanged"
@focus="focused = true"
@blur="focused = false"
@@ -48,6 +49,7 @@ export default Vue
'parameter',
'path',
'value',
+ 'isSupportedByHttpRequestNode',
],
methods: {
getArgument (argumentName: string): string | number | boolean | undefined {
diff --git a/packages/editor-ui/src/components/ParameterInputList.vue b/packages/editor-ui/src/components/ParameterInputList.vue
index 89d2d3b838..1bb7866c3a 100644
--- a/packages/editor-ui/src/components/ParameterInputList.vue
+++ b/packages/editor-ui/src/components/ParameterInputList.vue
@@ -79,6 +79,7 @@
:path="getPath(parameter.name)"
:isReadOnly="isReadOnly"
@valueChanged="valueChanged"
+ :isSupportedByHttpRequestNode="isSupportedByHttpRequestNode"
/>
@@ -122,6 +123,7 @@ export default mixins(
'path', // string
'hideDelete', // boolean
'indent',
+ 'isSupportedByHttpRequestNode', // boolean
],
computed: {
filteredParameters (): INodeProperties[] {