UNPKG

@checkfirst/nestjs-outlook

Version:

An opinionated NestJS module for Microsoft Outlook integration that provides easy access to Microsoft Graph API for emails, calendars, and more.

58 lines 3.1 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 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; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; var UserIdConverterService_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.UserIdConverterService = void 0; const common_1 = require("@nestjs/common"); const typeorm_1 = require("@nestjs/typeorm"); const typeorm_2 = require("typeorm"); const microsoft_user_entity_1 = require("../../entities/microsoft-user.entity"); let UserIdConverterService = UserIdConverterService_1 = class UserIdConverterService { constructor(microsoftUserRepository) { this.microsoftUserRepository = microsoftUserRepository; this.logger = new common_1.Logger(UserIdConverterService_1.name); } async toInternalUserId(userId, { cache = true } = {}) { return typeof userId === 'string' ? await this.externalToInternal(userId, { cache }) : userId; } async externalToInternal(externalUserId, { cache = true } = {}) { const user = await this.microsoftUserRepository.findOne({ where: { externalUserId }, cache: cache ? 300000 : false, }); if (!user) { this.logger.error(`No active Microsoft user found for external ID: ${externalUserId}`); throw new Error(`No active Microsoft user found for external ID: ${externalUserId}`); } return user.id; } async internalToExternal(internalUserId, { cache = true } = {}) { const user = await this.microsoftUserRepository.findOne({ where: { id: internalUserId }, cache: cache ? 300000 : false, }); if (!user) { this.logger.error(`No Microsoft user found for internal ID: ${internalUserId}`); throw new Error(`No Microsoft user found for internal ID: ${internalUserId}`); } return user.externalUserId; } }; exports.UserIdConverterService = UserIdConverterService; exports.UserIdConverterService = UserIdConverterService = UserIdConverterService_1 = __decorate([ (0, common_1.Injectable)(), __param(0, (0, typeorm_1.InjectRepository)(microsoft_user_entity_1.MicrosoftUser)), __metadata("design:paramtypes", [typeorm_2.Repository]) ], UserIdConverterService); //# sourceMappingURL=user-id-converter.service.js.map