UNPKG

@microsoft/teams.botbuilder

Version:

<p> <a href="https://www.npmjs.com/package/@microsoft/teams.botbuilder" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.botbuilder/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.botbuil

162 lines 10.7 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); 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 __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.BotBuilderPlugin = void 0; const botbuilder_1 = require("botbuilder"); const teams_api_1 = require("@microsoft/teams.api"); const teams_apps_1 = require("@microsoft/teams.apps"); const $http = __importStar(require("@microsoft/teams.common/http")); const package_json_1 = __importDefault(require("../package.json")); let BotBuilderPlugin = class BotBuilderPlugin extends teams_apps_1.HttpPlugin { adapter; handler; constructor(options) { super(options?.server, { skipAuth: options?.skipAuth }); this.adapter = options?.adapter; this.handler = options?.handler; } onInit() { super.onInit(); if (!this.adapter) { const clientId = this.credentials?.clientId; const clientSecret = this.credentials && 'clientSecret' in this.credentials ? this.credentials?.clientSecret : undefined; const tenantId = this.credentials && 'tenantId' in this.credentials ? this.credentials?.tenantId : undefined; this.adapter = new botbuilder_1.CloudAdapter(new botbuilder_1.ConfigurationBotFrameworkAuthentication({}, new botbuilder_1.ConfigurationServiceClientCredentialFactory({ MicrosoftAppType: tenantId ? 'SingleTenant' : 'MultiTenant', MicrosoftAppId: clientId, MicrosoftAppPassword: clientSecret, MicrosoftAppTenantId: tenantId, }))); } } async onRequest(req, res, next) { if (!this.adapter) { throw new Error('plugin not registered'); } const activity = req.body; try { let token; if (req.validatedToken) { token = req.validatedToken; } else { token = { appId: '', from: 'azure', fromId: '', serviceUrl: activity.serviceUrl || '', isExpired: () => false, }; } await this.adapter.process(req, res, async (context) => { if (!context.activity.id) return; if (this.handler) { await this.handler.run(context); } if (res.headersSent) { return next(); } this.pending[context.activity.id] = res; this.$onActivity({ sender: this, token, activity: new teams_api_1.$Activity(context.activity), }); }); } catch (err) { this.logger.error(err); if (!res.headersSent) { res.status(500).send('internal server error'); } } } }; exports.BotBuilderPlugin = BotBuilderPlugin; __decorate([ (0, teams_apps_1.Logger)(), __metadata("design:type", Object) ], BotBuilderPlugin.prototype, "logger", void 0); __decorate([ (0, teams_apps_1.Dependency)(), __metadata("design:type", $http.Client) ], BotBuilderPlugin.prototype, "client", void 0); __decorate([ (0, teams_apps_1.Dependency)(), __metadata("design:type", Object) ], BotBuilderPlugin.prototype, "manifest", void 0); __decorate([ (0, teams_apps_1.Dependency)({ optional: true }), __metadata("design:type", Object) ], BotBuilderPlugin.prototype, "credentials", void 0); __decorate([ (0, teams_apps_1.Dependency)({ optional: true }), __metadata("design:type", Function) ], BotBuilderPlugin.prototype, "botToken", void 0); __decorate([ (0, teams_apps_1.Dependency)({ optional: true }), __metadata("design:type", Function) ], BotBuilderPlugin.prototype, "graphToken", void 0); __decorate([ (0, teams_apps_1.Event)('error'), __metadata("design:type", Function) ], BotBuilderPlugin.prototype, "$onError", void 0); __decorate([ (0, teams_apps_1.Event)('activity'), __metadata("design:type", Function) ], BotBuilderPlugin.prototype, "$onActivity", void 0); exports.BotBuilderPlugin = BotBuilderPlugin = __decorate([ (0, teams_apps_1.Plugin)({ name: 'http', version: package_json_1.default.version, }), __metadata("design:paramtypes", [Object]) ], BotBuilderPlugin); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSwyQ0FLb0I7QUFJcEIsb0RBQWdGO0FBQ2hGLHNEQVUrQjtBQUcvQixvRUFBc0Q7QUFFdEQsbUVBQWtDO0FBYTNCLElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWlCLFNBQVEsdUJBQVU7SUE0QnBDLE9BQU8sQ0FBZ0I7SUFDdkIsT0FBTyxDQUFtQjtJQUVwQyxZQUFZLE9BQWlDO1FBQzNDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU07UUFDSixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDO1lBQzVDLE1BQU0sWUFBWSxHQUNoQixJQUFJLENBQUMsV0FBVyxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsV0FBVztnQkFDcEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWTtnQkFDaEMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNoQixNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsV0FBVyxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRTlG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