@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.
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/controllers/calendar.controller.js +3 -0
- package/dist/controllers/calendar.controller.js.map +1 -1
- package/dist/controllers/email.controller.js +2 -0
- package/dist/controllers/email.controller.js.map +1 -1
- package/dist/guards/webhook-client-state.guard.d.ts +8 -0
- package/dist/guards/webhook-client-state.guard.js +75 -0
- package/dist/guards/webhook-client-state.guard.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/config/outlook-config.interface.d.ts +10 -0
- package/dist/interfaces/state/redis-like.interface.d.ts +13 -0
- package/dist/interfaces/state/redis-like.interface.js +3 -0
- package/dist/interfaces/state/redis-like.interface.js.map +1 -0
- package/dist/microsoft-outlook.module.js +66 -0
- package/dist/microsoft-outlook.module.js.map +1 -1
- package/dist/repositories/outlook-webhook-subscription.repository.d.ts +1 -0
- package/dist/repositories/outlook-webhook-subscription.repository.js +5 -0
- package/dist/repositories/outlook-webhook-subscription.repository.js.map +1 -1
- package/dist/services/auth/microsoft-auth.service.d.ts +5 -1
- package/dist/services/auth/microsoft-auth.service.js +13 -4
- package/dist/services/auth/microsoft-auth.service.js.map +1 -1
- package/dist/services/calendar/calendar.service.d.ts +1 -1
- package/dist/services/calendar/calendar.service.js +4 -4
- package/dist/services/calendar/calendar.service.js.map +1 -1
- package/dist/services/email/email.service.js +2 -1
- package/dist/services/email/email.service.js.map +1 -1
- package/dist/services/shared/delta-sync.service.d.ts +6 -1
- package/dist/services/shared/delta-sync.service.js +121 -110
- package/dist/services/shared/delta-sync.service.js.map +1 -1
- package/dist/services/shared/graph-rate-limiter.service.d.ts +15 -17
- package/dist/services/shared/graph-rate-limiter.service.js +104 -148
- package/dist/services/shared/graph-rate-limiter.service.js.map +1 -1
- package/dist/services/shared/outlook-lock.store.d.ts +37 -0
- package/dist/services/shared/outlook-lock.store.js +134 -0
- package/dist/services/shared/outlook-lock.store.js.map +1 -0
- package/dist/services/shared/outlook-rate-limit.store.d.ts +59 -0
- package/dist/services/shared/outlook-rate-limit.store.js +235 -0
- package/dist/services/shared/outlook-rate-limit.store.js.map +1 -0
- package/dist/services/subscription/microsoft-subscription.service.d.ts +12 -0
- package/dist/services/subscription/microsoft-subscription.service.js +85 -0
- package/dist/services/subscription/microsoft-subscription.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/outlook-api-executor.util.js +3 -3
- package/dist/utils/outlook-api-executor.util.js.map +1 -1
- 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":";;AAsEA,
|
|
1
|
+
{"version":3,"file":"outlook-api-executor.util.js","sourceRoot":"","sources":["../../src/utils/outlook-api-executor.util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@checkfirst/nestjs-outlook",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
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",
|