@checkfirst/nestjs-outlook 7.0.3 → 7.1.1
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/README.md +1 -0
- package/dist/controllers/calendar.controller.js +12 -7
- package/dist/controllers/calendar.controller.js.map +1 -1
- package/dist/dto/outlook-webhook-notification.dto.d.ts +1 -0
- package/dist/dto/outlook-webhook-notification.dto.js.map +1 -1
- package/dist/enums/event-types.enum.d.ts +2 -1
- package/dist/enums/event-types.enum.js +1 -0
- package/dist/enums/event-types.enum.js.map +1 -1
- package/dist/interfaces/instrumentation.interface.d.ts +8 -0
- package/dist/interfaces/instrumentation.interface.js +5 -0
- package/dist/interfaces/instrumentation.interface.js.map +1 -0
- package/dist/interfaces/recurrence.interfaces.d.ts +5 -1
- package/dist/repositories/outlook-delta-link.repository.d.ts +2 -0
- package/dist/repositories/outlook-delta-link.repository.js +17 -3
- package/dist/repositories/outlook-delta-link.repository.js.map +1 -1
- package/dist/repositories/outlook-webhook-subscription.repository.d.ts +3 -0
- package/dist/repositories/outlook-webhook-subscription.repository.js +33 -5
- package/dist/repositories/outlook-webhook-subscription.repository.js.map +1 -1
- package/dist/services/auth/microsoft-auth.service.d.ts +3 -0
- package/dist/services/auth/microsoft-auth.service.js +38 -2
- package/dist/services/auth/microsoft-auth.service.js.map +1 -1
- package/dist/services/calendar/calendar.service.d.ts +3 -3
- package/dist/services/calendar/calendar.service.js +28 -17
- package/dist/services/calendar/calendar.service.js.map +1 -1
- package/dist/services/calendar/recurrence.service.d.ts +4 -3
- package/dist/services/calendar/recurrence.service.js +56 -34
- package/dist/services/calendar/recurrence.service.js.map +1 -1
- package/dist/services/shared/shared-user.service.js +7 -1
- package/dist/services/shared/shared-user.service.js.map +1 -1
- package/dist/services/shared/user-id-converter.service.d.ts +2 -0
- package/dist/services/shared/user-id-converter.service.js +17 -2
- package/dist/services/shared/user-id-converter.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/retry.util.js +25 -0
- package/dist/utils/retry.util.js.map +1 -1
- package/dist/utils/ttl-cache.util.d.ts +9 -0
- package/dist/utils/ttl-cache.util.js +30 -0
- package/dist/utils/ttl-cache.util.js.map +1 -0
- package/package.json +1 -1
|
@@ -18,34 +18,49 @@ const common_1 = require("@nestjs/common");
|
|
|
18
18
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
19
|
const typeorm_2 = require("typeorm");
|
|
20
20
|
const microsoft_user_entity_1 = require("../../entities/microsoft-user.entity");
|
|
21
|
+
const ttl_cache_util_1 = require("../../utils/ttl-cache.util");
|
|
21
22
|
let UserIdConverterService = UserIdConverterService_1 = class UserIdConverterService {
|
|
22
23
|
constructor(microsoftUserRepository) {
|
|
23
24
|
this.microsoftUserRepository = microsoftUserRepository;
|
|
24
25
|
this.logger = new common_1.Logger(UserIdConverterService_1.name);
|
|
26
|
+
this.externalToInternalCache = new ttl_cache_util_1.TtlCache(5000);
|
|
27
|
+
this.internalToExternalCache = new ttl_cache_util_1.TtlCache(3000);
|
|
25
28
|
}
|
|
26
29
|
async toInternalUserId(userId, { cache = true } = {}) {
|
|
27
30
|
return typeof userId === 'string' ? await this.externalToInternal(userId, { cache }) : userId;
|
|
28
31
|
}
|
|
29
32
|
async externalToInternal(externalUserId, { cache = true } = {}) {
|
|
33
|
+
if (cache) {
|
|
34
|
+
const cached = this.externalToInternalCache.get(externalUserId);
|
|
35
|
+
if (cached !== undefined)
|
|
36
|
+
return cached;
|
|
37
|
+
}
|
|
30
38
|
const user = await this.microsoftUserRepository.findOne({
|
|
31
39
|
where: { externalUserId },
|
|
32
|
-
cache: cache ? 5000 : false,
|
|
33
40
|
});
|
|
34
41
|
if (!user) {
|
|
35
42
|
this.logger.error(`No active Microsoft user found for external ID: ${externalUserId}`);
|
|
36
43
|
throw new Error(`No active Microsoft user found for external ID: ${externalUserId}`);
|
|
37
44
|
}
|
|
45
|
+
if (cache)
|
|
46
|
+
this.externalToInternalCache.set(externalUserId, user.id);
|
|
38
47
|
return user.id;
|
|
39
48
|
}
|
|
40
49
|
async internalToExternal(internalUserId, { cache = true } = {}) {
|
|
50
|
+
if (cache) {
|
|
51
|
+
const cached = this.internalToExternalCache.get(internalUserId);
|
|
52
|
+
if (cached !== undefined)
|
|
53
|
+
return cached;
|
|
54
|
+
}
|
|
41
55
|
const user = await this.microsoftUserRepository.findOne({
|
|
42
56
|
where: { id: internalUserId },
|
|
43
|
-
cache: cache ? 3000 : false,
|
|
44
57
|
});
|
|
45
58
|
if (!user) {
|
|
46
59
|
this.logger.error(`No Microsoft user found for internal ID: ${internalUserId}`);
|
|
47
60
|
throw new Error(`No Microsoft user found for internal ID: ${internalUserId}`);
|
|
48
61
|
}
|
|
62
|
+
if (cache)
|
|
63
|
+
this.internalToExternalCache.set(internalUserId, user.externalUserId);
|
|
49
64
|
return user.externalUserId;
|
|
50
65
|
}
|
|
51
66
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-id-converter.service.js","sourceRoot":"","sources":["../../../src/services/shared/user-id-converter.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,6CAAmD;AACnD,qCAAqC;AACrC,gFAAqE;
|
|
1
|
+
{"version":3,"file":"user-id-converter.service.js","sourceRoot":"","sources":["../../../src/services/shared/user-id-converter.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,6CAAmD;AACnD,qCAAqC;AACrC,gFAAqE;AACrE,+DAAsD;AAU/C,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IAKjC,YAEE,uBAAmE;QAAlD,4BAAuB,GAAvB,uBAAuB,CAA2B;QANpD,WAAM,GAAG,IAAI,eAAM,CAAC,wBAAsB,CAAC,IAAI,CAAC,CAAC;QACjD,4BAAuB,GAAG,IAAI,yBAAQ,CAAiB,IAAI,CAAC,CAAC;QAC7D,4BAAuB,GAAG,IAAI,yBAAQ,CAAiB,IAAI,CAAC,CAAC;IAK3E,CAAC;IAeJ,KAAK,CAAC,gBAAgB,CAAC,MAAuB,EAAE,EAAC,KAAK,GAAG,IAAI,KAAuB,EAAE;QACpF,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9F,CAAC;IAgBD,KAAK,CAAC,kBAAkB,CAAC,cAAsB,EAAE,EAAC,KAAK,GAAG,IAAI,KAAuB,EAAE;QACrF,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAChE,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE,EAAE,cAAc,EAAE;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mDAAmD,cAAc,EAAE,CACpE,CAAC;YACF,MAAM,IAAI,KAAK,CACb,mDAAmD,cAAc,EAAE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,KAAK;YAAE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAgBD,KAAK,CAAC,kBAAkB,CAAC,cAAsB,EAAE,EAAC,KAAK,GAAG,IAAI,KAAuB,EAAE;QACrF,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAChE,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4CAA4C,cAAc,EAAE,CAC7D,CAAC;YACF,MAAM,IAAI,KAAK,CACb,4CAA4C,cAAc,EAAE,CAC7D,CAAC;QACJ,CAAC;QAED,IAAI,KAAK;YAAE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF,CAAA;AApGY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,mBAAU,GAAE;IAOR,WAAA,IAAA,0BAAgB,EAAC,qCAAa,CAAC,CAAA;qCACU,oBAAU;GAP3C,sBAAsB,CAoGlC"}
|