@checkfirst/nestjs-outlook 8.0.1 → 8.0.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 (34) 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/index.d.ts +3 -0
  5. package/dist/index.js +3 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/interfaces/config/outlook-config.interface.d.ts +10 -0
  8. package/dist/interfaces/state/redis-like.interface.d.ts +13 -0
  9. package/dist/interfaces/state/redis-like.interface.js +3 -0
  10. package/dist/interfaces/state/redis-like.interface.js.map +1 -0
  11. package/dist/microsoft-outlook.module.js +63 -0
  12. package/dist/microsoft-outlook.module.js.map +1 -1
  13. package/dist/services/auth/microsoft-auth.service.d.ts +5 -1
  14. package/dist/services/auth/microsoft-auth.service.js +14 -5
  15. package/dist/services/auth/microsoft-auth.service.js.map +1 -1
  16. package/dist/services/calendar/calendar.service.d.ts +1 -1
  17. package/dist/services/calendar/calendar.service.js +4 -4
  18. package/dist/services/calendar/calendar.service.js.map +1 -1
  19. package/dist/services/shared/delta-sync.service.d.ts +6 -1
  20. package/dist/services/shared/delta-sync.service.js +121 -110
  21. package/dist/services/shared/delta-sync.service.js.map +1 -1
  22. package/dist/services/shared/graph-rate-limiter.service.d.ts +15 -17
  23. package/dist/services/shared/graph-rate-limiter.service.js +104 -148
  24. package/dist/services/shared/graph-rate-limiter.service.js.map +1 -1
  25. package/dist/services/shared/outlook-lock.store.d.ts +37 -0
  26. package/dist/services/shared/outlook-lock.store.js +134 -0
  27. package/dist/services/shared/outlook-lock.store.js.map +1 -0
  28. package/dist/services/shared/outlook-rate-limit.store.d.ts +59 -0
  29. package/dist/services/shared/outlook-rate-limit.store.js +235 -0
  30. package/dist/services/shared/outlook-rate-limit.store.js.map +1 -0
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/dist/utils/outlook-api-executor.util.js +3 -3
  33. package/dist/utils/outlook-api-executor.util.js.map +1 -1
  34. package/package.json +3 -1
@@ -15,7 +15,7 @@ async function executeGraphApiCall(operation, options = {}) {
15
15
  try {
16
16
  const result = await operation();
17
17
  if (rateLimiter) {
18
- rateLimiter.recordSuccess();
18
+ await rateLimiter.recordSuccess();
19
19
  }
20
20
  return result;
21
21
  }
@@ -25,7 +25,7 @@ async function executeGraphApiCall(operation, options = {}) {
25
25
  if (retryAfterSeconds !== null) {
26
26
  const delayMs = retryAfterSeconds * 1000;
27
27
  if (rateLimiter && userId) {
28
- rateLimiter.handleRateLimitResponse(userId, retryAfterSeconds);
28
+ await rateLimiter.handleRateLimitResponse(userId, retryAfterSeconds);
29
29
  }
30
30
  logger.warn(`Rate limited on ${resourceName}, waiting ${delayMs / 1000}s as per Retry-After header`);
31
31
  await (0, retry_util_1.delay)(delayMs);
@@ -33,7 +33,7 @@ async function executeGraphApiCall(operation, options = {}) {
33
33
  }
34
34
  if ((0, retry_util_1.is503Error)(error)) {
35
35
  if (rateLimiter) {
36
- rateLimiter.record503Failure();
36
+ await rateLimiter.record503Failure();
37
37
  }
38
38
  const retryAfterSeconds = (0, retry_util_1.extractRetryAfterSeconds)(error);
39
39
  if (retryAfterSeconds !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"outlook-api-executor.util.js","sourceRoot":"","sources":["../../src/utils/outlook-api-executor.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outlook-api-executor.util.js","sourceRoot":"","sources":["../../src/utils/outlook-api-executor.util.ts"],"names":[],"mappings":";;AAsEA,kDAuGC;AA7KD,6CAOsB;AA+Df,KAAK,UAAU,mBAAmB,CACvC,SAA2B,EAC3B,UAAmC,EAAE;IAErC,MAAM,EACJ,UAAU,GAAG,EAAE,EACf,YAAY,GAAG,IAAI,EACnB,MAAM,GAAG;QACP,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrD,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACxD,EACD,YAAY,GAAG,UAAU,EACzB,eAAe,GAAG,KAAK,EACvB,WAAW,EACX,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC;QAEH,OAAO,MAAM,IAAA,6BAAgB,EAC3B,KAAK,IAAI,EAAE;YAET,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;gBAC1B,MAAM,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;gBAGjC,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC;gBACpC,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAGf,IAAI,IAAA,uBAAU,EAAC,KAAK,CAAC,EAAE,CAAC;oBACtB,MAAM,iBAAiB,GAAG,IAAA,qCAAwB,EAAC,KAAK,CAAC,CAAC;oBAE1D,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBAC/B,MAAM,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAAC;wBAGzC,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;4BAC1B,MAAM,WAAW,CAAC,uBAAuB,CACvC,MAAM,EACN,iBAAiB,CAClB,CAAC;wBACJ,CAAC;wBAED,MAAM,CAAC,IAAI,CACT,mBAAmB,YAAY,aAAa,OAAO,GAAG,IAAI,6BAA6B,CACxF,CAAC;wBAEF,MAAM,IAAA,kBAAK,EAAC,OAAO,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;gBAGD,IAAI,IAAA,uBAAU,EAAC,KAAK,CAAC,EAAE,CAAC;oBAEtB,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;oBACvC,CAAC;oBAED,MAAM,iBAAiB,GAAG,IAAA,qCAAwB,EAAC,KAAK,CAAC,CAAC;oBAC1D,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;wBAC/B,MAAM,CAAC,IAAI,CACT,gCAAgC,YAAY,aAAa,iBAAiB,6BAA6B,CACxG,CAAC;wBACF,MAAM,IAAA,kBAAK,EAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAGD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,EACD;YACE,UAAU;YACV,YAAY;YACZ,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,OAAe,EAAE,OAAiC,EAAE,EAAE;oBAC3D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChC,CAAC;aACF;YACD,aAAa,EAAE,YAAY;SAC5B,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAEf,IAAI,IAAA,uBAAU,EAAC,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,uBAAuB,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@checkfirst/nestjs-outlook",
3
- "version": "8.0.1",
3
+ "version": "8.0.3",
4
4
  "description": "An opinionated NestJS module for Microsoft Outlook integration that provides easy access to Microsoft Graph API for emails, calendars, and more.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -78,6 +78,7 @@
78
78
  "@nestjs/testing": "^10.0.0",
79
79
  "@nestjs/typeorm": "^10.0.0",
80
80
  "@types/express": "^4.17.17",
81
+ "@types/ioredis-mock": "^8.2.7",
81
82
  "@types/jest": "^29.5.0",
82
83
  "@types/node": "^20.0.0",
83
84
  "@typescript-eslint/eslint-plugin": "^8.31.1",
@@ -91,6 +92,7 @@
91
92
  "eslint-plugin-prettier": "^5.0.0",
92
93
  "express": "^4.18.2",
93
94
  "globals": "^16.0.0",
95
+ "ioredis-mock": "^8.13.1",
94
96
  "jest": "^29.5.0",
95
97
  "prettier": "^3.0.0",
96
98
  "reflect-metadata": "^0.2.0",