UNPKG

@microsoft/teams.api

Version:

<p> <a href="https://www.npmjs.com/package/@microsoft/teams.api" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.api/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.api?activeTab=code" t

181 lines (176 loc) • 6.64 kB
'use strict'; var qs = require('qs'); var teams_common = require('@microsoft/teams.common'); var apiClientSettings = require('../api-client-settings'); var apiOutboundMiddleware = require('../api-outbound-middleware'); var reaction = require('../reaction'); var serviceUrl = require('../service-url'); var activity = require('./activity'); var member = require('./member'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var qs__default = /*#__PURE__*/_interopDefault(qs); class ConversationClient { serviceUrl; get http() { return this._http; } set http(v) { apiOutboundMiddleware.ensureApiOutboundTelemetryMiddleware(v); this._http = v; this._activities.http = this._http; this._members.http = this._http; this._reactions.http = this._http; } _http; _activities; _members; _reactions; _apiClientSettings; constructor(serviceUrl$1, options, apiClientSettings$1) { this.serviceUrl = serviceUrl.normalizeServiceUrl(serviceUrl$1); if (!options) { this._http = new teams_common.Client(); } else if ("request" in options) { this._http = options; } else { this._http = new teams_common.Client(options); } apiOutboundMiddleware.ensureApiOutboundTelemetryMiddleware(this._http); this._apiClientSettings = apiClientSettings.mergeApiClientSettings(apiClientSettings$1); this._activities = new activity.ConversationActivityClient(this.serviceUrl, this.http, this._apiClientSettings); this._members = new member.ConversationMemberClient(this.serviceUrl, this.http, this._apiClientSettings); this._reactions = new reaction.ReactionClient(this.serviceUrl, this.http, this._apiClientSettings); } /** * @deprecated Use the flattened activity methods on `ConversationClient` * instead (e.g. `conversations.createActivity(conversationId, ...)`). This * grouped accessor will be removed in a future release. */ activities(conversationId) { return { create: (params) => this._activities.create(conversationId, params), update: (id, params) => this._activities.update(conversationId, id, params), reply: (id, params) => this._activities.reply(conversationId, id, params), delete: (id) => this._activities.delete(conversationId, id), members: (activityId) => this._activities.getMembers(conversationId, activityId), createTargeted: (params) => this._activities.createTargeted(conversationId, params), updateTargeted: (id, params) => this._activities.updateTargeted(conversationId, id, params), deleteTargeted: (id) => this._activities.deleteTargeted(conversationId, id) }; } /** * @deprecated Use the flattened member methods on `ConversationClient` * instead (e.g. `conversations.getMembers(conversationId)`). This grouped * accessor will be removed in a future release. */ members(conversationId) { return { get: () => this._members.get(conversationId), getById: (id) => this._members.getById(conversationId, id), getPaged: (pageSize, continuationToken) => this._members.getPaged(conversationId, pageSize, continuationToken), /** * @deprecated This will be removed by end of summer 2026. */ delete: (id) => this._members.delete(conversationId, id) }; } createActivity(conversationId, params) { return this._activities.create(conversationId, params); } updateActivity(conversationId, id, params) { return this._activities.update(conversationId, id, params); } replyToActivity(conversationId, id, params) { return this._activities.reply(conversationId, id, params); } createReplyChainActivity(conversationId, id, params) { return this._activities.createReplyChain(conversationId, id, params); } createTargetedReplyChainActivity(conversationId, id, params) { return this._activities.createTargetedReplyChain(conversationId, id, params); } /** * Delete an activity in a conversation. */ deleteActivity(conversationId, id) { return this._activities.delete(conversationId, id); } /** * Get the members of an activity in a conversation. */ getActivityMembers(conversationId, id) { return this._activities.getMembers(conversationId, id); } createTargetedActivity(conversationId, params) { return this._activities.createTargeted(conversationId, params); } updateTargetedActivity(conversationId, id, params) { return this._activities.updateTargeted(conversationId, id, params); } /** * Delete a targeted activity in a conversation. */ deleteTargetedActivity(conversationId, id) { return this._activities.deleteTargeted(conversationId, id); } /** * Get the members of a conversation. */ getMembers(conversationId) { return this._members.get(conversationId); } /** * Get a member of a conversation by id. */ getMemberById(conversationId, id) { return this._members.getById(conversationId, id); } /** * Get paged members of a conversation. */ getPagedMembers(conversationId, pageSize, continuationToken) { return this._members.getPaged(conversationId, pageSize, continuationToken); } /** * Add a reaction to an activity in a conversation. */ addReaction(conversationId, activityId, reactionType) { return this._reactions.add(conversationId, activityId, reactionType); } /** * Delete a reaction from an activity in a conversation. */ deleteReaction(conversationId, activityId, reactionType) { return this._reactions.delete(conversationId, activityId, reactionType); } /** * @deprecated This will be removed by end of summer 2026. */ async get(params) { const q = qs__default.default.stringify(params, { addQueryPrefix: true }); const res = await this.http.get( `${this.serviceUrl}/v3/conversations${q}` ); return res.data; } async create(params) { const url = `${this.serviceUrl}/v3/conversations`; const res = await this.http.post(url, params); return res.data; } } exports.ConversationClient = ConversationClient; Object.keys(activity).forEach(function (k) { if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, { enumerable: true, get: function () { return activity[k]; } }); }); Object.keys(member).forEach(function (k) { if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, { enumerable: true, get: function () { return member[k]; } }); }); //# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map