mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-20 03:12:15 +00:00
fix(Google Calendar Node): Mode to add or replace attendees in event update (#11132)
This commit is contained in:
@@ -34,7 +34,7 @@ export class GoogleCalendar implements INodeType {
|
||||
name: 'googleCalendar',
|
||||
icon: 'file:googleCalendar.svg',
|
||||
group: ['input'],
|
||||
version: [1, 1.1],
|
||||
version: [1, 1.1, 1.2],
|
||||
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
|
||||
description: 'Consume Google Calendar API',
|
||||
defaults: {
|
||||
@@ -502,6 +502,7 @@ export class GoogleCalendar implements INodeType {
|
||||
timeZone: updateTimezone,
|
||||
};
|
||||
}
|
||||
// nodeVersion < 1.2
|
||||
if (updateFields.attendees) {
|
||||
body.attendees = [];
|
||||
(updateFields.attendees as string[]).forEach((attendee) => {
|
||||
@@ -514,6 +515,37 @@ export class GoogleCalendar implements INodeType {
|
||||
);
|
||||
});
|
||||
}
|
||||
// nodeVersion >= 1.2
|
||||
if (updateFields.attendeesUi) {
|
||||
const { mode, attendees } = (
|
||||
updateFields.attendeesUi as {
|
||||
values: {
|
||||
mode: string;
|
||||
attendees: string[];
|
||||
};
|
||||
}
|
||||
).values;
|
||||
body.attendees = [];
|
||||
if (mode === 'add') {
|
||||
const event = await googleApiRequest.call(
|
||||
this,
|
||||
'GET',
|
||||
`/calendar/v3/calendars/${calendarId}/events/${eventId}`,
|
||||
);
|
||||
((event?.attendees as IDataObject[]) || []).forEach((attendee) => {
|
||||
body.attendees?.push(attendee);
|
||||
});
|
||||
}
|
||||
(attendees as string[]).forEach((attendee) => {
|
||||
body.attendees!.push.apply(
|
||||
body.attendees,
|
||||
attendee
|
||||
.split(',')
|
||||
.map((a) => a.trim())
|
||||
.map((email) => ({ email })),
|
||||
);
|
||||
});
|
||||
}
|
||||
if (updateFields.color) {
|
||||
body.colorId = updateFields.color as string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user