@checkfirst/nestjs-outlook 4.6.0 → 4.7.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.
@@ -1,10 +1,12 @@
1
1
  import { Response, Request } from 'express';
2
2
  import { CalendarService } from '../services/calendar/calendar.service';
3
3
  import { OutlookWebhookNotificationDto } from '../dto/outlook-webhook-notification.dto';
4
+ import { LifecycleEventHandlerService } from '../services/calendar/lifecycle-event-handler.service';
4
5
  export declare class CalendarController {
5
6
  private readonly calendarService;
7
+ private readonly lifecycleEventHandler;
6
8
  private readonly logger;
7
- constructor(calendarService: CalendarService);
9
+ constructor(calendarService: CalendarService, lifecycleEventHandler: LifecycleEventHandlerService);
8
10
  handleCalendarWebhook(validationToken: string, notificationBody: OutlookWebhookNotificationDto, req: Request, res: Response): Promise<void>;
9
11
  private processCalendarNotificationBatch;
10
12
  }
@@ -19,9 +19,11 @@ const swagger_1 = require("@nestjs/swagger");
19
19
  const calendar_service_1 = require("../services/calendar/calendar.service");
20
20
  const outlook_webhook_notification_dto_1 = require("../dto/outlook-webhook-notification.dto");
21
21
  const webhook_notification_validator_1 = require("../utils/webhook-notification.validator");
22
+ const lifecycle_event_handler_service_1 = require("../services/calendar/lifecycle-event-handler.service");
22
23
  let CalendarController = CalendarController_1 = class CalendarController {
23
- constructor(calendarService) {
24
+ constructor(calendarService, lifecycleEventHandler) {
24
25
  this.calendarService = calendarService;
26
+ this.lifecycleEventHandler = lifecycleEventHandler;
25
27
  this.logger = new common_1.Logger(CalendarController_1.name);
26
28
  }
27
29
  async handleCalendarWebhook(validationToken, notificationBody, req, res) {
@@ -76,6 +78,25 @@ let CalendarController = CalendarController_1 = class CalendarController {
76
78
  const processedEvents = new Set();
77
79
  for (const item of notificationBody.value) {
78
80
  const validation = (0, webhook_notification_validator_1.validateNotificationItem)(item, webhook_notification_validator_1.WebhookResourceType.CALENDAR, this.logger);
81
+ if (validation.isLifecycleEvent) {
82
+ try {
83
+ const result = await this.lifecycleEventHandler.handleLifecycleEvent(item);
84
+ if (result.success) {
85
+ this.logger.log(`Successfully handled lifecycle event: ${validation.lifecycleEventType}`);
86
+ successCount++;
87
+ }
88
+ else {
89
+ this.logger.warn(`Failed to handle lifecycle event: ${result.message}`);
90
+ failureCount++;
91
+ }
92
+ }
93
+ catch (error) {
94
+ const errorMessage = error instanceof Error ? error.message : String(error);
95
+ this.logger.error(`Error handling lifecycle event: ${errorMessage}`);
96
+ failureCount++;
97
+ }
98
+ continue;
99
+ }
79
100
  if (!validation.isValid || validation.shouldSkip) {
80
101
  failureCount++;
81
102
  continue;
@@ -88,7 +109,7 @@ let CalendarController = CalendarController_1 = class CalendarController {
88
109
  if (resourceData.id) {
89
110
  processedEvents.add(resourceData.id);
90
111
  }
91
- if (!(0, webhook_notification_validator_1.validateChangeType)(item.changeType, this.logger, '[CALENDAR_WEBHOOK]')) {
112
+ if (!(0, webhook_notification_validator_1.validateChangeType)(item.changeType || 'unknown', this.logger, '[CALENDAR_WEBHOOK]')) {
92
113
  failureCount++;
93
114
  continue;
94
115
  }
@@ -160,6 +181,7 @@ exports.CalendarController = CalendarController = CalendarController_1 = __decor
160
181
  (0, swagger_1.ApiTags)('Calendar'),
161
182
  (0, common_1.Controller)('calendar'),
162
183
  (0, common_1.Injectable)(),
163
- __metadata("design:paramtypes", [calendar_service_1.CalendarService])
184
+ __metadata("design:paramtypes", [calendar_service_1.CalendarService,
185
+ lifecycle_event_handler_service_1.LifecycleEventHandlerService])
164
186
  ], CalendarController);
165
187
  //# sourceMappingURL=calendar.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.controller.js","sourceRoot":"","sources":["../../src/controllers/calendar.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar.controller.js","sourceRoot":"","sources":["../../src/controllers/calendar.controller.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,7 @@ let EmailController = EmailController_1 = class EmailController {
88
88
  if (resourceData.id) {
89
89
  processedMessages.add(resourceData.id);
90
90
  }
91
- if (!(0, webhook_notification_validator_1.validateChangeType)(item.changeType, this.logger, '[EMAIL_WEBHOOK]')) {
91
+ if (!(0, webhook_notification_validator_1.validateChangeType)(item.changeType || 'unknown', this.logger, '[EMAIL_WEBHOOK]')) {
92
92
  failureCount++;
93
93
  continue;
94
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"email.controller.js","sourceRoot":"","sources":["../../src/controllers/email.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.controller.js","sourceRoot":"","sources":["../../src/controllers/email.controller.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@ export declare class OutlookResourceData {
13
13
  export declare class OutlookWebhookNotificationItemDto {
14
14
  subscriptionId: string;
15
15
  subscriptionExpirationDateTime: string;
16
- changeType: string;
16
+ changeType?: string;
17
+ lifecycleEvent?: "missed" | "subscriptionRemoved" | "reauthorizationRequired";
17
18
  resource: string;
18
19
  resourceData?: OutlookResourceData;
19
20
  clientState?: string;
@@ -99,7 +99,6 @@ class OutlookWebhookNotificationItemDto {
99
99
  constructor() {
100
100
  this.subscriptionId = '';
101
101
  this.subscriptionExpirationDateTime = '';
102
- this.changeType = '';
103
102
  this.resource = '';
104
103
  }
105
104
  }
@@ -124,13 +123,24 @@ __decorate([
124
123
  ], OutlookWebhookNotificationItemDto.prototype, "subscriptionExpirationDateTime", void 0);
125
124
  __decorate([
126
125
  (0, swagger_1.ApiProperty)({
127
- description: 'The type of change that occurred',
126
+ description: 'The type of change that occurred (created, updated, deleted). May be absent for lifecycle events.',
128
127
  example: 'deleted',
128
+ required: false,
129
129
  }),
130
130
  (0, class_validator_1.IsString)(),
131
- (0, class_validator_1.IsNotEmpty)(),
131
+ (0, class_validator_1.IsOptional)(),
132
132
  __metadata("design:type", String)
133
133
  ], OutlookWebhookNotificationItemDto.prototype, "changeType", void 0);
134
+ __decorate([
135
+ (0, swagger_1.ApiProperty)({
136
+ description: 'Lifecycle event type (missed, subscriptionRemoved, reauthorizationRequired)',
137
+ example: 'reauthorizationRequired',
138
+ required: false,
139
+ }),
140
+ (0, class_validator_1.IsString)(),
141
+ (0, class_validator_1.IsOptional)(),
142
+ __metadata("design:type", String)
143
+ ], OutlookWebhookNotificationItemDto.prototype, "lifecycleEvent", void 0);
134
144
  __decorate([
135
145
  (0, swagger_1.ApiProperty)({
136
146
  description: 'The type of resource that changed',
@@ -1 +1 @@
1
- {"version":3,"file":"outlook-webhook-notification.dto.js","sourceRoot":"","sources":["../../src/dto/outlook-webhook-notification.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outlook-webhook-notification.dto.js","sourceRoot":"","sources":["../../src/dto/outlook-webhook-notification.dto.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,8 @@ export declare enum OutlookEventTypes {
6
6
  IMPORT_COMPLETED = "outlook.calendar.import.completed",
7
7
  EMAIL_RECEIVED = "outlook.email.received",
8
8
  EMAIL_UPDATED = "outlook.email.updated",
9
- EMAIL_DELETED = "outlook.email.deleted"
9
+ EMAIL_DELETED = "outlook.email.deleted",
10
+ LIFECYCLE_REAUTHORIZATION_REQUIRED = "outlook.lifecycle.reauthorization_required",
11
+ LIFECYCLE_SUBSCRIPTION_REMOVED = "outlook.lifecycle.subscription_removed",
12
+ LIFECYCLE_MISSED = "outlook.lifecycle.missed"
10
13
  }
@@ -11,5 +11,8 @@ var OutlookEventTypes;
11
11
  OutlookEventTypes["EMAIL_RECEIVED"] = "outlook.email.received";
12
12
  OutlookEventTypes["EMAIL_UPDATED"] = "outlook.email.updated";
13
13
  OutlookEventTypes["EMAIL_DELETED"] = "outlook.email.deleted";
14
+ OutlookEventTypes["LIFECYCLE_REAUTHORIZATION_REQUIRED"] = "outlook.lifecycle.reauthorization_required";
15
+ OutlookEventTypes["LIFECYCLE_SUBSCRIPTION_REMOVED"] = "outlook.lifecycle.subscription_removed";
16
+ OutlookEventTypes["LIFECYCLE_MISSED"] = "outlook.lifecycle.missed";
14
17
  })(OutlookEventTypes || (exports.OutlookEventTypes = OutlookEventTypes = {}));
15
18
  //# sourceMappingURL=event-types.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-types.enum.js","sourceRoot":"","sources":["../../src/enums/event-types.enum.ts"],"names":[],"mappings":";;;AAGA,IAAY,iBAgBX;AAhBD,WAAY,iBAAiB;IAE3B,6EAAwD,CAAA;IAGxD,4DAAuC,CAAA;IACvC,4DAAuC,CAAA;IACvC,4DAAuC,CAAA;IAGvC,2EAAsD,CAAA;IAGtD,8DAAyC,CAAA;IACzC,4DAAuC,CAAA;IACvC,4DAAuC,CAAA;AACzC,CAAC,EAhBW,iBAAiB,iCAAjB,iBAAiB,QAgB5B"}
1
+ {"version":3,"file":"event-types.enum.js","sourceRoot":"","sources":["../../src/enums/event-types.enum.ts"],"names":[],"mappings":";;;AAGA,IAAY,iBAqBX;AArBD,WAAY,iBAAiB;IAE3B,6EAAwD,CAAA;IAGxD,4DAAuC,CAAA;IACvC,4DAAuC,CAAA;IACvC,4DAAuC,CAAA;IAGvC,2EAAsD,CAAA;IAGtD,8DAAyC,CAAA;IACzC,4DAAuC,CAAA;IACvC,4DAAuC,CAAA;IAGvC,sGAAiF,CAAA;IACjF,8FAAyE,CAAA;IACzE,kEAA6C,CAAA;AAC/C,CAAC,EArBW,iBAAiB,iCAAjB,iBAAiB,QAqB5B"}
@@ -0,0 +1,5 @@
1
+ export declare enum LifecycleEventType {
2
+ REAUTHORIZATION_REQUIRED = "reauthorizationRequired",
3
+ SUBSCRIPTION_REMOVED = "subscriptionRemoved",
4
+ MISSED = "missed"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LifecycleEventType = void 0;
4
+ var LifecycleEventType;
5
+ (function (LifecycleEventType) {
6
+ LifecycleEventType["REAUTHORIZATION_REQUIRED"] = "reauthorizationRequired";
7
+ LifecycleEventType["SUBSCRIPTION_REMOVED"] = "subscriptionRemoved";
8
+ LifecycleEventType["MISSED"] = "missed";
9
+ })(LifecycleEventType || (exports.LifecycleEventType = LifecycleEventType = {}));
10
+ //# sourceMappingURL=lifecycle-event-types.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-event-types.enum.js","sourceRoot":"","sources":["../../src/enums/lifecycle-event-types.enum.ts"],"names":[],"mappings":";;;AAQA,IAAY,kBA2BX;AA3BD,WAAY,kBAAkB;IAQ5B,0EAAoD,CAAA;IAUpD,kEAA4C,CAAA;IAQ5C,uCAAiB,CAAA;AACnB,CAAC,EA3BW,kBAAkB,kCAAlB,kBAAkB,QA2B7B"}
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.CalendarModule = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const delta_sync_service_1 = require("../shared/delta-sync.service");
12
+ const lifecycle_event_handler_service_1 = require("./lifecycle-event-handler.service");
12
13
  let CalendarModule = class CalendarModule {
13
14
  };
14
15
  exports.CalendarModule = CalendarModule;
@@ -16,9 +17,11 @@ exports.CalendarModule = CalendarModule = __decorate([
16
17
  (0, common_1.Module)({
17
18
  providers: [
18
19
  delta_sync_service_1.DeltaSyncService,
20
+ lifecycle_event_handler_service_1.LifecycleEventHandlerService,
19
21
  ],
20
22
  exports: [
21
23
  delta_sync_service_1.DeltaSyncService,
24
+ lifecycle_event_handler_service_1.LifecycleEventHandlerService,
22
25
  ],
23
26
  })
24
27
  ], CalendarModule);
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.module.js","sourceRoot":"","sources":["../../../src/services/calendar/calendar.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qEAAgE;AAUzD,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAR1B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,qCAAgB;SACjB;QACD,OAAO,EAAE;YACP,qCAAgB;SACjB;KACF,CAAC;GACW,cAAc,CAAG"}
1
+ {"version":3,"file":"calendar.module.js","sourceRoot":"","sources":["../../../src/services/calendar/calendar.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qEAAgE;AAChE,uFAAiF;AAY1E,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAV1B,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,qCAAgB;YAChB,8DAA4B;SAC7B;QACD,OAAO,EAAE;YACP,qCAAgB;YAChB,8DAA4B;SAC7B;KACF,CAAC;GACW,cAAc,CAAG"}
@@ -0,0 +1,18 @@
1
+ import { EventEmitter2 } from '@nestjs/event-emitter';
2
+ import { OutlookWebhookSubscriptionRepository } from '../../repositories/outlook-webhook-subscription.repository';
3
+ import { CalendarService } from './calendar.service';
4
+ import { OutlookWebhookNotificationItemDto } from '../../dto/outlook-webhook-notification.dto';
5
+ export declare class LifecycleEventHandlerService {
6
+ private readonly calendarService;
7
+ private readonly subscriptionRepository;
8
+ private readonly eventEmitter;
9
+ private readonly logger;
10
+ constructor(calendarService: CalendarService, subscriptionRepository: OutlookWebhookSubscriptionRepository, eventEmitter: EventEmitter2);
11
+ handleLifecycleEvent(notificationItem: OutlookWebhookNotificationItemDto): Promise<{
12
+ success: boolean;
13
+ message: string;
14
+ }>;
15
+ private handleReauthorizationRequired;
16
+ private handleSubscriptionRemoved;
17
+ private handleMissedNotifications;
18
+ }
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var LifecycleEventHandlerService_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.LifecycleEventHandlerService = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ const event_emitter_1 = require("@nestjs/event-emitter");
19
+ const lifecycle_event_types_enum_1 = require("../../enums/lifecycle-event-types.enum");
20
+ const event_types_enum_1 = require("../../enums/event-types.enum");
21
+ const outlook_webhook_subscription_repository_1 = require("../../repositories/outlook-webhook-subscription.repository");
22
+ const calendar_service_1 = require("./calendar.service");
23
+ let LifecycleEventHandlerService = LifecycleEventHandlerService_1 = class LifecycleEventHandlerService {
24
+ constructor(calendarService, subscriptionRepository, eventEmitter) {
25
+ this.calendarService = calendarService;
26
+ this.subscriptionRepository = subscriptionRepository;
27
+ this.eventEmitter = eventEmitter;
28
+ this.logger = new common_1.Logger(LifecycleEventHandlerService_1.name);
29
+ }
30
+ async handleLifecycleEvent(notificationItem) {
31
+ const { lifecycleEvent, subscriptionId, tenantId } = notificationItem;
32
+ if (!lifecycleEvent) {
33
+ return {
34
+ success: false,
35
+ message: 'Missing lifecycleEvent field',
36
+ };
37
+ }
38
+ if (!subscriptionId) {
39
+ this.logger.warn('Lifecycle event received without subscriptionId');
40
+ return {
41
+ success: false,
42
+ message: 'Missing subscriptionId field',
43
+ };
44
+ }
45
+ this.logger.log(`Handling lifecycle event: ${lifecycleEvent} for subscription ${subscriptionId}`);
46
+ try {
47
+ switch (lifecycleEvent) {
48
+ case lifecycle_event_types_enum_1.LifecycleEventType.REAUTHORIZATION_REQUIRED:
49
+ return await this.handleReauthorizationRequired(subscriptionId, tenantId);
50
+ case lifecycle_event_types_enum_1.LifecycleEventType.SUBSCRIPTION_REMOVED:
51
+ return await this.handleSubscriptionRemoved(subscriptionId, tenantId);
52
+ case lifecycle_event_types_enum_1.LifecycleEventType.MISSED:
53
+ return await this.handleMissedNotifications(subscriptionId, tenantId);
54
+ default:
55
+ this.logger.warn(`Unknown lifecycle event type: ${lifecycleEvent}`);
56
+ return {
57
+ success: false,
58
+ message: `Unknown lifecycle event type: ${lifecycleEvent}`,
59
+ };
60
+ }
61
+ }
62
+ catch (error) {
63
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
64
+ this.logger.error(`Error handling lifecycle event ${lifecycleEvent}: ${errorMessage}`);
65
+ return {
66
+ success: false,
67
+ message: errorMessage,
68
+ };
69
+ }
70
+ }
71
+ async handleReauthorizationRequired(subscriptionId, tenantId) {
72
+ this.logger.log(`[REAUTHORIZATION_REQUIRED] Subscription ${subscriptionId} requires reauthorization`);
73
+ try {
74
+ const subscription = await this.subscriptionRepository.findBySubscriptionId(subscriptionId);
75
+ if (!subscription) {
76
+ this.logger.warn(`[REAUTHORIZATION_REQUIRED] Subscription ${subscriptionId} not found in database`);
77
+ return {
78
+ success: false,
79
+ message: 'Subscription not found',
80
+ };
81
+ }
82
+ this.logger.log(`[REAUTHORIZATION_REQUIRED] Attempting to renew subscription ${subscriptionId}`);
83
+ const renewedSubscription = await this.calendarService.renewWebhookSubscriptionByUserId(subscriptionId, subscription.userId);
84
+ const expirationDate = renewedSubscription.expirationDateTime
85
+ ? new Date(renewedSubscription.expirationDateTime).toISOString()
86
+ : 'unknown';
87
+ this.logger.log(`[REAUTHORIZATION_REQUIRED] Successfully renewed subscription ${subscriptionId}. New expiration: ${expirationDate}`);
88
+ this.eventEmitter.emit(event_types_enum_1.OutlookEventTypes.LIFECYCLE_REAUTHORIZATION_REQUIRED, {
89
+ subscriptionId,
90
+ tenantId,
91
+ userId: subscription.userId,
92
+ renewalSuccessful: true,
93
+ });
94
+ return {
95
+ success: true,
96
+ message: 'Subscription renewed successfully',
97
+ };
98
+ }
99
+ catch (error) {
100
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
101
+ this.logger.error(`[REAUTHORIZATION_REQUIRED] Failed to renew subscription ${subscriptionId}: ${errorMessage}`);
102
+ this.eventEmitter.emit(event_types_enum_1.OutlookEventTypes.LIFECYCLE_REAUTHORIZATION_REQUIRED, {
103
+ subscriptionId,
104
+ tenantId,
105
+ renewalSuccessful: false,
106
+ error: errorMessage,
107
+ });
108
+ return {
109
+ success: false,
110
+ message: `Failed to renew subscription: ${errorMessage}`,
111
+ };
112
+ }
113
+ }
114
+ async handleSubscriptionRemoved(subscriptionId, tenantId) {
115
+ this.logger.warn(`[SUBSCRIPTION_REMOVED] Subscription ${subscriptionId} has been removed by Microsoft Graph`);
116
+ try {
117
+ const subscription = await this.subscriptionRepository.findBySubscriptionId(subscriptionId);
118
+ if (!subscription) {
119
+ this.logger.warn(`[SUBSCRIPTION_REMOVED] Subscription ${subscriptionId} not found in database`);
120
+ return {
121
+ success: true,
122
+ message: 'Subscription not found (already removed)',
123
+ };
124
+ }
125
+ await this.subscriptionRepository.deactivateSubscription(subscriptionId);
126
+ this.logger.log(`[SUBSCRIPTION_REMOVED] Deactivated subscription ${subscriptionId} in database`);
127
+ this.eventEmitter.emit(event_types_enum_1.OutlookEventTypes.LIFECYCLE_SUBSCRIPTION_REMOVED, {
128
+ subscriptionId,
129
+ tenantId,
130
+ userId: subscription.userId,
131
+ resource: subscription.resource,
132
+ });
133
+ return {
134
+ success: true,
135
+ message: 'Subscription marked as inactive',
136
+ };
137
+ }
138
+ catch (error) {
139
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
140
+ this.logger.error(`[SUBSCRIPTION_REMOVED] Error handling removed subscription ${subscriptionId}: ${errorMessage}`);
141
+ return {
142
+ success: false,
143
+ message: errorMessage,
144
+ };
145
+ }
146
+ }
147
+ async handleMissedNotifications(subscriptionId, tenantId) {
148
+ this.logger.warn(`[MISSED] Notifications were missed for subscription ${subscriptionId}. Triggering delta sync.`);
149
+ try {
150
+ const subscription = await this.subscriptionRepository.findBySubscriptionId(subscriptionId);
151
+ if (!subscription) {
152
+ this.logger.warn(`[MISSED] Subscription ${subscriptionId} not found in database`);
153
+ return {
154
+ success: false,
155
+ message: 'Subscription not found',
156
+ };
157
+ }
158
+ this.logger.log(`[MISSED] Starting delta sync for user ${subscription.userId} to recover missed changes`);
159
+ const changes = await this.calendarService.fetchAndSortChanges(String(subscription.userId), false);
160
+ const changesCount = changes.length;
161
+ this.logger.log(`[MISSED] Delta sync completed. Found ${changesCount} changes for subscription ${subscriptionId}`);
162
+ this.eventEmitter.emit(event_types_enum_1.OutlookEventTypes.LIFECYCLE_MISSED, {
163
+ subscriptionId,
164
+ tenantId,
165
+ userId: subscription.userId,
166
+ changesFound: changesCount,
167
+ });
168
+ return {
169
+ success: true,
170
+ message: `Delta sync completed. Found ${changesCount} changes.`,
171
+ };
172
+ }
173
+ catch (error) {
174
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
175
+ this.logger.error(`[MISSED] Error during delta sync for subscription ${subscriptionId}: ${errorMessage}`);
176
+ this.eventEmitter.emit(event_types_enum_1.OutlookEventTypes.LIFECYCLE_MISSED, {
177
+ subscriptionId,
178
+ tenantId,
179
+ syncSuccessful: false,
180
+ error: errorMessage,
181
+ });
182
+ return {
183
+ success: false,
184
+ message: `Delta sync failed: ${errorMessage}`,
185
+ };
186
+ }
187
+ }
188
+ };
189
+ exports.LifecycleEventHandlerService = LifecycleEventHandlerService;
190
+ exports.LifecycleEventHandlerService = LifecycleEventHandlerService = LifecycleEventHandlerService_1 = __decorate([
191
+ (0, common_1.Injectable)(),
192
+ __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => calendar_service_1.CalendarService))),
193
+ __metadata("design:paramtypes", [calendar_service_1.CalendarService,
194
+ outlook_webhook_subscription_repository_1.OutlookWebhookSubscriptionRepository,
195
+ event_emitter_1.EventEmitter2])
196
+ ], LifecycleEventHandlerService);
197
+ //# sourceMappingURL=lifecycle-event-handler.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-event-handler.service.js","sourceRoot":"","sources":["../../../src/services/calendar/lifecycle-event-handler.service.ts"],"names":[],"mappings":"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"}