Fix/google calendar false alert (#3636)
This commit is contained in:
@@ -120,36 +120,36 @@ export default class GoogleCalendarService implements Calendar {
|
||||
const calendar = google.calendar({
|
||||
version: "v3",
|
||||
});
|
||||
const selectedCalendar = calEventRaw.destinationCalendar?.externalId
|
||||
? calEventRaw.destinationCalendar.externalId
|
||||
: "primary";
|
||||
calendar.events.insert(
|
||||
{
|
||||
auth: myGoogleAuth,
|
||||
calendarId: calEventRaw.destinationCalendar?.externalId
|
||||
? calEventRaw.destinationCalendar.externalId
|
||||
: "primary",
|
||||
calendarId: selectedCalendar,
|
||||
requestBody: payload,
|
||||
conferenceDataVersion: 1,
|
||||
},
|
||||
function (err, event) {
|
||||
if (err || !event?.data) {
|
||||
console.error("There was an error contacting google calendar service: ", err);
|
||||
return reject(err);
|
||||
function (error, event) {
|
||||
if (error || !event?.data) {
|
||||
console.error("There was an error contacting google calendar service: ", error);
|
||||
return reject(error);
|
||||
}
|
||||
|
||||
calendar.events.patch({
|
||||
// Update the same event but this time we know the hangout link
|
||||
calendarId: calEventRaw.destinationCalendar?.externalId
|
||||
? calEventRaw.destinationCalendar.externalId
|
||||
: "primary",
|
||||
auth: myGoogleAuth,
|
||||
eventId: event.data.id || "",
|
||||
requestBody: {
|
||||
description: getRichDescription({
|
||||
...calEventRaw,
|
||||
additionalInformation: { hangoutLink: event.data.hangoutLink || "" },
|
||||
}),
|
||||
},
|
||||
});
|
||||
|
||||
if (event && event.data.id && event.data.hangoutLink) {
|
||||
calendar.events.patch({
|
||||
// Update the same event but this time we know the hangout link
|
||||
calendarId: selectedCalendar,
|
||||
auth: myGoogleAuth,
|
||||
eventId: event.data.id || "",
|
||||
requestBody: {
|
||||
description: getRichDescription({
|
||||
...calEventRaw,
|
||||
additionalInformation: { hangoutLink: event.data.hangoutLink },
|
||||
}),
|
||||
},
|
||||
});
|
||||
}
|
||||
return resolve({
|
||||
uid: "",
|
||||
...event.data,
|
||||
|
||||
@@ -160,10 +160,17 @@ export const createEvent = async (
|
||||
|
||||
// TODO: Surfice success/error messages coming from apps to improve end user visibility
|
||||
const creationResult = calendar
|
||||
? await calendar.createEvent(calEvent).catch(async (e) => {
|
||||
await sendBrokenIntegrationEmail(calEvent, "calendar");
|
||||
log.error("createEvent failed", e, calEvent);
|
||||
? await calendar.createEvent(calEvent).catch(async (error) => {
|
||||
success = false;
|
||||
/**
|
||||
* There is a time when selectedCalendar externalId doesn't match witch certain credential
|
||||
* so google returns 404.
|
||||
* */
|
||||
if (error?.code === 404) {
|
||||
return undefined;
|
||||
}
|
||||
await sendBrokenIntegrationEmail(calEvent, "calendar");
|
||||
log.error("createEvent failed", error, calEvent);
|
||||
return undefined;
|
||||
})
|
||||
: undefined;
|
||||
|
||||
@@ -141,8 +141,8 @@ export default class EventManager {
|
||||
const referencesToCreate = results.map((result) => {
|
||||
return {
|
||||
type: result.type,
|
||||
uid: result.createdEvent?.id.toString() ?? "",
|
||||
meetingId: result.createdEvent?.id.toString(),
|
||||
uid: result.createdEvent?.id?.toString() ?? "",
|
||||
meetingId: result.createdEvent?.id?.toString(),
|
||||
meetingPassword: result.createdEvent?.password,
|
||||
meetingUrl: result.createdEvent?.url,
|
||||
externalCalendarId: evt.destinationCalendar?.externalId,
|
||||
|
||||
Reference in New Issue
Block a user