@activepieces/piece-google-calendar 0.3.0 → 0.3.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.
package/package.json CHANGED
@@ -1,16 +1,19 @@
1
1
  {
2
2
  "name": "@activepieces/piece-google-calendar",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "dependencies": {
5
- "@sinclair/typebox": "^0.26.3",
6
- "axios": "1.2.4",
7
- "dayjs": "^1.11.8",
8
- "nanoid": "^3.3.4",
9
- "@activepieces/pieces-common": "0.1.0",
10
- "@activepieces/pieces-framework": "0.4.0",
11
- "@activepieces/shared": "0.4.0",
12
- "tslib": "1.14.1"
5
+ "@sinclair/typebox": "0.26.8",
6
+ "axios": "^1.6.0",
7
+ "dayjs": "1.11.9",
8
+ "is-base64": "1.1.0",
9
+ "lodash": "4.17.21",
10
+ "nanoid": "3.3.6",
11
+ "semver": "7.5.4",
12
+ "@activepieces/pieces-common": "0.2.5",
13
+ "@activepieces/pieces-framework": "0.7.1",
14
+ "@activepieces/shared": "0.10.23",
15
+ "tslib": "2.6.1"
13
16
  },
14
17
  "main": "./src/index.js",
15
- "types": "./src/index.d.ts"
18
+ "type": "commonjs"
16
19
  }
package/src/index.js CHANGED
@@ -5,9 +5,9 @@ const pieces_framework_1 = require("@activepieces/pieces-framework");
5
5
  const create_quick_event_1 = require("./lib/actions/create-quick-event");
6
6
  const calendar_event_1 = require("./lib/triggers/calendar-event");
7
7
  const create_event_1 = require("./lib/actions/create-event");
8
+ const get_events_1 = require("./lib/actions/get-events");
8
9
  exports.googleCalendarAuth = pieces_framework_1.PieceAuth.OAuth2({
9
10
  description: '',
10
- displayName: 'Authentication',
11
11
  authUrl: 'https://accounts.google.com/o/oauth2/auth',
12
12
  tokenUrl: 'https://oauth2.googleapis.com/token',
13
13
  required: true,
@@ -18,9 +18,9 @@ exports.googleCalendar = (0, pieces_framework_1.createPiece)({
18
18
  minimumSupportedRelease: '0.5.0',
19
19
  logoUrl: 'https://cdn.activepieces.com/pieces/google-calendar.png',
20
20
  displayName: 'Google Calendar',
21
- authors: ['osamahaikal', 'bibhuty-did-this'],
21
+ authors: ['osamahaikal', 'bibhuty-did-this', 'MoShizzle'],
22
22
  auth: exports.googleCalendarAuth,
23
- actions: [create_quick_event_1.createQuickCalendarEvent, create_event_1.createEvent],
23
+ actions: [create_quick_event_1.createQuickCalendarEvent, create_event_1.createEvent, get_events_1.getEvents],
24
24
  triggers: [calendar_event_1.calendarEventChanged],
25
25
  });
26
26
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pieces/google-calendar/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AACxE,yEAA4E;AAC5E,kEAAqE;AACrE,6DAAyD;AAE5C,QAAA,kBAAkB,GAAG,4BAAS,CAAC,MAAM,CAAC;IACjD,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,2CAA2C;IACpD,QAAQ,EAAE,qCAAqC;IAC/C,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,CAAC,iDAAiD,EAAE,mDAAmD,CAAC;CAChH,CAAC,CAAA;AAEW,QAAA,cAAc,GAAG,IAAA,8BAAW,EAAC;IACpC,uBAAuB,EAAE,OAAO;IAClC,OAAO,EAAE,yDAAyD;IACpE,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAC5C,IAAI,EAAE,0BAAkB;IACxB,OAAO,EAAE,CAAC,6CAAwB,EAAE,0BAAW,CAAC;IAChD,QAAQ,EAAE,CAAC,qCAAoB,CAAC;CACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/pieces/google-calendar/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AACxE,yEAA4E;AAC5E,kEAAqE;AACrE,6DAAyD;AACzD,yDAAqD;AAExC,QAAA,kBAAkB,GAAG,4BAAS,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,EAAE;IACf,OAAO,EAAE,2CAA2C;IACpD,QAAQ,EAAE,qCAAqC;IAC/C,QAAQ,EAAE,IAAI;IACd,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,CAAC,iDAAiD,EAAE,mDAAmD,CAAC;CAClH,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,IAAA,8BAAW,EAAC;IACtC,uBAAuB,EAAE,OAAO;IAChC,OAAO,EAAE,yDAAyD;IAClE,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,WAAW,CAAC;IACzD,IAAI,EAAE,0BAAkB;IACxB,OAAO,EAAE,CAAC,6CAAwB,EAAE,0BAAW,EAAE,sBAAS,CAAC;IAC3D,QAAQ,EAAE,CAAC,qCAAoB,CAAC;CACnC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const getEvents: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<true, import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ calendar_id: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
3
+ event_types: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, true>;
4
+ start_date: import("@activepieces/pieces-framework").DateTimeProperty<false>;
5
+ end_date: import("@activepieces/pieces-framework").DateTimeProperty<false>;
6
+ }>;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEvents = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const pieces_common_1 = require("@activepieces/pieces-common");
7
+ const common_1 = require("../common");
8
+ const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
9
+ const __1 = require("../../");
10
+ exports.getEvents = (0, pieces_framework_1.createAction)({
11
+ auth: __1.googleCalendarAuth,
12
+ name: 'google_calendar_get_events',
13
+ description: 'Get Events',
14
+ displayName: 'Get all Events',
15
+ props: {
16
+ calendar_id: common_1.googleCalendarCommon.calendarDropdown('writer'),
17
+ event_types: pieces_framework_1.Property.StaticMultiSelectDropdown({
18
+ displayName: 'Event types',
19
+ description: 'Select event types',
20
+ required: true,
21
+ defaultValue: ["default", "focusTime", "outOfOffice"],
22
+ options: {
23
+ options: [
24
+ {
25
+ label: 'Default',
26
+ value: 'default'
27
+ },
28
+ {
29
+ label: 'Out Of Office',
30
+ value: 'outOfOffice'
31
+ },
32
+ {
33
+ label: 'Focus Time',
34
+ value: 'focusTime'
35
+ },
36
+ {
37
+ label: 'Working Location',
38
+ value: 'workingLocation'
39
+ }
40
+ ]
41
+ }
42
+ }),
43
+ start_date: pieces_framework_1.Property.DateTime({
44
+ displayName: 'Date from',
45
+ required: false,
46
+ }),
47
+ end_date: pieces_framework_1.Property.DateTime({
48
+ displayName: 'Date to',
49
+ required: false,
50
+ })
51
+ },
52
+ run(configValue) {
53
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
+ // docs: https://developers.google.com/calendar/api/v3/reference/events/list
55
+ const { calendar_id: calendarId, start_date, end_date, event_types } = configValue.propsValue;
56
+ const { access_token: token } = configValue.auth;
57
+ const queryParams = { showDeleted: "false" };
58
+ let url = `${common_1.googleCalendarCommon.baseUrl}/calendars/${calendarId}/events`;
59
+ // date range
60
+ if (start_date) {
61
+ queryParams['timeMin'] = (0, dayjs_1.default)(start_date).format('YYYY-MM-DDTHH:mm:ss.sssZ');
62
+ }
63
+ if (start_date && end_date) {
64
+ queryParams['timeMax'] = (0, dayjs_1.default)(end_date).format('YYYY-MM-DDTHH:mm:ss.sssZ');
65
+ }
66
+ // filter by event type
67
+ if (event_types.length > 0) {
68
+ url += `?${event_types.map(type => `eventTypes=${type}`).join("&")}`;
69
+ }
70
+ const request = {
71
+ method: pieces_common_1.HttpMethod.GET,
72
+ url,
73
+ queryParams,
74
+ authentication: {
75
+ type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
76
+ token,
77
+ },
78
+ };
79
+ return yield pieces_common_1.httpClient.sendRequest(request);
80
+ });
81
+ },
82
+ });
83
+ //# sourceMappingURL=get-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-events.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-calendar/src/lib/actions/get-events.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAsG;AACtG,sCAAiD;AACjD,0DAA0B;AAC1B,8BAA4C;AAE/B,QAAA,SAAS,GAAG,IAAA,+BAAY,EAAC;IAClC,IAAI,EAAE,sBAAkB;IACxB,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,gBAAgB;IAC7B,KAAK,EAAE;QACH,WAAW,EAAE,6BAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QAC5D,WAAW,EAAE,2BAAQ,CAAC,yBAAyB,CAAC;YAC5C,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,oBAAoB;YACjC,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC;YACrD,OAAO,EAAE;gBACL,OAAO,EAAE;oBACL;wBACI,KAAK,EAAE,SAAS;wBAChB,KAAK,EAAE,SAAS;qBACnB;oBACD;wBACI,KAAK,EAAE,eAAe;wBACtB,KAAK,EAAE,aAAa;qBACvB;oBACD;wBACI,KAAK,EAAE,YAAY;wBACnB,KAAK,EAAE,WAAW;qBACrB;oBACD;wBACI,KAAK,EAAE,kBAAkB;wBACzB,KAAK,EAAE,iBAAiB;qBAC3B;iBACJ;aACJ;SACJ,CAAC;QACF,UAAU,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YAC1B,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,KAAK;SAClB,CAAC;QACF,QAAQ,EAAE,2BAAQ,CAAC,QAAQ,CAAC;YACxB,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,KAAK;SAClB,CAAC;KACL;IACK,GAAG,CAAC,WAAW;;YACjB,4EAA4E;YAC5E,MAAM,EACF,WAAW,EAAE,UAAU,EACvB,UAAU,EACV,QAAQ,EACR,WAAW,EACd,GAAG,WAAW,CAAC,UAAU,CAAC;YAC3B,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;YACjD,MAAM,WAAW,GAA2B,EAAE,WAAW,EAAE,OAAO,EAAE,CAAA;YACpE,IAAI,GAAG,GAAG,GAAG,6BAAoB,CAAC,OAAO,cAAc,UAAU,SAAS,CAAC;YAC3E,aAAa;YACb,IAAI,UAAU,EAAE;gBACZ,WAAW,CAAC,SAAS,CAAC,GAAG,IAAA,eAAK,EAAC,UAAU,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;aACjF;YACD,IAAI,UAAU,IAAI,QAAQ,EAAE;gBACxB,WAAW,CAAC,SAAS,CAAC,GAAG,IAAA,eAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;aAC/E;YACD,uBAAuB;YACvB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,GAAG,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;aACxE;YACD,MAAM,OAAO,GAAyC;gBAClD,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG;gBACH,WAAW;gBACX,cAAc,EAAE;oBACZ,IAAI,EAAE,kCAAkB,CAAC,YAAY;oBACrC,KAAK;iBACR;aACJ,CAAC;YACF,OAAO,MAAM,0BAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;KAAA;CAEJ,CAAC,CAAC"}
@@ -3,4 +3,5 @@ import { GoogleWatchResponse, CalendarObject, GoogleCalendarEvent } from "./type
3
3
  export declare function stopWatchEvent(body: GoogleWatchResponse, authProp: OAuth2PropertyValue): Promise<void>;
4
4
  export declare function watchEvent(calendarId: string, webhookUrl: string, authProp: OAuth2PropertyValue): Promise<GoogleWatchResponse>;
5
5
  export declare function getCalendars(authProp: OAuth2PropertyValue, minAccessRole?: "writer"): Promise<CalendarObject[]>;
6
+ export declare function getEvents(calendarId: string, authProp: OAuth2PropertyValue, minUpdated?: Date): Promise<GoogleCalendarEvent[]>;
6
7
  export declare function getLatestEvent(calendarId: string, authProp: OAuth2PropertyValue): Promise<GoogleCalendarEvent>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLatestEvent = exports.getCalendars = exports.watchEvent = exports.stopWatchEvent = void 0;
3
+ exports.getLatestEvent = exports.getEvents = exports.getCalendars = exports.watchEvent = exports.stopWatchEvent = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const pieces_common_1 = require("@activepieces/pieces-common");
6
6
  const crypto_1 = require("crypto");
@@ -67,14 +67,15 @@ function getCalendars(authProp, minAccessRole) {
67
67
  });
68
68
  }
69
69
  exports.getCalendars = getCalendars;
70
- function getLatestEvent(calendarId, authProp) {
70
+ function getEvents(calendarId, authProp, minUpdated) {
71
+ var _a;
71
72
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
72
73
  // docs: https://developers.google.com/calendar/api/v3/reference/events/list
73
74
  const now = new Date();
74
75
  const yesterday = new Date();
75
76
  yesterday.setDate(now.getDate() - 1);
76
77
  const qParams = {
77
- updatedMin: yesterday.toISOString(),
78
+ updatedMin: (_a = minUpdated === null || minUpdated === void 0 ? void 0 : minUpdated.toISOString()) !== null && _a !== void 0 ? _a : yesterday.toISOString(),
78
79
  maxResults: '2500',
79
80
  orderBy: 'updated',
80
81
  singleEvents: 'true',
@@ -99,6 +100,13 @@ function getLatestEvent(calendarId, authProp) {
99
100
  }
100
101
  pageToken = res.nextPageToken;
101
102
  } while (pageToken);
103
+ return eventList;
104
+ });
105
+ }
106
+ exports.getEvents = getEvents;
107
+ function getLatestEvent(calendarId, authProp) {
108
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
109
+ const eventList = yield getEvents(calendarId, authProp);
102
110
  const lastUpdatedEvent = eventList.pop(); // You can retrieve the last updated event.
103
111
  return lastUpdatedEvent;
104
112
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-calendar/src/lib/common/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-calendar/src/lib/common/helper.ts"],"names":[],"mappings":"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"}
@@ -76,8 +76,8 @@ export interface GoogleCalendarEvent {
76
76
  id: string;
77
77
  status: string;
78
78
  htmlLink: string;
79
- created: Date;
80
- updated: Date;
79
+ created: string;
80
+ updated: string;
81
81
  summary: string;
82
82
  description: string;
83
83
  location: string;
@@ -1,4 +1,4 @@
1
1
  import { TriggerStrategy } from "@activepieces/pieces-framework";
2
- export declare const calendarEventChanged: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").OAuth2Property<true, import("@activepieces/pieces-framework").OAuth2Props>, {
2
+ export declare const calendarEventChanged: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").OAuth2Property<true, import("@activepieces/pieces-framework").OAuth2Props>, {
3
3
  calendar_id: import("@activepieces/pieces-framework").DropdownProperty<string, false> | import("@activepieces/pieces-framework").DropdownProperty<string, true>;
4
4
  }>;
@@ -7,12 +7,33 @@ const pieces_framework_2 = require("@activepieces/pieces-framework");
7
7
  const common_1 = require("../common");
8
8
  const helper_1 = require("../common/helper");
9
9
  const __1 = require("../../");
10
+ const pieces_common_1 = require("@activepieces/pieces-common");
11
+ const polling = {
12
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
13
+ items: ({ auth, propsValue: { calendarId }, lastFetchEpochMS }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
14
+ var _a;
15
+ let minUpdated = new Date(lastFetchEpochMS);
16
+ // Google Calendar API breaks if minUpdated is too far in the past
17
+ if (lastFetchEpochMS === 0) {
18
+ const now = new Date();
19
+ const yesterday = new Date();
20
+ yesterday.setDate(now.getDate() - 7);
21
+ minUpdated = yesterday;
22
+ }
23
+ const currentValues = (_a = yield (0, helper_1.getEvents)(calendarId, auth, minUpdated)) !== null && _a !== void 0 ? _a : [];
24
+ const items = currentValues.map((item) => ({
25
+ epochMilliSeconds: (new Date(item.updated)).getTime(),
26
+ data: item,
27
+ }));
28
+ return items;
29
+ })
30
+ };
10
31
  exports.calendarEventChanged = (0, pieces_framework_1.createTrigger)({
11
32
  // docs: https://developers.google.com/calendar/api/guides/push
12
33
  auth: __1.googleCalendarAuth,
13
34
  name: 'new_or_updated_event',
14
- displayName: 'New Or updated Event',
15
- description: 'Triggers when there is an event added or updated',
35
+ displayName: 'New or Updated Event',
36
+ description: 'Triggers when an event is added or updated',
16
37
  props: {
17
38
  calendar_id: common_1.googleCalendarCommon.calendarDropdown(),
18
39
  },
@@ -62,35 +83,25 @@ exports.calendarEventChanged = (0, pieces_framework_1.createTrigger)({
62
83
  },
63
84
  eventType: 'default',
64
85
  },
65
- type: pieces_framework_2.TriggerStrategy.WEBHOOK,
66
- onEnable(context) {
67
- var _a, _b;
86
+ type: pieces_framework_2.TriggerStrategy.POLLING,
87
+ test({ store, auth, propsValue }) {
68
88
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
69
- const authProp = context.auth;
70
- const currentChannel = yield ((_a = context.store) === null || _a === void 0 ? void 0 : _a.get('_trigger'));
71
- if (currentChannel === null || currentChannel === void 0 ? void 0 : currentChannel.id) {
72
- yield (0, helper_1.stopWatchEvent)(currentChannel, authProp); // to avoid creating multiple watchers
73
- }
74
- const calendarId = context.propsValue['calendar_id'];
75
- const channel = yield (0, helper_1.watchEvent)(calendarId, context.webhookUrl, authProp);
76
- yield ((_b = context.store) === null || _b === void 0 ? void 0 : _b.put('_trigger', channel));
89
+ return yield pieces_common_1.pollingHelper.test(polling, { store, auth, propsValue: { calendarId: propsValue.calendar_id } });
77
90
  });
78
91
  },
79
- onDisable(context) {
80
- var _a, _b;
92
+ onEnable({ store, auth, propsValue }) {
81
93
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
82
- const authProp = context.auth;
83
- const googleChannel = yield ((_a = context.store) === null || _a === void 0 ? void 0 : _a.get('_trigger'));
84
- if (googleChannel === null || googleChannel === void 0 ? void 0 : googleChannel.id)
85
- yield (0, helper_1.stopWatchEvent)(googleChannel, authProp);
86
- yield ((_b = context.store) === null || _b === void 0 ? void 0 : _b.put('_trigger', {}));
94
+ yield pieces_common_1.pollingHelper.onEnable(polling, { store, auth, propsValue: { calendarId: propsValue.calendar_id } });
87
95
  });
88
96
  },
89
- run(context) {
97
+ onDisable({ store, auth, propsValue }) {
90
98
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
91
- const authProp = context.auth;
92
- const event = yield (0, helper_1.getLatestEvent)(context.propsValue['calendar_id'], authProp);
93
- return [event];
99
+ yield pieces_common_1.pollingHelper.onDisable(polling, { store, auth, propsValue: { calendarId: propsValue.calendar_id } });
100
+ });
101
+ },
102
+ run({ store, auth, propsValue }) {
103
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
104
+ return yield pieces_common_1.pollingHelper.poll(polling, { store, auth, propsValue: { calendarId: propsValue.calendar_id } });
94
105
  });
95
106
  },
96
107
  });
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-event.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-calendar/src/lib/triggers/calendar-event.ts"],"names":[],"mappings":";;;;AAAA,qEAAoF;AACpF,qEAAiE;AACjE,sCAAiD;AACjD,6CAA8E;AAE9E,8BAA4C;AAE/B,QAAA,oBAAoB,GAAG,IAAA,gCAAa,EAAC;IAChD,+DAA+D;IAC/D,IAAI,EAAE,sBAAkB;IACtB,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,kDAAkD;IAC/D,KAAK,EAAE;QACL,WAAW,EAAE,6BAAoB,CAAC,gBAAgB,EAAE;KACrD;IACD,UAAU,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,kBAAkB;QACxB,EAAE,EAAE,4BAA4B;QAChC,QAAQ,EAAE,wEAAwE;QAClF,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,0BAA0B;QACnC,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE;YACP,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,IAAI;SACX;QACD,SAAS,EAAE;YACT,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,IAAI;SACX;QACD,KAAK,EAAE;YACL,QAAQ,EAAE,2BAA2B;YACrC,QAAQ,EAAE,YAAY;SACvB;QACD,GAAG,EAAE;YACH,QAAQ,EAAE,2BAA2B;YACrC,QAAQ,EAAE,YAAY;SACvB;QACD,YAAY,EAAE,aAAa;QAC3B,OAAO,EAAE,uCAAuC;QAChD,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,kBAAkB;gBACzB,cAAc,EAAE,aAAa;aAC9B;YACD;gBACE,KAAK,EAAE,eAAe;gBACtB,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,IAAI;gBACV,cAAc,EAAE,UAAU;aAC3B;SACF;QACD,SAAS,EAAE;YACT,UAAU,EAAE,IAAI;SACjB;QACD,SAAS,EAAE,SAAS;KACrB;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IACvB,QAAQ,CAAC,OAAO;;;YACpB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAA2B,CAAC;YAErD,MAAM,cAAc,GAAG,MAAM,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,GAAG,CAAsB,UAAU,CAAC,CAAA,CAAC;YACjF,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,EAAE;gBACtB,MAAM,IAAA,uBAAc,EAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,sCAAsC;aACvF;YACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAE,CAAC;YAEtD,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAU,EAAC,UAAU,EAAE,OAAO,CAAC,UAAW,EAAE,QAAQ,CAAC,CAAC;YAE5E,MAAM,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,GAAG,CAAsB,UAAU,EAAE,OAAO,CAAC,CAAA,CAAC;;KACpE;IACK,SAAS,CAAC,OAAO;;;YACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAA2B,CAAC;YAErD,MAAM,aAAa,GAAG,MAAM,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,GAAG,CAAsB,UAAU,CAAC,CAAA,CAAC;YAChF,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,EAAE;gBAAE,MAAM,IAAA,uBAAc,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACrE,MAAM,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,GAAG,CAA+B,UAAU,EAAE,EAAE,CAAC,CAAA,CAAC;;KACxE;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,QAAQ,GAAG,OAAO,CAAC,IAA2B,CAAC;YACrD,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAc,EAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAE,EAClC,QAAQ,CACT,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;KAAA;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"calendar-event.js","sourceRoot":"","sources":["../../../../../../../packages/pieces/google-calendar/src/lib/triggers/calendar-event.ts"],"names":[],"mappings":"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"}