@hostwebhook/node-types 1.75.0 → 1.75.2
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.
|
@@ -58,8 +58,15 @@ const eventConfigParams = () => [
|
|
|
58
58
|
{ name: 'summaryTemplate', target: 'eventConfig', label: 'Summary', type: 'template', placeholder: '{{payload.title}}', execKey: 'summary' },
|
|
59
59
|
{ name: 'descriptionTemplate', target: 'eventConfig', label: 'Description', type: 'template', placeholder: 'Event description... (supports {{templates}})', execKey: 'description' },
|
|
60
60
|
{ name: 'locationTemplate', target: 'eventConfig', label: 'Location', type: 'template', placeholder: '{{payload.location}}', execKey: 'location' },
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
/* Los `description` de estos dos son la única pantalla donde el usuario se
|
|
62
|
+
entera de la regla de ambigüedad ANTES de mandar el payload. `05-06-2026`
|
|
63
|
+
se rechaza en ejecución (ver `normalizeDate`), y un rechazo que sólo
|
|
64
|
+
aparece en el log del run llega tarde: aquí se dice al lado del campo.
|
|
65
|
+
El de End Date dice además que es el ÚLTIMO DÍA INCLUIDO, porque el `+1`
|
|
66
|
+
de la exclusividad de Google lo pone HostWebhook y sin decirlo el usuario
|
|
67
|
+
lo escribiría dos veces. */
|
|
68
|
+
{ name: 'startTemplate', target: 'eventConfig', label: 'Start Date', type: 'template', placeholder: '{{payload.startTime}}', description: 'YYYY-MM-DD for an all-day event, or YYYY-MM-DDTHH:mm:ss for a timed one (interpreted in the Time Zone below). M-D-YYYY and D-M-YYYY work only when one part is above 12 — 05-06-2026 is rejected as ambiguous instead of guessed.', execKey: 'start' },
|
|
69
|
+
{ name: 'endTemplate', target: 'eventConfig', label: 'End Date', type: 'template', placeholder: '{{payload.endTime}}', description: 'YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss, same rules as Start Date. For all-day events this is the LAST DAY INCLUDED — HostWebhook adds the extra day Google needs, so a trip ending 2026-09-21 goes in as 2026-09-21.', execKey: 'end' },
|
|
63
70
|
{
|
|
64
71
|
name: 'attendeesTemplate',
|
|
65
72
|
target: 'eventConfig',
|
|
@@ -102,6 +109,15 @@ exports.GOOGLE_CALENDAR_OPERATION_SPECS = {
|
|
|
102
109
|
{ name: 'timeMaxTemplate', target: 'listConfig', label: 'End Date', type: 'template', placeholder: '{{payload.to}}', execKey: 'timeMax' },
|
|
103
110
|
{ name: 'maxResults', target: 'listConfig', label: 'Max Results', type: 'number', min: 1, max: 2500, default: 10 },
|
|
104
111
|
{ name: 'query', target: 'listConfig', label: 'Search Query', type: 'template', placeholder: 'meeting' },
|
|
112
|
+
/* 🔴 La zona con la que se leen los dos extremos del rango.
|
|
113
|
+
`findFreeSlots` la tenía y ésta no, así que un «del 18 al 21» se leía
|
|
114
|
+
SIEMPRE en UTC: ni la elección de quien lo escribe ni la zona del
|
|
115
|
+
workspace entraban en la cuenta. Reportado por Ariel — «no sigue
|
|
116
|
+
respetando la zona horaria que seleccionan en la página; si no
|
|
117
|
+
seleccionan, que use el del workspace».
|
|
118
|
+
Vacía sigue cayendo al defecto del workspace, y sin workspace a UTC,
|
|
119
|
+
que es lo que hacía antes: un nodo ya guardado no cambia. */
|
|
120
|
+
{ name: 'timeZone', target: 'listConfig', label: 'Time Zone', type: 'timezone', description: 'IANA zone used to read the range bounds. Empty uses the workspace zone.', execKey: 'timeZone' },
|
|
105
121
|
],
|
|
106
122
|
},
|
|
107
123
|
getEvent: {
|
|
@@ -54,8 +54,15 @@ const eventConfigParams = () => [
|
|
|
54
54
|
{ name: 'summaryTemplate', target: 'eventConfig', label: 'Summary', type: 'template', placeholder: '{{payload.title}}', execKey: 'summary' },
|
|
55
55
|
{ name: 'descriptionTemplate', target: 'eventConfig', label: 'Description', type: 'template', placeholder: 'Event description... (supports {{templates}})', execKey: 'description' },
|
|
56
56
|
{ name: 'locationTemplate', target: 'eventConfig', label: 'Location', type: 'template', placeholder: '{{payload.location}}', execKey: 'location' },
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
/* Los `description` de estos dos son la única pantalla donde el usuario se
|
|
58
|
+
entera de la regla de ambigüedad ANTES de mandar el payload. `05-06-2026`
|
|
59
|
+
se rechaza en ejecución (ver `normalizeDate`), y un rechazo que sólo
|
|
60
|
+
aparece en el log del run llega tarde: aquí se dice al lado del campo.
|
|
61
|
+
El de End Date dice además que es el ÚLTIMO DÍA INCLUIDO, porque el `+1`
|
|
62
|
+
de la exclusividad de Google lo pone HostWebhook y sin decirlo el usuario
|
|
63
|
+
lo escribiría dos veces. */
|
|
64
|
+
{ name: 'startTemplate', target: 'eventConfig', label: 'Start Date', type: 'template', placeholder: '{{payload.startTime}}', description: 'YYYY-MM-DD for an all-day event, or YYYY-MM-DDTHH:mm:ss for a timed one (interpreted in the Time Zone below). M-D-YYYY and D-M-YYYY work only when one part is above 12 — 05-06-2026 is rejected as ambiguous instead of guessed.', execKey: 'start' },
|
|
65
|
+
{ name: 'endTemplate', target: 'eventConfig', label: 'End Date', type: 'template', placeholder: '{{payload.endTime}}', description: 'YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss, same rules as Start Date. For all-day events this is the LAST DAY INCLUDED — HostWebhook adds the extra day Google needs, so a trip ending 2026-09-21 goes in as 2026-09-21.', execKey: 'end' },
|
|
59
66
|
{
|
|
60
67
|
name: 'attendeesTemplate',
|
|
61
68
|
target: 'eventConfig',
|
|
@@ -98,6 +105,15 @@ export const GOOGLE_CALENDAR_OPERATION_SPECS = {
|
|
|
98
105
|
{ name: 'timeMaxTemplate', target: 'listConfig', label: 'End Date', type: 'template', placeholder: '{{payload.to}}', execKey: 'timeMax' },
|
|
99
106
|
{ name: 'maxResults', target: 'listConfig', label: 'Max Results', type: 'number', min: 1, max: 2500, default: 10 },
|
|
100
107
|
{ name: 'query', target: 'listConfig', label: 'Search Query', type: 'template', placeholder: 'meeting' },
|
|
108
|
+
/* 🔴 La zona con la que se leen los dos extremos del rango.
|
|
109
|
+
`findFreeSlots` la tenía y ésta no, así que un «del 18 al 21» se leía
|
|
110
|
+
SIEMPRE en UTC: ni la elección de quien lo escribe ni la zona del
|
|
111
|
+
workspace entraban en la cuenta. Reportado por Ariel — «no sigue
|
|
112
|
+
respetando la zona horaria que seleccionan en la página; si no
|
|
113
|
+
seleccionan, que use el del workspace».
|
|
114
|
+
Vacía sigue cayendo al defecto del workspace, y sin workspace a UTC,
|
|
115
|
+
que es lo que hacía antes: un nodo ya guardado no cambia. */
|
|
116
|
+
{ name: 'timeZone', target: 'listConfig', label: 'Time Zone', type: 'timezone', description: 'IANA zone used to read the range bounds. Empty uses the workspace zone.', execKey: 'timeZone' },
|
|
101
117
|
],
|
|
102
118
|
},
|
|
103
119
|
getEvent: {
|
package/package.json
CHANGED