@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.
72 lines • 4.3 kB
JavaScript
;
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 _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MicrosoftOutlookModule = exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
const common_1 = require("@nestjs/common");
const typeorm_1 = require("@nestjs/typeorm");
const schedule_1 = require("@nestjs/schedule");
const event_emitter_1 = require("@nestjs/event-emitter");
const microsoft_auth_service_1 = require("./services/auth/microsoft-auth.service");
const microsoft_auth_controller_1 = require("./controllers/microsoft-auth.controller");
const calendar_controller_1 = require("./controllers/calendar.controller");
const email_controller_1 = require("./controllers/email.controller");
const outlook_webhook_subscription_entity_1 = require("./entities/outlook-webhook-subscription.entity");
const outlook_webhook_subscription_repository_1 = require("./repositories/outlook-webhook-subscription.repository");
const constants_1 = require("./constants");
const csrf_token_entity_1 = require("./entities/csrf-token.entity");
const microsoft_csrf_token_repository_1 = require("./repositories/microsoft-csrf-token.repository");
const calendar_service_1 = require("./services/calendar/calendar.service");
const email_service_1 = require("./services/email/email.service");
const microsoft_user_entity_1 = require("./entities/microsoft-user.entity");
const delta_link_entity_1 = require("./entities/delta-link.entity");
const outlook_delta_link_repository_1 = require("./repositories/outlook-delta-link.repository");
const delta_sync_service_1 = require("./services/shared/delta-sync.service");
_a = new common_1.ConfigurableModuleBuilder()
.setClassMethodName("forRoot")
.build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN;
let MicrosoftOutlookModule = class MicrosoftOutlookModule extends exports.ConfigurableModuleClass {
};
exports.MicrosoftOutlookModule = MicrosoftOutlookModule;
exports.MicrosoftOutlookModule = MicrosoftOutlookModule = __decorate([
(0, common_1.Module)({
imports: [
schedule_1.ScheduleModule.forRoot(),
typeorm_1.TypeOrmModule.forFeature([
outlook_webhook_subscription_entity_1.OutlookWebhookSubscription,
csrf_token_entity_1.MicrosoftCsrfToken,
microsoft_user_entity_1.MicrosoftUser,
delta_link_entity_1.OutlookDeltaLink,
]),
event_emitter_1.EventEmitterModule.forRoot(),
],
controllers: [microsoft_auth_controller_1.MicrosoftAuthController, calendar_controller_1.CalendarController, email_controller_1.EmailController],
providers: [
{
provide: constants_1.MICROSOFT_CONFIG,
useFactory: (options) => options,
inject: [exports.MODULE_OPTIONS_TOKEN],
},
outlook_webhook_subscription_repository_1.OutlookWebhookSubscriptionRepository,
microsoft_csrf_token_repository_1.MicrosoftCsrfTokenRepository,
calendar_service_1.CalendarService,
email_service_1.EmailService,
microsoft_auth_service_1.MicrosoftAuthService,
outlook_delta_link_repository_1.OutlookDeltaLinkRepository,
delta_sync_service_1.DeltaSyncService,
],
exports: [
calendar_service_1.CalendarService,
email_service_1.EmailService,
microsoft_auth_service_1.MicrosoftAuthService,
outlook_delta_link_repository_1.OutlookDeltaLinkRepository,
delta_sync_service_1.DeltaSyncService,
],
})
], MicrosoftOutlookModule);
//# sourceMappingURL=microsoft-outlook.module.js.map