@checkfirst/nestjs-outlook 5.3.2 → 5.4.1

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.
@@ -31,6 +31,26 @@ export declare class CalendarService {
31
31
  event: Event;
32
32
  }>;
33
33
  deleteEvent(event: Partial<Event>, externalUserId: string, calendarId: string): Promise<void>;
34
+ createBatchEvents(events: Partial<Event>[], externalUserId: string, calendarId: string): Promise<{
35
+ index: number;
36
+ success: boolean;
37
+ event?: Event;
38
+ error?: string;
39
+ }[]>;
40
+ updateBatchEvents(updates: Array<{
41
+ eventId: string;
42
+ updates: Partial<Event>;
43
+ }>, externalUserId: string, calendarId: string): Promise<{
44
+ index: number;
45
+ success: boolean;
46
+ event?: Event;
47
+ error?: string;
48
+ }[]>;
49
+ deleteBatchEvents(eventIds: string[], externalUserId: string, calendarId: string): Promise<{
50
+ id: string;
51
+ success: boolean;
52
+ error?: string;
53
+ }[]>;
34
54
  createWebhookSubscription(externalUserId: string): Promise<Subscription>;
35
55
  renewWebhookSubscription(subscriptionId: string, internalUserId: number): Promise<Subscription>;
36
56
  deleteWebhookSubscription(subscriptionId: string, userId: string | number): Promise<boolean>;
@@ -51,6 +71,7 @@ export declare class CalendarService {
51
71
  }, saveDeltaLink?: boolean): AsyncGenerator<Event[], void, unknown>;
52
72
  getAuthenticatedClient(externalUserId: string): Promise<Client>;
53
73
  getEventDetails(resource: string, externalUserId: string): Promise<Event | null>;
74
+ getEventsBatch(eventIds: string[], externalUserId: string): Promise<Event[]>;
54
75
  importEventsStream(externalUserId: string, options?: {
55
76
  startDate?: Date;
56
77
  endDate?: Date;
@@ -52,6 +52,7 @@ const retry_util_1 = require("../../utils/retry.util");
52
52
  const user_id_converter_service_1 = require("../shared/user-id-converter.service");
53
53
  const resource_type_enum_1 = require("../../enums/resource-type.enum");
54
54
  const microsoft_subscription_service_1 = require("../subscription/microsoft-subscription.service");
55
+ const outlook_api_executor_util_1 = require("../../utils/outlook-api-executor.util");
55
56
  const OUTLOOK_EVENT_CREATED = event_types_enum_1.OutlookEventTypes.EVENT_CREATED;
56
57
  const OUTLOOK_EVENT_UPDATED = event_types_enum_1.OutlookEventTypes.EVENT_UPDATED;
57
58
  const OUTLOOK_EVENT_DELETED = event_types_enum_1.OutlookEventTypes.EVENT_DELETED;
@@ -177,6 +178,245 @@ let CalendarService = CalendarService_1 = class CalendarService {
177
178
  throw new Error(`Failed to delete Outlook calendar event: ${errorMessage}`);
178
179
  }
179
180
  }
181
+ async createBatchEvents(events, externalUserId, calendarId) {
182
+ if (events.length === 0) {
183
+ return [];
184
+ }
185
+ try {
186
+ const internalUserId = await this.userIdConverter.toInternalUserId(externalUserId);
187
+ const accessToken = await this.microsoftAuthService.getUserAccessToken({ internalUserId });
188
+ const results = [];
189
+ const BATCH_SIZE = 20;
190
+ for (let i = 0; i < events.length; i += BATCH_SIZE) {
191
+ const batchEvents = events.slice(i, i + BATCH_SIZE);
192
+ const batchPayload = {
193
+ requests: batchEvents.map((event, index) => ({
194
+ id: `${index}`,
195
+ method: 'POST',
196
+ url: `/me/calendars/${calendarId}/events`,
197
+ body: event,
198
+ headers: {
199
+ 'Content-Type': 'application/json',
200
+ },
201
+ })),
202
+ };
203
+ this.logger.log(`Creating batch of ${batchEvents.length} events in calendar ${calendarId} for user ${externalUserId}`);
204
+ try {
205
+ const batchResponse = await (0, retry_util_1.retryWithBackoff)(async () => {
206
+ const response = await axios_1.default.post('https://graph.microsoft.com/v1.0/$batch', batchPayload, {
207
+ headers: {
208
+ Authorization: `Bearer ${accessToken}`,
209
+ 'Content-Type': 'application/json',
210
+ },
211
+ });
212
+ return response.data;
213
+ }, { maxRetries: 3, retryDelayMs: 1000 });
214
+ batchResponse.responses.forEach((response, batchIndex) => {
215
+ const globalIndex = i + batchIndex;
216
+ if (response.status === 201) {
217
+ results.push({
218
+ index: globalIndex,
219
+ success: true,
220
+ event: response.body,
221
+ });
222
+ this.logger.debug(`Successfully created event at index ${globalIndex}`);
223
+ }
224
+ else {
225
+ const errorMessage = JSON.stringify(response.body);
226
+ results.push({
227
+ index: globalIndex,
228
+ success: false,
229
+ error: `HTTP ${response.status}: ${errorMessage}`,
230
+ });
231
+ this.logger.error(`Failed to create event at index ${globalIndex}: ${errorMessage}`);
232
+ }
233
+ });
234
+ }
235
+ catch (error) {
236
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
237
+ batchEvents.forEach((_, batchIndex) => {
238
+ const globalIndex = i + batchIndex;
239
+ results.push({
240
+ index: globalIndex,
241
+ success: false,
242
+ error: `Batch request failed: ${errorMessage}`,
243
+ });
244
+ });
245
+ this.logger.error(`Batch creation failed for ${batchEvents.length} events: ${errorMessage}`);
246
+ }
247
+ }
248
+ const successCount = results.filter(r => r.success).length;
249
+ const failCount = results.filter(r => !r.success).length;
250
+ this.logger.log(`Batch creation complete: ${successCount} succeeded, ${failCount} failed out of ${events.length} total`);
251
+ return results;
252
+ }
253
+ catch (error) {
254
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
255
+ this.logger.error(`Failed to execute batch creation: ${errorMessage}`);
256
+ return events.map((_, index) => ({
257
+ index,
258
+ success: false,
259
+ error: `Batch creation failed: ${errorMessage}`,
260
+ }));
261
+ }
262
+ }
263
+ async updateBatchEvents(updates, externalUserId, calendarId) {
264
+ if (updates.length === 0) {
265
+ return [];
266
+ }
267
+ try {
268
+ const internalUserId = await this.userIdConverter.toInternalUserId(externalUserId);
269
+ const accessToken = await this.microsoftAuthService.getUserAccessToken({ internalUserId });
270
+ const results = [];
271
+ const BATCH_SIZE = 20;
272
+ for (let i = 0; i < updates.length; i += BATCH_SIZE) {
273
+ const batchUpdates = updates.slice(i, i + BATCH_SIZE);
274
+ const batchPayload = {
275
+ requests: batchUpdates.map((update, index) => ({
276
+ id: `${index}`,
277
+ method: 'PATCH',
278
+ url: `/me/calendars/${calendarId}/events/${update.eventId}`,
279
+ body: update.updates,
280
+ headers: {
281
+ 'Content-Type': 'application/json',
282
+ },
283
+ })),
284
+ };
285
+ this.logger.log(`Updating batch of ${batchUpdates.length} events in calendar ${calendarId} for user ${externalUserId}`);
286
+ try {
287
+ const batchResponse = await (0, retry_util_1.retryWithBackoff)(async () => {
288
+ const response = await axios_1.default.post('https://graph.microsoft.com/v1.0/$batch', batchPayload, {
289
+ headers: {
290
+ Authorization: `Bearer ${accessToken}`,
291
+ 'Content-Type': 'application/json',
292
+ },
293
+ });
294
+ return response.data;
295
+ }, { maxRetries: 3, retryDelayMs: 1000 });
296
+ batchResponse.responses.forEach((response, batchIndex) => {
297
+ const globalIndex = i + batchIndex;
298
+ if (response.status === 200) {
299
+ results.push({
300
+ index: globalIndex,
301
+ success: true,
302
+ event: response.body,
303
+ });
304
+ this.logger.debug(`Successfully updated event at index ${globalIndex}`);
305
+ }
306
+ else {
307
+ const errorMessage = JSON.stringify(response.body);
308
+ results.push({
309
+ index: globalIndex,
310
+ success: false,
311
+ error: `HTTP ${response.status}: ${errorMessage}`,
312
+ });
313
+ this.logger.error(`Failed to update event at index ${globalIndex}: ${errorMessage}`);
314
+ }
315
+ });
316
+ }
317
+ catch (error) {
318
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
319
+ batchUpdates.forEach((_, batchIndex) => {
320
+ const globalIndex = i + batchIndex;
321
+ results.push({
322
+ index: globalIndex,
323
+ success: false,
324
+ error: `Batch request failed: ${errorMessage}`,
325
+ });
326
+ });
327
+ this.logger.error(`Batch update failed for ${batchUpdates.length} events: ${errorMessage}`);
328
+ }
329
+ }
330
+ const successCount = results.filter(r => r.success).length;
331
+ const failCount = results.filter(r => !r.success).length;
332
+ this.logger.log(`Batch update complete: ${successCount} succeeded, ${failCount} failed out of ${updates.length} total`);
333
+ return results;
334
+ }
335
+ catch (error) {
336
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
337
+ this.logger.error(`Failed to execute batch update: ${errorMessage}`);
338
+ return updates.map((_, index) => ({
339
+ index,
340
+ success: false,
341
+ error: `Batch update failed: ${errorMessage}`,
342
+ }));
343
+ }
344
+ }
345
+ async deleteBatchEvents(eventIds, externalUserId, calendarId) {
346
+ if (eventIds.length === 0) {
347
+ return [];
348
+ }
349
+ try {
350
+ const internalUserId = await this.userIdConverter.toInternalUserId(externalUserId);
351
+ const accessToken = await this.microsoftAuthService.getUserAccessToken({ internalUserId });
352
+ const results = [];
353
+ const BATCH_SIZE = 20;
354
+ for (let i = 0; i < eventIds.length; i += BATCH_SIZE) {
355
+ const batchEventIds = eventIds.slice(i, i + BATCH_SIZE);
356
+ const batchPayload = {
357
+ requests: batchEventIds.map((eventId, index) => ({
358
+ id: `${index}`,
359
+ method: 'DELETE',
360
+ url: `/me/calendars/${calendarId}/events/${eventId}`,
361
+ })),
362
+ };
363
+ this.logger.log(`Deleting batch of ${batchEventIds.length} events from calendar ${calendarId} for user ${externalUserId}`);
364
+ try {
365
+ const batchResponse = await (0, retry_util_1.retryWithBackoff)(async () => {
366
+ const response = await axios_1.default.post('https://graph.microsoft.com/v1.0/$batch', batchPayload, {
367
+ headers: {
368
+ Authorization: `Bearer ${accessToken}`,
369
+ 'Content-Type': 'application/json',
370
+ },
371
+ });
372
+ return response.data;
373
+ }, { maxRetries: 3, retryDelayMs: 1000 });
374
+ batchResponse.responses.forEach((response, index) => {
375
+ const eventId = batchEventIds[index];
376
+ if (response.status === 204 || response.status === 404) {
377
+ results.push({ id: eventId, success: true });
378
+ if (response.status === 404) {
379
+ this.logger.warn(`Event ${eventId} not found (already deleted), treating as successful deletion`);
380
+ }
381
+ }
382
+ else {
383
+ const errorMessage = response.body ? JSON.stringify(response.body) : 'Unknown error';
384
+ results.push({
385
+ id: eventId,
386
+ success: false,
387
+ error: `HTTP ${response.status}: ${errorMessage}`,
388
+ });
389
+ this.logger.error(`Failed to delete event ${eventId}: ${errorMessage}`);
390
+ }
391
+ });
392
+ }
393
+ catch (error) {
394
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
395
+ batchEventIds.forEach(eventId => {
396
+ results.push({
397
+ id: eventId,
398
+ success: false,
399
+ error: `Batch request failed: ${errorMessage}`,
400
+ });
401
+ });
402
+ this.logger.error(`Batch deletion failed for ${batchEventIds.length} events: ${errorMessage}`);
403
+ }
404
+ }
405
+ const successCount = results.filter(r => r.success).length;
406
+ const failCount = results.filter(r => !r.success).length;
407
+ this.logger.log(`Batch deletion complete: ${successCount} succeeded, ${failCount} failed out of ${eventIds.length} total`);
408
+ return results;
409
+ }
410
+ catch (error) {
411
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
412
+ this.logger.error(`Failed to execute batch deletion: ${errorMessage}`);
413
+ return eventIds.map(id => ({
414
+ id,
415
+ success: false,
416
+ error: `Batch deletion failed: ${errorMessage}`,
417
+ }));
418
+ }
419
+ }
180
420
  async createWebhookSubscription(externalUserId) {
181
421
  var _a, _b;
182
422
  const internalUserId = await this.userIdConverter.externalToInternal(externalUserId);
@@ -515,6 +755,7 @@ let CalendarService = CalendarService_1 = class CalendarService {
515
755
  });
516
756
  }
517
757
  async getEventDetails(resource, externalUserId) {
758
+ var _a;
518
759
  try {
519
760
  const accessToken = await this.microsoftAuthService.getUserAccessToken({ externalUserId });
520
761
  const response = await axios_1.default.get(`https://graph.microsoft.com/v1.0/${resource}`, {
@@ -525,10 +766,79 @@ let CalendarService = CalendarService_1 = class CalendarService {
525
766
  return response.data;
526
767
  }
527
768
  catch (error) {
769
+ if (axios_1.default.isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
770
+ this.logger.debug(`Event not found (404) for resource ${resource}, likely deleted - returning null`);
771
+ return null;
772
+ }
528
773
  this.logger.error("Error fetching event details:", error);
529
774
  throw error;
530
775
  }
531
776
  }
777
+ async getEventsBatch(eventIds, externalUserId) {
778
+ if (eventIds.length === 0) {
779
+ return [];
780
+ }
781
+ if (eventIds.length > 20) {
782
+ this.logger.warn(`getEventsBatch called with ${eventIds.length} events, exceeding Microsoft Graph limit of 20. Only first 20 will be fetched.`);
783
+ }
784
+ try {
785
+ const accessToken = await this.microsoftAuthService.getUserAccessToken({ externalUserId });
786
+ const batchPayload = {
787
+ requests: eventIds.slice(0, 20).map((eventId, index) => ({
788
+ id: `${index}`,
789
+ method: 'GET',
790
+ url: `/me/events/${eventId}`,
791
+ })),
792
+ };
793
+ this.logger.debug(`[getEventsBatch] Fetching ${batchPayload.requests.length} events in batch for user ${externalUserId}`);
794
+ const response = await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => axios_1.default.post('https://graph.microsoft.com/v1.0/$batch', batchPayload, {
795
+ headers: {
796
+ Authorization: `Bearer ${accessToken}`,
797
+ 'Content-Type': 'application/json',
798
+ },
799
+ }), {
800
+ maxRetries: 3,
801
+ retryDelayMs: 1000,
802
+ logger: this.logger,
803
+ resourceName: `batch events (user: ${externalUserId})`,
804
+ });
805
+ if (!response) {
806
+ this.logger.error(`[getEventsBatch] Batch request returned null for user ${externalUserId}`);
807
+ return [];
808
+ }
809
+ const events = [];
810
+ let successCount = 0;
811
+ let notFoundCount = 0;
812
+ let errorCount = 0;
813
+ for (const batchResponse of response.data.responses) {
814
+ const eventId = eventIds[parseInt(batchResponse.id, 10)];
815
+ if (batchResponse.status === 200) {
816
+ events.push(batchResponse.body);
817
+ successCount++;
818
+ }
819
+ else if (batchResponse.status === 404) {
820
+ this.logger.warn(`[getEventsBatch] Event ${eventId} not found (404), likely deleted`);
821
+ notFoundCount++;
822
+ }
823
+ else if (batchResponse.status === 429) {
824
+ this.logger.warn(`[getEventsBatch] Individual event ${eventId} rate limited (429) within batch response`);
825
+ errorCount++;
826
+ }
827
+ else {
828
+ this.logger.error(`[getEventsBatch] Failed to fetch event ${eventId}: status ${batchResponse.status}, body: ${JSON.stringify(batchResponse.body)}`);
829
+ errorCount++;
830
+ }
831
+ }
832
+ this.logger.log(`[getEventsBatch] Batch complete for user ${externalUserId}: ` +
833
+ `success=${successCount}, notFound=${notFoundCount}, errors=${errorCount}`);
834
+ return events;
835
+ }
836
+ catch (error) {
837
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
838
+ this.logger.error(`[getEventsBatch] Batch request failed for user ${externalUserId}: ${errorMessage}`);
839
+ throw error;
840
+ }
841
+ }
532
842
  importEventsStream(externalUserId, options) {
533
843
  return __asyncGenerator(this, arguments, function* importEventsStream_1() {
534
844
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.service.js","sourceRoot":"","sources":["../../../src/services/calendar/calendar.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar.service.js","sourceRoot":"","sources":["../../../src/services/calendar/calendar.service.ts"],"names":[],"mappings":"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"}