feat(google-calendar): add new calendar trigger

This commit is contained in:
Rıdvan Akca
2023-09-18 15:17:05 +03:00
parent 9a192b708e
commit 2dae8c162d
6 changed files with 78 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
import defineApp from '../../helpers/define-app';
import addAuthHeader from './common/add-auth-header';
import auth from './auth';
import triggers from './triggers';
export default defineApp({
name: 'Google Calendar',
@@ -13,4 +14,5 @@ export default defineApp({
supportsConnections: true,
beforeRequest: [addAuthHeader],
auth,
triggers,
});

View File

@@ -0,0 +1,3 @@
import newCalendar from './new-calendar';
export default [newCalendar];

View File

@@ -0,0 +1,33 @@
import defineTrigger from '../../../../helpers/define-trigger';
export default defineTrigger({
name: 'New calendar',
key: 'newCalendar',
pollInterval: 15,
description: 'Triggers when a new calendar is created.',
arguments: [],
async run($) {
const params: Record<string, unknown> = {
pageToken: undefined as unknown as string,
};
do {
const { data } = await $.http.get('/v3/users/me/calendarList', {
params,
});
params.pageToken = data.nextPageToken;
if (data.items?.length) {
for (const calendar of data.items) {
$.pushTriggerItem({
raw: calendar,
meta: {
internalId: calendar.id,
},
});
}
}
} while (params.pageToken);
},
});