@checkfirst/nestjs-outlook 6.1.1 → 6.1.3

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.
Files changed (29) hide show
  1. package/dist/entities/microsoft-user.entity.d.ts +1 -0
  2. package/dist/entities/microsoft-user.entity.js +5 -0
  3. package/dist/entities/microsoft-user.entity.js.map +1 -1
  4. package/dist/migrations/1740400000000-AddDefaultCalendarIdColumn.d.ts +5 -0
  5. package/dist/migrations/1740400000000-AddDefaultCalendarIdColumn.js +19 -0
  6. package/dist/migrations/1740400000000-AddDefaultCalendarIdColumn.js.map +1 -0
  7. package/dist/repositories/outlook-webhook-subscription.repository.d.ts +1 -0
  8. package/dist/repositories/outlook-webhook-subscription.repository.js +3 -0
  9. package/dist/repositories/outlook-webhook-subscription.repository.js.map +1 -1
  10. package/dist/services/auth/microsoft-auth.service.d.ts +1 -0
  11. package/dist/services/auth/microsoft-auth.service.js +5 -4
  12. package/dist/services/auth/microsoft-auth.service.js.map +1 -1
  13. package/dist/services/calendar/calendar.service.js +142 -82
  14. package/dist/services/calendar/calendar.service.js.map +1 -1
  15. package/dist/services/email/email.service.js +41 -10
  16. package/dist/services/email/email.service.js.map +1 -1
  17. package/dist/services/shared/user-id-converter.service.d.ts +9 -3
  18. package/dist/services/shared/user-id-converter.service.js +6 -6
  19. package/dist/services/shared/user-id-converter.service.js.map +1 -1
  20. package/dist/services/subscription/microsoft-subscription.service.js +13 -8
  21. package/dist/services/subscription/microsoft-subscription.service.js.map +1 -1
  22. package/dist/tsconfig.tsbuildinfo +1 -1
  23. package/dist/utils/outlook-api-executor.util.d.ts +3 -0
  24. package/dist/utils/outlook-api-executor.util.js +38 -45
  25. package/dist/utils/outlook-api-executor.util.js.map +1 -1
  26. package/dist/utils/retry.util.d.ts +0 -1
  27. package/dist/utils/retry.util.js +34 -37
  28. package/dist/utils/retry.util.js.map +1 -1
  29. package/package.json +1 -1
@@ -6,6 +6,7 @@ export declare class MicrosoftUser {
6
6
  tokenExpiry: Date;
7
7
  scopes: string;
8
8
  isActive: boolean;
9
+ defaultCalendarId: string | null;
9
10
  createdAt: Date;
10
11
  updatedAt: Date;
11
12
  }
@@ -19,6 +19,7 @@ let MicrosoftUser = class MicrosoftUser {
19
19
  this.tokenExpiry = new Date();
20
20
  this.scopes = '';
21
21
  this.isActive = true;
22
+ this.defaultCalendarId = null;
22
23
  this.createdAt = new Date();
23
24
  this.updatedAt = new Date();
24
25
  }
@@ -53,6 +54,10 @@ __decorate([
53
54
  (0, typeorm_1.Column)({ name: 'is_active', default: true }),
54
55
  __metadata("design:type", Boolean)
55
56
  ], MicrosoftUser.prototype, "isActive", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.Column)({ name: 'default_calendar_id', type: 'varchar', length: 255, nullable: true }),
59
+ __metadata("design:type", Object)
60
+ ], MicrosoftUser.prototype, "defaultCalendarId", void 0);
56
61
  __decorate([
57
62
  (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
58
63
  __metadata("design:type", Date)
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-user.entity.js","sourceRoot":"","sources":["../../src/entities/microsoft-user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAOiB;AAQV,IAAM,aAAa,GAAnB,MAAM,aAAa;IAAnB;QAML,mBAAc,GAAW,EAAE,CAAC;QAG5B,gBAAW,GAAW,EAAE,CAAC;QAGzB,iBAAY,GAAW,EAAE,CAAC;QAG1B,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAG/B,WAAM,GAAW,EAAE,CAAC;QAGpB,aAAQ,GAAY,IAAI,CAAC;QAGzB,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAG7B,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;IAC/B,CAAC;CAAA,CAAA;AA5BY,sCAAa;AAExB;IADC,IAAA,gCAAsB,EAAC,WAAW,CAAC;;yCACxB;AAIZ;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IACpC,IAAA,eAAK,GAAE;;qDACoB;AAG5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kDACtB;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACtB;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BACtC,IAAI;kDAAc;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACrB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CACpB;AAGzB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;gDAAc;AAG7B;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;gDAAc;wBA3BlB,aAAa;IADzB,IAAA,gBAAM,EAAC,iBAAiB,CAAC;GACb,aAAa,CA4BzB"}
1
+ {"version":3,"file":"microsoft-user.entity.js","sourceRoot":"","sources":["../../src/entities/microsoft-user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAOiB;AAQV,IAAM,aAAa,GAAnB,MAAM,aAAa;IAAnB;QAML,mBAAc,GAAW,EAAE,CAAC;QAG5B,gBAAW,GAAW,EAAE,CAAC;QAGzB,iBAAY,GAAW,EAAE,CAAC;QAG1B,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAG/B,WAAM,GAAW,EAAE,CAAC;QAGpB,aAAQ,GAAY,IAAI,CAAC;QAGzB,sBAAiB,GAAkB,IAAI,CAAC;QAGxC,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAG7B,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;IAC/B,CAAC;CAAA,CAAA;AA/BY,sCAAa;AAExB;IADC,IAAA,gCAAsB,EAAC,WAAW,CAAC;;yCACxB;AAIZ;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IACpC,IAAA,eAAK,GAAE;;qDACoB;AAG5B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kDACtB;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACtB;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BACtC,IAAI;kDAAc;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CACrB;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CACpB;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDAC9C;AAGxC;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;gDAAc;AAG7B;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC9B,IAAI;gDAAc;wBA9BlB,aAAa;IADzB,IAAA,gBAAM,EAAC,iBAAiB,CAAC;GACb,aAAa,CA+BzB"}
@@ -0,0 +1,5 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class AddDefaultCalendarIdColumn1740400000000 implements MigrationInterface {
3
+ up(queryRunner: QueryRunner): Promise<void>;
4
+ down(queryRunner: QueryRunner): Promise<void>;
5
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddDefaultCalendarIdColumn1740400000000 = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ class AddDefaultCalendarIdColumn1740400000000 {
6
+ async up(queryRunner) {
7
+ await queryRunner.addColumn('microsoft_users', new typeorm_1.TableColumn({
8
+ name: 'default_calendar_id',
9
+ type: 'varchar',
10
+ length: '255',
11
+ isNullable: true,
12
+ }));
13
+ }
14
+ async down(queryRunner) {
15
+ await queryRunner.dropColumn('microsoft_users', 'default_calendar_id');
16
+ }
17
+ }
18
+ exports.AddDefaultCalendarIdColumn1740400000000 = AddDefaultCalendarIdColumn1740400000000;
19
+ //# sourceMappingURL=1740400000000-AddDefaultCalendarIdColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1740400000000-AddDefaultCalendarIdColumn.js","sourceRoot":"","sources":["../../src/migrations/1740400000000-AddDefaultCalendarIdColumn.ts"],"names":[],"mappings":";;;AAAA,qCAAuE;AAEvE,MAAa,uCAAuC;IAC3C,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,SAAS,CACzB,iBAAiB,EACjB,IAAI,qBAAW,CAAC;YACd,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,IAAI;SACjB,CAAC,CACH,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,UAAU,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;IACzE,CAAC;CACF;AAhBD,0FAgBC"}
@@ -10,4 +10,5 @@ export declare class OutlookWebhookSubscriptionRepository {
10
10
  findSubscriptionsNeedingRenewal(hoursUntilExpiration: number): Promise<OutlookWebhookSubscription[]>;
11
11
  findActiveSubscriptions(): Promise<OutlookWebhookSubscription[]>;
12
12
  findActiveByUserId(userId: number): Promise<OutlookWebhookSubscription | null>;
13
+ count(options: Parameters<Repository<OutlookWebhookSubscription>['count']>[0]): Promise<number>;
13
14
  }
@@ -76,6 +76,9 @@ let OutlookWebhookSubscriptionRepository = class OutlookWebhookSubscriptionRepos
76
76
  cache: true,
77
77
  });
78
78
  }
79
+ async count(options) {
80
+ return await this.repository.count(options);
81
+ }
79
82
  };
80
83
  exports.OutlookWebhookSubscriptionRepository = OutlookWebhookSubscriptionRepository;
81
84
  exports.OutlookWebhookSubscriptionRepository = OutlookWebhookSubscriptionRepository = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"outlook-webhook-subscription.repository.js","sourceRoot":"","sources":["../../src/repositories/outlook-webhook-subscription.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAyD;AACzD,yGAA6F;AAGtF,IAAM,oCAAoC,GAA1C,MAAM,oCAAoC;IAC/C,YAEmB,UAAkD;QAAlD,eAAU,GAAV,UAAU,CAAwC;IAClE,CAAC;IAEJ,KAAK,CAAC,gBAAgB,CACpB,YAAiD;QAGjD,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;YAChC,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBACzD,KAAK,EAAE,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE;aACvD,CAAC,CAAC;YAEH,IAAI,oBAAoB,EAAE,CAAC;gBAEzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;gBAClD,oBAAoB,CAAC,EAAE,GAAG,UAAU,CAAC;gBACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAID,MAAM,qBAAqB,qBAAQ,YAAY,CAAE,CAAC;QAClD,OAAO,qBAAqB,CAAC,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,cAAsB;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,cAAsB,EACtB,kBAAwB;QAExB,MAAM,MAAM,GAAwC;YAClD,kBAAkB;YAClB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,cAAsB;QACjD,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,oBAA4B;QAE5B,MAAM,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC;QACvC,mBAAmB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,oBAAoB,CAAC,CAAC;QAEpF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,kBAAkB,EAAE,IAAA,kBAAQ,EAAC,mBAAmB,CAAC;aAClD;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI;gBACd,kBAAkB,EAAE,IAAA,kBAAQ,EAAC,GAAG,CAAC;aAClC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC7B,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjC,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAnFY,oFAAoC;+CAApC,oCAAoC;IADhD,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,gEAA0B,CAAC,CAAA;qCAChB,oBAAU;GAH9B,oCAAoC,CAmFhD"}
1
+ {"version":3,"file":"outlook-webhook-subscription.repository.js","sourceRoot":"","sources":["../../src/repositories/outlook-webhook-subscription.repository.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ export declare class MicrosoftAuthService {
39
39
  internalUserId?: number;
40
40
  externalUserId?: string;
41
41
  includeInactive?: boolean;
42
+ cache?: boolean;
42
43
  }): Promise<string>;
43
44
  private processTokenInfo;
44
45
  exchangeCodeForToken(code: string, state: string): Promise<TokenResponse>;
@@ -186,7 +186,7 @@ let MicrosoftAuthService = MicrosoftAuthService_1 = class MicrosoftAuthService {
186
186
  await this.microsoftUserRepository.save(user);
187
187
  }
188
188
  async getMicrosoftUser(params) {
189
- const { internalUserId, externalUserId, includeInactive = false } = params;
189
+ const { internalUserId, externalUserId, includeInactive = false, cache = true } = params;
190
190
  if (!internalUserId && !externalUserId) {
191
191
  throw new Error('Either internalUserId or externalUserId must be provided');
192
192
  }
@@ -202,19 +202,20 @@ let MicrosoftAuthService = MicrosoftAuthService_1 = class MicrosoftAuthService {
202
202
  }
203
203
  return await this.microsoftUserRepository.findOne({
204
204
  where: whereCondition,
205
- cache: true,
205
+ cache,
206
206
  });
207
207
  }
208
208
  async getUserAccessToken(params) {
209
209
  try {
210
- const { internalUserId, externalUserId, includeInactive = false } = params;
210
+ const { internalUserId, externalUserId, includeInactive = false, cache = true } = params;
211
211
  if (!internalUserId && !externalUserId) {
212
212
  throw new Error('Either internalUserId or externalUserId must be provided');
213
213
  }
214
214
  const user = await this.getMicrosoftUser({
215
215
  internalUserId,
216
216
  externalUserId,
217
- includeInactive
217
+ includeInactive,
218
+ cache
218
219
  });
219
220
  if (!user) {
220
221
  const identifier = internalUserId ? `internal ID ${String(internalUserId)}` : `external ID ${externalUserId}`;
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-auth.service.js","sourceRoot":"","sources":["../../../src/services/auth/microsoft-auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"microsoft-auth.service.js","sourceRoot":"","sources":["../../../src/services/auth/microsoft-auth.service.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,6 @@ const typeorm_1 = require("@nestjs/typeorm");
53
53
  const microsoft_user_entity_1 = require("../../entities/microsoft-user.entity");
54
54
  const typeorm_2 = require("typeorm");
55
55
  const delta_sync_service_1 = require("../shared/delta-sync.service");
56
- const retry_util_1 = require("../../utils/retry.util");
57
56
  const user_id_converter_service_1 = require("../shared/user-id-converter.service");
58
57
  const resource_type_enum_1 = require("../../enums/resource-type.enum");
59
58
  const microsoft_subscription_service_1 = require("../subscription/microsoft-subscription.service");
@@ -99,25 +98,45 @@ let CalendarService = CalendarService_1 = class CalendarService {
99
98
  }
100
99
  async getDefaultCalendarId(externalUserId) {
101
100
  try {
102
- const accessToken = await this.microsoftAuthService.getUserAccessToken({ externalUserId });
103
- const response = await axios_1.default.get("https://graph.microsoft.com/v1.0/me/calendar", {
101
+ const user = await this.microsoftUserRepository.findOne({
102
+ where: { externalUserId, isActive: true },
103
+ cache: true,
104
+ });
105
+ if (!user) {
106
+ throw new Error(`No Microsoft user found for external user ID ${externalUserId}`);
107
+ }
108
+ if (user.defaultCalendarId) {
109
+ this.logger.debug(`Using cached calendar ID for user ${externalUserId}`);
110
+ return user.defaultCalendarId;
111
+ }
112
+ this.logger.debug(`Fetching calendar ID from Microsoft for user ${externalUserId}`);
113
+ const accessToken = await this.microsoftAuthService.getUserAccessToken({ externalUserId, cache: true });
114
+ await this.rateLimiter.acquirePermit(externalUserId);
115
+ const response = await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => axios_1.default.get("https://graph.microsoft.com/v1.0/me/calendar", {
104
116
  headers: {
105
117
  Authorization: `Bearer ${accessToken}`,
106
118
  "Content-Type": "application/json",
107
119
  },
120
+ }), {
121
+ logger: this.logger,
122
+ resourceName: `me/calendar for user ${externalUserId}`,
123
+ maxRetries: 3,
108
124
  });
109
- if (!response.data.id) {
125
+ if (!(response === null || response === void 0 ? void 0 : response.data.id)) {
110
126
  throw new Error("Failed to retrieve calendar ID");
111
127
  }
112
- return response.data.id;
128
+ const calendarId = response.data.id;
129
+ user.defaultCalendarId = calendarId;
130
+ await this.microsoftUserRepository.save(user);
131
+ this.logger.log(`Cached calendar ID for user ${externalUserId}`);
132
+ return calendarId;
113
133
  }
114
134
  catch (error) {
115
- this.logger.error("Error getting default calendar ID:", error);
135
+ this.logger.error(`Error getting default calendar ID for user ${externalUserId}:`, error);
116
136
  throw new Error("Failed to get calendar ID from Microsoft");
117
137
  }
118
138
  }
119
139
  async createEvent(event, externalUserId, calendarId) {
120
- await this.rateLimiter.acquirePermit(externalUserId);
121
140
  try {
122
141
  const accessToken = await this.microsoftAuthService.getUserAccessToken({ externalUserId });
123
142
  const client = microsoft_graph_client_1.Client.init({
@@ -125,9 +144,13 @@ let CalendarService = CalendarService_1 = class CalendarService {
125
144
  done(null, accessToken);
126
145
  },
127
146
  });
128
- const createdEvent = (await client
129
- .api(`/me/calendars/${calendarId}/events`)
130
- .post(event));
147
+ const createdEvent = (await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => client.api(`/me/calendars/${calendarId}/events`).post(event), {
148
+ logger: this.logger,
149
+ resourceName: `create event in calendar ${calendarId} for user ${externalUserId}`,
150
+ maxRetries: 3,
151
+ rateLimiter: this.rateLimiter,
152
+ userId: externalUserId,
153
+ }));
131
154
  return {
132
155
  event: createdEvent,
133
156
  };
@@ -137,12 +160,8 @@ let CalendarService = CalendarService_1 = class CalendarService {
137
160
  this.logger.error(`Failed to create Outlook calendar event: ${errorMessage}`);
138
161
  throw new Error(`Failed to create Outlook calendar event: ${errorMessage}`);
139
162
  }
140
- finally {
141
- this.rateLimiter.releasePermit(externalUserId);
142
- }
143
163
  }
144
164
  async updateEvent(eventId, updates, externalUserId, calendarId) {
145
- await this.rateLimiter.acquirePermit(externalUserId);
146
165
  try {
147
166
  const accessToken = await this.microsoftAuthService.getUserAccessToken({ externalUserId });
148
167
  const client = microsoft_graph_client_1.Client.init({
@@ -151,9 +170,13 @@ let CalendarService = CalendarService_1 = class CalendarService {
151
170
  },
152
171
  });
153
172
  this.logger.log(`Updating event ${eventId} in calendar ${calendarId} for user ${externalUserId}`);
154
- const updatedEvent = (await client
155
- .api(`/me/calendars/${calendarId}/events/${eventId}`)
156
- .patch(updates));
173
+ const updatedEvent = (await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => client.api(`/me/calendars/${calendarId}/events/${eventId}`).patch(updates), {
174
+ logger: this.logger,
175
+ resourceName: `update event ${eventId} in calendar ${calendarId} for user ${externalUserId}`,
176
+ maxRetries: 3,
177
+ rateLimiter: this.rateLimiter,
178
+ userId: externalUserId,
179
+ }));
157
180
  return {
158
181
  event: updatedEvent,
159
182
  };
@@ -163,12 +186,8 @@ let CalendarService = CalendarService_1 = class CalendarService {
163
186
  this.logger.error(`Failed to update Outlook calendar event: ${errorMessage}`);
164
187
  throw new Error(`Failed to update Outlook calendar event: ${errorMessage}`);
165
188
  }
166
- finally {
167
- this.rateLimiter.releasePermit(externalUserId);
168
- }
169
189
  }
170
190
  async deleteEvent(event, externalUserId, calendarId) {
171
- await this.rateLimiter.acquirePermit(externalUserId);
172
191
  try {
173
192
  const internalUserId = await this.userIdConverter.toInternalUserId(externalUserId);
174
193
  const accessToken = await this.microsoftAuthService.getUserAccessToken({ internalUserId });
@@ -178,24 +197,20 @@ let CalendarService = CalendarService_1 = class CalendarService {
178
197
  },
179
198
  });
180
199
  this.logger.log(`Deleting event ${event.id} from calendar ${calendarId} for user ${externalUserId}`);
181
- await (0, retry_util_1.retryWithBackoff)(async () => {
182
- await client
183
- .api(`/me/calendars/${calendarId}/events/${event.id}`)
184
- .delete();
185
- }, { maxRetries: 3, retryDelayMs: 1000 });
200
+ await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => client.api(`/me/calendars/${calendarId}/events/${event.id}`).delete(), {
201
+ logger: this.logger,
202
+ resourceName: `delete event ${event.id} from calendar ${calendarId} for user ${externalUserId}`,
203
+ maxRetries: 3,
204
+ rateLimiter: this.rateLimiter,
205
+ userId: externalUserId,
206
+ return404AsNull: true,
207
+ });
186
208
  }
187
209
  catch (error) {
188
- if ((0, retry_util_1.is404Error)(error)) {
189
- this.logger.warn(`Outlook calendar event ${event.id} not found (already deleted), treating as successful deletion`);
190
- return;
191
- }
192
210
  const errorMessage = error instanceof Error ? error.message : "Unknown error";
193
211
  this.logger.error(`Failed to delete Outlook calendar event after retries: ${errorMessage}`);
194
212
  throw new Error(`Failed to delete Outlook calendar event: ${errorMessage}`);
195
213
  }
196
- finally {
197
- this.rateLimiter.releasePermit(externalUserId);
198
- }
199
214
  }
200
215
  async createBatchEvents(events, externalUserId, calendarId) {
201
216
  if (events.length === 0) {
@@ -222,15 +237,20 @@ let CalendarService = CalendarService_1 = class CalendarService {
222
237
  })),
223
238
  };
224
239
  this.logger.log(`Creating batch of ${batchEvents.length} events in calendar ${calendarId} for user ${externalUserId}`);
225
- const batchResponse = await (0, retry_util_1.retryWithBackoff)(async () => {
226
- const response = await axios_1.default.post('https://graph.microsoft.com/v1.0/$batch', batchPayload, {
227
- headers: {
228
- Authorization: `Bearer ${accessToken}`,
229
- 'Content-Type': 'application/json',
230
- },
231
- });
232
- return response.data;
233
- }, { maxRetries: 3, retryDelayMs: 1000 });
240
+ const response = await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => axios_1.default.post('https://graph.microsoft.com/v1.0/$batch', batchPayload, {
241
+ headers: {
242
+ Authorization: `Bearer ${accessToken}`,
243
+ 'Content-Type': 'application/json',
244
+ },
245
+ }), {
246
+ logger: this.logger,
247
+ resourceName: `batch create ${batchEvents.length} events for user ${externalUserId}`,
248
+ maxRetries: 3,
249
+ });
250
+ const batchResponse = response === null || response === void 0 ? void 0 : response.data;
251
+ if (!batchResponse) {
252
+ throw new Error('Batch request returned null response');
253
+ }
234
254
  batchResponse.responses.forEach((response, batchIndex) => {
235
255
  const globalIndex = i + batchIndex;
236
256
  if (response.status === 201) {
@@ -307,15 +327,20 @@ let CalendarService = CalendarService_1 = class CalendarService {
307
327
  };
308
328
  this.logger.log(`Updating batch of ${batchUpdates.length} events in calendar ${calendarId} for user ${externalUserId}`);
309
329
  try {
310
- const batchResponse = await (0, retry_util_1.retryWithBackoff)(async () => {
311
- const response = await axios_1.default.post('https://graph.microsoft.com/v1.0/$batch', batchPayload, {
312
- headers: {
313
- Authorization: `Bearer ${accessToken}`,
314
- 'Content-Type': 'application/json',
315
- },
316
- });
317
- return response.data;
318
- }, { maxRetries: 3, retryDelayMs: 1000 });
330
+ const response = await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => axios_1.default.post('https://graph.microsoft.com/v1.0/$batch', batchPayload, {
331
+ headers: {
332
+ Authorization: `Bearer ${accessToken}`,
333
+ 'Content-Type': 'application/json',
334
+ },
335
+ }), {
336
+ logger: this.logger,
337
+ resourceName: `batch update ${batchUpdates.length} events for user ${externalUserId}`,
338
+ maxRetries: 3,
339
+ });
340
+ const batchResponse = response === null || response === void 0 ? void 0 : response.data;
341
+ if (!batchResponse) {
342
+ throw new Error('Batch request returned null response');
343
+ }
319
344
  batchResponse.responses.forEach((response, batchIndex) => {
320
345
  const globalIndex = i + batchIndex;
321
346
  if (response.status === 200) {
@@ -385,15 +410,20 @@ let CalendarService = CalendarService_1 = class CalendarService {
385
410
  };
386
411
  this.logger.log(`Deleting batch of ${batchEventIds.length} events from calendar ${calendarId} for user ${externalUserId}`);
387
412
  try {
388
- const batchResponse = await (0, retry_util_1.retryWithBackoff)(async () => {
389
- const response = await axios_1.default.post('https://graph.microsoft.com/v1.0/$batch', batchPayload, {
390
- headers: {
391
- Authorization: `Bearer ${accessToken}`,
392
- 'Content-Type': 'application/json',
393
- },
394
- });
395
- return response.data;
396
- }, { maxRetries: 3, retryDelayMs: 1000 });
413
+ const response = await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => axios_1.default.post('https://graph.microsoft.com/v1.0/$batch', batchPayload, {
414
+ headers: {
415
+ Authorization: `Bearer ${accessToken}`,
416
+ 'Content-Type': 'application/json',
417
+ },
418
+ }), {
419
+ logger: this.logger,
420
+ resourceName: `batch delete ${batchEventIds.length} events for user ${externalUserId}`,
421
+ maxRetries: 3,
422
+ });
423
+ const batchResponse = response === null || response === void 0 ? void 0 : response.data;
424
+ if (!batchResponse) {
425
+ throw new Error('Batch request returned null response');
426
+ }
397
427
  batchResponse.responses.forEach((response, index) => {
398
428
  const eventId = batchEventIds[index];
399
429
  if (response.status === 204 || response.status === 404) {
@@ -442,12 +472,12 @@ let CalendarService = CalendarService_1 = class CalendarService {
442
472
  }
443
473
  async createWebhookSubscription(externalUserId) {
444
474
  var _a, _b;
445
- const internalUserId = await this.userIdConverter.externalToInternal(externalUserId);
475
+ const internalUserId = await this.userIdConverter.externalToInternal(externalUserId, { cache: false });
446
476
  const correlationId = `webhook-${internalUserId}-${Date.now()}`;
447
477
  this.logger.log(`[${correlationId}] Starting webhook subscription creation for user ${internalUserId}`);
448
478
  try {
449
479
  this.logger.log(`[${correlationId}] Fetching access token for user ${internalUserId}`);
450
- const accessToken = await this.microsoftAuthService.getUserAccessToken({ internalUserId });
480
+ const accessToken = await this.microsoftAuthService.getUserAccessToken({ internalUserId, cache: false });
451
481
  this.logger.log(`[${correlationId}] Successfully obtained access token`);
452
482
  const expirationDateTime = new Date();
453
483
  expirationDateTime.setHours(expirationDateTime.getHours() + 72);
@@ -467,12 +497,19 @@ let CalendarService = CalendarService_1 = class CalendarService {
467
497
  this.logger.log(`[${correlationId}] Creating webhook subscription with notificationUrl: ${notificationUrl}`);
468
498
  this.logger.debug(`[${correlationId}] Subscription data: ${JSON.stringify(subscriptionData)}`);
469
499
  this.logger.log(`[${correlationId}] Sending POST request to Microsoft Graph API`);
470
- const response = await axios_1.default.post("https://graph.microsoft.com/v1.0/subscriptions", subscriptionData, {
500
+ const response = await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => axios_1.default.post("https://graph.microsoft.com/v1.0/subscriptions", subscriptionData, {
471
501
  headers: {
472
502
  Authorization: `Bearer ${accessToken}`,
473
503
  "Content-Type": "application/json",
474
504
  },
505
+ }), {
506
+ logger: this.logger,
507
+ resourceName: `create webhook subscription for user ${internalUserId}`,
508
+ maxRetries: 3,
475
509
  });
510
+ if (!(response === null || response === void 0 ? void 0 : response.data)) {
511
+ throw new Error('Subscription creation returned null response');
512
+ }
476
513
  this.logger.log(`[${correlationId}] Created webhook subscription ${response.data.id || "unknown"} for user ${internalUserId}`);
477
514
  this.logger.log(`[${correlationId}] Saving subscription to database (internalUserId: ${internalUserId}, externalUserId: ${externalUserId})`);
478
515
  await this.webhookSubscriptionRepository.saveSubscription({
@@ -528,12 +565,19 @@ let CalendarService = CalendarService_1 = class CalendarService {
528
565
  expirationDateTime: expirationDateTime.toISOString(),
529
566
  };
530
567
  this.logger.debug(`[${correlationId}] Calling Microsoft Graph API to renew subscription`);
531
- const response = await axios_1.default.patch(`https://graph.microsoft.com/v1.0/subscriptions/${subscriptionId}`, renewalData, {
568
+ const response = await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => axios_1.default.patch(`https://graph.microsoft.com/v1.0/subscriptions/${subscriptionId}`, renewalData, {
532
569
  headers: {
533
570
  Authorization: `Bearer ${accessToken}`,
534
571
  "Content-Type": "application/json",
535
572
  },
573
+ }), {
574
+ logger: this.logger,
575
+ resourceName: `renew webhook subscription ${subscriptionId} for user ${internalUserId}`,
576
+ maxRetries: 3,
536
577
  });
578
+ if (!(response === null || response === void 0 ? void 0 : response.data)) {
579
+ throw new Error('Subscription renewal returned null response');
580
+ }
537
581
  this.logger.debug(`[${correlationId}] Microsoft Graph API returned status: ${response.status}`);
538
582
  if (response.data.expirationDateTime) {
539
583
  await this.webhookSubscriptionRepository.updateSubscriptionExpiration(subscriptionId, new Date(response.data.expirationDateTime));
@@ -590,9 +634,21 @@ let CalendarService = CalendarService_1 = class CalendarService {
590
634
  this.logger.log(`[${correlationId}] Successfully deleted subscription at Microsoft`);
591
635
  await this.webhookSubscriptionRepository.deactivateSubscription(subscriptionId);
592
636
  this.logger.debug(`[${correlationId}] Deactivated subscription in local database`);
593
- const updateCriteria = typeof userId === 'string' ? { externalUserId: userId } : { id: userId };
594
- await this.microsoftUserRepository.update(updateCriteria, { isActive: false });
595
- this.logger.debug(`[${correlationId}] Marked Microsoft user as inactive (${typeof userId === 'string' ? 'externalUserId' : 'id'}: ${userId})`);
637
+ const otherActiveSubscriptions = await this.webhookSubscriptionRepository.count({
638
+ where: {
639
+ userId: internalUserId,
640
+ isActive: true,
641
+ subscriptionId: (0, typeorm_2.Not)(subscriptionId)
642
+ }
643
+ });
644
+ if (otherActiveSubscriptions === 0) {
645
+ const updateCriteria = typeof userId === 'string' ? { externalUserId: userId } : { id: userId };
646
+ await this.microsoftUserRepository.update(updateCriteria, { isActive: false });
647
+ this.logger.debug(`[${correlationId}] Marked Microsoft user as inactive - no other subscriptions remain`);
648
+ }
649
+ else {
650
+ this.logger.debug(`[${correlationId}] User still has ${otherActiveSubscriptions} other active subscription(s), keeping user active`);
651
+ }
596
652
  this.logger.log(`[${correlationId}] Successfully deleted calendar subscription ${subscriptionId}`);
597
653
  return true;
598
654
  }
@@ -776,21 +832,21 @@ let CalendarService = CalendarService_1 = class CalendarService {
776
832
  this.logger.log(`[saveDeltaLink] Saved delta link for user ${externalUserId} (internal: ${internalUserId})`);
777
833
  }
778
834
  async getEventDetails(resource, externalUserId) {
779
- var _a;
780
835
  try {
781
836
  const accessToken = await this.microsoftAuthService.getUserAccessToken({ externalUserId });
782
- const response = await axios_1.default.get(`https://graph.microsoft.com/v1.0/${resource}`, {
837
+ const response = await (0, outlook_api_executor_util_1.executeGraphApiCall)(() => axios_1.default.get(`https://graph.microsoft.com/v1.0/${resource}`, {
783
838
  headers: {
784
839
  Authorization: `Bearer ${accessToken}`,
785
840
  },
841
+ }), {
842
+ logger: this.logger,
843
+ resourceName: `event details for ${resource}`,
844
+ maxRetries: 3,
845
+ return404AsNull: true,
786
846
  });
787
- return response.data;
847
+ return response === null || response === void 0 ? void 0 : response.data;
788
848
  }
789
849
  catch (error) {
790
- if (axios_1.default.isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 404) {
791
- this.logger.debug(`Event not found (404) for resource ${resource}, likely deleted - returning null`);
792
- return null;
793
- }
794
850
  this.logger.error("Error fetching event details:", error);
795
851
  throw error;
796
852
  }
@@ -920,7 +976,12 @@ let CalendarService = CalendarService_1 = class CalendarService {
920
976
  let totalFetched = 0;
921
977
  while (nextLink) {
922
978
  this.logger.debug(`Fetching page: ${nextLink}`);
923
- const response = (yield __await((0, retry_util_1.retryWithBackoff)(() => client.api(nextLink).get())));
979
+ const response = (yield __await((0, outlook_api_executor_util_1.executeGraphApiCall)(() => client.api(nextLink).get(), {
980
+ logger: this.logger,
981
+ resourceName: `calendarView for user ${externalUserId}`,
982
+ rateLimiter: this.rateLimiter,
983
+ userId: externalUserId,
984
+ })));
924
985
  const items = response.value;
925
986
  buffer.push(...items);
926
987
  totalFetched += items.length;
@@ -930,9 +991,6 @@ let CalendarService = CalendarService_1 = class CalendarService {
930
991
  yield yield __await(chunk);
931
992
  }
932
993
  nextLink = response["@odata.nextLink"];
933
- if (nextLink) {
934
- yield __await((0, retry_util_1.delay)(200));
935
- }
936
994
  }
937
995
  if (buffer.length > 0) {
938
996
  this.logger.debug(`Yielding final chunk of ${buffer.length} items`);
@@ -993,7 +1051,12 @@ let CalendarService = CalendarService_1 = class CalendarService {
993
1051
  const buffer = [];
994
1052
  let totalFetched = 0;
995
1053
  while (nextLink) {
996
- const response = (yield __await((0, retry_util_1.retryWithBackoff)(() => client.api(nextLink).get())));
1054
+ const response = (yield __await((0, outlook_api_executor_util_1.executeGraphApiCall)(() => client.api(nextLink).get(), {
1055
+ logger: this.logger,
1056
+ resourceName: `recurring event instances for series ${seriesMasterId}`,
1057
+ rateLimiter: this.rateLimiter,
1058
+ userId: externalUserId,
1059
+ })));
997
1060
  const items = response.value;
998
1061
  buffer.push(...items);
999
1062
  totalFetched += items.length;
@@ -1002,9 +1065,6 @@ let CalendarService = CalendarService_1 = class CalendarService {
1002
1065
  yield yield __await(chunk);
1003
1066
  }
1004
1067
  nextLink = response['@odata.nextLink'];
1005
- if (nextLink) {
1006
- yield __await((0, retry_util_1.delay)(200));
1007
- }
1008
1068
  }
1009
1069
  if (buffer.length > 0) {
1010
1070
  yield yield __await(buffer);