@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
JavaScript
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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
;