feat: Add support for multiple google calendars

This commit is contained in:
Fernando Barrios committed 2021-05-11 07:27:06 -06:00
1 parent 3a6eae8b8f
commit 5f101ca5fc
3 files changed
+29 -16

No files matched your search

+27 -14
View File
@@ -139,20 +139,33 @@ const GoogleCalendar = (credential) => {
return {
getAvailability: (dateFrom, dateTo) => new Promise( (resolve, reject) => {
const calendar = google.calendar({ version: 'v3', auth: myGoogleAuth });
calendar.freebusy.query({
requestBody: {
timeMin: dateFrom,
timeMax: dateTo,
items: [ {
"id": "primary"
} ]
}
}, (err, apires) => {
if (err) {
reject(err);
}
resolve(apires.data.calendars.primary.busy)
});
calendar.calendarList
.list()
.then(cals => {
const items = cals.data.items.filter(
item => !/calendar.google.com/.test(item.id)
);
calendar.freebusy.query({
requestBody: {
timeMin: dateFrom,
timeMax: dateTo,
items: items
}
}, (err, apires) => {
if (err) {
reject(err);
}
resolve(
Object.values(apires.data.calendars).flatMap(
(item) => item["busy"]
)
)
});
})
.catch((err) => {
reject(err);
});
}),
createEvent: (event: CalendarEvent) => new Promise( (resolve, reject) => {
const payload = {