@checkfirst/nestjs-outlook 5.3.2 → 5.4.0

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