@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.
- package/dist/entities/microsoft-user.entity.d.ts +1 -0
- package/dist/entities/microsoft-user.entity.js +5 -0
- package/dist/entities/microsoft-user.entity.js.map +1 -1
- package/dist/migrations/1740400000000-AddDefaultCalendarIdColumn.d.ts +5 -0
- package/dist/migrations/1740400000000-AddDefaultCalendarIdColumn.js +19 -0
- package/dist/migrations/1740400000000-AddDefaultCalendarIdColumn.js.map +1 -0
- package/dist/repositories/outlook-webhook-subscription.repository.d.ts +1 -0
- package/dist/repositories/outlook-webhook-subscription.repository.js +3 -0
- package/dist/repositories/outlook-webhook-subscription.repository.js.map +1 -1
- package/dist/services/auth/microsoft-auth.service.d.ts +1 -0
- package/dist/services/auth/microsoft-auth.service.js +5 -4
- package/dist/services/auth/microsoft-auth.service.js.map +1 -1
- package/dist/services/calendar/calendar.service.js +142 -82
- package/dist/services/calendar/calendar.service.js.map +1 -1
- package/dist/services/email/email.service.js +41 -10
- package/dist/services/email/email.service.js.map +1 -1
- package/dist/services/shared/user-id-converter.service.d.ts +9 -3
- package/dist/services/shared/user-id-converter.service.js +6 -6
- package/dist/services/shared/user-id-converter.service.js.map +1 -1
- package/dist/services/subscription/microsoft-subscription.service.js +13 -8
- package/dist/services/subscription/microsoft-subscription.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/outlook-api-executor.util.d.ts +3 -0
- package/dist/utils/outlook-api-executor.util.js +38 -45
- package/dist/utils/outlook-api-executor.util.js.map +1 -1
- package/dist/utils/retry.util.d.ts +0 -1
- package/dist/utils/retry.util.js +34 -37
- package/dist/utils/retry.util.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GraphRateLimiterService } from '../services/shared/graph-rate-limiter.service';
|
|
1
2
|
export interface GraphApiExecutorOptions {
|
|
2
3
|
maxRetries?: number;
|
|
3
4
|
retryDelayMs?: number;
|
|
@@ -8,5 +9,7 @@ export interface GraphApiExecutorOptions {
|
|
|
8
9
|
};
|
|
9
10
|
resourceName?: string;
|
|
10
11
|
return404AsNull?: boolean;
|
|
12
|
+
rateLimiter?: GraphRateLimiterService;
|
|
13
|
+
userId?: string;
|
|
11
14
|
}
|
|
12
15
|
export declare function executeGraphApiCall<T>(operation: () => Promise<T>, options?: GraphApiExecutorOptions): Promise<T | null>;
|
|
@@ -3,59 +3,52 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.executeGraphApiCall = executeGraphApiCall;
|
|
4
4
|
const retry_util_1 = require("./retry.util");
|
|
5
5
|
async function executeGraphApiCall(operation, options = {}) {
|
|
6
|
-
const { maxRetries =
|
|
6
|
+
const { maxRetries = 10, retryDelayMs = 1000, logger = {
|
|
7
7
|
warn: (message) => { console.warn(message); },
|
|
8
8
|
error: (message) => { console.error(message); },
|
|
9
|
-
}, resourceName = 'resource', return404AsNull = false, } = options;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
catch (error) {
|
|
15
|
-
if ((0, retry_util_1.is404Error)(error)) {
|
|
16
|
-
if (return404AsNull) {
|
|
17
|
-
logger.warn(`Resource not found (likely deleted): ${resourceName}`);
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
logger.error(`Resource not found: ${resourceName}`, error);
|
|
21
|
-
throw error;
|
|
9
|
+
}, resourceName = 'resource', return404AsNull = false, rateLimiter, userId, } = options;
|
|
10
|
+
try {
|
|
11
|
+
return await (0, retry_util_1.retryWithBackoff)(async () => {
|
|
12
|
+
if (rateLimiter && userId) {
|
|
13
|
+
await rateLimiter.acquirePermit(userId);
|
|
22
14
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
throw error;
|
|
15
|
+
try {
|
|
16
|
+
return await operation();
|
|
26
17
|
}
|
|
27
|
-
|
|
28
|
-
|
|
18
|
+
catch (error) {
|
|
19
|
+
if ((0, retry_util_1.is429Error)(error)) {
|
|
20
|
+
const retryAfterSeconds = (0, retry_util_1.extractRetryAfterSeconds)(error);
|
|
21
|
+
if (retryAfterSeconds !== null) {
|
|
22
|
+
const delayMs = retryAfterSeconds * 1000;
|
|
23
|
+
if (rateLimiter && userId) {
|
|
24
|
+
rateLimiter.handleRateLimitResponse(userId, retryAfterSeconds);
|
|
25
|
+
}
|
|
26
|
+
logger.warn(`Rate limited on ${resourceName}, waiting ${delayMs / 1000}s as per Retry-After header`);
|
|
27
|
+
await (0, retry_util_1.delay)(delayMs);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
29
30
|
throw error;
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
if ((0, retry_util_1.isServerError)(error)) {
|
|
49
|
-
const delayMs = retryDelayMs * Math.pow(2, retryCount);
|
|
50
|
-
logger.warn(`Server error on ${resourceName}, retrying after ${delayMs}ms (${maxRetries - retryCount} attempts remaining)`);
|
|
51
|
-
await (0, retry_util_1.delay)(delayMs);
|
|
52
|
-
retryCount++;
|
|
53
|
-
continue;
|
|
32
|
+
}, {
|
|
33
|
+
maxRetries,
|
|
34
|
+
retryDelayMs,
|
|
35
|
+
logger: {
|
|
36
|
+
warn: (message, context) => {
|
|
37
|
+
logger.warn(message, context);
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
operationName: resourceName,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
if ((0, retry_util_1.is404Error)(error)) {
|
|
45
|
+
if (return404AsNull) {
|
|
46
|
+
logger.warn(`Resource not found (likely deleted): ${resourceName}`);
|
|
47
|
+
return null;
|
|
54
48
|
}
|
|
55
|
-
logger.error(`
|
|
56
|
-
throw error;
|
|
49
|
+
logger.error(`Resource not found: ${resourceName}`, error);
|
|
57
50
|
}
|
|
51
|
+
throw error;
|
|
58
52
|
}
|
|
59
|
-
throw new Error(`Max retries (${maxRetries}) exceeded for ${resourceName}`);
|
|
60
53
|
}
|
|
61
54
|
//# sourceMappingURL=outlook-api-executor.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outlook-api-executor.util.js","sourceRoot":"","sources":["../../src/utils/outlook-api-executor.util.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"outlook-api-executor.util.js","sourceRoot":"","sources":["../../src/utils/outlook-api-executor.util.ts"],"names":[],"mappings":";;AAqEA,kDA6EC;AAlJD,6CAMsB;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,OAAO,MAAM,SAAS,EAAE,CAAC;YAC3B,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,WAAW,CAAC,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;wBACjE,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,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"}
|
|
@@ -9,7 +9,6 @@ export declare function extractRetryAfterSeconds(error: unknown): number | null;
|
|
|
9
9
|
export declare function retryWithBackoff<T>(operation: () => Promise<T>, options?: {
|
|
10
10
|
maxRetries?: number;
|
|
11
11
|
retryDelayMs?: number;
|
|
12
|
-
retryCount?: number;
|
|
13
12
|
logger?: {
|
|
14
13
|
warn: (message: string, context?: Record<string, unknown>) => void;
|
|
15
14
|
};
|
package/dist/utils/retry.util.js
CHANGED
|
@@ -90,54 +90,51 @@ function extractRetryAfterSeconds(error) {
|
|
|
90
90
|
return null;
|
|
91
91
|
}
|
|
92
92
|
async function retryWithBackoff(operation, options) {
|
|
93
|
-
var _a, _b, _c
|
|
93
|
+
var _a, _b, _c;
|
|
94
94
|
const maxRetries = (_a = options === null || options === void 0 ? void 0 : options.maxRetries) !== null && _a !== void 0 ? _a : 3;
|
|
95
95
|
const retryDelayMs = (_b = options === null || options === void 0 ? void 0 : options.retryDelayMs) !== null && _b !== void 0 ? _b : 1000;
|
|
96
|
-
const retryCount = (_c = options === null || options === void 0 ? void 0 : options.retryCount) !== null && _c !== void 0 ? _c : 0;
|
|
97
96
|
const logger = options === null || options === void 0 ? void 0 : options.logger;
|
|
98
|
-
const operationName = (
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
const errorDetails = extractErrorInfo(error);
|
|
104
|
-
if (isNonRetryableError(error)) {
|
|
105
|
-
if (logger) {
|
|
106
|
-
logger.warn(`[retryWithBackoff] Non-retryable error for ${operationName}, not retrying`, {
|
|
107
|
-
statusCode: errorDetails.statusCode,
|
|
108
|
-
errorCode: errorDetails.code,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
throw error;
|
|
97
|
+
const operationName = (_c = options === null || options === void 0 ? void 0 : options.operationName) !== null && _c !== void 0 ? _c : 'operation';
|
|
98
|
+
let lastError;
|
|
99
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
100
|
+
try {
|
|
101
|
+
return await operation();
|
|
112
102
|
}
|
|
113
|
-
|
|
103
|
+
catch (error) {
|
|
104
|
+
lastError = error;
|
|
105
|
+
const errorDetails = extractErrorInfo(error);
|
|
106
|
+
if (isNonRetryableError(error)) {
|
|
107
|
+
if (logger) {
|
|
108
|
+
logger.warn(`[retryWithBackoff] Non-retryable error for ${operationName}, not retrying`, {
|
|
109
|
+
statusCode: errorDetails.statusCode,
|
|
110
|
+
errorCode: errorDetails.code,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
throw error;
|
|
114
|
+
}
|
|
115
|
+
if (attempt >= maxRetries) {
|
|
116
|
+
if (logger) {
|
|
117
|
+
logger.warn(`[retryWithBackoff] Max retries (${maxRetries}) exceeded for ${operationName}`, {
|
|
118
|
+
statusCode: errorDetails.statusCode,
|
|
119
|
+
errorCode: errorDetails.code,
|
|
120
|
+
errorMessage: errorDetails.message,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
const delayMs = retryDelayMs * Math.pow(2, attempt);
|
|
114
126
|
if (logger) {
|
|
115
|
-
logger.warn(`[retryWithBackoff]
|
|
127
|
+
logger.warn(`[retryWithBackoff] Retry ${attempt + 1}/${maxRetries} for ${operationName} after ${delayMs}ms`, {
|
|
116
128
|
statusCode: errorDetails.statusCode,
|
|
117
129
|
errorCode: errorDetails.code,
|
|
118
|
-
|
|
130
|
+
errorType: errorDetails.type,
|
|
131
|
+
delayMs,
|
|
119
132
|
});
|
|
120
133
|
}
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
const delayMs = retryDelayMs * Math.pow(2, retryCount);
|
|
124
|
-
if (logger) {
|
|
125
|
-
logger.warn(`[retryWithBackoff] Retry ${retryCount + 1}/${maxRetries} for ${operationName} after ${delayMs}ms`, {
|
|
126
|
-
statusCode: errorDetails.statusCode,
|
|
127
|
-
errorCode: errorDetails.code,
|
|
128
|
-
errorType: errorDetails.type,
|
|
129
|
-
delayMs,
|
|
130
|
-
});
|
|
134
|
+
await delay(delayMs);
|
|
131
135
|
}
|
|
132
|
-
await delay(delayMs);
|
|
133
|
-
return retryWithBackoff(operation, {
|
|
134
|
-
maxRetries,
|
|
135
|
-
retryDelayMs,
|
|
136
|
-
retryCount: retryCount + 1,
|
|
137
|
-
logger,
|
|
138
|
-
operationName,
|
|
139
|
-
});
|
|
140
136
|
}
|
|
137
|
+
throw lastError;
|
|
141
138
|
}
|
|
142
139
|
function extractErrorInfo(error) {
|
|
143
140
|
if (!error || typeof error !== 'object') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.util.js","sourceRoot":"","sources":["../../src/utils/retry.util.ts"],"names":[],"mappings":";;AAKA,sBAEC;AAuCD,kDAOC;AAOD,gCAEC;AAOD,gCAEC;AAOD,gCAEC;AAOD,wCAYC;AAQD,sCAoBC;AAQD,4DA0BC;
|
|
1
|
+
{"version":3,"file":"retry.util.js","sourceRoot":"","sources":["../../src/utils/retry.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": "6.1.
|
|
3
|
+
"version": "6.1.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",
|