@checkfirst/nestjs-outlook 8.0.2 → 9.0.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.
Files changed (49) hide show
  1. package/dist/constants.d.ts +2 -0
  2. package/dist/constants.js +3 -1
  3. package/dist/constants.js.map +1 -1
  4. package/dist/controllers/calendar.controller.js +3 -0
  5. package/dist/controllers/calendar.controller.js.map +1 -1
  6. package/dist/controllers/email.controller.js +2 -0
  7. package/dist/controllers/email.controller.js.map +1 -1
  8. package/dist/guards/webhook-client-state.guard.d.ts +8 -0
  9. package/dist/guards/webhook-client-state.guard.js +75 -0
  10. package/dist/guards/webhook-client-state.guard.js.map +1 -0
  11. package/dist/index.d.ts +3 -0
  12. package/dist/index.js +3 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/interfaces/config/outlook-config.interface.d.ts +10 -0
  15. package/dist/interfaces/state/redis-like.interface.d.ts +13 -0
  16. package/dist/interfaces/state/redis-like.interface.js +3 -0
  17. package/dist/interfaces/state/redis-like.interface.js.map +1 -0
  18. package/dist/microsoft-outlook.module.js +66 -0
  19. package/dist/microsoft-outlook.module.js.map +1 -1
  20. package/dist/repositories/outlook-webhook-subscription.repository.d.ts +1 -0
  21. package/dist/repositories/outlook-webhook-subscription.repository.js +5 -0
  22. package/dist/repositories/outlook-webhook-subscription.repository.js.map +1 -1
  23. package/dist/services/auth/microsoft-auth.service.d.ts +5 -1
  24. package/dist/services/auth/microsoft-auth.service.js +13 -4
  25. package/dist/services/auth/microsoft-auth.service.js.map +1 -1
  26. package/dist/services/calendar/calendar.service.d.ts +1 -1
  27. package/dist/services/calendar/calendar.service.js +4 -4
  28. package/dist/services/calendar/calendar.service.js.map +1 -1
  29. package/dist/services/email/email.service.js +2 -1
  30. package/dist/services/email/email.service.js.map +1 -1
  31. package/dist/services/shared/delta-sync.service.d.ts +6 -1
  32. package/dist/services/shared/delta-sync.service.js +121 -110
  33. package/dist/services/shared/delta-sync.service.js.map +1 -1
  34. package/dist/services/shared/graph-rate-limiter.service.d.ts +15 -17
  35. package/dist/services/shared/graph-rate-limiter.service.js +104 -148
  36. package/dist/services/shared/graph-rate-limiter.service.js.map +1 -1
  37. package/dist/services/shared/outlook-lock.store.d.ts +37 -0
  38. package/dist/services/shared/outlook-lock.store.js +134 -0
  39. package/dist/services/shared/outlook-lock.store.js.map +1 -0
  40. package/dist/services/shared/outlook-rate-limit.store.d.ts +59 -0
  41. package/dist/services/shared/outlook-rate-limit.store.js +235 -0
  42. package/dist/services/shared/outlook-rate-limit.store.js.map +1 -0
  43. package/dist/services/subscription/microsoft-subscription.service.d.ts +12 -0
  44. package/dist/services/subscription/microsoft-subscription.service.js +85 -0
  45. package/dist/services/subscription/microsoft-subscription.service.js.map +1 -1
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/dist/utils/outlook-api-executor.util.js +3 -3
  48. package/dist/utils/outlook-api-executor.util.js.map +1 -1
  49. package/package.json +3 -1
@@ -1,4 +1,6 @@
1
1
  export declare const MICROSOFT_CONFIG = "MICROSOFT_CONFIG";
2
+ export declare const OUTLOOK_LOCK_STORE = "OUTLOOK_LOCK_STORE";
3
+ export declare const OUTLOOK_RATE_LIMIT_STORE = "OUTLOOK_RATE_LIMIT_STORE";
2
4
  export declare const GRAPH_ERROR_CODES: {
3
5
  readonly MAILBOX_NOT_ENABLED: "MailboxNotEnabledForRESTAPI";
4
6
  };
package/dist/constants.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GRAPH_ERROR_CODES = exports.MICROSOFT_CONFIG = void 0;
3
+ exports.GRAPH_ERROR_CODES = exports.OUTLOOK_RATE_LIMIT_STORE = exports.OUTLOOK_LOCK_STORE = exports.MICROSOFT_CONFIG = void 0;
4
4
  exports.MICROSOFT_CONFIG = 'MICROSOFT_CONFIG';
5
+ exports.OUTLOOK_LOCK_STORE = 'OUTLOOK_LOCK_STORE';
6
+ exports.OUTLOOK_RATE_LIMIT_STORE = 'OUTLOOK_RATE_LIMIT_STORE';
5
7
  exports.GRAPH_ERROR_CODES = {
6
8
  MAILBOX_NOT_ENABLED: 'MailboxNotEnabledForRESTAPI',
7
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AACa,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAGtC,QAAA,iBAAiB,GAAG;IAE/B,mBAAmB,EAAE,6BAA6B;CAC1C,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AACa,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAGtC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAGtD,QAAA,iBAAiB,GAAG;IAE/B,mBAAmB,EAAE,6BAA6B;CAC1C,CAAC"}
@@ -21,6 +21,7 @@ const calendar_service_1 = require("../services/calendar/calendar.service");
21
21
  const outlook_webhook_notification_dto_1 = require("../dto/outlook-webhook-notification.dto");
22
22
  const webhook_notification_validator_1 = require("../utils/webhook-notification.validator");
23
23
  const lifecycle_event_handler_service_1 = require("../services/calendar/lifecycle-event-handler.service");
24
+ const webhook_client_state_guard_1 = require("../guards/webhook-client-state.guard");
24
25
  let CalendarController = CalendarController_1 = class CalendarController {
25
26
  constructor(calendarService, lifecycleEventHandler) {
26
27
  this.calendarService = calendarService;
@@ -220,6 +221,7 @@ let CalendarController = CalendarController_1 = class CalendarController {
220
221
  exports.CalendarController = CalendarController;
221
222
  __decorate([
222
223
  (0, common_1.Post)('webhook/notification'),
224
+ (0, common_1.UseGuards)(webhook_client_state_guard_1.WebhookClientStateGuard),
223
225
  (0, common_1.HttpCode)(200),
224
226
  (0, swagger_1.ApiResponse)({
225
227
  status: 200,
@@ -253,6 +255,7 @@ __decorate([
253
255
  ], CalendarController.prototype, "handleCalendarWebhookNotification", null);
254
256
  __decorate([
255
257
  (0, common_1.Post)('webhook'),
258
+ (0, common_1.UseGuards)(webhook_client_state_guard_1.WebhookClientStateGuard),
256
259
  (0, common_1.HttpCode)(200),
257
260
  (0, swagger_1.ApiResponse)({
258
261
  status: 200,
@@ -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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"}
@@ -19,6 +19,7 @@ const swagger_1 = require("@nestjs/swagger");
19
19
  const email_service_1 = require("../services/email/email.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 webhook_client_state_guard_1 = require("../guards/webhook-client-state.guard");
22
23
  let EmailController = EmailController_1 = class EmailController {
23
24
  constructor(emailService) {
24
25
  this.emailService = emailService;
@@ -125,6 +126,7 @@ let EmailController = EmailController_1 = class EmailController {
125
126
  exports.EmailController = EmailController;
126
127
  __decorate([
127
128
  (0, common_1.Post)('webhook'),
129
+ (0, common_1.UseGuards)(webhook_client_state_guard_1.WebhookClientStateGuard),
128
130
  (0, common_1.HttpCode)(200),
129
131
  (0, swagger_1.ApiResponse)({
130
132
  status: 200,
@@ -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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"}
@@ -0,0 +1,8 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { OutlookWebhookSubscriptionRepository } from '../repositories/outlook-webhook-subscription.repository';
3
+ export declare class WebhookClientStateGuard implements CanActivate {
4
+ private readonly webhookSubscriptionRepository;
5
+ private readonly logger;
6
+ constructor(webhookSubscriptionRepository: OutlookWebhookSubscriptionRepository);
7
+ canActivate(context: ExecutionContext): Promise<boolean>;
8
+ }
@@ -0,0 +1,75 @@
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 WebhookClientStateGuard_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.WebhookClientStateGuard = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const outlook_webhook_subscription_repository_1 = require("../repositories/outlook-webhook-subscription.repository");
16
+ let WebhookClientStateGuard = WebhookClientStateGuard_1 = class WebhookClientStateGuard {
17
+ constructor(webhookSubscriptionRepository) {
18
+ this.webhookSubscriptionRepository = webhookSubscriptionRepository;
19
+ this.logger = new common_1.Logger(WebhookClientStateGuard_1.name);
20
+ }
21
+ async canActivate(context) {
22
+ const request = context.switchToHttp().getRequest();
23
+ const validationToken = request.query.validationToken;
24
+ if (validationToken) {
25
+ this.logger.debug('Allowing validation request through');
26
+ return true;
27
+ }
28
+ const body = request.body;
29
+ if (!(body === null || body === void 0 ? void 0 : body.value) || !Array.isArray(body.value) || body.value.length === 0) {
30
+ this.logger.debug('No notification items to validate');
31
+ return true;
32
+ }
33
+ const validationResults = await Promise.all(body.value.map(async (item, index) => {
34
+ var _a;
35
+ const { subscriptionId, clientState } = item;
36
+ if (!subscriptionId) {
37
+ this.logger.warn(`[SECURITY] Notification item ${index} missing subscriptionId`);
38
+ return { index, valid: false, reason: 'missing_subscription_id' };
39
+ }
40
+ const subscription = await this.webhookSubscriptionRepository.findBySubscriptionId(subscriptionId);
41
+ if (!subscription) {
42
+ this.logger.warn(`[SECURITY] Unknown subscription ID: ${subscriptionId}. ` +
43
+ `Possible replay attack or stale subscription.`);
44
+ return { index, valid: false, reason: 'unknown_subscription' };
45
+ }
46
+ if (subscription.clientState && clientState !== subscription.clientState) {
47
+ this.logger.warn(`[SECURITY] ClientState mismatch for subscription ${subscriptionId}. ` +
48
+ `Expected prefix: user_${subscription.userId}_*, received: ${(_a = clientState === null || clientState === void 0 ? void 0 : clientState.substring(0, 20)) !== null && _a !== void 0 ? _a : 'null'}...`);
49
+ return { index, valid: false, reason: 'client_state_mismatch' };
50
+ }
51
+ return { index, valid: true };
52
+ }));
53
+ const invalidItems = validationResults.filter((r) => !r.valid);
54
+ if (invalidItems.length > 0) {
55
+ this.logger.warn(`[SECURITY] Rejecting webhook: ${invalidItems.length}/${body.value.length} items failed validation. ` +
56
+ `Reasons: ${invalidItems.map((i) => `item[${i.index}]:${i.reason}`).join(', ')}`);
57
+ request.webhookValidation = {
58
+ valid: false,
59
+ invalidItems,
60
+ };
61
+ return true;
62
+ }
63
+ request.webhookValidation = {
64
+ valid: true,
65
+ };
66
+ this.logger.debug(`ClientState validated for ${body.value.length} notification item(s)`);
67
+ return true;
68
+ }
69
+ };
70
+ exports.WebhookClientStateGuard = WebhookClientStateGuard;
71
+ exports.WebhookClientStateGuard = WebhookClientStateGuard = WebhookClientStateGuard_1 = __decorate([
72
+ (0, common_1.Injectable)(),
73
+ __metadata("design:paramtypes", [outlook_webhook_subscription_repository_1.OutlookWebhookSubscriptionRepository])
74
+ ], WebhookClientStateGuard);
75
+ //# sourceMappingURL=webhook-client-state.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-client-state.guard.js","sourceRoot":"","sources":["../../src/guards/webhook-client-state.guard.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,10 +5,13 @@ export * from './services/email/email.service';
5
5
  export * from './services/shared/user-id-converter.service';
6
6
  export * from './services/subscription/microsoft-subscription.service';
7
7
  export * from './services/shared/graph-rate-limiter.service';
8
+ export * from './services/shared/outlook-lock.store';
9
+ export * from './services/shared/outlook-rate-limit.store';
8
10
  export * from './microsoft-outlook.module';
9
11
  export * from './interfaces/outlook/token-response.interface';
10
12
  export * from './interfaces/config/outlook-config.interface';
11
13
  export * from './interfaces/recurrence.interfaces';
14
+ export * from './interfaces/state/redis-like.interface';
12
15
  export * from './enums/permission-scope.enum';
13
16
  export * from './enums/event-types.enum';
14
17
  export * from './enums/show-as-type.enum';
package/dist/index.js CHANGED
@@ -21,10 +21,13 @@ __exportStar(require("./services/email/email.service"), exports);
21
21
  __exportStar(require("./services/shared/user-id-converter.service"), exports);
22
22
  __exportStar(require("./services/subscription/microsoft-subscription.service"), exports);
23
23
  __exportStar(require("./services/shared/graph-rate-limiter.service"), exports);
24
+ __exportStar(require("./services/shared/outlook-lock.store"), exports);
25
+ __exportStar(require("./services/shared/outlook-rate-limit.store"), exports);
24
26
  __exportStar(require("./microsoft-outlook.module"), exports);
25
27
  __exportStar(require("./interfaces/outlook/token-response.interface"), exports);
26
28
  __exportStar(require("./interfaces/config/outlook-config.interface"), exports);
27
29
  __exportStar(require("./interfaces/recurrence.interfaces"), exports);
30
+ __exportStar(require("./interfaces/state/redis-like.interface"), exports);
28
31
  __exportStar(require("./enums/permission-scope.enum"), exports);
29
32
  __exportStar(require("./enums/event-types.enum"), exports);
30
33
  __exportStar(require("./enums/show-as-type.enum"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,yEAAuD;AACvD,uEAAqD;AACrD,yEAAuD;AACvD,iEAA+C;AAC/C,8EAA4D;AAC5D,yFAAuE;AACvE,+EAA6D;AAG7D,6DAA2C;AAG3C,gFAA8D;AAC9D,+EAA6D;AAC7D,qEAAmD;AAGnD,gEAA8C;AAC9C,2DAAyC;AACzC,4DAA0C;AAC1C,qEAAmD;AAGnD,8CAA4B;AAG5B,kEAAgD;AAChD,iEAA+C;AAC/C,oEAAkD;AAGlD,oEAAkD;AAClD,0EAAwD;AACxD,iEAA+C;AAG/C,yEAAuD;AAGvD,iFAA+D;AAC/D,mEAAiD;AAGjD,yFAAuE;AAGvE,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,yEAAuD;AACvD,uEAAqD;AACrD,yEAAuD;AACvD,iEAA+C;AAC/C,8EAA4D;AAC5D,yFAAuE;AACvE,+EAA6D;AAC7D,uEAAqD;AACrD,6EAA2D;AAG3D,6DAA2C;AAG3C,gFAA8D;AAC9D,+EAA6D;AAC7D,qEAAmD;AACnD,0EAAwD;AAGxD,gEAA8C;AAC9C,2DAAyC;AACzC,4DAA0C;AAC1C,qEAAmD;AAGnD,8CAA4B;AAG5B,kEAAgD;AAChD,iEAA+C;AAC/C,oEAAkD;AAGlD,oEAAkD;AAClD,0EAAwD;AACxD,iEAA+C;AAG/C,yEAAuD;AAGvD,iFAA+D;AAC/D,mEAAiD;AAGjD,yFAAuE;AAGvE,0CAAwB"}
@@ -1,3 +1,11 @@
1
+ import { RedisLike } from "../state/redis-like.interface";
2
+ export interface MicrosoftOutlookStateConfig {
3
+ redis?: {
4
+ client: RedisLike;
5
+ keyPrefix?: string;
6
+ required?: boolean;
7
+ };
8
+ }
1
9
  export interface MicrosoftOutlookConfig {
2
10
  clientId: string;
3
11
  clientSecret: string;
@@ -5,4 +13,6 @@ export interface MicrosoftOutlookConfig {
5
13
  backendBaseUrl: string;
6
14
  basePath?: string;
7
15
  calendarWebhookPath?: string;
16
+ state?: MicrosoftOutlookStateConfig;
17
+ revocationEmitFlagTtlMs?: number;
8
18
  }
@@ -0,0 +1,13 @@
1
+ export interface RedisLike {
2
+ ping(...args: any[]): Promise<any>;
3
+ set(...args: any[]): Promise<any>;
4
+ get(...args: any[]): Promise<any>;
5
+ del(...args: any[]): Promise<any>;
6
+ pexpire(...args: any[]): Promise<any>;
7
+ eval(...args: any[]): Promise<any>;
8
+ zadd(...args: any[]): Promise<any>;
9
+ zremrangebyscore(...args: any[]): Promise<any>;
10
+ zcard(...args: any[]): Promise<any>;
11
+ hset(...args: any[]): Promise<any>;
12
+ hgetall(...args: any[]): Promise<any>;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=redis-like.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis-like.interface.js","sourceRoot":"","sources":["../../../src/interfaces/state/redis-like.interface.ts"],"names":[],"mappings":""}
@@ -32,9 +32,61 @@ const lifecycle_event_handler_service_1 = require("./services/calendar/lifecycle
32
32
  const recurrence_service_1 = require("./services/calendar/recurrence.service");
33
33
  const microsoft_subscription_service_1 = require("./services/subscription/microsoft-subscription.service");
34
34
  const graph_rate_limiter_service_1 = require("./services/shared/graph-rate-limiter.service");
35
+ const outlook_lock_store_1 = require("./services/shared/outlook-lock.store");
36
+ const outlook_rate_limit_store_1 = require("./services/shared/outlook-rate-limit.store");
37
+ const webhook_client_state_guard_1 = require("./guards/webhook-client-state.guard");
35
38
  _a = new common_1.ConfigurableModuleBuilder()
36
39
  .setClassMethodName("forRoot")
37
40
  .build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN;
41
+ const stateLogger = new common_1.Logger("MicrosoftOutlookStateBackend");
42
+ async function buildLockStore(options) {
43
+ var _a, _b;
44
+ const redisCfg = (_a = options.state) === null || _a === void 0 ? void 0 : _a.redis;
45
+ if (!(redisCfg === null || redisCfg === void 0 ? void 0 : redisCfg.client)) {
46
+ stateLogger.log("OutlookLockStore backend: in-memory");
47
+ return new outlook_lock_store_1.InMemoryOutlookLockStore();
48
+ }
49
+ const prefix = (_b = redisCfg.keyPrefix) !== null && _b !== void 0 ? _b : "outlook:";
50
+ try {
51
+ await redisCfg.client.ping();
52
+ stateLogger.log(`OutlookLockStore backend: redis (keyPrefix="${prefix}")`);
53
+ return new outlook_lock_store_1.RedisOutlookLockStore(redisCfg.client, prefix);
54
+ }
55
+ catch (err) {
56
+ const msg = err instanceof Error ? err.message : String(err);
57
+ if (redisCfg.required) {
58
+ stateLogger.error(`Redis PING failed and state.redis.required=true. Crashing module init: ${msg}`);
59
+ throw new Error(`MicrosoftOutlookModule: Redis state backend unreachable (required=true): ${msg}`);
60
+ }
61
+ stateLogger.error(`Redis PING failed (required=false), falling back to in-memory OutlookLockStore: ${msg}. ` +
62
+ `metric=outlook.state.backend.inmemory_fallback`);
63
+ return new outlook_lock_store_1.InMemoryOutlookLockStore();
64
+ }
65
+ }
66
+ async function buildRateLimitStore(options) {
67
+ var _a, _b;
68
+ const redisCfg = (_a = options.state) === null || _a === void 0 ? void 0 : _a.redis;
69
+ if (!(redisCfg === null || redisCfg === void 0 ? void 0 : redisCfg.client)) {
70
+ stateLogger.log("OutlookRateLimitStore backend: in-memory");
71
+ return new outlook_rate_limit_store_1.InMemoryOutlookRateLimitStore();
72
+ }
73
+ const prefix = (_b = redisCfg.keyPrefix) !== null && _b !== void 0 ? _b : "outlook:";
74
+ try {
75
+ await redisCfg.client.ping();
76
+ stateLogger.log(`OutlookRateLimitStore backend: redis (keyPrefix="${prefix}")`);
77
+ return new outlook_rate_limit_store_1.RedisOutlookRateLimitStore(redisCfg.client, prefix);
78
+ }
79
+ catch (err) {
80
+ const msg = err instanceof Error ? err.message : String(err);
81
+ if (redisCfg.required) {
82
+ stateLogger.error(`Redis PING failed and state.redis.required=true. Crashing module init: ${msg}`);
83
+ throw new Error(`MicrosoftOutlookModule: Redis state backend unreachable (required=true): ${msg}`);
84
+ }
85
+ stateLogger.error(`Redis PING failed (required=false), falling back to in-memory OutlookRateLimitStore: ${msg}. ` +
86
+ `metric=outlook.state.backend.inmemory_fallback`);
87
+ return new outlook_rate_limit_store_1.InMemoryOutlookRateLimitStore();
88
+ }
89
+ }
38
90
  let MicrosoftOutlookModule = class MicrosoftOutlookModule extends exports.ConfigurableModuleClass {
39
91
  };
40
92
  exports.MicrosoftOutlookModule = MicrosoftOutlookModule;
@@ -57,6 +109,16 @@ exports.MicrosoftOutlookModule = MicrosoftOutlookModule = __decorate([
57
109
  useFactory: (options) => options,
58
110
  inject: [exports.MODULE_OPTIONS_TOKEN],
59
111
  },
112
+ {
113
+ provide: constants_1.OUTLOOK_LOCK_STORE,
114
+ useFactory: (options) => buildLockStore(options),
115
+ inject: [exports.MODULE_OPTIONS_TOKEN],
116
+ },
117
+ {
118
+ provide: constants_1.OUTLOOK_RATE_LIMIT_STORE,
119
+ useFactory: (options) => buildRateLimitStore(options),
120
+ inject: [exports.MODULE_OPTIONS_TOKEN],
121
+ },
60
122
  outlook_webhook_subscription_repository_1.OutlookWebhookSubscriptionRepository,
61
123
  microsoft_csrf_token_repository_1.MicrosoftCsrfTokenRepository,
62
124
  calendar_service_1.CalendarService,
@@ -69,6 +131,7 @@ exports.MicrosoftOutlookModule = MicrosoftOutlookModule = __decorate([
69
131
  recurrence_service_1.RecurrenceService,
70
132
  microsoft_subscription_service_1.MicrosoftSubscriptionService,
71
133
  graph_rate_limiter_service_1.GraphRateLimiterService,
134
+ webhook_client_state_guard_1.WebhookClientStateGuard,
72
135
  ],
73
136
  exports: [
74
137
  calendar_service_1.CalendarService,
@@ -80,6 +143,9 @@ exports.MicrosoftOutlookModule = MicrosoftOutlookModule = __decorate([
80
143
  user_id_converter_service_1.UserIdConverterService,
81
144
  microsoft_subscription_service_1.MicrosoftSubscriptionService,
82
145
  graph_rate_limiter_service_1.GraphRateLimiterService,
146
+ constants_1.OUTLOOK_LOCK_STORE,
147
+ constants_1.OUTLOOK_RATE_LIMIT_STORE,
148
+ webhook_client_state_guard_1.WebhookClientStateGuard,
83
149
  ],
84
150
  })
85
151
  ], MicrosoftOutlookModule);
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-outlook.module.js","sourceRoot":"","sources":["../src/microsoft-outlook.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAmE;AACnE,6CAAgD;AAChD,+CAAkD;AAClD,yDAA2D;AAC3D,mFAA8E;AAC9E,uFAAkF;AAClF,2EAAuE;AACvE,qEAAiE;AACjE,wGAA4F;AAC5F,oHAA8G;AAC9G,2CAA+C;AAE/C,oEAAkE;AAClE,oGAA8F;AAC9F,2EAAuE;AACvE,kEAA8D;AAC9D,4EAAiE;AACjE,oEAAgE;AAChE,gGAA0F;AAC1F,6EAAwE;AACxE,2FAAqF;AACrF,yGAAmG;AACnG,+EAA2E;AAC3E,2GAAsG;AACtG,6FAAuF;AAE1E,KACX,IAAI,kCAAyB,EAA0B;KACpD,kBAAkB,CAAC,SAAS,CAAC;KAC7B,KAAK,EAAE,EAHG,+BAAuB,+BAAE,4BAAoB,2BAG/C;AAiDN,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,+BAAuB;CAAG,CAAA;AAAzD,wDAAsB;iCAAtB,sBAAsB;IA3ClC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc,CAAC,OAAO,EAAE;YACxB,uBAAa,CAAC,UAAU,CAAC;gBACvB,gEAA0B;gBAC1B,sCAAkB;gBAClB,qCAAa;gBACb,oCAAgB;aACjB,CAAC;YACF,kCAAkB,CAAC,OAAO,EAAE;SAC7B;QACD,WAAW,EAAE,CAAC,mDAAuB,EAAE,wCAAkB,EAAE,kCAAe,CAAC;QAC3E,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,4BAAgB;gBACzB,UAAU,EAAE,CAAC,OAA+B,EAAE,EAAE,CAAC,OAAO;gBACxD,MAAM,EAAE,CAAC,4BAAoB,CAAC;aAC/B;YACD,8EAAoC;YACpC,8DAA4B;YAC5B,kCAAe;YACf,4BAAY;YACZ,6CAAoB;YACpB,0DAA0B;YAC1B,qCAAgB;YAChB,kDAAsB;YACtB,8DAA4B;YAC5B,sCAAiB;YACjB,6DAA4B;YAC5B,oDAAuB;SACxB;QACD,OAAO,EAAE;YACP,kCAAe;YACf,sCAAiB;YACjB,4BAAY;YACZ,6CAAoB;YACpB,0DAA0B;YAC1B,qCAAgB;YAChB,kDAAsB;YACtB,6DAA4B;YAC5B,oDAAuB;SACxB;KACF,CAAC;GACW,sBAAsB,CAAmC"}
1
+ {"version":3,"file":"microsoft-outlook.module.js","sourceRoot":"","sources":["../src/microsoft-outlook.module.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare class OutlookWebhookSubscriptionRepository {
13
13
  findActiveSubscriptions(excludeUserIds?: number[]): Promise<OutlookWebhookSubscription[]>;
14
14
  findActiveByUserIds(userIds: number[]): Promise<OutlookWebhookSubscription[]>;
15
15
  findActiveByUserId(userId: number): Promise<OutlookWebhookSubscription | null>;
16
+ findAllActiveByUserId(userId: number): Promise<OutlookWebhookSubscription[]>;
16
17
  findAllActiveByUserIdAndResource(userId: number, resource: string): Promise<OutlookWebhookSubscription[]>;
17
18
  updateLastNotificationAt(subscriptionId: string): Promise<void>;
18
19
  findStaleSubscriptions(staleThresholdHours: number): Promise<OutlookWebhookSubscription[]>;
@@ -115,6 +115,11 @@ let OutlookWebhookSubscriptionRepository = class OutlookWebhookSubscriptionRepos
115
115
  this.byUserId.set(userId, result);
116
116
  return result;
117
117
  }
118
+ async findAllActiveByUserId(userId) {
119
+ return this.repository.find({
120
+ where: { userId, isActive: true },
121
+ });
122
+ }
118
123
  async findAllActiveByUserIdAndResource(userId, resource) {
119
124
  return this.repository.find({
120
125
  where: { userId, resource, isActive: true },
@@ -1 +1 @@
1
- {"version":3,"file":"outlook-webhook-subscription.repository.js","sourceRoot":"","sources":["../../src/repositories/outlook-webhook-subscription.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outlook-webhook-subscription.repository.js","sourceRoot":"","sources":["../../src/repositories/outlook-webhook-subscription.repository.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { EventEmitter2 } from '@nestjs/event-emitter';
2
2
  import { TokenResponse } from '../../interfaces/outlook/token-response.interface';
3
3
  import { EmailService } from '../email/email.service';
4
4
  import { MicrosoftSubscriptionService } from '../subscription/microsoft-subscription.service';
5
+ import { OutlookLockStore } from '../shared/outlook-lock.store';
5
6
  import { MicrosoftOutlookConfig } from '../../interfaces/config/outlook-config.interface';
6
7
  import { MicrosoftCsrfTokenRepository } from '../../repositories/microsoft-csrf-token.repository';
7
8
  import { StateObject } from '../../interfaces/microsoft-auth/state-object.interface';
@@ -15,6 +16,7 @@ export declare class MicrosoftAuthService {
15
16
  private readonly microsoftConfig;
16
17
  private readonly csrfTokenRepository;
17
18
  private readonly microsoftUserRepository;
19
+ private readonly lockStore;
18
20
  private readonly logger;
19
21
  private readonly clientId;
20
22
  private readonly clientSecret;
@@ -24,9 +26,10 @@ export declare class MicrosoftAuthService {
24
26
  private readonly requiredScopes;
25
27
  private readonly defaultScopes;
26
28
  private readonly CSRF_TOKEN_EXPIRY;
29
+ private readonly DEFAULT_REVOCATION_EMIT_FLAG_TTL_MS;
27
30
  private subscriptionInProgress;
28
31
  private readonly microsoftUserCache;
29
- constructor(eventEmitter: EventEmitter2, emailService: EmailService, subscriptionService: MicrosoftSubscriptionService, microsoftConfig: MicrosoftOutlookConfig, csrfTokenRepository: MicrosoftCsrfTokenRepository, microsoftUserRepository: Repository<MicrosoftUser>);
32
+ constructor(eventEmitter: EventEmitter2, emailService: EmailService, subscriptionService: MicrosoftSubscriptionService, microsoftConfig: MicrosoftOutlookConfig, csrfTokenRepository: MicrosoftCsrfTokenRepository, microsoftUserRepository: Repository<MicrosoftUser>, lockStore: OutlookLockStore);
30
33
  private mapToMicrosoftScopes;
31
34
  private buildRedirectUri;
32
35
  cleanupExpiredTokens(): Promise<void>;
@@ -50,6 +53,7 @@ export declare class MicrosoftAuthService {
50
53
  private markSubscriptionFailed;
51
54
  private setupSubscriptions;
52
55
  refreshAccessToken(refreshToken: string, internalUserId: number): Promise<string>;
56
+ private revocationEmitFlagKey;
53
57
  private markUserAsCorrupted;
54
58
  revokeRefreshToken(refreshToken: string): Promise<void>;
55
59
  private hasCalendarSubscriptionPermission;
@@ -42,13 +42,14 @@ const CORRUPTED_TRIGGER_ERROR_CODES = new Set([
42
42
  'login_required',
43
43
  ]);
44
44
  let MicrosoftAuthService = MicrosoftAuthService_1 = class MicrosoftAuthService {
45
- constructor(eventEmitter, emailService, subscriptionService, microsoftConfig, csrfTokenRepository, microsoftUserRepository) {
45
+ constructor(eventEmitter, emailService, subscriptionService, microsoftConfig, csrfTokenRepository, microsoftUserRepository, lockStore) {
46
46
  this.eventEmitter = eventEmitter;
47
47
  this.emailService = emailService;
48
48
  this.subscriptionService = subscriptionService;
49
49
  this.microsoftConfig = microsoftConfig;
50
50
  this.csrfTokenRepository = csrfTokenRepository;
51
51
  this.microsoftUserRepository = microsoftUserRepository;
52
+ this.lockStore = lockStore;
52
53
  this.logger = new common_1.Logger(MicrosoftAuthService_1.name);
53
54
  this.tenantId = 'common';
54
55
  this.requiredScopes = ['offline_access', 'User.Read'];
@@ -60,6 +61,7 @@ let MicrosoftAuthService = MicrosoftAuthService_1 = class MicrosoftAuthService {
60
61
  permission_scope_enum_1.PermissionScope.EMAIL_WRITE,
61
62
  ];
62
63
  this.CSRF_TOKEN_EXPIRY = 30 * 60 * 1000;
64
+ this.DEFAULT_REVOCATION_EMIT_FLAG_TTL_MS = 7 * 24 * 60 * 60 * 1000;
63
65
  this.subscriptionInProgress = new Map();
64
66
  this.microsoftUserCache = new ttl_cache_util_1.TtlCache(30000);
65
67
  console.log('MicrosoftAuthService constructor - microsoftConfig:', {
@@ -199,6 +201,7 @@ let MicrosoftAuthService = MicrosoftAuthService_1 = class MicrosoftAuthService {
199
201
  user.status = microsoft_user_status_enum_1.MicrosoftUserStatus.ACTIVE;
200
202
  await this.microsoftUserRepository.save(user);
201
203
  this.invalidateUserCache(user);
204
+ await this.lockStore.clearLock(this.revocationEmitFlagKey(externalUserId));
202
205
  }
203
206
  async getMicrosoftUser(params) {
204
207
  const { internalUserId, externalUserId, includeInactive = false, cache = true } = params;
@@ -551,8 +554,11 @@ let MicrosoftAuthService = MicrosoftAuthService_1 = class MicrosoftAuthService {
551
554
  throw new Error('Failed to refresh access token from Microsoft');
552
555
  }
553
556
  }
557
+ revocationEmitFlagKey(externalUserId) {
558
+ return `revocation-emit:${externalUserId}`;
559
+ }
554
560
  async markUserAsCorrupted(user, reason) {
555
- const wasAlreadyCorrupted = user.status === microsoft_user_status_enum_1.MicrosoftUserStatus.CORRUPTED;
561
+ var _a;
556
562
  try {
557
563
  user.status = microsoft_user_status_enum_1.MicrosoftUserStatus.CORRUPTED;
558
564
  await this.microsoftUserRepository.save(user);
@@ -563,8 +569,10 @@ let MicrosoftAuthService = MicrosoftAuthService_1 = class MicrosoftAuthService {
563
569
  this.logger.error(`Failed to mark user ${String(user.id)} as CORRUPTED: ${dbErr instanceof Error ? dbErr.message : 'unknown'}`);
564
570
  return;
565
571
  }
566
- if (wasAlreadyCorrupted)
572
+ const emitToken = await this.lockStore.acquireLock(this.revocationEmitFlagKey(user.externalUserId), (_a = this.microsoftConfig.revocationEmitFlagTtlMs) !== null && _a !== void 0 ? _a : this.DEFAULT_REVOCATION_EMIT_FLAG_TTL_MS);
573
+ if (!emitToken) {
567
574
  return;
575
+ }
568
576
  this.eventEmitter.emit(event_types_enum_1.OutlookEventTypes.USER_REFRESH_TOKEN_INVALID, user.externalUserId, {
569
577
  internalUserId: user.id,
570
578
  externalUserId: user.externalUserId,
@@ -613,9 +621,10 @@ exports.MicrosoftAuthService = MicrosoftAuthService = MicrosoftAuthService_1 = _
613
621
  __param(2, (0, common_1.Inject)((0, common_1.forwardRef)(() => microsoft_subscription_service_1.MicrosoftSubscriptionService))),
614
622
  __param(3, (0, common_1.Inject)(constants_1.MICROSOFT_CONFIG)),
615
623
  __param(5, (0, typeorm_1.InjectRepository)(microsoft_user_entity_1.MicrosoftUser)),
624
+ __param(6, (0, common_1.Inject)(constants_1.OUTLOOK_LOCK_STORE)),
616
625
  __metadata("design:paramtypes", [event_emitter_1.EventEmitter2,
617
626
  email_service_1.EmailService,
618
627
  microsoft_subscription_service_1.MicrosoftSubscriptionService, Object, microsoft_csrf_token_repository_1.MicrosoftCsrfTokenRepository,
619
- typeorm_2.Repository])
628
+ typeorm_2.Repository, Object])
620
629
  ], MicrosoftAuthService);
621
630
  //# sourceMappingURL=microsoft-auth.service.js.map