mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-25 20:54:07 -08:00
fix(editor): Fix zero treated as missing value in resource locator (#4612)
* 🐛 Adding a type guard to validate resource locator parameter values * ✔️ Fixing a linting error Co-authored-by: Michael Kret <michael.k@radency.com>
This commit is contained in:
parent
53d2526cd1
commit
b0bbcf6028
|
@ -38,6 +38,7 @@ import {
|
|||
NodeParameterValue,
|
||||
WebhookHttpMethod,
|
||||
} from './Interfaces';
|
||||
import { isValidResourceLocatorParameterValue } from './type-guards';
|
||||
import { deepCopy } from './utils';
|
||||
|
||||
import type { Workflow } from './Workflow';
|
||||
|
@ -1150,7 +1151,7 @@ export function addToIssuesIfMissing(
|
|||
(nodeProperties.type === 'dateTime' && value === undefined) ||
|
||||
(nodeProperties.type === 'options' && (value === '' || value === undefined)) ||
|
||||
(nodeProperties.type === 'resourceLocator' &&
|
||||
(!value || (typeof value === 'object' && !value.value)))
|
||||
!isValidResourceLocatorParameterValue(value as INodeParameterResourceLocator))
|
||||
) {
|
||||
// Parameter is required but empty
|
||||
if (foundIssues.parameters === undefined) {
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
import { INodeProperties, INodePropertyOptions, INodePropertyCollection } from './Interfaces';
|
||||
import {
|
||||
INodeProperties,
|
||||
INodePropertyOptions,
|
||||
INodePropertyCollection,
|
||||
INodeParameterResourceLocator,
|
||||
} from './Interfaces';
|
||||
|
||||
export const isINodeProperties = (
|
||||
item: INodePropertyOptions | INodeProperties | INodePropertyCollection,
|
||||
|
@ -25,3 +30,16 @@ export const isINodePropertyCollectionList = (
|
|||
): items is INodePropertyCollection[] => {
|
||||
return Array.isArray(items) && items.every(isINodePropertyCollection);
|
||||
};
|
||||
|
||||
export const isValidResourceLocatorParameterValue = (
|
||||
value: INodeParameterResourceLocator,
|
||||
): boolean => {
|
||||
if (typeof value === 'object') {
|
||||
if (typeof value.value === 'number') {
|
||||
return true; // Accept all numbers
|
||||
}
|
||||
return !!value.value;
|
||||
} else {
|
||||
return !!value;
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue