mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +00:00
fix(Wait Node): Validate datetime for specific time mode (#14701)
Co-authored-by: Danny Martini <danny@n8n.io> Co-authored-by: Elias Meire <elias@meire.dev>
This commit is contained in:
committed by
GitHub
parent
3feab31792
commit
3641c1fb87
@@ -1,4 +1,3 @@
|
||||
import { DateTime } from 'luxon';
|
||||
import type {
|
||||
IExecuteFunctions,
|
||||
INodeExecutionData,
|
||||
@@ -8,10 +7,11 @@ import type {
|
||||
IWebhookFunctions,
|
||||
} from 'n8n-workflow';
|
||||
import {
|
||||
NodeOperationError,
|
||||
NodeConnectionTypes,
|
||||
WAIT_INDEFINITELY,
|
||||
FORM_TRIGGER_NODE_TYPE,
|
||||
tryToParseDateTime,
|
||||
NodeOperationError,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
import { updateDisplayOptions } from '../../utils/utilities';
|
||||
@@ -506,20 +506,17 @@ export class Wait extends Webhook {
|
||||
// a number of seconds added to the current timestamp
|
||||
waitTill = new Date(new Date().getTime() + waitAmount);
|
||||
} else {
|
||||
const dateTimeStr = context.getNodeParameter('dateTime', 0) as string;
|
||||
try {
|
||||
const dateTimeStrRaw = context.getNodeParameter('dateTime', 0);
|
||||
const parsedDateTime = tryToParseDateTime(dateTimeStrRaw, context.getTimezone());
|
||||
|
||||
if (isNaN(Date.parse(dateTimeStr))) {
|
||||
waitTill = parsedDateTime.toUTC().toJSDate();
|
||||
} catch (e) {
|
||||
throw new NodeOperationError(
|
||||
context.getNode(),
|
||||
'[Wait node] Cannot put execution to wait because `dateTime` parameter is not a valid date. Please pick a specific date and time to wait until.',
|
||||
);
|
||||
}
|
||||
|
||||
waitTill = DateTime.fromFormat(dateTimeStr, "yyyy-MM-dd'T'HH:mm:ss", {
|
||||
zone: context.getTimezone(),
|
||||
})
|
||||
.toUTC()
|
||||
.toJSDate();
|
||||
}
|
||||
|
||||
const waitValue = Math.max(waitTill.getTime() - new Date().getTime(), 0);
|
||||
|
||||
Reference in New Issue
Block a user