@activepieces/piece-google-calendar 0.9.1 → 0.9.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,12 +1,12 @@
1
1
  {
2
2
  "name": "@activepieces/piece-google-calendar",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "main": "./src/index.js",
5
5
  "types": "./src/index.d.ts",
6
6
  "dependencies": {
7
- "@activepieces/pieces-common": "0.12.0",
8
- "@activepieces/pieces-framework": "0.26.0",
9
- "@activepieces/shared": "0.50.1",
7
+ "@activepieces/pieces-common": "0.12.3",
8
+ "@activepieces/pieces-framework": "0.29.0",
9
+ "@activepieces/shared": "0.79.0",
10
10
  "dayjs": "1.11.9",
11
11
  "googleapis": "129.0.0",
12
12
  "googleapis-common": "7.2.0",
@@ -2,6 +2,19 @@ import { GoogleCalendarAuthValue } from '.';
2
2
  import { GoogleWatchResponse, CalendarObject, GoogleCalendarEvent, GetColorsResponse } from './types';
3
3
  export declare function stopWatchEvent(body: GoogleWatchResponse, authProp: GoogleCalendarAuthValue): Promise<void>;
4
4
  export declare function watchEvent(calendarId: string, webhookUrl: string, authProp: GoogleCalendarAuthValue): Promise<GoogleWatchResponse>;
5
+ export declare function getInitialSyncToken({ calendarId, authProp, }: {
6
+ calendarId: string;
7
+ authProp: GoogleCalendarAuthValue;
8
+ }): Promise<string | undefined>;
9
+ export declare function listEventsWithSyncToken({ calendarId, syncToken, authProp, }: {
10
+ calendarId: string;
11
+ syncToken: string;
12
+ authProp: GoogleCalendarAuthValue;
13
+ }): Promise<{
14
+ items: GoogleCalendarEvent[];
15
+ nextSyncToken: string | undefined;
16
+ syncTokenInvalid: boolean;
17
+ }>;
5
18
  export declare function getCalendars(authProp: GoogleCalendarAuthValue, minAccessRole?: 'writer'): Promise<CalendarObject[]>;
6
19
  export declare function getColors(authProp: GoogleCalendarAuthValue): Promise<GetColorsResponse>;
7
20
  export declare function getEvents(calendarId: string, expandRecurringEvent: boolean, authProp: GoogleCalendarAuthValue, minUpdated?: Date): Promise<GoogleCalendarEvent[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/helper.ts"],"names":[],"mappings":"AAOA,OAAO,EAAwB,uBAAuB,EAAkB,MAAM,GAAG,CAAC;AAClF,OAAO,EACL,mBAAmB,EAEnB,cAAc,EAEd,mBAAmB,EAEnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,wBAAsB,cAAc,CAClC,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,uBAAuB,iBAelC;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAkB9B;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,uBAAuB,EACjC,aAAa,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,cAAc,EAAE,CAAC,CAmB3B;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAW5B;AAED,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,oBAAoB,EAAE,OAAO,EAC7B,QAAQ,EAAE,uBAAuB,EACjC,UAAU,CAAC,EAAE,IAAI,GAChB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAuChC;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAI9B;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,uBAAuB,EACjC,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,SAAK,GACd,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAoE7C"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../src/lib/common/helper.ts"],"names":[],"mappings":"AAOA,OAAO,EAAwB,uBAAuB,EAAkB,MAAM,GAAG,CAAC;AAClF,OAAO,EACL,mBAAmB,EAEnB,cAAc,EAEd,mBAAmB,EAEnB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,wBAAsB,cAAc,CAClC,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,uBAAuB,iBAelC;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAoB9B;AAED,wBAAsB,mBAAmB,CAAC,EACxC,UAAU,EACV,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,uBAAuB,CAAC;CACnC,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6B9B;AAED,wBAAsB,uBAAuB,CAAC,EAC5C,UAAU,EACV,SAAS,EACT,QAAQ,GACT,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,uBAAuB,CAAC;CACnC,GAAG,OAAO,CAAC;IACV,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC,CAwCD;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,uBAAuB,EACjC,aAAa,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,cAAc,EAAE,CAAC,CAmB3B;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAW5B;AAED,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,oBAAoB,EAAE,OAAO,EAC7B,QAAQ,EAAE,uBAAuB,EACjC,UAAU,CAAC,EAAE,IAAI,GAChB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAuChC;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAI9B;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,uBAAuB,EACjC,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,SAAK,GACd,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAoE7C"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stopWatchEvent = stopWatchEvent;
4
4
  exports.watchEvent = watchEvent;
5
+ exports.getInitialSyncToken = getInitialSyncToken;
6
+ exports.listEventsWithSyncToken = listEventsWithSyncToken;
5
7
  exports.getCalendars = getCalendars;
6
8
  exports.getColors = getColors;
7
9
  exports.getEvents = getEvents;
@@ -31,6 +33,7 @@ function stopWatchEvent(body, authProp) {
31
33
  }
32
34
  function watchEvent(calendarId, webhookUrl, authProp) {
33
35
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
+ const sixDaysFromNowMs = Date.now() + 6 * 24 * 60 * 60 * 1000;
34
37
  const request = {
35
38
  method: pieces_common_1.HttpMethod.POST,
36
39
  url: `${_1.googleCalendarCommon.baseUrl}/calendars/${calendarId}/events/watch`,
@@ -38,6 +41,7 @@ function watchEvent(calendarId, webhookUrl, authProp) {
38
41
  id: (0, crypto_1.randomUUID)(),
39
42
  type: types_1.GoogleWatchType.WEBHOOK,
40
43
  address: webhookUrl,
44
+ expiration: sixDaysFromNowMs.toString(),
41
45
  },
42
46
  authentication: {
43
47
  type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
@@ -48,6 +52,79 @@ function watchEvent(calendarId, webhookUrl, authProp) {
48
52
  return webhook;
49
53
  });
50
54
  }
55
+ function getInitialSyncToken(_a) {
56
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ calendarId, authProp, }) {
57
+ const accessToken = yield (0, _1.getAccessToken)(authProp);
58
+ const qParams = {
59
+ singleEvents: 'true',
60
+ showDeleted: 'true',
61
+ maxResults: '2500',
62
+ };
63
+ let pageToken = '';
64
+ let nextSyncToken;
65
+ do {
66
+ if (pageToken) {
67
+ qParams['pageToken'] = pageToken;
68
+ }
69
+ const request = {
70
+ method: pieces_common_1.HttpMethod.GET,
71
+ url: `${_1.googleCalendarCommon.baseUrl}/calendars/${calendarId}/events`,
72
+ queryParams: qParams,
73
+ authentication: {
74
+ type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
75
+ token: accessToken,
76
+ },
77
+ };
78
+ const { body: res } = yield pieces_common_1.httpClient.sendRequest(request);
79
+ pageToken = res.nextPageToken;
80
+ nextSyncToken = res.nextSyncToken;
81
+ } while (pageToken);
82
+ return nextSyncToken;
83
+ });
84
+ }
85
+ function listEventsWithSyncToken(_a) {
86
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ calendarId, syncToken, authProp, }) {
87
+ var _b, _c;
88
+ const accessToken = yield (0, _1.getAccessToken)(authProp);
89
+ const qParams = {
90
+ syncToken,
91
+ maxResults: '2500',
92
+ };
93
+ let pageToken = '';
94
+ let nextSyncToken;
95
+ let items = [];
96
+ do {
97
+ if (pageToken) {
98
+ qParams['pageToken'] = pageToken;
99
+ }
100
+ const request = {
101
+ method: pieces_common_1.HttpMethod.GET,
102
+ url: `${_1.googleCalendarCommon.baseUrl}/calendars/${calendarId}/events`,
103
+ queryParams: qParams,
104
+ authentication: {
105
+ type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
106
+ token: accessToken,
107
+ },
108
+ };
109
+ try {
110
+ const { body: res } = yield pieces_common_1.httpClient.sendRequest(request);
111
+ if (((_b = res.items) === null || _b === void 0 ? void 0 : _b.length) > 0) {
112
+ items = [...items, ...res.items];
113
+ }
114
+ pageToken = res.nextPageToken;
115
+ nextSyncToken = res.nextSyncToken;
116
+ }
117
+ catch (error) {
118
+ const status = (_c = error === null || error === void 0 ? void 0 : error.response) === null || _c === void 0 ? void 0 : _c.status;
119
+ if (status === 410) {
120
+ return { items: [], nextSyncToken: undefined, syncTokenInvalid: true };
121
+ }
122
+ throw error;
123
+ }
124
+ } while (pageToken);
125
+ return { items, nextSyncToken, syncTokenInvalid: false };
126
+ });
127
+ }
51
128
  function getCalendars(authProp, minAccessRole) {
52
129
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
53
130
  // docs: https://developers.google.com/calendar/api/v3/reference/calendarList/list
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/lib/common/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/lib/common/helper.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"new-event.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AAKxC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8KnB,CAAC"}
1
+ {"version":3,"file":"new-event.d.ts","sourceRoot":"","sources":["../../../../src/lib/triggers/new-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAGhB,MAAM,gCAAgC,CAAC;AAgExC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6MnB,CAAC"}
@@ -3,8 +3,41 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.newEvent = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const shared_1 = require("@activepieces/shared");
6
7
  const common_1 = require("../common");
7
8
  const helper_1 = require("../common/helper");
9
+ const WATCH_STORE_KEY = 'google_calendar_watch';
10
+ const SYNC_TOKEN_STORE_KEY = 'google_calendar_sync_token';
11
+ const SEEN_EVENT_IDS_STORE_KEY = 'google_calendar_seen_event_ids';
12
+ const SEEN_EVENT_IDS_LIMIT = 500;
13
+ function matchesFilters(event, { event_types, search_filter, exclude_all_day }) {
14
+ var _a, _b;
15
+ if (event_types && event_types.length > 0) {
16
+ const eventType = event.eventType || 'default';
17
+ if (!event_types.includes(eventType)) {
18
+ return false;
19
+ }
20
+ }
21
+ if (search_filter && search_filter.trim()) {
22
+ const searchTerm = search_filter.toLowerCase().trim();
23
+ const summary = (event.summary || '').toLowerCase();
24
+ const description = (event.description || '').toLowerCase();
25
+ const location = (event.location || '').toLowerCase();
26
+ const matchesSearch = summary.includes(searchTerm) ||
27
+ description.includes(searchTerm) ||
28
+ location.includes(searchTerm);
29
+ if (!matchesSearch) {
30
+ return false;
31
+ }
32
+ }
33
+ if (exclude_all_day) {
34
+ const isAllDay = ((_a = event.start) === null || _a === void 0 ? void 0 : _a.date) && !((_b = event.start) === null || _b === void 0 ? void 0 : _b.dateTime);
35
+ if (isAllDay) {
36
+ return false;
37
+ }
38
+ }
39
+ return true;
40
+ }
8
41
  exports.newEvent = (0, pieces_framework_1.createTrigger)({
9
42
  auth: common_1.googleCalendarAuth,
10
43
  name: 'new_event',
@@ -40,6 +73,10 @@ exports.newEvent = (0, pieces_framework_1.createTrigger)({
40
73
  }),
41
74
  },
42
75
  type: pieces_framework_1.TriggerStrategy.WEBHOOK,
76
+ renewConfiguration: {
77
+ strategy: pieces_framework_1.WebhookRenewStrategy.CRON,
78
+ cronExpression: '0 */12 * * *',
79
+ },
43
80
  sampleData: {
44
81
  kind: 'calendar#event',
45
82
  etag: '"3419997894982000"',
@@ -72,86 +109,114 @@ exports.newEvent = (0, pieces_framework_1.createTrigger)({
72
109
  const calendarId = context.propsValue.calendar_id;
73
110
  const auth = context.auth;
74
111
  const response = yield (0, helper_1.watchEvent)(calendarId, context.webhookUrl, auth);
75
- yield context.store.put('google_calendar_watch', response);
112
+ yield context.store.put(WATCH_STORE_KEY, response);
113
+ const initialSyncToken = yield (0, helper_1.getInitialSyncToken)({
114
+ calendarId,
115
+ authProp: auth,
116
+ });
117
+ if (!(0, shared_1.isNil)(initialSyncToken)) {
118
+ yield context.store.put(SYNC_TOKEN_STORE_KEY, initialSyncToken);
119
+ }
76
120
  });
77
121
  },
78
122
  onDisable(context) {
79
123
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
80
124
  const auth = context.auth;
81
- const watch = yield context.store.get('google_calendar_watch');
125
+ const watch = yield context.store.get(WATCH_STORE_KEY);
82
126
  if (watch) {
83
127
  yield (0, helper_1.stopWatchEvent)(watch, auth);
84
128
  }
129
+ yield context.store.delete(SYNC_TOKEN_STORE_KEY);
130
+ yield context.store.delete(SEEN_EVENT_IDS_STORE_KEY);
131
+ });
132
+ },
133
+ onRenew(context) {
134
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
135
+ const calendarId = context.propsValue.calendar_id;
136
+ const auth = context.auth;
137
+ const existingWatch = yield context.store.get(WATCH_STORE_KEY);
138
+ if (existingWatch) {
139
+ yield (0, helper_1.stopWatchEvent)(existingWatch, auth);
140
+ }
141
+ const renewed = yield (0, helper_1.watchEvent)(calendarId, context.webhookUrl, auth);
142
+ yield context.store.put(WATCH_STORE_KEY, renewed);
85
143
  });
86
144
  },
87
145
  run(context) {
88
146
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
89
- var _a, _b;
147
+ var _a;
90
148
  const payload = context.payload;
91
149
  const headers = payload.headers;
92
- const { event_types, search_filter, exclude_all_day } = context.propsValue;
93
- if (headers['x-goog-resource-state'] === 'add') {
94
- const eventData = payload.body;
95
- if (event_types && event_types.length > 0) {
96
- const eventType = eventData.eventType || 'default';
97
- if (!event_types.includes(eventType)) {
98
- return [];
99
- }
150
+ const resourceState = headers['x-goog-resource-state'];
151
+ const filters = {
152
+ event_types: context.propsValue.event_types,
153
+ search_filter: context.propsValue.search_filter,
154
+ exclude_all_day: context.propsValue.exclude_all_day,
155
+ };
156
+ if (resourceState === 'sync') {
157
+ return [];
158
+ }
159
+ if (resourceState !== 'exists') {
160
+ return [];
161
+ }
162
+ const calendarId = context.propsValue.calendar_id;
163
+ const auth = context.auth;
164
+ const syncToken = yield context.store.get(SYNC_TOKEN_STORE_KEY);
165
+ if ((0, shared_1.isNil)(syncToken)) {
166
+ const fresh = yield (0, helper_1.getInitialSyncToken)({ calendarId, authProp: auth });
167
+ if (!(0, shared_1.isNil)(fresh)) {
168
+ yield context.store.put(SYNC_TOKEN_STORE_KEY, fresh);
100
169
  }
101
- if (search_filter && search_filter.trim()) {
102
- const searchTerm = search_filter.toLowerCase().trim();
103
- const summary = (eventData.summary || '').toLowerCase();
104
- const description = (eventData.description || '').toLowerCase();
105
- const location = (eventData.location || '').toLowerCase();
106
- const matchesSearch = summary.includes(searchTerm) ||
107
- description.includes(searchTerm) ||
108
- location.includes(searchTerm);
109
- if (!matchesSearch) {
110
- return [];
111
- }
170
+ return [];
171
+ }
172
+ const { items, nextSyncToken, syncTokenInvalid } = yield (0, helper_1.listEventsWithSyncToken)({
173
+ calendarId,
174
+ syncToken,
175
+ authProp: auth,
176
+ });
177
+ if (syncTokenInvalid) {
178
+ const fresh = yield (0, helper_1.getInitialSyncToken)({ calendarId, authProp: auth });
179
+ if (!(0, shared_1.isNil)(fresh)) {
180
+ yield context.store.put(SYNC_TOKEN_STORE_KEY, fresh);
181
+ }
182
+ return [];
183
+ }
184
+ if (!(0, shared_1.isNil)(nextSyncToken)) {
185
+ yield context.store.put(SYNC_TOKEN_STORE_KEY, nextSyncToken);
186
+ }
187
+ const seenIds = yield context.store.get(SEEN_EVENT_IDS_STORE_KEY);
188
+ const seenSet = new Set(seenIds !== null && seenIds !== void 0 ? seenIds : []);
189
+ const newEvents = [];
190
+ for (const event of items) {
191
+ if (!event.id || event.status === 'cancelled') {
192
+ continue;
193
+ }
194
+ if (seenSet.has(event.id)) {
195
+ continue;
112
196
  }
113
- if (exclude_all_day) {
114
- const isAllDay = ((_a = eventData.start) === null || _a === void 0 ? void 0 : _a.date) && !((_b = eventData.start) === null || _b === void 0 ? void 0 : _b.dateTime);
115
- if (isAllDay) {
116
- return [];
117
- }
197
+ seenSet.add(event.id);
198
+ if (matchesFilters(event, filters)) {
199
+ newEvents.push(event);
118
200
  }
119
- return [eventData];
120
201
  }
121
- else {
122
- return [];
202
+ if (seenSet.size !== ((_a = seenIds === null || seenIds === void 0 ? void 0 : seenIds.length) !== null && _a !== void 0 ? _a : 0)) {
203
+ const bounded = Array.from(seenSet).slice(-SEEN_EVENT_IDS_LIMIT);
204
+ yield context.store.put(SEEN_EVENT_IDS_STORE_KEY, bounded);
123
205
  }
206
+ return newEvents;
124
207
  });
125
208
  },
126
209
  test(context) {
127
210
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
128
- var _a, _b;
129
211
  const auth = context.auth;
130
- const { event_types, search_filter, exclude_all_day } = context.propsValue;
212
+ const filters = {
213
+ event_types: context.propsValue.event_types,
214
+ search_filter: context.propsValue.search_filter,
215
+ exclude_all_day: context.propsValue.exclude_all_day,
216
+ };
131
217
  const latestEvent = yield (0, helper_1.getLatestEvent)(context.propsValue.calendar_id, auth);
132
- if (event_types && event_types.length > 0) {
133
- const eventType = latestEvent.eventType || 'default';
134
- if (!event_types.includes(eventType)) {
135
- return [];
136
- }
137
- }
138
- if (search_filter && search_filter.trim()) {
139
- const searchTerm = search_filter.toLowerCase().trim();
140
- const summary = (latestEvent.summary || '').toLowerCase();
141
- const description = (latestEvent.description || '').toLowerCase();
142
- const location = (latestEvent.location || '').toLowerCase();
143
- const matchesSearch = summary.includes(searchTerm) ||
144
- description.includes(searchTerm) ||
145
- location.includes(searchTerm);
146
- if (!matchesSearch) {
147
- return [];
148
- }
149
- }
150
- if (exclude_all_day) {
151
- const isAllDay = ((_a = latestEvent.start) === null || _a === void 0 ? void 0 : _a.date) && !((_b = latestEvent.start) === null || _b === void 0 ? void 0 : _b.dateTime);
152
- if (isAllDay) {
153
- return [];
154
- }
218
+ if (!matchesFilters(latestEvent, filters)) {
219
+ return [];
155
220
  }
156
221
  return [latestEvent];
157
222
  });
@@ -1 +1 @@
1
- {"version":3,"file":"new-event.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new-event.js","sourceRoot":"","sources":["../../../../src/lib/triggers/new-event.ts"],"names":[],"mappings":"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"}